/* Tough Study: matches the app's own design language. Matte black, night-vision green, chamfered HUD cards, mono labels. CSS only. */
.tac{--g:#7cff4f;--gl:rgba(124,255,79,.24);--amb:#ffb020;position:relative;filter:drop-shadow(0 0 16px rgba(124,255,79,.12));color:#d9dcd6}
.tac-box{position:relative;overflow:hidden;padding:0 0 22px;background:
 linear-gradient(rgba(124,255,79,.035) 1px,transparent 1px) 0 0/26px 26px,
 linear-gradient(90deg,rgba(124,255,79,.035) 1px,transparent 1px) 0 0/26px 26px,
 radial-gradient(ellipse 90% 30% at 50% 0,rgba(124,255,79,.1),transparent 70%),
 linear-gradient(180deg,#0e110e,#090b09 55%,#060706);
 border-top:1px solid var(--gl);
 clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px))}
.tac-box::before{content:"";position:absolute;inset:0;z-index:6;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.2) 0 1px,transparent 1px 3px)}
.tac-box::after{content:"";position:absolute;inset:0;z-index:6;pointer-events:none;opacity:.12;mix-blend-mode:overlay;background:var(--noise)}
.tac-head{position:relative;z-index:3;padding:26px 22px 0;text-align:left}
.tac-title{margin:0;font:400 52px/.9 var(--stencil);letter-spacing:.02em;text-transform:uppercase;color:#fff}
.tac-title b{font-weight:400;color:var(--g);text-shadow:0 0 20px rgba(124,255,79,.4)}
.tac-title.one{white-space:nowrap}
.tac-tag{margin:10px 0 0;font:500 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:#7d857b}
.tac-lead{position:relative;z-index:3;margin:16px 22px 0;text-align:left;font:400 16px/1.5 var(--sans);color:#b9bfb5}
.tac-chips{position:relative;z-index:3;display:flex;flex-wrap:wrap;gap:6px;margin:14px 22px 0;padding:0;list-style:none}
.tac-chips li{padding:7px 9px 6px;border:1px solid var(--gl);background:rgba(124,255,79,.06);font:600 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#b9f58f}
/* phones */
.tac-fan{position:relative;z-index:3;height:520px;margin:24px 0 0;overflow:hidden}
.tph{position:absolute;top:14px;width:236px;aspect-ratio:780/1688;padding:7px;border-radius:38px;background:#050605;box-shadow:0 0 0 1.5px rgba(124,255,79,.45),0 0 0 4px #000,0 0 34px -6px rgba(124,255,79,.35),0 30px 50px -14px #000}
.tph img{display:block;width:100%;height:100%;border-radius:31px;object-fit:cover}
.tph.c{left:50%;margin-left:-118px;z-index:3}
.tph.l,.tph.r{width:190px;top:62px;z-index:1;opacity:.9;filter:brightness(.7)}
.tph.l{left:50%;margin-left:-262px;transform:rotate(-7deg)}
.tph.r{left:50%;margin-left:72px;transform:rotate(7deg)}
/* chamfered HUD cards (like the app) */
.tcards{position:relative;z-index:3;margin:20px 16px 0;display:grid;gap:10px;text-align:left}
.tcard{--p:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));position:relative;padding:1px;background:var(--gl);clip-path:var(--p)}
.tcard .in{position:relative;padding:14px 16px 16px;background:linear-gradient(180deg,#171a18,#121513);clip-path:var(--p)}
.tcard.acc .in{box-shadow:inset 3px 0 0 var(--g)}
.tcard .lb{display:flex;justify-content:space-between;gap:10px;font:500 10.5px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--g)}
.tcard .lb em{font-style:normal;color:#7d857b}
.tcard .val{margin:9px 0 0;font:400 30px/.95 var(--stencil);letter-spacing:.015em;text-transform:uppercase;color:#fff}
.tcard .val span{color:var(--g)}
.tcard .sub{margin:8px 0 0;font:400 13.5px/1.4 var(--sans);color:#8f978c}
.seg{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;margin:13px 0 0;padding:0;list-style:none}
.seg li{height:6px;background:var(--g);opacity:calc(.22 + var(--i)*.078)}
.seg li:last-child{box-shadow:0 0 8px var(--g)}
.segl{display:flex;justify-content:space-between;margin:7px 0 0;font:500 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#6f786d}
.bud{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:center;margin-top:11px}
.bud .ic{display:grid;place-items:center;width:48px;height:48px;border:1.5px solid var(--g);background:rgba(124,255,79,.05)}
.bud .ic svg{width:24px;height:24px;stroke:var(--g);fill:none;stroke-width:1.8}
.bud .val{margin:0;font-size:24px}
.bud .sub{margin-top:5px}
.days{display:flex;gap:5px;margin:13px 0 0;padding:0;list-style:none}
.days li{display:grid;place-items:center;width:28px;height:24px;border:1px solid var(--g);font:500 10px/1 var(--mono);color:var(--g);background:rgba(124,255,79,.07)}
.days li.s{border:1px dashed #4b524a;color:#59615a;background:none}
.mrows{margin:12px 0 0;padding:0;list-style:none}
.mrows li{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:center;padding:10px 0;border-top:1px solid rgba(124,255,79,.14)}
.mrows li::before{content:attr(data-n);display:grid;place-items:center;width:30px;height:30px;border:1.5px solid var(--g);color:var(--g);font:400 15px/1 var(--stencil)}
.mrows li:nth-child(2)::before{background:var(--g);color:#041006}
.mrows b{display:block;font:400 19px/1 var(--stencil);letter-spacing:.02em;text-transform:uppercase;color:#f1f3ee}
.mrows span{display:block;margin-top:3px;font:400 13px/1.35 var(--sans);color:#8f978c}
.rest{margin:10px 0 0;font:500 10.5px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#8f978c}
.rest b{color:var(--amb);font-weight:500}
.ranks{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.ranks li{display:flex;align-items:center;gap:9px;padding:8px 10px 7px;background:rgba(124,255,79,.04);border:1px solid rgba(124,255,79,.14);font:400 14px/1.05 var(--stencil);letter-spacing:.04em;text-transform:uppercase;color:#dfe3da;position:relative}
.ranks li span{font:500 10px/1 var(--mono);color:var(--g);letter-spacing:.1em}
.ranks li.ret{grid-column:1/-1;border-color:rgba(255,176,32,.45);color:var(--amb)}
.ranks li.ret span{color:var(--amb)}
.tac-note{position:relative;z-index:3;margin:14px 22px 0;text-align:left;font:500 10.5px/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#7d857b}
.tac-cost{position:relative;z-index:3;margin:18px 16px 0;padding:14px 16px;border:1px solid var(--g);background:rgba(124,255,79,.06);text-align:left;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px))}
.tac-cost b{display:block;font:400 22px/1.05 var(--stencil);letter-spacing:.02em;text-transform:uppercase;color:#fff}
.tac-cost small{display:block;margin-top:8px;font:500 10.5px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--g)}
.tac-btn{position:relative;z-index:3;display:block;margin:12px 16px 0;padding:17px 18px 15px;background:var(--g);color:#041006;text-align:center;text-decoration:none;font:400 21px/1 var(--stencil);letter-spacing:.1em;text-transform:uppercase;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));box-shadow:0 0 24px rgba(124,255,79,.35)}
.tac-btn::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.1) 0 1px,transparent 1px 3px)}
.tac-section{position:relative;z-index:3;margin:28px 22px 0;text-align:left}
.tac-section .lb2{margin:0;font:500 10.5px/1 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--g)}
.tac-section h2{margin:9px 0 0;font:900 34px/.94 var(--hv);text-transform:uppercase;color:#fff}
.tac-section h2 b{color:var(--g);font-weight:900}
.tac-section p.t{margin:10px 0 0;font:400 15.5px/1.5 var(--sans);color:#aab1a7}
.tac-section p.t a{color:var(--g)}
/* standalone page */
body.tspage{background:#060706}
.tspage .lpbar{display:flex;align-items:center;height:34px;padding:0 16px;background:#030403;border-bottom:1px solid rgba(124,255,79,.2);font:600 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase}
.tspage .lpbar a{color:#7d857b;text-decoration:none}
.tspage .thead{display:flex;justify-content:space-between;align-items:center;height:54px;padding:0 16px;background:rgba(8,10,8,.9);border-bottom:1px solid rgba(124,255,79,.2)}
.tspage .tbrand{font:400 23px/1 var(--stencil);letter-spacing:.04em;text-transform:uppercase;color:#fff;text-decoration:none}
.tspage .tbrand b{font-weight:400;color:var(--g)}
.tspage .tstat{font:500 10.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#8f978c}
.tspage main{padding:16px 10px 10px;display:flex;flex-direction:column;gap:16px}
.tsfoot{padding:26px 20px 44px;text-align:center;font:12px/1.7 var(--mono);color:#6a7268;border-top:1px solid rgba(124,255,79,.2);margin-top:14px;letter-spacing:.03em}
.tsfoot p{margin:3px 0}.tsfoot a{color:var(--g)}
@media (max-width:350px){.tac-title{font-size:42px}.tph.c{width:210px;margin-left:-105px}}
