@font-face{font-family:Cubic_11;src:url(/fonts/Cubic_11.5602b550.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}#app{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-text)}#app,body{font-family:var(--font-family);margin:0;padding:0}body{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}*{font-family:var(--font-family)}.global-notice{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:var(--z-toast);background:var(--color-overlay-toast);color:var(--color-on-primary);padding:8px 14px;border-radius:var(--radius-sm)}.grid-canvas[data-v-65fbfcd6]{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;display:block}.pixel-world[data-v-6b0774b1]{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;outline:none;cursor:crosshair}.pixel-world__canvas[data-v-6b0774b1]{display:block;width:100%;height:100%;vertical-align:top;image-rendering:pixelated;image-rendering:crisp-edges}.pixel-world__hint[data-v-6b0774b1]{position:absolute;top:8px;left:50%;transform:translateX(-50%);font-size:.72rem;color:var(--color-hint-text);background:var(--color-overlay-hint);padding:4px 10px;border-radius:var(--radius-xs);pointer-events:none;white-space:nowrap;z-index:5;transition:background .2s,color .2s}.pixel-world__hint--npc[data-v-6b0774b1]{color:var(--color-on-primary);background:var(--color-npc-hint)}.pixel-world__minimap-wrap[data-v-6b0774b1]{position:absolute;right:10px;bottom:52px;z-index:18;padding:4px;background:var(--color-overlay-minimap);border:var(--border-width-input) solid var(--color-minimap-border);border-radius:var(--radius-xs);pointer-events:none;box-shadow:var(--shadow-minimap)}.pixel-world__minimap[data-v-6b0774b1]{display:block;width:165px;height:90px;image-rendering:pixelated;image-rendering:crisp-edges}.modal-overlay[data-v-660406a8]{position:fixed;inset:0;background:var(--color-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay);padding:var(--gap-lg);animation:fadeIn-660406a8 var(--duration-slow) ease}@keyframes fadeIn-660406a8{0%{opacity:0}to{opacity:1}}.login-box[data-v-660406a8]{background:var(--surface-panel-strong);padding:1.6rem 1.4rem;border-radius:var(--radius-modal);border:var(--border-width-control) solid var(--color-white-border);width:100%;max-width:340px;box-shadow:var(--shadow-modal);backdrop-filter:var(--backdrop-blur)}.form-tabs[data-v-660406a8]{display:flex;margin-bottom:1.1rem;gap:var(--gap-xs);background:var(--surface-tabs);padding:.3rem;border-radius:var(--radius-md);border:var(--border-width-input) solid var(--surface-tabs-border)}.form-tabs button[data-v-660406a8]{flex:1;padding:var(--gap-sm);border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-tab);font-weight:var(--font-weight-bold);font-size:.88rem}.form-tabs button.active[data-v-660406a8]{background:var(--gradient-primary);color:var(--color-on-primary)}.form-group[data-v-660406a8]{margin-bottom:var(--gap-md)}.form-group label[data-v-660406a8]{display:block;margin-bottom:.3rem;font-weight:var(--font-weight-bold);color:var(--color-text);font-size:.85rem}.form-group input[data-v-660406a8]{width:100%;padding:.6rem .8rem;border:var(--border-muted);border-radius:var(--radius-sm);font-size:.9rem;box-sizing:border-box;background:var(--surface-input)}.code-row[data-v-660406a8]{display:flex;gap:var(--gap-xs)}.code-row input[data-v-660406a8]{flex:1}.code-row button[data-v-660406a8]{padding:var(--gap-sm) .8rem;border:var(--border-width-input) solid var(--color-primary-border-soft);background:var(--gradient-primary-tint-bg);color:var(--color-primary);border-radius:var(--radius-sm);font-size:.82rem;white-space:nowrap}.login-form>button[type=submit][data-v-660406a8]{width:100%;padding:.7rem;background:var(--gradient-gold-btn);color:var(--color-text);border:var(--border-width-control) solid var(--color-white-border);border-radius:var(--radius-md);font-size:.95rem;font-weight:var(--font-weight-heavy);cursor:pointer;margin-top:.3rem}.error[data-v-660406a8]{margin-top:var(--gap-md);padding:.6rem;background:var(--gradient-danger-bg);color:var(--color-danger);border:var(--border-width-input) solid var(--color-danger-border);border-radius:var(--radius-sm);text-align:center;font-size:.85rem}.home[data-v-38c5492c]{width:100%;min-height:100vh;min-height:100dvh;overflow:hidden}.home-main[data-v-38c5492c],.home[data-v-38c5492c]{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}.home-main[data-v-38c5492c]{z-index:2;gap:2rem;padding:1.5rem 1rem 3rem;flex:1}.portal[data-v-38c5492c]{position:relative;width:min(92vmin,580px);height:min(92vmin,580px);display:flex;align-items:center;justify-content:center}.portal-viewport[data-v-38c5492c]{position:relative;z-index:3;width:82%;height:82%;border-radius:50%;overflow:hidden;box-shadow:inset 0 0 40px var(--portal-viewport-inset),0 0 0 3px var(--portal-viewport-ring),0 0 48px var(--portal-viewport-glow);background:var(--portal-bg-deep)}.portal-vignette[data-v-38c5492c]{position:absolute;inset:0;border-radius:50%;pointer-events:none;z-index:4;box-shadow:inset 0 0 36px 12px var(--portal-vignette)}.portal-viewport[data-v-38c5492c] .pixel-world{border-radius:50%}.portal-aura[data-v-38c5492c]{position:absolute;border-radius:50%;pointer-events:none;filter:blur(28px)}.portal-aura--1[data-v-38c5492c]{inset:-8%;background:radial-gradient(circle,var(--portal-glow-cyan),transparent 68%);animation:auraPulse-38c5492c 4s ease-in-out infinite}.portal-aura--2[data-v-38c5492c]{inset:-4%;background:radial-gradient(circle,var(--portal-glow-purple),transparent 65%);animation:auraPulse-38c5492c 5.5s ease-in-out infinite reverse}.portal-aura--3[data-v-38c5492c]{inset:2%;background:radial-gradient(circle,var(--portal-glow-warm),transparent 70%);animation:auraPulse-38c5492c 6s ease-in-out .5s infinite}.portal-ring[data-v-38c5492c]{position:absolute;border-radius:50%;pointer-events:none;border:2px solid transparent}.portal-ring--outer[data-v-38c5492c]{inset:0;border-color:var(--portal-ring-cyan);border-top-color:var(--portal-ring-cyan-bright);border-right-color:var(--portal-ring-purple);animation:ringSpin-38c5492c 14s linear infinite;box-shadow:0 0 24px var(--portal-ring-glow-cyan)}.portal-ring--mid[data-v-38c5492c]{inset:6%;border-width:3px;border-style:dashed;border-color:var(--portal-ring-mid);border-bottom-color:var(--portal-ring-mid-accent);animation:ringSpin-38c5492c 9s linear infinite reverse}.portal-ring--inner[data-v-38c5492c]{inset:12%;border:1px solid var(--portal-ring-inner);box-shadow:inset 0 0 30px var(--portal-ring-inner-inset),0 0 20px var(--portal-ring-inner-glow);animation:ringPulse-38c5492c 3s ease-in-out infinite}.portal-sparks[data-v-38c5492c]{position:absolute;inset:0;pointer-events:none;z-index:2}.portal-spark[data-v-38c5492c]{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:radial-gradient(circle,var(--color-white) 0,var(--portal-spark) 40%,transparent 70%);transform:rotate(var(--spark-angle)) translateY(min(-46vmin,-290px));animation:sparkFloat-38c5492c 3.2s ease-in-out infinite;opacity:.7}@keyframes ringSpin-38c5492c{to{transform:rotate(1turn)}}@keyframes ringPulse-38c5492c{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}@keyframes auraPulse-38c5492c{0%,to{opacity:.65;transform:scale(.98)}50%{opacity:1;transform:scale(1.04)}}@keyframes sparkFloat-38c5492c{0%,to{opacity:.2;transform:rotate(var(--spark-angle)) translateY(min(-43vmin,-265px)) scale(.6)}50%{opacity:.95;transform:rotate(var(--spark-angle)) translateY(min(-47vmin,-295px)) scale(1.1)}}.home-enter[data-v-38c5492c]{display:flex;flex-direction:column;align-items:center;gap:.35rem;border:none;background:transparent;cursor:pointer;padding:.5rem 1rem;transition:transform .2s ease}.home-enter[data-v-38c5492c]:hover{transform:scale(1.04)}.home-enter-title[data-v-38c5492c]{font-size:clamp(1.5rem,5vw,2rem);font-weight:var(--font-weight-black);color:var(--home-enter-title);text-shadow:2px 2px 0 var(--home-enter-shadow-blue),-1px -1px 0 var(--home-enter-shadow-white);letter-spacing:.04em}.home-enter-sub[data-v-38c5492c]{font-size:.9rem;color:var(--home-enter-sub);letter-spacing:.35em}.icp-footer[data-v-38c5492c]{position:relative;z-index:2;flex-shrink:0;padding:.75rem 1rem 1.25rem;font-size:.75rem}.icp-footer a[data-v-38c5492c]{color:var(--icp-link);text-decoration:none}.icp-footer a[data-v-38c5492c]:hover{color:var(--icp-link-hover)}@media (max-width:480px){.home-main[data-v-38c5492c]{gap:1.25rem}.portal[data-v-38c5492c]{width:min(94vw,420px);height:min(94vw,420px)}.home-enter-sub[data-v-38c5492c]{letter-spacing:.2em;font-size:.82rem}}.mcd-panel[data-v-16dc856e]{display:flex;flex-direction:column;gap:1rem;min-height:0}.mcd-panel--embedded[data-v-16dc856e]{height:100%;gap:.75rem}.mcd-panel-header[data-v-16dc856e]{flex-shrink:0}.mcd-panel-title[data-v-16dc856e]{margin:0 0 .25rem;font-size:1.25rem;font-weight:var(--font-weight-black);color:var(--color-text)}.mcd-panel-subtitle[data-v-16dc856e]{margin:0;font-size:.85rem;color:var(--color-text-muted)}.token-panel[data-v-16dc856e]{background:var(--surface-mcd-panel);border-radius:var(--radius-control);border:var(--border-width-control) solid var(--color-white-border);padding:var(--gap-lg) 1.15rem;box-shadow:var(--shadow-mcd-panel);flex-shrink:0}.panel-title[data-v-16dc856e]{margin:0 0 .25rem;font-size:1.05rem;font-weight:var(--font-weight-heavy);color:var(--color-text)}.panel-desc[data-v-16dc856e]{margin:0 0 var(--gap-md);font-size:.85rem;color:var(--color-text-muted)}.panel-desc a[data-v-16dc856e]{color:var(--color-danger);font-weight:600}.token-row[data-v-16dc856e]{display:flex;gap:.5rem;flex-wrap:wrap}.token-input[data-v-16dc856e]{flex:1;min-width:180px;padding:.6rem .85rem;border-radius:var(--radius-sm);border:var(--border-muted-strong);font-size:.9rem;box-sizing:border-box}.token-action-btn[data-v-16dc856e]{padding:.55rem .85rem;border-radius:var(--radius-sm);border:var(--border-muted-strong);background:var(--surface-input-disabled);cursor:pointer;font-weight:var(--font-weight-bold);font-size:.85rem}.token-action-btn.primary[data-v-16dc856e]{border-color:var(--color-gold-border-strong);background:var(--gradient-gold-flat);color:var(--color-text)}.token-tip[data-v-16dc856e]{margin-top:var(--gap-sm);font-size:.82rem;color:var(--color-success-alt)}.token-panel-collapsed[data-v-16dc856e]{flex-shrink:0}.token-toggle-btn[data-v-16dc856e]{display:inline-flex;align-items:center;padding:var(--gap-sm) .9rem;border-radius:var(--radius-pill);border:var(--border-width-input) solid var(--color-gold-border-soft);background:var(--gradient-gold-flat);color:var(--color-text);font-weight:var(--font-weight-heavy);cursor:pointer;font-size:.85rem}.token-modal-overlay[data-v-16dc856e]{position:fixed;inset:0;background:var(--color-overlay-medium);display:flex;align-items:center;justify-content:center;z-index:var(--z-mcd-modal);padding:var(--gap-lg);box-sizing:border-box}.token-modal[data-v-16dc856e]{max-width:480px;width:100%}.token-panel-in-modal[data-v-16dc856e]{max-height:80vh;overflow-y:auto}.chat-layout[data-v-16dc856e]{flex:1;min-height:0;display:flex;flex-direction:column;gap:.65rem}.chat-window[data-v-16dc856e]{flex:1;min-height:120px;padding:.85rem var(--gap-lg);border-radius:var(--radius-control);background:var(--surface-mcd-chat);border:var(--border-width-control) solid var(--color-white-border);overflow-y:auto}.system-notification[data-v-16dc856e]{position:sticky;top:0;z-index:10;margin-bottom:var(--gap-sm);padding:8px 14px;background:var(--color-black);color:var(--color-on-primary);font-size:.85rem;border-radius:var(--radius-md);text-align:center}.chat-message[data-v-16dc856e]{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.65rem}.chat-message.user[data-v-16dc856e]{flex-direction:row-reverse}.avatar[data-v-16dc856e]{width:32px;height:32px;border-radius:50%;background:var(--color-mcd-avatar-bot);display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-message.user .avatar[data-v-16dc856e]{background:var(--color-primary)}.bubble[data-v-16dc856e]{max-width:82%;background:var(--color-white);border-radius:var(--radius-md);padding:var(--gap-sm) .7rem;border:var(--border-width-input) solid var(--color-chip-border)}.chat-message.user .bubble[data-v-16dc856e]{background:var(--surface-mcd-bubble-user)}.bubble-role[data-v-16dc856e]{font-size:.72rem;font-weight:var(--font-weight-bold);color:var(--color-text-muted);margin-bottom:.1rem}.bubble-content[data-v-16dc856e]{font-size:.9rem;line-height:1.45}.plain-content[data-v-16dc856e]{white-space:pre-wrap}.markdown-content[data-v-16dc856e] p{margin:0 0 .45rem}.markdown-content[data-v-16dc856e] p:last-child{margin-bottom:0}.markdown-content[data-v-16dc856e] ol,.markdown-content[data-v-16dc856e] ul{margin:.2rem 0 .45rem 1.1rem;padding:0}.markdown-content[data-v-16dc856e] code{font-size:.85em;background:var(--color-markdown-code-bg);border-radius:var(--radius-bubble-tail);padding:.1rem .3rem}.markdown-content[data-v-16dc856e] pre{margin:.4rem 0;padding:var(--gap-sm) .65rem;border-radius:var(--radius-xs);background:var(--color-markdown-pre-bg);color:var(--color-markdown-pre-text);overflow-x:auto}.markdown-content[data-v-16dc856e] pre code{background:transparent;padding:0}.markdown-content[data-v-16dc856e] a{color:var(--color-link)}.input-bar[data-v-16dc856e]{display:flex;gap:.6rem;flex-shrink:0}.message-input[data-v-16dc856e]{flex:1;min-width:0;padding:.65rem .9rem;border-radius:var(--radius-md);border:var(--border-width-control) solid var(--color-white);font-size:.95rem;background:var(--surface-panel);color:var(--color-text);box-sizing:border-box}.message-input[data-v-16dc856e]:disabled{opacity:.6;cursor:not-allowed}.send-btn[data-v-16dc856e]{flex-shrink:0;padding:.65rem 1.1rem;background:var(--gradient-primary);color:var(--color-on-primary);border:var(--border-width-control) solid var(--color-white);border-radius:var(--radius-md);font-weight:var(--font-weight-bold);cursor:pointer}.send-btn[data-v-16dc856e]:disabled{cursor:not-allowed;background:var(--gradient-disabled)}.mcd-modal-overlay[data-v-7e52052d]{position:fixed;inset:0;z-index:var(--z-modal);background:var(--color-overlay-strong);display:flex;align-items:center;justify-content:center;padding:var(--gap-lg);box-sizing:border-box;backdrop-filter:var(--backdrop-blur-light)}.mcd-modal[data-v-7e52052d]{position:relative;width:min(720px,96vw);height:min(82vh,720px);background:var(--surface-mcd-modal);border:var(--border-width-panel) solid var(--color-white-border-strong);border-radius:var(--radius-panel);padding:1.25rem 1.25rem var(--gap-lg);box-sizing:border-box;box-shadow:var(--shadow-modal-large);display:flex;flex-direction:column;overflow:hidden}.mcd-modal-close[data-v-7e52052d]{position:absolute;top:10px;right:12px;z-index:2;width:36px;height:36px;border:none;border-radius:50%;background:var(--color-overlay-close-hover);color:var(--color-text);font-size:1.5rem;line-height:1;cursor:pointer;transition:background var(--duration-fast) ease}.mcd-modal-close[data-v-7e52052d]:hover{background:var(--color-overlay-close-hover-strong)}.mcd-modal[data-v-7e52052d] .mcd-panel{flex:1;min-height:0;padding-top:.25rem}.playing-card[data-v-53746356]{width:100%;height:100%;box-sizing:border-box;background:var(--color-playing-card-bg);border-radius:var(--radius-playing-card);padding:5px 4px;box-shadow:var(--shadow-playing-card)}.playing-card__inner[data-v-53746356]{width:100%;height:100%;border-radius:3px;overflow:hidden;background:var(--color-white)}.playing-card__img[data-v-53746356]{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;display:block;background:var(--color-white)}.playing-card--reversed .playing-card__img[data-v-53746356]{transform:rotate(180deg)}.tarot-fan[data-v-10712ea6]{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%}.fan-hint[data-v-10712ea6]{margin:0;font-size:.88rem;color:var(--tarot-text-hint);text-align:center;min-height:1.3em}.fan-stage[data-v-10712ea6]{position:relative;width:100%;height:210px;display:flex;align-items:flex-end;justify-content:center;overflow:visible;padding-bottom:.5rem}.fan-card[data-v-10712ea6]{position:absolute;bottom:0;left:50%;width:76px;height:128px;margin-left:-38px;padding:0;border:none;background:transparent;cursor:pointer;transform-origin:50% 190%;transform:rotate(var(--fan-angle)) translateY(calc(var(--fan-lift)*-1));transition:transform .35s ease,opacity .3s ease;filter:drop-shadow(var(--shadow-fan-card))}.fan-card[data-v-10712ea6]:hover:not(:disabled):not(.fan-card--gone){transform:rotate(var(--fan-angle)) translateY(calc(var(--fan-lift)*-1 - 16px)) scale(1.06);z-index:50!important}.fan-card--gone[data-v-10712ea6]{opacity:0;transform:rotate(var(--fan-angle)) translateY(calc(var(--fan-lift)*-1 - 30px)) scale(.5);pointer-events:none}.fan-card--busy[data-v-10712ea6]:not(.fan-card--gone){pointer-events:none}.fan-card[data-v-10712ea6]:disabled{cursor:default}.tarot-panel[data-v-405d9886]{display:flex;flex-direction:column;height:100%;min-height:0;color:var(--tarot-text)}.tarot-panel-header[data-v-405d9886]{margin-bottom:.75rem;padding-right:2rem;flex-shrink:0}.tarot-panel-title[data-v-405d9886]{margin:0 0 .25rem;font-size:1.15rem;font-weight:var(--font-weight-black);color:var(--tarot-text-strong)}.tarot-panel-subtitle[data-v-405d9886]{margin:0;font-size:.82rem;color:var(--tarot-text-muted)}.chat-layout[data-v-405d9886]{flex:1;min-height:0;display:flex;flex-direction:column;gap:0}.cards-dock-row[data-v-405d9886]{display:flex;gap:.55rem;align-items:flex-start;margin:.15rem 0 .5rem}.cards-dock-avatar[data-v-405d9886]{flex-shrink:0}.cards-dock-column[data-v-405d9886]{flex:1;min-width:0;max-width:min(100%,520px)}.cards-dock-role[data-v-405d9886]{font-size:.72rem;color:var(--tarot-text-label);margin-bottom:.35rem}.cards-dock[data-v-405d9886]{display:flex;justify-content:center;gap:.85rem;padding:.55rem .5rem .65rem;margin-bottom:.25rem;border-radius:var(--radius-md);background:var(--tarot-dock-bg);border:1px solid var(--tarot-border);position:sticky;top:0;z-index:12;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.cards-dock--stuck[data-v-405d9886]{background:var(--tarot-surface);border-color:var(--tarot-border-strong);box-shadow:var(--tarot-dock-shadow)}.dock-slot[data-v-405d9886]{display:flex;flex-direction:column;align-items:center;width:88px}.dock-label[data-v-405d9886]{font-size:.7rem;font-weight:var(--font-weight-bold);color:var(--tarot-label-accent);margin-bottom:.3rem;letter-spacing:.05em}.dock-card-area[data-v-405d9886]{width:76px;height:128px}.dock-placeholder[data-v-405d9886]{width:100%;height:100%;border-radius:var(--radius-playing-card);border:var(--border-width-input) dashed var(--tarot-placeholder-dashed);display:flex;align-items:center;justify-content:center;color:var(--tarot-placeholder-faint);font-size:1.2rem;font-weight:var(--font-weight-bold);box-sizing:border-box}.flip-card[data-v-405d9886]{width:100%;height:100%;perspective:720px}.flip-card-inner[data-v-405d9886]{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.4,.2,.2,1);transform:rotateY(0deg)}.flip-card--flipped .flip-card-inner[data-v-405d9886]{transform:rotateY(180deg)}.flip-card-face[data-v-405d9886]{position:absolute;inset:0;backface-visibility:hidden}.flip-card-front[data-v-405d9886]{transform:rotateY(180deg)}.dock-meta[data-v-405d9886]{margin-top:.3rem;text-align:center;line-height:1.3;min-height:2.2em;width:100%}.dock-name[data-v-405d9886]{display:block;min-height:1.1em;font-size:.72rem;font-weight:var(--font-weight-bold);color:var(--tarot-card-name)}.dock-orient[data-v-405d9886]{display:block;min-height:1em;font-size:.65rem;color:var(--tarot-text-meta)}.dock-meta-line--empty[data-v-405d9886]{visibility:hidden}.chat-window[data-v-405d9886]{flex:1;min-height:0;overflow-y:auto;padding:.25rem .15rem;display:flex;flex-direction:column;gap:.85rem;scrollbar-width:thin;scrollbar-color:var(--tarot-scrollbar) transparent}.chat-window[data-v-405d9886]::-webkit-scrollbar{width:6px}.chat-window[data-v-405d9886]::-webkit-scrollbar-track{background:transparent}.chat-window[data-v-405d9886]::-webkit-scrollbar-thumb{background:var(--tarot-scrollbar);border-radius:3px}.chat-window[data-v-405d9886]::-webkit-scrollbar-thumb:hover{background:var(--tarot-scrollbar)}.system-notification[data-v-405d9886]{padding:.55rem var(--gap-md);border-radius:var(--radius-sm);background:var(--tarot-error-bg);border:1px solid var(--tarot-error-border);color:var(--tarot-error-text);font-size:.85rem}.chat-message[data-v-405d9886]{display:flex;gap:.55rem;align-items:flex-start}.chat-message.user[data-v-405d9886]{flex-direction:row-reverse}.avatar[data-v-405d9886]{width:34px;height:34px;border-radius:50%;background:var(--tarot-avatar-bg);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.bubble[data-v-405d9886]{max-width:min(88%,520px)}.chat-message.user .bubble[data-v-405d9886]{text-align:right}.bubble-role[data-v-405d9886]{font-size:.72rem;color:var(--tarot-text-label);margin-bottom:.2rem}.bubble-content[data-v-405d9886]{padding:.6rem .85rem;border-radius:var(--radius-md);font-size:.9rem;line-height:1.55;word-break:break-word}.chat-message.assistant .bubble-content[data-v-405d9886]{background:var(--tarot-bubble-assistant-bg);border:1px solid var(--tarot-bubble-assistant-border);color:var(--tarot-bubble-assistant-text)}.chat-message.user .bubble-content[data-v-405d9886]{background:var(--tarot-bubble-user-bg);border:1px solid var(--tarot-bubble-user-border);color:var(--color-on-primary)}.markdown-content[data-v-405d9886] p{margin:0 0 .5rem}.markdown-content[data-v-405d9886] p:last-child{margin-bottom:0}.markdown-content[data-v-405d9886] strong{color:var(--tarot-strong)}.pick-section[data-v-405d9886]{padding:.25rem 0 .5rem}.loading-row[data-v-405d9886]{display:flex;align-items:center;gap:var(--gap-sm);font-size:.85rem;color:var(--tarot-text-loading);padding:.25rem var(--gap-sm)}.loading-dot[data-v-405d9886]{width:8px;height:8px;border-radius:50%;background:var(--tarot-pulse);animation:pulse-405d9886 1s ease-in-out infinite}@keyframes pulse-405d9886{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}.input-bar[data-v-405d9886]{display:flex;gap:var(--gap-sm);padding-top:var(--gap-sm);border-top:1px solid var(--tarot-divider);flex-shrink:0}.input-bar--actions[data-v-405d9886]{justify-content:center;flex-wrap:wrap;border-top:none}.share-btn[data-v-405d9886]{border:1px solid var(--tarot-gold-border);border-radius:var(--radius-pill);padding:.6rem 1.1rem;font-size:.88rem;font-weight:var(--font-weight-bold);cursor:pointer;background:var(--tarot-gold-bg);color:var(--tarot-gold);white-space:nowrap;transition:background var(--duration-fast) ease,opacity var(--duration-fast) ease}.share-btn[data-v-405d9886]:disabled{opacity:.45;cursor:not-allowed}.share-btn[data-v-405d9886]:not(:disabled):hover{background:var(--tarot-gold-bg-hover)}.chat-input[data-v-405d9886]{flex:1;border:1px solid var(--tarot-border-input);border-radius:var(--radius-pill);padding:.6rem var(--gap-lg);font-size:.88rem;background:var(--tarot-input-bg);color:var(--tarot-text-strong);outline:none}.chat-input[data-v-405d9886]::-moz-placeholder{color:var(--tarot-input-placeholder)}.chat-input[data-v-405d9886]::placeholder{color:var(--tarot-input-placeholder)}.chat-input[data-v-405d9886]:focus{border-color:var(--tarot-input-focus-border)}.send-btn[data-v-405d9886]{border:none;border-radius:var(--radius-pill);padding:.6rem 1.1rem;font-size:.88rem;font-weight:var(--font-weight-bold);cursor:pointer;background:var(--gradient-tarot-btn);color:var(--color-on-primary);white-space:nowrap;transition:opacity var(--duration-fast) ease}.send-btn[data-v-405d9886]:disabled{opacity:.45;cursor:not-allowed}.send-btn[data-v-405d9886]:not(:disabled):hover{opacity:.9}.tarot-fly-layer{position:fixed;inset:0;z-index:var(--z-modal-high);pointer-events:none}.tarot-fly-card{position:fixed;margin:0;filter:drop-shadow(var(--shadow-tarot-fly));transition:none}.tarot-fly-card--move{transition:left .58s cubic-bezier(.22,1.05,.36,1),top .58s cubic-bezier(.22,1.05,.36,1),width .58s cubic-bezier(.22,1.05,.36,1),height .58s cubic-bezier(.22,1.05,.36,1)}.tarot-modal-overlay[data-v-6c8d522e]{position:fixed;inset:0;z-index:var(--z-modal);background:var(--color-overlay-strong);display:flex;align-items:center;justify-content:center;padding:var(--gap-lg);box-sizing:border-box;backdrop-filter:var(--backdrop-blur-light)}.tarot-modal[data-v-6c8d522e]{position:relative;width:min(720px,96vw);height:min(82vh,720px);background:var(--tarot-surface-modal);border:var(--border-width-control) solid var(--tarot-border-modal);border-radius:var(--radius-panel);padding:1.25rem 1.25rem var(--gap-lg);box-sizing:border-box;box-shadow:var(--shadow-modal-tarot);display:flex;flex-direction:column;overflow:hidden}.tarot-modal-close[data-v-6c8d522e]{position:absolute;top:10px;right:12px;z-index:2;width:36px;height:36px;border:none;border-radius:50%;background:var(--tarot-close-bg);color:var(--tarot-close-text);font-size:1.5rem;line-height:1;cursor:pointer;transition:background var(--duration-fast) ease}.tarot-modal-close[data-v-6c8d522e]:hover{background:var(--tarot-close-bg-hover)}.tarot-modal[data-v-6c8d522e] .tarot-panel{flex:1;min-height:0;padding-top:.25rem}.outfit-overlay[data-v-55d342e8]{position:fixed;inset:0;z-index:var(--z-modal);background:var(--color-overlay-strong);display:flex;align-items:center;justify-content:center;padding:var(--gap-lg);box-sizing:border-box;backdrop-filter:var(--backdrop-blur-light)}.outfit-modal[data-v-55d342e8]{position:relative;width:min(820px,96vw);max-height:min(90vh,760px);display:flex;flex-direction:column;background:var(--stylist-surface);border:var(--border-width-panel) solid var(--color-white-border-strong);border-radius:var(--radius-panel);padding:1.1rem 1.25rem var(--gap-lg);box-shadow:var(--shadow-outfit);overflow:hidden}.outfit-close[data-v-55d342e8]{position:absolute;top:.65rem;right:.75rem;width:36px;height:36px;border:none;border-radius:50%;background:var(--color-overlay-close);font-size:1.4rem;line-height:1;cursor:pointer;color:var(--color-chip-muted);z-index:2}.outfit-header[data-v-55d342e8]{display:flex;align-items:center;gap:.75rem;padding-right:2rem;flex-shrink:0}.outfit-emoji[data-v-55d342e8]{font-size:2rem}.outfit-title[data-v-55d342e8]{margin:0;font-size:1.25rem;font-weight:var(--font-weight-heavy);color:var(--color-text)}.outfit-sub[data-v-55d342e8]{margin:.2rem 0 0;font-size:.82rem;color:var(--stylist-text-muted)}.outfit-body[data-v-55d342e8]{display:flex;gap:1rem;margin-top:1rem;min-height:0;flex:1;overflow:hidden}.outfit-preview-wrap[data-v-55d342e8]{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:.35rem}.outfit-preview[data-v-55d342e8]{border-radius:var(--radius-control);border:var(--border-width-input) solid var(--stylist-accent-border-preview);image-rendering:pixelated;image-rendering:crisp-edges;background:var(--stylist-preview-bg)}.outfit-preview-hint[data-v-55d342e8]{margin:0;font-size:.72rem;color:var(--stylist-text-hint)}.outfit-controls[data-v-55d342e8]{flex:1;min-width:0;overflow-y:auto;padding-right:.25rem}.outfit-section[data-v-55d342e8]{margin-bottom:1rem}.section-label[data-v-55d342e8]{margin:0 0 .45rem;font-size:.78rem;font-weight:var(--font-weight-bold);color:var(--stylist-label);text-transform:uppercase;letter-spacing:.06em}.option-row[data-v-55d342e8],.preset-row[data-v-55d342e8]{display:flex;flex-wrap:wrap;gap:.4rem}.option-chip[data-v-55d342e8]{padding:.4rem .75rem;border:var(--border-width-input) solid var(--stylist-accent-border);border-radius:var(--radius-pill);background:var(--color-white);font-size:.82rem;font-weight:600;cursor:pointer;color:var(--color-chip-muted)}.option-chip.active[data-v-55d342e8]{border-color:var(--stylist-accent);background:var(--stylist-accent-bg);color:var(--stylist-accent-active)}.preset-chip[data-v-55d342e8]{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.35rem var(--gap-sm);border:var(--border-width-input) solid var(--color-chip-border);border-radius:var(--radius-md);background:var(--color-white);cursor:pointer;min-width:56px}.preset-chip[data-v-55d342e8]:hover{border-color:var(--stylist-accent-border-hover)}.preset-swatch[data-v-55d342e8]{width:36px;height:22px;border-radius:6px;border:1px solid var(--color-chip-border)}.preset-name[data-v-55d342e8]{font-size:.68rem;font-weight:600;color:var(--color-chip-muted)}.outfit-colors[data-v-55d342e8]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1rem}.color-field[data-v-55d342e8]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.82rem;font-weight:600;color:var(--color-chip-muted)}.color-field input[type=color][data-v-55d342e8]{width:40px;height:32px;padding:0;border:var(--border-width-input) solid var(--color-chip-border-input);border-radius:var(--radius-xs);cursor:pointer;background:transparent}.outfit-footer[data-v-55d342e8]{flex-shrink:0;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-chip-border)}.outfit-error[data-v-55d342e8]{margin:0 0 var(--gap-sm);font-size:.82rem;color:var(--color-danger-text)}.outfit-ok[data-v-55d342e8]{margin:0 0 var(--gap-sm);font-size:.82rem;color:var(--color-success-alt)}.footer-actions[data-v-55d342e8]{display:flex;justify-content:flex-end;gap:.6rem}.btn-ghost[data-v-55d342e8],.btn-primary[data-v-55d342e8]{padding:.55rem 1.1rem;border-radius:var(--radius-pill);font-size:.88rem;font-weight:var(--font-weight-bold);cursor:pointer;font-family:inherit}.btn-ghost[data-v-55d342e8]{border:var(--border-width-input) solid var(--color-chip-border-input);background:var(--color-white);color:var(--color-chip-muted)}.btn-primary[data-v-55d342e8]{border:none;background:var(--gradient-stylist);color:var(--color-on-primary)}.btn-ghost[data-v-55d342e8]:disabled,.btn-primary[data-v-55d342e8]:disabled{opacity:.55;cursor:not-allowed}@media (max-width:640px){.outfit-body[data-v-55d342e8]{flex-direction:column;overflow-y:auto}.outfit-colors[data-v-55d342e8]{grid-template-columns:1fr}}.users-sidebar[data-v-f4d1a9dc]{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width-expanded);display:flex;flex-direction:column;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);backdrop-filter:var(--sidebar-blur);overflow:hidden;z-index:var(--z-sidebar);transition:width var(--duration-normal) var(--ease-default)}.users-sidebar.sidebar-collapsed[data-v-f4d1a9dc]{width:var(--sidebar-width-collapsed);cursor:pointer}.users-sidebar.sidebar-collapsed .logout-btn[data-v-f4d1a9dc],.users-sidebar.sidebar-collapsed .nav-item[data-v-f4d1a9dc],.users-sidebar.sidebar-collapsed .user-row[data-v-f4d1a9dc]{pointer-events:none}.sidebar-header[data-v-f4d1a9dc]{display:flex;align-items:center;justify-content:space-between;gap:.35rem;padding:.6rem .45rem .6rem .5rem;flex-shrink:0;border-bottom:1px solid var(--sidebar-divider);min-height:46px;box-sizing:border-box}.logo-btn[data-v-f4d1a9dc]{display:flex;align-items:center;gap:.45rem;flex:1;min-width:0;padding:.3rem .35rem;border:none;border-radius:var(--radius-md);background:transparent}.sidebar-collapsed .sidebar-header[data-v-f4d1a9dc]{justify-content:center;padding:.6rem .25rem}.logo-btn--collapsed[data-v-f4d1a9dc]{flex:0 0 auto;width:32px;height:32px;padding:0;justify-content:center}.collapse-btn[data-v-f4d1a9dc]{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--sidebar-text-muted);cursor:pointer;transition:background var(--duration-fast) ease,color var(--duration-fast) ease}.collapse-btn[data-v-f4d1a9dc]:hover{background:var(--sidebar-hover);color:var(--sidebar-text)}.sidebar-icon[data-v-f4d1a9dc]{flex-shrink:0;display:block}.sidebar-icon--logo[data-v-f4d1a9dc]{color:var(--sidebar-accent-strong)}.nav-item .sidebar-icon[data-v-f4d1a9dc]{color:currentColor}.nav-item.active .sidebar-icon[data-v-f4d1a9dc]{color:var(--sidebar-accent)}.collapse-btn .sidebar-icon[data-v-f4d1a9dc],.logout-btn .sidebar-icon[data-v-f4d1a9dc]{color:currentColor}.logo-btn--collapsed .sidebar-icon--logo[data-v-f4d1a9dc]{color:var(--sidebar-accent-strong)}.app-title[data-v-f4d1a9dc]{font-size:1rem;font-weight:var(--font-weight-black);color:var(--sidebar-text);white-space:nowrap;overflow:hidden}.sidebar-nav[data-v-f4d1a9dc]{padding:.4rem .45rem .2rem;flex-shrink:0}.nav-item[data-v-f4d1a9dc]{display:flex;align-items:center;gap:.5rem;width:100%;padding:.45rem .5rem;border:none;border-radius:var(--radius-md);background:transparent;color:var(--sidebar-text);font-size:.85rem;font-weight:var(--font-weight-bold);cursor:pointer;transition:background var(--duration-fast) ease}.sidebar-collapsed .nav-item[data-v-f4d1a9dc]{justify-content:center;padding:.45rem .25rem}.nav-item[data-v-f4d1a9dc]:hover{background:var(--sidebar-hover)}.nav-item.active[data-v-f4d1a9dc]{background:var(--sidebar-active);color:var(--sidebar-accent)}.nav-icon[data-v-f4d1a9dc]{flex-shrink:0}.nav-label[data-v-f4d1a9dc]{white-space:nowrap;overflow:hidden}.online-list[data-v-f4d1a9dc]{flex:1;padding:.3rem .45rem .6rem;overflow-y:auto;min-height:0}.sidebar-collapsed .online-list[data-v-f4d1a9dc]{padding:.3rem .2rem .6rem}.list-label[data-v-f4d1a9dc]{font-size:.72rem;font-weight:var(--font-weight-bold);color:var(--sidebar-text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem;padding:0 .35rem}.user-row[data-v-f4d1a9dc]{display:flex;align-items:center;gap:.4rem;padding:.38rem .4rem;border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-fast) ease;position:relative}.sidebar-collapsed .user-row[data-v-f4d1a9dc]{justify-content:center;padding:.35rem .15rem}.user-row[data-v-f4d1a9dc]:hover:not(.is-self){background:var(--sidebar-hover)}.user-row.dm-active[data-v-f4d1a9dc]{background:var(--sidebar-active)}.user-row.is-self[data-v-f4d1a9dc]{cursor:default;opacity:.65}.user-avatar[data-v-f4d1a9dc]{width:28px;height:28px;border-radius:50%;background:var(--gradient-sidebar-avatar);color:var(--color-on-primary);font-size:.8rem;font-weight:var(--font-weight-bold);display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-collapsed .user-avatar[data-v-f4d1a9dc]{width:30px;height:30px}.user-name[data-v-f4d1a9dc]{flex:1;font-size:.8rem;font-weight:600;color:var(--sidebar-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unread-badge[data-v-f4d1a9dc]{background:var(--color-danger);color:var(--color-on-primary);font-size:.65rem;font-weight:var(--font-weight-bold);min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;flex-shrink:0}.unread-badge--collapsed[data-v-f4d1a9dc]{position:absolute;top:2px;right:2px;min-width:16px;height:16px;font-size:.6rem;border:2px solid var(--sidebar-bg-solid)}.no-users[data-v-f4d1a9dc]{font-size:.8rem;color:var(--sidebar-text-muted);text-align:center;margin-top:1rem}.sidebar-footer[data-v-f4d1a9dc]{padding:.5rem .45rem;border-top:1px solid var(--sidebar-divider);display:flex;flex-direction:column;gap:.4rem;flex-shrink:0}.my-name[data-v-f4d1a9dc]{font-size:.82rem;font-weight:700;color:var(--sidebar-text);padding:0 .35rem .15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn[data-v-f4d1a9dc]{display:flex;align-items:center;justify-content:flex-start;gap:.55rem;width:100%;padding:.45rem .5rem;border-radius:var(--radius-md);font-size:.8rem;font-weight:var(--font-weight-bold);cursor:pointer;border:none;transition:background var(--duration-fast) ease,opacity var(--duration-fast);background:var(--gradient-danger);color:var(--color-on-primary)}.sidebar-collapsed .logout-btn[data-v-f4d1a9dc]{justify-content:center;padding:.45rem .2rem}.btn-icon[data-v-f4d1a9dc],.btn-label[data-v-f4d1a9dc]{flex-shrink:0}.logout-btn[data-v-f4d1a9dc]:hover{opacity:.9}.right-chat[data-v-f4d1a9dc]{margin-left:var(--sidebar-width-expanded);transition:margin-left var(--duration-normal) var(--ease-default);flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.right-chat.sidebar-collapsed[data-v-f4d1a9dc]{margin-left:var(--sidebar-width-collapsed,48px)}.map-stage[data-v-f4d1a9dc]{position:relative;flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;border:var(--border-width-panel) solid var(--map-stage-border);border-radius:var(--radius-panel);background:var(--map-stage-bg)}.map-panel[data-v-f4d1a9dc]{position:relative;flex:1;min-height:0;width:100%}.map-system-toast[data-v-f4d1a9dc]{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:30;padding:6px 14px;background:var(--color-overlay-toast);color:var(--color-on-primary);font-size:.85rem;border-radius:var(--radius-xs);pointer-events:none;white-space:nowrap}.game-chat-log[data-v-f4d1a9dc]{position:absolute;left:10px;bottom:52px;z-index:15;max-width:min(520px,58%);max-height:38%;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;overflow:hidden;pointer-events:none;-moz-user-select:text;user-select:text;-webkit-user-select:text}.game-chat-line[data-v-f4d1a9dc]{font-size:.88rem;line-height:1.45;padding:2px 6px;border-radius:3px;background:transparent;pointer-events:auto;text-shadow:var(--text-shadow-game);word-break:break-word;transition:background .12s ease}.game-chat-line[data-v-f4d1a9dc]:hover{background:var(--game-chat-hover-bg)}.game-chat-user[data-v-f4d1a9dc]{font-weight:var(--font-weight-bold);color:var(--game-chat-user);margin-right:.35em}.game-chat-line--own .game-chat-user[data-v-f4d1a9dc]{color:var(--game-chat-own)}.game-chat-text[data-v-f4d1a9dc]{color:var(--game-chat-text);font-weight:500}.game-chat-bar[data-v-f4d1a9dc]{position:absolute;left:0;right:0;bottom:0;z-index:20;display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--color-overlay-game);backdrop-filter:var(--backdrop-blur-game);border-top:1px solid var(--game-bar-border);box-sizing:border-box}.game-dm-tag[data-v-f4d1a9dc]{flex-shrink:0;font-size:.72rem;font-weight:var(--font-weight-bold);color:var(--color-dm-tag);padding:4px 12px;background:var(--color-overlay-hint);border-radius:var(--radius-pill)}.game-chat-input[data-v-f4d1a9dc]{flex:1;min-width:0;padding:.55rem var(--gap-lg);border:1px solid var(--game-input-border);border-radius:var(--radius-pill);background:var(--game-input-bg);color:var(--color-on-primary);font-size:.9rem;outline:none;font-family:inherit}.game-chat-input[data-v-f4d1a9dc]::-moz-placeholder{color:var(--game-placeholder)}.game-chat-input[data-v-f4d1a9dc]::placeholder{color:var(--game-placeholder)}.game-chat-input[data-v-f4d1a9dc]:focus{border-color:var(--game-input-focus-border);background:var(--game-input-focus-bg)}.game-chat-input[data-v-f4d1a9dc]:disabled{opacity:.5;cursor:not-allowed}.game-send-btn[data-v-f4d1a9dc]{flex-shrink:0;padding:.55rem 1.15rem;border:1px solid hsla(0,0%,100%,.2);border-radius:var(--radius-pill);background:var(--color-primary-send);color:var(--color-on-primary);font-size:.85rem;font-weight:var(--font-weight-bold);cursor:pointer;font-family:inherit}.game-send-btn[data-v-f4d1a9dc]:hover:not(:disabled){background:var(--color-primary-send-hover)}.game-send-btn[data-v-f4d1a9dc]:disabled{opacity:.45;cursor:not-allowed}.game-mic-btn[data-v-f4d1a9dc]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--game-input-border);border-radius:var(--radius-pill);background:var(--game-input-bg);color:var(--color-on-primary-muted);cursor:pointer;flex-shrink:0}.game-mic-btn[data-v-f4d1a9dc]:hover:not(:disabled){background:var(--game-chat-hover-bg)}.game-mic-btn[data-v-f4d1a9dc]:disabled{opacity:.45;cursor:not-allowed}.game-mic-btn--on[data-v-f4d1a9dc]{background:var(--color-danger-mic);border-color:var(--color-danger-mic-border);animation:micPulse-f4d1a9dc 1.2s ease-in-out infinite}.mobile-app-bar[data-v-f4d1a9dc]{display:flex;align-items:center;gap:.75rem;flex-shrink:0;padding:.7rem 1rem;background:var(--surface-panel);border:var(--border-white-thick);border-radius:var(--radius-panel);backdrop-filter:var(--backdrop-blur);box-sizing:border-box}.mobile-menu-btn[data-v-f4d1a9dc]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;border-radius:var(--radius-md);background:var(--color-primary-tint);color:var(--color-primary);cursor:pointer;flex-shrink:0;transition:background var(--duration-fast) ease}.mobile-menu-btn[data-v-f4d1a9dc]:hover{background:var(--color-primary-tint-hover)}.mobile-app-title[data-v-f4d1a9dc]{margin:0;font-size:1.15rem;font-weight:var(--font-weight-heavy);color:var(--color-text);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:768px){.map-stage[data-v-f4d1a9dc]{border-width:2px;border-radius:var(--radius-control)}.mobile-app-bar[data-v-f4d1a9dc]{padding:.5rem .75rem}.users-sidebar.sidebar-mobile[data-v-f4d1a9dc]{width:min(240px,82vw);transform:translateX(-100%);transition:transform var(--duration-normal) var(--ease-default);z-index:var(--z-mobile-sidebar);cursor:default}.users-sidebar.sidebar-mobile.sidebar-mobile-open[data-v-f4d1a9dc]{transform:translateX(0);box-shadow:var(--shadow-mobile-sidebar)}.right-chat.sidebar-collapsed[data-v-f4d1a9dc],.right-chat[data-v-f4d1a9dc]{margin-left:0}.game-chat-log[data-v-f4d1a9dc]{max-width:92%;bottom:48px;max-height:28%}.game-chat-bar[data-v-f4d1a9dc]{padding:6px 8px;gap:6px}.game-chat-input[data-v-f4d1a9dc]{font-size:16px}}.mic-wrap[data-v-f4d1a9dc]{position:relative;display:flex;align-items:center;flex-shrink:0}@keyframes micPulse-f4d1a9dc{0%,to{box-shadow:0 0 0 0 var(--mic-pulse)}50%{box-shadow:0 0 0 6px rgba(231,76,60,0)}}.mic-error-tip[data-v-f4d1a9dc]{position:absolute;bottom:calc(100% + 6px);left:0;background:var(--color-danger);color:var(--color-on-primary);font-size:.72rem;padding:3px 8px;border-radius:var(--radius-xs);white-space:nowrap;z-index:200;pointer-events:none}.speaking-wave[data-v-f4d1a9dc]{display:flex;align-items:flex-end;gap:2px;height:14px;margin-left:2px;flex-shrink:0}.speaking-wave span[data-v-f4d1a9dc]{display:block;width:3px;border-radius:2px;background:var(--color-success);animation:waveBar-f4d1a9dc .6s ease-in-out infinite}.speaking-wave span[data-v-f4d1a9dc]:first-child{animation-delay:0s;height:6px}.speaking-wave span[data-v-f4d1a9dc]:nth-child(2){animation-delay:.15s;height:10px}.speaking-wave span[data-v-f4d1a9dc]:nth-child(3){animation-delay:.3s;height:6px}@keyframes waveBar-f4d1a9dc{0%,to{transform:scaleY(.5);opacity:.6}50%{transform:scaleY(1.4);opacity:1}}.mcd-page[data-v-5a8378db]{position:relative;width:100%;height:100vh;height:100dvh;overflow:hidden}.content-wrapper[data-v-5a8378db]{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:2rem 1.5rem 1.5rem;box-sizing:border-box;height:100%;display:flex;flex-direction:column;gap:1.5rem}.top-bar[data-v-5a8378db]{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-shrink:0}.title-group[data-v-5a8378db]{max-width:70%}.title[data-v-5a8378db]{margin:0 0 var(--gap-sm);font-size:1.8rem;font-weight:var(--font-weight-black);color:var(--mcd-title);text-shadow:2px 2px 0 var(--mcd-title-shadow),-1px -1px 0 var(--color-white)}.subtitle[data-v-5a8378db]{margin:0;font-size:.95rem;color:var(--mcd-subtitle);opacity:.9}.back-btn[data-v-5a8378db]{border:var(--border-width-control) solid var(--color-white-border);background:var(--surface-back-btn-light);border-radius:var(--radius-pill);padding:var(--gap-sm) 1.2rem;font-weight:var(--font-weight-bold);cursor:pointer;box-shadow:var(--shadow-back-btn)}.content-wrapper[data-v-5a8378db] .mcd-panel{flex:1;min-height:0}@media (max-width:768px){.content-wrapper[data-v-5a8378db]{padding:1.25rem 1rem;gap:1rem}.top-bar[data-v-5a8378db]{flex-direction:column;align-items:flex-start}.title-group[data-v-5a8378db]{max-width:100%}.title[data-v-5a8378db]{font-size:1.4rem}}.tarot-page[data-v-88cf8a58]{position:relative;width:100%;height:100vh;height:100dvh;overflow:hidden}.content-wrapper[data-v-88cf8a58]{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:2rem 1.5rem 1.5rem;box-sizing:border-box;height:100%;display:flex;flex-direction:column;gap:1.5rem}.top-bar[data-v-88cf8a58]{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-shrink:0}.title-group[data-v-88cf8a58]{max-width:70%}.title[data-v-88cf8a58]{margin:0 0 var(--gap-sm);font-size:1.8rem;font-weight:var(--font-weight-black);color:var(--tarot-text);text-shadow:2px 2px 0 var(--tarot-title-shadow),-1px -1px 0 var(--tarot-title-shadow-white)}.subtitle[data-v-88cf8a58]{margin:0;font-size:.95rem;color:var(--tarot-text-subtitle);opacity:.95}.back-btn[data-v-88cf8a58]{border:var(--border-width-control) solid var(--tarot-border-back);background:var(--gradient-tarot-back);color:var(--tarot-text-strong);border-radius:var(--radius-pill);padding:var(--gap-sm) 1.2rem;font-weight:var(--font-weight-bold);cursor:pointer;box-shadow:var(--shadow-back-btn-tarot)}.back-btn[data-v-88cf8a58]:hover{background:var(--gradient-tarot-back-hover)}.content-wrapper[data-v-88cf8a58] .tarot-panel{flex:1;min-height:0;background:var(--tarot-surface-page);border:var(--border-width-input) solid var(--tarot-border-panel);border-radius:var(--radius-tarot-page);padding:var(--gap-lg) 1.1rem;box-sizing:border-box}@media (max-width:768px){.content-wrapper[data-v-88cf8a58]{padding:1.25rem 1rem;gap:1rem}.top-bar[data-v-88cf8a58]{flex-direction:column;align-items:flex-start}.title-group[data-v-88cf8a58]{max-width:100%}.title[data-v-88cf8a58]{font-size:1.4rem}}.not-found[data-v-ffbe5320]{position:relative;min-height:100vh;overflow:hidden}.not-found-inner[data-v-ffbe5320]{position:relative;z-index:1;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;box-sizing:border-box}.card[data-v-ffbe5320]{max-width:440px;width:100%;padding:2rem 1.75rem 1.75rem;text-align:center}.code[data-v-ffbe5320]{margin:0;font-size:clamp(3.5rem,14vw,5.5rem);line-height:1;letter-spacing:.06em;font-weight:var(--font-weight-heavy);background:var(--gradient-notfound-title);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:var(--shadow-notfound-title)}.title[data-v-ffbe5320]{margin:.35rem 0 var(--gap-sm);font-size:1.35rem;font-weight:var(--font-weight-heavy);color:var(--color-text)}.hint[data-v-ffbe5320]{margin:0 0 var(--gap-lg);font-size:.95rem;line-height:1.5;color:var(--color-text-hint)}.path[data-v-ffbe5320]{margin:0 0 1.35rem;font-size:.82rem;color:var(--color-text-faint);word-break:break-all}.path-label[data-v-ffbe5320]{display:block;margin-bottom:.25rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-label)}.path code[data-v-ffbe5320]{display:inline-block;max-width:100%;padding:.35rem .55rem;border-radius:var(--radius-sm);background:var(--color-white-ghost);border:var(--border-width-input) solid var(--color-white-ghost-border);font-family:ui-monospace,monospace;font-size:.8rem;color:var(--color-text-code)}.actions[data-v-ffbe5320]{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center}.card.bubble-panel[data-v-ffbe5320]{box-shadow:var(--shadow-panel-strong)}.actions .bubble-btn[data-v-ffbe5320]{padding:.55rem 1rem;font-size:.9rem}:root{--font-family:"Cubic_11",Avenir,Helvetica,Arial,sans-serif;--font-weight-bold:700;--font-weight-heavy:800;--font-weight-black:900;--color-text:#2c3e50;--color-text-code:#34495e;--color-text-muted:#7f8c8d;--color-text-subtle:rgba(44,62,80,.7);--color-text-hint:rgba(44,62,80,.82);--color-text-faint:rgba(44,62,80,.65);--color-text-label:rgba(44,62,80,.5);--color-text-placeholder:hsla(184,6%,53%,.6);--color-primary:#4a90e2;--color-primary-dark:#357abd;--color-primary-hover:#5b9bd5;--color-primary-tint:rgba(74,144,226,.12);--color-primary-tint-hover:rgba(74,144,226,.22);--color-primary-border-soft:rgba(74,144,226,.6);--color-primary-send:rgba(74,144,226,.75);--color-primary-send-hover:rgba(94,176,240,.85);--gradient-primary:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);--gradient-primary-hover:linear-gradient(135deg,var(--color-primary-hover) 0%,var(--color-primary) 100%);--gradient-primary-tint-bg:linear-gradient(135deg,rgba(74,144,226,.1),rgba(53,122,189,.1));--gradient-sidebar-avatar:linear-gradient(135deg,var(--color-primary),#7b68ee);--color-gold:gold;--color-orange:orange;--color-gold-border-soft:rgba(255,165,0,.5);--color-gold-border-strong:rgba(255,165,0,.9);--gradient-gold:linear-gradient(135deg,var(--color-gold) 0%,var(--color-orange) 55%,var(--color-gold) 100%);--gradient-gold-btn:linear-gradient(135deg,var(--color-gold) 0%,var(--color-orange) 50%,var(--color-gold) 100%);--gradient-gold-flat:linear-gradient(135deg,var(--color-gold),var(--color-orange));--gradient-accent-soft:linear-gradient(135deg,#dbeafe,#bfdbfe);--color-accent-border:rgba(191,219,254,.95);--color-success:#22c55e;--color-success-alt:#27ae60;--color-danger:#e74c3c;--color-danger-dark:#c0392b;--color-danger-text:#c0392b;--color-danger-border:rgba(231,76,60,.4);--color-danger-mic:rgba(231,76,60,.75);--color-danger-mic-border:hsla(8,100%,70%,.5);--gradient-danger:linear-gradient(135deg,var(--color-danger),var(--color-danger-dark));--gradient-danger-bg:linear-gradient(135deg,rgba(231,76,60,.15),rgba(192,57,43,.15));--color-black:#000;--color-white:#fff;--color-white-border:hsla(0,0%,100%,.9);--color-white-border-strong:hsla(0,0%,100%,.95);--color-white-ghost:hsla(0,0%,100%,.55);--color-white-ghost-border:hsla(0,0%,100%,.85);--color-on-primary:#fff;--color-on-primary-muted:hsla(0,0%,100%,.9);--color-overlay:rgba(0,0,0,.5);--color-overlay-medium:rgba(0,0,0,.45);--color-overlay-strong:rgba(0,0,0,.55);--color-overlay-dark:rgba(0,0,0,.6);--color-overlay-toast:rgba(0,0,0,.75);--color-overlay-game:rgba(0,0,0,.38);--color-overlay-hint:rgba(0,0,0,.35);--color-overlay-minimap:rgba(0,0,0,.5);--color-overlay-close:rgba(0,0,0,.06);--color-overlay-close-hover:rgba(0,0,0,.08);--color-overlay-close-hover-strong:rgba(0,0,0,.14);--color-chip-muted:#555;--color-chip-border:rgba(0,0,0,.08);--color-chip-border-input:rgba(0,0,0,.12);--color-link:#1e80ff;--gradient-neutral-btn:linear-gradient(135deg,#f2f2f2,#e7e7e7);--gradient-disabled:linear-gradient(135deg,#ccc,#999);--gradient-notfound-title:linear-gradient(180deg,#5a6fd8,#8b7bc8 45%,#c4a86a);--border-white:3px solid var(--color-white-border);--border-white-thick:4px solid #fff;--border-muted:2px solid hsla(0,0%,78%,.6);--border-muted-strong:2px solid hsla(0,0%,78%,.7);--surface-panel:linear-gradient(135deg,hsla(0,0%,100%,.95),hsla(0,0%,100%,.85));--surface-panel-strong:linear-gradient(135deg,hsla(0,0%,100%,.98),hsla(0,0%,100%,.95));--surface-bubble:linear-gradient(135deg,hsla(0,0%,100%,.95),hsla(0,0%,100%,.88));--surface-input:hsla(0,0%,100%,.9);--surface-input-disabled:hsla(0,0%,96%,.8);--surface-tabs:hsla(0,0%,100%,.6);--surface-tabs-border:hsla(0,0%,100%,.8);--surface-mcd-panel:linear-gradient(135deg,hsla(0,0%,100%,.96),hsla(0,0%,100%,.9));--surface-mcd-chat:hsla(0,0%,100%,.92);--surface-mcd-modal:linear-gradient(135deg,hsla(0,0%,100%,.98),rgba(255,248,230,.96));--surface-mcd-bubble-user:#e3f2fd;--surface-back-btn-light:linear-gradient(135deg,hsla(0,0%,100%,.67),#fff);--backdrop-blur:blur(10px);--backdrop-blur-light:blur(4px);--backdrop-blur-game:blur(6px);--color-markdown-code-bg:rgba(44,62,80,.08);--color-markdown-pre-bg:rgba(44,62,80,.92);--color-markdown-pre-text:#ecf0f1;--color-mcd-avatar-bot:#ffe082;--radius-xs:8px;--radius-sm:10px;--radius-md:12px;--radius-tab:9px;--radius-control:16px;--radius-bubble:18px;--radius-modal:18px;--radius-card:22px;--radius-panel:24px;--radius-tarot-page:20px;--radius-pill:999px;--radius-bubble-tail:4px;--radius-playing-card:7px;--px-border-radius:15px;--px-border:3px;--border-width-panel:4px;--border-width-control:3px;--border-width-input:2px;--shadow-panel:0 10px 20px rgba(0,0,0,.12),inset 0 1px 0 hsla(0,0%,100%,.65);--shadow-panel-strong:0 12px 28px rgba(0,0,0,.14),inset 0 1px 0 hsla(0,0%,100%,.65);--shadow-modal:0 16px 32px rgba(0,0,0,.2),0 8px 16px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.8);--shadow-modal-large:0 20px 50px rgba(0,0,0,.25);--shadow-modal-tarot:0 20px 50px rgba(0,0,0,.35);--shadow-outfit:0 12px 40px rgba(0,0,0,.2);--shadow-mcd-panel:0 6px 14px rgba(0,0,0,.1);--shadow-message-own:0 4px 8px rgba(74,144,226,.3),inset 0 1px 0 hsla(0,0%,100%,.3);--shadow-message-other:inset 0 2px 4px rgba(0,0,0,.05),0 1px 0 #fff;--shadow-focus-primary:0 0 0 3px rgba(74,144,226,.35),inset 0 1px 0 hsla(0,0%,100%,.65);--shadow-back-btn:0 4px 8px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.9);--shadow-back-btn-tarot:0 4px 12px rgba(0,0,0,.25);--shadow-minimap:0 4px 12px rgba(0,0,0,.35);--shadow-playing-card:0 3px 12px rgba(0,0,0,.38),inset 0 0 0 1px rgba(0,0,0,.07);--shadow-notfound-title:0 2px 24px rgba(90,111,216,.25);--shadow-mobile-sidebar:8px 0 28px rgba(0,0,0,.15);--shadow-tarot-fly:0 8px 20px rgba(0,0,0,.45);--shadow-fan-card:0 4px 8px rgba(0,0,0,.35);--text-shadow-on-primary:1px 1px 2px rgba(0,0,0,.2);--text-shadow-game:0 1px 2px rgba(0,0,0,.85);--scrollbar-thumb:hsla(0,0%,100%,.2);--scrollbar-track:hsla(0,0%,100%,.05);--scrollbar-thumb-hover:hsla(0,0%,100%,.3);--ease-default:cubic-bezier(0.4,0,0.2,1);--duration-fast:0.15s;--duration-normal:0.25s;--duration-slow:0.3s;--hover-lift:translateY(-2px);--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-2-5:0.55rem;--gap-2xs:var(--space-1);--gap-xs:0.4rem;--gap-sm:var(--space-2);--gap-md:var(--space-3);--gap-lg:var(--space-4);--gap-xl:var(--space-6);--gap-2xl:var(--space-8);--padding-none:var(--space-0);--padding-2xs:var(--space-1);--padding-xs:var(--space-2);--padding-sm:var(--space-3);--padding-md:var(--space-4);--padding-lg:var(--space-6);--padding-xl:var(--space-8);--padding-2xl:var(--space-12);--padding-btn-y:var(--space-2-5);--padding-btn-x:0.8rem;--padding-input-y:var(--space-3);--padding-input-x:var(--space-4);--padding-bubble-panel-y:var(--space-8);--padding-bubble-panel-x:var(--space-6);--padding-modal:var(--space-6) var(--space-5);--padding-modal-lg:1.6rem 1.4rem;--padding-sidebar-header:0.6rem 0.45rem 0.6rem var(--space-2);--padding-sidebar-item:0.45rem var(--space-2);--padding-chat-main:var(--space-4);--padding-page:var(--space-6) var(--space-5);--padding-page-bottom:var(--space-12);--padding-overlay:var(--space-4);--padding-toast-y:var(--space-2);--padding-toast-x:20px;--padding-game-bar:var(--space-2) 10px;--z-overlay:1000;--z-sidebar:1100;--z-mcd-modal:3000;--z-modal:2500;--z-modal-high:2600;--z-mobile-sidebar:2050;--z-toast:9999;--sidebar-width-expanded:210px;--sidebar-width-collapsed:48px;--sidebar-bg:linear-gradient(180deg,rgba(8,43,86,.58),rgba(60,125,187,.42));--sidebar-bg-solid:rgba(8,43,86,.65);--sidebar-border:hsla(0,0%,100%,.06);--sidebar-divider:hsla(0,0%,100%,.1);--sidebar-text:#eef4fb;--sidebar-text-muted:rgba(220,235,250,.65);--sidebar-hover:hsla(0,0%,100%,.08);--sidebar-active:hsla(0,0%,100%,.14);--sidebar-accent:#a8d4f5;--sidebar-accent-strong:#7ec0ef;--sidebar-blur:blur(8px);--game-chat-user:var(--sidebar-accent-strong);--game-chat-own:#ffd56b;--game-chat-text:hsla(0,0%,100%,.95);--game-chat-hover-bg:rgba(0,0,0,.55);--game-input-bg:rgba(0,0,0,.42);--game-input-border:hsla(0,0%,100%,.18);--game-input-focus-border:rgba(126,192,239,.55);--game-input-focus-bg:rgba(0,0,0,.52);--game-placeholder:hsla(0,0%,100%,.45);--color-dm-tag:#c4b5fd;--map-stage-border:hsla(0,0%,100%,.28);--map-stage-bg:rgba(0,0,0,.12);--game-bar-border:hsla(0,0%,100%,.08);--mic-pulse:rgba(231,76,60,.5);--portal-bg-deep:#0a1020;--portal-vignette:rgba(8,12,28,.75);--portal-viewport-inset:rgba(0,0,0,.55);--portal-viewport-ring:rgba(120,200,255,.35);--portal-viewport-glow:rgba(100,180,255,.25);--portal-glow-cyan:rgba(0,220,255,.22);--portal-glow-purple:rgba(160,80,255,.2);--portal-glow-warm:rgba(255,200,120,.12);--portal-ring-cyan:rgba(0,255,220,.15);--portal-ring-cyan-bright:rgba(0,255,220,.55);--portal-ring-purple:rgba(180,100,255,.4);--portal-ring-mid:rgba(140,120,255,.2);--portal-ring-mid-accent:rgba(255,220,140,.45);--portal-ring-glow-cyan:rgba(0,200,255,.2);--portal-ring-inner:hsla(0,0%,100%,.12);--portal-ring-inner-inset:rgba(100,180,255,.15);--portal-ring-inner-glow:rgba(180,120,255,.2);--portal-spark:rgba(120,220,255,.9);--home-enter-title:#fff8dc;--home-enter-shadow-blue:rgba(74,144,226,.85);--home-enter-shadow-white:hsla(0,0%,100%,.9);--home-enter-sub:rgba(220,235,255,.88);--icp-link:rgba(200,210,230,.55);--icp-link-hover:rgba(220,230,255,.85);--mcd-title:#fff8dc;--mcd-title-shadow:rgba(184,134,11,.9);--mcd-subtitle:#ecf0f1;--tarot-text:#e8dcff;--tarot-text-strong:#f0e6ff;--tarot-text-muted:rgba(200,180,240,.75);--tarot-text-hint:rgba(220,200,255,.85);--tarot-text-subtitle:rgba(220,200,255,.92);--tarot-text-label:rgba(180,160,220,.7);--tarot-text-meta:rgba(190,170,230,.75);--tarot-text-loading:rgba(200,180,240,.8);--tarot-card-name:#f0e0ff;--tarot-strong:#e0c8ff;--tarot-border:rgba(180,150,230,.18);--tarot-border-strong:rgba(180,150,230,.28);--tarot-border-input:rgba(180,150,230,.35);--tarot-border-panel:rgba(155,120,220,.35);--tarot-border-modal:rgba(155,120,220,.45);--tarot-border-back:rgba(200,170,255,.55);--tarot-dock-bg:hsla(0,0%,100%,.05);--tarot-surface:linear-gradient(180deg,rgba(32,18,52,.97),rgba(28,16,48,.92));--tarot-surface-page:rgba(22,14,42,.72);--tarot-surface-modal:linear-gradient(135deg,rgba(36,22,58,.98),rgba(22,14,42,.97));--gradient-tarot-btn:linear-gradient(135deg,#9b6fd4,#6b42a8);--gradient-tarot-back:linear-gradient(135deg,rgba(60,40,100,.75),rgba(40,25,70,.9));--gradient-tarot-back-hover:linear-gradient(135deg,rgba(80,55,130,.85),rgba(50,32,88,.95));--tarot-title-shadow:rgba(74,35,120,.9);--tarot-title-shadow-white:hsla(0,0%,100%,.35);--tarot-gold:#f5d78a;--tarot-gold-border:hsla(40,57%,61%,.55);--tarot-gold-bg:hsla(40,57%,61%,.12);--tarot-gold-bg-hover:hsla(40,57%,61%,.22);--tarot-label-accent:rgba(200,170,255,.85);--tarot-placeholder-dashed:rgba(180,150,230,.25);--tarot-placeholder-faint:rgba(180,150,230,.35);--tarot-scrollbar:rgba(180,150,230,.22);--tarot-dock-shadow:0 6px 18px rgba(0,0,0,.28);--tarot-bubble-assistant-bg:hsla(0,0%,100%,.07);--tarot-bubble-assistant-border:rgba(180,150,230,.2);--tarot-bubble-assistant-text:rgba(240,230,255,.95);--tarot-bubble-user-bg:rgba(120,80,180,.35);--tarot-bubble-user-border:rgba(160,120,220,.3);--tarot-avatar-bg:hsla(0,0%,100%,.08);--tarot-input-bg:rgba(0,0,0,.2);--tarot-input-placeholder:rgba(180,160,220,.5);--tarot-input-focus-border:rgba(200,160,255,.6);--tarot-divider:rgba(180,150,230,.15);--tarot-pulse:#c9a0ff;--tarot-error-bg:rgba(255,90,90,.15);--tarot-error-border:hsla(0,100%,74%,.35);--tarot-error-text:#ffb4b4;--tarot-close-bg:hsla(0,0%,100%,.1);--tarot-close-bg-hover:hsla(0,0%,100%,.18);--tarot-close-text:hsla(0,0%,100%,.85);--color-playing-card-bg:#f8f6f2;--color-npc-hint:rgba(255,176,32,.55);--color-minimap-border:hsla(0,0%,100%,.25);--color-hint-text:hsla(0,0%,100%,.75);--stylist-accent:#ff6b9d;--stylist-accent-dark:#e84393;--stylist-accent-active:#c2185b;--stylist-accent-border:rgba(255,107,157,.25);--stylist-accent-border-hover:rgba(255,107,157,.45);--stylist-accent-border-preview:rgba(255,107,157,.35);--stylist-accent-bg:rgba(255,107,157,.15);--gradient-stylist:linear-gradient(135deg,var(--stylist-accent),var(--stylist-accent-dark));--stylist-surface:linear-gradient(145deg,rgba(255,252,255,.98),rgba(255,240,248,.96));--stylist-text-muted:#6b7c8f;--stylist-text-hint:#888;--stylist-label:#5a6a7a;--stylist-preview-bg:rgba(8,43,86,.08)}.bubble-panel{background:var(--surface-bubble);border:var(--border-width-panel) solid var(--color-white-border);border-radius:var(--radius-card);box-shadow:var(--shadow-panel)}.bubble-btn{border:var(--border-width-control) solid var(--color-white-border);border-radius:var(--radius-md);padding:var(--padding-btn-y) var(--padding-btn-x);cursor:pointer;background:var(--gradient-neutral-btn);font-weight:var(--font-weight-bold);font-family:inherit;transition:transform var(--duration-slow) var(--ease-default)}.bubble-btn.primary{background:var(--gradient-gold);color:var(--color-text)}.bubble-btn.accent{background:var(--gradient-accent-soft);border-color:var(--color-accent-border);color:var(--color-text)}.menu-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:var(--gradient-primary);color:var(--color-white);border:var(--border-width-control) solid var(--color-white);border-radius:var(--radius-control);cursor:pointer;font-size:1.5rem;transition:all var(--duration-slow) var(--ease-default);line-height:1;touch-action:manipulation}.menu-btn:hover{background:var(--gradient-primary-hover);transform:var(--hover-lift)}.menu-btn svg{stroke:currentColor}body,html{margin:0;padding:0}#app,body,html{overflow:hidden;height:100%;background:transparent}.room-page .menu-btn,.room-page button{touch-action:manipulation}.room-page .messages-container,.room-page .player-list-container{touch-action:pan-y}.room-page.chat-container{display:flex;height:100vh;height:100dvh;background:transparent;overflow:hidden;position:fixed;top:0;left:0;right:0;bottom:0;width:100%;padding:0;box-sizing:border-box;gap:0}.room-page .mobile-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-overlay-dark);z-index:999;touch-action:none}.room-page .right-chat{flex:1;display:flex;flex-direction:column;background:transparent;min-height:0;overflow:hidden;position:relative;z-index:1;gap:var(--gap-sm);padding:var(--padding-md);box-sizing:border-box;min-width:0}.room-page .system-notification{position:absolute;top:.5rem;left:.5rem;right:.5rem;z-index:var(--z-toast);min-height:30px;padding:var(--padding-toast-y) var(--padding-toast-x);background:var(--color-black);color:var(--color-on-primary);display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:500;animation:slideDown var(--duration-slow) ease-out;pointer-events:none;border-radius:var(--px-border-radius);border:var(--px-border) solid var(--color-black);box-sizing:border-box}.room-page .connection-status{display:flex;align-items:center;gap:var(--gap-sm);font-size:.9rem;color:var(--color-black);position:relative;z-index:101}.room-page .status-indicator{width:10px;height:10px;border-radius:50%}.room-page .status-indicator.connected{background:var(--color-success)}.room-page .status-text{color:var(--color-text);font-weight:500}.room-page .reconnect-btn{padding:var(--padding-xs) var(--padding-lg);color:var(--color-on-primary);border:var(--px-border) solid var(--color-black);border-radius:var(--px-border-radius);cursor:pointer;font-size:.9rem;font-weight:500;transition:all var(--duration-normal) ease}.room-page .reconnect-btn,.room-page .reconnect-btn:hover{background:var(--color-black)}.room-page .chat-main{overflow:hidden;background:var(--surface-panel);border:var(--border-white-thick);border-radius:var(--radius-panel);backdrop-filter:var(--backdrop-blur)}.room-page .chat-main,.room-page .messages-container{flex:1;display:flex;flex-direction:column;min-height:0;position:relative}.room-page .messages-container{padding:var(--padding-chat-main);overflow-y:auto;background:transparent;min-width:0;z-index:1;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.room-page .messages-container::-webkit-scrollbar{width:8px}.room-page .messages-container::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:var(--radius-bubble-tail)}.room-page .messages-container::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-bubble-tail);-webkit-transition:background .2s ease;transition:background .2s ease}.room-page .messages-container::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.room-page .messages-container{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.room-page .message{margin-bottom:var(--gap-sm);padding:var(--padding-xs) var(--padding-sm);border-radius:var(--radius-bubble);max-width:70%;word-wrap:break-word;position:relative;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.room-page .own-message{background:var(--gradient-primary);color:var(--color-on-primary);margin-left:auto;border:var(--border-width-control) solid var(--color-white);border-radius:var(--radius-bubble);border-bottom-right-radius:var(--radius-bubble-tail);box-shadow:var(--shadow-message-own);text-shadow:var(--text-shadow-on-primary)}.room-page .other-message{background:var(--surface-panel);color:var(--color-text);border:var(--border-muted);margin-right:auto;border-radius:var(--radius-bubble);border-bottom-left-radius:var(--radius-bubble-tail);box-shadow:var(--shadow-message-other)}.room-page .message.grouped{margin-top:.25rem}.room-page .message.grouped.own-message{border-top-right-radius:var(--radius-bubble-tail)}.room-page .message.grouped.other-message{border-top-left-radius:var(--radius-bubble-tail)}.room-page .message-header{margin-bottom:.25rem;font-size:.8rem;opacity:.7}.room-page .own-message .message-header{color:var(--color-on-primary-muted)}.room-page .other-message .message-header{color:var(--color-text-subtle)}.room-page .username{font-weight:600}.room-page .message-content{line-height:1.4}.room-page .input-wrapper{flex-shrink:0}.room-page .input-wrapper,.room-page .input-wrapper.keyboard-open{display:flex;gap:var(--gap-sm);width:100%;box-sizing:border-box;align-items:stretch}.room-page .input-wrapper.keyboard-open{padding:0;background:transparent}.room-page .message-input{flex:1;min-width:0;padding:var(--padding-input-y) var(--padding-input-x);border:var(--border-white-thick);border-radius:var(--radius-control);font-size:1rem;outline:none;transition:all var(--duration-slow) var(--ease-default);background:var(--surface-panel);color:var(--color-text);box-sizing:border-box;backdrop-filter:var(--backdrop-blur)}.room-page .message-input:disabled{background:var(--surface-input-disabled);cursor:not-allowed;opacity:.6}.room-page .message-input::-moz-placeholder{color:var(--color-text-placeholder)}.room-page .message-input::placeholder{color:var(--color-text-placeholder)}.room-page .message-input:focus,.room-page .message-input:focus-visible{outline:none;background:var(--surface-panel);color:var(--color-text);border-color:var(--color-white);box-shadow:var(--shadow-focus-primary)}.room-page .send-btn{flex-shrink:0;padding:var(--padding-input-y) var(--padding-xl);background:var(--gradient-primary);color:var(--color-on-primary);border:var(--border-white-thick);border-radius:var(--radius-control);cursor:pointer;font-size:1rem;font-weight:var(--font-weight-bold);transition:all var(--duration-slow) var(--ease-default);box-sizing:border-box;white-space:nowrap;min-width:-moz-fit-content;min-width:fit-content;text-shadow:var(--text-shadow-on-primary)}.room-page .send-btn:hover:not(:disabled){background:var(--gradient-primary-hover);transform:var(--hover-lift)}.room-page .send-btn:disabled{cursor:not-allowed;background:var(--gradient-disabled)}.room-page .no-room-message{display:flex;align-items:center;justify-content:center;height:100%;background:transparent}.room-page .welcome-content{text-align:center;padding:var(--space-8);max-width:500px}.room-page .welcome-content h3{color:var(--color-text);margin-bottom:var(--gap-lg);font-size:1.5rem;font-weight:var(--font-weight-bold);text-shadow:none}.room-page .welcome-content p{color:var(--color-text-subtle);margin-bottom:2rem;font-size:1rem;line-height:1.5}.room-page .room-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--gap-lg);margin-top:var(--gap-lg)}.room-page .quick-room-btn{background:var(--gradient-primary);color:var(--color-white);border:var(--border-width-control) solid var(--color-white-border);padding:var(--padding-input-y) var(--padding-input-x);border-radius:var(--radius-control);cursor:pointer;font-size:1rem;font-weight:var(--font-weight-bold);font-family:inherit;transition:all var(--duration-slow) var(--ease-default)}.room-page .quick-room-btn:hover{background:var(--gradient-primary-hover);transform:var(--hover-lift);box-shadow:var(--shadow-message-own)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (min-width:769px) and (max-width:1024px){.room-page .input-wrapper{gap:var(--gap-sm);width:100%;display:flex;align-items:stretch}.room-page .message-input{flex:1;min-width:0;padding:.625rem .875rem;font-size:.95rem}.room-page .send-btn{flex-shrink:0;padding:.625rem 1.25rem;font-size:.95rem;min-width:-moz-fit-content;min-width:fit-content}}@media (max-width:768px){.room-page.chat-container{position:fixed;height:100vh;height:100dvh;overflow:hidden;padding:0;gap:0}.room-page .right-chat{width:100%;min-height:0;gap:6px;padding:var(--gap-sm);padding-top:max(var(--gap-sm),env(safe-area-inset-top,0px));padding-bottom:max(var(--gap-sm),env(safe-area-inset-bottom,0px))}.room-page .welcome-content{padding:var(--padding-chat-main)}.room-page .welcome-content h3{font-size:1.2rem}.room-page .room-buttons{grid-template-columns:repeat(2,1fr)}.room-page .message{max-width:85%}.room-page .input-wrapper{gap:var(--gap-sm);width:100%;display:flex;align-items:stretch}.room-page .message-input{flex:1;min-width:0}.room-page .message-input,.room-page .send-btn{padding:var(--gap-md) var(--gap-lg);font-size:1rem}.room-page .send-btn{flex-shrink:0;min-width:60px}.room-page .input-wrapper.keyboard-open{padding:0;margin:0;display:flex;gap:var(--gap-sm);align-items:stretch;width:100%;box-sizing:border-box}.room-page .messages-container{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.room-page .connection-status{font-size:.8rem}.room-page .reconnect-btn{padding:.4rem .8rem;font-size:.8rem}}