@font-face{font-family:Rajdhani;src:url('./assets/rajdhani-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--bg:#030908;--panel:#071911;--text:#edfff4;--muted:#a1bdae;--green:#69f0a0;--bright:#b8ffd0;--line:#315741;--radius:7px;--motion-press:140ms;--motion-progress:450ms;--system-font:Rajdhani,"Arial Narrow",system-ui,sans-serif}
body{background:radial-gradient(ellipse at 86% 10%,#0d452333,transparent 50%),radial-gradient(ellipse at 20% 80%,#082b1d33,transparent 65%),#030908;background-attachment:fixed}
body:before{content:"";position:fixed;inset:0;background-image:linear-gradient(#62f69a04 1px,transparent 1px),linear-gradient(90deg,#62f69a04 1px,transparent 1px);background-size:64px 64px;pointer-events:none;z-index:-1}
h1,h2,.brand,.mission-assignment,.rank-card h3,.system-notice strong{font-family:var(--system-font);font-weight:600;letter-spacing:.6px}
h1{font-size:clamp(38px,4.1vw,57px);line-height:1.05;letter-spacing:1px;text-wrap:balance}
h1 .accent{color:#a4ffc2;text-shadow:0 0 30px #65f79b33}
h2{font-size:25px}h3{font-size:17px}.eyebrow{font-size:11px;letter-spacing:2px;color:#95b5a1}.topbar{border-bottom-color:#30613f80}.topbar .eyebrow{color:#97f3b3;letter-spacing:3px}.connection{font-size:11px}.brand{font-size:25px;letter-spacing:4px}.brand small{font-family:ui-monospace,monospace;font-size:8px}.brand-mark{border-radius:5px;background:linear-gradient(135deg,#183d28d9,#06130c);box-shadow:inset 0 1px #b1ffca22,0 0 25px #55d98c1a}.sidebar{background:#040d08ed;border-right-color:#28573780}.sidebar nav{margin-top:61px}.sidebar-foot{font-size:9px}.sidebar-foot small{font-size:11px}.nav-btn{border-radius:4px;font-size:14px;min-height:47px;transition:background var(--motion-press),border-color var(--motion-press),color var(--motion-press)}.nav-btn.active{border-color:#4a956380;background:linear-gradient(90deg,#1a4b2c80,#12321f30);box-shadow:inset 3px 0 #8cf2ac}
.panel{border-radius:7px;border-color:#315b4080;background:linear-gradient(125deg,#102b1b99,#06100bf0);box-shadow:inset 0 1px #b7ffd40c,0 4px 35px #0003}
.panel:not(.hero):before{content:"";position:absolute;inset:0;background:linear-gradient(#85d69e,#85d69e) left top/14px 1px no-repeat,linear-gradient(#85d69e,#85d69e) left top/1px 14px no-repeat,linear-gradient(#3f8657,#3f8657) right bottom/14px 1px no-repeat,linear-gradient(#3f8657,#3f8657) right bottom/1px 14px no-repeat;pointer-events:none;opacity:.6}
.system-notice{margin:-3px 0 24px;display:flex;align-items:center;gap:15px;background:linear-gradient(90deg,#133e2680,#07120c44);border:1px solid #3a7851aa;border-left:3px solid #97ffc0;padding:15px 19px;box-shadow:inset 0 0 28px #50e68c05;min-height:68px}
.notice-mark{display:grid;place-items:center;width:30px;height:30px;border:1px solid #8eeeb0;transform:rotate(45deg);color:#b8ffd0;font-family:var(--system-font);font-size:21px;background:#123b2355;flex-shrink:0}.notice-mark::first-letter{transform:rotate(-45deg)}.system-notice>div{flex:1}.system-notice strong{display:block;font-size:14px;letter-spacing:2.7px;line-height:1.2;color:#b3f8c8}.system-notice>div>span{display:block;margin-top:4px;color:#a3bdae;font-size:12px}.notice-code{font-family:ui-monospace,monospace;color:#76a987;font-size:10px;letter-spacing:1px}
.hero{min-height:466px;padding:30px;background:linear-gradient(110deg,#071a10,#030b06);border:1px solid #5cac75aa;box-shadow:inset 0 0 40px #70ffac04,0 0 45px #25b55a0b}
.hero:before{background-size:auto 750px;background-position:120% 28%;opacity:.64;animation:core-halo 6s ease-in-out infinite alternate}
.hero:after{background:linear-gradient(90deg,#05120c 0%,#06130dde 34%,#05130c20 100%)}
.hud-corners{position:absolute;inset:10px;pointer-events:none;background:linear-gradient(#afffc9,#afffc9) left top/28px 2px no-repeat,linear-gradient(#afffc9,#afffc9) left top/2px 28px no-repeat,linear-gradient(#afffc9,#afffc9) right top/28px 2px no-repeat,linear-gradient(#afffc9,#afffc9) right top/2px 28px no-repeat,linear-gradient(#4aaf6b,#4aaf6b) left bottom/28px 2px no-repeat,linear-gradient(#4aaf6b,#4aaf6b) left bottom/2px 28px no-repeat,linear-gradient(#4aaf6b,#4aaf6b) right bottom/28px 2px no-repeat,linear-gradient(#4aaf6b,#4aaf6b) right bottom/2px 28px no-repeat;opacity:.8}
.hero>.inline-actions{padding-bottom:18px;border-bottom:1px solid #4b9c6555;justify-content:space-between}.hero h2{font-size:68px;line-height:.9;letter-spacing:1px;margin:25px 0 17px;text-shadow:0 0 28px #a0ffbf22}.mission-assignment{font-size:26px;color:#c6ffda;line-height:1.15;margin-bottom:8px}.mission-assignment>span{font-family:ui-monospace,monospace;font-size:10px;letter-spacing:1px;color:#85b798}.hero p{margin-bottom:18px;color:#a1bdae;font-size:12px;max-width:70%}.quest-objectives{max-width:72%;display:grid;gap:10px;margin:20px 0}.quest-objectives>div{display:flex;align-items:center;gap:10px;font-size:12px;color:#c8ded0}.quest-objectives b{margin-left:auto;font-family:ui-monospace,monospace;font-weight:400;color:#9aeab5;font-size:11px}.quest-mark{width:12px;height:12px;border:1px solid #5b9971;flex-shrink:0;display:grid;place-items:center;font-size:10px}.quest-mark.checked{background:#64e795;color:#072113;border-color:#64e795}.hero .hero-info{font-size:11px;color:#96b7a2;margin:19px 0}.hero .btn{min-width:220px}.hero-number{right:25px;bottom:27px;font-size:10px;letter-spacing:2px}
.btn{border-radius:4px;background:linear-gradient(115deg,#a5fac2,#5be699);box-shadow:inset 0 1px #effff688,0 0 25px #65efa31a;font-size:13px;min-height:46px;transition:background var(--motion-press),box-shadow var(--motion-press),filter var(--motion-press)}.btn:hover{box-shadow:inset 0 1px #fff9,0 0 35px #65efa32a;filter:brightness(1.04)}.btn:active{filter:brightness(.88)}.btn.secondary{background:#102719bb;border-color:#417b54}.btn.small{min-height:44px;font-size:12px}.text-btn{min-height:44px;font-size:12px}.badge{border-radius:3px;letter-spacing:1px;font-size:10px}.badge.neutral{background:#12231a;color:#b1c9b9}.stat{border-radius:6px;background:linear-gradient(135deg,#0d2418b3,#07120d);border-color:#2f5b3d99}.stat-label{font-size:12px}.stat-value{font-family:var(--system-font);font-size:39px;color:#d2ffe0;letter-spacing:1px;line-height:1}.stat-value small{font-size:16px}.stat-caption{font-size:10px;color:#99b5a3}.progress-track{height:4px;background:#233c2c;border-radius:0}.progress-fill{width:100%;transform-origin:left;transition:transform var(--motion-progress) cubic-bezier(.2,.8,.2,1);border-radius:0;background:linear-gradient(90deg,#3dc875,#b8ffd0);box-shadow:0 0 10px #7affad55}.rank-card .rank{width:125px;height:135px;font-size:77px;filter:drop-shadow(0 0 20px #51d28322);margin:25px auto 20px;background:linear-gradient(135deg,#baffcebb,#11542980)}.rank-card h3{font-size:20px;line-height:1.2}.rank-card p{font-size:12px;color:#a6c0af}.rank-xp{font-size:11px}.day-btn{border-radius:4px;border-color:#355b4199;background:#0c1d12;min-height:98px;transition:background var(--motion-press),border-color var(--motion-press)}.day-btn .day-number{font-family:var(--system-font);font-size:26px;line-height:1}.day-btn small{font-size:10px}.day-btn.today{border-color:#7df1a5;background:#193e27;box-shadow:inset 0 2px #adffca33}.phase-text strong{font-size:14px}.phase-text small,.daily-note,.phase-range,.note,.callout,.source-note{font-size:12px;color:#a1bdae}.phase-range{font-size:10px}.phase-text small{font-size:12px}.eyebrow,.status-label{line-height:1.5}.status-label{font-size:11px}.exercise{border-radius:5px;border-color:#31583e99;background:#09180f}.exercise summary{min-height:74px}.exercise-number{color:#8abb99}.exercise-label strong{font-size:15px}.exercise-label small,.exercise-state{font-size:12px}.exercise[open]{border-color:#5da173;box-shadow:inset 0 1px #bdffcf11}.exercise-cue,.last-record,.technique{font-size:12px}.last-record{background:#15352380}.series-head{font-size:10px}.series-row>span{font-size:12px}.series-row input{border-radius:4px;font-size:16px}.series-row.done{animation:series-confirm 250ms ease-out}.series-row.done input:not([type=checkbox]){border-color:#6bd492;background:#173c23}.checkline{border-radius:5px;font-size:14px}.checkline small{font-size:12px}.session-header p,.session-progress,.finish-hint{font-size:12px}.pill{border-radius:4px;min-height:44px;font-size:12px}.field,input,select,textarea{border-radius:4px}label.field{font-size:12px}.setting-row strong{font-size:14px}.setting-row small{font-size:12px}.list-item{border-radius:5px}.list-item strong{font-size:14px}.list-item small{font-size:12px}.panel-title .eyebrow{font-size:10px}.rank-card>.eyebrow{color:#adf5c3}.date-pill{font-size:12px;border-radius:4px}.avatar{border-radius:5px}.program-cell{border-radius:3px}.timer-bar{border-radius:6px;background:#0b2819f2;box-shadow:0 0 35px #0009,inset 0 1px #a7ffca33}.timer-action{border-radius:4px;min-height:44px}.timer-copy{font-size:13px}.timer-copy small{font-size:11px}.toast{border:1px solid #9effc0;border-left:4px solid #b8ffd0;background:#0f2d1fee;backdrop-filter:blur(15px);color:#d7ffe4;border-radius:4px;font-size:13px}dialog{border-radius:5px;border-color:#8cebaf;background:linear-gradient(140deg,#0f2e1e,#07140d);box-shadow:0 0 70px #50d88a20,0 20px 150px #000b}dialog[open]{animation:system-window 300ms cubic-bezier(.16,1,.3,1)}dialog h2{font-family:var(--system-font);font-size:36px;letter-spacing:1px;text-transform:uppercase;color:#beffd3}dialog p{font-size:14px}.complete-banner{border-radius:4px;border-left:3px solid #b8ffd0;background:linear-gradient(100deg,#204b30aa,#0d281866);font-size:14px}.mobile-nav{border-top-color:#487b5480;background:#06150df2}.mobile-nav .nav-btn.active{box-shadow:inset 0 2px #a8fac2}.footnote{font-size:9px}.footnote span{font-size:10px}
@keyframes core-halo{from{opacity:.48;transform:scale(1)}to{opacity:.72;transform:scale(1.025)}}
@keyframes system-window{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes series-confirm{from{opacity:.65}to{opacity:1}}
@media(max-width:1150px){.hero h2{font-size:59px}.hero:before{background-position:132% 28%}.quest-objectives{max-width:85%}.mission-assignment{font-size:23px}.hero{padding:27px}.rank-card .rank{width:105px;height:115px;font-size:66px}}
@media(max-width:900px){.topbar .eyebrow:before{content:""}.topbar .eyebrow{font-size:11px}.hero:before{background-position:140% 28%}.rank-card h3{font-size:18px}}
@media(max-width:660px){.topbar{height:68px;margin:0 18px}.topbar .eyebrow{font-size:11px;letter-spacing:2px}.connection{font-size:10px}.page-head h1{font-size:40px;letter-spacing:.5px}.page-head p{font-size:13px;max-width:100%}.page-head{margin-bottom:21px}.eyebrow{font-size:10px}.system-notice{padding:13px 15px;gap:14px;margin-bottom:20px}.system-notice strong{font-size:13px}.system-notice>div>span{font-size:12px}.notice-code{display:none}.notice-mark{width:25px;height:25px;font-size:19px}.panel{border-radius:5px;padding:21px}.hero{padding:25px;min-height:470px}.hero h2{font-size:64px;max-width:80%;margin-top:24px}.hero:before{background-size:auto 730px;background-position:126% 27%;opacity:.5}.hero:after{background:linear-gradient(90deg,#05120cf2 0%,#06130dde 30%,#05130c10 100%)}.hero .eyebrow{font-size:10px}.mission-assignment{font-size:25px}.mission-assignment span{font-size:10px}.hero p{font-size:12px;max-width:85%;margin-bottom:10px}.quest-objectives{max-width:88%;margin-top:19px;margin-bottom:18px;gap:12px}.quest-objectives>div{font-size:12px}.hero .hero-info{margin:17px 0;font-size:11px}.hero .btn{width:100%;font-size:14px}.hero-number{display:none}.stat{padding:15px 11px;border-radius:4px}.stat-label{font-size:11px}.stat-value{font-size:33px;margin-top:12px}.stat-value small{font-size:14px}.stat-caption{font-size:9px;line-height:1.6;margin-top:7px}.stat-grid{gap:8px}.panel-title h2{font-size:24px}.panel-title h3{font-size:18px}.panel-title .eyebrow{font-size:9px}.day-btn{min-height:93px;padding:12px 2px}.day-btn small{font-size:10px}.day-btn .day-number{font-size:25px}.week-row{gap:5px}.rank-card{column-gap:19px}.rank-card .rank{width:83px;height:92px;font-size:54px;grid-row:2/6;margin:15px 0 0}.rank-card h3{font-size:21px;margin-top:13px}.rank-card p{font-size:12px}.rank-xp{font-size:10px}.phase-text strong{font-size:14px}.phase-text small{font-size:12px}.callout,.note,.source-note,.daily-note{font-size:12px}.exercise summary{padding:16px 14px;gap:10px}.exercise-label strong{font-size:15px;line-height:1.3}.exercise-label small,.exercise-state{font-size:11px}.exercise-number{font-size:13px}.series-row input{font-size:16px;min-height:46px}.series-row .set-check{width:44px;height:44px}.series-head,.series-row{grid-template-columns:27px 1fr 1fr 44px}.checkline{font-size:14px}.checkline small{font-size:12px}.mobile-nav{padding-top:7px}.mobile-nav .nav-btn{font-size:10px;min-width:55px;padding:8px 9px;min-height:50px}.timer-copy{font-size:12px}.timer-copy small{font-size:10px}.timer-action{font-size:11px;padding:9px}.form-row input,.form-row select,textarea{font-size:16px}.list-item small{font-size:12px}.list-item strong{font-size:14px}.empty{font-size:14px}.empty strong{font-size:20px}.setting-row strong{font-size:14px}.setting-row small{font-size:12px}.footnote span{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero:before{opacity:.6}}

.exercise-photos{margin:0 0 18px}.exercise-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.exercise-photo-pair img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#020605;border:1px solid #315741;border-radius:4px}.exercise-photos figcaption{font-size:12px;color:var(--muted);margin-top:8px}.exercise-photos a{color:#a4ffc2;text-underline-offset:3px}
