:root{--soa-cream: #f6f1e3;--soa-ink: #000000;--soa-sage: #ccc8bc;--soa-hairline: #d6d2c6;--soa-text-light: #4d4b47;--soa-accent: #2d7d46;--soa-secondary: #99968d;--soa-dim-grey: #686868;--soa-ease: cubic-bezier(.23, 1, .32, 1);--bg: var(--soa-cream);--surface: var(--soa-cream);--surface-band: var(--soa-sage);--surface-sunk: #efe9d8;--ink: var(--soa-ink);--ink-soft: var(--soa-text-light);--ink-dim: var(--soa-dim-grey);--on-ink: var(--soa-cream);--accent: var(--soa-accent);--decor: var(--soa-secondary);--line: var(--soa-hairline);--line-strong: #8f8a7e;--status-documented: #1f5a32;--status-documented-bg: #dfe8dc;--status-gap: #7a5406;--status-gap-bg: #f2e7c8;--status-recommended: var(--ink);--status-recommended-bg: var(--surface-band);--emergency: #8f2317;--emergency-deep: #6f1a11;--emergency-bg: #f5ded9;--warning: var(--status-gap);--warning-bg: var(--status-gap-bg);--warning-line: #dcc79a;--font-display: "Sprat", "Iowan Old Style", Georgia, "Times New Roman", serif;--font-body: "Apfel Grotezk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--text-2xs: .7rem;--text-xs: .78rem;--text-sm: .88rem;--text-base: 1rem;--text-lg: 1.12rem;--text-xl: 1.25rem;--title-sub: 1.08rem;--title-section: 1.3rem;--title-screen: 1.6rem;--title-emergency: 1.75rem;--lh-display: 1.08;--lh-body: 1.45;--track-display: -.04em;--track-title: -.02em;--track-caps: .08em;--track-label: .1em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 40px;--space-8: 48px;--space-9: 64px;--space-10: 80px;--section-gap: var(--space-6);--pad-screen: var(--space-4);--radius-pill: 200px;--radius-card: 12px;--radius-soft: 6px;--radius-input: 1px;--radius: var(--radius-card);--tap: 48px;--field-h: 48px;--field-h-lg: 52px;--control: 28px;--topbar-h: 60px;--tabbar-h: 60px;--tabbar-clear: 84px;--ease: var(--soa-ease);--dur-color: .6s;--dur-link: .4s;--dur-tap: .12s;--focus: #101010;--focus-width: 3px;--focus-offset: 2px;--z-sticky: 10;--z-navband: 19;--z-chrome: 20;--z-overlay: 40;--z-skip: 100;color-scheme:light}@font-face{font-family:Sprat;src:url(/fonts/Sprat-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Sprat;src:url(/fonts/Sprat-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Apfel Grotezk;src:url(/fonts/ApfelGrotezk-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}*{box-sizing:border-box}html{font-size:17px;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-body);font-weight:400;font-size:var(--text-base);line-height:var(--lh-body);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-synthesis:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:400;line-height:var(--lh-display);letter-spacing:var(--track-title);margin:0}h1{font-size:var(--title-screen);margin:0 0 var(--space-3)}h2{font-size:var(--title-section);margin:var(--space-6) 0 var(--space-3)}h3{font-size:var(--title-sub);margin:var(--space-5) 0 var(--space-2)}p{margin:var(--space-2) 0}strong,b{font-family:var(--font-display);font-weight:400;letter-spacing:var(--track-title)}a{color:var(--ink);text-decoration-color:var(--line-strong);text-underline-offset:.2em;transition:color var(--dur-link) var(--ease)}a:hover{color:var(--status-documented)}ul,ol{margin:var(--space-2) 0;padding-left:1.25em}li{margin:var(--space-1) 0}:focus-visible{outline:var(--focus-width) solid var(--focus);outline-offset:var(--focus-offset);border-radius:2px}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.app{min-height:100dvh;display:flex;flex-direction:column}.main{flex:1;width:100%;max-width:720px;margin:0 auto;padding:var(--pad-screen) var(--pad-screen) calc(var(--tabbar-clear) + env(safe-area-inset-bottom))}.skip-link{position:absolute;left:-9999px;top:0;z-index:var(--z-skip);background:var(--ink);color:var(--on-ink);padding:var(--space-3) var(--space-4);text-transform:uppercase;letter-spacing:var(--track-caps);font-size:var(--text-xs)}.skip-link:focus{left:0}.topbar{position:sticky;top:0;z-index:var(--z-chrome);display:flex;align-items:center;gap:var(--space-4);min-height:var(--topbar-h);padding:var(--space-2) var(--pad-screen);padding-top:calc(var(--space-2) + env(safe-area-inset-top));background:var(--bg);border-bottom:1px solid var(--line)}.topbar .title{flex:1;font-family:var(--font-display);font-weight:400;font-size:.95rem;text-transform:uppercase;letter-spacing:var(--track-display);line-height:var(--lh-display)}@media (min-width: 420px){.topbar .title{font-size:1.05rem}}.emergency-button{background:var(--emergency);color:var(--on-ink);border:none;border-radius:var(--radius-pill);font-family:var(--font-body);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--track-caps);min-height:var(--tap);padding:0 var(--space-4);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-color) var(--ease)}.emergency-button:active{background:var(--emergency-deep)}.offline-banner{background:var(--warning-bg);color:var(--warning);border-top:1px solid var(--warning-line);border-bottom:1px solid var(--warning-line);text-align:center;text-transform:uppercase;letter-spacing:var(--track-caps);font-size:var(--text-xs);padding:var(--space-2) var(--pad-screen)}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-chrome);display:flex;background:var(--bg);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tabbar a{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);min-height:var(--tabbar-h);text-decoration:none;color:var(--ink-soft);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em}.tabbar a.active{color:var(--ink)}.tabbar a.active:after{content:"";position:absolute;top:0;left:20%;right:20%;height:2px;background:var(--ink)}.tabbar .icon{display:flex;line-height:1}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-4);margin:var(--space-3) 0}.list{list-style:none;margin:0;padding:0}.list>li{margin:var(--space-2) 0}.row-link{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-3) var(--space-4);min-height:var(--tap);text-decoration:none;color:var(--ink);transition:background-color var(--dur-color) var(--ease)}.row-link:active{background:var(--surface-band)}.row-link strong{font-family:var(--font-display);font-size:var(--title-sub);letter-spacing:var(--track-title)}.row-link .sub{display:block;margin-top:var(--space-1);color:var(--ink-soft);font-size:var(--text-sm)}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);color:var(--ink-soft);font-size:var(--text-sm)}.breadcrumbs a{color:var(--ink-soft)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);border:1px solid var(--line-strong);border-radius:var(--radius-pill);padding:.15rem var(--space-3);font-size:.72rem;text-transform:uppercase;letter-spacing:var(--track-caps);white-space:nowrap}.badge.documented{background:var(--status-documented-bg);color:var(--status-documented);border-color:var(--status-documented)}.badge.gap{background:var(--status-gap-bg);color:var(--status-gap);border-color:var(--status-gap)}.badge.recommended{background:var(--status-recommended-bg);color:var(--status-recommended);border-color:var(--ink)}.badge.locked{background:transparent;color:var(--ink-soft);border-color:var(--line-strong)}.badge.type{background:transparent;color:var(--ink-soft);border-color:var(--line)}.chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0}.chip{display:inline-flex;align-items:center;gap:var(--space-2);min-height:40px;padding:var(--space-2) var(--space-4);background:var(--surface);border:1px solid var(--ink);border-radius:var(--radius-pill);color:var(--ink);text-decoration:none;font-size:var(--text-sm);transition:background-color var(--dur-color) var(--ease)}.chip.locked{border-style:dashed;border-color:var(--line-strong);color:var(--ink-soft)}.chip .rel{color:var(--ink-soft);font-size:var(--text-xs)}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap);padding:0 var(--space-5);background:var(--ink);color:var(--on-ink);border:none;border-radius:var(--radius-pill);font-family:var(--font-body);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--track-caps);text-decoration:none;cursor:pointer;transition:background-color var(--dur-color) var(--ease)}.button:disabled{opacity:.45;cursor:default}.button.secondary{background:transparent;color:var(--ink);border:1px solid var(--ink)}.button.danger{background:var(--emergency);color:var(--on-ink)}.button.small{min-height:40px;padding:0 var(--space-4);font-size:var(--text-xs)}.button-row{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-4) 0}label.field{display:block;margin:var(--space-4) 0;color:var(--ink);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--track-caps)}label.field input,label.field textarea,label.field select{text-transform:none;letter-spacing:normal;font-size:var(--text-base)}label.field .hint{display:inline;text-transform:none;letter-spacing:normal;color:var(--ink-soft);font-size:var(--text-sm)}input[type=text],input[type=email],input[type=date],input[type=tel],input[type=number],input[type=url],input[type=search],textarea,select{display:block;width:100%;margin-top:var(--space-2);min-height:var(--field-h);padding:var(--space-2) var(--space-3);font-family:var(--font-body);font-size:var(--text-base);color:var(--ink);background:transparent;border:1px solid var(--line-strong);border-radius:var(--radius-input);transition:border-color var(--dur-color) var(--ease)}input:focus,textarea:focus,select:focus{border-color:var(--accent)}textarea{min-height:5.5rem;resize:vertical;line-height:var(--lh-body)}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:var(--space-8);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1.5L6 6.5L11 1.5' stroke='%23000' stroke-width='1.5' fill='none'/></svg>");background-repeat:no-repeat;background-position:right var(--space-4) center}.checkbox-field{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-4) 0;font-size:var(--text-base)}.checkbox-field input{width:var(--control);height:var(--control);flex:none;margin:0;accent-color:var(--ink)}.step{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.step .num{flex:none;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--ink);color:var(--on-ink);border-radius:var(--radius-pill);font-family:var(--font-display);font-size:var(--text-sm)}.step.warning{background:var(--warning-bg);border-left:3px solid var(--warning);border-radius:var(--radius-soft);padding:var(--space-3)}.step.warning .num{background:var(--warning)}.step input[type=checkbox]{width:var(--control);height:var(--control);flex:none;margin-top:2px;accent-color:var(--ink)}.warning-banner{display:flex;align-items:flex-start;gap:var(--space-2);background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-line);border-left:3px solid var(--warning);border-radius:var(--radius-soft);padding:var(--space-3) var(--space-4);margin:var(--space-3) 0}.emergency-screen{--tabbar-clear: 0px;--text-base: 1.12rem;--field-h: var(--field-h-lg);background:var(--bg)}.emergency-card{background:var(--surface);border:3px solid var(--emergency);border-radius:var(--radius-card);padding:var(--space-5);margin:var(--space-4) 0}.emergency-card h2{margin:0 0 var(--space-4);font-family:var(--font-display);font-weight:700;font-size:var(--title-emergency);text-transform:uppercase;letter-spacing:var(--track-display);color:var(--emergency-deep)}.emergency-card .action{font-size:var(--text-xl);padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.emergency-card .call{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;font-size:var(--text-lg)}.emergency-card .call a{display:inline-flex;align-items:center;min-height:var(--tap);padding:var(--space-2) var(--space-5);background:var(--emergency);color:var(--on-ink);border-radius:var(--radius-pill);text-decoration:none;font-variant-numeric:tabular-nums}.diff{font-size:var(--text-sm)}.diff .field-name{margin-top:var(--space-3);color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--track-caps)}.diff .before{display:block;margin:2px 0;padding:.15rem var(--space-2);background:var(--emergency-bg);color:var(--emergency);border-radius:var(--radius-soft);text-decoration:line-through}.diff .after{display:block;margin:2px 0;padding:.15rem var(--space-2);background:var(--status-documented-bg);color:var(--status-documented);border-radius:var(--radius-soft)}.guide-thread{display:flex;flex-direction:column;gap:var(--space-3)}.bubble{max-width:92%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-card)}.bubble.user{align-self:flex-end;background:var(--ink);color:var(--on-ink)}.bubble.guide{align-self:flex-start;background:var(--surface);border:1px solid var(--line);white-space:pre-wrap}.bubble.refusal{background:var(--warning-bg);border-color:var(--warning-line)}.guide-input{position:sticky;bottom:calc(var(--tabbar-clear) + env(safe-area-inset-bottom));display:flex;gap:var(--space-2);padding:var(--space-2) 0;background:var(--bg);border-top:1px solid var(--line)}.guide-input input{flex:1;margin-top:0}.site-map{width:100%;height:auto;background:var(--surface-sunk);border:1px solid var(--line);border-radius:var(--radius-card);touch-action:manipulation}.map-pin{cursor:pointer}.map-pin text{font-family:var(--font-display);font-size:12px;fill:var(--ink);paint-order:stroke;stroke:var(--bg);stroke-width:3px}.muted{color:var(--ink-soft);font-size:var(--text-sm)}.error-text{display:block;padding-left:var(--space-3);border-left:3px solid var(--emergency);color:var(--emergency)}.empty{padding:var(--space-8) var(--space-4);text-align:center;color:var(--ink-soft)}.section-label{margin:var(--space-6) 0 var(--space-2);padding-bottom:var(--space-1);border-bottom:1px solid var(--line);color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--track-label)}.filter-row{display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-2) 0}.filter-row select{min-width:8rem;margin-top:0}.login-screen{--tabbar-clear: 0px}@media (min-width: 600px){:root{--pad-screen: var(--space-5)}.main--read,.main--edit{max-width:730px}.main--list{max-width:884px}.main--wide{max-width:1269px}.filter-row{flex-wrap:wrap;overflow-x:visible}}@media (min-width: 900px){:root{--tabbar-clear: 0px;--section-gap: var(--space-8);--title-screen: 1.9rem}.tabbar{position:sticky;top:var(--topbar-h);bottom:auto;z-index:var(--z-navband);justify-content:center;gap:var(--space-2);padding-bottom:0;border-top:0;border-bottom:1px solid var(--line)}.tabbar a{flex:0 0 auto;flex-direction:row;gap:var(--space-2);min-height:52px;padding:0 var(--space-4);font-size:var(--text-xs)}.tabbar a.active:after{top:auto;bottom:0;left:var(--space-3);right:var(--space-3)}.main--edit h2{position:sticky;top:calc(var(--topbar-h) + 52px);z-index:var(--z-sticky);background:var(--bg);padding:var(--space-2) 0;border-bottom:1px solid var(--line)}.main--edit .button-row--actions{position:sticky;bottom:0;z-index:var(--z-sticky);margin:0;padding:var(--space-3) 0;background:var(--bg);border-top:1px solid var(--line)}}@media (hover: hover) and (pointer: fine){.button:hover{background:var(--ink-soft)}.button.secondary:hover{background:var(--line)}.button.danger:hover,.emergency-button:hover{background:var(--emergency-deep)}.row-link:hover,.chip:hover{background:var(--surface-band)}.tabbar a:hover{color:var(--ink)}}@media (min-width: 1200px){:root{--pad-screen: var(--space-7)}}@media print{.topbar,.tabbar,.button,.button-row,.guide-input,.offline-banner,.skip-link{display:none!important}body{background:#fff;font-size:12pt}.main{max-width:none;padding:0}.card{border:1px solid #999}.emergency-card{break-inside:avoid;border-width:2px}}
