@font-face{font-family:montserrat;src:url(/fonts/montserrat.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:merriweather sans;src:url(/fonts/merriweather-sans.woff2)format("woff2");font-weight:300 800;font-display:swap}:root{color-scheme:dark;--bg:#05041A;--ink:#F6F3FF;--text:#D6D1EE;--grey:#A7A2CC;--dim:#7D78A6;--faint:#57527E;--lav:#B7B1EA;--lav-2:#8F89D8;--lav-3:#C9C3FF;--teal:#7FD9E6;--warm:#FFD49A;--good:#8FE3B5;--bad:#FF9EA8;--glass:rgba(16,15,44,.46);--glass-2:rgba(22,20,58,.62);--glass-hi:rgba(38,34,92,.55);--line:rgba(230,225,250,.14);--line-2:rgba(230,225,250,.08);--display:"Montserrat","Avenir Next","Segoe UI",system-ui,sans-serif;--body:"Merriweather Sans","Segoe UI",system-ui,sans-serif;--cond:"Big Shoulders","Montserrat",sans-serif;--ease:cubic-bezier(.2,.7,.2,1);--r:22px;--gut:clamp(16px,3.2vw,44px)}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--text);font-family:var(--body);font-weight:300;font-size:15.5px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}button,input,textarea{font:inherit;color:inherit}a{color:var(--lav-3)}h1,h2,h3,h4{font-family:var(--display);color:var(--ink);margin:0;font-weight:500;letter-spacing:-.02em;text-wrap:balance}p{margin:0}.num{font-family:var(--display);font-variant-numeric:tabular-nums}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:8px}#scene{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:0}.no-gl #scene{display:none}.fallback{position:fixed;inset:0;z-index:0;background:radial-gradient(60% 50% at 50% 38%,rgba(140,120,255,.22),transparent 70%),linear-gradient(180deg,#050419 0%,#0c0f33 60%,#05041a 100%)}.gl .fallback{display:none}.veil{position:fixed;inset:0;z-index:1;pointer-events:none;transition:background .9s var(--ease),backdrop-filter .9s var(--ease)}body[data-screen=signin] .veil{background:linear-gradient(90deg,rgba(4,3,18,.72) 0%,rgba(4,3,18,.25) 48%,rgba(4,3,18,0) 70%),linear-gradient(0deg,rgba(4,3,18,.55),transparent 35%)}body[data-screen=dashboard] .veil{background:linear-gradient(180deg,rgba(5,4,24,.55) 0%,rgba(5,4,24,.72) 45%,rgba(5,4,24,.88) 100%)}body[data-screen=lesson] .veil,body[data-screen=project] .veil,body[data-screen=coach] .veil,body[data-screen=emails] .veil{background:linear-gradient(180deg,rgba(5,4,24,.78) 0%,rgba(5,4,24,.93) 38%,rgba(5,4,24,.97) 100%)}.screen{position:relative;z-index:2;min-height:100vh;display:none;flex-direction:column}.screen.on{display:flex;animation:screen-in .7s var(--ease)both}@keyframes screen-in{from{opacity:0;transform:translateY(10px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}.bar{display:flex;align-items:center;gap:16px;padding:18px var(--gut);position:sticky;top:0;z-index:20}.app .bar{background:rgba(6,5,26,.72);backdrop-filter:blur(16px)saturate(1.2);-webkit-backdrop-filter:blur(16px)saturate(1.2);border-bottom:1px solid var(--line-2)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);flex-shrink:0}.brand img{width:36px;height:36px}.wm{display:grid;line-height:1;font-family:var(--display)}.wm b{font-weight:500;font-size:1.02rem;letter-spacing:.3em;margin-right:-.3em}.wm b span{color:var(--lav-3)}.wm i{font-style:normal;font-size:.54rem;font-weight:700;letter-spacing:.62em;color:var(--grey);margin-top:5px}.pill-nav{margin:0 auto;display:flex;gap:2px;padding:5px;border-radius:14px;background:rgba(10,9,32,.55);border:1px solid var(--line-2);backdrop-filter:blur(14px)}.pill-nav a,.pill-nav button{background:0 0;border:0;cursor:pointer;text-decoration:none;color:var(--text);font-family:var(--display);font-weight:500;font-size:.82rem;padding:8px 14px;border-radius:10px;transition:background .25s,color .25s;white-space:nowrap}.pill-nav a:hover,.pill-nav button:hover{color:#fff;background:rgba(255,255,255,6%)}.pill-nav [aria-current=page]{color:#fff;background:rgba(183,177,234,.16)}.caps{display:flex;align-items:center;gap:4px;padding:4px;border-radius:14px;background:rgba(10,9,32,.55);border:1px solid var(--line-2);backdrop-filter:blur(14px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;border-radius:11px;padding:10px 18px;font-family:var(--display);font-weight:600;font-size:.86rem;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .25s var(--ease),background .25s,border-color .25s,box-shadow .25s;white-space:nowrap}.btn:active{transform:scale(.98)}.btn-white{background:#f1eefb;color:#110d33;box-shadow:0 8px 28px -12px rgba(201,195,255,.7)}.btn-white:hover{background:#fff}.btn-ghost{background:0 0;color:var(--ink);border-color:rgba(246,243,255,.34)}.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,5%)}.btn-quiet{background:0 0;color:var(--text);border:0;padding:9px 13px}.btn-quiet:hover{color:#fff;background:rgba(255,255,255,6%)}.btn-lav{background:linear-gradient(135deg,#C9C3FF,#9A93E6);color:#110d33}.btn-lav:hover{box-shadow:0 10px 30px -10px rgba(183,177,234,.8)}.btn[disabled]{opacity:.45;cursor:not-allowed}.btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon-btn{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:0 0;border:0;color:var(--text);cursor:pointer;position:relative}.icon-btn:hover{background:rgba(255,255,255,6%);color:#fff}.icon-btn svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7}.icon-btn .badge{position:absolute;top:8px;right:9px;width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 2px #0b0a24}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-weight:600;font-size:.78rem;color:#110d33;background:linear-gradient(135deg,#E6E2FF,#A7A0F0)}.avatar.coach{background:linear-gradient(135deg,#BDF1F7,#7FD9E6)}.glass{background:var(--glass);border:1px solid var(--line);border-radius:var(--r);backdrop-filter:blur(22px)saturate(1.2);-webkit-backdrop-filter:blur(22px)saturate(1.2);box-shadow:0 30px 80px -40px rgba(0,0,0,.8),inset 0 1px rgba(255,255,255,5%)}.glass.solid{background:var(--glass-2)}.label{font-family:var(--display);font-weight:500;font-size:.95rem;color:var(--ink);letter-spacing:-.005em}.sub{color:var(--grey);font-size:.84rem}.eyebrow{font-family:var(--display);font-weight:600;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--lav)}.chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--display);font-weight:600;font-size:.72rem;padding:4px 9px;border-radius:8px;background:rgba(255,255,255,8%);color:var(--ink);white-space:nowrap}.chip.good{background:rgba(143,227,181,.14);color:var(--good)}.chip.warn{background:rgba(255,212,154,.13);color:var(--warm)}.chip.teal{background:rgba(127,217,230,.13);color:var(--teal)}.chip.lav{background:rgba(183,177,234,.15);color:var(--lav-3)}.chip.dim{background:rgba(255,255,255,5%);color:var(--grey)}.big{font-family:var(--display);font-weight:400;letter-spacing:-.03em;color:var(--ink);line-height:1;font-variant-numeric:tabular-nums}.big .dec{color:rgba(246,243,255,.3)}.signin .hero{flex:1;display:grid;grid-template-columns:minmax(0,1.05fr)minmax(0,.95fr);align-items:center;gap:40px;padding:0 var(--gut)11vh}.hero-copy{max-width:640px}.tagline{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-size:.78rem;font-weight:500;color:var(--text);padding:6px 12px 6px 8px;border-radius:999px;background:rgba(10,9,32,.5);border:1px solid var(--line-2);backdrop-filter:blur(10px);margin-bottom:26px}.tagline i{width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 12px var(--teal)}.hero h1{font-weight:400;font-size:clamp(2.5rem,1.2rem + 4.3vw,5.1rem);line-height:.98;letter-spacing:-.045em;color:#fff}.hero h1 em{font-style:normal;color:var(--lav-3)}.hero .lead{margin-top:22px;max-width:30em;font-size:1.06rem;color:var(--text)}.hero .ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.hero-side{justify-self:end;width:min(100%,400px);position:relative;display:grid}.hero-side>*{grid-area:1/1}.rise{animation:rise 1s var(--ease)both}.rise.d1{animation-delay:.08s}.rise.d2{animation-delay:.16s}.rise.d3{animation-delay:.26s}.rise.d4{animation-delay:.4s}@keyframes rise{from{opacity:0;transform:translateY(18px);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}.wcard{position:relative;min-height:310px;padding:22px 24px;overflow:hidden}.wcard .ex{position:absolute;top:18px;right:18px}.widget{position:absolute;inset:22px 24px 44px;display:flex;flex-direction:column;opacity:0;filter:blur(10px);transform:translateY(8px);transition:opacity .8s var(--ease),filter .8s var(--ease),transform .8s var(--ease);pointer-events:none}.widget.on{opacity:1;filter:none;transform:none;pointer-events:auto}.widget .big{font-size:2.9rem;margin-top:16px}.delta{display:flex;align-items:center;gap:8px;margin-top:10px;color:var(--grey);font-size:.8rem}.spark{margin-top:auto;display:flex;align-items:flex-end;gap:3px;height:92px;position:relative}.spark i{flex:1;background:rgba(246,243,255,.85);border-radius:2px 2px 0 0;height:calc(var(--h)*1%);transform-origin:bottom;transform:scaleY(0);transition:transform .9s var(--ease);transition-delay:calc(var(--k)*18ms)}.spark i.off{background:rgba(246,243,255,.16)}.on .spark i{transform:scaleY(1)}.axis{display:flex;justify-content:space-between;margin-top:8px;font-size:.66rem;color:var(--dim);font-family:var(--display)}.days{margin-top:auto;display:grid;grid-template-columns:repeat(7,1fr);gap:10px;align-items:end;height:118px}.days div{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px;height:100%}.days i{display:block;width:100%;max-width:34px;flex-shrink:0;border-radius:6px 6px 3px 3px;background:rgba(246,243,255,.18);height:calc(var(--h)*1%);transform-origin:bottom;transform:scaleY(0);transition:transform .9s var(--ease);transition-delay:calc(var(--k)*60ms)}.days i.hi{background:#f6f3ff;box-shadow:0 0 24px rgba(201,195,255,.6)}.days span{font-size:.64rem;color:var(--dim);font-family:var(--display)}.on .days i{transform:scaleY(1)}.cal{margin-top:auto;display:grid;grid-template-columns:repeat(7,1fr);gap:9px 6px;justify-items:center}.cal i{width:8px;height:8px;border-radius:50%;background:rgba(246,243,255,.14);transform:scale(0);transition:transform .5s var(--ease);transition-delay:calc(var(--k)*14ms)}.cal i.done{background:rgba(246,243,255,.75)}.cal i.today{background:var(--teal);box-shadow:0 0 10px var(--teal)}.cal i.hi{width:12px;height:12px;background:#fff;box-shadow:0 0 16px rgba(201,195,255,.9)}.cal i.blank{visibility:hidden}.on .cal i{transform:scale(1)}.dots-nav{display:flex;gap:6px;position:absolute;left:24px;bottom:16px}.dots-nav i{width:18px;height:3px;border-radius:2px;background:rgba(255,255,255,.18);overflow:hidden;position:relative}.dots-nav i.on::after{content:"";position:absolute;inset:0;background:#fff;transform-origin:left;animation:fill 4.2s linear both}@keyframes fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}.auth{position:relative;padding:26px;display:flex;flex-direction:column;opacity:0;pointer-events:none;transform:translateY(10px)scale(.98);filter:blur(8px);transition:all .6s var(--ease)}.auth.on{opacity:1;pointer-events:auto;transform:none;filter:none}.hero-side.authing .wcard{opacity:0;filter:blur(10px);transform:scale(.97);pointer-events:none}.wcard{transition:opacity .6s var(--ease),filter .6s var(--ease),transform .6s var(--ease)}.auth h2{font-size:1.45rem;font-weight:500;letter-spacing:-.03em}.auth p{color:var(--grey);font-size:.88rem;margin-top:8px}.field{display:grid;gap:7px;margin-top:20px}.field>*{min-width:0}.field label{font-family:var(--display);font-size:.76rem;font-weight:600;color:var(--text)}.input{width:100%;background:rgba(5,4,22,.55);border:1px solid rgba(230,225,250,.2);border-radius:12px;padding:12px 14px;color:#fff;outline:none;transition:border-color .2s,box-shadow .2s}.input:focus{border-color:var(--lav);box-shadow:0 0 0 4px rgba(183,177,234,.16)}.input.bad{border-color:var(--bad)}.code{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:20px}.code input{text-align:center;font-family:var(--display);font-size:1.5rem;font-weight:500;padding:12px 0;letter-spacing:0}.auth .row{display:flex;gap:10px;align-items:center;margin-top:18px;flex-wrap:wrap}.auth .fine{margin-top:auto;font-size:.74rem;color:var(--dim)}.back{background:0 0;border:0;color:var(--grey);cursor:pointer;font-size:.8rem;padding:0;display:inline-flex;gap:6px;align-items:center}.back:hover{color:#fff}.ok-mark{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:rgba(143,227,181,.12);border:1px solid rgba(143,227,181,.35);margin-bottom:16px}.ok-mark svg{width:26px;height:26px;stroke:var(--good);fill:none;stroke-width:2.2;stroke-dasharray:30;stroke-dashoffset:30;animation:tick .6s var(--ease).15s forwards}@keyframes tick{to{stroke-dashoffset:0}}.hero-foot{position:relative;z-index:2;display:flex;justify-content:space-between;gap:16px;padding:0 var(--gut)26px;font-size:.72rem;color:var(--dim);font-family:var(--display);letter-spacing:.14em;text-transform:uppercase}.page{width:min(1240px,100%);margin:0 auto;padding:10px var(--gut)120px}.hello{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin:18px 0 26px}.hello h1{font-size:clamp(2rem,1.3rem + 2.4vw,3.2rem);font-weight:400;letter-spacing:-.045em}.hello .sub{margin-top:8px;font-size:.92rem}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.card{padding:22px 24px;display:flex;flex-direction:column;min-width:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.span-8{grid-column:span 8}.span-7{grid-column:span 7}.span-6{grid-column:span 6}.span-5{grid-column:span 5}.span-4{grid-column:span 4}.span-12{grid-column:span 12}.up-next{padding:26px 28px;display:grid;grid-template-columns:minmax(0,1fr)auto;gap:18px;align-items:center;background:linear-gradient(120deg,rgba(60,52,140,.5),rgba(16,15,44,.5) 60%);border-color:rgba(201,195,255,.22)}.up-next h2{font-size:1.5rem;font-weight:500;letter-spacing:-.03em;margin-top:8px}.up-next .sub{margin-top:6px}.meter{height:6px;border-radius:4px;background:rgba(255,255,255,8%);overflow:hidden;margin-top:14px}.meter i{display:block;height:100%;width:var(--w);border-radius:4px;background:linear-gradient(90deg,#8F89D8,#C9C3FF);transform-origin:left;animation:grow 1.2s var(--ease)both}@keyframes grow{from{transform:scaleX(0)}}.w-big .big{font-size:3rem;margin-top:14px}.stages{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:18px}.stage{display:grid;gap:8px}.stage .bar2{height:8px;border-radius:5px;background:rgba(255,255,255,8%);overflow:hidden}.stage .bar2 i{display:block;height:100%;width:var(--w);background:linear-gradient(90deg,#8F89D8,#C9C3FF);border-radius:5px;animation:grow 1.4s var(--ease).3s both}.stage b{font-family:var(--display);font-weight:600;font-size:.78rem;color:var(--ink)}.stage span{font-size:.72rem;color:var(--dim);line-height:1.35}.stage.now b{color:var(--lav-3)}.plist{display:grid;gap:2px;margin-top:12px}.prow{display:grid;grid-template-columns:28px minmax(0,1fr)auto;gap:12px;align-items:center;padding:10px 8px;border-radius:12px;text-decoration:none;color:inherit}a.prow:hover{background:rgba(255,255,255,4%)}.pnum{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font-family:var(--display);font-weight:600;font-size:.76rem;background:rgba(255,255,255,6%);color:var(--grey)}.prow.done .pnum{background:rgba(143,227,181,.14);color:var(--good)}.prow.now .pnum{background:rgba(183,177,234,.2);color:#fff}.prow b{display:block;font-family:var(--display);font-weight:500;font-size:.88rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prow span{font-size:.76rem;color:var(--dim)}.session{display:flex;gap:16px;align-items:center;margin-top:16px}.datebox{width:64px;height:68px;border-radius:14px;background:rgba(255,255,255,7%);border:1px solid var(--line-2);display:grid;place-items:center;align-content:center;gap:2px;flex-shrink:0}.datebox b{font-family:var(--display);font-size:1.6rem;font-weight:500;color:#fff;line-height:1}.datebox span{font-family:var(--display);font-size:.62rem;font-weight:700;letter-spacing:.14em;color:var(--lav)}.quote{margin-top:14px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,4%);border:1px solid var(--line-2);color:var(--text);font-size:.9rem}.quote b{color:var(--ink);font-family:var(--display);font-weight:600}.locked{background:linear-gradient(135deg,rgba(16,15,44,.5),rgba(40,20,60,.35));border-style:dashed}.lock{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,6%)}.lock svg{width:18px;height:18px;stroke:var(--grey);fill:none;stroke-width:1.7}.dotgrid{display:grid;grid-template-columns:repeat(13,1fr);gap:7px;margin-top:18px}.dotgrid i{aspect-ratio:1;border-radius:50%;background:rgba(246,243,255,.1);transform:scale(0);animation:pop .4s var(--ease)both;animation-delay:calc(var(--k)*12ms + .3s)}.dotgrid i.on{background:rgba(246,243,255,.82)}.dotgrid i.t{background:var(--teal);box-shadow:0 0 10px var(--teal)}.dotgrid i.f{background:0 0;border:1px solid rgba(246,243,255,.1)}@keyframes pop{to{transform:scale(1)}}.card .days{height:130px}.card .spark{height:110px}.read{display:grid;grid-template-columns:270px minmax(0,1fr)300px;gap:28px;align-items:start}.read.proj{grid-template-columns:minmax(0,1fr)360px}.toc{position:sticky;top:86px;padding:16px 12px;max-height:calc(100vh - 110px);overflow:auto}.toc h4{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--lav);font-weight:700;padding:6px 10px}.toc a,.toc div.it{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;text-decoration:none;color:var(--text);font-size:.83rem;line-height:1.35}.toc a:hover{background:rgba(255,255,255,5%);color:#fff}.toc a[aria-current=page]{background:rgba(183,177,234,.14);color:#fff}.toc .st{width:18px;height:18px;border-radius:50%;flex-shrink:0;border:1.5px solid rgba(246,243,255,.25);display:grid;place-items:center}.toc .st.done{background:var(--good);border-color:var(--good)}.toc .st.done::after{content:"";width:6px;height:3px;border-left:1.8px solid #0b1d15;border-bottom:1.8px solid #0b1d15;transform:rotate(-45deg)translate(1px,-1px)}.toc .st.now{border-color:var(--lav-3);box-shadow:0 0 0 3px rgba(183,177,234,.2)}.toc .it.lockd{color:var(--dim)}.toc hr{border:0;border-top:1px solid var(--line-2);margin:10px 6px}.doc{min-width:0}.crumb{font-family:var(--display);font-size:.78rem;color:var(--grey)}.doc h1{font-size:clamp(2rem,1.4rem + 2vw,3rem);font-weight:400;letter-spacing:-.045em;margin-top:10px}.metas{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.doc .intro{font-size:1.04rem;color:var(--text);margin-top:20px;max-width:62ch}.doc h2{font-size:1.3rem;font-weight:500;letter-spacing:-.025em;margin:40px 0 14px}.goals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;padding:0;margin:0;list-style:none}.goals li{display:flex;gap:10px;font-size:.92rem}.goals li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--lav);margin-top:.62em;flex-shrink:0}.courses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.course{padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid var(--line-2);text-decoration:none;color:inherit;display:grid;gap:4px;transition:border-color .25s,background .25s}.course:hover{border-color:rgba(201,195,255,.35);background:rgba(255,255,255,6%)}.course b{font-family:var(--display);font-weight:600;font-size:.88rem;color:var(--ink);display:block}.course .chip{justify-self:start;margin-bottom:4px}.course span{font-size:.8rem;color:var(--grey)}.course u{text-decoration:none;font-size:.72rem;color:var(--dim);font-family:var(--display)}.course.main{border-color:rgba(201,195,255,.28);background:rgba(183,177,234,7%)}.steps{display:grid;gap:10px}.step{border-radius:16px;background:rgba(255,255,255,3%);border:1px solid var(--line-2);transition:border-color .3s,background .3s}.step.here{border-color:rgba(201,195,255,.45);background:rgba(183,177,234,7%);box-shadow:0 0 0 4px rgba(183,177,234,6%)}.step summary{list-style:none;display:grid;grid-template-columns:auto minmax(0,1fr)auto;gap:14px;align-items:center;padding:14px 16px;cursor:pointer}.step summary::-webkit-details-marker{display:none}.tick{width:24px;height:24px;border-radius:8px;border:1.5px solid rgba(246,243,255,.3);display:grid;place-items:center;cursor:pointer;background:0 0;padding:0;transition:all .25s}.tick svg{width:14px;height:14px;stroke:#0b1d15;fill:none;stroke-width:2.6;stroke-dasharray:20;stroke-dashoffset:20;transition:stroke-dashoffset .35s var(--ease)}.step.done .tick{background:var(--good);border-color:var(--good)}.step.done .tick svg{stroke-dashoffset:0}.step .t b{font-family:var(--display);font-weight:600;font-size:.92rem;color:var(--ink)}.step.done .t b{color:var(--grey)}.step .t span{display:block;font-size:.76rem;color:var(--dim)}.step .body{padding:0 16px 16px 54px;display:grid;gap:8px;font-size:.9rem}.step .body p b{color:var(--lav-3);font-family:var(--display);font-weight:600;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;margin-right:6px}.checkq{display:grid;gap:8px;padding:0;margin:0;list-style:none;counter-reset:q}.checkq li{counter-increment:q;display:flex;gap:12px;font-size:.92rem}.checkq li::before{content:counter(q);font-family:var(--display);font-weight:600;color:var(--lav);width:18px;flex-shrink:0}.aside{position:sticky;top:86px;display:grid;gap:14px}.ring{--p:0;width:92px;height:92px;border-radius:50%;background:conic-gradient(#C9C3FF calc(var(--p)*1%),rgba(255,255,255,8%) 0);display:grid;place-items:center;transition:--p .6s}.ring>div{width:76px;height:76px;border-radius:50%;background:#0f0e2c;display:grid;place-items:center;align-content:center}.ring b{font-family:var(--display);font-size:1.25rem;font-weight:500;color:#fff;line-height:1}.ring span{font-size:.62rem;color:var(--grey)}.logbtns{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.logbtns button{background:rgba(255,255,255,6%);border:1px solid var(--line-2);border-radius:10px;padding:7px 11px;font-family:var(--display);font-weight:600;font-size:.76rem;cursor:pointer;color:var(--ink)}.logbtns button:hover{border-color:rgba(201,195,255,.4)}.rule{font-size:.82rem;color:var(--grey)}.rule b{color:var(--ink);font-family:var(--display);font-weight:600}.next-link{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:36px;padding:18px 22px;border-radius:18px;text-decoration:none;color:inherit}.next-link b{font-family:var(--display);font-weight:600;color:#fff}.track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:22px}.track div{display:grid;gap:8px}.track i{height:4px;border-radius:3px;background:rgba(255,255,255,.1);position:relative;overflow:hidden}.track i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#8F89D8,#C9C3FF);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}.track .done i::after{transform:scaleX(1)}.track .cur i::after{transform:scaleX(.4)}.track b{font-family:var(--display);font-size:.76rem;font-weight:600;color:var(--grey)}.track .done b,.track .cur b{color:#fff}.qs{display:grid;gap:10px;padding:0;margin:0;list-style:none;counter-reset:q}.qs li{counter-increment:q;display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,3%);border:1px solid var(--line-2);font-size:.92rem}.qs li::before{content:counter(q);font-family:var(--display);font-weight:500;font-size:1.3rem;color:var(--lav-3);line-height:1.2}.tips{display:grid;gap:8px;padding:0;margin:0;list-style:none}.tips li{display:flex;gap:10px;font-size:.9rem}.tips li::before{content:"→";color:var(--teal);flex-shrink:0}.handin .input{font-family:var(--display);font-size:.86rem}.cl{display:grid;gap:8px;margin-top:14px}.cl label{display:flex;gap:10px;align-items:flex-start;font-size:.84rem;cursor:pointer}.cl input{appearance:none;width:18px;height:18px;border-radius:6px;border:1.5px solid rgba(246,243,255,.3);flex-shrink:0;margin-top:2px;display:grid;place-items:center;cursor:pointer}.cl input:checked{background:var(--lav-3);border-color:var(--lav-3)}.cl input:checked::after{content:"";width:8px;height:4px;border-left:2px solid #110d33;border-bottom:2px solid #110d33;transform:rotate(-45deg)translate(1px,-1px)}textarea.input{min-height:84px;resize:vertical}.err{font-size:.76rem;color:var(--bad);min-height:1.2em}.submitted{display:none}.handin.sent .form{display:none}.handin.sent .submitted{display:grid;gap:10px}.rubric{width:100%;border-collapse:collapse;margin-top:6px;font-size:.88rem}.rubric th,.rubric td{padding:11px 10px;border-bottom:1px solid var(--line-2);text-align:left}.rubric th{font-family:var(--display);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);font-weight:600}.rubric td b{font-family:var(--display);font-weight:600;color:var(--ink)}.pips{display:flex;gap:4px}.pips i{width:22px;height:8px;border-radius:3px;background:rgba(255,255,255,.1)}.pips i.f{background:linear-gradient(90deg,#8F89D8,#C9C3FF)}.feedback{display:none;margin-top:24px;scroll-margin-top:96px}.feedback.on{display:block;animation:rise .8s var(--ease)both}.scorebig{display:flex;align-items:baseline;gap:10px}.scorebig .big{font-size:3.4rem}.coach-grid{display:grid;grid-template-columns:320px minmax(0,1fr)290px;gap:18px;align-items:start}.queue{padding:14px}.qitem{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:12px;border-radius:14px;cursor:pointer;border:1px solid transparent;background:0 0;text-align:left;width:100%;color:inherit}.qitem:hover{background:rgba(255,255,255,4%)}.qitem[aria-pressed=true]{background:rgba(183,177,234,.1);border-color:rgba(201,195,255,.25)}.qitem b{font-family:var(--display);font-weight:600;font-size:.88rem;color:var(--ink);display:block}.qitem span{font-size:.76rem;color:var(--grey);display:block}.qitem .avatar{display:grid;color:#110d33;font-size:.72rem}.qitem .avatar{width:36px;height:36px;font-size:.72rem}.criteria{display:grid;gap:12px;margin-top:10px}.crit{display:grid;grid-template-columns:minmax(0,1fr)auto;gap:14px;align-items:center;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,3%);border:1px solid var(--line-2)}.crit b{font-family:var(--display);font-weight:600;font-size:.9rem;color:var(--ink)}.crit span{display:block;font-size:.76rem;color:var(--grey)}.seg{display:flex;gap:4px;padding:3px;border-radius:11px;background:rgba(5,4,22,.5);border:1px solid var(--line-2)}.seg button{width:36px;height:32px;border-radius:8px;border:0;background:0 0;cursor:pointer;font-family:var(--display);font-weight:600;color:var(--grey)}.seg button:hover{color:#fff;background:rgba(255,255,255,6%)}.seg button[aria-pressed=true]{background:#f1eefb;color:#110d33}.seg button[aria-pressed=true][data-v="1"]{background:var(--bad)}.verdict{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding:16px 18px;border-radius:16px;background:rgba(255,255,255,4%);border:1px solid var(--line-2);flex-wrap:wrap}.verdict .big{font-size:2.4rem}.stbl{width:100%;border-collapse:collapse;font-size:.86rem}.stbl th,.stbl td{padding:11px 10px;border-bottom:1px solid var(--line-2);text-align:left;white-space:nowrap}.stbl th{font-family:var(--display);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);font-weight:600}.stbl td b{font-family:var(--display);font-weight:600;color:var(--ink)}.minibar{width:110px;height:6px;border-radius:4px;background:rgba(255,255,255,8%);overflow:hidden;display:inline-block;vertical-align:middle;margin-right:8px}.minibar i{display:block;height:100%;width:var(--w);background:linear-gradient(90deg,#8F89D8,#C9C3FF)}.tblwrap{overflow-x:auto}.switch{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line-2)}.switch:last-child{border-bottom:0}.switch b{font-family:var(--display);font-weight:600;font-size:.86rem;color:var(--ink);display:block}.switch span{font-size:.74rem;color:var(--grey)}.tog{width:42px;height:24px;border-radius:12px;background:rgba(255,255,255,.12);border:0;position:relative;cursor:pointer;flex-shrink:0}.tog::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .25s var(--ease)}.tog[aria-checked=true]{background:var(--teal)}.tog[aria-checked=true]::after{transform:translateX(18px)}.tog[disabled]{opacity:.4;cursor:not-allowed}.mail-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 20px}.mail-tabs button{background:rgba(255,255,255,5%);border:1px solid var(--line-2);border-radius:11px;padding:9px 14px;font-family:var(--display);font-weight:600;font-size:.82rem;cursor:pointer;color:var(--text)}.mail-tabs button[aria-pressed=true]{background:#f1eefb;color:#110d33}.mailwrap{display:grid;grid-template-columns:minmax(0,1fr)300px;gap:22px;align-items:start}.client{border-radius:20px;overflow:hidden;border:1px solid var(--line);background:#e9e7f1;color:#1b1838}.client-head{background:#f6f5fa;padding:14px 18px;border-bottom:1px solid #dddbe8;display:grid;gap:3px;font-family:var(--display);font-size:.8rem;color:#55526e}.client-head b{color:#1b1838;font-size:.95rem}.client-body{padding:26px 12px;overflow-x:auto}.email{display:none}.email.on{display:block}.mailnotes{display:grid;gap:12px}.toast{position:fixed;left:50%;bottom:84px;transform:translate(-50%,20px);z-index:60;opacity:0;pointer-events:none;transition:all .45s var(--ease);padding:12px 16px 12px 14px;border-radius:14px;display:flex;gap:10px;align-items:center;font-size:.86rem;color:var(--ink);max-width:calc(100% - 32px)}.toast.on{opacity:1;transform:translate(-50%,0)}.toast i{width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 10px var(--good);flex-shrink:0}@media(max-width:1180px){.read{grid-template-columns:240px minmax(0,1fr)}.read .aside{grid-column:2;position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.read.proj .aside{grid-column:auto;grid-template-columns:1fr;position:sticky}.coach-grid{grid-template-columns:280px minmax(0,1fr)}.coach-grid .cside{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}@media(max-width:980px){.signin .hero{grid-template-columns:1fr;align-content:end;gap:28px;padding-bottom:40px}.hero-side{justify-self:start}.span-8,.span-7,.span-6,.span-5,.span-4{grid-column:span 12}.pill-nav{display:none}.bar .caps .btn-quiet{display:none}.read,.read.proj{grid-template-columns:1fr}.toc{display:none}.read .aside{grid-column:1}.coach-grid{grid-template-columns:1fr}.mailwrap{grid-template-columns:1fr}.bar{justify-content:space-between}}@media(max-width:640px){body{font-size:15px}.wcard{min-height:290px}.stages{grid-template-columns:1fr;gap:12px}.stage{grid-template-columns:110px minmax(0,1fr);align-items:center;gap:4px 12px}.stage .bar2{grid-column:1/-1;order:3}.goals,.courses{grid-template-columns:1fr}.read .aside{grid-template-columns:1fr}.coach-grid .cside{grid-template-columns:1fr}.up-next{grid-template-columns:1fr}.hero-foot{display:none}.track b{font-size:.68rem}.dotgrid{gap:5px}.client-body{padding:14px 0}.hello h1{font-size:2rem}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important;transition-delay:0s!important}}body[data-screen=read] .veil,body[data-screen=plain] .veil{background:linear-gradient(180deg,rgba(5,4,24,.8) 0%,rgba(5,4,24,.94) 32%,rgba(5,4,24,.98) 100%)}body[data-screen=read] .fallback,body[data-screen=plain] .fallback,body[data-screen=coach] .fallback{background:radial-gradient(70% 40% at 70% 0%,rgba(120,105,240,.18),transparent 70%),#05041a}.screen{display:flex}[hidden]{display:none!important}.skip{position:absolute;left:12px;top:-60px;z-index:100;background:#fff;color:#110d33;padding:8px 14px;border-radius:10px;font-family:var(--display);font-weight:600;text-decoration:none}.skip:focus{top:12px}.role-coach .student-only,.role-admin .student-only{display:none!important}.role-student .coach-only{display:none!important}.admin-only{display:none!important}.role-admin .admin-only{display:revert!important}.menu-btn{display:none}.usermenu{position:relative}.usermenu>button{background:0 0;border:0;padding:0;cursor:pointer;border-radius:50%}.pop{position:absolute;right:0;top:calc(100% + 10px);min-width:260px;padding:10px;z-index:40;display:grid;gap:2px}.pop a,.pop button{display:block;width:100%;text-align:left;background:0 0;border:0;padding:10px 12px;border-radius:10px;color:var(--text);text-decoration:none;font-size:.86rem;cursor:pointer}.pop a:hover,.pop button:hover{background:rgba(255,255,255,6%);color:#fff}.pop .who{padding:8px 12px 10px;border-bottom:1px solid var(--line-2);margin-bottom:4px}.pop .who b{display:block;font-family:var(--display);color:#fff;font-weight:600}.pop .who span{font-size:.78rem;color:var(--grey)}.notes{width:min(360px,calc(100vw - 32px))}.note{display:block;padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--text);font-size:.84rem;line-height:1.45}.note.unread{background:rgba(183,177,234,8%)}.note time{display:block;font-size:.72rem;color:var(--dim);margin-top:2px}.banner{margin:0 0 18px;padding:12px 16px;border-radius:14px;background:rgba(255,212,154,.1);border:1px solid rgba(255,212,154,.3);color:var(--warm);font-size:.88rem}.empty{padding:24px;text-align:center;color:var(--grey);font-size:.9rem}.muted{color:var(--grey)}.small{font-size:.8rem}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spacer{flex:1}.loading{opacity:.55;pointer-events:none}.skel{display:inline-block;min-width:3ch;height:1em;border-radius:6px;background:linear-gradient(90deg,rgba(255,255,255,6%),rgba(255,255,255,.12),rgba(255,255,255,6%));background-size:200% 100%;animation:skel 1.2s linear infinite}@keyframes skel{to{background-position:-200% 0}}.prose{max-width:70ch;color:var(--text);font-size:1rem;line-height:1.7}.prose>*+*{margin-top:14px}.prose h2{font-size:1.35rem;font-weight:500;letter-spacing:-.025em;margin:44px 0 12px;scroll-margin-top:96px}.prose h3{font-size:1.06rem;font-weight:600;letter-spacing:-.01em;margin:30px 0 8px;scroll-margin-top:96px}.prose h4{font-size:.95rem;font-weight:600;margin:24px 0 8px}.prose p{margin:0}.prose a{color:var(--lav-3);text-underline-offset:3px}.prose strong{color:var(--ink);font-weight:600}.prose ul,.prose ol{padding-left:1.3em;margin:0;display:grid;gap:6px}.prose li::marker{color:var(--lav)}.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em;background:rgba(255,255,255,7%);padding:.12em .38em;border-radius:6px;color:#ede9ff}.prose pre{background:#0b0a26;border:1px solid var(--line);border-radius:14px;padding:16px 18px;overflow-x:auto;font-size:.84rem;line-height:1.55}.prose pre code{background:0 0;padding:0;font-size:inherit}.prose blockquote.info,.prose p.info{margin:18px 0;padding:14px 18px;border-radius:14px;background:rgba(183,177,234,8%);border:1px solid rgba(201,195,255,.2);color:var(--text)}.prose blockquote.info p{margin:0}.prose blockquote.info p+p{margin-top:6px}.prose blockquote{margin:0;border-left:3px solid var(--lav-2);padding-left:14px}.prose .tbl{overflow-x:auto;margin:16px 0;border-radius:14px;border:1px solid var(--line-2)}.prose table{width:100%;border-collapse:collapse;font-size:.88rem;min-width:520px}.prose th{font-family:var(--display);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);font-weight:600;text-align:left;padding:11px 12px;background:rgba(255,255,255,3%);border-bottom:1px solid var(--line-2);vertical-align:bottom}.prose td{padding:11px 12px;border-bottom:1px solid var(--line-2);vertical-align:top}.prose tr:last-child td{border-bottom:0}.prose td b{color:var(--ink);font-family:var(--display);font-weight:600}.prose table.blank td{height:52px}.prose ul.courses{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.prose ul.courses li{padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid var(--line-2);font-size:.86rem;color:var(--grey);line-height:1.5;transition:border-color .25s,background .25s}.prose ul.courses li:hover{border-color:rgba(201,195,255,.35);background:rgba(255,255,255,6%)}.prose ul.courses li strong{display:block;font-size:.92rem;margin-bottom:2px}.prose ul.courses li a{text-decoration:none;color:var(--ink)}.prose ul.courses li a:hover{color:#fff;text-decoration:underline}.prose ul.courses li br{display:none}.prose h4.qh{margin:22px 0 0;padding:14px 18px 6px;border-radius:16px 16px 0 0;background:rgba(183,177,234,8%);border:1px solid rgba(201,195,255,.2);border-bottom:0;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--lav-3)}.prose ol.qs,.prose h4.qh+p,.prose h4.qh+ul{margin:0;padding:6px 18px 16px 2.4em;border-radius:0 0 16px 16px;background:rgba(183,177,234,8%);border:1px solid rgba(201,195,255,.2);border-top:0}.prose h4.qh+p{padding-left:18px}.prose h3.task{font-size:1.2rem;font-weight:500;color:#fff;margin-top:10px}.prose h3.stretch{color:var(--teal)}.prose .paper{background:#f7f6fb;color:#1b1838;border-radius:12px;padding:26px 28px;font-size:.84rem;line-height:1.55;box-shadow:0 20px 50px -30px rgba(0,0,0,.8)}.prose .paper p{margin:0 0 6px}.prose .paper b{color:#14104b}.prose .paper .cvname{font-family:var(--display);font-size:1.4rem;font-weight:600;color:#14104b}.prose .paper .cvcontact{font-size:.78rem;color:#55526e;margin-bottom:12px}.prose .paper .cvh{margin-top:14px;border-bottom:1px solid #d9d6e8;padding-bottom:3px;letter-spacing:.08em;font-size:.76rem}.prose .paper ul{padding-left:1.2em}.prose .paper li::marker{color:#6f699d}.prose h3.step{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;margin:18px 0 0;border-radius:16px 16px 0 0;background:rgba(255,255,255,3%);border:1px solid var(--line-2);border-bottom:0}.prose h3.step+ol,.prose h3.step+ul,.prose h3.step+p{margin:0;padding:0 18px 16px 58px;border-radius:0 0 16px 16px;background:rgba(255,255,255,3%);border:1px solid var(--line-2);border-top:0}.prose h3.step.done{color:var(--grey)}.prose h3.step.done .hrs{color:var(--dim)}.prose h3.step.here{border-color:rgba(201,195,255,.45);background:rgba(183,177,234,8%)}.prose h3.step.here+ol,.prose h3.step.here+ul,.prose h3.step.here+p{border-color:rgba(201,195,255,.45);background:rgba(183,177,234,8%)}.prose h3.step .st-t{flex:1;padding-top:1px}.prose h3.step .hrs{display:block;font-family:var(--body);font-weight:300;font-size:.78rem;color:var(--dim);margin-top:2px}.tick{flex-shrink:0}.tick[aria-pressed=true]{background:var(--good);border-color:var(--good)}.tick[aria-pressed=true] svg{stroke-dashoffset:0}.tick:disabled{opacity:.4;cursor:default}.prose ul.contains-task-list,.prose ul:has(>li>input[type=checkbox]){list-style:none;padding-left:0}.prose li.task{display:flex;gap:10px;align-items:flex-start}.prose li input[type=checkbox]{appearance:none;width:18px;height:18px;border-radius:6px;border:1.5px solid rgba(246,243,255,.3);flex-shrink:0;margin:4px 0 0;display:inline-grid;place-items:center;cursor:pointer;background:0 0}.prose li input[type=checkbox]:checked{background:var(--lav-3);border-color:var(--lav-3)}.prose li input[type=checkbox]:checked::after{content:"";width:8px;height:4px;border-left:2px solid #110d33;border-bottom:2px solid #110d33;transform:rotate(-45deg)translate(1px,-1px)}.prose li input[type=checkbox]:disabled{cursor:default}.read-done{margin-top:34px;padding:18px 20px;border-radius:18px;display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap}.doc-head{margin-bottom:10px}.doc-head .intro{margin-top:14px;max-width:62ch;color:var(--text)}.toc details{border-radius:12px}.toc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:10px;font-family:var(--display);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--lav)}.toc summary::-webkit-details-marker{display:none}.toc summary::after{content:"";width:7px;height:7px;border-right:1.5px solid var(--grey);border-bottom:1.5px solid var(--grey);transform:rotate(45deg);transition:transform .25s}.toc details[open] summary::after{transform:rotate(-135deg)}.toc .st.part{border-color:var(--lav);background:conic-gradient(var(--lav) calc(var(--p,0)*1%),transparent 0)}.toc a small{margin-left:auto;font-size:.68rem;color:var(--dim);font-family:var(--display)}.toc .lockd{opacity:.55}.toc .trk{display:flex;gap:6px;padding:4px;margin-bottom:8px;border-radius:12px;background:rgba(5,4,22,.5);border:1px solid var(--line-2)}.toc .trk a{flex:1;justify-content:center;font-family:var(--display);font-weight:600;font-size:.74rem;padding:7px 8px}.handin .status{display:grid;gap:8px;margin-top:6px}.sub-item{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid var(--line-2);display:grid;gap:4px;font-size:.84rem}.sub-item a{word-break:break-all;color:var(--lav-3);font-size:.8rem}.fb-card{margin-top:20px;padding:22px 24px}.fb-card+.fb-card{margin-top:14px}.pips i.na{background:repeating-linear-gradient(45deg,rgba(255,255,255,8%),rgba(255,255,255,8%) 3px,transparent 3px,transparent 6px)}.track5{grid-template-columns:repeat(5,minmax(0,1fr))}.stage-card{padding:22px 24px;display:grid;gap:14px}.stage-top{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}.stage-n{font-family:var(--display);font-weight:500;font-size:2.4rem;line-height:1;color:rgba(246,243,255,.25)}.stage-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.stage-meta div{font-size:.84rem;color:var(--text)}.stage-meta b{display:block;font-family:var(--display);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-weight:600;margin-bottom:4px}.docs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.docs a{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,3%);border:1px solid var(--line-2);text-decoration:none;color:var(--text);font-size:.86rem;transition:border-color .25s,background .25s}.docs a:hover{border-color:rgba(201,195,255,.35);background:rgba(255,255,255,6%);color:#fff}.docs a b{display:block;font-family:var(--display);font-weight:600;color:var(--ink);font-size:.88rem}.docs a span{font-size:.76rem;color:var(--dim)}.docs .kind{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex-shrink:0;background:rgba(255,255,255,6%);font-family:var(--display);font-weight:700;font-size:.68rem;color:var(--lav-3)}.lib{display:grid;gap:16px}.lib-group h2{font-size:1.1rem;margin-bottom:10px}.lib-row{display:grid;grid-template-columns:minmax(0,1fr)auto auto;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line-2)}.lib-row:last-child{border-bottom:0}.lib-row a.t{color:var(--ink);text-decoration:none;font-family:var(--display);font-weight:500}.lib-row a.t:hover{color:#fff;text-decoration:underline}.log-form{display:grid;grid-template-columns:140px 150px minmax(0,1fr)auto;gap:10px;align-items:end}.log-row{display:grid;grid-template-columns:120px 80px minmax(0,1fr)auto;gap:12px;align-items:center;padding:12px 4px;border-bottom:1px solid var(--line-2);font-size:.88rem}.log-row button{background:0 0;border:0;color:var(--dim);cursor:pointer;font-size:.78rem}.log-row button:hover{color:var(--bad)}select.input{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--grey) 50%),linear-gradient(135deg,var(--grey) 50%,transparent 50%);background-position:calc(100% - 18px)55%,calc(100% - 13px)55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}select.input option{background:#110e33}.people-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.people-form .field{margin-top:0}.stbl tr.click{cursor:pointer}.stbl tr.click:hover td{background:rgba(255,255,255,3%)}.stbl td .sub{display:block}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 16px}.tabs button{background:rgba(255,255,255,5%);border:1px solid var(--line-2);border-radius:11px;padding:8px 13px;font-family:var(--display);font-weight:600;font-size:.8rem;cursor:pointer;color:var(--text)}.tabs button[aria-pressed=true]{background:#f1eefb;color:#110d33}.seg button.na[aria-pressed=true]{background:rgba(255,255,255,.2);color:#fff}.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:.86rem}.kv dt{color:var(--dim)}.kv dd{margin:0;color:var(--ink)}.timeline{display:grid;gap:10px}.tl-item{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,3%);border:1px solid var(--line-2);font-size:.86rem}.tl-item b{font-family:var(--display);font-weight:600;color:var(--ink)}@media(max-width:980px){.menu-btn{display:grid}.pill-nav.open{display:flex;position:absolute;top:calc(100% + 6px);left:var(--gut);right:var(--gut);flex-direction:column;margin:0;padding:8px;z-index:30;background:rgba(10,9,32,.96)}.pill-nav.open a,.pill-nav.open button{text-align:left;padding:12px 14px}.prose ul.courses{grid-template-columns:1fr}.docs{grid-template-columns:1fr}.stage-meta{grid-template-columns:1fr}.people-form{grid-template-columns:1fr}.log-form{grid-template-columns:1fr 1fr}.log-form .note-f{grid-column:1/-1}.log-row{grid-template-columns:92px 60px minmax(0,1fr)auto}}@media print{#scene,.veil,.fallback,.bar,.toc,.aside,.toast{display:none!important}body{background:#fff;color:#111}.prose,.prose strong,.prose h2,.prose h3{color:#111}}#scene{opacity:0;transition:opacity 1.2s var(--ease)}#scene.on{opacity:1}.neon{--n1:#EEF1FF;--n2:#7F8CFF;--n3:rgba(86,70,255,.55);display:inline-grid;place-items:center;flex-shrink:0;width:64px;height:64px;position:relative}.neon svg{width:100%;height:100%;overflow:visible;fill:none;stroke:var(--n1);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 1.5px var(--n2))drop-shadow(0 0 5px var(--n2))drop-shadow(0 0 14px var(--n3))}.neon svg circle[r="1.4"]{fill:var(--n1)}.neon::after{content:"";position:absolute;left:12%;right:12%;bottom:-14px;height:14px;border-radius:50%;background:radial-gradient(closest-side,rgba(110,120,255,.35),transparent);filter:blur(3px)}@supports(-webkit-box-reflect:below 0){.neon{-webkit-box-reflect:below 6px linear-gradient(transparent 58%,rgba(0,0,0,.28))}.neon::after{display:none}}.doc-title{display:flex;align-items:center;gap:22px;margin-top:14px}.doc-title .eyebrow{margin-bottom:2px}.doc-title h1{margin-top:4px}.head-neon{display:flex;align-items:center;gap:22px}.head-neon .neon{width:58px;height:58px}.docs .kind{background:rgba(120,120,255,7%);width:40px;height:40px}.docs .kind .neon{width:24px;height:24px}.docs .kind .neon svg{stroke-width:2.6;filter:drop-shadow(0 0 2px var(--n2))drop-shadow(0 0 6px var(--n3))}.docs .kind .neon::after{display:none}.docs .kind .neon{-webkit-box-reflect:none}.neon-fallback{display:grid;place-items:end center;padding-bottom:12vh}.neon-fallback .neon{width:min(300px,50vw);height:min(300px,50vw);-webkit-box-reflect:below 8px linear-gradient(transparent 50%,rgba(0,0,0,.3))}.neon-fallback .neon svg{stroke-width:1.2}.gl .neon-fallback{display:none}.empty-state{display:grid;justify-items:center;text-align:center;gap:10px;padding:48px 20px}.empty-state .neon{width:56px;height:56px;margin-bottom:16px}.lost{display:grid;justify-items:center;text-align:center;gap:12px;padding:10vh 0}.lost .neon{width:96px;height:96px;margin-bottom:26px}.lost h1{font-size:clamp(2rem,1.4rem + 2vw,3rem);font-weight:400;letter-spacing:-.04em}.signin .hero{align-items:start;padding-top:clamp(20px,7vh,90px);padding-bottom:30vh}.signin .hero h1{text-shadow:0 2px 30px rgba(3,2,13,.6)}body[data-screen=signin] .veil{background:linear-gradient(180deg,rgba(3,2,13,.35) 0%,rgba(3,2,13,0) 40%),linear-gradient(90deg,rgba(3,2,13,.55) 0%,rgba(3,2,13,0) 55%)}.auth{min-height:0}.auth [data-step]{display:flex;flex-direction:column}.auth .fine{margin-top:18px}.code-input{font-family:var(--display);font-size:1.7rem;font-weight:500;letter-spacing:.32em;text-align:center;padding:12px 10px 12px calc(10px + .32em)}.signed-in .auth{border-color:rgba(143,227,181,.35)}.hero-foot a{color:var(--grey)}.bar .spacer{flex:1}@media(max-width:980px){.signin .hero{padding-top:12px;padding-bottom:34vh;align-content:start}.hero-side{justify-self:stretch;width:100%}}@media(max-width:640px){.signin .hero h1{font-size:2.3rem}.signin .hero .lead{font-size:.98rem;margin-top:14px}.signin .hero{padding-bottom:30vh;gap:22px}.tagline{margin-bottom:16px}}body[data-screen=dashboard] .veil{background:linear-gradient(180deg,rgba(3,2,13,.35) 0%,rgba(3,2,13,.78) 42%,rgba(3,2,13,.9) 100%)}.stack{display:grid;gap:16px;align-content:start}.dash .up-next{text-decoration:none;color:inherit;transition:border-color .3s,transform .3s var(--ease)}.dash .up-next:hover{border-color:rgba(201,195,255,.45);transform:translateY(-2px)}.dash .up-next .btn{width:52px;height:52px;padding:0;border-radius:16px}a.stage{text-decoration:none;color:inherit}a.stage:hover b{color:#fff}.prow.arow .pnum svg,.prow .pnum svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2}.mt{margin-top:14px}.mt6{margin-top:8px}.pad{padding:6px 12px}.score{font-size:1.6rem;color:#fff;letter-spacing:-.02em}.days .v,.weeks .v{font-size:.66rem;color:var(--grey);font-family:var(--display);min-height:1em}.days i.zero,.weeks i.zero{background:rgba(246,243,255,8%)}.days.on i,.weeks.on i{transform:scaleY(1)}.weeks{margin-top:18px;display:grid;grid-template-columns:repeat(12,1fr);gap:8px;align-items:end;height:160px;position:relative}.weeks div{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;height:100%;min-width:0}.weeks i{display:block;width:100%;max-width:30px;border-radius:6px 6px 3px 3px;background:rgba(246,243,255,.26);height:calc(var(--h)*1%);transform-origin:bottom;transform:scaleY(0);transition:transform .9s var(--ease);transition-delay:calc(var(--k)*40ms)}.weeks i.hi{background:#f6f3ff;box-shadow:0 0 22px rgba(201,195,255,.55)}.weeks span:last-child{font-size:.6rem;color:var(--dim);font-family:var(--display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.weeks.goal::before{content:"";position:absolute;left:0;right:0;bottom:calc(var(--goal) * .78 + 22px);border-top:1px dashed rgba(127,217,230,.45)}.card .days{height:150px}.ring-row{display:flex;gap:16px;align-items:center;margin-top:14px}.ring-row .sub{font-size:.8rem}.ring{flex-shrink:0}.feedback-area:empty{display:none}.feedback-area{margin:18px 0 8px;scroll-margin-top:96px}.fb-card{scroll-margin-top:96px}.fb-card .rubric td:last-child{width:48px;text-align:right;color:var(--grey)}.fb-card .rubric .sub{display:block}.fb-text{margin-top:14px;display:grid;gap:10px;color:var(--text);font-size:.94rem;max-width:68ch}.handin{scroll-margin-top:96px}.handin.compact .form,.handin.compact [data-a-help],.handin.compact>.sub,.handin.compact [data-a-status]{display:none}.handin.compact{padding-block:14px}.sub-item.okay{text-decoration:none;border-color:rgba(143,227,181,.3)}.sub-item.okay b{font-family:var(--display);color:var(--good)}.handin form{display:grid}.handin .btn{justify-self:start;margin-top:4px}.small{font-size:.8rem}.block{display:block}.late{color:var(--warm)}.toc .xref{opacity:.8}.toc .tt{min-width:0}.toc .st-map{border-style:dashed}.docs a .st{margin-left:auto;width:18px;height:18px;border-radius:50%;flex-shrink:0;border:1.5px solid rgba(246,243,255,.25)}.st.done{background:var(--good);border-color:var(--good)!important;position:relative}.st.done::after{content:"";position:absolute;left:50%;top:50%;width:6px;height:3px;border-left:1.8px solid #0b1d15;border-bottom:1.8px solid #0b1d15;transform:translate(-50%,-70%)rotate(-45deg)}.st.part{border-color:var(--lav)!important;background:conic-gradient(var(--lav) calc(var(--p,0)*1%),transparent 0)}.lib-row .st{width:18px;height:18px;border-radius:50%;border:1.5px solid rgba(246,243,255,.25);display:block}.lib-row{grid-template-columns:18px minmax(0,1fr)auto}.lib-row .sub{display:block}.lib-search{margin:0;min-width:min(320px,100%)}.lib-track.empty-track{display:none}.stage-card.now{border-color:rgba(201,195,255,.35);box-shadow:0 0 0 4px rgba(183,177,234,6%),0 30px 80px -40px rgba(0,0,0,.8)}.stage-card.later{opacity:.82}.stage-card h2{font-size:1.25rem}.stage-card .meter{margin-top:0}.stage-list{display:grid;gap:14px;margin:26px 0 10px}.a-list{display:grid;gap:4px}.a-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:12px;background:rgba(255,255,255,.025);text-decoration:none;color:var(--text);font-size:.86rem}a.a-row:hover{background:rgba(255,255,255,5%);color:#fff}.a-row b{font-family:var(--display);font-weight:600;color:var(--ink)}.a-row>span:first-child{min-width:0}.up-link{display:grid;gap:4px;margin-top:8px;text-decoration:none;color:var(--ink);font-family:var(--display)}.up-link:hover b{text-decoration:underline}html[data-upgrade="0"].role-student .upgrade-only{display:none!important}.narrow{width:min(860px,100%)}.center{text-align:center}.eyebrow a{color:inherit;text-decoration:none}.eyebrow a:hover{color:#fff}.toast.bad i{background:var(--bad);box-shadow:0 0 10px var(--bad)}.avatar.sm{width:28px;height:28px;font-size:.64rem}.coach-grid .card{min-height:320px}.rv-name{font-size:1.4rem;margin-top:4px}.rv-name a{color:#fff;text-decoration:none}.rv-name a:hover{text-decoration:underline}.review-form{display:grid;gap:4px;margin-top:10px}.review-form .field{margin-top:14px}.seg.wide{display:inline-flex;width:max-content;max-width:100%}.seg.wide button{width:auto;padding:0 14px}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.two .field{margin-top:14px}.s-form{display:grid;gap:2px}.s-form .field{margin-top:12px}.s-form .btn{justify-self:start;margin-top:12px}.check{display:flex;gap:10px;align-items:center;font-size:.86rem;margin-top:14px;cursor:pointer}.check input,.cl input{accent-color:var(--lav-3)}.slim{padding:8px 12px;font-size:.84rem;width:auto}select.input.slim{padding-right:30px}.a-group{margin-top:18px;display:grid;gap:6px}.a-group .a-row .chip{margin-left:auto}.dlg{max-width:min(720px,calc(100vw - 32px));width:100%;padding:22px 24px;color:var(--text);border:1px solid var(--line);max-height:calc(100vh - 40px);overflow:auto}.dlg::backdrop{background:rgba(3,2,13,.7);backdrop-filter:blur(4px)}.people-form .check{margin-top:26px}.people-form .row{grid-column:1/-1}.people-form .err{margin:0}.stbl td .sub{white-space:normal}.stbl a{color:inherit;text-decoration:none}.stbl a:hover b{text-decoration:underline}@media(max-width:980px){.two{grid-template-columns:1fr}.coach-grid .card{min-height:0}}.fallback,.veil,#scene{pointer-events:none}.page{position:relative;z-index:2}body:not([data-screen=signin]) .bar{background:rgba(5,4,22,.74);backdrop-filter:blur(16px)saturate(1.2);-webkit-backdrop-filter:blur(16px)saturate(1.2);border-bottom:1px solid var(--line-2)}.doc h1,.doc-title h1{line-height:1.06}.prose>*+*,.prose>p+p{margin-top:14px}.handin .card-head{flex-direction:column;align-items:flex-start;gap:8px}a.chip{text-decoration:none}a.chip:hover{filter:brightness(1.15)}.doc-head .intro{font-size:1.02rem}@media(max-width:640px){.signin .bar .btn-quiet{display:none}.signin .hero{padding-top:calc(35vh - 70px);padding-bottom:40px}.doc-title{gap:14px}.doc-title .neon{width:46px;height:46px}}.metas .chip{white-space:normal}.more{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-family:var(--display);font-weight:600;font-size:.8rem;color:var(--lav-3);text-decoration:none}.more svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2}.more:hover{color:#fff}@media(max-width:640px){.dash .up-next>.btn{display:none}}select{font:inherit;color:inherit}.people-form{margin-top:12px}.fb-card .card-head{align-items:flex-start}.fb-card .scorebig{margin:10px 0 4px}@media(min-width:981px){.log-form{grid-template-columns:170px 170px minmax(0,1fr)auto}}