:root{--n-0: #ffffff;--n-25: #fcfcfb;--n-50: #f8f7f5;--n-100:#f2f1ed;--n-150:#eae9e4;--n-200:#e0dfd9;--n-300:#c9c7bf;--n-400:#a5a29a;--n-500:#7d7a72;--n-600:#5f5c56;--n-700:#44423d;--n-800:#2b2a26;--n-900:#1a1917;--a-50: #eef6f5;--a-100: #d6e9e6;--a-200: #a9d2cd;--a-500: #0f766e;--a-600: #0c635c;--a-700: #0a4f49;--danger: #b3261e;--danger-wash: #fdf0ef;--danger-line: #efd2cf;--warn: #a1620a;--warn-wash: #fdf5e9;--warn-line: #eddcbd;--good: #1c6b3f;--good-wash: #edf6f0;--bg: var(--n-50);--surface: var(--n-0);--surface-2: var(--n-25);--surface-sunken: var(--n-100);--panel: var(--surface);--line: var(--n-200);--line-soft: var(--n-150);--line-strong: var(--n-300);--ink: var(--n-900);--ink-2: var(--n-700);--muted: var(--n-500);--subtle: var(--n-400);--accent: var(--a-500);--accent-hover: var(--a-600);--accent-wash: var(--a-50);--s1: 4px;--s2: 6px;--s3: 8px;--s4: 12px;--s5: 16px;--s6: 20px;--s7: 24px;--s8: 32px;--s9: 48px;--r-sm: 4px;--r: 6px;--r-md: 8px;--r-lg: 12px;--r-full: 999px;--radius: var(--r);--e1: 0 1px 2px rgba(26,25,23,.05);--e2: 0 2px 6px rgba(26,25,23,.07), 0 1px 2px rgba(26,25,23,.04);--e3: 0 8px 24px rgba(26,25,23,.1), 0 2px 6px rgba(26,25,23,.05);--sans: "Inter var", "Inter", ui-sans-serif, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--t-xs: 11px;--t-sm: 12px;--t-13: 13px;--t-base: 14px;--t-lg: 16px;--t-xl: 19px;--t-2xl: 24px;--topbar-h: 52px;--rail-w: 56px;--nav-w: 232px;font-family:var(--sans);font-size:var(--t-base);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-variant-numeric:tabular-nums}*{box-sizing:border-box}body{margin:0;background:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.app{display:grid;height:100vh;grid-template-columns:auto 1fr;grid-template-rows:var(--topbar-h) 1fr;grid-template-areas:"topbar topbar" "nav main"}.app.no-nav{grid-template-areas:"topbar topbar" "main main";grid-template-columns:1fr}.main{grid-area:main;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.top{grid-area:topbar;display:flex;align-items:center;gap:var(--s4);padding:0 var(--s4) 0 var(--s5);background:var(--surface);border-bottom:1px solid var(--line)}.muted{color:var(--muted)}.workspace{display:grid;grid-template-columns:196px 1fr;flex:1;min-height:0;overflow:hidden}.sidebar{border-right:1px solid var(--line);padding:var(--s4) var(--s2);overflow:auto;background:var(--surface-2)}.sidebar h2{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.07em;color:var(--subtle);font-weight:600;margin:0 var(--s3) var(--s2)}.sidebar ul{list-style:none;margin:0;padding:0}.sidebar button{display:flex;justify-content:space-between;align-items:center;gap:6px;width:100%;text-align:left;padding:6px 8px;border:0;background:none;border-radius:var(--radius);cursor:pointer;font:inherit;color:inherit}.sidebar button:hover{background:#f2f1ee}.sidebar button.active{background:#e8f1f0;color:var(--accent);font-weight:500}.pane{padding:var(--s6) var(--s7);overflow:auto;flex:1;min-height:0}.pane header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.pane h1{font-size:19px;margin:0 0 14px;display:flex;align-items:center;gap:8px}.sep{color:var(--muted);font-weight:400}button{font:inherit;padding:5px 11px;border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);cursor:pointer}button:hover:not(:disabled){border-color:#ccc}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.danger{color:var(--danger);border-color:#f0d5d5}button.link{background:none;border:0;padding:0;color:var(--accent);cursor:pointer;font:inherit}.actions{display:flex;gap:8px;align-items:center}table{width:100%;border-collapse:collapse;margin-top:4px}th{text-align:left;font-weight:500;color:var(--muted);font-size:12px;padding:6px 10px;border-bottom:1px solid var(--line)}td{padding:8px 10px;border-bottom:1px solid var(--line)}tbody tr{cursor:pointer}tbody tr:hover{background:#f6f5f2}.record{display:grid;grid-template-columns:180px 1fr;gap:0;margin:12px 0 0}.record>div{display:contents}.record dt{padding:7px 0;color:var(--muted);border-bottom:1px solid var(--line)}.record dd{padding:7px 0;margin:0;border-bottom:1px solid var(--line)}.badge{font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:2px 6px;border-radius:3px;font-weight:500}.badge.borrowed{background:#f3ecdd;color:var(--warn);cursor:help}.tag{font-size:10px;color:var(--muted);margin-left:6px}.req{color:var(--danger);margin-left:3px}.field{margin:0 0 14px;max-width:460px}.field label{display:block;margin-bottom:4px;font-size:13px}.field input[type=text],.field input[type=number],.field input[type=date],.field input[type=email],.field input[type=url],.field input[type=datetime-local],.field select,.field textarea{width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:var(--radius);font:inherit;background:var(--panel)}.hint{font-size:12px;color:var(--muted);margin:4px 0 0}.error{color:var(--danger);font-size:13px;margin:6px 0 0}.error em{color:var(--muted);font-style:normal}.provenance,.withheld{font-size:12px;color:var(--muted);background:#f5f4f0;border-left:2px solid var(--line);padding:7px 10px;border-radius:0 var(--radius) var(--radius) 0;margin:0 0 14px;max-width:620px}.count{font-size:12px;color:var(--muted);margin-top:10px}.confirm{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.confirm input{padding:5px 8px;border:1px solid var(--line);border-radius:var(--radius);font:inherit;min-width:240px}.related{margin-top:26px}.related h2{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.related h3{font-size:13px;font-weight:500;margin:14px 0 4px}.related ul{margin:0;padding-left:18px}.issues{margin-top:16px;font-size:12px;color:var(--warn)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}a.button{display:inline-block;padding:5px 11px;border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);color:inherit;text-decoration:none}a.button:hover{border-color:#ccc;text-decoration:none}a.button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.sidebar a{display:flex;justify-content:space-between;align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);border-radius:var(--r);color:var(--ink-2);font-size:var(--t-13);text-decoration:none}.sidebar a:hover{background:var(--n-100);color:var(--ink);text-decoration:none}.sidebar a.active{background:var(--accent-wash);color:var(--a-700);font-weight:500}tbody td a{color:inherit}tbody td a:hover{color:var(--accent)}.alternatives{margin:6px 0 0;padding-left:18px}.alternatives li{margin:3px 0}.count-inline{font-size:11px;color:var(--muted);background:#f0efec;border-radius:9px;padding:1px 7px;margin-left:8px;font-weight:400}.picker{position:relative;max-width:460px}.picker input{width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:var(--radius);font:inherit;background:var(--panel)}.picker.chosen{display:flex;align-items:center;gap:10px;padding:6px 8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.picker .options{position:absolute;z-index:20;left:0;right:0;top:100%;margin:3px 0 0;padding:4px;list-style:none;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 6px 18px #00000017;max-height:240px;overflow:auto}.picker .options button{display:block;width:100%;text-align:left;border:0;background:none;padding:6px 8px;border-radius:4px;cursor:pointer;font:inherit}.picker .options button:hover{background:#f2f1ee}.picker .options .empty{padding:6px 8px;font-size:13px}.affordance{margin:0 0 14px;max-width:460px}.affordance>label{display:block;margin-bottom:4px;font-size:13px}.relate-row{display:flex;align-items:center;gap:8px;justify-content:space-between;padding:4px 0}.relate-row .remove{opacity:0}.relate-row:hover .remove,.relate-row:focus-within .remove{opacity:1}.add-related{margin-top:8px;display:flex;gap:8px;align-items:flex-start}.add-related .picker{flex:1}ul.plain{list-style:none;margin:4px 0 0;padding:0}.hint.warn{color:var(--warn)}.cardinality{font-size:11px;color:var(--muted);margin-left:10px;cursor:help}.req.advisory{color:var(--warn)}.chosen-list{margin-bottom:6px}.chosen-list .relate-row{border-bottom:1px solid var(--line);padding:5px 0}.empty-state{padding:18px 0;max-width:560px}.empty-state p{color:var(--muted);margin:0 0 10px;line-height:1.5}.empty-state strong{color:var(--ink);font-weight:500}.nested{list-style:none;margin:8px 0;padding:8px 0 4px 12px;border-left:2px solid var(--line)}.nested-head{border-bottom:1px solid var(--line);padding-bottom:5px;margin-bottom:8px}.nested-head strong{font-weight:600}.nested .affordance{max-width:none}.tag.new{background:var(--line);border-radius:3px;padding:1px 5px;margin-left:0}.pick-or-make{display:flex;align-items:center;gap:10px}.pick-or-make .picker{flex:1}.hint .link+.link{margin-left:8px}.consequences{max-width:420px;margin-top:8px}.consequences button{margin-top:6px}.delete-panel{border:1px solid var(--danger, #b91c1c);border-radius:6px;padding:14px 16px;margin:16px 0;max-width:560px;background:var(--bg)}.delete-panel h2{margin:0 0 10px;font-size:15px}.delete-panel label{display:block;font-size:13px;margin-bottom:4px}.delete-panel input{width:100%}.delete-panel .actions{margin-top:12px;display:flex;gap:8px}.delete-panel .consequences{margin:10px 0 0;font-size:13px;line-height:1.5}.numeric{font-variant-numeric:tabular-nums}td .numeric{display:block;text-align:right}.chip{display:inline-block;background:var(--line);border-radius:3px;padding:1px 6px;margin-right:4px;font-size:12px}code.json{font-size:12px;color:var(--muted)}.money-input{display:flex;align-items:center;gap:6px}.money-input .currency{color:var(--muted);font-size:13px}.money-input input{flex:1;text-align:right;font-variant-numeric:tabular-nums}.hint.requirement{color:var(--muted);font-style:italic}th.numeric{text-align:right}.designer{display:flex;flex:1;min-height:0}.canvas-wrap{flex:1;position:relative;display:flex;flex-direction:column;min-width:0}.canvas-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-bottom:1px solid var(--line);font-size:13px}.canvas-bar .actions{display:flex;gap:6px}.canvas-bar button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.canvas{flex:1;min-height:0;width:100%;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;background:var(--bg)}.canvas:active{cursor:grabbing}.canvas.wiring{cursor:crosshair}.grid-dot{fill:var(--line)}.node-body{fill:#fff;stroke:var(--line);stroke-width:1}.node-head{fill:#fbfaf8}.node-title{font:600 13px var(--sans, system-ui);fill:var(--ink, #1a1a18)}.node-badge{font:10px var(--sans, system-ui);fill:var(--muted)}.node-field{font:11px var(--sans, system-ui);fill:#444}.node-type{fill:var(--muted);font-size:10px}.node-more{font:italic 10px var(--sans, system-ui);fill:var(--muted)}.node.selected .node-body{stroke:var(--accent);stroke-width:2}.node.dragging .node-body{stroke:var(--accent);filter:drop-shadow(0 4px 10px rgba(0,0,0,.12))}.node.target .node-body{stroke:var(--accent);stroke-width:2;stroke-dasharray:5 3}.node-port{fill:transparent;cursor:crosshair}.node-port-dot{fill:var(--line)}.node:hover .node-port-dot,.node.selected .node-port-dot{fill:var(--accent)}.node-port:hover~.node-port-dot{fill:var(--accent)}.wire-line{stroke:#9a968e;stroke-width:1.5;fill:none}.wire-hit{stroke:transparent;stroke-width:14;fill:none;cursor:pointer}.arrowhead{fill:#9a968e}.wire-label{font:11px var(--sans, system-ui);fill:#57534e;paint-order:stroke;stroke:var(--bg);stroke-width:4px}.wire-mult{font:10px var(--sans, system-ui);fill:var(--muted);paint-order:stroke;stroke:var(--bg);stroke-width:4px}.wire.selected .wire-line{stroke:var(--accent);stroke-width:2.5}.wire.selected .wire-label{fill:var(--accent);font-weight:600}.wire.drawing .wire-line{stroke:var(--accent);stroke-dasharray:6 4}.draft input{width:100%;font:600 13px var(--sans, system-ui);padding:6px 8px;border:2px solid var(--accent);border-radius:5px;background:#fff;box-shadow:0 4px 14px #0000001f}.canvas-help,.canvas-empty{position:absolute;left:14px;bottom:10px;margin:0;font-size:11px;color:var(--muted);pointer-events:none}.canvas-empty{left:50%;top:45%;bottom:auto;transform:translate(-50%);font-size:14px;text-align:center}.activity{position:absolute;right:14px;bottom:10px;margin:0;max-width:460px;font-size:12px;padding:6px 10px;border-radius:5px;cursor:pointer;background:#fff;border:1px solid var(--line);box-shadow:0 2px 8px #0000000f}.activity.warn{border-color:var(--warn);color:var(--warn)}.activity.error{border-color:var(--danger);color:var(--danger)}.inspector{width:320px;flex:none;border-left:1px solid var(--line);padding:var(--s5);overflow-y:auto;font-size:var(--t-13);background:var(--surface)}.inspector header{display:flex;align-items:baseline;justify-content:space-between}.inspector h2{margin:0 0 2px;font-size:var(--t-lg);letter-spacing:-.01em}.inspector h3{margin:var(--s6) 0 var(--s3);padding-top:var(--s3);border-top:1px solid var(--line-soft);font-size:var(--t-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.inspector .small{font-size:var(--t-xs)}.inspector .index li{padding:var(--s1) 0}.inspector>.hint,.inspector .row+.hint{margin:calc(var(--s1) * -1) 0 var(--s4)}.form-surface input,.form-surface textarea,.form-surface select,.form-surface .icon-current{width:100%;min-width:0;font:inherit;font-size:var(--t-sm);padding:5px var(--s3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink)}.form-surface textarea{resize:vertical;line-height:1.5}.form-surface select{padding-right:var(--s2)}.form-surface input:hover,.form-surface select:hover,.form-surface textarea:hover,.form-surface .icon-current:hover{border-color:var(--line-strong)}.form-surface input:disabled{background:var(--surface-sunken);color:var(--muted)}.form-surface input[type=checkbox]{width:auto;min-width:0;padding:0}.form-surface .row{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:var(--s3);margin:var(--s2) 0}.form-surface .row>label{font-size:var(--t-xs);color:var(--muted);line-height:1.35}.form-surface .row.stack{grid-template-columns:minmax(0,1fr);gap:var(--s1)}.form-surface .row .hint{grid-column:1 / -1;margin:0;font-size:var(--t-xs)}.field-row{display:flex;align-items:center;gap:var(--s2);padding:var(--s1) 0}.field-row .field-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.field-row select{width:auto;max-width:96px}.req-toggle{display:flex;align-items:center;gap:2px;font-size:10px;color:var(--muted)}.req-toggle input{width:auto}.field-row .remove{opacity:0;color:var(--danger)}.field-row:hover .remove,.field-row:focus-within .remove{opacity:1}.icon-current{display:flex;align-items:center;gap:var(--s2);cursor:pointer;text-align:left}.icon-current .none{color:var(--subtle)}.icon-current>span:nth-child(2){flex:1;overflow:hidden;text-overflow:ellipsis}.icon-row.stack>label{margin-bottom:var(--s1)}.add-field{display:flex;gap:var(--s2);margin-top:var(--s3)}.add-field input{flex:1}.end{margin-bottom:var(--s4)}.end label{display:block;font-size:var(--t-xs);color:var(--muted);margin:var(--s2) 0 2px}.multiplicity{margin:4px 0;line-height:1.9}.multiplicity select{width:auto}button.wide{width:100%;margin-top:18px}.surfaces{display:flex;gap:2px;margin-left:14px}.surfaces a{padding:3px 10px;border-radius:4px;font-size:13px;color:var(--muted)}.surfaces a.active{background:var(--line);color:var(--ink, #1a1a18);font-weight:500}.node.borrowed .node-body{fill:#fdfdfc;stroke-dasharray:5 3;stroke:#c8c5bd}.node.borrowed .node-head{fill:#f6f5f2}.node.borrowed .node-title{fill:#57534e}.node.borrowed .node-field{fill:#78716c}.node.borrowed.selected .node-body{stroke:var(--accent);stroke-dasharray:5 3}.json-view{flex:1;display:flex;flex-direction:column;min-height:0}.json-editor{flex:1;min-height:0;width:100%;resize:none;border:none;outline:none;padding:14px;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--bg);color:var(--ink);-moz-tab-size:2;tab-size:2}.json-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 14px;border-top:1px solid var(--line);font-size:12px}.json-bar .note{flex-basis:100%;line-height:1.5}.json-bar .warn{color:var(--warn)}.json-bar button{margin-left:auto}.json-bar button+button{margin-left:0}.json-bar .inline-note{flex-basis:100%;cursor:pointer}.json-bar .inline-note.warn{color:var(--warn)}.json-bar .inline-note.error{color:var(--danger)}.fields li.open{background:var(--surface-sunken);border-radius:var(--r-sm);padding:var(--s1) var(--s2);margin:var(--s1) calc(var(--s2) * -1)}.field-editor{padding:var(--s2) 0 var(--s3);margin-top:var(--s1);border-top:1px solid var(--line)}.field-editor input,.field-editor select,.field-editor textarea{background:var(--surface)}.bounds{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s2)}.bounds .row{margin:0;grid-template-columns:minmax(0,1fr)}.field-editor .row.toggles{display:flex;flex-wrap:wrap;gap:var(--s4);padding-left:calc(84px + var(--s3))}.field-editor .row.toggles label{display:flex;align-items:center;gap:var(--s1);width:auto;font-size:var(--t-xs);color:var(--ink-2)}.field-editor button.small{padding:var(--s1) var(--s3);font-size:var(--t-xs);margin-top:var(--s4)}.toggle-line{display:flex;align-items:center;gap:var(--s2);font-size:var(--t-sm);color:var(--ink-2);margin:var(--s3) 0}.toggle-line input{width:auto}.vocabulary{margin-top:var(--s4);border-top:1px solid var(--line);padding-top:var(--s3)}.vocabulary>label{display:block;font-size:var(--t-xs);color:var(--muted);margin-bottom:var(--s2)}.values li{padding:4px 0;border-bottom:1px solid var(--line)}.values li.deprecated code{text-decoration:line-through;opacity:.6}.value-row{display:flex;align-items:center;gap:6px}.value-row .spacer{flex:1}.value-row .link{font-size:var(--t-xs);opacity:0}.values li:hover .value-row .link,.values li:focus-within .value-row .link{opacity:1}.value-description{width:100%;margin-top:3px;font-size:11px;border-color:transparent;background:transparent}.value-description:focus{border-color:var(--line);background:#fff}.add-value{display:flex;gap:5px;margin-top:8px}.add-value input:first-child{flex:0 0 34%}.add-value input{flex:1;min-width:0}.add-key{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px;align-items:center}.chip-toggle{display:flex;align-items:center;gap:3px;font-size:11px;background:var(--line);border-radius:3px;padding:2px 6px}.chip-toggle input{width:auto}.tag-picker{display:flex;flex-wrap:wrap;gap:5px}.tag-toggle{font-size:12px;padding:3px 9px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--muted);cursor:pointer}.tag-toggle:hover{border-color:var(--accent)}.tag-toggle.on{background:var(--accent);border-color:var(--accent);color:#fff}.tag-toggle.deprecated{text-decoration:line-through}.rename-offer{display:flex;align-items:flex-start;gap:6px;line-height:1.5}.rename-offer input{width:auto;margin-top:2px}.offer-form{margin-top:var(--s3)}.offer-form .row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.offer-form .row:has(select:only-child){grid-template-columns:minmax(0,1fr)}.node.marked .node-body{stroke:var(--accent);stroke-width:2}.node.marked .node-head{fill:#eef6f5}.draft input[placeholder="Field label…"]{font-size:11px;font-weight:400;padding:3px 6px}.world-map .canvas{cursor:grab}.world-map .canvas:active{cursor:grabbing}.lane-title{font:600 15px var(--sans, system-ui)}.lane-meta{font:11px var(--sans, system-ui);opacity:.75}.lane.stub rect{opacity:.8}.world-map .wire-line{stroke:#9a968e;stroke-width:1.5;fill:none}.world-map .wire.crossing .wire-line{stroke-width:2.5;stroke-dasharray:7 4}.borrow path{fill:none;stroke-width:1.5;stroke-dasharray:3 4;opacity:.8}.borrow-label{font:italic 11px var(--sans, system-ui);paint-order:stroke;stroke:var(--bg);stroke-width:4px}.borrow.broken path{stroke-width:2.5;stroke-dasharray:2 3}.legend .swatch{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}.legend li{display:flex;align-items:baseline;gap:4px}.legend .open{margin-left:auto;font-size:11px}.inspector .button.wide{display:block;text-align:center;margin-top:18px}.canvas-bar .tag{border:1px solid var(--line);border-radius:3px;padding:1px 6px}.borrow-offer{font:10px ui-monospace,SFMono-Regular,Menlo,monospace;paint-order:stroke;stroke:var(--bg);stroke-width:4px;opacity:.8}kbd{font:11px ui-monospace,SFMono-Regular,Menlo,monospace;border:1px solid var(--line);border-bottom-width:2px;border-radius:3px;padding:1px 4px;background:#fff}.world-index .index-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:4px}.world-index .index-head p{margin:0 0 16px;max-width:60ch}.world-index .issues{margin:0 0 16px}.world-index .issues .warn{color:var(--warn);font-size:13px;margin-bottom:4px}.schema-cards{display:grid;gap:14px;margin:0;grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}.schema-card{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--line);border-radius:var(--radius);padding:0 14px 14px;display:flex;flex-direction:column}.schema-card.stub{opacity:.72}.schema-card .card-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:0 -14px 10px;padding:10px 14px}.schema-card h2{font-size:15px;margin:0;flex:1}.schema-card p.muted{margin:0 0 12px;font-size:13px;line-height:1.45;flex:1}.schema-card .tag.role{border-radius:3px;padding:1px 6px;margin:0;background:#fff9;font-weight:500}.schema-card .tag.role.owner{color:var(--accent)}.schema-card .tag.role.contributor{color:var(--warn)}.schema-card .tag.role.none{font-style:italic}.counts{display:flex;gap:16px;margin:0 0 12px}.counts div{display:flex;flex-direction:column}.counts dt{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.counts dd{margin:0;font-size:16px;font-variant-numeric:tabular-nums}.schema-card .types{margin:0 0 14px;display:flex;flex-wrap:wrap;gap:4px}.schema-card .chip.more{background:none;color:var(--muted)}.card-actions{display:flex;gap:8px;margin-top:auto}a.button.disabled,span.button.disabled{display:inline-block;padding:5px 11px;border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);cursor:not-allowed}.lane-hit{cursor:pointer}.lane-hit:hover{fill:#00000009}.lane.chosen>rect:first-of-type{stroke-opacity:.9;stroke-width:2}.panel-actions{display:flex;gap:8px;margin-top:18px}.panel-actions .button{flex:1;text-align:center}.index .swatch{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:7px;vertical-align:baseline}.brand{display:flex;align-items:center;gap:var(--s3);color:var(--ink);text-decoration:none;flex:none}.brand:hover{text-decoration:none}.brand .mark{color:var(--accent);flex:none}.wordmark-text{font-weight:600;font-size:var(--t-lg);letter-spacing:-.02em}.top-divider{width:1px;height:22px;background:var(--line);flex:none}.world-switch select{font:inherit;font-weight:500;font-size:var(--t-13);border:1px solid transparent;background:none;color:var(--ink);border-radius:var(--r);padding:var(--s1) var(--s2);max-width:220px;cursor:pointer}.world-switch select:hover{background:var(--n-100)}.spacer{flex:1}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.omni{display:flex;align-items:center;gap:var(--s3);flex:none;min-width:200px;padding:var(--s2) var(--s3);font-size:var(--t-13);color:var(--muted);background:var(--n-50);border:1px solid var(--line);border-radius:var(--r);cursor:pointer}.omni:hover{background:var(--n-100);border-color:var(--line-strong)}.omni span{flex:1;text-align:left}kbd{font:500 10px var(--sans);color:var(--muted);background:var(--surface);border:1px solid var(--line);border-bottom-width:2px;border-radius:var(--r-sm);padding:1px 4px}.identity{position:relative;flex:none}.avatar-button{display:flex;align-items:center;gap:var(--s3);padding:var(--s1) var(--s2) var(--s1) var(--s1);border:1px solid transparent;background:none;border-radius:var(--r);cursor:pointer;max-width:230px}.avatar-button:hover{background:var(--n-100);border-color:var(--line)}.avatar-name{font-size:var(--t-13);color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{display:grid;place-items:center;width:26px;height:26px;flex:none;border-radius:var(--r-full);background:var(--a-100);color:var(--a-700);font-size:10px;font-weight:600;letter-spacing:.02em}.avatar.big{width:34px;height:34px;font-size:var(--t-sm)}.avatar.tiny{width:20px;height:20px;font-size:9px}.menu{position:absolute;right:0;top:calc(100% + 6px);z-index:60;min-width:250px;padding:var(--s1);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--e3)}.menu-head{display:flex;gap:var(--s3);align-items:center;padding:var(--s3);border-bottom:1px solid var(--line-soft);margin-bottom:var(--s1)}.menu-head div{display:flex;flex-direction:column;min-width:0}.menu-head strong{font-size:var(--t-13);font-weight:600}.menu-heading{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.07em;color:var(--subtle);padding:var(--s3) var(--s3) var(--s1)}.menu-item{display:flex;align-items:center;gap:var(--s3);width:100%;padding:var(--s2) var(--s3);border:0;background:none;border-radius:var(--r-sm);font:inherit;font-size:var(--t-13);color:var(--ink);text-align:left;cursor:pointer;text-decoration:none}.menu-item:hover:not(:disabled){background:var(--n-100);text-decoration:none}.menu-item:disabled{color:var(--subtle);cursor:not-allowed}.menu-item .glyph{margin-left:auto;color:var(--accent)}.menu-item.chosen{color:var(--accent);font-weight:500}.menu-sep{height:1px;background:var(--line-soft);margin:var(--s1) 0}.nav{grid-area:nav;width:var(--nav-w);display:flex;flex-direction:column;gap:var(--s2);padding:var(--s4) var(--s3) var(--s5);background:var(--surface-2);border-right:1px solid var(--line);overflow-y:auto;transition:width .12s ease}.app.railed .nav{width:var(--rail-w);padding-left:var(--s2);padding-right:var(--s2)}.app.railed .nav-label,.app.railed .nav-heading,.app.railed .nav-sub{display:none}.app.railed .nav-link{justify-content:center;padding-left:0;padding-right:0}.nav-group{display:flex;flex-direction:column;gap:1px}.nav-group+.nav-group{margin-top:var(--s4)}.nav-heading{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.07em;color:var(--subtle);font-weight:600;margin:0 0 var(--s2);padding:0 var(--s3)}.nav-link{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);border-radius:var(--r);font-size:var(--t-13);color:var(--ink-2);text-decoration:none}.nav-link:hover{background:var(--n-100);color:var(--ink);text-decoration:none}.nav-link.active{background:var(--accent-wash);color:var(--a-700);font-weight:500}.nav-link.active .glyph{color:var(--accent)}.nav-link .glyph{flex:none;color:var(--n-400)}.nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-dot{width:5px;height:5px;border-radius:var(--r-full);background:var(--n-300);margin-left:auto;flex:none}.nav-link.active .nav-dot{background:var(--a-200)}.nav-sub{display:flex;flex-direction:column;gap:1px;margin:2px 0 var(--s2) 26px;padding-left:var(--s3);border-left:1px solid var(--line)}.nav-sub a{padding:var(--s1) var(--s3);border-radius:var(--r-sm);font-size:var(--t-13);color:var(--muted);text-decoration:none}.nav-sub a:hover{background:var(--n-100);color:var(--ink);text-decoration:none}.nav-sub a.active{color:var(--accent);font-weight:500}.nav-collapse{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);margin-bottom:var(--s2);border:0;background:none;border-radius:var(--r);color:var(--subtle);font:inherit;font-size:var(--t-sm);cursor:pointer}.nav-collapse:hover{background:var(--n-100);color:var(--ink-2)}.app.railed .nav-collapse{justify-content:center}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#1a191747;display:flex;justify-content:center;padding-top:14vh;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.palette{width:min(560px,92vw);align-self:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--e3);overflow:hidden;display:flex;flex-direction:column;max-height:62vh}.palette>input{border:0;border-bottom:1px solid var(--line-soft);font:inherit;font-size:var(--t-lg);padding:var(--s5);outline:none;background:none}.palette-hits{margin:0;padding:var(--s2);overflow-y:auto;flex:1}.palette-group{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.07em;color:var(--subtle);padding:var(--s3) var(--s3) var(--s1)}.palette-hit{display:flex;align-items:baseline;gap:var(--s3);width:100%;padding:var(--s2) var(--s3);border:0;background:none;border-radius:var(--r);font:inherit;font-size:var(--t-13);text-align:left;cursor:pointer}.palette-hit span:first-child{flex:1}.palette-hit.at{background:var(--accent-wash);color:var(--a-700)}.palette-empty{padding:var(--s5);font-size:var(--t-13)}.palette-foot{display:flex;gap:var(--s1);align-items:center;padding:var(--s3) var(--s5);border-top:1px solid var(--line-soft);background:var(--n-25)}.prose{max-width:66ch}.prose h1{font-size:var(--t-2xl);letter-spacing:-.02em;margin:0 0 var(--s3);display:block}.prose h2{font-size:var(--t-13);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:var(--s7) 0 var(--s2)}.prose p{line-height:1.65;color:var(--ink-2);margin:0 0 var(--s5)}.prose .lede{font-size:var(--t-lg);color:var(--muted);margin-bottom:var(--s6);line-height:1.5}.prose code{font:12px var(--mono);background:var(--n-100);padding:1px 5px;border-radius:var(--r-sm)}.prose .aside{background:var(--n-50);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:var(--s5);margin-top:var(--s7)}.prose .aside h2{margin-top:0}.prose .aside p{margin:0;font-size:var(--t-13)}.pill{display:inline-block;font-size:var(--t-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--warn);background:var(--warn-wash);border:1px solid var(--warn-line);border-radius:var(--r-full);padding:2px 9px;margin-bottom:var(--s4)}code.id{font:12px var(--mono);color:var(--muted);background:var(--n-100);padding:2px 7px;border-radius:var(--r-sm);font-weight:400;vertical-align:middle;margin-left:var(--s2)}.world-index h1{font-size:var(--t-2xl);letter-spacing:-.02em;margin:0 0 var(--s2)}.menu-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-item .nav-dot{margin-left:0}th{font-size:var(--t-sm);font-weight:600;letter-spacing:.01em;color:var(--subtle);text-transform:none;padding:var(--s2) var(--s4);border-bottom:1px solid var(--line)}td{padding:var(--s3) var(--s4);border-bottom:1px solid var(--line-soft);font-size:var(--t-13)}tbody tr:hover{background:var(--n-50)}td .date,td time,td.numeric,th.numeric{white-space:nowrap}.nav-mono{display:grid;place-items:center;width:18px;height:18px;flex:none;border-radius:var(--r-sm);background:var(--n-150);color:var(--n-600);font-size:9px;font-weight:700;letter-spacing:.01em}.nav-link.active .nav-mono{background:var(--a-100);color:var(--a-700)}.app.railed .nav-mono{width:22px;height:22px;font-size:10px}.graph-view .canvas.graph{cursor:grab}.graph-view .canvas.graph:active{cursor:grabbing}.canvas-hint{padding:var(--s2) var(--s4);border-top:1px solid var(--line-soft);font-size:var(--t-sm);color:var(--subtle);background:var(--surface)}.segmented{display:inline-flex;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-right:var(--s2)}.segmented button{border:0;border-radius:0;padding:var(--s1) var(--s4);font-size:var(--t-13);background:var(--surface);color:var(--muted)}.segmented button+button{border-left:1px solid var(--line)}.segmented button.active{background:var(--accent-wash);color:var(--a-700);font-weight:500}.rlink-line{stroke:var(--n-300);fill:none}.rlink-hit{stroke:transparent;fill:none;cursor:pointer}.rlink:hover .rlink-line{stroke:var(--n-500)}.rlink.selected .rlink-line{stroke:var(--accent)}.rlink.dim{opacity:.22}.rlink-label{font-family:var(--sans);font-weight:500;fill:var(--ink-2);paint-order:stroke;stroke:var(--bg);stroke-linejoin:round}.graph .arrowhead{fill:var(--n-300)}.rlink.selected .arrowhead{fill:var(--accent)}.rnode{cursor:pointer}.rnode-dot{stroke:var(--surface)}.rnode.selected .rnode-dot{stroke:var(--accent)}.rnode-label{font-family:var(--sans);fill:var(--ink-2);paint-order:stroke;stroke:var(--bg);stroke-linejoin:round}.rnode.selected .rnode-label{font-weight:600;fill:var(--ink)}.rnode.dim{opacity:.28}.rnode-card{fill:var(--surface);stroke:var(--line);stroke-width:1}.rnode.selected .rnode-card{stroke:var(--accent);stroke-width:2}.rnode-title{font:600 12px var(--sans);fill:var(--ink)}.rnode-type{font:10px var(--mono)}.legend li.off{opacity:.45}.legend li.off .link{text-decoration:line-through}.notes li{line-height:1.5;margin-bottom:var(--s2)}.rnode{cursor:grab}.rnode.moving{cursor:grabbing}.rnode-port{stroke:transparent;cursor:crosshair}.rnode-ring{stroke:transparent;pointer-events:none}.rnode:hover .rnode-ring{stroke:var(--a-200);stroke-dasharray:3 3}.rnode-port-strip{fill:transparent;cursor:crosshair}.rnode:hover .rnode-port-strip{fill:var(--a-50)}.rnode.moving .rnode-dot{stroke:var(--accent)}.rnode.moving .rnode-card{stroke:var(--accent);stroke-width:2;filter:drop-shadow(0 4px 10px rgba(26,25,23,.14))}.rwire{stroke:var(--accent);pointer-events:none}.graph .rnode.target .rnode-dot{stroke:var(--accent);stroke-width:3}.floating{position:absolute;z-index:30;transform:translate(-50%,8px);min-width:170px;padding:var(--s1);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--e3)}.floating-head{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.07em;color:var(--subtle);padding:var(--s2) var(--s3) var(--s1)}.floating-item{display:block;width:100%;text-align:left;border:0;background:none;padding:var(--s2) var(--s3);border-radius:var(--r-sm);font:inherit;font-size:var(--t-13);cursor:pointer}.floating-item:hover{background:var(--accent-wash);color:var(--a-700)}.canvas-note{position:absolute;left:50%;bottom:46px;transform:translate(-50%);z-index:25;max-width:60ch;padding:var(--s2) var(--s5);border-radius:var(--r-full);font-size:var(--t-13);background:var(--n-800);color:var(--n-25);box-shadow:var(--e2)}.canvas-note.warn{background:var(--warn-wash);color:var(--warn);border:1px solid var(--warn-line)}.panel-head{display:flex;align-items:baseline;justify-content:space-between}.panel-head h3{flex:1}.inspector .delete-panel{margin-top:var(--s5);max-width:none}.inspector .delete-panel h2{font-size:var(--t-base)}.graph-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none;padding:var(--s8)}.graph-empty p{max-width:44ch;text-align:center;color:var(--muted);line-height:1.6;margin:0}.graph-empty strong{color:var(--ink-2)}.editable{display:block;width:100%;text-align:left;border:1px solid transparent;background:none;padding:1px 5px;margin:-1px -5px;border-radius:var(--r-sm);font:inherit;color:inherit;cursor:text}.editable:hover:not(:disabled){border-color:var(--line);background:var(--surface)}.editable:disabled{cursor:default}.editing{margin:-2px 0}.editing .field{margin:0;max-width:none}.editing .field label{display:none}.editing.busy{opacity:.6;pointer-events:none}.icon{flex:none;vertical-align:-2px}h1 .icon,h2 .icon{vertical-align:-1px;margin-right:2px;opacity:.75}.sidebar .icon{color:var(--n-400)}.sidebar a.active .icon{color:var(--accent)}.rnode-glyph{fill:none;stroke:var(--surface);stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.rnode-card-glyph{fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.node-glyph{fill:none;stroke:var(--n-500);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.legend .icon{margin:0 5px 0 1px;color:var(--muted)}.icon-picker{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;max-height:168px;overflow-y:auto;padding:var(--s1);border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}.icon-choice{display:grid;place-items:center;height:28px;padding:0;border:1px solid transparent;background:none;border-radius:var(--r-sm);color:var(--muted);cursor:pointer;font-size:var(--t-sm)}.icon-choice:hover{background:var(--n-100);color:var(--ink)}.icon-choice.chosen{background:var(--accent-wash);color:var(--accent);border-color:var(--a-200)}.landing{min-height:100vh;background:var(--bg);overflow-y:auto}.landing-top{display:flex;align-items:center;gap:var(--s5);padding:var(--s5) var(--s7);max-width:1120px;margin:0 auto}.landing-top .brand{color:var(--ink)}.landing-top .link{color:var(--ink-2);font-size:var(--t-13)}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--s9);align-items:center;max-width:1120px;margin:0 auto;padding:var(--s9) var(--s7) calc(var(--s9) + var(--s7))}.hero h1{font-size:46px;line-height:1.08;letter-spacing:-.03em;margin:0 0 var(--s6)}.hero h1 span{display:block}.hero p{font-size:var(--t-lg);line-height:1.6;color:var(--ink-2);margin:0 0 var(--s4);max-width:46ch}.hero .lede{font-size:20px;color:var(--ink)}.hero-actions{display:flex;gap:var(--s3);margin-top:var(--s7)}.button.big{padding:11px 22px;font-size:var(--t-lg);border-radius:var(--r-md)}a.button.big:hover{border-color:var(--line-strong)}a.button.primary.big:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.hero-art{width:100%;height:auto}.hero-art .art-title{font:600 12px var(--sans)}.hero-art .art-note{font:13px var(--sans);fill:var(--ink)}.hero-art .art-small{font:11px var(--sans);fill:var(--muted)}.hero-art .art-line{stroke:var(--line-strong);stroke-width:1.4;stroke-dasharray:4 4;fill:none}.landing-section{padding:calc(var(--s9) + var(--s5)) var(--s7);border-top:1px solid var(--line-soft)}.landing-inner{max-width:720px;margin:0 auto}.landing-section h2{font-size:30px;line-height:1.2;letter-spacing:-.025em;margin:0 0 var(--s6);max-width:28ch}.landing-section p{font-size:var(--t-lg);line-height:1.65;color:var(--ink-2);margin:0 0 var(--s4)}.landing-section .emphasis{color:var(--ink);font-weight:500}.landing-section.feature{background:var(--surface)}.landing-section.feature h2{color:var(--accent);max-width:26ch}.landing .chips{display:flex;flex-wrap:wrap;gap:var(--s2);margin:var(--s6) 0}.chip.big{display:inline-flex;align-items:center;gap:var(--s2);font-size:var(--t-base);padding:var(--s2) var(--s4);border-radius:var(--r-full);background:var(--surface);border:1px solid var(--line);color:var(--ink-2)}.chip.big .icon{color:var(--muted)}.chip.big.mono{font-family:var(--mono);font-size:var(--t-13)}.landing .library{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3);margin:var(--s6) 0}.landing .library li{display:flex;align-items:center;gap:var(--s3);padding:var(--s4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);font-size:var(--t-13);color:var(--ink-2)}.landing .library .icon{color:var(--accent)}.landing .shares{margin:var(--s5) 0 var(--s6);display:grid;gap:var(--s4)}.landing .shares li{padding-left:var(--s5);border-left:2px solid var(--a-200);font-size:var(--t-lg);line-height:1.55;color:var(--ink-2)}.landing .already{margin:0 0 var(--s6);display:grid;gap:var(--s2)}.landing .already li{font-size:20px;color:var(--ink);line-height:1.5}.landing .trail{margin:var(--s5) 0 var(--s6);padding:0;list-style:none;display:grid;gap:var(--s2)}.landing .trail li{position:relative;padding-left:var(--s6);font-size:var(--t-lg);color:var(--ink-2)}.landing .trail li:before{content:"";position:absolute;left:5px;top:11px;width:7px;height:7px;border-radius:var(--r-full);background:var(--a-200)}.landing .trail li:not(:last-child):after{content:"";position:absolute;left:8px;top:20px;bottom:-8px;width:1px;background:var(--line)}.landing .three{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6);margin:var(--s6) 0}.landing .three h3{display:flex;align-items:center;gap:var(--s2);font-size:var(--t-base);margin:0 0 var(--s2)}.landing .three h3 .icon{color:var(--accent)}.landing .three p{font-size:var(--t-13);margin:0}.landing-end{text-align:center;padding:calc(var(--s9) * 1.5) var(--s7);border-top:1px solid var(--line-soft);background:var(--surface)}.landing-end h2{font-size:34px;letter-spacing:-.025em;margin:0 0 var(--s7)}.landing-end .muted{margin-top:var(--s5)}@media (max-width: 900px){.hero{grid-template-columns:1fr}.landing .library,.landing .three{grid-template-columns:1fr 1fr}}.dialog{width:min(460px,92vw);align-self:flex-start;margin-top:4vh;padding:var(--s7);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--e3)}.dialog h2{font-size:var(--t-xl);margin:0 0 var(--s3)}.dialog>.hint{margin:0 0 var(--s6);line-height:1.55}.dialog label{display:block;font-size:var(--t-13);margin-bottom:var(--s1)}.dialog input{width:100%;padding:var(--s2) var(--s3);font:inherit;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}.dialog .hint.small{margin:var(--s1) 0 var(--s5)}.dialog .error{margin:0 0 var(--s4)}.dialog .actions{display:flex;gap:var(--s3);margin-top:var(--s5)}.dialog .actions .primary{background:var(--accent);color:#fff;border-color:var(--accent)}.dialog .actions .primary:disabled{opacity:.5}.nav-add{width:100%;border:0;cursor:pointer;font:inherit;color:var(--muted);text-align:left}.nav-add:hover{background:var(--n-100);color:var(--ink)}.nav-plus{display:grid;place-items:center;width:18px;height:18px;flex:none;color:var(--subtle);font-size:13px}.app.railed .nav-plus{width:22px;height:22px}.ledger-page .prose{margin-bottom:var(--s6)}.ledger-page .lede{font-size:var(--t-lg);color:var(--muted);margin-bottom:var(--s3)}.ledger{list-style:none;margin:0;padding:0;max-width:860px;border-top:1px solid var(--line-soft)}.entry{border-bottom:1px solid var(--line-soft)}.entry-line{display:flex;align-items:center;gap:var(--s4);padding:var(--s4) var(--s2)}.entry-mark{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:var(--r-full)}.entry-mark.made{background:var(--good-wash);color:var(--good)}.entry-mark.changed{background:var(--accent-wash);color:var(--accent)}.entry-mark.gone{background:var(--danger-wash);color:var(--danger)}.entry-what{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.entry-what strong{font-weight:500;font-size:var(--t-13)}.entry-line time{flex:none}.entry-detail{padding:0 var(--s2) var(--s5) 56px}.entry-detail h3{margin-top:var(--s5)}.entry-detail .record{grid-template-columns:120px 1fr;margin-top:0}.entry-detail .ops li{display:flex;align-items:baseline;gap:var(--s3);padding:var(--s1) 0}.op{font:500 var(--t-xs)/1.6 var(--mono);text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:var(--r-sm)}.op.made{background:var(--good-wash);color:var(--good)}.op.changed{background:var(--accent-wash);color:var(--a-700)}.op.gone{background:var(--danger-wash);color:var(--danger)}.canvas-note.inline{position:static;transform:none;display:inline-block;margin-bottom:var(--s5)}.entry-detail .panel-actions .button{flex:0 0 auto}.waiting{max-width:860px;margin-bottom:var(--s8);padding:var(--s5);background:var(--warn-wash);border:1px solid var(--warn-line);border-radius:var(--r-md)}.waiting h2{font-size:var(--t-lg);margin:0 0 var(--s2);color:var(--warn)}.waiting>.hint{margin:0 0 var(--s4)}.waiting .ledger{border-top:0}.waiting .entry{border-bottom:0}.waiting .entry-line{padding-top:0}.entry-mark.pending{background:var(--surface);color:var(--warn)}.settings-page .setting{max-width:720px;margin-bottom:var(--s8)}.settings-page .setting h2{font-size:var(--t-lg);margin:0 0 var(--s2)}.settings-page .setting>.hint{margin:0 0 var(--s5);line-height:1.55;max-width:66ch}.choices{display:grid;gap:var(--s3)}.choice{display:grid;gap:var(--s1);text-align:left;padding:var(--s4) var(--s5);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);font:inherit;cursor:pointer}.choice:hover:not(:disabled){border-color:var(--line-strong)}.choice.chosen{border-color:var(--accent);background:var(--accent-wash)}.choice.chosen strong{color:var(--a-700)}.choice:disabled{cursor:default;opacity:.7}.choice .small{line-height:1.5}.schema-policies li{display:flex;align-items:baseline;gap:var(--s3);padding:var(--s2) 0;border-bottom:1px solid var(--line-soft)}.schema-policies a{flex:1}.policy{font:500 var(--t-xs)/1.6 var(--mono);text-transform:uppercase;letter-spacing:.04em;padding:1px 7px;border-radius:var(--r-sm);background:var(--n-100);color:var(--muted)}.policy.reviewed{background:var(--warn-wash);color:var(--warn)}.policy.direct{background:var(--good-wash);color:var(--good)}.list-controls{display:flex;align-items:flex-start;gap:var(--s4);margin:var(--s5) 0 var(--s3)}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);flex:1}.columns-button{flex:none;white-space:nowrap;padding-top:var(--s1)}.filter-chip{display:inline-flex;align-items:center;gap:var(--s2);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-full);padding:3px var(--s2) 3px var(--s4);font-size:var(--t-sm)}.filter-chip .filter-field{color:var(--muted)}.filter-chip select,.filter-chip input{font:inherit;font-size:var(--t-sm);border:none;background:none;padding:2px 0;color:var(--ink);max-width:150px}.filter-chip input{border-bottom:1px solid var(--line)}.filter-chip input:focus{outline:none;border-bottom-color:var(--accent)}.filter-chip .remove{color:var(--muted);font-size:var(--t-base);line-height:1}.filter-chip .remove:hover{color:var(--danger)}.add-filter{font-size:var(--t-sm);padding:4px var(--s3);border-radius:var(--r-full);border:1px dashed var(--line-strong);background:none;color:var(--muted)}.add-filter:hover{border-color:var(--accent);color:var(--accent)}.table-scroll{overflow-x:auto}table.records th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}table.records th.sortable:hover{color:var(--accent)}table.records th .caret{font-size:9px;margin-left:4px;color:var(--accent)}table.records th .via{color:var(--subtle);margin-left:3px;font-size:10px}table.records th:not(.sortable){cursor:help}.empty-cell{color:var(--subtle)}.linked-cell{display:inline-flex;gap:var(--s2);align-items:baseline;flex-wrap:wrap}.linked-cell .more{font-size:var(--t-xs);color:var(--muted);background:var(--n-100);border-radius:var(--r-full);padding:0 6px}.empty-rows{margin:var(--s5) 0}.pager{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);margin-top:var(--s4)}.pager .count{margin:0}.pager-buttons{display:flex;gap:var(--s2)}.chooser{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:var(--s5);margin-bottom:var(--s5);box-shadow:var(--e2);max-width:720px}.chooser header{display:flex;align-items:baseline;justify-content:space-between}.chooser h2{margin:0;font-size:var(--t-lg)}.chooser h3{margin:var(--s5) 0 var(--s2);font-size:var(--t-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.chooser>.hint{margin:0 0 var(--s3);max-width:60ch}.chooser footer{margin-top:var(--s5);padding-top:var(--s3);border-top:1px solid var(--line-soft)}.chosen-columns{list-style:none;margin:var(--s3) 0 0;padding:0}.chosen-columns li{display:flex;align-items:center;gap:var(--s2);padding:var(--s2) 0;border-bottom:1px solid var(--line-soft)}.chosen-columns .col-label{flex:1}.chosen-columns .remove{color:var(--danger)}.chip-picker{display:flex;flex-wrap:wrap;gap:var(--s2)}.chip{font-size:var(--t-sm);padding:3px var(--s3);border-radius:var(--r-full);border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer}.chip:hover{border-color:var(--accent)}.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.chip-note{opacity:.65;font-size:var(--t-xs)}.page-size{display:flex;align-items:center;gap:var(--s2);margin-right:var(--s3)}.page-size select{font:inherit;font-size:var(--t-sm);padding:2px var(--s2);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}.api-reference{max-width:900px}.api-basics{margin:var(--s7) 0}.api-basics h2,.api-resource h2{font-size:var(--t-lg);margin:0 0 var(--s3)}.api-facts{margin:0;display:grid;gap:var(--s3)}.api-facts>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:var(--s4);align-items:baseline}.api-facts dt{color:var(--muted);font-size:var(--t-13)}.api-facts dd{margin:0}.api-facts code{font-size:var(--t-sm);background:var(--surface-sunken);padding:2px var(--s2);border-radius:var(--r-sm)}.warn-note{color:var(--warn);background:var(--warn-wash);border:1px solid var(--warn-line);border-radius:var(--r-sm);padding:var(--s3) var(--s4);font-size:var(--t-13);max-width:70ch}.api-toc{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5);margin:var(--s7) 0 var(--s5);padding:var(--s3) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.api-resource{margin:var(--s8) 0}.api-resource header{display:flex;align-items:baseline;gap:var(--s3);margin-bottom:var(--s2)}.api-resource header h2{margin:0}.resource-path{font-size:var(--t-13);color:var(--accent)}.endpoints{margin-top:var(--s4);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.endpoints li+li{border-top:1px solid var(--line-soft)}.endpoints li.open{background:var(--surface-2)}.endpoint{display:flex;align-items:baseline;gap:var(--s4);width:100%;text-align:left;padding:var(--s3) var(--s4);background:none;border:none;font:inherit;cursor:pointer}.endpoint:hover{background:var(--surface-sunken)}.verb{flex:none;width:58px;font:600 var(--t-xs)/1.6 var(--mono);letter-spacing:.04em;text-align:center;border-radius:var(--r-sm);padding:1px 0}.verb.get{background:var(--accent-wash);color:var(--a-700)}.verb.post{background:var(--good-wash);color:var(--good)}.verb.patch{background:var(--warn-wash);color:var(--warn)}.verb.delete{background:var(--danger-wash);color:var(--danger)}.endpoint-path{font-size:var(--t-13);flex:none}.endpoint-summary{color:var(--muted);font-size:var(--t-13);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.endpoint-detail{padding:0 var(--s4) var(--s5) calc(58px + var(--s4) * 2)}.endpoint-detail p{margin:0 0 var(--s4);max-width:70ch;line-height:1.55}.endpoint-detail h4{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:var(--s4) 0 var(--s2)}.params li{display:grid;grid-template-columns:180px 110px minmax(0,1fr);gap:var(--s3);align-items:baseline;padding:var(--s2) 0;border-bottom:1px solid var(--line-soft)}.params code{font-size:var(--t-sm)}.params code.ok{color:var(--good)}.params code.not-ok{color:var(--muted)}.param-note{font-size:var(--t-13);color:var(--ink-2);line-height:1.5;display:grid;gap:2px}.param-note .enum{color:var(--muted);font-size:var(--t-sm)}.list-actions{display:flex;align-items:baseline;gap:var(--s4);flex:none}.export-menu{display:inline-flex;align-items:baseline;gap:var(--s2)}.import-panel .file-row{display:flex;align-items:center;gap:var(--s4);margin:var(--s5) 0}.import-panel input[type=file]{font:inherit;font-size:var(--t-13)}.import-panel .hint code{background:var(--surface-sunken);padding:1px 5px;border-radius:var(--r-sm);font-size:var(--t-sm)}.import-report{margin-top:var(--s5)}.tally{display:flex;gap:var(--s6);margin:var(--s4) 0}.tally li{display:flex;flex-direction:column;font-size:var(--t-13);color:var(--muted)}.tally strong{font-size:var(--t-xl);color:var(--ink);font-weight:600}.good-note{color:var(--good);background:var(--good-wash);border-radius:var(--r-sm);padding:var(--s3) var(--s4);font-size:var(--t-13)}.problems{max-height:320px;overflow-y:auto;border:1px solid var(--line);border-radius:var(--r-sm)}.problems li{display:grid;grid-template-columns:74px 140px minmax(0,1fr);gap:var(--s3);align-items:baseline;padding:var(--s2) var(--s3);border-bottom:1px solid var(--line-soft)}.problems .line{font:var(--t-xs)/1.6 var(--mono);color:var(--danger)}.import-panel footer{display:flex;align-items:center;gap:var(--s4);margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--line-soft)}.identifier-line{display:flex;align-items:baseline;gap:var(--s3);min-width:0}.identifier-line code{flex:1;overflow:hidden;text-overflow:ellipsis;font-size:var(--t-sm)}.rename-box{border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--s3) var(--s4) var(--s4);margin:var(--s3) 0;background:var(--surface-2)}.rename-box .hint{margin:var(--s2) 0 var(--s3)}.danger-zone{margin-top:var(--s5)}.danger-zone.open{border:1px solid var(--danger-line);border-radius:var(--r-md);background:var(--danger-wash);padding:var(--s4) var(--s5)}.danger-consequence{margin:0 0 var(--s3);font-weight:500;color:var(--danger)}.danger-zone .hint{margin:0 0 var(--s4);max-width:62ch}.danger-zone .tally{margin:0 0 var(--s4)}.danger-zone .tally li{flex-direction:row;align-items:baseline;gap:var(--s1)}.danger-actions{display:flex;align-items:center;gap:var(--s4)}.confirm-name{margin-bottom:var(--s4);max-width:320px}.confirm-name code{background:var(--surface);padding:1px 5px;border-radius:var(--r-sm)}button.danger{border:1px solid var(--danger);background:var(--danger);color:#fff;border-radius:var(--r-sm);padding:var(--s2) var(--s4);font:inherit;font-size:var(--t-13);cursor:pointer}button.danger:hover:not(:disabled){background:#96201a;border-color:#96201a}button.danger:disabled{opacity:.45;cursor:default}button.danger.small{padding:var(--s1) var(--s3);font-size:var(--t-sm);background:none;color:var(--danger)}button.danger.small:hover{background:var(--danger-wash)}.settings-page .setting .rename-box,.settings-page .setting .row{max-width:560px}.row .hint.pending{color:var(--warn)}.row.dirty input:not(:focus),.row.dirty textarea:not(:focus){border-color:var(--warn)}.sidebar .borrowed-heading{margin-top:var(--s6)}.sidebar .borrowed-heading .hint{display:block;margin:2px 0 0;font-size:var(--t-xs);text-transform:none;letter-spacing:0;font-weight:400;line-height:1.4}.lane-hit.openable{cursor:pointer}.offers-available li+li{border-top:1px solid var(--line-soft)}.offers-available li.open{background:var(--surface-sunken);border-radius:var(--r-sm);margin:0 calc(var(--s2) * -1);padding:0 var(--s2)}.offer-row{display:flex;align-items:center;gap:var(--s2);width:100%;padding:var(--s2) 0;background:none;border:none;font:inherit;font-size:var(--t-13);text-align:left;cursor:pointer;color:var(--ink)}.offer-row:hover{color:var(--accent)}.offer-name{flex:none}.offer-detail{padding:0 0 var(--s3)}.offer-detail .hint{margin:0 0 var(--s2)}.offer-fields{font-family:var(--mono);font-size:var(--t-xs);color:var(--ink-2)}.offer-detail .button{margin-top:var(--s3)}.borrowed-list li{display:flex;align-items:baseline;gap:var(--s1)}.borrowed-list .remove{margin-left:auto;color:var(--muted);opacity:0}.borrowed-list li:hover .remove,.borrowed-list li:focus-within .remove{opacity:1}.borrowed-list .remove:hover{color:var(--danger)}.list-actions .link.on{color:var(--danger);font-weight:500}table.records tr.gone td{color:var(--muted)}table.records tr.gone td:first-child a{color:var(--muted);text-decoration:line-through}.restore-cell{text-align:right;white-space:nowrap;width:1%}.tenant-home{max-width:860px}.tenant-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s5);margin-bottom:var(--s6)}.tenant-head h1{font-size:var(--t-2xl);letter-spacing:-.02em;margin:0 0 var(--s2)}.tenant-head .eyebrow{font:600 var(--t-xs)/1.6 var(--sans);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 var(--s1)}.tenant-head .muted{margin:0;max-width:60ch}.world-rows{border-top:1px solid var(--line)}.world-rows li{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s5);padding:var(--s4) 0;border-bottom:1px solid var(--line-soft)}.world-row-main{display:flex;align-items:baseline;gap:var(--s3);min-width:0}.world-name{font-size:var(--t-lg);font-weight:500}a.world-name{color:var(--accent)}.world-rows li.no-standing .world-name{color:var(--ink-2)}.world-row-meta{display:flex;align-items:baseline;gap:var(--s3);flex:none;font-size:var(--t-13);color:var(--muted)}.world-row-meta .tag.role{background:var(--accent-wash);color:var(--a-700);border-radius:var(--r-sm);padding:1px 6px;font-size:var(--t-xs);margin:0}.waiting-mark{margin-left:var(--s2);font:500 var(--t-xs)/1.6 var(--sans);text-transform:uppercase;letter-spacing:.05em;color:var(--warn);background:var(--warn-wash);border-radius:var(--r-sm);padding:1px 6px}.waiting-note{background:var(--warn-wash);border:1px solid var(--warn-line);border-radius:var(--r-sm);padding:var(--s3) var(--s4);margin:var(--s4) 0;font-size:var(--t-13);line-height:1.55;max-width:70ch}.waiting-note strong{color:var(--warn)}.related-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s5)}.reading-switch{display:inline-flex;border:1px solid var(--line);border-radius:var(--r-full);overflow:hidden}.reading-switch button{border:none;background:none;font:inherit;font-size:var(--t-sm);padding:3px var(--s4);color:var(--muted);cursor:pointer}.reading-switch button:hover{color:var(--ink)}.reading-switch button.on{background:var(--accent);color:#fff}.neighbourhood{margin:var(--s4) 0 0}.neighbourhood-canvas{width:100%;max-width:660px;height:auto;display:block;-webkit-user-select:none;user-select:none}.neighbourhood-empty{margin:var(--s4) 0}.neighbourhood-foot{font-size:var(--t-13);margin:var(--s2) 0 0;min-height:1.6em}.nb-hub circle{fill:var(--accent-wash);stroke:var(--accent);stroke-width:1.5}.nb-hub-label{font:600 13px/1 var(--sans);fill:var(--ink)}.nb-glyph{fill:none;stroke:var(--accent);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.nb-edge{stroke:var(--line-strong);stroke-width:1}.nb-edge.chosen{stroke:var(--accent);stroke-width:1.6}.nb-via{font:400 10px/1 var(--sans);fill:var(--subtle);pointer-events:none}.nb-via.chosen{fill:var(--accent)}.nb-node{cursor:pointer}.nb-node circle{fill:var(--surface);stroke:var(--line-strong);stroke-width:1.4}.nb-node:hover circle{stroke:var(--accent)}.nb-node.chosen circle{fill:var(--accent-wash);stroke:var(--accent);stroke-width:2}.nb-node .nb-glyph{stroke:var(--muted)}.nb-node.chosen .nb-glyph{stroke:var(--accent)}.nb-label{font:400 11px/1 var(--sans);fill:var(--ink-2);pointer-events:none}.nb-node.chosen .nb-label{fill:var(--ink);font-weight:600}.nb-node:focus-visible circle{outline:none;stroke:var(--accent);stroke-width:2.4}.arc-label{font:600 10px/1 var(--sans);fill:var(--muted);text-transform:uppercase;letter-spacing:.05em}.arc-more{font-weight:400;text-transform:none;letter-spacing:0;fill:var(--warn)}.nb-arc-line{fill:none;stroke:var(--line);stroke-width:1;stroke-linecap:round}.arc-label{paint-order:stroke;stroke:var(--bg);stroke-width:5px}.templates-page{display:grid;gap:0 var(--s5);grid-template-columns:minmax(0,1fr) 336px;align-items:start}.templates-page .prose,.template-groups{grid-column:1}.template-group{margin:0 0 var(--s7)}.template-group h2{font-size:var(--t-lg);margin:0 0 var(--s4)}.template-grid{display:grid;gap:var(--s4);grid-template-columns:repeat(auto-fill,minmax(238px,1fr))}.template-card{display:grid;gap:var(--s2);align-content:start;text-align:left;padding:var(--s4) var(--s5);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);font:inherit;cursor:pointer}.template-card:hover:not(:disabled){border-color:var(--line-strong)}.template-card.chosen{border-color:var(--accent);background:var(--accent-wash);box-shadow:inset 0 0 0 1px var(--accent)}.template-card:disabled{opacity:.55;cursor:default}.world-name{font-weight:600;font-size:var(--t-13)}.menu-item .menu-label{display:grid;gap:1px;text-align:left}.menu-item .menu-label .small{font-size:var(--t-xs);color:var(--muted)}.edge-fields{margin:var(--s2) 0 var(--s3) var(--s4);padding-left:var(--s4);border-left:2px solid var(--line);display:grid;gap:var(--s2)}.edge-fields-head{margin:0;font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.relate-row-block{padding:var(--s2) 0}.template-slot{display:grid;align-content:start}.template-slot .template-card{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:0}.template-peek{justify-self:stretch;text-align:left;cursor:pointer;padding:var(--s2) var(--s5) var(--s3);font:inherit;font-size:var(--t-xs);border:1px solid var(--line);border-top:0;border-radius:0 0 var(--r-md) var(--r-md);background:var(--surface);color:var(--accent)}.template-peek:hover{background:var(--n-100)}.template-slot:has(.chosen) .template-peek{border-color:var(--accent);background:var(--accent-wash)}.template-slot .template-card:disabled+.template-peek{opacity:.55}.template-card.soon{border-style:dashed;background:transparent;cursor:default}.template-card.soon strong{color:var(--ink-2);font-weight:600}.template-card.soon .template-summary{color:var(--muted)}.template-card.soon .tag{text-transform:uppercase;letter-spacing:.06em;font-size:var(--t-xs);color:var(--muted);background:var(--n-100)}.template-blurb{font-size:var(--t-13);color:var(--ink-2);line-height:1.55;margin:calc(var(--s3) * -1) 0 var(--s4);max-width:68ch}.preview-dialog{width:min(1000px,94vw);align-self:center;margin-top:0}.preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s4)}.preview-head h2{margin:0 0 var(--s2)}.preview-head .hint{margin:0;max-width:68ch}.preview-canvas{display:block;width:100%;max-height:58vh;margin:0 0 var(--s4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--n-50)}.preview-borrows{max-width:none;margin:0 0 var(--s4)}.template-more{font-size:var(--t-xs);color:var(--muted);line-height:1.7;margin:var(--s3) 0 0}.template-more-label{text-transform:uppercase;letter-spacing:.06em;color:var(--subtle);margin-right:var(--s3)}.lede-note{font-size:var(--t-13);color:var(--ink-2);line-height:1.6;margin:var(--s3) 0 0;max-width:68ch}.template-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3)}.template-head strong{font-size:var(--t-base)}.template-summary{font-size:var(--t-13);color:var(--ink-2);line-height:1.5}.template-owns{font:var(--t-xs)/1.6 var(--mono);color:var(--muted)}.template-needs{font-size:var(--t-xs);color:var(--warn)}.template-plan{grid-column:2;grid-row:1 / 3;position:sticky;top:var(--s5);border:1px solid var(--line);border-top:2px solid var(--accent);border-radius:var(--r-md);background:var(--surface);padding:var(--s5);box-shadow:var(--e2);max-height:calc(100vh - var(--topbar-h) - var(--s7) * 2);overflow-y:auto}@media (max-width: 980px){.templates-page{grid-template-columns:minmax(0,1fr)}.template-groups,.template-plan{grid-column:1}.template-plan{grid-row:auto;position:static;max-height:none;margin-bottom:var(--s7)}}.template-plan h2{font-size:var(--t-lg);margin:0 0 var(--s3)}.template-plan h3{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:var(--s4) 0 var(--s2)}.plan-list li{display:flex;align-items:baseline;gap:var(--s3);flex-wrap:wrap;padding:var(--s1) 0}.plan-name{font-weight:600}.plan-why{font-size:var(--t-13);color:var(--warn)}.plan-dropped li{font-size:var(--t-13);color:var(--ink-2);line-height:1.55;padding:var(--s1) 0}.plan-actions{display:flex;align-items:center;gap:var(--s4);margin-top:var(--s5)}.empty-actions{display:flex;gap:var(--s3);flex-wrap:wrap}.people-page .people{list-style:none;margin:var(--s5) 0 0;padding:0;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;max-width:860px}.person+.person{border-top:1px solid var(--line-soft)}.person.is-disabled .person-who strong{text-decoration:line-through;text-decoration-color:var(--line-strong)}.person-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);width:100%;padding:var(--s4) var(--s5);border:0;background:var(--surface);font:inherit;text-align:left;cursor:pointer}.person-head:hover{background:var(--surface-2)}.person-head[aria-expanded=true]{background:var(--surface-2);border-bottom:1px solid var(--line-soft)}.person-who{display:grid;gap:1px;min-width:0}.person-who strong{font-weight:500}.person-who .small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-tags{display:flex;align-items:center;gap:var(--s3);flex-shrink:0}.person-body{padding:var(--s5) var(--s5) var(--s6);background:var(--surface)}.person-body .setting{max-width:640px;margin-bottom:var(--s6)}.person-body .setting:last-child{margin-bottom:0}.person-body .setting h2{font-size:var(--t-md);margin:0 0 var(--s2)}.world-grants{margin-top:var(--s4);padding-top:var(--s4);border-top:1px solid var(--line-soft)}.world-grants:first-of-type{border-top:0;padding-top:0}.world-grants-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4);flex-wrap:wrap}.world-grants-head h3{font-size:var(--t-13);font-weight:600;margin:0 0 var(--s2);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.grants{width:100%;border-collapse:collapse;table-layout:fixed}.grants th[scope=row]{text-align:left;font-weight:400;padding:var(--s2) 0;border-bottom:1px solid var(--line-soft);width:34%;overflow:hidden;text-overflow:ellipsis}.grants td{padding:var(--s2) 0 var(--s2) var(--s3);border-bottom:1px solid var(--line-soft)}.grants td:first-of-type{width:150px}.grants tr:last-child th,.grants tr:last-child td{border-bottom:0}.grants select{font:inherit;font-size:var(--t-13);padding:3px 6px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}.grants td.small{line-height:1.5}.check{display:grid;grid-template-columns:auto 1fr;gap:2px var(--s3);align-items:baseline;font-size:var(--t-13);cursor:pointer}.check input{grid-row:span 2}.check .small{grid-column:2;line-height:1.5;max-width:52ch}.people-actions{margin-top:var(--s5)}.person-buttons{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap}.add-person{max-width:560px;margin-top:var(--s5);padding:var(--s5);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2)}.add-person .row{display:grid;grid-template-columns:84px 1fr;gap:var(--s3);align-items:center;margin-bottom:var(--s3)}.add-person input{font:inherit;padding:6px 8px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}.issued{margin-top:var(--s5);padding:var(--s5);max-width:560px;border:1px solid var(--accent);border-radius:var(--r-md);background:var(--accent-wash);display:grid;gap:var(--s3);justify-items:start}.issued .password{font:var(--t-lg)/1.4 var(--mono);letter-spacing:.04em;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--s2) var(--s4);-webkit-user-select:all;user-select:all}.issued p{margin:0;max-width:52ch}.error-line{color:var(--danger);font-size:var(--t-13);margin:var(--s4) 0 0;max-width:62ch}.tokens{width:100%;border-collapse:collapse;max-width:620px}.tokens th{text-align:left;font-weight:500;padding:var(--s2) var(--s3) var(--s2) 0;border-bottom:1px solid var(--line-soft)}.tokens thead th{font-size:var(--t-sm);color:var(--muted);font-weight:400;text-transform:uppercase;letter-spacing:.04em}.tokens td{padding:var(--s2) var(--s3) var(--s2) 0;font-size:var(--t-13);border-bottom:1px solid var(--line-soft)}.tokens td:last-child{text-align:right}.issued-token h3{font-size:var(--t-md);margin:var(--s5) 0 var(--s2)}.config{max-width:620px;margin:0 0 var(--s4);padding:var(--s4);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);font:var(--t-xs)/1.6 var(--mono);white-space:pre-wrap;word-break:break-all}
