#chatArea.map-on{--map-w:clamp(260px, 32%, 380px);--map-h:clamp(170px, 42vh, 380px);display:grid;grid-template-columns:minmax(0,1fr)}#chatArea.map-on>.chat-header{grid-area:head}#chatArea.map-on>.messages{grid-area:msgs;min-height:0}#chatArea.map-on>.select-bar{grid-area:sel}#chatArea.map-on>#emailVerifyBanner{grid-area:note}#chatArea.map-on>.input-area{grid-area:input;min-width:0}#chatArea.map-on>.map-panel{grid-area:map}#chatArea.map-on>.balcony{display:none}#chatArea.map-on.map-right{grid-template-columns:minmax(0,1fr) var(--map-w);grid-template-rows:auto minmax(0,1fr) auto auto auto;grid-template-areas:'head head' 'msgs map' 'sel map' 'note map' 'input map'}#chatArea.map-on.map-left{grid-template-columns:var(--map-w) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto auto;grid-template-areas:'head head' 'map msgs' 'map sel' 'map note' 'map input'}#chatArea.map-on.map-bottom{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto var(--map-h) auto auto;grid-template-areas:'head' 'msgs' 'sel' 'map' 'note' 'input'}#chatArea.map-on.map-folded.map-left,#chatArea.map-on.map-folded.map-right{--map-w:44px}#chatArea.map-on.map-folded.map-bottom{grid-template-rows:auto minmax(0,1fr) auto auto auto auto}.map-panel{--bm-fill:var(--bg-surface, var(--bg, #16131d));container-type:inline-size;display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden;background:rgba(0,0,0,.28);border-left:1px solid var(--border)}.map-panel[hidden]{display:none}.map-left>.map-panel{border-left:none;border-right:1px solid var(--border)}.map-bottom>.map-panel{border-left:none;border-top:1px solid var(--border)}@media (min-width:769px){#chatArea.map-on.map-bottom>.map-panel:not(.map-big),#chatArea.map-on.map-left:not(.map-folded)>.map-panel:not(.map-big){padding-left:22px}}.mp-head{position:relative;display:flex;flex:none;align-items:center;gap:6px;padding:6px 8px 6px 10px;border-bottom:1px solid var(--border)}.mp-grip{display:none}#chatArea.map-bottom:not(.map-folded)>.map-panel:not(.map-big) .mp-head{padding-top:12px;cursor:ns-resize;touch-action:none}#chatArea.map-bottom:not(.map-folded)>.map-panel:not(.map-big) .mp-grip{display:block;position:absolute;top:3px;left:50%;width:44px;height:5px;margin-left:-22px;border-radius:3px;background:rgba(255,255,255,.3);cursor:ns-resize}.mp-grip:focus-visible{outline:2px solid var(--accent,#a855f7);outline-offset:3px}.map-panel.map-pulling,.map-panel.map-pulling *{user-select:none}.map-folded .mp-head{border-bottom:none}.mp-fold{min-height:32px;flex:0 1 auto;display:inline-flex;align-items:center;gap:6px;min-width:0;padding:4px 6px;border:none;border-radius:8px;background:0 0;color:var(--text);font:inherit;font-size:.88em;font-weight:600;text-align:left;white-space:nowrap;overflow:hidden;cursor:pointer}.mp-fold:hover{background:var(--bg-hover)}.mp-views{display:inline-flex;flex:1 1 auto;min-width:0;gap:2px;padding:2px;border:1px solid var(--border);border-radius:9px}.mp-view{flex:1 1 0;min-width:0;min-height:28px;padding:2px 8px;border:none;border-radius:7px;background:0 0;color:var(--text-dim);font:inherit;font-size:.8em;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.mp-view:hover{color:var(--text)}.mp-view[aria-selected=true]{background:var(--bg-hover);color:var(--accent)}.mp-docks,.mp-tools{display:inline-flex;flex:none;align-items:center;gap:2px}.mp-tool{width:28px;height:28px;min-height:0;padding:0;border:1px solid transparent;border-radius:8px;background:0 0;color:var(--text-dim);cursor:pointer;font-size:.95em;line-height:1}.mp-tool:hover{background:var(--bg-hover);color:var(--text)}.mp-tool[aria-pressed=true]{border-color:var(--border-active);color:var(--accent)}.map-cramped .mp-docks{display:none}@container (max-width:420px){#chatArea:not(.map-cramped) .map-panel:not(.map-big) .mp-head{flex-wrap:wrap;row-gap:6px}#chatArea:not(.map-cramped) .map-panel:not(.map-big) .mp-views{order:1;flex-basis:100%}#chatArea:not(.map-cramped) .map-panel:not(.map-big) .mp-tools{margin-left:auto}}@media (pointer:coarse){@container (max-width:420px){#chatArea:not(.map-cramped) .map-panel:not(.map-big) .mp-views{order:0;flex:1 1 120px}#chatArea:not(.map-cramped) .map-panel:not(.map-big) .mp-tools{order:1}}}.map-folded:not(.map-bottom) .mp-head{flex-direction:column;padding:6px 4px}.map-folded:not(.map-bottom) .mp-fold{writing-mode:vertical-rl;flex:none;min-height:0;padding:8px 4px}.map-folded:not(.map-bottom) .mp-tools,.map-folded:not(.map-bottom) .mp-views{display:none}.map-folded .mp-body{display:none}.mp-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:8px 10px 14px}.mp-world .mp-body{padding:10px;font-size:.9em}.bm-intro{margin:0 0 10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-card,rgba(255,255,255,.04));font-size:.85em}.bm-intro p{margin:0 0 8px}.bm-summary{margin:0 0 8px;color:var(--text-dim);font-size:.8em}.bm-jump{margin:0 0 10px;font-size:.85em}.bm-jump summary{cursor:pointer;color:var(--text-dim);padding:4px 0}.bm-jump ul{list-style:none;margin:4px 0 0;padding:0}.bm-path{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;padding:4px 6px;border:none;border-radius:8px;background:0 0;color:var(--text);font:inherit;text-align:left;overflow-wrap:anywhere;cursor:pointer}.bm-path:hover{background:var(--bg-hover)}.bm-swatch{flex:none;width:12px;height:12px;border-radius:50%;background:var(--path)}.bm-track{position:relative}.bm-lines{position:absolute;top:0;left:0;overflow:visible;pointer-events:none}.bm-line{fill:none;stroke-width:2.5;stroke-linecap:round}.bm-mark{stroke:var(--bm-fill);stroke-width:1.5}.bm-ring{fill:var(--bm-fill);stroke-width:2}.bm-ring.bm-latest{stroke-width:2.75}.bm-glow{opacity:.28;animation:bm-glow 2.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes bm-glow{50%{opacity:.12;transform:scale(1.25)}}.bm-list{list-style:none;margin:0;padding:0}.bm-row{padding-left:calc(var(--gutter) + 6px)}.bm-stop{display:flex;flex-direction:column;gap:2px;width:100%;margin:2px 0;padding:6px 8px;border:1px solid transparent;border-radius:10px;background:0 0;color:var(--text);font:inherit;text-align:left;cursor:pointer}.bm-stop:hover{background:var(--bg-hover)}.bm-row.open>.bm-stop{border-color:var(--border);background:var(--bg-card,rgba(255,255,255,.04))}.bm-name{font-weight:600;font-size:.9em;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.bm-row.open .bm-name{display:block;-webkit-line-clamp:unset;line-clamp:unset}.bm-meta{color:var(--text-dim);font-size:.78em;overflow-wrap:anywhere}.bm-chips{display:flex;flex-wrap:wrap;gap:4px}.bm-chips:empty{display:none}.bm-chip{padding:1px 7px;border:1px solid var(--border);border-radius:9px;color:var(--text-dim);font-size:.72em;font-weight:500;line-height:1.5;white-space:nowrap}.bm-chip.bm-here{border-color:var(--path,var(--accent));color:var(--path,var(--accent))}.bm-details{margin:0 0 8px 8px;padding:4px 0 2px 10px;border-left:2px solid var(--path);font-size:.85em}.bm-excerpt{margin:0 0 6px;font-style:italic;overflow-wrap:anywhere}.bm-excerpt::before{content:'\201c'}.bm-excerpt::after{content:'\201d'}.bm-facts{margin:0 0 8px;color:var(--text-dim);font-size:.92em;overflow-wrap:anywhere}.bm-actions{display:flex;flex-wrap:wrap;gap:6px}.bm-actions .header-btn{max-width:100%;overflow-wrap:anywhere;white-space:normal;text-align:left}.bm-plot{margin:0 0 12px;padding-left:calc(var(--gutter) + 6px)}.bm-plot-folded{margin-top:-2px}.bm-plot-card{padding:12px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(160deg,rgba(168,85,247,.1),rgba(0,0,0,.18))}.bm-plot-top{display:flex;align-items:center;gap:8px}.bm-plot-title{flex:1;margin:0;font-size:1.05em;font-weight:600}.bm-plot-close{flex:none;width:32px;height:32px;min-height:0;padding:0;border:none;border-radius:8px;background:0 0;color:var(--text-dim);font-size:1em;cursor:pointer}.bm-plot-close:hover{background:var(--bg-hover);color:var(--text)}.bm-plot-lead{margin:4px 0 10px;color:var(--text-dim);font-size:.85em;overflow-wrap:anywhere}.bm-plot-new{display:block;width:100%;min-height:40px;padding:8px 12px;border:none;border-radius:999px;background:linear-gradient(90deg,var(--accent,#a855f7),#d946ef);color:#fff;font:inherit;font-weight:600;cursor:pointer;box-shadow:0 0 16px rgba(217,70,239,.25)}.bm-plot-new:disabled{opacity:.7;cursor:progress}.bm-plot-note{margin:8px 0 0;color:var(--text-dim);font-size:.85em;overflow-wrap:anywhere}.bm-routes{list-style:none;margin:10px 0 0;padding:0}.bm-route{margin:0 0 8px;border:1px solid var(--border);border-radius:12px;background:rgba(0,0,0,.18)}.bm-route.open{border-color:var(--accent,#a855f7);box-shadow:0 0 12px rgba(168,85,247,.25)}.bm-route-head{display:flex;align-items:flex-start;gap:10px;width:100%;min-height:0;padding:8px;border:none;border-radius:12px;background:0 0;color:var(--text);font:inherit;text-align:left;cursor:pointer}.bm-route-head:hover{background:var(--bg-hover)}.bm-route-tile{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:10px;background:rgba(255,255,255,.06);background:linear-gradient(135deg,color-mix(in srgb,var(--accent,#a855f7) 50%,#1a1026),color-mix(in srgb,#ec4899 28%,#120b1c));font-size:1.6em;line-height:1}.bm-route-words{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.bm-route-title{font-weight:600;overflow-wrap:anywhere}.bm-route-teaser{color:var(--text-dim);font-size:.88em;overflow-wrap:anywhere}.bm-route-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.bm-route-arrow{flex:none;align-self:center;color:var(--text-dim);font-size:1.4em;line-height:1;transition:transform .15s}.bm-route.open .bm-route-arrow{transform:rotate(90deg)}.bm-route-move{margin:0 8px 8px;padding:8px 10px;border-left:2px solid var(--accent,#a855f7);font-size:.88em}.bm-route-start{margin:0 0 2px;color:var(--text-dim);font-size:.85em}.bm-route-line{margin:0 0 8px;white-space:pre-wrap;overflow-wrap:anywhere}@media (prefers-reduced-motion:reduce){.bm-route-arrow{transition:none}}.bm-line.bm-maybe{stroke-width:2;opacity:.85}.bm-ring.bm-maybe-ring{stroke-width:1.75}.bm-empty,.bm-state{margin:10px 0 0;color:var(--text-dim);font-size:.85em}.bm-state p{margin:0 0 8px}.bm-ghost{display:flex;flex-direction:column;gap:6px;margin:10px 0 14px 26px}.bm-ghost span{height:10px;width:70%;border-radius:5px;background:linear-gradient(90deg,var(--bg-hover) 0,rgba(255,255,255,.12) 50%,var(--bg-hover) 100%);background-size:200% 100%;animation:bm-shimmer 1.4s linear infinite}.bm-ghost span+span{width:45%}@keyframes bm-shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.bm-ghost span,.bm-glow{animation:none}}@media (pointer:coarse){.mp-tool{width:44px;height:44px}.bm-path,.bm-plot-new,.bm-stop,.mp-body .header-btn,.mp-fold,.mp-view{min-height:44px}.bm-plot-close{width:44px;height:44px}}@media (max-width:768px){#chatArea.map-on{--map-h:clamp(160px, 40vh, 320px)}}@media (max-height:500px) and (max-width:768px){#chatArea.map-on.map-bottom:not(:has(.map-panel:focus-within)){grid-template-rows:auto minmax(0,1fr) auto auto auto auto}#chatArea.map-on.map-bottom:not(:has(.map-panel:focus-within)) .mp-body{display:none}}.map-panel.map-big{position:fixed;inset:12px;z-index:900;border:1px solid var(--border);border-radius:12px;background:linear-gradient(var(--bg-surface),var(--bg-surface)) var(--bg,#0b0613);box-shadow:0 20px 60px rgba(0,0,0,.6)}.map-panel.map-big .mp-docks{display:none}.map-panel.map-big .mp-body{padding:14px}@media (max-width:600px){.map-panel.map-big{inset:0;border-radius:0}}.sm-as{display:inline-flex;gap:2px;margin:0 0 8px;padding:2px;border:1px solid var(--border);border-radius:999px}.sm-as-btn{min-height:30px;padding:2px 12px;border:none;border-radius:999px;background:0 0;color:var(--text-dim);font:inherit;font-size:.82em;cursor:pointer}.sm-as-btn[aria-pressed=true]{background:var(--bg-hover);color:var(--text);font-weight:600}.sm-as-btn:focus-visible{outline:2px solid var(--accent,#a855f7);outline-offset:2px}.sm-stage{--tx:0;--ty:0;--k:1;--hit:32px;--sm-serif:Georgia,'Times New Roman',serif;position:relative;height:clamp(260px,56vh,600px);margin:0 0 10px;border:1px solid rgba(201,180,138,.35);border-radius:14px;overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(239,228,204,.07),transparent 60%),radial-gradient(circle at 50% 50%,#241b30,#120d19 75%);cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}.sm-stage.sm-dragging{cursor:grabbing}.map-panel.map-big .sm-stage{height:calc(100vh - 230px);min-height:300px}.sm-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.sm-maybe,.sm-spoke,.sm-trunk{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke;transition:opacity .2s}.sm-trunk{stroke-width:4;opacity:.6}.sm-trunk.sm-archived{stroke-dasharray:8 7}.sm-spoke{stroke-width:1.8;opacity:.45}.sm-maybe{stroke:#e8c46a;stroke-width:1.8;stroke-dasharray:6 5;opacity:.8}.sm-marks{position:absolute;inset:0;pointer-events:none}.sm-mark{position:absolute;left:0;top:0;z-index:1;display:grid;place-items:center;min-height:0;padding:0;border:none;border-radius:50%;background:0 0;color:inherit;font:inherit;pointer-events:auto;cursor:pointer;transform:translate(calc(var(--tx) * 1px + var(--x) * var(--k) * 1px),calc(var(--ty) * 1px + var(--y) * var(--k) * 1px));transition:opacity .2s}.sm-mark:focus-visible,.sm-mark:hover{z-index:5}.sm-mark:focus-visible{outline:0}.sm-chat{--d:max(calc(var(--r) * 2px * var(--k)), var(--least, 26px));--box:max(var(--d), var(--hit));z-index:2;width:var(--box);height:var(--box);margin:calc(var(--box)/ -2) 0 0 calc(var(--box)/ -2)}.sm-ball{display:grid;place-items:center;box-sizing:border-box;width:var(--d);height:var(--d);border:2.5px solid color-mix(in srgb,var(--path) 42%,#000);border-radius:50%;background:var(--path)}.sm-count{color:#2b2118;font:bold max(calc(15px * var(--k)), 11px)/1 var(--sm-serif)}.sm-chat.sm-current .sm-ball{box-shadow:0 0 0 3px #f4ead5,0 0 16px 5px color-mix(in srgb,var(--path) 55%,transparent)}.sm-chat.sm-archived .sm-ball{border-style:dashed;opacity:.75}.sm-chat:focus-visible .sm-ball{box-shadow:0 0 0 4px #fde68a}.sm-root{--least:52px;z-index:3}.sm-root .sm-ball{border:3px solid #c9b48a;background:#efe4cc}.sm-root-name{display:-webkit-box;width:80%;overflow:hidden;color:#33281d;font:max(calc(16px * var(--k)), 11px)/1.15 var(--sm-serif);text-align:center;overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical}.sm-label{position:absolute;left:50%;top:calc(50% + var(--below,12px));max-width:170px;overflow:hidden;color:#f4ead5;text-overflow:ellipsis;text-shadow:0 0 3px #120d19,0 0 3px #120d19,0 0 6px #120d19;white-space:nowrap;transform:translateX(-50%)}.sm-chat-name{--below:calc(var(--d) / 2 + 3px);max-width:190px;font:italic max(calc(15px * var(--k)), 12px)/1.25 var(--sm-serif)}.sm-stop-name{--below:calc(var(--dot) / 2 + 4px);display:flex;flex-direction:column;align-items:center;font:max(calc(12px * var(--k)), 11px)/1.25 var(--sm-serif)}.sm-stop-name>.sm-tag{color:#d8b4fe;font:bold 10.5px/1.3 system-ui,sans-serif}.sm-mark:hover .sm-label{text-decoration:underline}.sm-label.sm-above{top:auto;bottom:calc(50% + var(--below,12px))}.sm-label.sm-left,.sm-label.sm-right{top:50%;transform:translateY(-50%)}.sm-label.sm-right{left:calc(50% + var(--below,12px))}.sm-label.sm-left{left:auto;right:calc(50% + var(--below,12px))}.sm-label.sm-ne,.sm-label.sm-nw,.sm-label.sm-se,.sm-label.sm-sw{transform:none}.sm-label.sm-ne,.sm-label.sm-nw{top:auto;bottom:calc(50% + var(--below,12px) * .7)}.sm-label.sm-se,.sm-label.sm-sw{top:calc(50% + var(--below,12px) * .7)}.sm-label.sm-ne,.sm-label.sm-se{left:calc(50% + var(--below,12px) * .7)}.sm-label.sm-nw,.sm-label.sm-sw{left:auto;right:calc(50% + var(--below,12px) * .7)}.sm-label.sm-cramped{visibility:hidden}.sm-stop{--dot:max(calc(22px * var(--k)), 12px);width:var(--hit);height:var(--hit);margin:calc(var(--hit)/ -2) 0 0 calc(var(--hit)/ -2)}.sm-stop::after{content:'';position:relative;box-sizing:border-box;width:var(--dot);height:var(--dot);border:2px solid color-mix(in srgb,var(--path) 42%,#000);border-radius:50%;background:var(--path)}.sm-ring::after{border:3px solid var(--path);background:#1a1424}.sm-check::after{width:calc(var(--dot) * .86);height:calc(var(--dot) * .86);border-radius:3px;transform:rotate(45deg)}.sm-here{z-index:4}.sm-here::before{content:'';position:absolute;left:50%;top:50%;width:calc(var(--dot) * 2.3);height:calc(var(--dot) * 2.3);border-radius:50%;background:var(--path);opacity:.4;transform:translate(-50%,-50%);animation:sm-glow 2.4s ease-in-out infinite}@keyframes sm-glow{50%{opacity:.12}}.sm-stop:focus-visible::after{box-shadow:0 0 0 3px #fde68a}.sm-route.sm-open .sm-tile,.sm-stop.sm-open::after{box-shadow:0 0 0 3px #fff}.sm-route.sm-open .sm-label,.sm-stop.sm-open .sm-label{font-weight:700}.sm-route{--tile:max(calc(34px * var(--k)), 26px);--box:max(var(--tile), var(--hit));--dot:var(--tile);width:var(--box);height:var(--box);margin:calc(var(--box)/ -2) 0 0 calc(var(--box)/ -2)}.sm-tile{display:grid;place-items:center;box-sizing:border-box;width:var(--tile);height:var(--tile);border:2px dashed #e8c46a;border-radius:50%;background:#1a1424;font-size:max(calc(16px * var(--k)), 12px);line-height:1}.sm-route .sm-label{color:#f3d98b}.sm-route:focus-visible .sm-tile{box-shadow:0 0 0 3px #fde68a}.sm-focus .sm-mark:not(.sm-lit),.sm-focus .sm-spoke:not(.sm-lit),.sm-focus .sm-trunk:not(.sm-lit){opacity:.3}.sm-focus .sm-trunk.sm-lit{opacity:.95}.sm-tools{position:absolute;top:8px;right:8px;z-index:6;display:flex;flex-direction:column;gap:4px}.sm-tool{width:32px;height:32px;min-height:0;padding:0;border:1px solid rgba(201,180,138,.35);border-radius:9px;background:rgba(18,13,25,.85);color:#f4ead5;font:inherit;font-size:1.05em;line-height:1;cursor:pointer}.sm-tool:hover{border-color:#c9b48a}.sm-tool:focus-visible{outline:2px solid #fde68a;outline-offset:2px}.sm-tool:disabled{opacity:.45;cursor:default}.sm-fingers{position:absolute;left:50%;top:50%;z-index:7;max-width:80%;margin:0;padding:8px 14px;border-radius:999px;background:rgba(10,6,16,.85);color:#fff;font-size:.85em;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,-50%);transition:opacity .2s}.sm-stage.sm-fingers-on .sm-fingers{opacity:1}.sm-hint{margin:0 0 10px;color:var(--text-dim);font-size:.82em}.sm-card,.sm-plot-list{margin:0 0 10px}@media (pointer:coarse){.sm-stage{--hit:44px}.sm-tool{width:44px;height:44px}.sm-as-btn{min-height:44px}}@media (max-width:768px){.sm-stage{height:clamp(240px,42vh,420px)}}@media (prefers-reduced-motion:reduce){.sm-here::before{animation:none}.sm-fingers,.sm-mark,.sm-maybe,.sm-spoke,.sm-trunk{transition:none}}