:root[data-theme=graphite]{--bg: #0e1013;--surface: #161a1f;--raised: #1b2027;--sunken: #0a0c0e;--ink: #e6eaef;--ink-dim: #8b95a1;--ink-faint: #4a535d;--line: #262d36;--line-soft: #1c222a;--accent: #4d9fd6;--accent-2: #7bbde8;--on-accent: #08131b;--ok: #5cb08a;--warn: #d4a13c;--bad: #d16b60;--info: #7b8fd6;--shadow: 0 1px 2px rgba(0,0,0,.4), 0 6px 20px rgba(0,0,0,.28);color-scheme:dark}:root[data-theme=studio]{--bg: #f4f6f8;--surface: #ffffff;--raised: #ffffff;--sunken: #eaeef2;--ink: #121821;--ink-dim: #5f6b7a;--ink-faint: #9aa5b1;--line: #dde3ea;--line-soft: #eaeef2;--accent: #1f6feb;--accent-2: #4a8ef5;--on-accent: #ffffff;--ok: #1a7f4f;--warn: #9a6a00;--bad: #c0392b;--info: #5b57c7;--shadow: 0 1px 2px rgba(16,24,40,.06), 0 6px 18px rgba(16,24,40,.08);color-scheme:light}:root{--chart-income: #c87f3a;--chart-expense: #5b8fc7;--radius: 3px;--font-head: "Fraunces", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sidebar-w: 208px;--tabbar-h: 56px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-body);font-size:14px;line-height:1.45;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}h1,h2,h3,h4{font-family:var(--font-head);font-weight:300;letter-spacing:-.01em;line-height:1.2}h1{font-size:28px}h2{font-size:24px}h3{font-size:18px}h4{font-size:16px}.label,label,.micro{display:block;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);font-weight:500}.mono{font-family:var(--font-mono);font-size:12px}.dim{color:var(--ink-dim)}.faint{color:var(--ink-faint)}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100%}.sidebar{background:var(--sunken);border-right:1px solid var(--line);padding:var(--sp-5) 0;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{padding:0 var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line-soft)}.brand-name{font-family:var(--font-head);font-size:20px;font-weight:300}.brand-logo{display:block;color:var(--ink)}.brand-logo+.brand-sub{margin-top:6px}.brand-sub{font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-faint);margin-top:4px}.nav-section{padding:var(--sp-4) var(--sp-4) var(--sp-2)}.nav a{display:flex;align-items:baseline;gap:var(--sp-2);padding:8px var(--sp-4);color:var(--ink-dim);font-size:13px;text-decoration:none;border-left:2px solid transparent;transition:color .12s,background .12s}.nav a .n{font-family:var(--font-mono);font-size:10px;color:var(--ink-faint)}.nav a:hover{color:var(--ink);background:var(--surface);text-decoration:none}.nav a.active{color:var(--accent);border-left-color:var(--accent);background:var(--surface)}.nav a.active .n{color:var(--accent)}.main{padding:var(--sp-5) var(--sp-5) var(--sp-7);min-width:0}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--sp-3);flex-wrap:wrap;padding-bottom:var(--sp-3);border-bottom:1px solid var(--line);margin-bottom:var(--sp-4)}.page-head .sub{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin-top:5px}.btn{display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);border-radius:var(--radius);padding:8px 14px;cursor:pointer;font-family:var(--font-body);font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;transition:filter .12s}.btn:hover{filter:brightness(1.08)}.btn:active{filter:brightness(.94)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--ink-dim);border-color:var(--line)}.btn.ghost:hover{color:var(--ink);border-color:var(--ink-faint);filter:none}.btn.danger{background:transparent;color:var(--bad);border-color:var(--bad)}.btn.sm{padding:5px 10px;font-size:9px}input[type=text],input[type=number],input[type=date],input[type=search],input[type=email],input[type=password],select,textarea{width:100%;background:var(--sunken);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px;font-family:var(--font-body);font-size:13px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}.field{margin-bottom:var(--sp-3)}.field label{margin-bottom:5px}.field .hint{font-size:11px;color:var(--ink-faint);margin-top:4px}.tier-option{display:block;width:100%;text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);padding:10px 12px;margin-bottom:6px;cursor:pointer}.tier-option[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);background:var(--raised)}.tier-option .t{font-size:13px;font-weight:600}.tier-option .d{font-size:11px;color:var(--ink-faint);margin-top:2px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-4)}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--sp-2);margin-bottom:var(--sp-4)}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 13px}.stat .k{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint)}.stat .v{font-family:var(--font-head);font-weight:300;font-size:24px;margin-top:4px}.stat .v small{font-size:12px;color:var(--ink-dim);font-family:var(--font-body)}.table{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.tr{display:grid;gap:var(--sp-3);padding:10px 13px;border-bottom:1px solid var(--line-soft);align-items:center}.tr:last-child{border-bottom:none}.tr.head{background:var(--sunken);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);padding:8px 13px;position:sticky;top:0;z-index:2}.tr.clickable{cursor:pointer}.tr.clickable:hover{background:var(--raised)}.tr.selected{background:var(--raised);box-shadow:inset 2px 0 0 var(--accent)}.tr .name{font-size:13px;font-weight:500;line-height:1.3}.tr .meta{font-size:10px;color:var(--ink-faint);font-family:var(--font-mono);margin-top:2px}.tr .right{text-align:right}.group-head{padding:12px 13px 6px;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);background:var(--sunken);border-bottom:1px solid var(--line-soft)}.badge{display:inline-block;white-space:nowrap;font-size:8px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:3px 7px;border-radius:2px;border:1px solid currentColor;background:color-mix(in srgb,currentColor 14%,transparent)}.badge.ok{color:var(--ok)}.badge.warn{color:var(--warn)}.badge.bad{color:var(--bad)}.badge.info{color:var(--info)}.badge.accent{color:var(--accent)}.badge.neutral{color:var(--ink-faint)}.valuation{background:var(--sunken);border:1px solid var(--line-soft);border-radius:var(--radius);padding:12px}.valuation .range{font-family:var(--font-head);font-weight:300;font-size:21px;color:var(--accent);margin:4px 0 3px}.valuation .basis{font-size:10px;color:var(--ink-faint);line-height:1.5}.valuation .override-note{font-size:10px;color:var(--warn);margin-top:6px}.progress{height:3px;background:var(--sunken);border-radius:2px;overflow:hidden}.progress>i{display:block;height:100%;background:var(--accent);transition:width .25s ease}.pack-line{display:flex;align-items:center;gap:var(--sp-3);padding:12px 4px;border-bottom:1px solid var(--line-soft);min-height:48px;cursor:pointer;-webkit-user-select:none;user-select:none}.pack-line:last-child{border-bottom:none}.checkbox{width:22px;height:22px;flex:0 0 auto;border:1px solid var(--line);border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.checkbox.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.pack-line.done .pack-name{color:var(--ink-faint);text-decoration:line-through}.empty{text-align:center;padding:var(--sp-7) var(--sp-4);color:var(--ink-faint)}.empty h3{color:var(--ink-dim);margin-bottom:var(--sp-2)}.toolbar{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center;margin-bottom:var(--sp-3)}.chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-dim);border-radius:999px;padding:5px 11px;font-size:11px;cursor:pointer}.chip[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.banner{border:1px solid var(--line);border-left-width:3px;border-radius:var(--radius);padding:10px 12px;font-size:12px;background:var(--surface);margin-bottom:var(--sp-3)}.banner.warn{border-left-color:var(--warn)}.banner.bad{border-left-color:var(--bad)}.banner.ok{border-left-color:var(--ok)}.offline-bar{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--warn);color:#000;font-size:11px;letter-spacing:.1em;text-transform:uppercase;text-align:center;padding:7px}.tabbar{display:none}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.main{padding:var(--sp-4) var(--sp-3) calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 16px)}.tabbar{display:grid;grid-auto-flow:column;position:fixed;left:0;right:0;bottom:0;z-index:40;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--sunken);border-top:1px solid var(--line);-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px)}.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--ink-faint);font-size:9px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none}.tabbar a.active{color:var(--accent)}.tabbar svg{width:20px;height:20px}}@media print{.sidebar,.tabbar,.btn,.toolbar{display:none!important}body{background:#fff;color:#000}.badge{border:1px solid #666;color:#000!important;background:none}}.two-col{display:grid;gap:var(--sp-4);grid-template-columns:minmax(0,1fr) 300px}.row-2{display:grid;gap:var(--sp-3);grid-template-columns:1fr 1fr}.row-3{display:grid;gap:var(--sp-3);grid-template-columns:repeat(3,1fr)}@media (max-width: 820px){.two-col,.row-2,.row-3{grid-template-columns:1fr}}.mb4{margin-bottom:4px}.mb10{margin-bottom:10px}.btn-row{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.kv-line{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--line-soft);font-size:13px}.kv-line:last-child{border-bottom:none}.note-block{margin-top:12px;padding-top:12px;border-top:1px solid var(--line-soft);font-size:13px;color:var(--ink-dim);white-space:pre-wrap}.checkline{display:flex;gap:8px;align-items:center;text-transform:none;letter-spacing:0;font-size:12px;color:var(--ink-dim)}.checkline input{width:auto}.svc{padding:8px 0;border-bottom:1px solid var(--line-soft)}.svc:last-child{border-bottom:none}.svc-top{display:flex;justify-content:space-between;gap:8px;font-size:13px}.svc-meta{font-size:11px;margin-top:2px}.method{margin-top:10px;padding-top:10px;border-top:1px solid var(--line-soft)}.case-group{margin-bottom:var(--sp-4)}.case-group>.case-head{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0 6px;border-bottom:1px solid var(--line);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint)}.pack-name{font-size:14px}.pack-sub{font-size:11px;color:var(--ink-faint);font-family:var(--font-mono)}.pack-state{display:flex;gap:4px;align-items:center}.diff-item{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line-soft)}.diff-item:last-child{border-bottom:none}.step-rail{display:flex;gap:0;margin-bottom:var(--sp-4)}.step{flex:1;padding:8px 10px;border:1px solid var(--line);border-right:none;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);background:var(--surface);text-align:center}.step:last-child{border-right:1px solid var(--line)}.step.on{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.step.done{color:var(--accent);border-color:var(--accent)}.map-row{display:grid;grid-template-columns:1fr 24px 1fr;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line-soft)}.map-row .arrow{text-align:center;color:var(--ink-faint)}.preview-table{overflow-x:auto}.preview-table table{border-collapse:collapse;width:100%;font-size:12px}.preview-table th{text-align:left;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-faint);padding:6px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.preview-table td{padding:6px 10px;border-bottom:1px solid var(--line-soft);white-space:nowrap}.drop{border:1px dashed var(--line);border-radius:var(--radius);padding:var(--sp-6);text-align:center;cursor:pointer;background:var(--surface)}.drop:hover,.drop.over{border-color:var(--accent);background:var(--raised)}.result-row{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--line-soft);padding:9px 12px;color:var(--ink);cursor:pointer}.result-row:last-child{border-bottom:none}.result-row:hover{background:var(--raised)}.checkbox.dashed{opacity:.25;border-style:dashed}code{font-family:var(--font-mono);font-size:.92em;background:var(--sunken);padding:1px 5px;border-radius:2px}.photo-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.photo{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--sunken)}.photo.is-primary{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.photo-open{display:block;width:100%;padding:0;border:none;background:none;cursor:zoom-in}.photo-open img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover}.photo figcaption{display:flex;gap:4px;flex-wrap:wrap;padding:6px 7px 0}.photo-actions{display:flex;gap:4px;flex-wrap:wrap;padding:6px 7px 7px}.row-thumb{display:flex;align-items:center;gap:10px;min-width:0}.thumb{width:38px;height:38px;flex:0 0 auto;border-radius:2px;object-fit:cover;background:var(--sunken);border:1px solid var(--line-soft)}.empty-thumb{display:block;background:repeating-linear-gradient(45deg,var(--line-soft) 0 4px,transparent 4px 8px)}.card-photo{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:2px;margin:-4px 0 8px;background:var(--sunken)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;cursor:zoom-out;background:#000000e0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px}.lightbox img{max-width:100%;max-height:calc(100% - 44px);object-fit:contain}.lightbox-bar{margin-top:12px;color:#ddd;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--sp-4);background:var(--bg)}.login-card{width:100%;max-width:340px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-6);box-shadow:var(--shadow)}.closeout-bar{position:sticky;bottom:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--raised);border:1px solid var(--accent);border-radius:var(--radius);padding:12px 14px;margin:var(--sp-4) 0;box-shadow:var(--shadow)}@media (max-width: 900px){.closeout-bar{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom))}}.landing,.legal{max-width:1000px;margin:0 auto;padding:0 var(--sp-4)}.landing-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-5) 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.landing-brand{font-family:var(--font-head);font-size:22px;font-weight:300;color:var(--ink)}.landing-brand-sub{display:block;font-family:var(--font-body);font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-faint);margin-top:3px}.landing-nav nav{display:flex;align-items:center;gap:var(--sp-4)}.landing-nav nav a{color:var(--ink-dim);font-size:13px;text-decoration:none}.landing-nav nav a:hover{color:var(--ink)}.landing-nav nav a.btn{color:var(--on-accent)}.landing-hero{padding:var(--sp-7) 0 var(--sp-6);max-width:62ch}.landing-hero h1{font-family:var(--font-head);font-weight:300;font-size:clamp(30px,5vw,46px);line-height:1.12;letter-spacing:-.02em;margin-bottom:var(--sp-4)}.landing-hero p{font-size:16px;line-height:1.65;color:var(--ink-dim)}.landing-note{margin-top:var(--sp-4);font-size:12px!important;color:var(--ink-faint)!important}.landing-features{display:grid;gap:var(--sp-5);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));padding:var(--sp-6) 0;border-top:1px solid var(--line)}.landing-features h3{font-size:16px;margin-bottom:var(--sp-2);color:var(--ink)}.landing-features p{font-size:13px;line-height:1.7;color:var(--ink-dim)}.landing-contact{padding:var(--sp-6) 0;border-top:1px solid var(--line);max-width:560px}.landing-contact h2{margin-bottom:var(--sp-4)}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.landing-foot{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-5) 0;border-top:1px solid var(--line);font-size:12px;color:var(--ink-faint);flex-wrap:wrap}.landing-foot nav{display:flex;gap:var(--sp-4);flex-wrap:wrap}.landing-foot nav a{color:var(--ink-dim);text-decoration:none}.landing-foot nav a:hover{color:var(--ink);text-decoration:underline}.legal-body{padding:var(--sp-6) 0;max-width:68ch}.legal-body h1{margin-bottom:var(--sp-5)}.legal-body h2{font-size:15px;font-family:var(--font-body);font-weight:600;letter-spacing:.02em;margin:var(--sp-5) 0 var(--sp-2);color:var(--ink)}.legal-body p,.legal-body li{font-size:14px;line-height:1.7;color:var(--ink-dim)}.legal-body ul{margin:var(--sp-2) 0 0 var(--sp-4)}.legal-body li{margin-bottom:var(--sp-2)}.legal-body strong{color:var(--ink)}.legal-updated{margin-top:var(--sp-6);padding-top:var(--sp-4);border-top:1px solid var(--line);font-size:12px!important;color:var(--ink-faint)!important}.split{display:grid;grid-template-columns:1fr 340px;gap:var(--sp-4);align-items:start}@media (max-width: 1000px){.split{grid-template-columns:1fr}}.card-head{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3)}.body-text{font-size:13px;line-height:1.65;color:var(--ink-dim);margin-top:var(--sp-3)}.hint{font-size:11px;color:var(--ink-faint);line-height:1.5}dl.kv{display:grid;gap:0}dl.kv>div{display:grid;grid-template-columns:120px 1fr;gap:var(--sp-3);padding:7px 0;border-bottom:1px solid var(--line-soft)}dl.kv>div:last-child{border-bottom:none}dl.kv dt{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);padding-top:2px}dl.kv dd{font-size:13px;color:var(--ink);overflow-wrap:anywhere}@media (max-width: 560px){dl.kv>div{grid-template-columns:1fr;gap:2px}}.row-link{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);padding:9px 0;border-bottom:1px solid var(--line-soft);color:inherit;text-decoration:none}.row-link:last-child{border-bottom:none}.row-link:hover{color:var(--ink)}.row-link:hover .name{color:var(--accent)}.row-link .name{font-size:13px;font-weight:500}.row-link .meta{font-size:10px;color:var(--ink-faint);font-family:var(--font-mono);margin-top:2px}.row-link .right{text-align:right}.contact-grid{display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.contact-card{display:flex;gap:var(--sp-3);align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-3);color:inherit;text-decoration:none}.contact-card:hover{border-color:var(--ink-faint)}.contact-card:hover .name{color:var(--accent)}.contact-body{min-width:0}.contact-card .name{font-size:14px;font-weight:600;line-height:1.25}.contact-card .meta{font-size:11px;color:var(--ink-faint);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.avatar{width:46px;height:46px;flex:0 0 46px;border-radius:50%;background:var(--sunken);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;font-family:var(--font-head);font-size:15px;color:var(--ink-dim)}.avatar img{width:100%;height:100%;object-fit:cover}.log-row{display:flex;gap:var(--sp-3);align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line-soft)}.log-row:last-child{border-bottom:none}.log-mark{flex:0 0 88px}.log-row .name{font-size:13px;font-weight:500}.log-row .meta{font-size:12px;color:var(--ink-dim);line-height:1.55;margin-top:3px}.stage-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--line-soft);font-size:11px}.stage-row:last-child{border-bottom:none}.stage-strip{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:var(--sp-4)}.board{display:grid;grid-auto-flow:column;grid-auto-columns:232px;gap:var(--sp-3);overflow-x:auto;padding-bottom:var(--sp-3);scroll-snap-type:x proximity}.board-col{background:var(--sunken);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-3);min-height:180px;scroll-snap-align:start}.board-col.is-over{border-color:var(--accent);background:var(--raised)}.board-col>header{display:flex;justify-content:space-between;align-items:baseline}.board-title{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim)}.board-count{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint)}.board-sub{font-size:10px;color:var(--ink-faint);margin:3px 0 var(--sp-3);min-height:13px}.board-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:9px 10px;margin-bottom:var(--sp-2);cursor:grab}.board-card:active{cursor:grabbing}.board-card a{color:inherit;text-decoration:none;display:block}.board-card .name{font-size:13px;font-weight:500;line-height:1.3}.board-card:hover .name{color:var(--accent)}.board-card .meta{font-size:10px;color:var(--ink-faint);font-family:var(--font-mono);margin-top:2px}.board-card-foot{display:flex;justify-content:space-between;align-items:baseline;margin-top:7px;font-size:11px}.board-move{width:100%;margin-top:7px;font-size:10px;padding:4px 6px}.board-empty{text-align:center;color:var(--ink-faint);font-size:18px;padding:var(--sp-4) 0}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:grid;place-items:center;padding:var(--sp-4);z-index:60}.modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--sp-4);width:min(520px,100%);max-height:88vh;overflow:auto}.pick-list{border:1px solid var(--line);border-radius:var(--radius);max-height:200px;overflow:auto}.pick-row{display:grid;grid-template-columns:20px 1fr auto;gap:var(--sp-2);align-items:center;padding:7px 10px;border-bottom:1px solid var(--line-soft);font-size:12px;cursor:pointer}.pick-row:last-child{border-bottom:none}.pick-row:hover{background:var(--raised)}.pick-row .name{font-weight:500}.pick-row .faint{font-size:10px;font-family:var(--font-mono)}.stat-action{cursor:pointer;text-align:left;width:100%;font:inherit}.stat-action:hover{border-color:var(--accent)}.stat-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.stat{color:inherit}button.stat:disabled{cursor:default;opacity:1}.loss-list{margin:0 0 0 18px}.loss-list li{font-size:12px;color:var(--ink-dim);line-height:1.6}.ack{display:grid;grid-template-columns:20px 1fr;gap:var(--sp-2);align-items:start;margin-top:var(--sp-4);padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--sunken);font-size:12px;cursor:pointer}.ack input{width:auto;margin-top:1px}.doc-preview{font-family:var(--font-mono);font-size:12px;line-height:1.75;white-space:pre-wrap;word-wrap:break-word;color:var(--ink-dim);background:var(--sunken);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-3);max-height:70vh;overflow:auto;margin:0}.doc-status{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap;margin-bottom:var(--sp-4);font-size:11px}.link-box{background:var(--sunken);border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px;font-size:11px;word-break:break-all;color:var(--ink-dim)}.field-error{font-size:11px;color:var(--bad);margin-top:4px}.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:var(--bad)}.req{color:var(--bad)}.q-section{margin:var(--sp-5) 0 var(--sp-3)}.q-section:first-child{margin-top:0}.q-section h3{font-size:14px;font-family:var(--font-body);font-weight:600;padding-bottom:6px;border-bottom:1px solid var(--line)}.q-statement{font-size:13px;line-height:1.7;color:var(--ink-dim);margin:0 0 var(--sp-3)}.q-choices{display:flex;flex-direction:column;gap:6px}.q-choice{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--ink);cursor:pointer;margin:0;letter-spacing:normal;text-transform:none}.q-choice input{width:auto;margin:0;flex:0 0 auto}.field .label{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:5px}.builder-row{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:6px;background:var(--surface)}.builder-row.is-open{border-color:var(--accent)}.builder-head{display:flex;gap:var(--sp-2);align-items:center;padding:8px 10px;cursor:pointer}.builder-head:hover{background:var(--raised)}.builder-label{flex:1;font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.builder-tools{display:flex;gap:4px}.builder-body{padding:10px;border-top:1px solid var(--line-soft)}.form-preview{background:var(--sunken);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-3);max-height:460px;overflow:auto}.form-preview h3{font-size:16px;margin-bottom:6px}.pub-page{min-height:100%;background:var(--bg);padding:var(--sp-6) var(--sp-4);display:flex;justify-content:center;align-items:flex-start}.pub-page.is-embedded{padding:0;background:transparent;min-height:0}body.embedded{background:transparent}.pub-card{width:100%;max-width:680px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-6)}.pub-page.is-embedded .pub-card{border:none;padding:var(--sp-3) 0;background:transparent;max-width:none}.pub-from{font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:10px}.pub-title{font-family:var(--font-head);font-weight:300;font-size:26px;line-height:1.2;margin-bottom:8px}.pub-intro{font-size:13px;color:var(--ink-dim);line-height:1.6;margin-bottom:var(--sp-5)}.pub-body{max-height:none}.pub-foot{margin-top:var(--sp-6);padding-top:var(--sp-3);border-top:1px solid var(--line-soft);font-size:10px;color:var(--ink-faint);text-align:center}.sign-box{margin-top:var(--sp-5);padding:var(--sp-4);border:1px solid var(--accent);border-radius:var(--radius);background:var(--sunken)}.signature-preview{font-family:var(--font-head);font-size:30px;font-weight:300;padding:10px 0 6px;border-bottom:1px solid var(--ink-faint);margin:4px 0 var(--sp-3);color:var(--ink)}.slug-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.slug-row input{flex:1 1 140px;min-width:120px;font-size:12px}.slug-prefix{font-size:11px;color:var(--ink-faint);white-space:nowrap}.suggest{position:relative}.suggest-list{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 3px);background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow);list-style:none;margin:0;padding:0;max-height:260px;overflow:auto}.suggest-list li{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-3);padding:7px 10px;font-size:13px;cursor:pointer;border-bottom:1px solid var(--line-soft)}.suggest-list li.is-active{background:var(--raised)}.suggest-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggest-tag{font-size:10px;color:var(--ink-faint);white-space:nowrap;letter-spacing:.08em;text-transform:uppercase}.suggest-tag.mine{color:var(--accent)}.suggest-foot{font-size:11px;color:var(--ink-faint);cursor:default;border-bottom:none!important;background:var(--sunken)}.suggest-foot:hover{background:var(--sunken)}
