:root{--c-brand: #00c279;--c-brand-deep: #009f63;--c-brand-bright: #33d695;--c-brand-ink: #00713f;--c-brand-wash: rgba(0, 194, 121, .12);--c-brand-ring: rgba(0, 194, 121, .34);--c-brand-grad: linear-gradient(135deg, #009f63 0%, #00c279 52%, #33d695 100%);--c-white: #ffffff;--c-grey-0: #f5f5f6;--c-grey-1: #ebeced;--c-dark-0: #15181b;--c-dark-1: #212529;--c-dark-2: #262a2e;--c-dark-3: #2f343a;--c-dark-4: #3a4046;--c-ink: #171514;--c-ink-soft: #5e574f;--c-ink-faint: #6e665d;--c-ink-inverse: #ffffff;--c-ink-inverse-soft: #d3d6d9;--c-ink-inverse-faint: #9aa0a6;--c-hair: rgba(23, 21, 20, .1);--c-hair-strong: rgba(23, 21, 20, .18);--c-hair-dark: rgba(255, 255, 255, .09);--c-hair-dark-strong: rgba(255, 255, 255, .16);--c-amber-ink: #7a5407;--c-amber-wash: rgba(181, 128, 27, .12);--c-amber-edge: rgba(181, 128, 27, .3);--c-rose: #ce3b33;--c-rose-ink: #a32a23;--c-rose-wash: rgba(206, 59, 51, .1);--c-rose-edge: rgba(206, 59, 51, .28);--c-ok-ink: #0a6b3f;--c-ok-wash: rgba(0, 194, 121, .12);--c-ok-edge: rgba(0, 194, 121, .28);--c-ok-bright: #37d399;--c-amber-bright: #e8b44c;--c-rose-bright: #e5544b;--c-rose-pale: #ff9c92;--c-amber-wash-dark: rgba(232, 180, 76, .14);--c-amber-edge-dark: rgba(232, 180, 76, .3);--c-rose-wash-dark: rgba(229, 84, 75, .14);--c-rose-edge-dark: rgba(229, 84, 75, .32);--c-ok-wash-dark: rgba(0, 194, 121, .14);--c-ok-edge-dark: rgba(0, 194, 121, .3);--c-on-brand: #06170d;--c-select: rgba(0, 194, 121, .18);--c-select-ink: #08301c;--canvas: var(--c-grey-0);--surface: var(--c-white);--surface-soft: var(--c-grey-0);--surface-hover: var(--c-grey-0);--surface-active: var(--c-grey-1);--line: var(--c-hair);--line-strong: var(--c-hair-strong);--line-soft: var(--c-hair);--ink: var(--c-ink);--ink-soft: var(--c-ink-soft);--ink-faint: var(--c-ink-faint);--brand: var(--c-brand);--brand-deep: var(--c-brand-deep);--brand-soft: var(--c-brand-wash);--brand-edge: var(--c-brand-ring);--on-brand: var(--c-on-brand);--brand-ink: var(--c-brand-ink);--brand-tint: var(--c-brand-wash);--brand-tint-line: var(--c-brand-ring);--brand-grad: var(--c-brand-grad);--brand-fill: var(--c-brand);--action-solid: var(--c-ink);--on-action-solid: var(--c-white);--ok: var(--c-ok-ink);--ok-soft: var(--c-ok-wash);--ok-edge: var(--c-ok-edge);--warn: var(--c-amber-ink);--warn-soft: var(--c-amber-wash);--warn-edge: var(--c-amber-edge);--fail: var(--c-rose);--fail-ink: var(--c-rose-ink);--fail-soft: var(--c-rose-wash);--fail-edge: var(--c-rose-edge);--info: var(--c-ink-soft);--info-soft: var(--c-grey-0);--info-edge: var(--c-hair);--shadow-hairline: none;--shadow-raised: 0 1px 2px rgba(23, 21, 20, .06), 0 10px 30px rgba(23, 21, 20, .08);--shadow-float: 0 24px 64px rgba(23, 21, 20, .18);--shadow-brand: 0 0 0 1px var(--brand-edge), 0 6px 26px rgba(0, 194, 121, .24);--ring: 0 0 0 3px var(--brand-edge);--scrim: rgba(23, 21, 20, .35);--scrim-strong: rgba(23, 21, 20, .45);--topbar-h: 56px;--face-display: "Schibsted Grotesk", system-ui, sans-serif;--face-ui: "Schibsted Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--face-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--t-micro: 11px;--t-xs: 12px;--t-sm: 13px;--t-md: 14px;--t-base: 16px;--t-lg: 18px;--t-xl: clamp(19px, 1.53vw, 22px);--t-2xl: clamp(24px, 2.2vw, 32px);--t-3xl: clamp(26px, 2.78vw, 40px);--t-display: clamp(34px, 4.45vw, 64px);--track-display: -.038em;--track-title: -.03em;--track-head: -.016em;--track-body: -.006em;--track-eyebrow: .09em;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--s8: 64px;--s9: clamp(64px, 8vw, 96px);--r-xs: 4px;--r-sm: 6px;--r-field: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 28px;--r-pill: 999px;--dur-press: 80ms;--dur-hover: .14s;--dur-state: .22s;--dur-enter: .38s;--ease: cubic-bezier(.2, .7, .2, 1);--press: .97;--shell-w: 1280px;--rail-w: 264px;--gutter-panel: 24px;--gutter-card: 20px;--mirror-w: 340px;--flow-w: 44rem;--composer-w: 760px;color-scheme:light}:root[data-ground=paper]{--canvas: var(--c-white);--surface: var(--c-white)}:root[data-theme=dark],.on-dark{--canvas: var(--c-dark-0);--surface: var(--c-dark-1);--surface-soft: var(--c-dark-2);--surface-hover: var(--c-dark-3);--surface-active: var(--c-dark-4);--line: var(--c-hair-dark);--line-strong: var(--c-hair-dark-strong);--line-soft: var(--c-hair-dark);--ink: var(--c-ink-inverse);--ink-soft: var(--c-ink-inverse-soft);--ink-faint: var(--c-ink-inverse-faint);--brand: var(--c-brand);--brand-deep: var(--c-brand-bright);--brand-soft: var(--c-brand-wash);--brand-edge: var(--c-brand-ring);--on-brand: var(--c-on-brand);--brand-ink: var(--c-brand-bright);--brand-fill: var(--c-brand);--action-solid: var(--c-ink-inverse);--on-action-solid: var(--c-dark-0);--ok: var(--c-ok-bright);--ok-soft: var(--c-ok-wash-dark);--ok-edge: var(--c-ok-edge-dark);--warn: var(--c-amber-bright);--warn-soft: var(--c-amber-wash-dark);--warn-edge: var(--c-amber-edge-dark);--fail: var(--c-rose-bright);--fail-ink: var(--c-rose-pale);--fail-soft: var(--c-rose-wash-dark);--fail-edge: var(--c-rose-edge-dark);--info: var(--c-ink-inverse-soft);--info-soft: var(--c-dark-2);--info-edge: var(--c-hair-dark);--shadow-raised: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px rgba(0, 0, 0, .28);--shadow-float: 0 24px 64px rgba(0, 0, 0, .45);--scrim: rgba(0, 0, 0, .5)}:root[data-theme=dark]{color-scheme:dark}.on-dark{background:var(--canvas);color:var(--ink)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;background:var(--canvas);color:var(--ink);font-family:var(--face-ui);font-size:var(--t-base);line-height:1.55;letter-spacing:var(--track-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--c-select);color:var(--c-select-ink)}h1,h2,h3,h4{font-family:var(--face-display);font-weight:600;letter-spacing:var(--track-title);line-height:1.08;margin:0;overflow-wrap:break-word}h1{font-size:var(--t-2xl)}h2{font-size:var(--t-xl);letter-spacing:var(--track-head);line-height:1.22}h3{font-size:var(--t-lg);letter-spacing:var(--track-head);line-height:1.3}h4{font-size:var(--t-base);letter-spacing:var(--track-head);line-height:1.4}p{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--r-sm)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.mono,code,kbd,pre{font-family:var(--face-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"zero" 1;letter-spacing:-.01em}code{font-size:.92em;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--r-xs);padding:1px 5px}.shell{max-width:var(--shell-w);margin:0 auto;padding:0 var(--s5)}@media (max-width: 640px){.shell{padding:0 20px}}.section{padding-block:var(--s9)}.section-tight{padding-block:var(--s8)}.topbar{position:sticky;top:0;z-index:40;padding:var(--s3) var(--s5) 0}.topbar-inner{max-width:var(--shell-w);margin:0 auto;padding:0 var(--s4) 0 var(--s5);height:var(--topbar-h);display:flex;align-items:center;gap:var(--s5);border:1px solid var(--line);border-radius:var(--r-pill);background:color-mix(in srgb,var(--canvas) 78%,transparent);-webkit-backdrop-filter:saturate(160%) blur(18px);backdrop-filter:saturate(160%) blur(18px)}.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--face-display);font-weight:700;font-size:var(--t-lg);letter-spacing:var(--track-title);flex:none;color:var(--ink)}.nav-main{display:flex;align-items:center;gap:var(--s1);margin-left:var(--s3)}.nav-link{padding:7px 14px;font-size:var(--t-md);font-weight:500;color:var(--ink-soft);border-radius:var(--r-pill);white-space:nowrap;transition:color var(--dur-hover) var(--ease),background var(--dur-hover) var(--ease)}.nav-link:hover{color:var(--ink);background:var(--surface-hover)}.nav-link.on{color:var(--ink);background:var(--surface-active)}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:var(--s2);min-width:0}.burger{display:none;flex-direction:column;gap:4px;width:36px;height:36px;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line);border-radius:var(--r-pill);cursor:pointer}.burger span{display:block;width:14px;height:1.5px;background:var(--ink-soft);transition:transform .18s var(--ease),opacity .18s var(--ease)}.burger.open span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}.burger.open span:nth-child(2){opacity:0}.burger.open span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}.drawer{display:none;flex-direction:column;max-width:var(--shell-w);margin:var(--s2) auto 0;padding:var(--s2) var(--s5) var(--s4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.drawer a,.drawer button{padding:10px 0;text-align:left;font-size:var(--t-base);font-weight:500;color:var(--ink-soft);background:none;border:0;border-bottom:1px solid var(--line);cursor:pointer}.drawer a:hover,.drawer button:hover{color:var(--ink)}.drawer .drawer-out{color:var(--fail);border-bottom:0}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;border:0;padding:0;background:var(--scrim)}.site-foot{position:relative;z-index:1;margin-top:var(--s8);border-top:1px solid var(--line);background:var(--canvas);padding:var(--s7) 0 var(--s6)}.foot-inner{display:grid;gap:var(--s6)}.foot-brand{display:flex;flex-direction:column;gap:var(--s3);max-width:360px}.foot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--s5)}.foot-cols div{display:flex;flex-direction:column;gap:var(--s2)}.foot-cols a{display:flex;align-items:center;font-size:var(--t-md);color:var(--ink-soft)}.foot-cols a:hover{color:var(--ink)}@media (min-width: 900px){.foot-inner{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--s7)}}@media (max-width: 900px){.nav-main{display:none}.burger,.drawer{display:flex}.topbar{padding:var(--s2) var(--s4) 0}.topbar-inner{padding:0 var(--s3) 0 var(--s4);gap:var(--s3)}}@media (pointer: coarse){.brand,.nav-link,.drawer a,.drawer button,.foot-cols a{min-height:44px}.nav-link,.drawer a,.drawer button{display:inline-flex;align-items:center}.burger{min-width:44px;min-height:44px}}.console{display:grid;grid-template-columns:var(--rail-w) minmax(0,1fr);height:100dvh;padding:14px 14px 14px 0;overflow:hidden;--rail-gutter: 0px}.console-card{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.console-head{display:flex;align-items:center;gap:var(--s3);flex:none;padding:var(--s3) var(--s5);min-height:56px}.console-card .panel{background:var(--surface-soft);border-color:transparent}.console-card .panel .card,.console-card .panel .field,.console-card .panel .chip{background:var(--surface)}.head-title{font-size:var(--t-lg);font-weight:600;letter-spacing:var(--track-head);margin:0;min-width:0}.console-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 var(--s5) var(--s5)}@media (max-width: 900px){.console{grid-template-columns:minmax(0,1fr);padding:0}.console-card{border:0;border-radius:0}.console{--rail-gutter: 48px}.console-head{padding-left:calc(var(--s5) + var(--rail-gutter))}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md)}.panel-flush{overflow:hidden}.panel-body{padding:var(--gutter-panel)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s4) var(--s5);border-bottom:1px solid var(--line)}.card{display:block;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--gutter-card);transition:border-color var(--dur-hover) var(--ease),background var(--dur-hover) var(--ease),transform var(--dur-press) var(--ease)}.card:hover{background:var(--surface-active);border-color:var(--line-strong)}.card-active{background:var(--surface);border-color:var(--brand)}.tile{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s5)}.eyebrow{font-size:var(--t-micro);font-weight:600;letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--ink-faint)}.lede{max-width:62ch;font-size:var(--t-lg);line-height:1.5;color:var(--ink-soft)}.dim{color:var(--ink-soft)}.faint{color:var(--ink-faint)}.small{font-size:var(--t-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);padding:11px 20px;font-size:var(--t-md);font-weight:600;line-height:1.2;letter-spacing:var(--track-body);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap;transition:transform var(--dur-press) var(--ease),background var(--dur-hover) var(--ease),border-color var(--dur-hover) var(--ease),color var(--dur-hover) var(--ease),opacity var(--dur-hover) var(--ease)}.btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--line-strong)}.btn:active:not(:disabled){transform:scale(var(--press))}.btn:disabled{opacity:.42;cursor:not-allowed;transform:none}.btn-primary{background:var(--action-solid);border-color:transparent;color:var(--on-action-solid)}.btn-primary:hover:not(:disabled){background:var(--action-solid);opacity:.88;color:var(--on-action-solid)}.btn-brand{background:var(--brand);border-color:transparent;color:var(--on-brand)}.btn-brand:hover:not(:disabled){background:var(--brand-deep);color:var(--on-brand)}.btn-ghost{background:transparent;border-color:transparent;color:var(--ink-soft)}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);border-color:transparent;color:var(--ink)}.btn-danger{color:var(--fail-ink);border-color:var(--fail-edge);background:var(--fail-soft)}.btn-danger:hover:not(:disabled){border-color:var(--fail);background:var(--fail-soft);color:var(--fail-ink)}.btn-sm{padding:7px 14px;font-size:var(--t-sm)}.btn-lg{padding:15px 26px;font-size:var(--t-base)}.btn-block{width:100%}.btn-icon{width:36px;height:36px;padding:0;border-radius:var(--r-pill)}.field{display:block;width:100%;padding:12px 14px;font-size:var(--t-md);font-weight:400;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-field);transition:border-color var(--dur-hover) var(--ease),box-shadow var(--dur-hover) var(--ease)}.field:hover:not(:disabled){border-color:var(--line-strong)}.field:focus{outline:none;border-color:var(--brand);box-shadow:var(--ring)}.field::placeholder{color:var(--ink-faint)}.field:disabled{background:var(--surface-soft);color:var(--ink-faint);opacity:.42}textarea.field{min-height:96px;resize:vertical;line-height:1.6}.label{display:block;margin-bottom:var(--s2);font-size:var(--t-sm);font-weight:600;color:var(--ink)}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;font-size:var(--t-xs);font-weight:500;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-soft);color:var(--ink-soft);white-space:nowrap}.chip-live{color:var(--brand-ink);border-color:var(--brand-edge);background:var(--brand-soft)}.chip-ok{color:var(--ok);border-color:var(--ok-edge);background:var(--ok-soft)}.chip-warn{color:var(--warn);border-color:var(--warn-edge);background:var(--warn-soft)}.chip-fail{color:var(--fail-ink);border-color:var(--fail-edge);background:var(--fail-soft)}.chip-info{color:var(--info);border-color:var(--info-edge);background:var(--info-soft)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;font-size:var(--t-micro);font-weight:600;border-radius:var(--r-pill);background:var(--brand);color:var(--on-brand);white-space:nowrap}.pulse{width:7px;height:7px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 0 var(--brand-edge);animation:pulse 1.9s cubic-bezier(.4,0,.6,1) infinite;flex:none}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--brand-edge)}70%{box-shadow:0 0 0 7px transparent}to{box-shadow:0 0 0 0 transparent}}.dot{width:7px;height:7px;border-radius:50%;background:var(--ink-faint);flex:none}.row{display:flex;align-items:center;gap:var(--s4);padding:var(--s3) var(--s5);border-bottom:1px solid var(--line);transition:background var(--dur-hover) var(--ease)}.row:last-child{border-bottom:0}.row:hover{background:var(--surface-hover)}.row-title{font-weight:600;letter-spacing:var(--track-head)}.empty{padding:var(--s7) var(--s5);text-align:center;color:var(--ink-soft)}.empty-act{margin-top:var(--s4);display:flex;gap:var(--s3);justify-content:center;flex-wrap:wrap}.empty h3{margin-bottom:var(--s2);color:var(--ink)}.note{display:flex;gap:var(--s3);padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-soft);color:var(--ink-soft);font-size:var(--t-md)}.note-warn{border-color:var(--warn-edge);background:var(--warn-soft);color:var(--warn)}.note-fail{border-color:var(--fail-edge);background:var(--fail-soft);color:var(--fail-ink)}.note-ok{border-color:var(--ok-edge);background:var(--ok-soft);color:var(--ok)}.note-info{border-color:var(--info-edge);background:var(--info-soft);color:var(--info)}.stack{display:flex;flex-direction:column;gap:var(--s4)}.stack-sm{display:flex;flex-direction:column;gap:var(--s2)}.cluster{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap}.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--col-min, 240px),1fr));gap:var(--s4)}.spread{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}.grow{flex:1;min-width:0}.block{display:block}.prose-w{max-width:720px}@media (max-width: 900px){.hide-sm{display:none}}@media (max-width: 560px){.hide-xs{display:none}}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (prefers-reduced-motion: no-preference){.reveal{animation:reveal var(--dur-enter) var(--ease) both}.reveal-1{animation-delay:.04s}.reveal-2{animation-delay:.09s}.reveal-3{animation-delay:.14s}.reveal-4{animation-delay:.19s}}@keyframes reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (pointer: coarse){.btn,.btn-sm,.btn-icon,.field,select,summary,.tap{min-height:44px}.btn-icon{min-width:44px}.tap{display:inline-flex;align-items:center}input[type=checkbox],input[type=radio]{min-width:24px;min-height:24px}}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:var(--r-pill);border:3px solid transparent;background-clip:content-box}
