:root{--ink:#0c0a0b;--panel:#161314;--panel-2:#1e1a1b;--line:#2c2627;--fg:#f5f1f1;--muted:#a69c9d;--red:#fe0000;--red-ink:#ff5a5a;--good:#3ccf8e;--warn:#f2b33d;--bad:#ff5a5a;--display:"Archivo", "Helvetica Neue", Arial, sans-serif;--body:"Archivo", "Helvetica Neue", Arial, sans-serif;--mono:"JetBrains Mono", ui-monospace, Menlo, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--ink);color:var(--fg);font-family:var(--body);font-variation-settings:"wdth" 100;font-size:15px;line-height:1.55}a{color:inherit}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--red-ink);outline-offset:2px;border-radius:6px}h1,h2,h3{font-family:var(--display);font-variation-settings:"wdth" 125;letter-spacing:-.01em;text-wrap:balance;margin:0;line-height:1.08}h1{font-size:clamp(28px,4.4vw,44px);font-weight:850}h2{font-size:22px;font-weight:800}h3{font-variation-settings:"wdth" 112;font-size:16px;font-weight:750}p{margin:0}.eyebrow{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:11px}.muted{color:var(--muted)}.mono{font-family:var(--mono);font-size:12px}.x-preview{padding-block:8px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));background:var(--red);color:#fff;text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px;font-size:12.5px;font-weight:650;display:flex}.x-preview span{opacity:.85;font-weight:500}.app{grid-template-columns:236px minmax(0,1fr);min-height:calc(100vh - 36px);display:grid}.rail{top:env(safe-area-inset-top,0px);height:calc(100vh - 36px);padding:22px 14px 18px max(14px, env(safe-area-inset-left,0px));border-right:1px solid var(--line);background:var(--ink);flex-direction:column;align-self:start;gap:18px;display:flex;position:sticky;overflow-y:auto}.brand{align-items:center;gap:10px;padding:0 8px;text-decoration:none;display:flex}.brand img{object-fit:contain;width:30px;height:30px}.brand b{font-family:var(--display);font-variation-settings:"wdth" 125;letter-spacing:.01em;font-size:17px;font-weight:900}.brand b i{color:var(--red);font-style:normal}.nav{flex-direction:column;gap:2px;display:flex}.nav .grp{margin:12px 10px 4px}.nav a{color:var(--muted);border-radius:9px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:14px;font-weight:560;text-decoration:none;display:flex}.nav a:hover{background:var(--panel);color:var(--fg)}.nav a[aria-current=page]{background:var(--panel-2);color:var(--fg);box-shadow:inset 2px 0 0 var(--red)}.nav a small{font-family:var(--mono);color:var(--muted);font-size:10.5px}.rail-foot{border:1px solid var(--line);border-radius:12px;gap:4px;margin-top:auto;padding:12px;display:grid}.rail-foot b{font-size:13px}main{padding-block:28px 64px;min-width:0;padding-left:max(16px,min(4vw,40px));padding-right:max(16px, env(safe-area-inset-right,0px), min(4vw, 40px))}.view{gap:22px;max-width:1180px;display:grid}.view[hidden]{display:none!important}.head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.head>div{gap:8px;min-width:0;max-width:680px;display:grid}.lede{color:var(--muted);max-width:62ch;font-size:16px}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;align-content:start;gap:12px;min-width:0;padding:18px;display:grid}.grid{gap:14px;display:grid}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.split{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:14px;display:grid}.btn{border:1px solid var(--line);background:var(--panel-2);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-size:13.5px;font-weight:650;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--muted)}.btn.red{background:var(--red);border-color:var(--red);color:#fff}.btn.red:hover{filter:brightness(1.08)}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip{border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:12px;display:inline-flex}.chip.good{color:var(--good);border-color:color-mix(in srgb, var(--good) 40%, transparent)}.chip.warn{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 40%, transparent)}.chip.bad{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 45%, transparent)}.chip.red{color:#fff;background:var(--red);border-color:var(--red)}.dot{background:currentColor;border-radius:50%;width:7px;height:7px}.hero{border:1px solid var(--line);background:#000 50%/cover no-repeat;border-radius:20px;align-content:end;gap:10px;min-height:250px;padding:24px;display:grid;position:relative;overflow:hidden}.hero:before{content:"";background:linear-gradient(#0000000d 10%,#000000e0 92%);position:absolute;inset:0}.hero>*{position:relative}.hero h1{color:#fff;max-width:18ch}.hero p{color:#e8dfdf;max-width:56ch}.meter{background:var(--panel-2);border-radius:99px;height:8px;overflow:hidden}.meter i{background:var(--red);border-radius:99px;height:100%;display:block}.stat{gap:2px;display:grid}.stat b{font-family:var(--display);font-variation-settings:"wdth" 125;font-variant-numeric:tabular-nums;font-size:30px;font-weight:850}.next{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.daybadge{background:var(--red);color:#fff;text-align:center;width:58px;height:58px;font-family:var(--display);font-variation-settings:"wdth" 125;border-radius:14px;place-content:center;font-weight:900;line-height:1;display:grid}.daybadge small{font-family:var(--mono);letter-spacing:.1em;font-size:9.5px;font-weight:600}.daybadge span{font-size:24px}.list{margin:0;padding:0;list-style:none;display:grid}.list li{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:10px;min-width:0;padding:10px 0;display:flex}.list li:first-child{border-top:0;padding-top:2px}.list li>span:first-child{min-width:0}.stages{gap:14px;display:grid}.stage{border:1px solid var(--line);background:var(--panel);border-radius:16px;grid-template-columns:120px minmax(0,1fr);gap:18px;padding:18px;display:grid}.stage.now{border-color:color-mix(in srgb, var(--red) 55%, var(--line))}.stage .when{align-content:start;gap:6px;display:grid}.stage .when b{font-family:var(--display);font-variation-settings:"wdth" 125;font-size:22px;font-weight:850}.steps{gap:8px;margin-top:10px;display:grid}.step{background:var(--panel-2);border-radius:10px;grid-template-columns:22px minmax(0,1fr) auto;align-items:start;gap:10px;padding:10px 12px;display:grid}.box{border:1.5px solid var(--muted);border-radius:5px;place-content:center;width:18px;height:18px;margin-top:2px;font-size:12px;line-height:1;display:grid}.step.done .box{background:var(--good);border-color:var(--good);color:#062}.step.done .t{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--muted) 60%, transparent);text-decoration-color:color-mix(in srgb, var(--muted) 60%, transparent)}.step .meta{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.filters{flex-wrap:wrap;gap:6px;display:flex}.filters button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:6px 12px;font-size:13px}.filters button[aria-pressed=true]{background:var(--fg);color:var(--ink);border-color:var(--fg);font-weight:650}.thumb{aspect-ratio:16/10;border:1px solid var(--line);border-radius:11px;max-width:100%;position:relative;overflow:hidden}.thumb .lbl{font-family:var(--mono);color:#fffc;letter-spacing:.06em;text-transform:uppercase;font-size:10.5px;position:absolute;bottom:9px;left:10px}.pairs{flex-wrap:wrap;gap:5px;display:flex}.pairs .chip{font-size:11px}.chap{grid-template-columns:34px minmax(0,1fr);gap:12px;display:grid}.chap .n{font-family:var(--mono);color:var(--red-ink);padding-top:2px;font-size:13px}input[type=search]{border:1px solid var(--line);background:var(--panel);width:100%;color:var(--fg);font:inherit;border-radius:12px;padding:11px 14px}.mod{border-top:1px solid var(--line);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;display:grid}.mod:first-child{border-top:0}.play{border:1px solid var(--line);background:var(--panel-2);border-radius:50%;place-content:center;width:40px;height:40px;display:grid}.play:before{content:"";border-left:11px solid var(--fg);border-top:7px solid #0000;border-bottom:7px solid #0000;margin-left:3px}.pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}figure{gap:8px;min-width:0;margin:0;display:grid}figure img{aspect-ratio:16/10;object-fit:cover;border:1px solid var(--line);background:var(--panel-2);border-radius:11px;width:100%;display:block}figure.wide img{aspect-ratio:auto}figcaption{gap:4px;font-size:13px;display:grid}.verdict{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}.verdict.good{color:var(--good)}.verdict.bad{color:var(--bad)}.lesson{border-top:1px solid var(--line);grid-template-columns:30px minmax(0,1fr);gap:10px;padding-top:12px;display:grid}.lesson b.num{background:var(--red);color:#fff;width:26px;height:26px;font-family:var(--mono);border-radius:8px;place-content:center;font-size:12px;display:grid}.tbl-wrap{border:1px solid var(--line);border-radius:14px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:640px;font-size:13.5px}th,td{text-align:left;border-top:1px solid var(--line);vertical-align:top;padding:11px 14px}th{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:var(--panel);border-top:0;font-size:11px;font-weight:600}td code{font-family:var(--mono);color:var(--red-ink);font-size:12px}.prompt{gap:10px;display:grid}.prompt pre{white-space:pre-wrap;font-family:var(--mono);color:#e6dede;background:var(--panel-2);border-radius:10px;max-height:150px;margin:0;padding:12px 14px;font-size:12.5px;line-height:1.6;overflow:auto}.chat{align-content:start;gap:12px;min-height:360px;display:grid}.msg{border-radius:16px;max-width:78%;padding:11px 14px;font-size:14.5px}.msg.me{background:var(--fg);color:var(--ink);border-bottom-right-radius:5px;justify-self:end}.msg.max{background:var(--panel-2);border:1px solid var(--line);border-bottom-left-radius:5px;gap:8px;display:grid}.msg.max .src{flex-wrap:wrap;gap:5px;display:flex}.orb{background:radial-gradient(circle at 35% 30%, #ff8a8a, var(--red) 55%, #6d0000);width:34px;height:34px;box-shadow:0 0 24px color-mix(in srgb, var(--red) 55%, transparent);border-radius:50%;flex:none}.composer{gap:8px;display:flex}.composer input{border:1px solid var(--line);background:var(--panel-2);min-width:0;color:var(--fg);font:inherit;border-radius:999px;flex:1;padding:12px 14px}.typing i{background:var(--muted);border-radius:50%;width:6px;height:6px;margin-right:3px;animation:1s infinite blink;display:inline-block}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes blink{50%{opacity:.25}}.sec{grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;display:grid}.sec .ic{background:color-mix(in srgb, var(--good) 16%, transparent);width:26px;height:26px;color:var(--good);border-radius:8px;place-content:center;font-size:13px;font-weight:800;display:grid}.toast{left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));background:var(--fg);color:var(--ink);opacity:0;pointer-events:none;border-radius:999px;padding:9px 16px;font-size:13.5px;font-weight:650;transition:opacity .2s;position:fixed;transform:translate(-50%)}.toast.on{opacity:1}@media (max-width:1080px){.g4,.g3{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:minmax(0,1fr)}}@media (max-width:820px){.app{grid-template-columns:minmax(0,1fr)}.rail{top:env(safe-area-inset-top,0px);z-index:5;height:auto;padding:10px max(16px, env(safe-area-inset-right,0px)) 10px max(16px, env(safe-area-inset-left,0px));border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;gap:10px;position:sticky;overflow:auto hidden}body:before{content:"";height:env(safe-area-inset-top,0px);z-index:10;background:var(--ink);position:fixed;inset:0 0 auto}.brand b{display:none}.nav{flex-direction:row;gap:4px}.nav .grp,.nav a small,.rail-foot{display:none}.nav a{white-space:nowrap;padding:7px 11px}.nav a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--red)}main{padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px))}}@media (max-width:560px){.g2,.g3,.g4,.pair{grid-template-columns:minmax(0,1fr)}.stage{grid-template-columns:minmax(0,1fr);gap:8px}.next{grid-template-columns:auto minmax(0,1fr)}.next .btn{grid-column:1/-1;justify-content:center}.msg{max-width:92%}.mod{grid-template-columns:40px minmax(0,1fr)}.mod .chip{grid-column:2;justify-self:start}}@media (prefers-reduced-motion:reduce){.typing i{animation:none}.toast{transition:none}}a.plain{text-decoration:none}.rail{scrollbar-width:thin}.prose{color:#e7e1e1;gap:12px;min-width:0;font-size:15.5px;line-height:1.65;display:grid}.prose h3{margin-top:8px;font-size:17px}.prose ul,.prose ol{gap:7px;margin:0;padding-left:20px;display:grid}.prose a{color:var(--red-ink)}.prose code{font-family:var(--mono);background:var(--panel-2);overflow-wrap:anywhere;border-radius:6px;padding:2px 6px;font-size:12.5px}.prose pre,.codebox pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--mono);color:#e6dede;border:1px solid var(--line);background:#0a0809;border-radius:10px;max-height:420px;margin:0;padding:12px 14px;font-size:12.5px;line-height:1.6;overflow:auto}.prose pre code{background:0 0;padding:0}.codebox{position:relative}.copy{background:var(--panel);border:1px solid var(--line);color:var(--fg);cursor:pointer;border-radius:99px;padding:5px 10px;font-size:12px;position:absolute;top:8px;right:8px}.copy:hover{border-color:var(--muted)}.crumb{color:var(--muted);flex-wrap:wrap;gap:6px;font-size:13px;display:flex}.crumb a{color:var(--muted)}.lesson-wrap{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:22px;display:grid}.lesson-main{gap:18px;min-width:0;display:grid}.side{gap:12px;display:grid;position:sticky;top:18px}.stepi{background:var(--panel-2);border-radius:12px;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;padding:12px;display:grid}.stepi.done{opacity:.72}.stepi.done .st{text-decoration:line-through;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted);color:var(--muted)}.stepi input{appearance:none;border:1.5px solid var(--muted);cursor:pointer;background:0 0;border-radius:7px;place-content:center;width:22px;height:22px;margin:1px 0 0;display:grid}.stepi input:checked{background:var(--good);border-color:var(--good)}.stepi input:checked:after{content:"✓";color:#052;font-size:14px;font-weight:800;line-height:1}.stepi .st{font-weight:680;display:block}.stepi .sn{font-family:var(--mono);color:var(--muted);margin-right:8px;font-size:11px}.stepi .prose{color:var(--muted);gap:8px;margin-top:4px;font-size:14.5px}.stepi .prose code{color:var(--fg)}.steplist{gap:8px;display:grid}.video{border:1px solid var(--line);background:#000;border-radius:14px;position:relative;overflow:hidden}.video video{width:100%;max-height:72vh;display:block}.video .wm{font-family:var(--mono);color:#ffffff57;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:11px;position:absolute;top:10px;right:10px}.film-empty{border:1px dashed var(--line);color:var(--muted);border-radius:14px;align-items:center;gap:12px;padding:16px;display:flex}.daycard{gap:8px;text-decoration:none;display:grid}.daycard:hover{border-color:var(--muted)}.daygrid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;display:grid}.lrow{border:1px solid var(--line);background:var(--panel);border-radius:14px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;text-decoration:none;display:grid}.lrow:hover{border-color:var(--muted)}.lrow .num{background:var(--panel-2);width:40px;height:40px;font-family:var(--mono);border-radius:11px;place-content:center;font-size:13px;display:grid}.lrow.done .num{background:var(--good);color:#052;font-weight:800}.shot{border:1px solid var(--line);background:var(--panel-2);aspect-ratio:16/10;object-fit:cover;object-position:top;border-radius:11px;width:100%;display:block}.shotpair{grid-template-columns:minmax(0,1fr) 150px;align-items:start;gap:12px;display:grid}.shotpair .ph{aspect-ratio:390/844}.field{color:var(--muted);gap:6px;font-size:13.5px;display:grid}.field input,.field textarea,.field select,input.txt{border:1px solid var(--line);background:var(--panel-2);width:100%;color:var(--fg);font:inherit;border-radius:10px;padding:11px 13px}.err{color:var(--bad);font-size:13.5px}.ok{color:var(--good);font-size:13.5px}.formgrid{gap:12px;display:grid}.center{place-content:center;min-height:100vh;padding:24px 16px;display:grid}.authcard{width:min(420px,100vw - 32px)}.authcard img{width:150px}.paper{color:#111;background:#fff;border-radius:14px;max-height:58vh;padding:22px;font-size:14px;line-height:1.5;overflow:auto}.paper h2{margin:16px 0 6px;font-family:inherit;font-size:16px}.paper ul{margin:6px 0;padding-left:20px}.sig-pad{touch-action:none;background:#fff;border-radius:10px;width:100%;height:140px;display:block}.sig-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.sign{gap:16px;max-width:800px;margin:0 auto;padding:32px 16px 64px;display:grid}.sign-form{background:var(--panel);border:1px solid var(--line);border-radius:16px;gap:12px;padding:18px;display:grid}.sign-form label{color:var(--muted);gap:6px;font-size:13.5px;display:grid}.sign-form input:not([type=checkbox]){border:1px solid var(--line);background:var(--panel-2);color:var(--fg);font:inherit;border-radius:10px;padding:11px 13px}.sign-form .consent{color:var(--fg);align-items:start;gap:10px;display:flex}.sign-form .btn,.sign-form button.btn{background:var(--red);border-color:var(--red);color:#fff;justify-content:center}.ghost{border:1px solid var(--line);color:var(--fg);font:inherit;cursor:pointer;background:0 0;border-radius:99px;padding:6px 12px;font-size:13px}.eyebrow.display,h1.display{font-family:var(--display)}.rowtable{gap:6px;display:grid}.ftbl tr td{font-size:13.5px}.gterm{border-top:1px solid var(--line);grid-template-columns:minmax(120px,220px) minmax(0,1fr);gap:14px;padding:12px 0;scroll-margin-top:80px;display:grid}.letters{z-index:2;background:var(--ink);flex-wrap:wrap;gap:4px;padding:8px 0;display:flex;position:sticky;top:0}.letters a{border:1px solid var(--line);border-radius:8px;place-content:center;width:28px;height:28px;font-size:12.5px;text-decoration:none;display:grid}@media (max-width:980px){.lesson-wrap{grid-template-columns:minmax(0,1fr)}.side{position:static}}@media (max-width:560px){.shotpair{grid-template-columns:minmax(0,1fr)}.shotpair .ph{max-width:180px}.gterm{grid-template-columns:minmax(0,1fr);gap:4px}.lrow{grid-template-columns:40px minmax(0,1fr)}.lrow>.chip{grid-column:2;justify-self:start}}.brand b{white-space:nowrap;font-size:15px}.app{min-height:100vh}.rail{height:100vh}.hero .chip{justify-self:start}.hero{background-position:50%;background-size:cover;min-height:290px}.hero:before{background:linear-gradient(#00000040 10%,#000000e6 92%)}.video video{background:#000}@media (max-width:820px){.rail{height:auto}.app{display:block}}.play{flex:none}.daygrid{grid-template-columns:repeat(auto-fill,minmax(205px,1fr))}.help-fab{z-index:30;background:var(--red,#fe0000);color:#fff;border-radius:999px;padding:10px 16px;font-size:14px;font-weight:800;text-decoration:none;position:fixed;bottom:16px;right:16px;box-shadow:0 6px 20px #00000059}@media print{.help-fab{display:none}}
