.stamp{--f-sans:var(--font-schibsted),"Schibsted Grotesk",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--f-display:var(--font-newsreader),"Newsreader","Source Serif Pro","Iowan Old Style",Georgia,serif;--f-mono:var(--font-geist-mono),"Geist Mono","SF Mono",ui-monospace,Menlo,monospace;--bg:oklch(0.97 0.012 295);--bg-2:oklch(0.94 0.018 295);--surface:oklch(0.995 0.004 295);--ink:oklch(0.20 0.04 295);--ink-2:oklch(0.42 0.04 295);--ink-3:oklch(0.58 0.03 295);--hair:oklch(0.88 0.014 295);--brand:oklch(0.52 0.24 295);--brand-2:oklch(0.94 0.07 295);--brand-shadow:oklch(0.36 0.22 295);--lav-1:oklch(0.95 0.06 295);--lav-2:oklch(0.86 0.10 295);--ok:oklch(0.60 0.16 150);--warn:oklch(0.70 0.16 70);--danger:oklch(0.58 0.20 22);--on-brand:oklch(0.99 0.01 295);--c-emerald:oklch(0.55 0.13 158);--c-emerald-2:oklch(0.93 0.05 158);--c-teal:oklch(0.62 0.10 195);--c-teal-2:oklch(0.93 0.045 195);--c-violet:oklch(0.55 0.16 290);--c-violet-2:oklch(0.93 0.055 290);--c-indigo:oklch(0.50 0.16 265);--c-indigo-2:oklch(0.92 0.05 265);--c-lime:oklch(0.62 0.13 130);--c-lime-2:oklch(0.93 0.05 130);--c-clay:oklch(0.58 0.13 40);--c-clay-2:oklch(0.93 0.05 40);--c-cobalt:oklch(0.50 0.17 245);--c-cobalt-2:oklch(0.92 0.05 245);--c-rose:oklch(0.62 0.15 12);--c-rose-2:oklch(0.93 0.05 12);--c-amber:oklch(0.65 0.13 70);--c-amber-2:oklch(0.93 0.055 70);--c-sky:oklch(0.62 0.12 220);--c-sky-2:oklch(0.93 0.05 220);--c-plum:oklch(0.50 0.14 320);--c-plum-2:oklch(0.92 0.05 320);--c-grape:oklch(0.52 0.16 310);--c-grape-2:oklch(0.92 0.05 310);--c-rust:oklch(0.55 0.14 28);--c-rust-2:oklch(0.93 0.05 28);--c-mauve:oklch(0.55 0.10 350);--c-mauve-2:oklch(0.93 0.045 350);--c-azure:oklch(0.55 0.16 250);--c-azure-2:oklch(0.93 0.05 250);--c-coral:oklch(0.65 0.15 22);--c-coral-2:oklch(0.93 0.05 22);--gutter:48px;--max-w:1200px;background:var(--bg);color:var(--ink);font-family:var(--f-sans);font-size:16px;-webkit-font-smoothing:antialiased;position:relative;isolation:isolate;min-height:100vh}.stamp *,.stamp :after,.stamp :before{box-sizing:border-box}.stamp a{color:inherit;text-decoration:none;cursor:pointer}.stamp :where(button){font-family:inherit;color:inherit;background:transparent;border:0;cursor:pointer;padding:0}.stamp input,.stamp select,.stamp textarea{font-family:inherit;color:inherit}html[data-mode=dark] .stamp{--bg:oklch(0.17 0.035 295);--bg-2:oklch(0.22 0.04 295);--surface:oklch(0.24 0.035 295);--ink:oklch(0.96 0.012 295);--ink-2:oklch(0.80 0.018 295);--ink-3:oklch(0.66 0.020 295);--hair:oklch(0.34 0.03 295);--brand:oklch(0.70 0.22 295);--brand-2:oklch(0.30 0.10 295);--brand-shadow:oklch(0.44 0.22 295);--lav-1:oklch(0.28 0.08 295);--lav-2:oklch(0.38 0.13 295);--on-brand:oklch(0.99 0.01 295);--ok:oklch(0.72 0.16 150);--warn:oklch(0.78 0.16 70);--danger:oklch(0.72 0.18 22)}.stamp .dotgrid{position:relative}.stamp .dotgrid:before{content:"";position:absolute;inset:0;background-image:radial-gradient(oklch(.45 .2 295/.14) 1px,transparent 1.4px);background-size:14px 14px;pointer-events:none}.stamp .lbl{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}.stamp .lbl:before{content:"";width:18px;height:1.5px;background:currentColor;opacity:.8}.stamp .lbl.nolead:before{display:none}.stamp .lbl.brand{color:var(--brand)}.stamp .brand{display:flex;align-items:center;gap:12px;font-family:var(--f-sans);font-weight:800;font-size:18px;letter-spacing:-.02em;cursor:pointer}.stamp .brand-mk{width:34px;height:34px;background:var(--ink);color:var(--bg);display:grid;place-items:center;border-radius:9px;font-weight:800;font-size:19px;transform:rotate(-4deg);flex-shrink:0}.stamp .btn{height:44px;padding:0 20px;border-radius:999px;font-family:var(--f-sans);font-size:14.5px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s,box-shadow .15s,filter .15s;white-space:nowrap}.stamp .btn:hover{transform:translateY(-1px)}.stamp .btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.stamp .btn.sm{height:36px;padding:0 14px;font-size:13px}.stamp .btn.lg{height:52px;padding:0 26px;font-size:16px}.stamp .btn.block{width:100%}.stamp .btn.outline{background:transparent;border:1.5px solid var(--ink);color:var(--ink)}.stamp .btn.outline:hover{box-shadow:3px 3px 0 var(--ink)}.stamp .btn.solid{background:var(--ink);color:var(--bg)}.stamp .btn.solid:hover{box-shadow:3px 4px 0 var(--brand)}.stamp .btn.brand{background:var(--brand);color:var(--on-brand);box-shadow:0 5px 0 -1px var(--brand-shadow)}.stamp .btn.brand:hover{transform:translateY(-2px);box-shadow:0 8px 0 -1px var(--brand-shadow)}.stamp .btn.brand:active{transform:translateY(1px);box-shadow:0 3px 0 -1px var(--brand-shadow)}.stamp .btn.ghost{color:var(--ink-2)}.stamp .btn.ghost:hover{color:var(--ink)}.stamp .btn .arr{transition:transform .18s}.stamp .btn:hover .arr{transform:translateX(3px)}.stamp .chip{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;background:var(--bg);border:1.5px solid var(--ink);border-radius:999px;font-family:var(--f-sans);font-size:14px;font-weight:600;color:var(--ink);transition:transform .15s,box-shadow .15s,background .15s,color .15s}.stamp .chip:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink)}.stamp .chip.on{background:var(--ink);color:var(--bg)}.stamp .chip-n{font-family:var(--f-mono);font-size:11px;font-weight:500;padding:1px 7px;border-radius:999px;background:var(--bg-2);color:var(--ink-3)}.stamp .chip.on .chip-n{background:oklch(1 0 0/.16);color:var(--bg)}.stamp .card{background:var(--surface);border:1.5px solid var(--ink);border-radius:18px;position:relative}.stamp .card.hoverable{transition:transform .18s cubic-bezier(.3,1.4,.5,1),box-shadow .18s;cursor:pointer}.stamp .card.hoverable:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--ink)}.stamp .card.shadow{box-shadow:5px 6px 0 var(--ink)}.stamp .card.shadow-brand{box-shadow:6px 8px 0 var(--brand)}.stamp .corner-badge{position:absolute;top:-12px;left:18px;z-index:3;background:var(--ink);color:var(--bg);font-family:var(--f-mono);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:5px 10px 4px;border-radius:5px;box-shadow:3px 3px 0 var(--brand);white-space:nowrap}.stamp .corner-badge.right{left:auto;right:18px}.stamp .num-badge{font-family:var(--f-mono);font-weight:700;font-size:12px;letter-spacing:.08em;background:var(--ink);color:var(--bg);padding:5px 9px 4px;border-radius:5px;box-shadow:2px 2px 0 var(--brand);display:inline-block}.stamp .swatch{background:radial-gradient(120% 100% at 30% 20%,var(--lav-1) 0,var(--lav-2) 100%);border-bottom:1.5px solid var(--ink);display:grid;place-items:center;position:relative;overflow:hidden}.stamp .swatch.tint{background:var(--tint,var(--lav-2))}.stamp .swatch:before{content:"";position:absolute;inset:0;background-image:radial-gradient(oklch(.45 .2 295/.13) 1px,transparent 1.4px);background-size:14px 14px;pointer-events:none}.stamp .swatch .icon3d{width:64px;height:64px;position:relative;z-index:1;filter:drop-shadow(0 10px 22px oklch(.4 .22 295/.35))}.stamp .swatch .glyph{width:56px;height:56px;position:relative;z-index:1;color:var(--ink)}.stamp .swatch .code{position:absolute;right:12px;bottom:10px;z-index:2;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;color:var(--ink);background:var(--bg);padding:3px 8px;border-radius:999px;border:1.5px solid var(--ink)}.stamp h1,.stamp h2,.stamp h3{margin:0}.stamp .h-xl{font-size:clamp(40px,5vw,68px);line-height:.98;letter-spacing:-.035em}.stamp .h-lg,.stamp .h-xl{font-family:var(--f-sans);font-weight:800;text-wrap:balance}.stamp .h-lg{font-size:clamp(30px,3.4vw,46px);line-height:1.02;letter-spacing:-.03em}.stamp .h-md{font-size:22px;line-height:1.1;letter-spacing:-.02em}.stamp .h-md,.stamp .h-sm{font-family:var(--f-sans);font-weight:700}.stamp .h-sm{font-size:17px;line-height:1.15;letter-spacing:-.01em}.stamp .swatch-word{background:var(--brand);color:var(--on-brand);padding:0 .18em;border-radius:12px;transform:rotate(-1.5deg);display:inline-block}.stamp .serif{font-family:var(--f-display);font-style:italic;font-weight:400}.stamp .sub{font-family:var(--f-sans);font-size:17px;line-height:1.5;color:var(--ink-2);text-wrap:pretty}.stamp .bar{height:10px;border-radius:999px;background:var(--bg-2);border:1.5px solid var(--ink);overflow:hidden}.stamp .bar>span{display:block;height:100%;background:var(--brand);border-right:1.5px solid var(--ink)}.stamp .bar.sm{height:7px}.stamp .bar.sm>span{border-right:0}.stamp .band-dark{background:var(--ink);color:var(--bg);position:relative;overflow:hidden}.stamp .band-dark .lbl{color:oklch(.8 .04 295)}.stamp .band-dark .lbl.brand{color:oklch(.78 .18 295)}.stamp .reveal{opacity:0;transform:translateY(14px);transition:opacity .6s cubic-bezier(.2,.7,.3,1),transform .6s cubic-bezier(.2,.7,.3,1)}.stamp .reveal.in{opacity:1;transform:none}.stamp .stamp-appnav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:24px;gap:24px;padding:16px var(--gutter);border-bottom:1.5px solid var(--ink);background:var(--bg);position:-webkit-sticky;position:sticky;top:0;z-index:40}.stamp .stamp-navpill{justify-self:center;display:flex;gap:4px;padding:4px;background:var(--bg-2);border:1.5px solid var(--ink);border-radius:999px}.stamp .stamp-navpill a{padding:8px 20px;border-radius:999px;font-family:var(--f-sans);font-size:14px;font-weight:600;color:var(--ink-2);transition:background .15s,color .15s}.stamp .stamp-navpill a:hover{color:var(--ink)}.stamp .stamp-navpill a.on{background:var(--ink);color:var(--bg)}.stamp .stamp-nav-r{display:flex;align-items:center;gap:14px;justify-self:end}.stamp .streak-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;background:var(--brand-2);border:1.5px solid var(--ink);border-radius:999px;font-family:var(--f-mono);font-size:12px;font-weight:500;letter-spacing:.02em;color:var(--ink);white-space:nowrap}.stamp .streak-flame{color:var(--brand);font-size:10px}.stamp .nav-icon{width:38px;height:38px;display:grid;place-items:center;border:1.5px solid var(--ink);border-radius:10px;color:var(--ink);transition:box-shadow .15s,transform .15s}.stamp .nav-icon:hover{transform:translate(-1px,-1px);box-shadow:2px 2px 0 var(--ink)}.stamp .stamp-nav-account{position:relative;display:flex;align-items:center}.stamp .nav-avatar{display:grid;place-items:center;border-radius:12px;transition:transform .15s,filter .15s}.stamp .nav-avatar:hover,.stamp .nav-avatar[aria-expanded=true]{transform:translate(-1px,-1px);filter:drop-shadow(2px 2px 0 var(--ink))}.stamp .nav-avatar:focus-visible,.stamp .nav-icon:focus-visible{outline:3px solid var(--brand-2);outline-offset:3px}.stamp .account-menu{position:absolute;top:calc(100% + 12px);right:0;z-index:80;width:min(260px,calc(100vw - 32px));padding:10px;background:var(--surface);border:1.5px solid var(--ink);border-radius:14px;box-shadow:6px 6px 0 var(--ink)}.stamp .account-menu:before{content:"";position:absolute;top:-7px;right:17px;width:12px;height:12px;background:var(--surface);border-left:1.5px solid var(--ink);border-top:1.5px solid var(--ink);transform:rotate(45deg)}.stamp .account-menu-id{display:flex;align-items:center;gap:11px;padding:8px 8px 11px;margin-bottom:5px;border-bottom:1px solid var(--hair)}.stamp .account-menu-copy{min-width:0;display:grid;grid-gap:2px;gap:2px}.stamp .account-menu-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--f-sans);font-size:14px;font-weight:800}.stamp .account-menu-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.03em;color:var(--ink-3)}.stamp .account-menu button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 9px;border-radius:9px;font-family:var(--f-sans);font-size:14px;font-weight:700;color:var(--ink)}.stamp .account-menu button:focus-visible,.stamp .account-menu button:hover{background:var(--bg-2);outline:none}.stamp .account-menu button.danger{color:var(--danger)}.stamp .account-menu-go{color:var(--ink-3);transition:transform .15s}.stamp .account-menu button:hover .account-menu-go{transform:translateX(3px)}.stamp.auth2{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh}.auth2-side{padding:40px 48px;display:flex;flex-direction:column;justify-content:center;position:relative;border-right:1.5px solid var(--ink)}.auth2-side:after{content:"";position:absolute;right:-180px;top:-160px;width:400px;height:400px;border-radius:50%;background:var(--brand);opacity:.18;pointer-events:none}.auth2-side-top{position:absolute;top:40px;left:48px;z-index:2}.auth2-pitch{position:relative;z-index:2;padding-top:0;max-width:30ch}.auth2-pitch-sub{font-family:var(--f-sans);font-size:16px;line-height:1.5;color:oklch(.84 .03 295);margin:16px 0 24px}.auth2-points{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px}.auth2-points li{display:flex;align-items:center;gap:11px;font-family:var(--f-sans);font-size:15px;color:oklch(.9 .02 295)}.auth2 .ap-dot{width:16px;height:16px;flex-shrink:0;border:1.5px solid var(--bg);border-radius:50%;background:radial-gradient(circle at center,var(--brand) 0 45%,transparent 45%)}.auth2-quote{position:relative;z-index:2;margin-top:40px;padding-top:26px;border-top:1.5px solid oklch(.4 .06 295);max-width:34ch}.auth2-quote .serif{font-size:20px;line-height:1.4;color:var(--bg);margin:0 0 16px}.auth2-quote-by{display:flex;align-items:center;gap:12px}.auth2 .qby-av{width:40px;height:40px;flex-shrink:0;border-radius:10px;transform:rotate(-3deg);background:var(--brand);color:var(--on-brand);display:grid;place-items:center;font-family:var(--f-sans);font-weight:800;font-size:14px;border:1.5px solid var(--bg)}.auth2 .qby-name{font-family:var(--f-sans);font-weight:700;font-size:15px;color:var(--bg)}.auth2 .qby-meta{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.12em;color:oklch(.72 .04 295);margin-top:2px}.auth2-main{display:grid;place-items:center;padding:40px;background:var(--bg)}.auth2-card{width:100%;max-width:392px}.auth2-tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;padding:4px;margin-bottom:26px;background:var(--bg-2);border:1.5px solid var(--ink);border-radius:999px}.auth2-tabs button{position:relative;z-index:2;padding:9px 0;font-family:var(--f-sans);font-size:14px;font-weight:600;color:var(--ink-2);transition:color .2s}.auth2-tabs button.on{color:var(--bg)}.auth2-tab-ind{position:absolute;z-index:1;top:4px;left:4px;bottom:4px;width:calc(50% - 4px);background:var(--ink);border-radius:999px;transition:transform .25s cubic-bezier(.3,1.2,.5,1)}.auth2-h{margin-bottom:4px}.auth2-sub{color:var(--ink-2);margin:0 0 22px}.auth2-google,.auth2-sub{font-family:var(--f-sans);font-size:14.5px}.auth2-google{width:100%;height:48px;border-radius:999px;background:var(--surface);border:1.5px solid var(--ink);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:600;transition:transform .15s,box-shadow .15s;white-space:nowrap}.auth2-google:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink)}.auth2-or{display:flex;align-items:center;gap:14px;margin:20px 0}.auth2-or:after,.auth2-or:before{content:"";flex:1 1;height:1.5px;background:var(--hair)}.auth2-or span{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}.auth2-field{display:block;margin-bottom:14px}.auth2-flabel{display:flex;justify-content:space-between;align-items:center;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:7px;white-space:nowrap}.auth2-forgot{font-family:var(--f-mono);color:var(--brand);text-transform:none;letter-spacing:.04em}.auth2-field input,.auth2-select-wrap select{width:100%;height:48px;padding:0 16px;background:var(--surface);border:1.5px solid var(--ink);border-radius:11px;font-family:var(--f-sans);font-size:15px;color:var(--ink);transition:box-shadow .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.auth2-field input::placeholder{color:var(--ink-3)}.auth2-field input:focus,.auth2-select-wrap select:focus{outline:none;box-shadow:3px 3px 0 var(--brand)}.auth2-select-wrap{position:relative}.auth2-select-chev{position:absolute;right:16px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--ink-2);font-size:12px}.auth2 form .btn{margin-top:6px}.auth2-fine{font-family:var(--f-sans);font-size:12px;line-height:1.5;color:var(--ink-3);margin:18px 0 0;text-align:center}.auth2-fine a{color:var(--ink-2);text-decoration:underline;text-underline-offset:2px}@media (max-width:860px){.stamp.auth2{grid-template-columns:1fr}.auth2-side{display:none}.auth2-main{padding:32px 20px;align-items:center}}.cat-main{max-width:var(--max-w);margin:0 auto;padding:40px var(--gutter) 80px}.cat-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.cat-h1{margin:14px 0 12px}.cat-sub{margin:0}.catalog .cat-head .cat-head-l{min-width:0}.cat-continue{margin-top:40px}.cat-row-head{margin-bottom:14px}.cat-continue-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}.continue-card{display:flex;align-items:center;gap:14px;padding:14px 16px;text-align:left}.continue-mk{width:50px;height:50px;flex-shrink:0;border:1.5px solid var(--ink);border-radius:12px;display:grid;place-items:center;transform:rotate(-3deg)}.continue-mk .glyph{width:28px;height:28px;color:var(--ink)}.continue-mk .icon3d{width:42px;height:42px;object-fit:contain}.continue-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:5px}.continue-name{font-family:var(--f-sans);font-weight:700;font-size:15.5px;letter-spacing:-.01em;line-height:1.1}.continue-meta{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.continue-bar{margin-top:3px}.continue-go{font-size:18px;color:var(--ink-3);transition:transform .15s,color .15s}.continue-card:hover .continue-go{transform:translateX(3px);color:var(--brand)}.cat-controls{justify-content:space-between;gap:18px;margin:44px 0 24px;flex-wrap:wrap}.cat-controls,.cat-search{display:flex;align-items:center}.cat-search{gap:11px;flex:1 1;min-width:280px;max-width:440px;height:50px;padding:0 16px;background:var(--surface);border:1.5px solid var(--ink);border-radius:14px;color:var(--ink-3);transition:box-shadow .15s}.cat-search:focus-within{box-shadow:4px 4px 0 var(--brand)}.cat-search input{flex:1 1;min-width:0;border:0;background:transparent;font-family:var(--f-sans);font-size:15px;color:var(--ink);outline:none}.cat-search input::placeholder{color:var(--ink-3)}.cat-search kbd{font-family:var(--f-mono);font-size:11px;padding:3px 7px;border:1.5px solid var(--hair);border-radius:6px;color:var(--ink-3)}.cat-chips{display:flex;gap:9px;flex-wrap:wrap;max-width:100%}.cat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.course-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;text-align:left;padding:0}.stamp .swatch.tint.course-swatch{aspect-ratio:16/10;border-radius:16px 16px 0 0;background:radial-gradient(120% 100% at 30% 20%,oklch(.94 .07 295) 0,oklch(.88 .1 295) 100%)}.course-swatch .glyph{width:52px;height:52px}.stamp .course-swatch .icon3d{width:min(145px,57.2%);height:auto;max-height:90%;object-fit:contain;transform:rotate(-3deg);transform-origin:50% 60%;transition:transform .35s cubic-bezier(.3,1.3,.5,1);will-change:transform}.stamp .course-card:focus-visible .course-swatch .icon3d,.stamp .course-card:hover .course-swatch .icon3d{transform:rotate(0deg) scale(1.06) translateY(-4px)}.course-cbody{padding:13px 15px 15px;display:flex;flex-direction:column;gap:5px}.course-cname{font-family:var(--f-sans);font-weight:700;font-size:16px;letter-spacing:-.015em;line-height:1.15}.course-cmeta{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}.course-card{position:relative}.course-card:disabled{cursor:default;color:var(--ink)}.course-card:disabled:hover{transform:none}.course-card:disabled .course-cmeta,.course-card:disabled .course-cname,.course-card:disabled .course-swatch .code{opacity:.68}.course-soon{position:absolute;top:10px;right:10px;z-index:1;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;padding:4px 8px;border:1.5px solid var(--ink);border-radius:999px;background:var(--bg);color:var(--ink-2)}.cat-empty{grid-column:1/-1;padding:48px;text-align:center;font-family:var(--f-sans);color:var(--ink-3);border:1.5px dashed var(--hair);border-radius:18px}@media (max-width:980px){.stamp{--gutter:28px}.cat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cat-continue-grid{grid-template-columns:1fr}}@media (max-width:640px){.stamp{--gutter:20px;overflow-x:hidden}.stamp .stamp-appnav{gap:12px;padding-block:14px}.stamp .stamp-nav-r{gap:8px}.cat-main{padding-top:34px}.cat-controls{align-items:stretch;gap:16px;margin-top:36px}.cat-search{flex:0 1 100%;min-width:0;max-width:none;width:100%}.cat-chips{width:100%}.cat-grid{grid-template-columns:1fr;gap:12px}.course-cbody{padding:12px 13px 14px}.course-cname{font-size:14.5px}.stamp .course-swatch .icon3d{width:min(164px,64%);max-height:90%}.cat-head .stamp-mascot,.cat-head img,.stamp .stamp-navpill{display:none}}.dash-head{border-bottom:1.5px solid var(--ink);background:var(--bg-2)}.dash-head-inner{max-width:var(--max-w);margin:0 auto;padding:22px var(--gutter);display:grid;grid-template-columns:auto 1fr auto;grid-gap:24px;gap:24px;align-items:center}.dash-back{grid-column:1/-1;justify-self:start;font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;color:var(--ink-2);margin-bottom:4px;transition:color .15s}.dash-back:hover{color:var(--ink)}.dash-id{display:flex;align-items:center;gap:18px;min-width:0}.dash-id-mk{width:76px;height:76px;border:1.5px solid var(--ink);border-radius:16px;flex-shrink:0}.dash-id-mk .icon3d{width:50px;height:50px}.dash-id-mk .glyph{width:44px;height:44px}.dash-title{margin:8px 0 6px}.dash-id-meta{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);margin:0}.dash-countdown{display:flex;align-items:center;gap:12px;justify-self:end;padding:14px 22px;background:var(--ink);color:var(--bg);border-radius:16px;box-shadow:5px 6px 0 var(--brand)}.dash-cd-n{font-family:var(--f-sans);font-weight:800;font-size:44px;line-height:1;letter-spacing:-.04em}.dash-cd-lbl{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;line-height:1.3;color:oklch(.82 .04 295)}.dash-main{max-width:var(--max-w);margin:0 auto;padding:32px var(--gutter) 80px}.dash-section-h{margin:0 0 14px}.dash-section-h.tight{margin-bottom:12px}.dash-command{display:grid;grid-template-columns:1fr 320px;grid-gap:22px;gap:22px;align-items:start}.dash-col-main{min-width:0}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;margin-bottom:22px}.stat-card{padding:18px 18px 16px;display:flex;flex-direction:column;gap:10px}.stat-big{font-family:var(--f-sans);font-weight:800;font-size:38px;line-height:1;letter-spacing:-.04em;color:var(--ink)}.stat-of{font-family:var(--f-mono);font-weight:500;font-size:14px;letter-spacing:0;color:var(--ink-3);margin-left:7px}.stat-pct{font-size:22px;color:var(--ink-3);margin-left:2px}.stat-trend{font-family:var(--f-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.stat-trend.up{color:var(--ok)}.upnext{margin-bottom:30px;overflow:visible}.upnext-body{display:flex;align-items:center;gap:24px;padding:24px 24px 22px}.upnext-l{flex:1 1;min-width:0}.upnext-name{margin:8px 0 6px}.upnext-meta{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-3);margin:0 0 16px}.upnext-actions{display:flex;gap:10px;flex-wrap:wrap}.unit-ledger{display:flex;flex-direction:column;gap:8px}.unit-row{display:grid;grid-template-columns:40px 1fr 180px 20px;grid-gap:16px;gap:16px;align-items:center;padding:14px 18px;text-align:left;background:var(--surface);border:1.5px solid var(--ink);border-radius:14px;transition:transform .15s,box-shadow .15s}.unit-row:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}.unit-row-n{width:40px;height:40px;display:grid;place-items:center;font-family:var(--f-sans);font-weight:800;font-size:16px;border:1.5px solid var(--ink);border-radius:11px;background:var(--bg-2);transform:rotate(-3deg)}.unit-row.state-done .unit-row-n{background:var(--brand);color:var(--on-brand)}.unit-row.state-now .unit-row-n{background:var(--ink);color:var(--bg)}.unit-row.state-locked{opacity:.6}.unit-row-name{font-family:var(--f-sans);font-weight:700;font-size:15.5px;letter-spacing:-.01em}.unit-row-meta{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);margin-top:3px}.unit-row-prog{display:flex;flex-direction:column;gap:6px}.unit-row-pct{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}.unit-row.state-done .unit-row-pct{color:var(--brand)}.unit-row-go{color:var(--ink-3);transition:transform .15s,color .15s}.unit-row:hover .unit-row-go{transform:translateX(3px);color:var(--brand)}.dash-rail{display:flex;flex-direction:column;gap:16px;position:-webkit-sticky;position:sticky;top:92px}.stamp .card.rail-pace{padding:18px;background:var(--ink);color:var(--bg)}.rail-pace .lbl{color:oklch(.8 .05 295)}.rail-pace-txt{font-family:var(--f-sans);font-size:14.5px;line-height:1.5;color:oklch(.92 .02 295);margin:12px 0 16px}.rail-pace-txt b{color:var(--bg)}.rail-pace-meter{display:flex;flex-direction:column;gap:7px}.rail-pace-now{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:oklch(.78 .04 295)}.rail-pace .bar{background:oklch(.32 .06 295);border-color:var(--bg)}.rail-pace .bar>span{background:var(--brand);border-right-color:var(--bg)}.rail-weak{padding:18px}.weak-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--hair)}.weak-name{font-family:var(--f-sans);font-size:14px;font-weight:600}.weak-pct{font-family:var(--f-mono);font-size:13px;font-weight:600;color:var(--danger)}.rail-weak .btn{margin-top:14px}.rail-frq{padding:18px;cursor:pointer;transition:transform .15s,box-shadow .15s}.rail-frq:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--brand)}.rail-frq-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.rail-frq-arrow{color:var(--brand);font-size:18px}.rail-frq h4{margin:0 0 6px}.rail-frq-sub{font-family:var(--f-sans);font-size:13px;line-height:1.45;color:var(--ink-2);margin:0}.dash-path{padding-top:8px}.path-intro{margin-bottom:40px;max-width:60ch}.path-intro .sub{margin-top:12px}.runway{position:relative;display:flex;align-items:flex-start;gap:0;overflow-x:auto;padding:10px 0 28px;margin-bottom:36px}.runway-line{position:absolute;top:31px;left:22px;right:120px;height:3px;background:repeating-linear-gradient(90deg,var(--ink) 0 10px,transparent 10px 18px);opacity:.5}.station{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:12px;flex:1 1;min-width:132px}.station-node{width:56px;height:56px;border-radius:16px;transform:rotate(-4deg);border:1.5px solid var(--ink);background:var(--bg);font-family:var(--f-sans);font-weight:800;font-size:20px;color:var(--ink);display:grid;place-items:center;transition:transform .15s,box-shadow .15s}.station-node:hover{transform:rotate(-4deg) translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}.station.state-done .station-node{background:var(--brand);color:var(--on-brand)}.station.state-now .station-node{background:var(--ink);color:var(--bg);box-shadow:4px 5px 0 var(--brand);transform:rotate(-4deg) scale(1.08)}.station.state-future .station-node{background:var(--bg);color:var(--ink-3);border-style:dashed}.station-card{padding:9px 12px;text-align:center;min-width:104px}.station-name{font-family:var(--f-sans);font-weight:700;font-size:13px;line-height:1.15}.station-meta{font-family:var(--f-mono);font-size:11px;color:var(--ink-3);margin-top:3px}.station.state-now .station-meta{color:var(--brand)}.runway-flag{display:flex;flex-direction:column;align-items:center;gap:12px;min-width:110px;flex-shrink:0}.flag-mk{width:56px;height:56px;border-radius:16px;background:var(--brand);color:var(--on-brand);border:1.5px solid var(--ink);display:grid;place-items:center;font-size:24px;transform:rotate(6deg);box-shadow:4px 5px 0 var(--ink)}.flag-txt{text-align:center}.flag-txt b{display:block;font-family:var(--f-sans);font-weight:800;font-size:15px}.flag-txt span{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.path-now{padding:0;overflow:visible}.path-now-body{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px}.dash-focus{max-width:860px;margin:0 auto}.focus-mission{position:relative;overflow:hidden;padding:32px 34px 36px}.focus-mission-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.focus-day{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.focus-h{margin-bottom:14px;max-width:16ch}.focus-sub{max-width:44ch;margin:0 0 26px}.focus-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;position:relative;z-index:2}.focus-strip{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;margin-top:18px}.focus-stat{display:flex;align-items:center;gap:14px;padding:16px}.focus-stat-big{font-family:var(--f-sans);font-weight:800;font-size:30px;letter-spacing:-.03em;line-height:1}.focus-stat-n{font-family:var(--f-sans);font-weight:700;font-size:14px}.focus-stat-l{font-family:var(--f-mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin-top:3px}@media (max-width:980px){.dash-command{grid-template-columns:1fr}.dash-rail{position:static;flex-direction:column}.dash-head-inner{grid-template-columns:1fr;gap:16px}.dash-countdown{justify-self:start}}@media (max-width:640px){.stat-row{grid-template-columns:1fr}.unit-row{grid-template-columns:36px 1fr}.unit-row-go,.unit-row-prog{display:none}.upnext-body{flex-direction:column;align-items:flex-start}.focus-strip{grid-template-columns:1fr}}.unit-detail-head{margin-bottom:24px}.unit-detail-sub{font-family:var(--f-mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin-top:10px}.unit-detail-sech{display:flex;align-items:center;justify-content:space-between;gap:16px}@media (max-width:640px){.unit-detail-sech{flex-direction:column;align-items:flex-start}}.act-main{max-width:var(--max-w);margin:0 auto;padding:40px var(--gutter) 80px}.act-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.act-h1{margin:14px 0 12px}.act-sub{margin:0;max-width:52ch}.act-metrics{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-gap:16px;gap:16px;margin:40px 0}.act-streak{padding:20px}.act-streak-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.act-streak-n{font-family:var(--f-sans);font-weight:800;font-size:18px;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.act-week{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:10px;gap:10px;align-items:end;height:96px}.act-day{display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}.act-day-bar-wrap{flex:1 1;width:100%;display:flex;align-items:flex-end;justify-content:center}.act-day-bar{width:100%;max-width:26px;background:var(--brand);border:1.5px solid var(--ink);border-radius:7px 7px 0 0;min-height:6px}.act-day:not(.on) .act-day-bar{background:var(--bg-2)}.act-day.today .act-day-bar{background:repeating-linear-gradient(45deg,var(--bg-2) 0 4px,var(--hair) 4px 8px)}.act-day-l{font-family:var(--f-mono);font-size:11px;color:var(--ink-3)}.act-day.today .act-day-l{color:var(--brand);font-weight:600}.act-mini{padding:20px;display:flex;flex-direction:column;gap:4px}.act-mini-n{font-weight:800;font-size:44px;line-height:1;letter-spacing:-.04em;margin-top:8px}.act-mini-l,.act-mini-n{font-family:var(--f-sans)}.act-mini-l{font-size:14px;color:var(--ink-2)}.act-mini .stat-trend{margin-top:8px}.act-cols{display:grid;grid-template-columns:1fr 1fr;grid-gap:30px;gap:30px}.act-block{min-width:0}.act-exams{display:flex;flex-direction:column;gap:12px}.act-empty{font-family:var(--f-mono);font-size:12px;letter-spacing:.03em;color:var(--ink-3);padding:18px 2px;line-height:1.5}.act-exam{display:flex;align-items:center;gap:14px;padding:14px 16px;text-align:left}.act-exam-mk{width:48px;height:48px;flex-shrink:0;border:1.5px solid var(--ink);border-radius:12px;display:grid;place-items:center;transform:rotate(-3deg)}.act-exam-mk .glyph{width:26px;height:26px}.act-exam-mk .icon3d{width:40px;height:40px;object-fit:contain}.act-exam-body{flex:1 1;min-width:0}.act-exam-name{font-family:var(--f-sans);font-weight:700;font-size:15.5px;letter-spacing:-.01em}.act-exam-date{font-family:var(--f-mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin-top:3px}.act-exam-cd{text-align:right;flex-shrink:0}.act-exam-days{font-family:var(--f-sans);font-weight:800;font-size:26px;line-height:1;letter-spacing:-.03em;color:var(--brand)}.act-exam-dl{display:block;font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.act-feed{display:flex;flex-direction:column}.act-feed-row{display:flex;align-items:center;gap:14px;padding:14px 4px;text-align:left;border-bottom:1.5px solid var(--hair);transition:padding-left .15s}.act-feed-row:hover{padding-left:10px}.act-feed-icon{width:34px;height:34px;flex-shrink:0;border:1.5px solid var(--ink);border-radius:10px;display:grid;place-items:center;font-size:15px;transform:rotate(-3deg)}.act-feed-icon.set{background:var(--bg-2);color:var(--ink)}.act-feed-icon.frq{background:var(--brand);color:var(--on-brand)}.act-feed-body{flex:1 1;min-width:0}.act-feed-what{font-family:var(--f-sans);font-weight:700;font-size:14.5px;letter-spacing:-.01em}.act-feed-course{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);margin-top:2px}.act-feed-score{display:flex;align-items:center;gap:10px}.act-feed-pill{font-family:var(--f-sans);font-weight:700;font-size:13px;padding:4px 9px;border-radius:999px;border:1.5px solid var(--ink)}.act-feed-pill.ok{background:var(--brand-2);color:var(--ink)}.act-feed-pill.mid{background:var(--bg-2);color:var(--ink-2)}.act-feed-pct{font-family:var(--f-mono);font-size:12px;color:var(--ink-3);width:38px;text-align:right}.grade-main{max-width:var(--max-w);margin:0 auto;padding:28px var(--gutter) 80px}.grade-head{margin-bottom:30px}.grade-head-row{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-top:6px}.grade-h1{margin-top:12px}.grade-status{display:inline-flex;align-items:center;gap:9px;flex-shrink:0;padding:10px 16px;background:var(--ink);color:var(--bg);border-radius:999px;font-family:var(--f-mono);font-size:12px;letter-spacing:.04em;white-space:nowrap}.grade-status-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px oklch(.6 .16 150/.3)}.grade-grid{display:grid;grid-template-columns:1fr 400px;grid-gap:22px;gap:22px;align-items:start}.grade-left{display:flex;flex-direction:column;gap:16px;min-width:0}.stamp .card.grade-prompt{padding:20px;background:var(--bg-2)}.grade-prompt-txt{font-family:var(--f-display);font-style:italic;font-size:17px;line-height:1.5;color:var(--ink);margin:12px 0 0}.grade-response{padding:20px 22px}.grade-response-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.grade-response-wc{font-family:var(--f-mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}.grade-response-body p{font-family:var(--f-sans);font-size:15px;line-height:1.6;color:var(--ink-2);margin:0 0 14px}.grade-response-body p:last-child{margin-bottom:0}.grade-right{position:-webkit-sticky;position:sticky;top:92px}.grade-score-card{padding:24px 22px 22px;overflow:visible}.grade-score-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:18px;border-bottom:1.5px dashed var(--hair)}.grade-score-num{font-family:var(--f-sans);font-weight:800;font-size:64px;line-height:1;letter-spacing:-.05em;color:var(--ink);white-space:nowrap;flex-shrink:0}.grade-score-of{font-family:var(--f-mono);font-weight:500;font-size:18px;letter-spacing:0;color:var(--ink-3);margin-left:8px}.grade-rubric{display:flex;flex-direction:column;gap:4px}.grade-rrow{display:grid;grid-template-columns:24px 1fr auto;grid-gap:11px;gap:11px;align-items:center;padding:8px 0}.grade-rmk{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;font-family:var(--f-sans);font-weight:800;font-size:12px;border:1.5px solid var(--ink)}.grade-rrow.hit .grade-rmk{background:var(--brand);color:var(--on-brand)}.grade-rrow.miss .grade-rmk{background:var(--bg-2);color:var(--ink-3)}.grade-rwhat{font-family:var(--f-sans);font-size:13.5px;line-height:1.3;color:var(--ink)}.grade-rpt,.grade-rrow.miss .grade-rwhat{color:var(--ink-3)}.grade-rpt{font-family:var(--f-mono);font-weight:600;font-size:12px}.grade-rrow.hit .grade-rpt{color:var(--brand)}.grade-fixes{margin-top:22px;padding:28px 30px}.grade-fixes-head{margin-bottom:22px}.grade-fixes-head h2{margin-top:10px}.grade-fixes-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px;margin-bottom:24px}.grade-fix{padding:18px;border:1.5px solid var(--ink);border-radius:14px;background:var(--bg)}.grade-fix-tag{display:flex;align-items:center;gap:10px;margin-bottom:10px}.grade-fix-rubric{font-family:var(--f-sans);font-weight:700;font-size:15px;letter-spacing:-.01em}.grade-fix-how{font-family:var(--f-sans);font-size:14px;line-height:1.5;color:var(--ink-2);margin:0}.grade-fixes-cta{display:flex;gap:12px;flex-wrap:wrap}@media (max-width:980px){.act-cols,.act-metrics{grid-template-columns:1fr}.act-cols{gap:36px}.grade-grid{grid-template-columns:1fr}.grade-right{position:static}.grade-fixes-grid{grid-template-columns:1fr}}@media (max-width:640px){.grade-head-row{flex-direction:column}.act-head img{display:none}}