.fs-root{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;overflow:hidden;background:radial-gradient(ellipse at 50% 38%,#ffffffe6,#fafaf700 62%),repeating-linear-gradient(-26.565deg,rgba(20,32,46,.035) 0 1px,transparent 1px 28px),repeating-linear-gradient(26.565deg,rgba(20,32,46,.035) 0 1px,transparent 1px 28px),#f3f0e8;animation:fs-in .38s cubic-bezier(.22,.61,.36,1)}.fs-root.night{background:radial-gradient(ellipse at 50% 38%,#28466e8c,#0c1d3100 62%),repeating-linear-gradient(-26.565deg,rgba(255,255,255,.03) 0 1px,transparent 1px 28px),repeating-linear-gradient(26.565deg,rgba(255,255,255,.03) 0 1px,transparent 1px 28px),#0c1d31}.fs-root.night .fs-svg{filter:brightness(.86) saturate(.92)}@keyframes fs-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}.fs-bar{position:absolute;left:var(--fs-l);top:calc(var(--fs-t) - 58px);z-index:3;display:flex;align-items:center;gap:10px;padding:6px 8px 6px 6px;background:var(--ot-paper, #fff);border:1px solid var(--ot-ink, #14202E);border-radius:999px;box-shadow:3px 3px 0 var(--ot-navy, #004080);max-width:calc(100% - var(--fs-l) - var(--fs-r) - 8px)}.fs-back{border:0;background:var(--ot-ink, #14202E);color:#fff;border-radius:999px;padding:7px 12px;cursor:pointer;font:600 12px var(--ot-ui);letter-spacing:.02em;white-space:nowrap}.fs-back:hover{background:var(--ot-orange, #F04000)}.fs-seal{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-family:var(--ot-display);font-size:14px;flex:none}.fs-title{display:flex;flex-direction:column;line-height:1.1;min-width:0}.fs-title b{font-family:var(--ot-display);font-weight:400;font-size:20px;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.fs-title small{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ot-ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fs-nav{display:flex;gap:4px;margin-left:4px}.fs-tabs{display:flex;gap:4px;margin-left:6px;padding-left:10px;border-left:1px solid var(--ot-line);overflow-x:auto;scrollbar-width:none}.fs-tabs button{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;border:1px solid var(--ot-line);background:var(--ot-washi);border-radius:999px;padding:5px 10px;cursor:pointer;font:600 11.5px var(--ot-ui);color:var(--ot-ink)}.fs-tabs button i{width:7px;height:7px;border-radius:50%;background:var(--rc)}.fs-tabs button:hover{border-color:var(--ot-ink)}.fs-wrap.over[data-r="1"]{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent)}.fs-wrap.over[data-l="1"]{-webkit-mask-image:linear-gradient(90deg,transparent,#000 56px);mask-image:linear-gradient(90deg,transparent,#000 56px)}.fs-wrap.over[data-l="1"][data-r="1"]{-webkit-mask-image:linear-gradient(90deg,transparent,#000 56px,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(90deg,transparent,#000 56px,#000 calc(100% - 56px),transparent)}.fs-wrap.over{cursor:grab}.fs-nav button{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--ot-line);background:var(--ot-washi);cursor:pointer;font-size:10px;color:var(--ot-ink)}.fs-nav button:hover:not(:disabled){border-color:var(--ot-ink)}.fs-nav button:disabled{opacity:.35;cursor:default}.fs-root.night .fs-title small{color:#5a6573}.fs-wrap{position:absolute;left:var(--fs-l);top:var(--fs-t);right:var(--fs-r);bottom:var(--fs-b);overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;display:flex;align-items:center}.fs-canvas{position:relative;flex:none}.fs-wrap.dragging{cursor:grabbing}.fs-wrap.dragging *{pointer-events:none!important}.fs-svg{display:block;overflow:visible;-webkit-user-select:none;user-select:none}.fs-ov{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.fs-ov>*{position:absolute;left:0;top:0;pointer-events:auto;will-change:transform}.fs-room{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;margin-top:-10px;padding:5px 12px 5px 8px;border-radius:8px;background:var(--ot-ink, #14202E);color:#fff;font-family:var(--ot-display);font-size:15px;letter-spacing:.06em;text-transform:uppercase;line-height:1;box-shadow:3px 3px 0 var(--rc);pointer-events:none}.fs-room i{width:10px;height:10px;border-radius:50%;background:var(--rc)}.fs-room em{font:700 9.5px var(--ot-ui);letter-spacing:.12em;font-style:normal;background:#f0d050;color:#14202e;border-radius:999px;padding:2px 7px}.fs-room.planned{background:#fff;color:var(--ot-ink);border:1.5px dashed var(--ot-ink);box-shadow:none}.fs-chip{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;margin-top:2px;padding:4px 10px 4px 7px;border-radius:999px;cursor:pointer;background:#fffffff7;border:1px solid rgba(20,32,46,.18);border-left:3px solid var(--ac, #004080);font:500 11.5px/1.15 var(--ot-ui);color:var(--ot-ink2, #5A6573);box-shadow:0 2px 6px #0019331f;transition:box-shadow .15s,background .15s}.fs-chip b{font-weight:700;color:var(--ot-ink, #14202E)}.fs-chip b:after{content:"·";margin-left:6px;color:#b9bec4;font-weight:400}.fs-chip.soon b:after,.fs-chip.mark b:after{content:none}.fs-chip i{width:8px;height:8px;border-radius:50%;background:#c9c5ba;flex:none}.fs-chip i.pulse{box-shadow:0 0 #1e8a5a80;animation:fs-pulse 1.6s infinite}.fs-chip u{text-decoration:none;background:#c98a00;color:#fff;border-radius:999px;font-size:10px;font-weight:700;padding:1px 6px}.fs-chip:hover{box-shadow:0 0 0 2px var(--ac),0 2px 6px #0019331f}.fs-chip.sel{background:var(--ot-ink, #14202E);color:#c9d3de;border-color:var(--ot-ink);box-shadow:3px 3px 0 var(--ot-orange, #F04000)}.fs-chip.sel b{color:#fff}.fs-chip.err{border-color:#d03020}.fs-chip.npc{cursor:default;border-left-color:#3b4a5c}.fs-chip.npc i{background:#3b4a5c}.fs-chip.soon{cursor:default;background:#ffffffbf;border:1.5px dashed var(--ot-navy, #004080);color:var(--ot-navy)}.fs-chip.soon b{color:var(--ot-navy);font-weight:600}.fs-chip.soon i{background:transparent;border:1.5px dashed var(--ot-navy)}.fs-chip.mark{border-style:solid;border-color:#14202e2e;color:var(--ot-ink2)}.fs-chip.mark b{color:var(--ot-ink2)}@keyframes fs-pulse{70%{box-shadow:0 0 0 7px #1e8a5a00}to{box-shadow:0 0 #1e8a5a00}}.fs-bub{box-sizing:border-box;padding:6px 10px 7px;border-radius:12px;background:#fff;color:var(--ot-ink, #14202E);border:1.5px solid var(--ot-ink, #14202E);font:500 11.5px/15px var(--ot-ui);width:max-content;box-shadow:2px 2px 0 var(--ac);pointer-events:none;animation:fs-bub-in .42s cubic-bezier(.34,1.56,.64,1)}.fs-bub>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;max-height:30px}.fs-bub time{font:600 10.5px var(--ot-mono);color:var(--ot-ink2);margin-right:6px}.fs-bub.muted{background:#ffffffd1;border-color:#14202e40;color:var(--ot-ink2);box-shadow:none;font-style:italic;font-size:11px;padding:4px 9px 5px}.fs-bub.work{border-color:#1e8a5a;box-shadow:2px 2px #1e8a5a}.fs-bub.wait{background:#fff7e4;border-color:#c98a00;box-shadow:2px 2px #c98a00}.fs-bub.err{background:#fdecea;border-color:#d03020;box-shadow:2px 2px #d03020;color:#8e1f14}@keyframes fs-bub-in{0%{opacity:0;transform-origin:bottom left;translate:0 6px;scale:.85}to{opacity:1;translate:0 0;scale:1}}.iso-char:hover .ch{filter:drop-shadow(0 0 2px rgba(240,64,0,.8))}.iso-selring{animation:fs-ring 1.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes fs-ring{50%{transform:scale(1.12);opacity:.6}}.ch-up,.ch-head,.ch-arm-l,.ch-arm-r,.ch-leg-l,.ch-leg-r,.ch-mark,.ch-z,.ch-mouth{transform-box:view-box}.ch-sit .ch-up,.ch-stand .ch-up,.ch-talk .ch-up,.ch-sit-alert .ch-up,.ch-alert .ch-up{animation:ch-breathe 3.2s ease-in-out infinite}@keyframes ch-breathe{50%{translate:0 -1.2px}}.ch-sit-type .ch-arm-l{transform-origin:-17px -40px;rotate:32deg;animation:ch-type .22s steps(2) infinite alternate}.ch-sit-type .ch-arm-r{transform-origin:17px -40px;rotate:-32deg;animation:ch-type .22s steps(2) infinite alternate-reverse}.ch-sit-type .ch-head{animation:ch-nod 2.4s ease-in-out infinite;transform-origin:0 -40px}@keyframes ch-type{0%{translate:0 0}to{translate:0 -2.5px}}@keyframes ch-nod{50%{rotate:2.5deg}}.ch-walk .ch-leg-l{transform-origin:-6px -16px;animation:ch-step .42s steps(1) infinite}.ch-walk .ch-leg-r{transform-origin:6px -16px;animation:ch-step .42s steps(1) infinite reverse}.ch-walk .ch-arm-l{transform-origin:-17px -40px;animation:ch-swing .42s steps(1) infinite reverse}.ch-walk .ch-arm-r{transform-origin:17px -40px;animation:ch-swing .42s steps(1) infinite}.ch-walk .ch-up{animation:ch-bob .21s ease-in-out infinite alternate}@keyframes ch-step{0%{rotate:16deg}50%{rotate:-16deg}}@keyframes ch-swing{0%{rotate:14deg}50%{rotate:-14deg}}@keyframes ch-bob{to{translate:0 -2px}}.ch-talk .ch-arm-r{transform-origin:17px -40px;animation:ch-gesture 1.1s ease-in-out infinite}.ch-talk .ch-mouth{transform-origin:0 -46px;animation:ch-talk .3s steps(2) infinite}@keyframes ch-gesture{0%,to{rotate:0deg}40%{rotate:-55deg}60%{rotate:-45deg}}@keyframes ch-talk{50%{scale:1 .4}}.ch-mark{animation:ch-mark .9s ease-in-out infinite}@keyframes ch-mark{50%{translate:0 -4px}}.ch-alert .ch-arm-l{transform-origin:-17px -40px;rotate:20deg}.ch-sleep .ch-head{transform-origin:0 -40px;rotate:9deg;translate:0 2px}.ch-z{animation:ch-z 2.4s ease-in-out infinite}@keyframes ch-z{0%{opacity:0;translate:0 4px}30%{opacity:1}to{opacity:0;translate:6px -10px}}.iso-led{animation:iso-blink 1.8s steps(1) infinite}.iso-led.l1{animation-delay:-.4s}.iso-led.l2{animation-delay:-.9s;animation-duration:1.3s}.iso-led.l3{animation-delay:-1.3s}.iso-led.l4{animation-duration:2.6s}@keyframes iso-blink{0%,70%{opacity:1}71%,to{opacity:.25}}.iso-glow{animation:iso-glow 2.2s ease-in-out infinite}@keyframes iso-glow{50%{opacity:.55}}.iso-sway{transform-box:fill-box;transform-origin:50% 100%;animation:iso-sway 5s ease-in-out infinite}@keyframes iso-sway{50%{rotate:1.6deg}}.iso-water{animation:iso-water 3s ease-in-out infinite alternate}@keyframes iso-water{to{translate:8px 4px}}.iso-flow{animation:iso-flow 1.2s linear infinite}.iso-flow.r{animation-direction:reverse}@keyframes iso-flow{to{stroke-dashoffset:-30}}.iso-neon{animation:iso-neon 4s steps(1) infinite}@keyframes iso-neon{0%,92%,96%{opacity:1}93%,97%{opacity:.35}}.iso-ring.on{filter:drop-shadow(0 0 6px #FFF1C9)}.iso-print{animation:iso-print 2.4s ease-in-out infinite}@keyframes iso-print{50%{opacity:.55}}@media (max-width: 899px){.fs-bar{gap:7px;padding:4px 6px 4px 4px}.fs-title b{font-size:16px}.fs-title small{display:none}.fs-back{padding:6px 10px;font-size:11.5px}.fs-bar{top:calc(var(--fs-t) - 92px);right:var(--fs-r);flex-wrap:wrap;border-radius:18px;max-width:none}.fs-title{flex:1}.fs-tabs{order:5;flex-basis:100%;margin:2px 0 0;padding:0;border:0}.fs-wrap{align-items:flex-start}}@media (prefers-reduced-motion: reduce){.fs-root,.fs-bub,.fs-chip i.pulse,.iso-selring,.iso-led,.iso-glow,.iso-sway,.iso-water,.iso-flow,.iso-neon,.iso-print,.ch-up,.ch-head,.ch-arm-l,.ch-arm-r,.ch-leg-l,.ch-leg-r,.ch-mark,.ch-z,.ch-mouth{animation:none!important}}.fs-root.rm .fs-bub,.fs-root.rm .iso-led,.fs-root.rm .ch-up,.fs-root.rm .ch-arm-l,.fs-root.rm .ch-arm-r{animation:none!important}.ot-stage{--ot-washi: #FAFAF7;--ot-paper: #FFFFFF;--ot-ink: #14202E;--ot-ink2: #5A6573;--ot-line: #E3E1DA;--ot-navy: #004080;--ot-orange: #F04000;--ot-display: "Anton", "Bebas Neue", Impact, sans-serif;--ot-ui: "Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", sans-serif;--ot-mono: "JetBrains Mono", ui-monospace, Menlo, monospace;position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;background:var(--ot-washi);color:var(--ot-ink);font-family:var(--ot-ui)}.ot-mount{position:absolute;top:0;right:0;bottom:0;left:0}.ot-canvas{display:block;width:100%;height:100%;touch-action:none}.ot-denied{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--ot-ink2);font-size:15px}.ot-denied div{display:flex;flex-direction:column;align-items:center;gap:4px}.ot-denied b{font-family:var(--ot-display);font-weight:400;font-size:18px;letter-spacing:.05em;text-transform:uppercase;color:var(--ot-ink)}.ot-labels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.ot-lbl{position:absolute;left:0;top:0;will-change:transform;pointer-events:auto;font-family:var(--ot-ui);transition:opacity .2s cubic-bezier(.22,.61,.36,1)}.ot-lbl.dim{opacity:0;pointer-events:none}.ot-tag{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:3px 9px 3px 6px;border-radius:999px;margin-top:-6px;background:#fffffff0;border:1px solid var(--ot-line);color:var(--ot-ink);font-size:11px;font-weight:600;letter-spacing:.01em;box-shadow:0 1px 2px #00193314;cursor:pointer}.ot-tag i{width:7px;height:7px;border-radius:50%;background:#c9c5ba;flex:none}.ot-tag:hover{border-color:var(--ot-ink)}.ot-tag.sel{background:var(--ot-ink);color:#fff;border-color:var(--ot-ink);box-shadow:3px 3px 0 var(--ot-orange)}.ot-tag.is-err{border-color:#d03020}.ot-tag-quiet{cursor:default;font-weight:500;color:var(--ot-ink2);background:#ffffffbf;padding-left:9px}.ot-tag-quiet:hover{border-color:var(--ot-line)}.ot-floor{display:flex;align-items:center;gap:10px;padding:0 12px 0 0;background:none;border:0;text-align:left;cursor:pointer;color:var(--ot-ink)}.ot-seal{width:38px;height:38px;border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;font-family:var(--ot-display);font-size:16px;letter-spacing:.02em;box-shadow:0 0 0 3px var(--ot-washi)}.ot-fl-txt{display:flex;flex-direction:column;line-height:1.15}.ot-fl-txt b{font-family:var(--ot-display);font-weight:400;font-size:19px;text-transform:uppercase;letter-spacing:.03em}.ot-fl-txt small{font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ot-ink2)}.ot-floor:hover .ot-fl-txt b,.ot-floor.on .ot-fl-txt b{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.ot-brand{position:absolute;top:18px;left:20px;z-index:6;display:flex;align-items:center;gap:12px;pointer-events:none}.ot-brand-seal{width:46px;height:46px;border-radius:50%;background:var(--ot-orange);color:#fff;display:grid;place-items:center;font-family:var(--ot-display);font-size:14px;letter-spacing:.03em;flex:none}.ot-brand h2{margin:0;font-family:var(--ot-display);font-weight:400;font-size:30px;line-height:1;letter-spacing:.02em;text-transform:uppercase}.ot-brand p{margin:5px 0 0;font-size:10.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ot-ink2);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ot-dotsep{opacity:.6}.ot-chip-sim{color:#9a6400;border:1px solid #E2B660;background:#fdf4e0;border-radius:999px;padding:1px 8px;letter-spacing:.12em}.ot-lift{position:absolute;left:20px;top:96px;z-index:6;display:flex;flex-direction:column;align-items:center;gap:7px;padding:10px 8px;background:var(--ot-paper);border:1px solid var(--ot-ink);border-radius:30px;box-shadow:4px 4px 0 var(--ot-navy)}.ot-lift-h{font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ot-ink2);padding-bottom:2px}.ot-lift-btn{width:36px;height:36px;border-radius:50%;cursor:pointer;border:1.5px solid var(--ot-line);background:var(--ot-washi);color:var(--ot-ink);font-family:var(--ot-display);font-size:14px;letter-spacing:.03em;transition:background .15s cubic-bezier(.22,.61,.36,1),border-color .15s}.ot-lift-btn:hover{border-color:var(--ot-ink)}.ot-lift-btn:active{transform:translateY(1px)}.ot-lift-all{margin-top:2px;border:0;background:none;cursor:pointer;padding:3px 4px;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ot-ink2)}.ot-lift-all.on{color:var(--ot-orange)}.ot-lift-btn:focus-visible,.ot-lift-all:focus-visible,.ot-demo:focus-visible,.ot-collapse:focus-visible,.ot-tag:focus-visible,.ot-floor:focus-visible{outline:2px solid var(--ot-orange);outline-offset:2px}.ot-panel{position:absolute;top:64px;right:18px;z-index:7;width:320px;max-height:calc(100% - 160px);display:flex;flex-direction:column;background:var(--ot-paper);border:1px solid var(--ot-ink);border-radius:14px;box-shadow:4px 4px 0 var(--ot-navy)}.ot-panel-h{display:flex;align-items:stretch;border-bottom:1px solid var(--ot-line)}.ot-counts{flex:1;display:grid;grid-template-columns:repeat(4,1fr)}.ot-count{padding:11px 0 10px 14px;display:flex;flex-direction:column;gap:3px}.ot-count+.ot-count{border-left:1px solid var(--ot-line)}.ot-count b{font-family:var(--ot-display);font-weight:400;font-size:24px;line-height:1;font-variant-numeric:tabular-nums}.ot-count span{display:flex;align-items:center;gap:5px;font-size:9.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ot-ink2)}.ot-count i{width:7px;height:7px;border-radius:50%;flex:none}.ot-collapse{display:none;width:40px;border:0;border-left:1px solid var(--ot-line);background:none;cursor:pointer;font-size:18px;color:var(--ot-ink)}.ot-panel-b{overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:14px}.ot-err{font-size:12px;color:#b02a1b}.ot-muted{font-size:12px;color:var(--ot-ink2)}.ot-card{border:1px solid var(--ot-line);border-radius:10px;padding:12px;background:var(--ot-washi)}.ot-card-empty{font-size:12.5px;color:var(--ot-ink2)}.ot-card-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}.ot-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-family:var(--ot-display);font-size:15px;letter-spacing:.03em;flex:none}.ot-card-id{flex:1;min-width:0;display:flex;flex-direction:column}.ot-card-id b{font-size:15px;font-weight:700;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ot-card-id small{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ot-ink2);margin-top:2px}.ot-pill{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c);border:1.5px solid var(--c);border-radius:999px;padding:2px 8px;white-space:nowrap}.ot-card dl{display:grid;grid-template-columns:58px 1fr;gap:6px 10px;margin:0;font-size:12.5px}.ot-card dt{font-size:9.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ot-ink2);padding-top:2px}.ot-card dd{margin:0;overflow-wrap:anywhere;line-height:1.45}.ot-card code{font-family:var(--ot-mono);font-size:11.5px}.ot-sec h3{margin:0 0 8px;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ot-ink2)}.ot-feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.ot-feed li{display:grid;grid-template-columns:40px 24px 1fr;align-items:start;gap:8px;padding:7px 0;font-size:12.5px}.ot-feed li+li{border-top:1px solid var(--ot-line)}.ot-feed time{font-family:var(--ot-mono);font-size:11px;color:var(--ot-ink2);font-variant-numeric:tabular-nums;padding-top:2px}.ot-feed-fl{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-family:var(--ot-display);font-size:9.5px;letter-spacing:.02em}.ot-feed-t{min-width:0;overflow-wrap:anywhere;line-height:1.4;color:var(--ot-ink2)}.ot-feed-t b{color:var(--ot-ink);font-weight:600;margin-right:3px}.ot-panel-f{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--ot-line)}.ot-demo{border:1px solid var(--ot-ink);background:var(--ot-paper);color:var(--ot-ink);border-radius:6px;padding:6px 12px;font:600 12px var(--ot-ui);cursor:pointer;box-shadow:3px 3px 0 var(--ot-navy);transition:transform .12s cubic-bezier(.22,.61,.36,1),box-shadow .12s}.ot-demo:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--ot-navy)}.ot-demo.on{background:#fdf4e0;border-color:#9a6400;color:#7a4f00;box-shadow:3px 3px #9a6400}@media (max-width: 899px){.ot-brand{top:60px;left:16px}.ot-brand h2{font-size:24px}.ot-brand-seal{width:38px;height:38px;font-size:12px}.ot-lift{top:auto;bottom:96px;left:12px;flex-direction:row;border-radius:26px;padding:6px 8px;max-width:calc(100% - 24px);overflow-x:auto}.ot-lift-h{display:none}.ot-lift-btn{width:32px;height:32px;font-size:12px;flex:none}.ot-panel{top:116px;right:12px;width:min(320px,calc(100% - 24px));max-height:calc(100% - 240px)}.ot-collapse{display:block}.ot-panel.closed .ot-panel-b{display:none}.ot-panel.closed .ot-panel-h{border-bottom:0}.ot-fl-txt small{display:none}.ot-fl-txt b{font-size:15px}}@media (max-width: 600px){.ot-fl-txt{display:none}.ot-seal{width:28px;height:28px;font-size:12px}.ot-labels:not(.focus) .ot-tag{display:none}.ot-count{padding-left:10px}.ot-count span{font-size:8.5px;letter-spacing:.04em}}@media (prefers-reduced-motion: reduce){.ot-lbl,.ot-demo,.ot-lift-btn{transition:none}}.ot-tag em{font-style:normal;font-family:var(--ot-display);font-size:11px;line-height:1;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--ot-orange);color:#fff;display:inline-grid;place-items:center;margin-left:1px}.ot-tag em:empty{display:none}.ot-bubble{pointer-events:none;max-width:230px;padding:7px 11px 8px;border-radius:12px;background:var(--ot-paper);border:1.5px solid var(--ot-ink);box-shadow:3px 3px 0 var(--c, var(--ot-navy));font-size:12px;line-height:1.35;color:var(--ot-ink);display:flex;flex-direction:column;gap:1px;animation:ot-pop .38s cubic-bezier(.34,1.56,.64,1) both}.ot-bubble b{font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--c, var(--ot-navy))}.ot-bubble span{overflow-wrap:anywhere}.ot-bubble.err{border-color:#d03020}.ot-bubble.out{animation:ot-out .45s ease-in both}@keyframes ot-pop{0%{opacity:0;scale:.6;translate:0 10px}to{opacity:1;scale:1;translate:0 0}}@keyframes ot-out{to{opacity:0;translate:0 -12px}}.ot-dock{position:absolute;right:18px;bottom:26px;z-index:6;display:flex;gap:8px;max-width:calc(100% - 36px);justify-content:flex-end}.ot-dock-btn{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:76px;padding:7px 12px 8px;border-radius:10px;cursor:pointer;text-align:left;background:var(--ot-paper);border:1px solid var(--ot-ink);color:var(--ot-ink);font:700 12px var(--ot-ui);box-shadow:3px 3px 0 var(--ot-navy);transition:transform .12s cubic-bezier(.22,.61,.36,1),box-shadow .12s,background .15s}.ot-dock-btn small{white-space:nowrap;font-size:9.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ot-ink2)}.ot-dock-btn:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--ot-navy)}.ot-dock-btn.on{background:var(--ot-ink);color:#fff}.ot-dock-btn.on small{color:#c9d3de}.ot-dock-main{background:var(--ot-orange);border-color:var(--ot-orange);color:#fff;box-shadow:3px 3px 0 var(--ot-ink)}.ot-dock-main small{color:#ffe2d4}.ot-dock-main.on{background:var(--ot-ink);border-color:var(--ot-ink)}.ot-dock-btn:focus-visible{outline:2px solid var(--ot-orange);outline-offset:2px}.ot-replay{position:absolute;top:64px;left:50%;translate:-50% 0;z-index:7;width:min(360px,calc(100% - 32px));background:var(--ot-ink);color:#fff;border-radius:14px;padding:10px 16px 12px;box-shadow:4px 4px 0 var(--ot-orange);display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 14px}.ot-replay-clock{grid-row:span 2;font-family:var(--ot-display);font-size:36px;line-height:1;font-variant-numeric:tabular-nums}.ot-replay-clock span{font-family:var(--ot-ui);font-size:10px;letter-spacing:.14em;margin-left:5px;color:#c9d3de}.ot-replay-bar{height:6px;border-radius:3px;background:#ffffff2e;overflow:hidden}.ot-replay-bar i{display:block;height:100%;background:var(--ot-orange);border-radius:3px}.ot-replay-meta{font-size:11px;letter-spacing:.06em;color:#c9d3de}.ot-chip-replay{color:#fff;background:var(--ot-orange);border-color:var(--ot-orange)}.ot-toast{position:absolute;top:64px;left:50%;translate:-50% 0;z-index:8;background:var(--ot-ink);color:#fff;font-size:12.5px;padding:8px 14px;border-radius:999px;animation:ot-pop .3s cubic-bezier(.34,1.56,.64,1) both}.ot-keys{font-size:10.5px;color:var(--ot-ink2);line-height:1.8}.ot-keys kbd{font-family:var(--ot-mono);font-size:10px;border:1px solid var(--ot-line);border-bottom-width:2px;border-radius:4px;padding:0 4px;background:var(--ot-washi);color:var(--ot-ink)}.ot-stage.ot-night{background:#0c1d31}.ot-night .ot-brand h2,.ot-night .ot-floor{color:#f2f0ea}.ot-night .ot-brand p,.ot-night .ot-fl-txt small{color:#a9b6c6}.ot-night .ot-seal{box-shadow:0 0 0 3px #0c1d31}.ot-night .ot-tag-quiet{background:#ffffffd9}@media (max-width: 899px){.ot-dock{right:auto;left:12px;bottom:146px;gap:6px;flex-direction:row;flex-wrap:wrap;width:auto;max-width:calc(100% - 24px)}.ot-dock-btn{min-width:0;padding:6px 9px 7px;font-size:11px}.ot-keys{display:none}.ot-replay{top:116px}}@media (prefers-reduced-motion: reduce){.ot-bubble,.ot-toast{animation:none}}.ot-hist{margin-top:12px;padding-top:10px;border-top:1px solid var(--ot-line)}.ot-hist-h{font-size:11px;color:var(--ot-ink2);letter-spacing:.04em;margin-bottom:6px}.ot-hist-h b{font-family:var(--ot-display);font-weight:400;font-size:20px;color:var(--ot-ink);margin-right:4px}.ot-hist-bars{display:grid;grid-template-columns:repeat(24,1fr);align-items:end;gap:2px;height:46px}.ot-hist-bars i{display:block;background:var(--ot-line);border-radius:2px 2px 0 0;min-height:2px}.ot-hist-axis{display:flex;justify-content:space-between;font-family:var(--ot-mono);font-size:9.5px;color:var(--ot-ink2);margin-top:3px}.ot-hist-list{list-style:none;margin:8px 0 0;padding:0;font-size:12px;display:flex;flex-direction:column;gap:3px}.ot-hist-list li{display:grid;grid-template-columns:38px 1fr;gap:6px;overflow-wrap:anywhere}.ot-hist-list time{font-family:var(--ot-mono);font-size:11px;color:var(--ot-ink2)}.ot-alarm{position:absolute;top:64px;left:calc(50% - 170px);translate:-50% 0;z-index:9;width:min(440px,calc(100% - 420px));display:flex;align-items:center;gap:12px;padding:10px 12px 10px 16px;border-radius:12px;background:#d03020;color:#fff;border:2px solid #14202E;box-shadow:4px 4px #14202e;animation:ot-pop .35s cubic-bezier(.34,1.56,.64,1) both,ot-alarm 1.1s ease-in-out infinite}.ot-alarm-dot{width:14px;height:14px;border-radius:50%;background:#fff;flex:none;animation:ot-blink .55s steps(2,jump-none) infinite}.ot-alarm-t{flex:1;min-width:0;display:flex;flex-direction:column}.ot-alarm-t b{font-family:var(--ot-display);font-weight:400;font-size:20px;letter-spacing:.03em;text-transform:uppercase;line-height:1.1}.ot-alarm-t small{font-size:11.5px;opacity:.9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ot-alarm button{border:1.5px solid #fff;background:transparent;color:#fff;border-radius:6px;padding:5px 10px;font:700 12px var(--ot-ui);cursor:pointer}.ot-alarm button:first-of-type{background:#fff;color:#d03020}@keyframes ot-alarm{50%{box-shadow:4px 4px #14202e,0 0 0 8px #d0302040}}@keyframes ot-blink{50%{opacity:.15}}.ot-milestone{position:absolute;left:50%;top:34%;translate:-50% -50%;z-index:9;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 30px 16px;background:#f04000;color:#fff;border:2px solid #14202E;border-radius:16px;box-shadow:6px 6px #14202e;animation:ot-slam .55s cubic-bezier(.2,1.8,.4,1) both,ot-out .5s ease-in 3.6s both}.ot-milestone small{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;opacity:.9}.ot-milestone b{font-family:var(--ot-display);font-weight:400;font-size:54px;line-height:1;letter-spacing:.02em;text-transform:uppercase}@keyframes ot-slam{0%{opacity:0;scale:2.4;rotate:-8deg}to{opacity:1;scale:1;rotate:-2deg}}@media (max-width: 899px){.ot-alarm{top:116px;left:50%;width:calc(100% - 24px)}.ot-milestone b{font-size:38px}}@media (prefers-reduced-motion: reduce){.ot-alarm,.ot-alarm-dot,.ot-milestone{animation:none}}.ot-dock-ceo{background:var(--ot-navy);border-color:var(--ot-navy);color:#fff;box-shadow:3px 3px 0 var(--ot-orange)}.ot-dock-ceo small{color:#bfd3ea}.ot-dock-ceo.on{background:var(--ot-orange);border-color:var(--ot-orange);box-shadow:3px 3px 0 var(--ot-ink)}.ot-dock-ceo.on small{color:#ffe2d4}.ot-tag-ceo{background:var(--ot-orange);color:#fff;border-color:var(--ot-orange);cursor:default;box-shadow:2px 2px 0 var(--ot-ink)}.ot-tag-ceo i{background:#fff}.ot-rpg{position:absolute;left:50%;bottom:112px;translate:-50% 0;z-index:8;display:flex;flex-direction:column;align-items:center;gap:10px;width:min(460px,calc(100% - 24px));pointer-events:none}.ot-rpg>*{pointer-events:auto}.ot-rpg-bar{display:flex;align-items:center;gap:10px;background:var(--ot-ink);color:#fff;border-radius:999px;padding:6px 8px 6px 16px;box-shadow:3px 3px 0 var(--ot-orange);font-size:12px;max-width:100%}.ot-rpg-where{font-family:var(--ot-display);font-size:15px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.ot-rpg-hint{color:#c9d3de;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ot-rpg kbd{font-family:var(--ot-mono);font-size:10.5px;border:1px solid rgba(255,255,255,.4);border-bottom-width:2px;border-radius:4px;padding:0 5px;margin-right:4px;background:#ffffff14;color:inherit}.ot-rpg-prompt{border:0;background:var(--ot-orange);color:#fff;border-radius:999px;padding:6px 14px;font:700 12.5px var(--ot-ui);cursor:pointer;animation:ot-pulse 1.2s ease-in-out infinite;white-space:nowrap}@keyframes ot-pulse{50%{box-shadow:0 0 0 6px #f0400040}}.ot-rpg-menu{width:100%;background:var(--ot-paper);color:var(--ot-ink);border:2px solid var(--ot-ink);border-radius:14px;box-shadow:5px 5px 0 var(--ot-navy);padding:14px;animation:ot-pop .3s cubic-bezier(.34,1.56,.64,1) both}.ot-rpg-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.ot-rpg-head b{display:block;font-size:15px}.ot-rpg-head small{font-size:11.5px;color:var(--ot-ink2)}.ot-rpg-mood{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ot-ink2);margin-bottom:12px}.ot-rpg-mood i{height:8px;border-radius:4px;background:var(--ot-line);overflow:hidden}.ot-rpg-mood em{display:block;height:100%;border-radius:4px;transition:width .4s cubic-bezier(.22,.61,.36,1)}.ot-rpg-mood b{font-family:var(--ot-display);font-weight:400;font-size:16px;color:var(--ot-ink);letter-spacing:0}.ot-rpg-acts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ot-rpg-acts button,.ot-rpg-floors button{display:flex;align-items:center;justify-content:center;gap:6px;border:1.5px solid var(--ot-ink);background:var(--ot-washi);color:var(--ot-ink);border-radius:8px;padding:9px 8px;font:700 12.5px var(--ot-ui);cursor:pointer;box-shadow:2px 2px 0 var(--ot-navy)}.ot-rpg-acts button:active,.ot-rpg-floors button:active{transform:translate(2px,2px);box-shadow:none}.ot-rpg-acts button.danger{background:#d03020;border-color:#d03020;color:#fff;box-shadow:2px 2px 0 var(--ot-ink)}.ot-rpg-menu kbd{border-color:currentColor;background:transparent}.ot-rpg-title{font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ot-ink2);margin-bottom:10px}.ot-rpg-floors{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.ot-rpg-floors button{justify-content:flex-start}.ot-rpg-floors button:disabled{opacity:.4;cursor:default}.ot-rpg-floors .ot-seal{width:26px;height:26px;font-size:11px;box-shadow:none}.ot-rpg-pad{display:none}@media (max-width: 899px),(pointer: coarse){.ot-rpg-pad{display:grid;grid-template-columns:repeat(3,46px);grid-template-rows:repeat(2,46px);gap:6px;position:fixed;right:16px;bottom:150px}.ot-rpg-pad button{border:1.5px solid var(--ot-ink);background:var(--ot-paper);border-radius:10px;font-size:16px;box-shadow:2px 2px 0 var(--ot-navy);touch-action:none}.ot-rpg-pad .p-f{grid-column:2;grid-row:1}.ot-rpg-pad .p-l{grid-column:1;grid-row:2}.ot-rpg-pad .p-b{grid-column:2;grid-row:2}.ot-rpg-pad .p-r{grid-column:3;grid-row:2}.ot-rpg{bottom:200px}}.ot-tag-ia{border-left:4px solid var(--ac, var(--ot-ink))}.ot-tag-ia u{text-decoration:none;font-size:8.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c, #98A1AB);border:1.2px solid var(--c, #98A1AB);border-radius:999px;padding:0 5px;line-height:13px;white-space:nowrap}.ot-tag-ia u:empty{display:none}.ot-tag.sel u{color:#fff;border-color:#ffffffb3}.ot-tag .ot-ap{font-family:var(--ot-display);font-weight:400;font-size:11px;line-height:1;min-width:16px;height:16px;padding:0 4px;border-radius:4px;background:#c98a00;color:#fff;display:inline-grid;place-items:center;box-shadow:0 0 0 2px #fff}.ot-tag .ot-ap:empty{display:none}.ot-tag.is-off{opacity:.72}.ot-tag.is-off span{text-decoration:line-through;text-decoration-thickness:1px}.ot-ia-bar{display:flex;gap:6px;margin-top:7px;flex-wrap:wrap;pointer-events:auto}.ot-chip-ia{font:inherit;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ot-ink);background:#ffffffe6;border:1.5px solid var(--ot-line);border-radius:999px;padding:3px 10px;cursor:pointer}.ot-chip-ia b{font-family:var(--ot-display);font-weight:400;font-size:13px}.ot-chip-ia.on{border-color:#c98a00;color:#7a5200;background:#fdf4e0;box-shadow:2px 2px #c98a00}.ot-chip-ia.off{color:var(--ot-ink2);cursor:default}.ot-chip-ia.ks{background:#14202e;color:#fff;border-color:#14202e;box-shadow:2px 2px #d03020;cursor:default}.ot-ia{margin-top:12px;border-top:1px solid var(--ot-line);padding-top:10px}.ot-ia-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.ot-ia-stats div{display:flex;flex-direction:column;gap:2px;border:1px solid var(--ot-line);border-radius:8px;padding:6px 7px;background:#fff9}.ot-ia-stats b{font-family:var(--ot-display);font-weight:400;font-size:17px;line-height:1;font-variant-numeric:tabular-nums}.ot-ia-stats span{font-size:9px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ot-ink2)}.ot-ia-stats .hot{border-color:#c98a00;background:#fdf4e0}.ot-ia-sub{font-size:10px;color:var(--ot-ink2);margin-top:5px}.ot-ia h4{margin:10px 0 4px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ot-ink2)}.ot-night .ot-chip-ia:not(.ks):not(.on){background:#ffffffe0}:root{--bg: #FAF9F5;--surface: #FFFFFF;--surface-2: #F3F1EA;--border: #E8E6DF;--text: #1F1E1D;--muted: #6E6B64;--accent: #0F766E;--accent-soft: #E4F1EE;--accent-dim: #E4F1EE;--radius: 14px;--shadow: 0 1px 3px rgba(0, 0, 0, .05);--serif: "Lora", Georgia, "Times New Roman", serif;--sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:13px;-webkit-font-smoothing:antialiased;overflow:hidden}button{font-family:inherit;cursor:pointer}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#dad6cb;border-radius:8px}::-webkit-scrollbar-track{background:transparent}.boot{display:grid;place-items:center;height:100%;color:var(--muted);font-size:28px}.login-wrap{height:100%;display:grid;place-items:center;background:radial-gradient(1200px 600px at 50% -10%,var(--accent-soft),transparent),var(--bg)}.login-card{width:340px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:32px;display:flex;flex-direction:column;gap:12px;box-shadow:0 8px 40px #1f1e1d0f}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:8px}.login-dot,.sb-dot{width:11px;height:11px;border-radius:50%;background:var(--accent);flex:0 0 11px}.login-title{font-family:var(--serif);font-weight:600;letter-spacing:.3px;font-size:22px}.login-sub{color:var(--muted);font-size:10px;letter-spacing:2px}.login-label{color:var(--muted);font-size:11px;letter-spacing:1px;text-transform:uppercase}.login-input,.sb-search,.chat-input{background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:10px 12px;font-size:13px;outline:none}.login-input:focus,.sb-search:focus,.chat-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.login-err{color:#b4402e;font-size:12px}.login-btn{margin-top:6px;background:var(--accent);color:#fff;border:none;border-radius:10px;padding:11px;font-weight:600;letter-spacing:.5px}.login-btn:disabled{opacity:.5}.app{display:flex;height:100%;width:100%}.stage{position:relative;flex:1;min-width:0}.graph-mount{position:absolute;top:0;right:0;bottom:0;left:0}.topbar{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:5}.fit-btn{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:6px 16px;border-radius:20px;box-shadow:var(--shadow);font-size:12px}.fit-btn:hover{border-color:var(--accent);color:var(--accent)}.sidebar{width:300px;flex:0 0 300px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100%}.sidebar.collapsed{width:40px;flex-basis:40px;align-items:center;padding-top:10px}.collapse-btn{background:transparent;border:1px solid var(--border);color:var(--muted);width:24px;height:24px;border-radius:6px;line-height:1}.collapse-btn:hover{border-color:var(--accent);color:var(--accent)}.sb-head{display:flex;align-items:center;justify-content:space-between;padding:18px 16px;border-bottom:1px solid var(--border)}.sb-brand{display:flex;align-items:center;gap:10px}.sb-title{font-family:var(--serif);font-weight:600;letter-spacing:.3px;font-size:16px}.sb-sub{color:var(--muted);font-size:9px;letter-spacing:2px}.sb-stats{display:flex;gap:16px;padding:12px 16px;color:var(--muted);font-size:12px;border-bottom:1px solid var(--border)}.sb-stats b{color:var(--text);font-weight:600}.sb-search{margin:14px 16px 6px}.sb-results{margin:0 8px 6px;max-height:200px;overflow-y:auto}.sb-result,.hub-row,.filter-row{width:100%;display:flex;align-items:center;gap:8px;background:transparent;border:none;color:var(--text);padding:7px 8px;border-radius:8px;text-align:left;font-size:12px}.sb-result:hover,.hub-row:hover,.filter-row:hover{background:var(--surface-2)}.sb-result .lbl,.hub-row .lbl,.filter-row .lbl{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-result .deg,.hub-row .deg,.filter-row .deg{color:var(--muted);font-size:11px}.dot{width:8px;height:8px;border-radius:50%;flex:0 0 8px}.filter-row.off{opacity:.4}.filter-row.off .lbl{text-decoration:line-through}.sb-empty,.sb-muted{color:var(--muted);font-size:12px;padding:4px 8px}.sb-scroll{flex:1;overflow-y:auto;padding:8px}.sb-section{padding:12px 8px;border-top:1px solid var(--border)}.sb-section:first-child{border-top:none}.sb-h{color:var(--muted);font-size:10px;letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;padding:0 4px;font-weight:600}.insp-label{display:flex;align-items:center;gap:8px;font-weight:600;padding:0 4px}.insp-type{color:var(--muted);font-size:11px;padding:2px 4px 8px}.insp-excerpt{color:var(--muted);font-size:12px;line-height:1.6;padding:10px;background:var(--surface-2);border-radius:10px;margin-bottom:8px}.insp-open{background:var(--accent-soft);color:var(--accent);border:1px solid transparent;border-radius:10px;padding:7px 12px;font-size:12px;width:100%;font-weight:500}.insp-open:hover{border-color:var(--accent)}.note-body{margin-top:10px;padding:12px;background:var(--surface-2);border-radius:10px;max-height:320px;overflow-y:auto;font-size:12px;line-height:1.6;color:var(--text)}.sb-logout{margin:8px 16px 16px;background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:10px;padding:9px;font-size:12px}.sb-logout:hover{border-color:#d9a99a;color:#b4402e}.md-p{margin:0 0 8px}.md-h{font-family:var(--serif);font-weight:600;margin:12px 0 6px}.md-h1{font-size:17px}.md-h2{font-size:15px}.md-h3{font-size:13.5px}.md-h4{font-size:12px}.md-ul{margin:0 0 8px;padding-left:18px}.md-ul li{margin:2px 0}.md-table{border-collapse:collapse;width:100%;margin:8px 0;font-size:12px}.md-table th,.md-table td{border:1px solid var(--border);padding:5px 8px;text-align:left}.md-table th{background:var(--surface-2);color:var(--text);font-weight:600}code{background:var(--surface-2);color:var(--accent);padding:1px 5px;border-radius:4px;font-size:11px;font-family:JetBrains Mono,ui-monospace,monospace}.wikilink{color:var(--accent);text-decoration:none;border-bottom:1px dotted var(--accent)}.wikilink:hover{background:var(--accent-soft)}.chat-dock{position:absolute;left:0;right:min(31vw,620px);bottom:0;z-index:8;display:flex;flex-direction:column;align-items:center;padding:0 16px 16px;pointer-events:none}.chat-dock>*{pointer-events:auto}.persona-bubble{max-width:620px;margin-bottom:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;font-size:13px;line-height:1.55;color:var(--text);box-shadow:var(--shadow);cursor:pointer}.persona-name{display:inline-block;color:var(--accent);font-weight:600;margin-right:8px;letter-spacing:.2px}.chat-panel{width:100%;max-width:640px;height:46vh;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;margin-bottom:10px;display:flex;flex-direction:column;box-shadow:0 -8px 40px #1f1e1d14;animation:slideUp .25s ease}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}.chat-panel-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);color:var(--text);font-family:var(--serif);font-weight:600;font-size:14px}.chat-close{background:transparent;border:none;color:var(--muted);font-size:20px;line-height:1}.chat-close:hover{color:var(--text)}.chat-scroll{flex:1;overflow-y:auto;padding:16px}.chat-greet{color:var(--muted);font-size:13px;line-height:1.6;margin-bottom:10px}.msg{margin-bottom:14px;max-width:92%}.msg.user{margin-left:auto}.msg.user .msg-body{background:var(--accent-soft);border:1px solid transparent;border-radius:12px 12px 2px;padding:9px 12px;color:var(--text)}.msg.assistant .msg-body{background:var(--surface);border:1px solid var(--border);border-radius:12px 12px 12px 2px;padding:9px 12px}.msg-body{font-size:13px;line-height:1.6}.msg-body .md-p:last-child{margin-bottom:0}.typing{color:var(--muted);font-style:italic}.msg-sources{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;align-items:center}.src-label{color:var(--muted);font-size:11px}.src-chip{background:var(--surface-2);border:1px solid var(--border);color:var(--accent);border-radius:12px;padding:2px 10px;font-size:11px}.src-chip:hover{border-color:var(--accent)}.chat-bar{width:100%;max-width:640px;display:flex;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px;box-shadow:var(--shadow)}.chat-input{flex:1;border:none;background:transparent}.chat-input:focus{box-shadow:none}.chat-send{background:var(--accent);color:#fff;border:none;border-radius:10px;padding:8px 18px;font-weight:600}.chat-send:disabled{opacity:.4}.chat-head-actions{display:flex;align-items:center;gap:8px}.chat-autospeak{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:999px;padding:3px 10px;font-size:11px;cursor:pointer;line-height:1}.chat-autospeak.on{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.msg-tts{margin-top:4px}.tts-btn{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:999px;padding:2px 10px;font-size:11px;cursor:pointer;line-height:1.4}.tts-btn:hover{color:var(--accent);border-color:var(--accent)}.tts-btn.playing{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.tts-btn:disabled{opacity:.5;cursor:default}.chat-head-id{display:flex;align-items:center;gap:9px}.orb-canvas{display:block;flex:none}.persona-bubble{display:flex;align-items:center;gap:9px}.chat-mic{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:999px;width:40px;height:40px;font-size:16px;cursor:pointer;flex:none;display:inline-flex;align-items:center;justify-content:center}.chat-mic:hover{color:var(--accent);border-color:var(--accent)}.chat-mic.listening{background:var(--accent-soft);color:var(--accent);border-color:var(--accent);animation:micpulse 1.2s ease-in-out infinite}@keyframes micpulse{0%,to{box-shadow:0 0 0 0 var(--accent-soft)}50%{box-shadow:0 0 0 5px var(--accent-soft)}}.paper-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;overflow:hidden}.paper-canvas{display:block}.orb-stage{position:absolute;top:50%;right:4vw;transform:translateY(-50%);z-index:2;pointer-events:none;display:flex;align-items:center;justify-content:center}.orb-stage .orb-canvas{pointer-events:auto;cursor:pointer;transition:transform .18s ease,filter .18s ease;border-radius:50%}.orb-stage .orb-canvas:hover{transform:scale(1.03)}.orb-stage .orb-canvas:active{transform:scale(.97)}.graph-mount{background-color:#faf9f5;background-image:repeating-linear-gradient(45deg,rgba(120,95,70,.035) 0 1px,transparent 1px 14px),repeating-linear-gradient(-45deg,rgba(120,95,70,.028) 0 1px,transparent 1px 14px),radial-gradient(130% 90% at 50% 0%,rgba(193,95,60,.05),transparent 60%)}.topbar{display:flex;align-items:center;gap:8px}.view-toggle{display:inline-flex;padding:3px;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow)}.view-btn{background:transparent;border:none;color:var(--muted);padding:4px 14px;border-radius:16px;font-size:12px;font-weight:500}.view-btn:hover{color:var(--text)}.view-btn.on{background:var(--accent-soft);color:var(--accent)}
