.intro{padding-block:3rem 2rem;display:grid;gap:1rem}.intro-title{font-size:clamp(var(--step-3),5vw,var(--step-4));letter-spacing:-.02em;max-width:20ch}.intro-lede{display:grid;gap:.75rem;color:var(--muted);font-size:var(--step-1);max-width:64ch}.intro .phase-strip{margin-top:.5rem}.progress{font:500 var(--step--1) / 1.4 var(--font-mono);color:var(--muted)}.guide{padding-block:1.5rem 2.5rem;display:grid;gap:1.25rem;border-top:1px solid var(--line)}.guide-title{font-size:var(--step-2)}.guide-steps{list-style:none;margin:0;padding:0;display:grid;max-width:820px}.guide-step{position:relative;display:grid;grid-template-columns:2.25rem 1fr;gap:1rem;padding-bottom:1.5rem}.guide-step:last-child{padding-bottom:0}.guide-step:not(:last-child):before{content:"";position:absolute;left:calc(1.125rem - 1px);top:2.5rem;bottom:.25rem;width:2px;background:var(--line)}.guide-num{width:2.25rem;height:2.25rem;display:grid;place-items:center;border-radius:50%;border:1.5px solid var(--accent);color:var(--accent);font:500 var(--step--1) / 1 var(--font-mono)}.guide-content{display:grid;gap:.45rem;min-width:0;padding-top:.3rem}.guide-step-title{font-size:var(--step-1)}.guide-body{color:var(--muted);max-width:68ch}.guide-body em{font-style:normal;color:var(--ink);font-weight:500}.guide-uses{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem}.guide-uses li{font:400 .75rem / 1 var(--font-mono);color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:.3rem .55rem}.guide-prompt{border:1px solid var(--line);border-radius:8px;background:var(--surface);max-width:68ch}.guide-prompt summary{cursor:pointer;padding:.6rem .85rem;font-size:var(--step--1);font-weight:600}.guide-prompt-text{margin:0;padding:.85rem;white-space:pre-wrap;border-block:1px solid var(--line);font:400 .8125rem / 1.55 var(--font-mono);color:var(--ink);background:var(--code-bg)}.guide-prompt-foot{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:.5rem .85rem;font-size:var(--step--1);color:var(--muted)}.bank{padding-block:1rem 3rem;display:grid;gap:1rem;border-top:1px solid var(--line);padding-top:1.5rem}.bank-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:.75rem}.bank-title{font-size:var(--step-2)}.filters{display:flex;flex-wrap:wrap;gap:.5rem}.filters input[type=search]{width:14rem;max-width:100%}.chips{display:flex;flex-wrap:wrap;gap:.4rem}.chip{font:500 var(--step--1) / 1 var(--font-body);color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:999px;padding:.4rem .75rem;cursor:pointer}.chip:hover{color:var(--ink)}.chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:1rem}.card{position:relative;display:flex;flex-direction:column;gap:.6rem;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;transition:border-color .15s,transform .15s}.card:hover{border-color:var(--accent);transform:translateY(-1px)}.card:focus-within{border-color:var(--accent)}.card-custom{border-style:dashed;background:transparent}.card-top{display:flex;align-items:center;gap:.5rem}.card-num{font:500 var(--step--1) / 1 var(--font-mono);color:var(--muted);margin-right:auto}.card-title{font-size:var(--step-1)}.card-link{color:var(--ink);text-decoration:none}.card-link:after{content:"";position:absolute;inset:0;border-radius:var(--radius)}.card-link:focus-visible{outline:none}.card-statement{color:var(--muted);font-size:var(--step--1);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:auto;padding-top:.25rem}.card-meta{font:400 .75rem / 1 var(--font-mono);color:var(--muted)}.card-action{margin-left:auto;font-size:var(--step--1);font-weight:600;color:var(--accent)}.tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem}.tag{font:400 .75rem / 1 var(--font-mono);color:var(--muted);background:var(--code-bg);border-radius:4px;padding:.3rem .45rem}.status,.difficulty{font:500 .75rem / 1 var(--font-body);border-radius:999px;padding:.3rem .55rem;border:1px solid var(--line);color:var(--muted)}.difficulty{text-transform:uppercase;letter-spacing:.06em;font-size:.6875rem;border-color:currentColor}.difficulty-hard{color:var(--over)}.difficulty-medium{color:var(--warn)}.difficulty-easy{color:var(--ok)}.status-draft{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.status-done{color:var(--ok);border-color:var(--ok)}.empty{padding:1rem 1.2rem;border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted)}.site-footer{border-top:1px solid var(--line)}.footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding-block:1.5rem;color:var(--muted);font-size:var(--step--1)}:root{color-scheme:dark;--paper: #0d1117;--surface: #161b22;--field: #0d1117;--code-bg: #0d1117;--code-inline: rgba(110, 118, 129, .4);--grid: #21262d;--ink: #e6edf3;--muted: #8b949e;--line: #30363d;--accent: #58a6ff;--accent-strong: #1f6feb;--accent-soft: rgba(56, 139, 253, .15);--on-accent: #ffffff;--btn-bg: #21262d;--btn-hover: #30363d;--btn-border: rgba(240, 246, 252, .1);--primary: #238636;--primary-hover: #2ea043;--warn: #d29922;--over: #f85149;--ok: #3fb950;--shadow: 0 8px 24px rgba(1, 4, 9, .75);--font-display: "Schibsted Grotesk", "Helvetica Neue", Arial, sans-serif;--font-body: "IBM Plex Sans", -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--step--1: .8125rem;--step-0: .9375rem;--step-1: 1.125rem;--step-2: 1.375rem;--step-3: 1.875rem;--step-4: 2.5rem;--radius: 10px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);line-height:1.6;padding-block:env(safe-area-inset-top,0px) env(safe-area-inset-bottom,0px)}[hidden]{display:none!important}h1,h2,h3{font-family:var(--font-display);line-height:1.2;text-wrap:balance;margin:0}p{margin:0}a{color:var(--accent)}code,pre,kbd{font-family:var(--font-mono);font-size:.9em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.wrap{width:100%;max-width:1120px;margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.brand{font:700 var(--step-1) / 1 var(--font-display);color:var(--ink);text-decoration:none}.eyebrow{font:500 .75rem / 1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}.loading{padding-block:3rem;color:var(--muted)}.prerender{display:grid;gap:.75rem;padding-block:3rem;max-width:760px;color:var(--muted)}.prerender h1{color:var(--ink);font-size:var(--step-3)}.prerender h2{color:var(--ink);font-size:var(--step-1);margin-top:.5rem}.prerender ul,.prerender ol{margin:0;padding-left:1.25rem;display:grid;gap:.25rem}.btn{font:500 var(--step--1) / 1 var(--font-body);color:var(--ink);background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:6px;padding:.55rem .8rem;cursor:pointer;white-space:nowrap}.btn:hover{background:var(--btn-hover);border-color:var(--muted)}.btn-primary{background:var(--primary);border-color:var(--btn-border);color:var(--on-accent)}.btn-primary:hover{background:var(--primary-hover);border-color:var(--btn-border)}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover{background:var(--btn-hover);border-color:transparent}.btn.is-armed{border-color:var(--over);color:var(--over)}.input{font:inherit;font-size:var(--step--1);color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:6px;padding:.5rem .7rem;min-width:0}.input:focus{border-color:var(--accent-strong);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}.switch{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-size:var(--step--1);font-weight:500}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch-track{width:34px;height:20px;border-radius:999px;background:var(--line);position:relative;transition:background .15s}.switch-track:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:var(--ink);transition:transform .15s}.switch input:checked+.switch-track{background:var(--accent-strong)}.switch input:checked+.switch-track:after{transform:translate(14px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:2px}.phase-strip{display:flex;gap:3px;min-width:0;max-width:900px}.strip-seg{flex-basis:0;min-width:max-content;display:grid;grid-template-columns:auto 1fr;column-gap:.4rem;align-items:baseline;padding:.55rem .6rem;background:var(--surface);border:1px solid var(--line);border-radius:6px}.strip-num{font:500 var(--step--1) / 1 var(--font-mono);color:var(--accent)}.strip-name{font-size:var(--step--1);font-weight:600;white-space:nowrap}.strip-min{grid-column:1 / -1;font:400 .75rem / 1.4 var(--font-mono);color:var(--muted)}.toast{position:fixed;z-index:40;left:50%;transform:translate(-50%);bottom:calc(1rem + env(safe-area-inset-bottom,0px));width:min(560px,calc(100% - 32px));display:grid;gap:.75rem;padding:1rem 1.1rem;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);animation:toast-in .2s ease-out}.toast-text{font-weight:500}.toast-actions{display:flex;flex-wrap:wrap;gap:.5rem}@keyframes toast-in{0%{transform:translate(-50%,8px);opacity:.4}}@media(max-width:720px){.strip-name{display:none}.strip-seg{grid-template-columns:1fr;min-width:0}}.repo-link{display:inline-flex;align-items:center;justify-content:center;padding:.35rem;border-radius:6px;color:var(--muted)}.repo-link:hover{color:var(--ink);background:var(--btn-hover)}.site-header{border-bottom:1px solid var(--line);background:var(--surface)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.9rem}.header-nav{display:flex;align-items:center;gap:.75rem}.header-link{font-size:var(--step--1);font-weight:500}.header-link[aria-current=page]{color:var(--ink)}
