@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)}.modal-overlay[data-v-504d7ca0]{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-504d7ca0 var(--duration-slow) ease}@keyframes fadeIn-504d7ca0{0%{opacity:0}to{opacity:1}}.login-box[data-v-504d7ca0]{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-504d7ca0]{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-504d7ca0]{flex:1}.form-group[data-v-504d7ca0]{margin-bottom:var(--gap-md)}.form-group label[data-v-504d7ca0]{display:block;margin-bottom:.3rem;font-weight:var(--font-weight-bold);color:var(--color-text);font-size:.85rem}.form-group input[data-v-504d7ca0]{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-504d7ca0]{display:flex;gap:var(--gap-xs)}.code-row input[data-v-504d7ca0]{flex:1}.code-row button[data-v-504d7ca0]{white-space:nowrap;flex-shrink:0}.login-form>button[type=submit][data-v-504d7ca0]{margin-top:.3rem;padding:.7rem}.error[data-v-504d7ca0]{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}.pixel-world[data-v-3ba9a71f]{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;outline:none;cursor:crosshair;touch-action:none}.pixel-world--preview[data-v-3ba9a71f]{touch-action:pan-y}.pixel-world__pixi[data-v-3ba9a71f]{position:absolute;inset:0;z-index:0}.pixel-world__pixi[data-v-3ba9a71f] canvas{display:block;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges}.pixel-world__hint[data-v-3ba9a71f]{position:absolute;top:calc(var(--game-top-bar-height, 53px) + 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-3ba9a71f]{color:var(--color-on-primary);background:var(--color-npc-hint)}.pixel-world__minimap-wrap[data-v-3ba9a71f]{position:absolute;right:max(10px,env(safe-area-inset-right,0px));top:calc(var(--game-top-bar-height, 53px) + 8px);z-index:18;box-sizing:border-box;width:148px;height:148px;aspect-ratio:1;padding:4px;display:flex;align-items:center;justify-content:center;background:var(--color-overlay-minimap);border:var(--border-width-input) solid var(--color-minimap-border);border-radius:50%;box-shadow:var(--shadow-minimap);cursor:pointer;touch-action:manipulation;overflow:hidden;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.pixel-world__minimap-wrap[data-v-3ba9a71f]:hover{border-color:hsla(0,0%,100%,.45);box-shadow:var(--shadow-minimap),0 0 0 1px hsla(0,0%,100%,.12)}.pixel-world__minimap[data-v-3ba9a71f]{display:block;width:140px;height:140px;image-rendering:pixelated;image-rendering:crisp-edges}@media (pointer:coarse) and (orientation:landscape){.pixel-world__minimap-wrap[data-v-3ba9a71f]{width:88px;height:88px;padding:3px}.pixel-world__minimap[data-v-3ba9a71f]{width:82px;height:82px}}.hero-fb[data-v-09a670c1]{position:absolute;inset:0;overflow:hidden;background:#f5f5f7;pointer-events:none}.hero-fb__stage[data-v-09a670c1]{position:absolute;left:0;top:0;transform-origin:0 0;image-rendering:pixelated}.hero-fb__cv[data-v-09a670c1]{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated}.home[data-v-b4291fa2]{position:relative;width:100%;height:100vh;height:100dvh;overflow-y:auto;overflow-x:hidden;background:#fff;color:#1d1d1f;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Helvetica Neue,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;scroll-behavior:smooth;touch-action:pan-y}@media not all and (hover:none) and (pointer:coarse){@supports (-moz-appearance:none){.home[data-v-b4291fa2]{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.28) transparent}.home[data-v-b4291fa2]:active,.home[data-v-b4291fa2]:hover{scrollbar-color:rgba(0,0,0,.5) transparent}}.home[data-v-b4291fa2]::-webkit-scrollbar{width:8px;height:8px;background:transparent}.home[data-v-b4291fa2]::-webkit-scrollbar-corner,.home[data-v-b4291fa2]::-webkit-scrollbar-track{background:transparent}.home[data-v-b4291fa2]::-webkit-scrollbar-button{display:none;width:0;height:0}.home[data-v-b4291fa2]::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.28);border:2px solid transparent;border-radius:999px;background-clip:padding-box;min-height:40px}.home[data-v-b4291fa2]::-webkit-scrollbar-thumb:active,.home[data-v-b4291fa2]::-webkit-scrollbar-thumb:hover{background-color:rgba(0,0,0,.5);border-width:1px}}.nav[data-v-b4291fa2]{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 max(20px,6vw);background:hsla(0,0%,100%,.7);border-bottom:1px solid rgba(0,0,0,.08);box-shadow:none;backdrop-filter:saturate(180%) blur(20px);transition:background .3s}.nav--solid[data-v-b4291fa2]{background:hsla(0,0%,100%,.78)}#features[data-v-b4291fa2]{scroll-margin-top:0}.nav-brand[data-v-b4291fa2]{font-size:17px;font-weight:600;letter-spacing:.02em;color:#1d1d1f}.nav-links[data-v-b4291fa2]{display:flex;align-items:center;gap:28px}.nav-links a[data-v-b4291fa2]{color:#6e6e73;font-size:13px;text-decoration:none;transition:color .2s}.nav-links a[data-v-b4291fa2]:hover{color:#1d1d1f}.nav-login[data-v-b4291fa2]{font-size:13px}.hero[data-v-b4291fa2]{position:relative;overflow:hidden;min-height:calc(100vh - 52px);min-height:calc(100dvh - 52px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 24px 6vh;background:#f5f5f7}.hero-bg[data-v-b4291fa2]{position:absolute;inset:0;z-index:0}.hero-bg[data-v-b4291fa2]>.pixel-world{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.hero-bg-static[data-v-b4291fa2]{position:absolute;inset:0;background-color:#f5f5f7;background-size:cover;background-position:50%}.hero-shade[data-v-b4291fa2]{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,hsla(0,0%,100%,.28),hsla(0,0%,100%,0) 14%),linear-gradient(180deg,transparent 78%,hsla(0,0%,100%,.35) 92%,#f5f5f7)}.hero-inner[data-v-b4291fa2]{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:28px}.hero-copy[data-v-b4291fa2]{display:flex;flex-direction:column;align-items:center;max-width:min(92vw,720px);padding:0;background:none;border:none;border-radius:0;box-shadow:none;backdrop-filter:none}.hero-title[data-v-b4291fa2],.sec-title[data-v-b4291fa2]{text-wrap:balance}.hero-title[data-v-b4291fa2]{font-size:clamp(48px,10vw,112px);line-height:1.05;letter-spacing:-.02em;margin:0 0 16px;color:#1d1d1f;text-shadow:0 1px 2px hsla(0,0%,100%,.95),0 0 18px hsla(0,0%,100%,.8),0 2px 12px hsla(0,0%,100%,.55),0 1px 3px rgba(0,0,0,.18)}.hero-thin[data-v-b4291fa2]{font-weight:300}.hero-bold[data-v-b4291fa2]{font-weight:800}.hero-sub[data-v-b4291fa2]{font-size:clamp(16px,2.2vw,24px);line-height:1.4;color:#1d1d1f;margin:0;font-weight:500;text-shadow:0 1px 2px hsla(0,0%,100%,.95),0 0 14px hsla(0,0%,100%,.75),0 1px 3px rgba(0,0,0,.15)}.hero-actions[data-v-b4291fa2]{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center}.features[data-v-b4291fa2]{padding:14vh max(24px,8vw) 10vh;background:#f5f5f7;color:#1d1d1f}.sec-title[data-v-b4291fa2]{font-size:clamp(32px,5.5vw,60px);font-weight:700;text-align:center;margin:0 0 48px;letter-spacing:-.01em;color:#1d1d1f}.feat-grid[data-v-b4291fa2]{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1100px;margin:0 auto}.feat-card[data-v-b4291fa2],.glass-card[data-v-b4291fa2]{background:hsla(0,0%,100%,.82);border:1px solid rgba(0,0,0,.06);border-radius:24px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.06);backdrop-filter:blur(24px) saturate(180%)}.feat-card[data-v-b4291fa2]{padding:28px 24px}.feat-card[data-v-b4291fa2]:nth-child(2){transition-delay:.08s}.feat-card[data-v-b4291fa2]:nth-child(3){transition-delay:.16s}.feat-ico[data-v-b4291fa2]{font-size:36px;margin-bottom:12px}.feat-card h3[data-v-b4291fa2]{font-size:21px;margin:0 0 8px;font-weight:600;color:#1d1d1f}.feat-card p[data-v-b4291fa2]{margin:0;color:#6e6e73;font-size:15px;line-height:1.5}.glass-card[data-v-b4291fa2]{padding:clamp(24px,3vw,44px)}.btn[data-v-b4291fa2]{font-size:17px}.home .glass-btn[data-v-b4291fa2]{--gb-fg:#06c;--gb-bg:rgba(0,113,227,.12);--gb-bg-hover:rgba(0,113,227,.2);--gb-edge:rgba(0,113,227,.28);box-shadow:0 1px 2px rgba(0,0,0,.04)}.home .glass-btn[data-v-b4291fa2]:before{display:none}.home .glass-btn[data-v-b4291fa2]:hover:not(:disabled){--gb-edge:rgba(0,113,227,.4)}.home .glass-btn--ghost[data-v-b4291fa2]{--gb-fg:#1d1d1f;--gb-bg:hsla(0,0%,100%,.6);--gb-bg-hover:hsla(0,0%,100%,.85);--gb-edge:rgba(0,0,0,.12)}.home .glass-btn--ghost[data-v-b4291fa2]:hover:not(:disabled){--gb-edge:rgba(0,0,0,.2)}.home .glass-btn[data-v-b4291fa2]:focus-visible{outline-color:#0071e3}.home .glass-btn.glass-btn--white[data-v-b4291fa2]:not(.glass-btn--ghost){--gb-fg:#1d1d1f;--gb-bg:hsla(0,0%,100%,.16);--gb-bg-hover:hsla(0,0%,100%,.24);--gb-edge:hsla(0,0%,100%,.6);color:#1d1d1f;font-weight:600;text-shadow:0 0 10px hsla(0,0%,100%,.55),0 1px 1px hsla(0,0%,100%,.6);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.55),inset 0 0 0 1px hsla(0,0%,100%,.18),0 4px 16px rgba(0,0,0,.07);backdrop-filter:blur(28px) saturate(200%)}.home .glass-btn.glass-btn--white[data-v-b4291fa2]:hover:not(:disabled){--gb-edge:hsla(0,0%,100%,.75)}.home .glass-btn.glass-btn--white[data-v-b4291fa2]:focus-visible{outline-color:#1d1d1f}.feat-cta[data-v-b4291fa2]{text-align:center;margin-top:48px}.icp-footer[data-v-b4291fa2]{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;padding:24px;font-size:12px;color:#6e6e73;background:#fff;border-top:1px solid rgba(0,0,0,.08)}.icp-footer a[data-v-b4291fa2]{color:#6e6e73;text-decoration:none}.icp-footer a[data-v-b4291fa2]:hover{text-decoration:underline}.reveal[data-v-b4291fa2]{opacity:0;transform:translateY(32px);transition:opacity .9s ease,transform .9s ease}.reveal.in[data-v-b4291fa2]{opacity:1;transform:none}@media (max-width:768px){.feat-grid[data-v-b4291fa2]{grid-template-columns:1fr}.nav-links[data-v-b4291fa2]{gap:16px}}@media (prefers-reduced-motion:reduce){.reveal[data-v-b4291fa2]{opacity:1;transform:none;transition:none}.home[data-v-b4291fa2]{scroll-behavior:auto}}: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);--lark-accent:#9ccc65;--lark-accent-dark:#7cb342;--lark-accent-active:#558b2f;--lark-accent-border:hsla(88,50%,60%,.3);--lark-accent-border-hover:hsla(88,50%,60%,.5);--lark-accent-bg:hsla(88,50%,60%,.15);--gradient-lark:linear-gradient(135deg,var(--lark-accent),var(--lark-accent-dark));--lark-surface:linear-gradient(145deg,rgba(255,255,252,.98),rgba(245,255,240,.96));--lark-text-muted:#6b7c6f;--lark-text-hint:#888;--lark-label:#5a6a5a;--bobby-accent:#6ec4ff;--bobby-accent-dark:#4a90e2;--bobby-accent-active:#357abd;--bobby-accent-border:rgba(110,196,255,.35);--bobby-accent-border-hover:rgba(110,196,255,.55);--bobby-accent-bg:rgba(110,196,255,.14);--gradient-bobby:linear-gradient(135deg,var(--bobby-accent),var(--bobby-accent-dark));--bobby-surface:linear-gradient(145deg,hsla(0,0%,100%,.98),rgba(240,248,255,.96));--bobby-text-muted:#6b7c8f;--bobby-text-hint:#888;--bobby-label:#5a6a7a;--pixie-accent:#4dd0e1;--pixie-accent-dark:#26a6c4;--pixie-accent-active:#0f7f9c;--pixie-accent-border:rgba(77,208,225,.35);--pixie-accent-bg:rgba(77,208,225,.15);--pixie-surface:linear-gradient(145deg,hsla(0,0%,100%,.9),rgba(238,251,255,.84));--pixie-text-muted:#5f7480}.glass-btn{--gb-bg:hsla(0,0%,100%,.1);--gb-bg-hover:hsla(0,0%,100%,.17);--gb-fg:#fff;--gb-edge:hsla(0,0%,100%,.22);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;padding:.6rem 1.3rem;font:inherit;font-size:.9rem;font-weight:600;line-height:1.2;color:var(--gb-fg);cursor:pointer;border:1px solid var(--gb-edge);border-radius:999px;background:var(--gb-bg);box-shadow:0 2px 10px rgba(0,0,0,.08);backdrop-filter:blur(22px) saturate(180%);transition:transform .3s cubic-bezier(.3,.9,.3,1),background-color .25s ease,border-color .25s ease;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;isolation:isolate}.glass-btn:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,hsla(0,0%,100%,.75),hsla(0,0%,100%,0) 28%,hsla(0,0%,100%,0) 72%,hsla(0,0%,100%,.45));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:-1}.glass-btn:not(.glass-btn--ghost){--gb-bg:rgba(10,132,255,.2);--gb-bg-hover:rgba(10,132,255,.3)}.glass-btn--ghost{--gb-bg:hsla(0,0%,100%,.1)}.glass-btn:hover:not(:disabled){background:var(--gb-bg-hover);--gb-edge:hsla(0,0%,100%,.34)}.glass-btn:active:not(:disabled){transform:scale(.97);transition-duration:.12s}.glass-btn:focus-visible{outline:2px solid hsla(0,0%,100%,.85);outline-offset:2px}.glass-btn:disabled{opacity:.45;cursor:not-allowed}.glass-btn--on-light{--gb-fg:#12233a;--gb-bg:rgba(10,132,255,.14);--gb-bg-hover:rgba(10,132,255,.22);--gb-edge:rgba(10,132,255,.28)}.glass-btn--on-light:not(.glass-btn--ghost){--gb-bg:rgba(10,132,255,.14);--gb-bg-hover:rgba(10,132,255,.22)}.glass-btn--on-light.glass-btn--ghost{--gb-bg:hsla(0,0%,100%,.4);--gb-bg-hover:hsla(0,0%,100%,.55)}.glass-btn--on-light.glass-btn--active{--gb-bg:rgba(10,112,235,.9);--gb-fg:#fff}.glass-btn--sm{padding:.35rem .85rem;font-size:.8rem}.glass-btn--lg{padding:.75rem 1.6rem;font-size:1.05rem}.glass-btn--active{--gb-bg:rgba(10,132,255,.45);--gb-bg-hover:rgba(10,132,255,.55);--gb-edge:hsla(0,0%,100%,.4)}.glass-btn--icon{width:40px;height:40px;min-width:0;padding:0;gap:0;border-radius:50%;line-height:1;flex-shrink:0}.glass-btn--icon.glass-btn--sm{width:32px;height:32px;font-size:1.15rem}.glass-btn--icon.glass-btn--lg{width:52px;height:52px}.glass-btn--icon svg{display:block}.glass-btn--chip{border-radius:14px;flex-direction:column;align-items:flex-start;text-align:left;font-weight:500}.glass-btn--block{display:flex;width:100%}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.glass-btn{--gb-bg:rgba(60,66,84,.85)}.glass-btn:not(.glass-btn--ghost){--gb-bg:rgba(10,112,225,.9)}.glass-btn--on-light{--gb-bg:rgba(214,232,255,.95)}.glass-btn--on-light.glass-btn--ghost{--gb-bg:hsla(0,0%,100%,.95)}}@media (prefers-reduced-motion:reduce){.glass-btn{transition:background-color .01s}.glass-btn:active:not(:disabled){transform:none}}.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.jiamid-world.chat-container{height:100svh;min-height:100dvh}html.jiamid-world-page,html.jiamid-world-page #app,html.jiamid-world-page body,html:has(.jiamid-world.room-page.chat-container),html:has(.jiamid-world.room-page.chat-container) #app,html:has(.jiamid-world.room-page.chat-container) body{background:#082b56}.room-page.jiamid-world.chat-container .right-chat{width:100%;height:100%;min-height:0;gap:0;padding: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;height:100svh;overflow:hidden;padding:0;gap:0;overscroll-behavior:none}.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}}