:root{--bg:#131629;--bg-raise:#1c2038;--panel:#1c2038;--ink:#eae7db;--text:#eae7db;--muted:#a4a9cc;--faint:#6b709e;--line:#313666;--line-soft:#222746;--accent:#3cc88e;--accent-soft:color-mix(in srgb, var(--accent) 14%, transparent);--gold:#d9b564;--gold-soft:color-mix(in srgb, var(--gold) 14%, transparent);--coral:#e08573;--coral-soft:color-mix(in srgb, var(--coral) 14%, transparent);--score:var(--gold);--sans:"Schibsted Grotesk", system-ui, -apple-system, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", monospace}*{box-sizing:border-box}html{background:var(--bg)}body{color:var(--ink);font-family:var(--sans);background:radial-gradient(900px 360px at 50% -120px, color-mix(in srgb, var(--accent) 5%, transparent), transparent 70%), var(--bg);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:15px;line-height:1.55}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.gutters{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.gutter{width:calc(50vw - 450px);position:absolute;top:0;bottom:0;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 14% 86%,#0000);mask-image:linear-gradient(#0000,#000 14% 86%,#0000)}.gutter.left{left:0}.gutter.right{right:0}.stream{width:100%;font-family:var(--mono);white-space:pre;color:color-mix(in srgb, var(--accent) 30%, transparent);padding:0 26px;font-size:11.5px;line-height:2;animation:60s linear infinite drift;position:absolute;top:0}.gutter.right .stream{text-align:right;animation-duration:78s;animation-direction:reverse}.stream .cmt{color:color-mix(in srgb, var(--accent) 15%, transparent);font-style:italic}.stream .kw{color:color-mix(in srgb, var(--coral) 32%, transparent)}.stream .fn{color:color-mix(in srgb, var(--gold) 34%, transparent)}@keyframes drift{0%{transform:translateY(0)}to{transform:translateY(-33.333%)}}@media (prefers-reduced-motion:reduce){.stream{animation:none}}.container,.foot{z-index:1;position:relative}code{font-family:var(--mono);color:var(--ink);background:var(--bg-raise);border:1px solid var(--line-soft);border-radius:3px;padding:1px 5px;font-size:.9em}.topbar{z-index:2;background:var(--bg);border-bottom:2px solid var(--ink);justify-content:space-between;align-items:center;padding:16px 24px;display:flex;position:relative}.brand{color:var(--ink);align-items:center;gap:11px;display:inline-flex}.brand:hover{color:var(--ink);text-decoration:none}.facet-ladder{flex:none;width:25px;height:auto}.facet-ladder .lo{opacity:.5}.brand-word{font-family:var(--mono);letter-spacing:.3em;text-indent:.3em;color:var(--ink);text-transform:uppercase;font-size:26px;font-weight:700}.topbar nav a{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-left:22px;font-size:13px}.topbar nav a:hover{color:var(--ink);text-decoration:none}.container{max-width:860px;margin:0 auto;padding:40px 24px 72px}.foot{max-width:860px;color:var(--muted);border-top:1px solid var(--line);margin:0 auto;padding:22px 24px;font-size:12.5px}.hero h1{letter-spacing:-.015em;text-wrap:pretty;margin:0 0 14px;font-size:42px;font-weight:600;line-height:1.08}.hero p.lead{color:var(--muted);text-wrap:pretty;font-size:18px}h1{letter-spacing:-.015em;margin:0 0 8px;font-size:34px;font-weight:600}h3{text-transform:uppercase;letter-spacing:.14em;color:var(--ink);font-size:13px;font-weight:600}.btn{border:1px solid var(--line);background:var(--bg-raise);color:var(--ink);cursor:pointer;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;border-radius:6px;margin:6px 8px 6px 0;padding:10px 18px;font-size:12px;transition:color .15s,border-color .15s,background .15s;display:inline-block}.btn:hover{border-color:var(--faint);text-decoration:none}.btn.primary{background:var(--accent);color:var(--bg);border-color:var(--accent);font-weight:700}.btn.primary:hover{background:color-mix(in srgb, var(--accent) 88%, white);border-color:var(--accent)}.card{background:var(--bg-raise);border:1px solid var(--line);border-radius:8px;margin:16px 0;padding:20px}.card h3{margin-top:0}.row{border-bottom:1px solid var(--line-soft);align-items:center;gap:12px;padding:9px 0;display:flex}.row:last-child{border-bottom:none}a.row:hover{background:color-mix(in srgb, var(--accent) 4%, transparent);text-decoration:none}.bar{border:1px solid var(--line);background:0 0;border-radius:3px;flex:1;height:13px;overflow:hidden}.bar>i{background:var(--accent);height:100%;display:block}.tag{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-size:10px}.tag.prov{color:var(--gold);border:1px dashed var(--gold);background:var(--gold-soft);border-radius:2px;padding:2px 6px}.score{font-family:var(--mono);color:var(--score);font-size:13px;font-weight:700}.score span{color:var(--faint);font-weight:400}input[type=email]{border:1px solid var(--line);background:var(--bg);color:var(--ink);font-family:var(--mono);border-radius:6px;width:280px;max-width:100%;padding:10px 12px;font-size:14px}input[type=email]::placeholder{color:var(--faint)}input[type=email]:focus{border-color:var(--accent);outline:none}textarea,select{border:1px solid var(--line);background:var(--bg);color:var(--ink);font-family:var(--mono);border-radius:6px}select{width:100%;padding:10px 12px;font-size:13px}textarea{resize:vertical;width:100%;min-height:220px;padding:14px;font-size:13px;line-height:1.5}textarea::placeholder{color:var(--faint)}textarea:focus,select:focus{border-color:var(--accent);outline:none}button:disabled{opacity:.55;cursor:not-allowed}.dashboard-head,.form-actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.profile-form{gap:14px;display:grid}.form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:12px;display:grid}.form-grid label{gap:6px;display:grid}.checkbox-row{color:var(--muted);align-items:flex-start;gap:10px;font-size:13px;display:flex}.checkbox-row input{accent-color:var(--accent);margin-top:4px}.legal{max-width:760px}.legal h1{margin-bottom:6px}.legal h2{letter-spacing:.02em;color:var(--ink);border-top:1px solid var(--line-soft);margin:30px 0 8px;padding-top:18px;font-size:15px;font-weight:600}.legal h2:first-of-type{border-top:none;padding-top:0}.legal p,.legal li{color:var(--muted);line-height:1.7}.legal p{margin:0 0 12px}.legal b,.legal strong{color:var(--ink);font-weight:600}.legal ul{margin:0 0 14px;padding-left:22px}.legal li{margin:0 0 7px}.legal a{text-decoration:underline}.legal .updated{font-family:var(--mono);color:var(--faint);letter-spacing:.04em;font-size:11.5px}.legal .draft-banner{border:1px dashed var(--gold);background:var(--gold-soft);color:var(--ink);border-radius:6px;margin:16px 0 24px;padding:12px 16px;font-size:13px}.fb-group{flex-wrap:wrap;gap:8px;display:inline-flex}.fb-btn{font-family:var(--mono);letter-spacing:.04em;border:1px solid var(--line);background:var(--bg-raise);color:var(--ink);cursor:pointer;border-radius:6px;padding:8px 16px;font-size:12px;transition:color .12s,border-color .12s,background .12s}.fb-btn:hover{border-color:var(--faint)}.fb-btn.sel{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:700}.dim-fb{flex:none;gap:3px;display:inline-flex}.dim-fb-btn{width:24px;height:22px;font-family:var(--mono);border:1px solid var(--line-soft);color:var(--faint);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;font-size:12px;line-height:1;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.dim-fb-btn:hover{color:var(--ink);border-color:var(--faint)}.dim-fb-btn.sel{background:var(--accent);border-color:var(--accent);color:var(--bg)}.dim-row{position:relative}.dim-row .dim-fb{white-space:nowrap}@media (min-width:1100px){.dim-row .dim-fb{margin-left:18px;position:absolute;top:50%;left:100%;transform:translateY(-50%)}}.challenge-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (max-width:860px){.challenge-grid{grid-template-columns:1fr}}.code-block{background:var(--bg);border:1px solid var(--line-soft);max-height:480px;font-family:var(--mono);color:var(--ink);white-space:pre;tab-size:4;border-radius:6px;margin:0;padding:16px;font-size:12.5px;line-height:1.55;overflow:auto}.note{color:var(--muted);font-size:13px}.note b{color:var(--ink);font-weight:500}.err{color:var(--coral);border:1px solid var(--coral);background:var(--coral-soft);border-radius:6px;padding:10px 14px;font-size:14px}.report-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.print-btn{background:var(--accent);color:var(--bg);border-color:var(--accent);flex:none;font-weight:700}.print-btn:hover{background:color-mix(in srgb, var(--accent) 88%, white);border-color:var(--accent)}@media print{@page{margin:18mm 16mm}html,body{color:#1a1a1a;background:#fff!important}body{font-size:11.5pt;background-image:none!important}.topbar,.foot,.print-btn,.gutters{display:none!important}.container{max-width:100%;padding:0}h1{color:#141414}.note,.note b{color:#333}.card{break-inside:avoid;page-break-inside:avoid;background:#fff;border-color:#ddd}.row{break-inside:avoid;border-color:#e4e4de}.bar{border-color:#bbb}.bar>i{background:#0a7f55}.score{color:#9a7a1e}.score span{color:#999}.tag{color:#777}.tag.prov{color:#9a7a1e;background:0 0;border-color:#9a7a1e}b{color:#141414}}@media (max-width:720px){.container{padding:28px 16px 56px}.topbar,.dashboard-head,.form-actions,.report-head{flex-direction:column;align-items:flex-start}.topbar nav a{margin-left:0;margin-right:16px}.form-grid{grid-template-columns:1fr}.row{flex-wrap:wrap;align-items:flex-start}}
