@font-face{font-family:Atkinson Hyperlegible Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/atkinson-mono-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/atkinson-mono-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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}:root{--font: "Atkinson Hyperlegible Mono", ui-monospace, "SF Mono", Menlo, monospace;--bg: #ece3d0;--panel: #fbf7ec;--panel-2: #ece1cb;--line: #cdbf9f;--ink: #3a3328;--muted: #978b72;--accent: #c25b3e}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden;overscroll-behavior:none}body{background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");color:var(--ink);font:14px/1.45 var(--font)}.loading{display:grid;place-items:center;height:100%;color:var(--muted)}.app{display:flex;flex-direction:column;height:100%}.create{display:flex;gap:6px;flex-wrap:wrap}.create button{background:var(--panel-2);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:6px 10px;cursor:pointer}.create button:hover{border-color:var(--accent)}.create button:disabled{opacity:.4;cursor:not-allowed}.who{margin-left:auto;display:flex;align-items:center;gap:12px;color:var(--muted)}.who .dot{width:10px;height:10px;border-radius:50%;display:inline-block}.who b{color:var(--ink)}.who .coord,.coord{font:12px var(--font);color:var(--muted);font-variant-numeric:tabular-nums}.rtc.on{color:var(--accent)}.palette{display:flex;gap:6px;flex-wrap:wrap}.create button.create-kind.defined{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));color:var(--accent)}.create button.define-toggle{border-style:dashed}.define-panel{flex-basis:100%;margin-top:8px;padding:10px;background:var(--panel-2);border:1px dashed var(--line);border-radius:10px;display:flex;flex-direction:column;gap:8px}.define-panel .def-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.define-panel .def-lead{color:var(--muted);font-size:12px}.define-panel input{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:5px 8px}.define-panel .def-fields{display:flex;flex-direction:column;gap:6px}.define-panel .def-field-row{display:flex;gap:6px}.define-panel .def-create{border-color:var(--accent);color:var(--accent)}.define-panel .def-err{color:var(--bad, #ff5d73);font-size:12px;min-height:14px}.defined-body .defined-title{font-weight:700}.defined-body .defined-fields{display:flex;flex-direction:column;gap:2px}.defined-body .defined-field{font-size:12px;color:var(--muted)}.defined-body .defined-field .v{color:var(--ink)}.defined-body .defined-actions{display:flex;flex-direction:column;gap:6px;margin-top:4px}.defined-body .defined-action-row{display:flex;gap:6px;align-items:center}.defined-body .defined-param{background:var(--panel-2);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:4px 6px;min-width:0;flex:1}.surface{position:relative;flex:1;overflow:hidden;cursor:crosshair;background-color:transparent;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.surface.pan-ready{cursor:grab}.surface.panning{cursor:grabbing}.surface.select-armed{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 55%,transparent)}.world{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:0 0;will-change:transform;backface-visibility:hidden}.grid{position:absolute;left:-8008px;top:-8008px;width:16016px;height:16016px;pointer-events:none;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:28px 28px}.focus-cells,.focus-cells-remote{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.focus-cell{position:absolute;transform:translate(-50%,-50%);z-index:4;--cell: #5b8def;pointer-events:none;line-height:0;font-size:0}.cell-trails{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.cell-trail{position:absolute;transform:translate(-50%,-50%);width:24px;height:24px;border-radius:5px;background:color-mix(in srgb,var(--cell) 42%,transparent);box-shadow:0 1px 3px #3a33281a;animation:cell-trail .7s ease-out forwards}@keyframes cell-trail{0%{opacity:.85;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.55)}}.hud{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;pointer-events:none}.hud>*{pointer-events:auto}.roster{position:absolute;top:50px;right:14px;display:flex;flex-direction:column;gap:3px;min-width:152px;max-width:220px;background:color-mix(in srgb,var(--panel) 92%,transparent);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);border:1px solid var(--line);border-radius:13px;padding:6px;box-shadow:0 8px 22px #3a332829}.roster-row{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:9px;cursor:pointer;color:var(--ink);font-size:13px}.roster-row.self{cursor:default}.roster-row:not(.self):hover{background:color-mix(in srgb,var(--ink) 9%,transparent)}.roster-row.following{background:color-mix(in srgb,var(--accent) 20%,transparent)}.roster-dot{width:22px;height:22px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;color:#fff8ec;font-weight:700;font-size:11px}.roster-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roster-follow{font-size:11px;color:var(--muted)}.roster-row:not(.self):hover .roster-follow{color:var(--ink)}.roster-row.following .roster-follow{color:var(--accent);font-weight:600}.chat-bar{position:fixed;left:50%;transform:translate(-50%);bottom:max(14px,env(safe-area-inset-bottom,0px));z-index:90;display:flex;gap:8px;width:min(760px,calc(100vw - 24px))}.at-suggest{position:absolute;bottom:calc(100% + 8px);left:6px;min-width:180px;max-width:300px;padding:4px;z-index:95;background:var(--panel);border:1.5px solid var(--line);border-radius:12px;box-shadow:0 8px 22px #3a332833;overflow:hidden}.at-item{display:flex;align-items:center;gap:8px;padding:7px 11px;border-radius:8px;font-size:14px;color:var(--ink);cursor:pointer;white-space:nowrap}.at-item .at-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}.at-item.sel,.at-item:hover{background:color-mix(in srgb,var(--accent) 16%,transparent)}.at-item .at-hint{margin-left:auto;font-size:11px;color:var(--muted)}.chat-input{flex:1;min-width:0;padding:12px 18px;border-radius:14px;background:var(--panel);border:1.5px solid var(--line);color:var(--ink);font-size:16px;box-shadow:0 3px #3a33280f,0 7px 16px #3a33281f}.chat-input:focus{outline:none;border-color:var(--accent)}.chat-input::placeholder{color:var(--muted)}.chat-send{flex:0 0 auto;width:46px;border-radius:14px;background:var(--accent);color:#fff7ec;border:1.5px solid color-mix(in srgb,var(--accent) 70%,var(--ink));font-size:16px;cursor:pointer;box-shadow:0 3px #3a33281a,0 7px 16px #3a332824}.chat-send:active{transform:translateY(1px);box-shadow:0 1px #3a33281a}.focus-cell .cell-glow{display:inline-block;will-change:transform}.focus-cell .cell-core{width:28px;height:28px;border-radius:4px;will-change:transform,width,height;background:color-mix(in srgb,var(--cell) 12%,transparent);box-shadow:0 0 0 2px var(--cell),0 0 0 3px color-mix(in srgb,var(--ink) 13%,transparent)}.focus-cell.frozen .cell-core{border-radius:5px;background:color-mix(in srgb,var(--cell) 18%,transparent);box-shadow:0 0 0 3px var(--cell),0 0 0 4px color-mix(in srgb,var(--ink) 15%,transparent)}.focus-cell.region .cell-core{border-radius:3px;background:color-mix(in srgb,var(--cell) 9%,transparent);outline:2px dashed var(--cell);outline-offset:1px;box-shadow:none}.focus-cell.region .cell-dialogue{top:auto;bottom:calc(100% + 7px)}.focus-cell .cell-dialogue{position:absolute;left:50%;top:calc(100% + 7px);transform:translate(-50%);white-space:nowrap;padding:2px 9px;border-radius:7px;background:var(--panel);border:1px solid var(--line);box-shadow:0 1px 3px #3a332824;color:var(--ink);font-size:11px;font-weight:600;line-height:1.5}.focus-cell.typing .cell-core{box-shadow:0 0 0 2px var(--cell),0 0 0 3px color-mix(in srgb,var(--ink) 13%,transparent),0 0 16px 5px color-mix(in srgb,var(--cell) 45%,transparent)}.focus-cell[data-act=idle] .cell-core{animation:cell-breathe 3.2s ease-in-out infinite}.focus-cell[data-act=noticing] .cell-core{animation:cell-perk .5s ease-out}.focus-cell[data-act=puzzled] .cell-core{animation:cell-tilt 1.4s ease-in-out infinite}.focus-cell[data-act=thinking] .cell-core{animation:cell-think 1.1s ease-in-out infinite}@keyframes cell-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}@keyframes cell-perk{0%{transform:scale(1)}40%{transform:scale(1.4)}to{transform:scale(1)}}@keyframes cell-tilt{0%,to{transform:rotate(0)}30%{transform:rotate(-7deg)}70%{transform:rotate(7deg)}}@keyframes cell-think{0%,to{box-shadow:0 0 0 2px var(--cell),0 0 0 3px color-mix(in srgb,var(--ink) 13%,transparent),0 0 6px 2px color-mix(in srgb,var(--cell) 28%,transparent)}50%{box-shadow:0 0 0 2px var(--cell),0 0 0 3px color-mix(in srgb,var(--ink) 13%,transparent),0 0 18px 7px color-mix(in srgb,var(--cell) 60%,transparent)}}.cell-status{position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%);font-size:13px;line-height:1;font-weight:800;color:var(--cell);pointer-events:none;white-space:nowrap;letter-spacing:1px}.focus-cell[data-act=thinking] .cell-status{animation:cell-blink 1.1s ease-in-out infinite}.focus-cell[data-act=noticing] .cell-status{animation:cell-perk .5s ease-out}.focus-cell[data-act=puzzled] .cell-status{animation:cell-tilt 1.4s ease-in-out infinite}@keyframes cell-blink{0%,to{opacity:.3}50%{opacity:1}}.cell-core.ks{animation:cell-ks .28s ease-out}@keyframes cell-ks{0%{transform:scale(1)}32%{transform:scale(1.09,.93)}66%{transform:scale(.985,1.02)}to{transform:scale(1)}}.edge-hints{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:95}.edge-hint{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;cursor:pointer;width:27px;height:27px;border-radius:50%;background:var(--cell);color:#fff8ec;display:grid;place-items:center;font:700 12px var(--font);border:2px solid color-mix(in srgb,var(--cell) 65%,var(--ink));box-shadow:0 2px 9px #3a332852;animation:edge-ping 1.8s ease-out infinite}@keyframes edge-ping{0%{box-shadow:0 2px 9px #3a332852,0 0 color-mix(in srgb,var(--cell) 45%,transparent)}70%,to{box-shadow:0 2px 9px #3a332852,0 0 0 9px color-mix(in srgb,var(--cell) 0%,transparent)}}.edge-hint.self{border-style:dashed}.edge-hint.circus{background:var(--panel);color:inherit;border-color:var(--line);font-size:15px;animation:none}.tent-tools{position:fixed;left:50%;bottom:78px;transform:translate(-50%,12px);z-index:91;opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease}.tent-tools.in{opacity:1;transform:translate(-50%);pointer-events:auto}.tent-tools-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--panel);border:1.5px solid var(--line);border-radius:16px;box-shadow:0 8px 22px #3a332833}.tent-label{font-size:18px;padding:0 2px}.tent-tool{padding:8px 12px;border-radius:11px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-weight:600;cursor:pointer;white-space:nowrap}.tent-tool:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg))}.tent-tool:active{transform:translateY(1px)}.tent-toast{padding:9px 14px;color:var(--ink);font-size:13px}.tent-sep{margin-left:6px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.tent-sel{font-size:12px;padding:4px 6px;border-radius:8px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink)}.tent-think{display:inline-flex;align-items:center;gap:2px;font-size:13px;cursor:pointer}.tent-go{background:color-mix(in srgb,var(--accent) 16%,var(--bg))}.stage-panel{position:fixed;top:12px;left:12px;z-index:92;width:210px;background:var(--panel);border:1.5px solid var(--line);border-radius:14px;box-shadow:0 8px 22px #3a33282e;overflow:hidden;font:13px/1.4 var(--font)}.stage-title{padding:9px 12px;font-weight:800;color:var(--ink);cursor:pointer;background:color-mix(in srgb,var(--accent) 10%,transparent);-webkit-user-select:none;user-select:none}.stage-body{padding:8px}.stage-btns{display:flex;flex-direction:column;gap:6px}.stage-btn{padding:9px 11px;border-radius:10px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-weight:600;text-align:left;cursor:pointer}.stage-btn:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg))}.stage-btn:active{transform:translateY(1px)}.stage-surprise{background:linear-gradient(100deg,color-mix(in srgb,var(--accent) 18%,var(--bg)),color-mix(in srgb,#ff5db1 16%,var(--bg)))}.stage-roster{margin-top:8px;border-top:1px dashed var(--line);padding-top:8px}.stage-row{display:flex;align-items:center;gap:7px;padding:4px 2px;cursor:pointer}.stage-row.stage-all{font-weight:700;opacity:.8}.stage-rname{flex:1}.stage-dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.stage-dot.on{background:#29c46b}.stage-hint{font-size:11px;color:var(--muted)}.stage-sel{margin-left:auto;font-size:11px;padding:2px 4px;border-radius:6px;border:1px solid var(--line);background:var(--bg);color:var(--ink)}.stage-think{display:inline-flex;align-items:center;gap:2px;font-size:12px;cursor:pointer}.stage-help{font-size:11px;color:var(--muted);padding:2px 2px 8px;line-height:1.35}.stage-roster-actions{display:flex;gap:6px;margin-top:8px}.stage-mini{flex:1;padding:7px;border-radius:9px;border:1.5px solid var(--line);background:var(--accent);color:#fff7ec;font:inherit;font-weight:700;cursor:pointer}.stage-mini.ghost{background:var(--bg);color:var(--ink)}.stage-checkin{margin-top:8px;border-top:1px dashed var(--line);padding-top:8px}.stage-sub{font-weight:700;margin-bottom:6px}.stage-checkrow{display:flex;align-items:center;gap:8px;padding:5px 2px}.stage-checkrow.me{cursor:pointer;font-weight:700;border-radius:8px}.stage-checkrow.me:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.stage-check{font-size:14px}.say-bubble{position:absolute;transform:translateY(calc(-100% - var(--stack, 0px))) scale(.86);transform-origin:0% 100%;max-width:380px;padding:7px 12px;border-radius:13px 13px 13px 3px;background:color-mix(in srgb,var(--cell, #7a86a8) 9%,#fffdf7);color:var(--ink);border:2px solid color-mix(in srgb,var(--cell, #7a86a8) 80%,var(--line));font:13.5px/1.45 var(--font);white-space:pre-wrap;word-break:break-word;box-shadow:0 4px 12px #3a33282e;pointer-events:none;z-index:6;opacity:0;transition:opacity .18s ease,transform .2s cubic-bezier(.2,1.4,.4,1)}.say-bubble.whisper{border-style:dashed;background:color-mix(in srgb,var(--cell, #7a86a8) 6%,#fffdf7)}.say-bubble.in{opacity:1;transform:translateY(calc(-100% - var(--stack, 0px))) scale(1)}.say-bubble.out{opacity:0;transform:translateY(calc(-140% - var(--stack, 0px))) scale(.97);transition:opacity .55s ease,transform .55s ease}.cards-layer{display:contents}.card{position:absolute;width:280px;font-size:13px;background:var(--panel);border:1.5px solid var(--line);border-radius:8px;box-shadow:0 3px #3a33280f,0 10px 22px #3a332824;overflow:hidden}.card-content{display:flex;flex-direction:column}.circus-anchor{position:absolute;left:0;top:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;pointer-events:none;z-index:1;filter:drop-shadow(0 1px 2px rgba(58,51,40,.25));transition:transform .12s ease}.circus-anchor.running{filter:drop-shadow(0 0 7px color-mix(in srgb,#3ddc97 75%,transparent)) brightness(1.12);transform:scale(1.12)}.circus-panel{position:absolute;left:50%;top:56px;transform:translate(-50%);z-index:30;min-width:240px;max-width:320px;background:var(--panel);border:1.5px solid var(--line);border-radius:12px;box-shadow:0 10px 28px #3a332838;padding:10px 12px;display:flex;flex-direction:column;gap:8px;font-size:13px}.circus-panel-head{display:flex;align-items:center;gap:6px;font-weight:600}.circus-panel-head .ghost{margin-left:auto}.circus-act{background:var(--panel-2);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:6px 8px;cursor:pointer;text-align:left;font:inherit}.circus-act:hover{background:#3a332814}.circus-here{display:flex;flex-direction:column;gap:2px}.circus-label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.circus-peer{padding:1px 0}.circus-soon{color:var(--muted);font-size:11px;font-style:italic}.ghost{background:transparent;color:var(--muted);border:0;cursor:pointer;padding:2px 5px;border-radius:6px}.ghost:hover:not(:disabled){background:#3a332814;color:var(--ink)}.ghost:disabled{opacity:.3;cursor:not-allowed}.ghost.danger:hover:not(:disabled){color:#ff6b6b}.pin-badge{position:absolute;top:3px;right:5px;z-index:3;font-size:11px;pointer-events:none;filter:drop-shadow(0 1px 1px rgba(58,51,40,.25))}.card.dragging{cursor:grabbing;box-shadow:0 10px 26px #3a332838}.ctx-menu{position:fixed;z-index:1000;min-width:168px;padding:5px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px #3a332838;display:flex;flex-direction:column;gap:1px}.ctx-head{padding:5px 9px 6px;font-size:10.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid var(--line);margin-bottom:3px}.ctx-item{display:block;width:100%;text-align:left;font:12.5px/1.6 ui-sans-serif,system-ui;color:var(--ink);background:transparent;border:0;border-radius:7px;padding:5px 9px;cursor:pointer}.ctx-item:hover:not(:disabled){background:#3a332814}.ctx-item:disabled{opacity:.35;cursor:not-allowed}.ctx-item.danger:hover:not(:disabled){background:#fbeaea;color:#a33}.seat-band{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 8px;background:var(--panel-2);border-bottom:1px solid var(--line);font-size:12px}.host-chip{display:inline-flex;align-items:center;gap:4px;background:var(--panel);color:var(--ink);border:1.5px solid color-mix(in srgb,#3ddc97 55%,var(--line));border-radius:999px;padding:2px 9px;cursor:pointer;font:inherit;line-height:1.5}.host-chip:hover{background:#3a33280f}.host-chip.mine{border-color:#3ddc97;box-shadow:0 0 0 2px color-mix(in srgb,#3ddc97 28%,transparent)}.host-chip.dormant{color:var(--muted);border-style:dashed;border-color:var(--line)}.seat-row{display:inline-flex;gap:4px}.seat{width:22px;height:22px;border-radius:6px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;cursor:pointer;font-family:inherit}.seat.open{background:transparent;color:var(--muted);border:1.5px dashed var(--line)}.seat.open:hover{color:var(--ink);border-color:var(--ink)}.seat.filled{color:#fff8ec;border:1.5px solid color-mix(in srgb,var(--seat-color) 70%,#000);background:var(--seat-color);cursor:default}.seat.filled.mine{cursor:pointer;box-shadow:0 0 0 2px var(--panel-2),0 0 0 3.5px var(--seat-color)}.seat-count{margin-left:auto;color:var(--muted);font-size:11px}.body{padding:10px;display:flex;flex-direction:column;gap:8px}.card input,.card textarea{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:6px 8px;font:inherit;width:100%;-webkit-user-select:text;user-select:text}.text-title{font-weight:600}.text-body{min-height:64px;resize:vertical}.rows{width:100%;border-collapse:collapse}.rows td{padding:2px 4px;border-bottom:1px solid var(--line)}.rows .k{color:var(--muted)}.row-add{display:flex;gap:4px}.row-add input{width:50%}.todos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.todos label{display:flex;align-items:center;gap:8px}.todos .done{text-decoration:line-through;color:var(--muted)}.todo-add{display:flex;gap:4px}.desc{color:var(--muted);margin:0}.actions{display:flex;gap:6px}.card button{background:var(--panel-2);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:4px 8px;cursor:pointer}.presence-dot{width:28px;height:28px;border-radius:50%}.progress{height:8px;background:var(--bg);border:1px solid var(--line);border-radius:5px;overflow:hidden}.progress-fill{height:100%;width:0;background:var(--accent);transition:width .15s ease}.seeders{color:var(--muted);margin:0;font-size:12px}.agent-face{margin:0;padding:10px;background:#0b0d11;border-top:1px solid var(--line);color:#9fd3a7;font:11px/1.4 var(--font);max-height:180px;overflow:auto}.avatars{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.avatar{position:absolute;width:92px;height:92px;transform:translate(-50%,-50%);border-radius:14px;overflow:hidden;transition:left .5s ease,top .5s ease;box-shadow:0 4px 18px #00000073;border:2px solid var(--line);background:var(--panel-2)}.avatar.self{border-color:var(--accent)}.avatar-video{width:100%;height:100%;object-fit:cover}.avatar.self .avatar-video{transform:scaleX(-1)}.avatar-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:700;color:#0b0d11}.speak-bar{position:fixed;left:50%;bottom:18px;transform:translate(-50%);width:min(560px,80vw);z-index:20}.speak-input{width:100%;padding:10px 16px;border-radius:999px;background:color-mix(in srgb,var(--panel) 88%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line);color:var(--ink);font-size:14px;box-shadow:0 6px 24px #0006}.speak-input:focus{outline:none;border-color:var(--accent)}.speak-input::placeholder{color:var(--muted)}.avatars-remote .avatar .avatar-ph{animation:avatar-pulse 2.4s ease-in-out infinite}@keyframes avatar-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.25)}}.avatar-name{position:absolute;left:0;right:0;bottom:0;padding:2px 6px;font-size:11px;font-weight:600;color:var(--ink);background:linear-gradient(transparent,#000000b3);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cursors{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.cursor-flag{position:absolute;transform:translate(-2px,-2px)}.cursor-arrow{display:block;width:0;height:0;border-left:7px solid var(--c);border-bottom:7px solid transparent;border-right:7px solid transparent;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}.cursor-label{position:absolute;left:10px;top:8px;white-space:nowrap;background:var(--c);color:#0b0d11;font-size:11px;font-weight:600;padding:1px 6px;border-radius:6px}.error-toast{position:fixed;bottom:16px;left:50%;transform:translate(-50%);background:#3a1d1d;color:#ffb4b4;border:1px solid #5a2a2a;padding:8px 14px;border-radius:8px}.card[data-variant=chalk]{background:transparent;border:none;box-shadow:none}.card[data-variant=chalk] .defined-body,.card[data-variant=chalk] .body{background:transparent}.card[data-variant=chalk] .defined-title{font-size:1.5rem;line-height:1.25}.card[data-variant=chalk] .defined-body-text{font-size:1.05rem}.card[data-variant=plain]{box-shadow:none}.defined-body-text{white-space:pre-wrap;line-height:1.45;max-width:46ch}.card:has(.defined-body){width:fit-content;min-width:170px;max-width:660px}.card[data-frame=none]{background:transparent;border:none;box-shadow:none;overflow:visible;width:fit-content}.card[data-frame=none] .body,.card[data-frame=none] .defined-body{background:transparent}.card[data-cells]:not([data-cells=""]){overflow:hidden}.card[data-cells]:not([data-cells=""]) .card-content{height:100%;display:flex;flex-direction:column}.card[data-cells]:not([data-cells=""]) .body{flex:1;overflow:auto}.forge-body{padding:10px}.forge-cols{display:flex;gap:12px}.forge-left{flex:1 1 46%;min-width:220px;display:flex;flex-direction:column;gap:7px}.forge-right{flex:1 1 54%;min-width:220px;display:flex;flex-direction:column;gap:6px}.forge-meta{display:flex;gap:6px}.forge-meta input{flex:1;min-width:0;border:1px solid var(--line);border-radius:6px;padding:5px 7px;background:#fff}.forge-pane{display:flex;flex-direction:column;gap:3px}.forge-pane-label{font:600 10px ui-sans-serif,system-ui;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.forge-pane textarea{border:1px solid var(--line);border-radius:7px;padding:7px 9px;background:#fcfbf7}.forge-actions{display:flex;gap:8px;align-items:center;margin-top:2px}.forge-teach{background:#1560d4!important;color:#fff!important;border:none!important;font-weight:700}.forge-place{font-weight:700}.forge-status{font:11px ui-sans-serif,system-ui;color:var(--muted)}.forge-err{display:none;font:11.5px ui-monospace,monospace;color:#a33;background:#fbeaea;border-radius:6px;padding:5px 9px;white-space:pre-wrap}.forge-preview-slot{flex:1}.forge-preview-frame{border:1.5px dashed var(--line);border-radius:10px;padding:10px;background:repeating-conic-gradient(#f3f1ea,#f3f1ea 25%,#faf9f4 0%,#faf9f4 50%) 0 0/16px 16px}.card[data-type=zone]{z-index:0}.card[data-type=zone] .defined-body{background:transparent}.forge-wish{width:100%;box-sizing:border-box;border:1.5px solid #c9d8f0;border-radius:8px;padding:8px 10px;background:#f4f8ff;font:italic 13px/1.5 Georgia,serif;resize:vertical}.forge-wish{font-size:14.5px}.forge-drawer{margin-top:10px;border-top:1px dashed var(--line);padding-top:8px}.forge-drawer summary{cursor:pointer;font:600 10.5px ui-sans-serif,system-ui;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.forge-drawer summary:hover{color:var(--ink)}.forge-drawer textarea{margin-top:8px}.forge-preview-frame{margin:4px 0}.forge-pvhead{display:flex;align-items:center;gap:10px}.forge-grid{position:relative;touch-action:none;background:repeating-linear-gradient(0deg,transparent 0 27px,rgba(120,110,80,.14) 27px 28px),repeating-linear-gradient(90deg,transparent 0 27px,rgba(120,110,80,.14) 27px 28px),#faf8f1}.forge-preview-frame.forge-grid{padding:0;min-height:168px;overflow:hidden}.forge-footprint{outline:1.5px dashed rgba(120,110,80,.45);outline-offset:-1px}.forge-marks{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.forge-markcell{position:absolute;width:28px;height:28px;background:#ffc43c61;outline:1.5px solid rgba(217,165,20,.7);border-radius:3px;pointer-events:none}
