:root,[data-theme=hacker]{--bg:#000000;--panel:#050905;--panel-2:#091309;--line:#143820;--line-2:#1f5a30;--text:#c8ffd6;--muted:#4f9c6a;--accent:#00ff66;--accent-rgb:0 255 102;--on-accent:#001a09;--code-bg:#020604;--green:#00ff66;--green-rgb:0 255 102;--on-success:#001a09;--orange:#ffd166;--red:#ff5050;--accent-soft:rgb(var(--accent-rgb)/0.10)}[data-theme=disco]{--bg:#15082c;--panel:#21104a;--panel-2:#2e1a64;--line:#4a2d8f;--line-2:#6e44c4;--text:#fce8ff;--muted:#b69ddc;--accent:#ff4dd2;--accent-rgb:255 77 210;--on-accent:#1a0030;--code-bg:#100422;--green:#00ffe0;--green-rgb:0 255 224;--on-success:#002028;--orange:#ffb84d;--red:#ff5577;--accent-soft:rgb(var(--accent-rgb)/0.14)}[data-theme=stanford]{--bg:#6E0712;--panel:#FBF6E9;--panel-2:#F4EBDC;--line:#D6C5A2;--line-2:#B19773;--text:#2B221A;--muted:#756851;--accent:#8C1515;--accent-rgb:140 21 21;--on-accent:#FBF6E9;--code-bg:#F4EBDC;--green:#2D5839;--green-rgb:45 88 57;--on-success:#FBF6E9;--orange:#C77C29;--red:#8C1515;--accent-soft:rgb(var(--accent-rgb)/0.12)}[data-theme=pride]{--bg:#1a1428;--panel:#251c3a;--panel-2:#322752;--line:#463572;--line-2:#6a4fa3;--text:#f7eeff;--muted:#b8a3d6;--accent:#ff5fb0;--accent-rgb:255 95 176;--on-accent:#1a1428;--code-bg:#14102a;--green:#4ade80;--green-rgb:74 222 128;--on-success:#0a1c12;--orange:#ff8c00;--red:#e40303;--accent-soft:rgb(var(--accent-rgb)/0.14)}[data-theme=taos]{--bg:#F5EFE0;--panel:#EDE3CD;--panel-2:#E5D8B8;--line:#D9C9A8;--line-2:#BFAB80;--text:#3E2C1F;--muted:#8A7560;--accent:#A53A20;--accent-rgb:165 58 32;--on-accent:#FCFAF3;--code-bg:#EDE3CD;--green:#4F6F44;--green-rgb:79 111 68;--on-success:#FCFAF3;--orange:#D2A24C;--red:#A53A20;--accent-soft:rgb(var(--accent-rgb)/0.10)}[data-theme=star-wars]{--bg:#08080f;--panel:#11131c;--panel-2:#181b27;--line:#232838;--line-2:#353c54;--text:#e8e8f0;--muted:#8089a3;--accent:#3CB8E5;--accent-rgb:60 184 229;--on-accent:#08080f;--code-bg:#0a0c14;--green:#00d97f;--green-rgb:0 217 127;--on-success:#08080f;--orange:#ff9a3c;--red:#ff3838;--accent-soft:rgb(var(--accent-rgb)/0.14)}[data-theme=catan]{--bg:#0F2A4A;--panel:#EFE5CC;--panel-2:#E0D0AC;--line:#BFA77B;--line-2:#8A7449;--text:#1F1A12;--muted:#6B5C40;--accent:#B8893E;--accent-rgb:184 137 62;--on-accent:#F8EFD8;--code-bg:#EAE0C5;--green:#4A6E36;--green-rgb:74 110 54;--on-success:#F2E8CE;--orange:#A55228;--red:#842424;--accent-soft:rgb(var(--accent-rgb)/0.14)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.55}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code,pre{font-family:JetBrains Mono,ui-monospace,Menlo,monospace}.container{max-width:920px;margin:0 auto;padding:0 24px}.hero{border-bottom:1px solid var(--line);padding:64px 24px 56px;background:radial-gradient(80% 80% at 20% 0,rgb(var(--accent-rgb)/.08),transparent 60%),radial-gradient(60% 60% at 100% 0,rgb(var(--accent-rgb)/.05),transparent 60%)}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:12px;color:var(--muted)}.brand .dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 14px var(--accent)}h1{font-size:clamp(36px,6vw,64px);line-height:1.05;margin:18px 0 14px;letter-spacing:-.02em}h1 .accent{color:var(--accent)}.lede{font-size:18px;max-width:640px;margin:0}.hero .meta,.lede{color:var(--muted)}.hero .meta{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap;font-size:13px}.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);padding:6px 12px;border-radius:999px;font-size:12px}.greeting,.pill{background:var(--panel)}.greeting{margin-top:24px;padding:16px 18px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px;color:var(--muted);max-width:680px;font-size:15px}.greeting strong{color:var(--text)}section{padding:56px 24px;border-bottom:1px solid var(--line)}section:last-of-type{border-bottom:none}.section-eyebrow{color:var(--accent);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}h2{font-size:clamp(28px,4vw,40px);margin:0 0 12px;letter-spacing:-.01em}.section-sub{color:var(--muted);margin:0 0 32px;max-width:640px}.step{display:grid;grid-template-columns:56px 1fr;grid-gap:20px;gap:20px;padding:22px 60px 22px 24px;background:var(--panel);border:1px solid var(--line);border-radius:14px;margin-bottom:14px;position:relative;transition:border-color .2s ease,padding .2s ease,background .2s ease}.step.done{border-color:rgb(var(--green-rgb)/.35);background:linear-gradient(180deg,rgb(var(--green-rgb)/.04),var(--panel))}.step.done.collapsed{padding:14px 56px 14px 20px;cursor:pointer}.step.done.collapsed:hover{border-color:rgb(var(--green-rgb)/.55)}.step-num-col{align-items:flex-start;padding-top:2px}.step-num-badge,.step-num-col{display:flex;justify-content:center}.step-num-badge{width:36px;height:36px;border-radius:10px;border:1.5px solid var(--line-2);background:var(--panel-2);align-items:center;font-weight:700;font-size:14px;color:var(--muted);transition:all .18s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;flex-shrink:0}.step.done .step-num-badge{background:var(--green);border-color:var(--green);color:var(--on-success);box-shadow:0 0 18px rgb(var(--green-rgb)/.32)}.step.done .step-num-badge.bumped:after{content:"";position:absolute;inset:-6px;border-radius:14px;border:2px solid rgb(var(--green-rgb)/.4);animation:ripple .55s ease-out}@keyframes ripple{0%{transform:scale(.6);opacity:1}to{transform:scale(1.6);opacity:0}}.mark-done-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:10px;border:1px solid var(--line-2);background:var(--panel-2);color:var(--text);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;font-family:inherit;margin-top:16px}.mark-done-btn:hover{border-color:var(--green);color:var(--green)}.mark-done-btn.is-done{background:rgb(var(--green-rgb)/.08);border-color:rgb(var(--green-rgb)/.45);color:var(--green)}.mark-done-btn.is-done:hover{background:rgb(var(--green-rgb)/.14)}.mark-done-btn .check-icon{font-size:14px}.step-title-row{display:flex;align-items:center;gap:10px;margin-bottom:4px}.step h3{margin:0;font-size:18px;font-weight:600}.step .step-num-tag{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.step .one-liner{color:var(--muted);margin:0 0 12px;font-size:14.5px}.step .step-detail{color:var(--text);margin:0}.step .step-detail p{margin:0 0 12px}.step .step-detail p:last-child{margin-bottom:0}.step .step-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.step .step-shot{margin:16px 0 4px;border:1px dashed var(--line-2);border-radius:10px;background:var(--panel-2);padding:28px 18px;text-align:center;color:var(--muted);font-size:13px;font-family:JetBrains Mono,monospace}.step .step-shot:before{content:"📷  "}.step .step-shot img{max-width:100%;border-radius:8px;display:block;margin:0 auto}.step-shot-figure{margin:16px 0 4px;display:block}.step-shot-figure img{max-width:100%;border-radius:10px;display:block;border:1px solid var(--line);box-shadow:0 4px 24px rgba(0,0,0,.4)}.step-shot-figure figcaption{text-align:center;font-size:12.5px;color:var(--muted);margin-top:8px;font-style:italic}.step-shot-skeleton{border:1px dashed var(--line-2);border-radius:10px;background:var(--panel-2);padding:28px 18px;text-align:center;color:var(--muted);font-size:13px;font-family:JetBrains Mono,monospace}.step-shot-skeleton:before{content:"⏳  "}.btn{display:inline-flex;align-items:center;gap:8px;background:var(--panel-2);color:var(--text);border:1px solid var(--line);padding:9px 14px;border-radius:9px;font-size:13px;font-weight:500;cursor:pointer;transition:all .12s ease;font-family:inherit}.btn:hover{background:var(--line);border-color:var(--line-2)}.btn.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600}.btn.primary:hover{filter:brightness(1.05)}.btn.ghost{background:transparent}.btn .arrow{transition:transform .12s ease}.btn:hover .arrow{transform:translateX(2px)}.cmd{display:flex;align-items:center;justify-content:space-between;background:var(--code-bg);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-family:JetBrains Mono,monospace;font-size:13px;margin-top:6px;gap:12px}.cmd code{color:var(--green);white-space:pre;overflow-x:auto}.prompt-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:28px;margin-bottom:20px}.prompt-card .pc-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:6px}.prompt-card h3{font-size:22px;margin:0;font-weight:600}.prompt-card .pc-meta{color:var(--muted);font-size:13px;margin-bottom:18px}.prompt-card .badge{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:6px;background:var(--accent-soft);color:var(--accent);border:1px solid rgb(var(--accent-rgb)/.25)}.prompt-box{background:var(--code-bg);border:1px solid var(--line);border-radius:12px;overflow:hidden}.prompt-box-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--panel-2);gap:8px;flex-wrap:wrap}.prompt-box-header .file{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--muted)}.prompt-box pre{margin:0;padding:18px;max-height:240px;overflow:auto;font-size:12.5px;line-height:1.55;color:var(--text);white-space:pre-wrap;word-break:break-word}.prompt-box.expanded pre{max-height:none}.part-collapsed{background:linear-gradient(135deg,rgb(var(--green-rgb)/.07),rgb(var(--accent-rgb)/.04));border:1px solid rgb(var(--green-rgb)/.35);border-radius:14px;padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;transition:border-color .15s ease;margin-bottom:16px}.part-collapsed:hover{border-color:rgb(var(--green-rgb)/.55)}.part-collapsed-left{display:flex;align-items:center;gap:14px;min-width:0}.part-collapsed .check-circle{width:32px;height:32px;border-radius:50%;background:var(--green);color:var(--on-success);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;flex-shrink:0}.part-collapsed h3{margin:0;font-size:17px;font-weight:600}.part-collapsed .part-eyebrow{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin-bottom:2px}.part-collapsed .reopen{color:var(--muted);font-size:13px;white-space:nowrap}.step-body{min-width:0;flex:1 1}.step.done.collapsed .one-liner,.step.done.collapsed .step-detail{display:none}.step.done.collapsed .step-title-row{margin-bottom:0}.grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;flex-direction:column;cursor:pointer;transition:border-color .15s ease,transform .15s ease,background .2s ease;position:relative}.card:hover{border-color:var(--line-2);transform:translateY(-2px)}.card.is-done{background:linear-gradient(180deg,rgb(var(--green-rgb)/.05),var(--panel));border-color:rgb(var(--green-rgb)/.35)}.card-icon{width:44px;height:44px;border-radius:10px;background:var(--panel-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:14px;overflow:hidden}.card-icon img{width:24px;height:24px;display:block}.card-done-pill{background:var(--green);color:var(--on-success);font-weight:800;letter-spacing:.08em}.card-done-pill,.card-lock-pill{position:absolute;top:14px;right:14px;font-size:10px;padding:3px 8px;border-radius:999px;text-transform:uppercase}.card-lock-pill{background:var(--panel-2);color:var(--muted);font-weight:700;letter-spacing:.06em;border:1px solid var(--line)}.card.is-locked{opacity:.55;background:rgba(20,22,27,.5)}.card.is-locked:hover{opacity:.78;transform:translateY(-1px)}.locked-hint{margin-top:12px;font-size:12px;color:var(--orange);border-top:1px dashed var(--line);padding-top:10px}.card h4{margin:0 0 6px;font-size:16px;font-weight:600}.card .why{color:var(--muted);font-size:13.5px;margin:0 0 14px;flex:1 1}.card .footer-row{display:flex;align-items:center;justify-content:space-between;margin-top:auto}.tag{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:6px;background:var(--panel-2);color:var(--muted);border:1px solid var(--line)}.tag.free{border-color:rgb(var(--green-rgb)/.2);background:rgb(var(--green-rgb)/.06)}.complexity-low,.tag.free{color:var(--green)}.complexity-med{color:var(--orange)}.complexity-high{color:var(--red)}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.7);display:none;align-items:center;justify-content:center;padding:24px;z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal,.modal-backdrop.open{display:flex}.modal{background:var(--panel);border:1px solid var(--line);border-radius:16px;width:100%;max-width:760px;max-height:86vh;flex-direction:column;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line)}.modal-header h3{margin:0;font-size:18px}.modal-body{padding:22px;overflow:auto}.modal-body p{color:var(--muted);margin-top:0}.modal-body pre{background:var(--code-bg);border:1px solid var(--line);border-radius:10px;padding:16px;font-size:12.5px;line-height:1.55;color:var(--text);max-height:360px;overflow:auto;white-space:pre-wrap;word-break:break-word}.modal-close{background:none;border:none;color:var(--muted);font-size:22px;cursor:pointer;line-height:1}.modal-close:hover{color:var(--text)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:40px 36px;max-width:420px;width:100%}.login-card h2{margin:0 0 6px;font-size:26px}.login-card .sub{color:var(--muted);margin:0 0 28px;font-size:14px}.code-input-row{display:flex;gap:8px;margin-bottom:16px;justify-content:space-between}.code-input-row input{width:100%;max-width:52px;height:56px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;color:var(--text);font-size:24px;text-align:center;font-family:JetBrains Mono,monospace;font-weight:600;outline:none}.code-input-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.code-input-row input.err{border-color:var(--red)}.login-error{color:var(--red);font-size:13px;margin:0 0 12px;min-height:18px}.login-card .submit-btn{width:100%;padding:14px;background:var(--accent);color:var(--on-accent);border:none;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;transition:filter .12s ease;font-family:inherit}.login-card .submit-btn:hover{filter:brightness(1.05)}.login-card .submit-btn:disabled{opacity:.6;cursor:not-allowed}.login-help{margin-top:22px;font-size:13px;color:var(--muted);text-align:center}.hatch-block{margin:0 0 22px;padding:16px 16px 14px;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;position:relative}.hatch-label{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.hatch-input{width:100%;background:transparent;border:none;border-bottom:1.5px solid var(--line-2);padding:4px 0 8px;color:var(--text);font-size:22px;font-family:JetBrains Mono,ui-monospace,monospace;font-weight:600;letter-spacing:.005em;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.hatch-input::placeholder{color:var(--text-dim,var(--muted));opacity:.55;font-weight:500}.hatch-input:focus{border-bottom-color:var(--accent)}.hatch-preview{margin:8px 0 0;font-size:12px;color:var(--muted);display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.hatch-preview code{background:rgb(var(--accent-rgb)/.1);color:var(--accent);padding:2px 6px;border-radius:4px;font-size:12px;font-family:JetBrains Mono,ui-monospace,monospace}.hatch-preview-hint{color:var(--muted);font-style:italic;font-size:11.5px}.progress-rail{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:rgba(11,12,15,.85);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.progress-bar-wrap{max-width:920px;margin:0 auto;display:flex;align-items:center;gap:16px;padding:14px 24px;font-size:13px;color:var(--muted)}.progress-track{flex:1 1;height:6px;background:var(--panel-2);border-radius:999px;overflow:hidden;position:relative}.progress-fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--accent),var(--green));transition:width .4s cubic-bezier(.16,1,.3,1);border-radius:999px}.progress-count{font-family:JetBrains Mono,monospace;font-size:12px;white-space:nowrap}.progress-count strong{color:var(--text)}.celebration{display:none;margin-bottom:32px;background:linear-gradient(135deg,rgb(var(--accent-rgb)/.16),rgb(var(--green-rgb)/.1));border:1px solid rgb(var(--accent-rgb)/.45);border-radius:18px;padding:36px 32px;text-align:center;position:relative;overflow:hidden}.celebration.show{display:block;animation:pop .45s ease-out}@keyframes pop{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.celebration h2{font-size:32px;margin:8px 0;color:var(--accent)}.celebration p{color:var(--text);margin:0;max-width:480px;margin-inline:auto}.celebration .emoji{font-size:44px}.confetti-piece{position:fixed;top:-10px;width:8px;height:14px;pointer-events:none;z-index:1000;animation-fill-mode:forwards}@keyframes confetti-fall{0%{transform:translateY(-20px) rotate(0deg);opacity:1}to{transform:translateY(110vh) rotate(2turn);opacity:.2}}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--accent);color:var(--on-accent);padding:10px 18px;border-radius:10px;font-size:13px;font-weight:600;opacity:0;transition:all .2s ease;pointer-events:none;z-index:100}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}footer{text-align:center;padding:40px 24px;color:var(--muted);font-size:13px;border-top:1px solid var(--line)}footer .signoff{color:var(--text);margin-bottom:4px}footer a{margin-left:8px}.app-icon-figure{margin:16px 0 4px;display:flex;flex-direction:column;align-items:center;gap:8px}.app-icon-figure img{width:96px;height:96px;border-radius:18px;display:block;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35))}.app-icon-figure figcaption{font-size:12.5px;color:var(--muted);font-style:italic;text-align:center}.theme-hero{width:100%;max-width:720px;margin:0 auto 28px;padding:0 8px}.theme-hero-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.theme-hero-eyebrow{color:var(--accent);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.theme-hero-hint{color:var(--muted);font-size:12px;font-style:italic}.theme-hero-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:10px;gap:10px}.theme-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px 14px 12px;background:var(--panel);border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:border-color .15s ease,transform .15s ease,background .2s ease;font-family:inherit;text-align:left;color:var(--text)}.theme-tile:hover{border-color:var(--line-2);transform:translateY(-1px)}.theme-tile.active{border-color:var(--accent);background:var(--accent-soft)}.theme-tile-swatches{display:inline-flex;border-radius:6px;overflow:hidden;border:1px solid var(--line)}.theme-tile-swatches>span{display:block;width:22px;height:26px}.theme-tile-name{font-size:13.5px;font-weight:600;color:var(--text)}.theme-tile-sub{font-size:11.5px;color:var(--muted);line-height:1.35}.theme-tile-check{position:absolute;top:10px;right:12px;font-size:14px;color:var(--accent);font-weight:800}.theme-preselect-note{font-size:12px;font-style:italic;color:var(--muted);margin:-4px 2px 10px;letter-spacing:.01em}.theme-picker-wrap{position:relative;display:inline-block}.theme-compact-btn{display:inline-flex;align-items:center;padding:4px;background:var(--panel);border:1px solid var(--line);border-radius:8px;cursor:pointer;transition:border-color .15s ease,transform .15s ease}.theme-compact-btn:hover{border-color:var(--accent);transform:translateY(-1px)}.theme-compact-swatches{display:inline-flex;border-radius:4px;overflow:hidden}.theme-compact-swatches>span{display:block;width:14px;height:18px}.theme-popover{position:absolute;top:calc(100% + 6px);right:0;min-width:260px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:6px;z-index:100;box-shadow:0 12px 40px rgba(0,0,0,.35)}.theme-popover-header{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:8px 10px 6px}.theme-popover-option{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:8px;background:transparent;border:none;cursor:pointer;font-family:inherit;text-align:left;color:var(--text);transition:background .12s ease}.theme-popover-option:hover{background:var(--panel-2)}.theme-popover-option.active{background:var(--accent-soft)}.theme-popover-swatches{display:inline-flex;border-radius:4px;overflow:hidden;border:1px solid var(--line);flex-shrink:0}.theme-popover-swatches>span{display:block;width:12px;height:20px}.theme-popover-text{flex:1 1;min-width:0}.theme-popover-name{display:block;font-size:13px;font-weight:500;color:var(--text)}.theme-popover-sub{display:block;font-size:11px;color:var(--muted);margin-top:1px}.theme-popover-check{font-size:14px;color:var(--accent);font-weight:800;width:14px;text-align:right}.brand-row{display:flex;align-items:center;justify-content:space-between;gap:12px}@media (max-width:600px){section{padding:40px 18px}.hero{padding:48px 18px 40px}.step{padding:18px;gap:14px}.code-input-row input{height:48px;font-size:20px}.theme-hero-grid{grid-template-columns:repeat(2,1fr)}}[data-theme=stanford] .hero{background:linear-gradient(135deg,#8C1515,#6E0712);border-bottom:3px solid #b83a3a}[data-theme=stanford] .hero,[data-theme=stanford] .hero .lede,[data-theme=stanford] .hero h1{color:#FBF6E9}[data-theme=stanford] .hero .brand{color:#F4EBDC}[data-theme=stanford] .hero .brand .dot{background:#FBF6E9;box-shadow:0 0 14px rgba(251,246,233,.6)}[data-theme=stanford] .hero h1 .accent{color:#FFD580}[data-theme=stanford] .hero .pill{background:rgba(251,246,233,.1);border-color:rgba(251,246,233,.28);color:#F4EBDC}[data-theme=stanford] .greeting{background:rgba(251,246,233,.08);border-color:rgba(251,246,233,.2);border-left:3px solid #ffd580;color:#F4EBDC}[data-theme=stanford] .greeting strong{color:#FBF6E9}[data-theme=stanford] .progress-rail{background:rgba(110,7,18,.92);border-bottom-color:rgba(251,246,233,.22)}[data-theme=stanford] .progress-rail .progress-count,[data-theme=stanford] .progress-rail .progress-count strong{color:#FBF6E9}[data-theme=stanford] .progress-fill{background:linear-gradient(90deg,#8C1515,#FFD580)}[data-theme=stanford] section{border-bottom-color:rgba(251,246,233,.18)}[data-theme=stanford] section:last-of-type{border-bottom:none}[data-theme=stanford] footer{border-top-color:rgba(251,246,233,.2);color:#F4EBDC}[data-theme=stanford] footer .signoff{color:#FBF6E9}[data-theme=stanford] .brand,[data-theme=stanford] .celebration h2,[data-theme=stanford] .hero h1,[data-theme=stanford] .login-card h2,[data-theme=stanford] h1,[data-theme=stanford] h2,[data-theme=stanford] h3{font-family:Playfair Display,Georgia,Times New Roman,serif;font-weight:700;letter-spacing:-.005em}[data-theme=stanford] h2,[data-theme=stanford] h3{color:#FBF6E9}[data-theme=stanford] .section-eyebrow{color:#FFD580}[data-theme=stanford] .lede{color:rgba(251,246,233,.78)}[data-theme=stanford] .step-card .step-eyebrow,[data-theme=stanford] .step-card h3{color:inherit}[data-theme=stanford] .step.done{border-color:rgba(140,21,21,.32);background:linear-gradient(180deg,rgba(255,213,128,.1),var(--panel))}[data-theme=stanford] .step.done.collapsed:hover{border-color:rgba(140,21,21,.55)}[data-theme=stanford] .step.done .step-num-badge{background:linear-gradient(180deg,#FFD580,#E8B859);border-color:#C99905;color:#6E0712;box-shadow:0 0 18px rgba(255,213,128,.55)}[data-theme=stanford] .step.done .step-num-badge.bumped:after{border-color:rgba(255,213,128,.55)}[data-theme=stanford] .mark-done-btn.is-done .check-icon{color:#C99905}[data-theme=star-wars] .brand,[data-theme=star-wars] .section-eyebrow,[data-theme=star-wars] h1,[data-theme=star-wars] h2,[data-theme=star-wars] h3{font-family:Orbitron,Bebas Neue,Inter,system-ui,sans-serif;letter-spacing:.03em}[data-theme=star-wars] body:after,[data-theme=star-wars] body:before{content:"";position:fixed;inset:-10vh -10vw;pointer-events:none;z-index:-1;background-repeat:repeat;transition:filter .2s linear,transform .2s linear,background-position 80ms linear;will-change:background-position,transform,filter}[data-theme=star-wars] body:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'><g fill='white'><circle cx='17' cy='32' r='0.6' opacity='0.55'/><circle cx='84' cy='12' r='0.5' opacity='0.45'/><circle cx='132' cy='48' r='0.7' opacity='0.6'/><circle cx='198' cy='28' r='0.4' opacity='0.4'/><circle cx='52' cy='98' r='0.5' opacity='0.5'/><circle cx='176' cy='86' r='0.6' opacity='0.55'/><circle cx='223' cy='104' r='0.4' opacity='0.4'/><circle cx='38' cy='148' r='0.7' opacity='0.6'/><circle cx='112' cy='162' r='0.45' opacity='0.5'/><circle cx='194' cy='180' r='0.6' opacity='0.55'/><circle cx='28' cy='208' r='0.5' opacity='0.5'/><circle cx='148' cy='220' r='0.4' opacity='0.4'/><circle cx='208' cy='198' r='0.5' opacity='0.5'/><circle cx='66' cy='62' r='0.4' opacity='0.45'/><circle cx='160' cy='130' r='0.5' opacity='0.5'/></g></svg>");background-size:240px 240px;background-position:calc((var(--motion-x, .5) - .5) * -40px) calc((var(--motion-y, .5) - .5) * -40px);filter:blur(calc(var(--motion-intensity, 0) * 1.2px));transform:scaleX(calc(1 + var(--motion-intensity, 0) * .3))}[data-theme=star-wars] body:after{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='360' height='360' viewBox='0 0 360 360'><g fill='white'><circle cx='42' cy='58' r='1.1' opacity='0.85'/><circle cx='178' cy='118' r='0.9' opacity='0.75'/><circle cx='306' cy='52' r='1.2' opacity='0.9'/><circle cx='88' cy='244' r='1.0' opacity='0.8'/><circle cx='234' cy='292' r='0.9' opacity='0.75'/><circle cx='332' cy='196' r='1.1' opacity='0.85'/></g></svg>");background-size:360px 360px;background-position:calc((var(--motion-x, .5) - .5) * -100px) calc((var(--motion-y, .5) - .5) * -100px);filter:blur(calc(var(--motion-intensity, 0) * 2.4px));transform:scaleX(calc(1 + var(--motion-intensity, 0) * .6))}@media (prefers-reduced-motion:reduce){[data-theme=star-wars] body:after,[data-theme=star-wars] body:before{transform:none;filter:none}}[data-theme=hacker] body{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.005em}[data-theme=hacker] .brand,[data-theme=hacker] .section-eyebrow,[data-theme=hacker] h1,[data-theme=hacker] h2,[data-theme=hacker] h3{font-family:inherit;text-transform:uppercase}[data-theme=hacker] body:after{z-index:9999;background:repeating-linear-gradient(0deg,rgba(0,255,102,.05),rgba(0,255,102,.05) 1px,transparent 0,transparent 3px)}[data-theme=hacker] body:after,[data-theme=hacker] body:before{content:"";position:fixed;inset:0;pointer-events:none;mix-blend-mode:screen}[data-theme=hacker] body:before{z-index:9998;background:repeating-linear-gradient(0deg,rgba(0,255,102,.1),rgba(0,255,102,.1) 1px,transparent 0,transparent 5px);opacity:var(--motion-intensity,0);animation:hackerLineJitter .9s steps(7) infinite;transition:opacity .12s linear;will-change:background-position,opacity}@keyframes hackerLineJitter{0%{background-position:0 0}14%{background-position:0 .7px}28%{background-position:0 -.4px}42%{background-position:0 .3px}56%{background-position:0 -.6px}70%{background-position:0 .5px}84%{background-position:0 -.2px}to{background-position:0 .4px}}[data-theme=hacker] .brand .dot{animation:hackerBlink 1.1s steps(2,jump-none) infinite}@keyframes hackerBlink{0%,50%{opacity:1}50.01%,to{opacity:.3}}[data-theme=disco] body:before{content:"";position:fixed;inset:-40%;z-index:-1;pointer-events:none;background:conic-gradient(from 0deg at 50% 50%,rgba(255,77,210,.1),rgba(0,255,224,.1),rgba(255,235,80,.08),rgba(255,77,210,.1),rgba(140,70,255,.1),rgba(255,77,210,.1));filter:blur(60px);transform:rotate(var(--motion-rotation,0deg));transition:transform .32s linear;will-change:transform}[data-theme=disco] .hero{background:radial-gradient(60% 80% at 80% 0,rgba(0,255,224,.1),transparent 60%),radial-gradient(70% 80% at 10% 100%,rgba(255,77,210,.1),transparent 60%)}[data-theme=pride]{--pride-rainbow:linear-gradient(90deg,#e40303,#ff8c00 18%,#ffed00 36%,#008026 54%,#004cff 75%,#732982)}[data-theme=pride] .btn.primary,[data-theme=pride] .card-done-pill,[data-theme=pride] .login-card .submit-btn,[data-theme=pride] .part-collapsed .check-circle,[data-theme=pride] .progress-fill,[data-theme=pride] .step.done .step-num-badge,[data-theme=pride] .toast{background:var(--pride-rainbow);color:#fff;border-color:transparent}[data-theme=pride] .brand .dot{background:var(--pride-rainbow);box-shadow:0 0 14px rgba(255,95,176,.7)}[data-theme=pride] .hero{background:linear-gradient(180deg,transparent,transparent 90%,rgba(228,3,3,.04)),radial-gradient(80% 80% at 20% 0,rgba(255,140,0,.06),transparent 60%),radial-gradient(60% 60% at 100% 0,rgba(0,76,255,.06),transparent 60%)}[data-theme=pride] .progress-rail:after{content:"";display:block;height:2px;background:var(--pride-rainbow);opacity:.55}[data-theme=catan] body{background-color:var(--bg);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='81.4' height='141' viewBox='0 0 81.4 141'><g fill='none' stroke='rgba(184,137,62,0.13)' stroke-width='0.7' stroke-linejoin='round'><polygon points='40.7,-23.5 81.4,0 81.4,47 40.7,70.5 0,47 0,0'/><polygon points='0,47 40.7,70.5 40.7,117.5 0,141 -40.7,117.5 -40.7,70.5'/></g><g fill='rgba(184,137,62,0.22)'><circle cx='40.7' cy='23.5' r='1'/><circle cx='0' cy='94' r='1'/></g><g fill='rgba(184,137,62,0.10)'><circle cx='40.7' cy='15.5' r='0.45'/><circle cx='48.7' cy='23.5' r='0.45'/><circle cx='40.7' cy='31.5' r='0.45'/><circle cx='32.7' cy='23.5' r='0.45'/><circle cx='0' cy='86' r='0.45'/><circle cx='8' cy='94' r='0.45'/><circle cx='0' cy='102' r='0.45'/><circle cx='-8' cy='94' r='0.45'/></g></svg>"),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='27.7' height='48' viewBox='0 0 27.7 48'><g fill='none' stroke='rgba(239,229,204,0.04)' stroke-width='0.3'><polygon points='13.85,-8 27.7,0 27.7,16 13.85,24 0,16 0,0'/><polygon points='0,16 13.85,24 13.85,40 0,48 -13.85,40 -13.85,24'/></g></svg>"),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.72  0 0 0 0 0.54  0 0 0 0 0.24  0 0 0 0.07 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");background-repeat:repeat;background-size:81.4px 141px,27.7px 48px,220px 220px;background-position:0 0,0 0,0 0}[data-theme=catan]:before{content:"";position:fixed;bottom:24px;right:24px;width:168px;height:168px;pointer-events:none;z-index:0;opacity:.42;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><g fill='none' stroke='rgba(184,137,62,0.55)' stroke-width='0.6'><circle cx='100' cy='100' r='86'/><circle cx='100' cy='100' r='66'/><circle cx='100' cy='100' r='42'/></g><g stroke='rgba(184,137,62,0.5)' stroke-width='0.5' fill='none'><line x1='100' y1='14' x2='100' y2='186'/><line x1='14' y1='100' x2='186' y2='100'/><line x1='40' y1='40' x2='160' y2='160'/><line x1='160' y1='40' x2='40' y2='160'/></g><g fill='rgba(184,137,62,0.85)' stroke='rgba(15,42,74,0.6)' stroke-width='0.5' stroke-linejoin='round'><polygon points='100,18 106,96 100,102 94,96'/><polygon points='100,182 106,104 100,98 94,104'/><polygon points='18,100 96,94 102,100 96,106'/><polygon points='182,100 104,94 98,100 104,106'/></g><g fill='rgba(184,137,62,0.55)'><polygon points='100,30 102,98 100,100 98,98'/><polygon points='44,44 96,96 100,100 96,96'/><polygon points='156,44 104,96 100,100 104,96'/></g><g fill='rgba(184,137,62,0.85)' font-family='Georgia, serif' font-size='11' text-anchor='middle' font-style='italic'><text x='100' y='10'>N</text><text x='192' y='104'>E</text><text x='100' y='198'>S</text><text x='8' y='104'>W</text></g></svg>");background-repeat:no-repeat;background-size:contain}[data-theme=catan] .hero{background:radial-gradient(70% 100% at 20% 0,rgba(184,137,62,.07),transparent 60%),radial-gradient(50% 80% at 100% 100%,rgba(239,229,204,.04),transparent 60%);border-bottom-color:rgba(184,137,62,.3)}[data-theme=catan] .progress-rail{background:rgba(15,42,74,.88);border-bottom-color:rgba(184,137,62,.25)}[data-theme=catan] .progress-rail .progress-count,[data-theme=catan] .progress-rail .progress-count strong{color:#efe5cc}[data-theme=catan] .progress-fill{background:linear-gradient(90deg,#B8893E,#D4AB58)}@media (max-width:600px){[data-theme=catan]:before{width:110px;height:110px;bottom:12px;right:12px;opacity:.32}}