@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ground:#e9ebe7;--ink:#1c211e;--ink-2:#5c6560;--accent:#2c5f7c;--on-accent:#faf9f6;--on-paper:#1c211e;--on-paper-2:#5c6560;--alert:#a8503a;--advisory:#c08a2e;--ghost-opacity:.45;--paper:#faf9f6;--paper-edge:#dcded7;--rule:#e2e4de;--floor:#efeee8;--grid:#e5e7e1;--edge:#cfcec4;--wall-a:#e3e2da;--wall-b:#eae9e1;--void:#c9c7bc;--glass:#cfdee4;--shadow-sheet:0 1px 2px #2e362c12;--shadow-float:0 8px 24px -6px #2e362c42}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#14171a;--ink:#e7eae7;--ink-2:#9ba4a0;--accent:#84b6d1;--on-accent:#14171a;--on-paper:#1c211e;--on-paper-2:#5c6560;--alert:#d48366;--advisory:#dcae5c;--ghost-opacity:.5;--paper:#e8e5dd;--paper-edge:#c6c3b8;--rule:#d2cfc5;--floor:#dedbd1;--grid:#d5d2c8;--edge:#b6b3a7;--wall-a:#d0cdc2;--wall-b:#d9d6cc;--void:#a9a69a;--glass:#b9cbd3;--shadow-sheet:0 1px 2px #0006;--shadow-float:0 8px 24px -6px #0009}}:root{--font:"Geist Variable", ui-sans-serif, system-ui, sans-serif;--font-mono:"Geist Mono Variable", ui-monospace, "Cascadia Code", monospace;--t-display:1.375rem;--t-body:.8125rem;--t-small:.75rem;--t-micro:.6875rem;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--r-tag:2px;--r-control:3px;--r-surface:5px;--dur-fast:.11s;--dur-base:.16s;--ease:cubic-bezier(.2, 0, 0, 1);--z-canvas:0;--z-tag:10;--z-float:20}*{box-sizing:border-box}body{padding:var(--s-5);background:var(--ground);color:var(--ink);font-family:var(--font);font-size:var(--t-body);-webkit-font-smoothing:antialiased;margin:0}body:before{content:"";z-index:var(--z-float);pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-control)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.sheet{z-index:var(--z-canvas);background:var(--paper);border:1px solid var(--paper-edge);border-radius:var(--r-surface);padding:var(--s-4);box-shadow:var(--shadow-sheet);touch-action:none;position:relative;overflow-x:auto}.sheet svg{touch-action:none;width:100%;min-width:520px;height:auto;display:block}.sheet svg text.dim{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.04em;fill:var(--on-paper-2);font-size:15px}.sheet svg [data-id]{cursor:grab}.sheet svg [data-ghost]{cursor:default}.workplane.dragging .sheet svg [data-id]{cursor:grabbing}.sheet.scene{height:620px;padding:0;overflow:hidden}.sheet.scene canvas{width:100%;height:100%;display:block}.sheet.scene.loading{color:var(--on-paper-2);font-family:var(--font-mono);font-size:var(--t-small);letter-spacing:.04em;place-items:center;display:grid}.workplane,.stage{position:relative}.tag{font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.09em;text-transform:uppercase;padding:2px var(--s-2);border:1px solid var(--paper-edge);border-radius:var(--r-tag);color:var(--on-paper-2);white-space:nowrap;background:0 0;font-weight:500}.tag.on{color:var(--accent);border-color:var(--accent)}.fig{font-family:var(--font-mono);font-variant-numeric:tabular-nums}button,select,textarea{font-family:inherit}.btn{font:inherit;font-size:var(--t-body);padding:6px var(--s-4);border-radius:var(--r-control);border:1px solid var(--paper-edge);color:var(--ink);cursor:pointer;transition:border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);background:0 0}.btn:hover{border-color:var(--ink-2)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.btn.primary:hover{filter:brightness(1.08)}.btn:disabled{opacity:.35;cursor:default;transform:none}.confirm-bar{left:var(--s-4);right:var(--s-4);bottom:var(--s-4);z-index:var(--z-float);justify-content:space-between;align-items:center;gap:var(--s-4);padding:var(--s-3) var(--s-4);border-radius:var(--r-surface);background:var(--ground);border:1px solid var(--paper-edge);border-left:3px solid var(--accent);box-shadow:var(--shadow-float);flex-wrap:wrap;display:flex;position:absolute}.confirm-text{flex-direction:column;gap:3px;min-width:0;display:flex}.confirm-text strong{font-size:var(--t-body);color:var(--ink);font-weight:600}.confirm-text span{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--t-small);color:var(--ink-2)}.confirm-actions{gap:var(--s-2);flex-shrink:0;display:flex}.console{background:var(--paper);border:1px solid var(--paper-edge);border-radius:var(--r-surface);padding:var(--s-3) var(--s-4);font-size:var(--t-body);color:var(--on-paper);box-shadow:var(--shadow-sheet)}.console-head{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.console-toggle{font:inherit;font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.11em;text-transform:uppercase;color:var(--on-paper);cursor:pointer;transition:color var(--dur-fast) var(--ease);background:0 0;border:none;padding:0;font-weight:600}.console-toggle:hover{color:var(--accent)}.console-count{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--on-paper-2);font-size:var(--t-small);margin-left:auto}.console-body{gap:var(--s-2);margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--rule);flex-direction:column;display:flex}.console-row{gap:var(--s-2);display:flex}.console-row select{font:inherit;font-family:var(--font-mono);font-size:var(--t-small);padding:6px var(--s-2);border-radius:var(--r-control);border:1px solid var(--paper-edge);background:var(--paper);min-width:0;color:var(--on-paper);transition:border-color var(--dur-fast) var(--ease);flex:1}.console-row select:hover{border-color:var(--ink-2)}.console-desc{max-width:68ch;color:var(--on-paper-2);font-size:var(--t-small);text-wrap:pretty;margin:0;line-height:1.5}.console-args{color:var(--on-paper-2);font-size:var(--t-micro);font-family:var(--font-mono);margin:0}.console textarea{font-family:var(--font-mono);font-size:var(--t-small);min-height:60px;padding:var(--s-2);border-radius:var(--r-control);border:1px solid var(--paper-edge);background:var(--ground);color:var(--ink);resize:vertical;transition:border-color var(--dur-fast) var(--ease)}.console textarea:hover{border-color:var(--ink-2)}.console-result{max-height:300px;padding:var(--s-3);border-radius:var(--r-control);background:var(--ground);border:1px solid var(--paper-edge);border-left:2px solid var(--accent);font-family:var(--font-mono);font-size:var(--t-small);font-variant-numeric:tabular-nums;color:var(--ink);margin:0;line-height:1.55;overflow:auto}.readout{background:var(--paper);border:1px solid var(--paper-edge);border-radius:var(--r-surface);padding:var(--s-3) var(--s-4);font-size:var(--t-body);color:var(--on-paper);box-shadow:var(--shadow-sheet)}.readout-title{margin:0 0 var(--s-2);padding-bottom:var(--s-2);border-bottom:1px solid var(--rule);align-items:center;gap:var(--s-3);font-weight:600;display:flex}.readout-title .pin{font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.09em;text-transform:uppercase;padding:3px var(--s-2);border-radius:var(--r-tag);border:1px solid var(--paper-edge);color:var(--on-paper-2);cursor:pointer;transition:border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);background:0 0;margin-left:auto;font-weight:500}.readout-title .pin:hover{border-color:var(--accent);color:var(--accent)}.readout-title .pin:active{transform:translateY(1px)}.readout dl{gap:0 var(--s-5);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin:0;display:grid}.readout dl>div{gap:var(--s-2);align-items:baseline;padding:3px 0;display:flex}.readout dt{font-size:var(--t-small);color:var(--on-paper-2);text-transform:capitalize;white-space:nowrap}.readout dl>div:after{content:"";border-bottom:1px dotted var(--rule);flex:1;order:1;transform:translateY(-3px)}.readout dd{text-align:right;min-width:0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--t-small);order:2;margin:0}.readout-note{font-family:var(--font);color:var(--on-paper-2)}.view-switch{border-radius:var(--r-control);background:var(--ground);border:1px solid var(--paper-edge);margin-bottom:var(--s-3);gap:1px;padding:2px;display:inline-flex}.view-switch button{font:inherit;font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.09em;text-transform:uppercase;padding:5px var(--s-3);border-radius:var(--r-tag);color:var(--ink-2);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:none}.view-switch button:hover{color:var(--ink)}.view-switch button.on{background:var(--paper);color:var(--on-paper);box-shadow:var(--shadow-sheet);font-weight:600}.panel{padding:var(--s-4);background:var(--paper);border:1px solid var(--paper-edge);border-radius:var(--r-surface);font-size:var(--t-body);color:var(--on-paper);box-shadow:var(--shadow-sheet);flex-direction:column;display:flex;overflow-y:auto}.panel>section+section{margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--rule)}.panel h2{font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.11em;text-transform:uppercase;color:var(--on-paper-2);margin:0 0 var(--s-3);gap:var(--s-2);align-items:center;font-weight:500;display:flex}.panel h2:after{content:"";border-bottom:1px solid var(--rule);flex:1}.panel h2 .count{color:var(--on-paper-2);font-variant-numeric:tabular-nums;letter-spacing:0}.panel-hint{margin:0 0 var(--s-2);font-size:var(--t-small);color:var(--on-paper-2);line-height:1.5}.panel-note{margin:var(--s-4) 0 0;padding-left:var(--s-3);border-left:2px solid var(--accent);font-size:var(--t-small);color:var(--ink-2);text-wrap:pretty;line-height:1.5}.preset-list{gap:var(--s-1);flex-direction:column;display:flex}.preset{font:inherit;text-align:left;gap:var(--s-3);padding:var(--s-2);border-radius:var(--r-control);color:var(--on-paper);cursor:pointer;transition:border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);background:0 0;border:1px solid #0000;grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid}.preset:hover{border-color:var(--accent)}.preset:active{transform:translateY(1px)}.preset-thumb{flex-shrink:0;display:block}.preset-text{flex-direction:column;gap:1px;min-width:0;display:flex}.preset strong{font-size:var(--t-body);font-weight:600}.preset .preset-dims{font-variant-numeric:tabular-nums;font-size:var(--t-micro);color:var(--on-paper-2);line-height:1.4}.new-room{align-items:center;gap:var(--s-2);margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--rule);font-size:var(--t-small);color:var(--on-paper-2);display:flex}.new-room input{font:inherit;font-family:var(--font-mono);font-variant-numeric:tabular-nums;width:6ch;padding:5px var(--s-2);text-align:right;border-radius:var(--r-control);border:1px solid var(--paper-edge);background:var(--paper);color:var(--on-paper);appearance:textfield;transition:border-color var(--dur-fast) var(--ease)}.new-room input::-webkit-outer-spin-button{appearance:none;margin:0}.new-room input::-webkit-inner-spin-button{appearance:none;margin:0}.new-room input:hover{border-color:var(--ink-2)}.new-room .unit{font-family:var(--font-mono);font-size:var(--t-micro)}.new-room .btn{font-size:var(--t-small);padding:5px var(--s-3);white-space:nowrap;margin-left:auto}.catalog,.in-room{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.catalog button{font:inherit;gap:var(--s-3);width:100%;padding:6px var(--s-2);border-radius:var(--r-control);color:var(--on-paper);cursor:grab;text-align:left;touch-action:none;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:1px solid #0000;grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;display:grid}.catalog li+li button{box-shadow:0 -1px 0 var(--rule)}.catalog button:hover{background:var(--ground);color:var(--ink)}.catalog .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.catalog .dims,.catalog .price{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--on-paper-2);font-variant-numeric:tabular-nums}.catalog button:hover .dims,.catalog button:hover .price{color:var(--ink-2)}.in-room li{border-radius:var(--r-control);align-items:center;display:flex}.in-room li+li{box-shadow:0 -1px 0 var(--rule)}.in-room li.on{background:var(--ground);box-shadow:none}.in-room li.on+li{box-shadow:none}.in-room .row{font:inherit;text-align:left;padding:6px var(--s-2);color:var(--on-paper);cursor:pointer;gap:var(--s-2);min-width:0;transition:color var(--dur-fast) var(--ease);background:0 0;border:none;flex:1;align-items:baseline;display:flex}.in-room .pinned{font-family:var(--font-mono);font-size:var(--t-micro);text-transform:uppercase;letter-spacing:.09em;border:1px solid var(--paper-edge);border-radius:var(--r-tag);color:var(--on-paper-2);padding:1px 5px}.in-room .drop{font:inherit;font-size:var(--t-small);padding:5px var(--s-2);border-radius:var(--r-tag);color:var(--on-paper-2);cursor:pointer;transition:color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);background:0 0;border:none}.in-room .drop:active:not(:disabled){transform:translateY(1px)}.in-room li.on .row{color:var(--ink)}.in-room li.on .pinned{color:var(--ink-2);border-color:var(--ink-2)}.in-room li.on .drop{color:var(--ink-2)}.in-room .drop:hover:not(:disabled){color:var(--alert)}.in-room .drop:disabled{opacity:.35;cursor:default}.starters{gap:var(--s-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.starters button{font:inherit;gap:var(--s-2);text-align:left;width:100%;padding:var(--s-2);border:1px solid var(--rule);border-left:2px solid var(--accent);border-radius:var(--r-control);color:var(--on-paper);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);background:0 0;justify-content:space-between;align-items:baseline;display:flex}.starters button:hover{border-color:var(--accent);background:var(--ground);color:var(--ink)}.starters button:active{transform:translateY(1px)}.starter-text{font-size:var(--t-small);text-wrap:pretty;line-height:1.4}.starter-cue{font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.09em;text-transform:uppercase;color:var(--on-paper-2);flex-shrink:0}.starters button:hover .starter-cue{color:var(--accent)}.feed{background:var(--paper);border:1px solid var(--paper-edge);border-radius:var(--r-surface);padding:var(--s-3) var(--s-4);color:var(--on-paper);box-shadow:var(--shadow-sheet)}.feed h2{font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.11em;text-transform:uppercase;color:var(--on-paper-2);margin:0 0 var(--s-2);gap:var(--s-2);align-items:center;font-weight:500;display:flex}.feed h2:after{content:"";border-bottom:1px solid var(--rule);flex:1}.feed h2 .count{font-variant-numeric:tabular-nums;letter-spacing:0;order:1}.feed-list{max-height:190px;margin:0;padding:0;list-style:none;overflow-y:auto}.feed-list li{gap:var(--s-3);font-size:var(--t-small);align-items:baseline;padding:4px 0;display:flex}.feed-list li+li{border-top:1px solid var(--rule)}.feed-list .who{width:5.5ch;font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.09em;text-transform:uppercase;color:var(--on-paper-2);flex-shrink:0}.feed-list .from-agent .who{color:var(--accent)}.feed-list .what{text-wrap:pretty;min-width:0}.feed-list .from-agent .what{font-family:var(--font-mono);font-size:var(--t-micro)}.feed-list .is-read{opacity:.62}.feed-list .is-refused .what{color:var(--alert)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{gap:var(--s-3);flex-direction:column;max-width:1400px;margin:0 auto;display:flex}.app-head{align-items:baseline;gap:var(--s-4);padding-bottom:var(--s-3);border-bottom:1px solid var(--paper-edge);flex-wrap:wrap;display:flex}.app-head h1{font-size:var(--t-display);letter-spacing:-.02em;margin:0;font-weight:600}.app-body{gap:var(--s-3);grid-template-columns:268px minmax(0,1fr);align-items:start;display:grid}.app-main{gap:var(--s-3);flex-direction:column;min-width:0;display:flex}.panel{max-height:calc(100vh - 190px)}@media (width<=900px){.app-body{grid-template-columns:1fr}.panel{max-height:none}}
