.arcade-backdrop{z-index:60}.arcade-window{color:#f5f3ff;background:linear-gradient(#2d2159,#1b1436);border:3px solid #241a46;border-radius:16px;outline:none;flex-direction:column;width:min(960px,100%);height:min(86dvh,720px);display:flex;overflow:hidden;box-shadow:0 18px 48px #0000008c}.arcade-head{background:linear-gradient(#3b2a6b,#2a1f52);border-bottom:2px solid #f472b6;justify-content:space-between;align-items:center;gap:8px;padding:10px 10px 10px 16px;display:flex}.arcade-head h2{word-break:keep-all;margin:0;font-size:16px}.arcade-head-actions{align-items:center;gap:8px;display:flex}.arcade-mute{padding:6px 10px;font-size:13px}.arcade-close{width:40px;height:40px;font-size:18px}.arcade-stage{background:#0b1220;flex:1;min-height:0;position:relative}.arcade-frame{border:0;width:100%;height:100%;display:block}.arcade-frame[data-blocked=true]{visibility:hidden}.arcade-notice,.arcade-fallback{text-align:center;word-break:keep-all;color:#cbd5e1;flex-direction:column;justify-content:center;align-items:center;gap:10px;margin:0;padding:16px;display:flex;position:absolute;inset:0}.arcade-fallback p{color:#f5f3ff;margin:0;font-size:16px}.arcade-fallback-host{color:#94a3b8!important;font-size:13px!important}.arcade-fallback .btn{margin-top:4px;text-decoration:none}@media (max-width:899px){.modal-backdrop.arcade-backdrop{padding:0}.arcade-window{border:0;border-radius:0;width:100%;height:100%;max-height:none}.arcade-head{padding:max(8px, var(--safe-top)) max(8px, var(--safe-right)) 8px max(12px, var(--safe-left))}.arcade-close{width:48px;height:48px;font-size:22px}.arcade-stage{padding-bottom:var(--safe-bottom)}}.avatar-preview{vertical-align:middle;flex:none;line-height:0;display:inline-block;position:relative}.avatar-preview canvas{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges}.avatar-preview[data-dim=true]{opacity:.5}.avatar-preview-skeleton{background:#1e1b4b1f;border-radius:22%}@media (prefers-color-scheme:dark){.avatar-preview-skeleton{background:#ffffff1a}}.chat-panel{flex-direction:column;height:100%;min-height:0;display:flex}.chat-tabs{border-bottom:1px solid var(--surface-2);flex:none;gap:4px;padding:4px 8px 0;display:flex}.chat-tab{min-height:var(--touch);color:var(--text-dim);cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:0 14px;font-size:14px;display:inline-flex;position:relative}.chat-tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent);font-weight:700}.chat-tab:disabled{opacity:.5;cursor:default}.chat-badge{background:var(--danger);color:#fff;text-align:center;border-radius:999px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px}.chat-list-wrap{flex:auto;min-height:0;display:flex;position:relative}.chat-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;min-height:0;padding:8px 12px;display:flex;overflow-y:auto}.chat-list>:first-child{margin-top:auto}.chat-dim{color:var(--text-dim)}.chat-empty{text-align:center;margin:24px 0;font-size:13px}.chat-empty .btn{margin-top:8px}.chat-older{justify-content:center;align-items:center;min-height:32px;font-size:12px;display:flex}.chat-link-btn{min-height:32px;color:var(--text-dim);cursor:pointer;background:0 0;border:0;padding:0 10px;text-decoration:underline}.chat-day{color:var(--text-dim);align-items:center;gap:8px;margin:10px 0 4px;font-size:11px;display:flex}.chat-day:before,.chat-day:after{content:"";background:var(--surface-2);flex:1;height:1px}.chat-msg{border-left:2px solid #0000;border-radius:4px;margin-top:8px;padding:2px 8px}.chat-msg[data-grouped=true]{margin-top:1px}.chat-msg[data-mine=true]{border-left-color:var(--accent);background:#fbbf240f}.chat-msg-head{align-items:baseline;gap:6px;min-width:0;display:flex}.chat-nick{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.chat-msg[data-mine=true] .chat-nick{color:var(--accent)}.chat-guest-badge{border:1px solid var(--border,#7f7f7f66);color:var(--text-dim);white-space:nowrap;border-radius:999px;flex:none;padding:0 5px;font-size:10px;font-weight:600;line-height:16px}.chat-ov-line .chat-guest-badge{vertical-align:1px;margin-right:6px;display:inline-block}.chat-composer-note{margin:0 0 6px;font-size:12px}.chat-time{color:var(--text-dim);flex:none;font-size:11px}.chat-text{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;-webkit-user-select:text;user-select:text;margin:1px 0 0;font-size:14px;line-height:1.45}.chat-text a{color:var(--text-dim);text-decoration:underline}.chat-jump{background:var(--accent);min-height:36px;color:var(--bg);cursor:pointer;border:0;border-radius:999px;padding:0 14px;font-size:13px;font-weight:700;position:absolute;bottom:8px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000059}.chat-composer{border-top:1px solid var(--surface-2);flex:none;padding:6px 8px 8px}.chat-input-row{align-items:flex-end;gap:6px;display:flex}.chat-input{min-width:0;min-height:var(--touch);border:1px solid var(--surface-2);background:var(--bg);max-height:120px;color:var(--text);resize:none;border-radius:10px;flex:1;padding:11px 12px;font-size:16px;line-height:1.35;overflow-y:auto}.chat-input:focus{outline:2px solid var(--accent);outline-offset:-1px}.chat-send{flex:none;padding:0 14px}.chat-error{color:var(--danger);margin:0 0 6px;font-size:12px}.chat-counter{color:var(--text-dim);text-align:right;margin-top:2px;font-size:11px;display:block}.chat-counter[data-over=true]{color:var(--danger)}@media (min-width:900px){.chat-input{font-size:14px}}.chat-dm-list{overscroll-behavior:contain;flex:auto;min-height:0;padding:4px 8px 12px;overflow-y:auto}.chat-dm-heading{color:var(--text-dim);margin:10px 4px 6px;font-size:12px;font-weight:700}.chat-dm-note{margin:4px 4px 8px;font-size:13px}.chat-dm-online,.chat-dm-convs{margin:0;padding:0;list-style:none}.chat-dm-online{flex-wrap:wrap;gap:6px;display:flex}.chat-dm-chip{min-height:var(--touch);border:1px solid var(--surface-2);background:var(--bg);max-width:100%;color:var(--text);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;touch-action:manipulation;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:13px;display:inline-flex;overflow:hidden}.chat-dm-dot{vertical-align:middle;background:#4ade80;border-radius:50%;flex:none;width:8px;height:8px;margin-right:6px;display:inline-block}.chat-dm-custom{color:var(--text-dim);font-size:12px}.chat-dm-chip .chat-dm-dot{margin-right:0}.chat-dm-conv{width:100%;min-height:56px;color:var(--text);text-align:left;cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:8px;flex-direction:column;gap:2px;padding:8px;display:flex}.chat-dm-conv:hover,.chat-dm-conv:focus-visible{background:var(--surface-2)}.chat-dm-conv-top,.chat-dm-conv-bottom{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.chat-dm-preview{min-width:0;color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.chat-dm-conv[data-unread=true] .chat-dm-preview{color:var(--text);font-weight:700}.chat-dm-header{border-bottom:1px solid var(--surface-2);flex:none;align-items:center;gap:6px;min-width:0;padding:2px 8px;display:flex}.chat-dm-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.chat-dm-offline{flex:none;margin-left:auto;font-size:11px}.chat-ov{--chat-ov-bottom:12px;z-index:4;left:max(12px, var(--safe-left));bottom:var(--chat-ov-bottom);pointer-events:none;flex-direction:column;align-items:flex-start;gap:6px;width:clamp(240px,100% - 280px,400px);display:flex;position:absolute}@media (pointer:coarse){.chat-ov{--chat-ov-bottom:152px;width:min(320px,100% - 24px)}.world-area:has(.focus-tip) .chat-ov:not([data-mode=expanded]){--chat-ov-bottom:240px}}.chat-ov-feed{flex-direction:column;align-items:flex-start;gap:2px;max-width:100%;margin:0;padding:0;list-style:none;display:flex}.chat-ov-feed li{max-width:100%}.chat-ov-line{-webkit-line-clamp:1;max-width:100%;color:var(--text);text-align:left;text-shadow:0 1px 2px #000000b3;overflow-wrap:anywhere;opacity:.72;cursor:pointer;pointer-events:auto;touch-action:manipulation;background:#0f0d286b;border:0;border-radius:8px;-webkit-box-orient:vertical;padding:2px 8px;font-size:12px;line-height:1.3;transition:opacity .25s,background-color .25s,font-size .2s;display:-webkit-box;overflow:hidden}.chat-ov:not([data-mode=peek]) .chat-ov-line:hover{opacity:.95}.chat-ov-channel{color:var(--text-dim);margin-right:6px;font-size:.92em}.chat-ov-nick{color:var(--accent);margin-right:6px;font-weight:700}.chat-ov[data-mode=peek] .chat-ov-line{-webkit-line-clamp:2;opacity:1;background:#0f0d28c7;font-size:13px;box-shadow:inset 0 0 0 1px #a5b4fc2e}.chat-ov[data-mode=peek] .chat-ov-feed li:last-child .chat-ov-line{box-shadow:inset 0 0 0 1px #fbbf2473}.chat-ov-pill{width:100%;min-height:34px;color:var(--text-dim);text-align:left;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:text;pointer-events:auto;touch-action:manipulation;background:#0f0d288c;border:1px solid #a5b4fc38;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:13px;display:flex}.chat-ov-pill:hover{color:var(--text);background:#0f0d28b8}.chat-ov-pill:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-ov-pill-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.chat-ov-pill .chat-shell-badge{position:static}@media (pointer:coarse){.chat-ov-pill{width:auto;min-height:var(--touch);cursor:pointer;padding:0 14px}}.chat-ov[data-mode=expanded]{height:var(--chat-ov-h,max(190px, min(280px, calc(100% - var(--chat-ov-top,56px) - var(--chat-ov-bottom)))));pointer-events:auto}.chat-ov-panel{text-shadow:0 1px 2px #000000d9;background:#0f0d2885;border:1px solid #a5b4fc38;border-radius:14px;flex-direction:column;flex:1;align-self:stretch;min-height:0;animation:.16s ease-out chat-ov-open;display:flex;position:relative;overflow:hidden;box-shadow:0 6px 20px #0000004d}.chat-ov-panel[hidden]{display:none}.chat-ov-panel>.chat-panel{flex:1}@keyframes chat-ov-open{0%{opacity:0;transform:translateY(8px)}}.chat-ov-close{z-index:3;position:absolute;top:0;right:0}.chat-ov-grip{z-index:2;cursor:ns-resize;touch-action:none;justify-content:center;height:16px;padding-top:5px;display:flex;position:absolute;top:0;left:0;right:0}.chat-ov-grip-bar{background:#a5b4fc73;border-radius:999px;width:44px;height:4px;transition:background-color .15s;box-shadow:0 1px 2px #00000080}.chat-ov-grip:hover .chat-ov-grip-bar,.chat-ov[data-resizing=true] .chat-ov-grip-bar{background:#a5b4fcd9}.chat-ov-grip:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:14px 14px 0 0}@media (pointer:coarse){.chat-ov-grip{height:20px;padding-top:7px}.chat-ov-grip-bar{width:52px}}.chat-ov[data-resizing=true],.chat-ov[data-resizing=true] *{cursor:ns-resize;-webkit-user-select:none;user-select:none}.chat-ov .chat-tabs{padding-top:8px;padding-right:var(--touch);border-bottom-color:#a5b4fc29}.chat-ov .chat-composer{border-top-color:#a5b4fc29}.chat-ov .chat-input{text-shadow:none;background:#0a081e9e}.chat-ov .chat-list{padding-block:4px}.chat-ov .chat-msg{margin-top:4px}.chat-ov .chat-msg[data-grouped=true]{margin-top:1px}.chat-ov .chat-day:before,.chat-ov .chat-day:after{background:#a5b4fc29}@container world (width<=600px){.chat-ov[data-mode=expanded]{--chat-ov-bottom:8px;left:max(8px, var(--safe-left));width:auto;right:max(8px, var(--safe-right));height:var(--chat-ov-h,max(190px, min(38%, calc(100% - var(--chat-ov-top,56px) - 8px))))}}@container world (height<=480px){.chat-ov[data-mode=expanded]{--chat-ov-bottom:8px;height:var(--chat-ov-h,max(160px, calc(100% - var(--chat-ov-top,56px) - 8px)))}}@container world (height<=420px){@media (pointer:coarse){.chat-ov{--chat-ov-bottom:124px}}.chat-ov-feed{display:none}}.chat-shell-badge{position:absolute;top:4px;left:calc(50% + 6px)}.game-panel{flex-direction:column;gap:10px;padding:10px 12px 16px;display:flex}.game-card{border-radius:var(--radius);background:var(--surface-2);padding:12px}.game-guest{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.game-guest-text{flex:180px;margin:0;font-size:13px;line-height:1.5}.game-card-title{margin:0 0 6px;font-size:15px}.game-muted{color:var(--text-dim);margin:0}.game-retry{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.game-small{font-size:12px}.game-row{align-items:center;gap:10px;display:flex}.game-grow{flex:1;min-width:0}.game-bar{background:var(--surface);border-radius:999px;height:10px;margin:6px 0 4px;position:relative;overflow:hidden}.game-bar>span{border-radius:inherit;height:100%;transition:width .4s ease-out;display:block}.game-bar-xp>span{background:linear-gradient(90deg, #818cf8, var(--accent))}.game-bar-hp{height:14px}.game-bar-hp>span{background:linear-gradient(90deg,#ef4444,#f97316)}.game-raid{background:linear-gradient(160deg, var(--surface-3), var(--surface-2));box-shadow:inset 0 0 0 1px #fbbf2440}.game-raid[data-defeated=true]{box-shadow:inset 0 0 0 1px var(--success)}.game-raid-head{align-items:center;gap:10px;display:flex}.game-raid-boss{font-size:40px;line-height:1}.game-raid-heading{min-width:0}.game-raid-stats{margin:2px 0 6px;font-size:14px}.game-chips{flex-wrap:wrap;gap:4px;margin:6px 0 0;padding:0;list-style:none;display:flex}.game-chip{background:var(--surface);border-radius:999px;padding:3px 8px;font-size:12px}.game-level{background:var(--accent);min-width:52px;height:52px;color:var(--bg);border-radius:14px;place-items:center;font-weight:800;display:grid}.game-title-badge{color:var(--accent);vertical-align:middle;background:#fbbf242e;border-radius:999px;margin-left:4px;padding:1px 8px;font-size:12px;font-weight:600}.game-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0 6px;display:grid}.game-stats div{background:var(--surface);border-radius:8px;padding:6px 8px}.game-stats dt{color:var(--text-dim);font-size:11px}.game-stats dd{margin:2px 0 0;font-size:14px;font-weight:600}.game-session-clock{font-variant-numeric:tabular-nums;font-size:26px;font-weight:800}.game-bonus{color:var(--success);background:#4ade802e;border-radius:999px;margin-top:2px;padding:1px 8px;font-size:12px;display:inline-block}.game-session strong{display:block}.game-goal{flex-wrap:wrap;margin-bottom:6px}.game-goal .btn:not(.btn-primary){min-width:var(--touch);padding:0;font-size:20px}.game-goal-value{text-align:center;font-variant-numeric:tabular-nums;min-width:64px;font-size:18px;font-weight:700}.game-goal .btn-primary{margin-left:auto}.game-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.game-list-item{min-height:var(--touch);background:var(--surface);border-radius:8px;align-items:center;gap:8px;padding:6px 8px;display:flex}.game-list-item[data-locked=true]{opacity:.6}.game-list-item p{margin-top:2px}.game-slot{margin-top:10px}.game-slot-label{color:var(--text-dim);margin-bottom:4px;font-size:12px;display:block}.game-swatches,.game-items{flex-wrap:wrap;gap:6px;display:flex}.game-swatch{width:var(--touch);height:var(--touch);cursor:pointer;touch-action:manipulation;border:2px solid #0000;border-radius:50%}.game-swatch[aria-pressed=true]{border-color:var(--text);box-shadow:0 0 0 2px var(--accent)}.game-item{background:var(--surface);min-width:64px;min-height:56px;color:var(--text);cursor:pointer;touch-action:manipulation;border:1px solid #0000;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 6px;font-size:22px;display:flex}.game-item[aria-pressed=true]{border-color:var(--accent);background:#fbbf241f}.game-item[data-locked=true]{cursor:default;border-style:dashed;border-color:#a5b4fc66}.game-item-name{color:var(--text-dim);font-size:11px}.game-item-lock{color:var(--text);white-space:nowrap;align-items:center;gap:3px;font-size:10px;line-height:1.1;display:inline-flex}.game-swatch:focus-visible,.game-item:focus-visible,.game-toast:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.game-swatch:disabled,.game-item:disabled:not([data-locked=true]){cursor:progress}.game-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.game-avatar-head{min-height:24px}.game-avatar-head .game-card-title{margin:0}.game-avatar-status{margin-left:auto}.game-avatar-editor[data-variant=embedded] .game-slot:first-of-type{margin-top:0}.game-avatar-editor[data-variant=embedded] .game-items,.game-avatar-editor[data-variant=embedded] .game-swatches{scrollbar-width:thin;flex-wrap:nowrap;margin:0 -4px;padding:4px;overflow-x:auto}.game-avatar-editor[data-variant=embedded] .game-item,.game-avatar-editor[data-variant=embedded] .game-swatch{flex:none}.game-part{min-width:64px;min-height:64px}.game-coin-note{margin-top:4px;font-size:11px}.game-swatch{position:relative}.game-swatch[data-locked=true]{opacity:.55;cursor:default}.game-swatch-lock{font-size:14px;line-height:1;position:absolute;bottom:-4px;right:-4px}.game-look{border-radius:8px}.game-avatar-atlas-error{margin:6px 0 0}.game-hud{white-space:nowrap;align-items:center;gap:8px;min-width:0;margin-left:8px;font-size:13px;display:flex}.game-hud>span{background:var(--surface-2);border-radius:999px;align-items:center;gap:6px;padding:3px 8px;display:inline-flex}.game-hud-level{font-weight:700}.game-hud-xp{background:var(--surface);border-radius:999px;width:40px;height:6px;position:relative;overflow:hidden}.game-hud-xp>span{background:var(--accent);height:100%;display:block}.game-hud-session{font-variant-numeric:tabular-nums;color:var(--accent)}.game-hud-session[data-paused=true]{color:var(--text-dim)}@media (max-width:480px){.game-hud-raid{display:none!important}}@media (max-width:360px){.game-hud-xp{display:none}}.game-toasts{top:56px;right:max(8px, var(--safe-right));z-index:6;pointer-events:none;flex-direction:column;align-items:flex-end;gap:6px;width:min(320px,100% - 16px);margin:0;padding:0;list-style:none;display:flex;position:absolute}.game-toasts li{max-width:100%}.game-toast{max-width:100%;min-height:var(--touch);background:var(--overlay);color:var(--text);text-align:left;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;pointer-events:auto;border:0;border-radius:14px;align-items:center;gap:10px;padding:8px 12px;animation:.25s ease-out game-toast-in;display:flex;box-shadow:inset 0 0 0 1px #fbbf2459}.game-toast[data-kind=levelUp],.game-toast[data-kind=raidDefeated]{box-shadow:inset 0 0 0 2px var(--accent)}.game-toast-icon{font-size:24px}.game-toast-text{flex-direction:column;min-width:0;font-size:13px;display:flex}.game-toast-body{color:var(--text-dim);font-size:12px}@keyframes game-toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.game-toast,.game-bar>span{transition:none;animation:none}}.game-coin{vertical-align:-.12em;flex:none;display:inline-block}.game-coin-amount{font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.game-hud-coins{color:var(--accent);font-weight:700}.game-coin-event{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent);border-radius:8px;margin:0 0 8px;padding:6px 10px;font-weight:600}.game-tabs{z-index:1;background:var(--surface-2);border-radius:12px;gap:4px;margin-bottom:12px;padding:4px;display:flex;position:sticky;top:0}.game-tab{min-height:44px;color:var(--text-dim);background:0 0;border:0;border-radius:9px;flex:1;font-weight:700}.game-tab[aria-selected=true]{background:var(--surface);color:var(--text)}.game-quest-head{align-items:baseline}.game-quest-list{margin:8px 0 0;padding:0;list-style:none}.game-quest{border-top:1px solid var(--surface);align-items:center;gap:10px;padding:8px 0;display:flex}.game-quest:first-child{border-top:0}.game-quest[data-completed=true]{opacity:.55}.game-quest-main{flex:1;min-width:0}.game-quest-name{font-weight:600;display:block}.game-quest-check{color:var(--success);margin-right:4px}.game-quest-hint{display:block}.game-quest-side{flex:none;grid-template-columns:1fr;justify-items:end;gap:2px;width:108px;display:grid}.game-quest-bar{width:100%;height:8px;margin:0}.game-quest-bar>span{background:linear-gradient(90deg, #34d399, var(--accent))}.game-quest-progress{font-variant-numeric:tabular-nums;color:var(--text-dim)}.game-quest-pending{margin-top:-4px}.game-history-toggle{width:100%;min-height:44px;color:var(--text);text-align:left;background:0 0;font-weight:600}.game-history{margin:0;padding:0;list-style:none}.game-history>li{border-top:1px solid var(--surface);align-items:center;gap:8px;padding:5px 0;font-size:13px;display:flex}.game-history-when{flex:none;width:40px}.game-history-what{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}@media (max-width:380px){.game-quest-side{width:92px}}@media (prefers-reduced-motion:reduce){.game-quest-bar>span{transition:none}}.game-report{padding:0}.game-report[data-new=true]{background:linear-gradient(135deg, var(--surface-3), var(--surface-2));box-shadow:inset 0 0 0 2px var(--accent)}.game-report>.game-muted{padding:12px}.game-report-open{width:100%;min-height:var(--touch);border-radius:inherit;color:inherit;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;background:0 0;border:0;align-items:center;gap:10px;padding:12px;display:flex}.game-report-open .game-grow{flex-direction:column;gap:2px;display:flex}.game-report-icon{font-size:26px}.game-report-title{align-items:center;gap:6px;font-size:15px;font-weight:700;display:flex}.game-report-new{background:var(--accent);color:#1e1b4b;border-radius:999px;padding:1px 6px;font-size:11px;font-weight:800}.game-report-line{font-size:13px}.game-report-chevron{color:var(--text-dim);font-size:22px}.modal-backdrop.game-report-backdrop{z-index:60}.game-report-dialog{background:var(--surface);word-break:keep-all;border-radius:16px;outline:none;flex-direction:column;width:min(460px,100%);max-height:min(760px,100dvh - 32px);display:flex;box-shadow:0 16px 48px #00000080}.game-report-head{justify-content:space-between;align-items:center;padding:6px 6px 0 18px;display:flex}.game-report-head h2{margin:0;font-size:18px}.game-report-weeks{border-bottom:1px solid var(--surface-2);align-items:center;gap:8px;padding:4px 16px 10px;display:flex}.game-report-weeks .btn{min-width:var(--touch);font-size:18px}.game-report-weeks-label{text-align:center;flex:1;font-size:14px;font-weight:700}.game-report-body{overscroll-behavior:contain;flex-direction:column;gap:12px;min-height:0;padding:12px 16px 18px;display:flex;overflow:auto}.game-report-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.game-report-stats>div{background:var(--surface-2);border-radius:10px;padding:10px}.game-report-stats dt{color:var(--text-dim);font-size:12px}.game-report-stats dd{flex-direction:column;gap:2px;margin:2px 0 0;display:flex}.game-report-stats strong{font-size:18px}.game-report-delta{color:var(--text-dim);font-size:12px}.game-report-delta[data-dir=up]{color:var(--success)}.game-report-delta[data-dir=down]{color:var(--danger)}.game-report-section{border-radius:var(--radius);background:var(--surface-2);padding:12px}.game-report-section>p{margin:0}.game-report-bars{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:0 0 8px;padding:0;list-style:none;display:grid}.game-report-bars li{flex-direction:column;align-items:center;gap:4px;display:flex}.game-report-bar-track{background:var(--surface);border-radius:6px;align-items:flex-end;width:100%;height:96px;display:flex;overflow:hidden}.game-report-bar{background:var(--text-dim);border-radius:6px 6px 0 0;width:100%;min-height:2px;transition:height .3s ease-out;display:block}.game-report-bars li[data-attended=true] .game-report-bar{background:var(--accent)}.game-report-bar-label{color:var(--text-dim);font-size:12px}.game-report-rank{flex-direction:column;gap:4px;margin:0 0 6px;padding:0;list-style:none;display:flex}.game-report-rank li{border-radius:8px;align-items:center;gap:8px;padding:6px 8px;font-size:14px;display:flex}.game-report-rank li[data-me=true]{background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--accent)}.game-report-rank-no{text-align:center;min-width:22px;font-weight:800}.game-report-rank-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-report-error{flex-direction:column;gap:8px;display:flex}@media (max-width:599px){.modal-backdrop.game-report-backdrop{place-items:end stretch;padding:0}.game-report-dialog{width:100%;max-height:92dvh;padding-bottom:var(--safe-bottom);border-radius:16px 16px 0 0}}.goals-backdrop{z-index:60}.goals-settings-backdrop{z-index:61}.goals-board{word-break:keep-all;--marker-ink:#1f2a5a;--marker-blue:#2356c7;--marker-green:#13804a;--marker-red:#c2410c;--marker-dim:#64748b;width:min(560px,100%);max-height:min(86dvh,760px);color:var(--marker-ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background-color:#fbfcfd;background-image:linear-gradient(115deg,#fff0 55%,#ffffffb3 62%,#fff0 70%),linear-gradient(#eef2f7 1px,#0000 1px);background-size:100% 100%,100% 28px;border:7px solid #a3adbb;border-radius:6px;outline:none;flex-direction:column;padding:14px 14px 0;display:flex;position:relative;box-shadow:inset 0 0 0 1px #d5dbe3,0 0 0 2px #6b7686,0 18px 48px #0000008c}.goals-magnet{border-radius:50%;width:16px;height:16px;position:absolute;top:-12px;box-shadow:inset -2px -2px #00000038,0 2px 2px #0000004d}.goals-magnet-l{background:#ef4444;left:28px}.goals-magnet-r{background:#3b82f6;right:28px}.goals-board-head{border-bottom:2px dashed #c9d2de;justify-content:space-between;align-items:flex-start;gap:8px;padding-bottom:8px;display:flex}.goals-board-head h2{letter-spacing:-.02em;color:var(--marker-blue);margin:0;font-size:20px;font-weight:800}.goals-board-sub{color:var(--marker-dim);margin:2px 0 0;font-size:13px;font-weight:600}.goals-board .icon-btn,.goals-close{color:var(--marker-ink);background:0 0}.goals-close:hover{background:#e8edf3}.goals-list{overscroll-behavior:contain;flex:1;min-height:0;margin:0;padding:4px 0;list-style:none;overflow-y:auto}.goals-empty{text-align:center;color:var(--marker-dim);padding:24px 8px;font-weight:600}.goals-retry{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.goals-row{border-bottom:1px solid #e3e8ef;gap:10px;padding:9px 2px;display:flex}.goals-row[data-self=true]{background:#facc1538;border-radius:8px;margin:0 -6px;padding-inline:8px}.goals-rank{border:2px solid var(--marker-blue);width:28px;height:28px;color:var(--marker-blue);border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:800;display:grid}.goals-row[data-attended=false] .goals-attend{color:var(--marker-dim)}.goals-row[data-attended=false] .goals-rank{color:var(--marker-dim);border-color:#0000}.goals-main{flex:1;min-width:0}.goals-line1{align-items:center;gap:6px;min-height:28px;display:flex}.goals-dot{background:#cbd5e1;border-radius:50%;flex:none;width:9px;height:9px}.goals-dot[data-on=true]{background:#22c55e;box-shadow:0 0 0 3px #22c55e40}.goals-dot[data-background=true]{background:#f59e0b;box-shadow:0 0 0 3px #f59e0b40}.goals-background{color:var(--marker-dim);white-space:nowrap;flex:none;font-size:11px;font-weight:700;line-height:18px}.goals-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:16px;font-weight:800;overflow:hidden}.goals-me{color:#fff;background:var(--marker-blue);border-radius:999px;flex:none;padding:0 6px;font-size:11px;font-weight:700;line-height:18px}.goals-attend{color:var(--marker-green);font-variant-numeric:tabular-nums;flex:none;margin-left:auto;font-size:14px;font-weight:700}.goals-row[data-online=false] .goals-name{color:#475569}.goals-line2{color:#475569;font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.goals-chips{flex-wrap:wrap;gap:4px 6px;margin-top:4px;display:flex}.goals-chip{white-space:nowrap;color:var(--marker-dim);border:1.5px solid;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700;line-height:18px}.goals-chip[data-status=achieved]{color:var(--marker-green);background:#13804a14}.goals-chip[data-status=pending]{color:var(--marker-blue)}.goals-chip[data-status=missed]{color:var(--marker-red);border-style:dashed}.goals-chip[data-status=rest]{color:#7c3aed}.goals-legend{color:var(--marker-dim);margin:6px 0 0;font-size:11.5px;font-weight:600}.goals-tray{background:linear-gradient(#b7c0cc,#a3adbb);border-top:5px solid #8d97a5;justify-content:flex-end;margin:8px -14px 0;padding:8px 12px;display:flex}.goals-tray-btn{color:#fff;background:var(--marker-blue)}.goals-tray-btn:hover{background:#1d47a6}.goals-settings{word-break:keep-all;background:var(--surface);border-radius:16px;width:min(420px,100%);max-height:min(88dvh,720px);padding:16px;overflow-y:auto;box-shadow:0 16px 48px #00000080}.goals-settings-head{justify-content:space-between;align-items:center;margin-right:-8px;display:flex}.goals-settings-head h2{margin:0;font-size:18px}.goals-hint{color:var(--text-dim);margin:4px 0 10px;font-size:13px;line-height:1.5}.goals-field{border-bottom:1px solid var(--surface-2);padding:12px 0}.goals-field-head{min-height:var(--touch);justify-content:space-between;align-items:center;gap:8px;font-weight:700;display:flex}.goals-field-title{margin-bottom:8px;font-weight:700;display:block}.goals-field-title small{color:var(--text-dim);font-weight:500}.goals-off{color:var(--text-dim);margin:0;font-size:13px}.goals-time{align-items:center;gap:10px;display:flex}.goals-time input{min-height:var(--touch);border:1px solid var(--surface-3);font:inherit;color:var(--text);background:var(--bg);font-variant-numeric:tabular-nums;border-radius:10px;padding:0 12px;font-size:20px;font-weight:700}.goals-stepper{grid-template-columns:var(--touch) 1fr var(--touch);align-items:center;gap:10px;display:grid}.goals-stepper .btn{padding:0;font-size:22px}.goals-stepper output{text-align:center;font-size:20px;font-weight:700}.goals-days{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.goals-day{min-height:var(--touch);border:1px solid var(--surface-3);font:inherit;color:var(--text);background:var(--bg);cursor:pointer;border-radius:10px;padding:0;font-weight:700}.goals-day[data-weekend=true]{color:#fca5a5}.goals-day[aria-pressed=true]{color:#1e1b4b;background:#c4b5fd;border-color:#a78bfa}.goals-switch{width:56px;height:var(--touch);cursor:pointer;background:0 0;border:0;flex:none;padding:0;position:relative}.goals-switch:before{content:"";background:var(--surface-3);border-radius:999px;height:28px;transition:background .15s;position:absolute;top:50%;left:2px;right:2px;transform:translateY(-50%)}.goals-switch span{background:#fff;border-radius:50%;width:22px;height:22px;transition:left .15s;position:absolute;top:50%;left:5px;transform:translateY(-50%)}.goals-switch[aria-checked=true]:before{background:var(--success)}.goals-switch[aria-checked=true] span{left:29px}.goals-saved{color:var(--success);margin:10px 0 0;font-size:13px}.goals-save{width:100%;margin-top:12px}.goals-profile{word-break:keep-all;color:var(--text-dim);flex-direction:column;gap:1px;margin:0;font-size:12px;line-height:1.45;display:flex}.goals-entry-line{margin:0 0 8px;font-size:13px;line-height:1.5}.goals-reward{gap:4px;margin:0 0 8px;padding:0;font-size:12px;list-style:none;display:grid}.goals-reward-item{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.goals-reward-label{overflow-wrap:anywhere;min-width:0}.goals-reward-item[data-paid=true]{opacity:.7}.goals-reward-coins{flex:none}.goals-reward-hint,.goals-reward-note{color:var(--text-dim)}.goals-entry-actions{flex-wrap:wrap;gap:8px;display:flex}.goals-entry-actions .btn{flex:1}.jukebox-backdrop{z-index:60}.jukebox-panel{--jb-wood:#5a260c;--jb-wood-dark:#2a1208;--jb-neon-pink:#f472b6;--jb-neon-yellow:#facc15;--jb-neon-cyan:#22d3ee;--jb-glass:#16143a;border:4px solid var(--jb-wood-dark);background:repeating-linear-gradient(90deg, #0000 0 22px, #0000001a 22px 24px), linear-gradient(180deg, #7a3413, var(--jb-wood) 40%, #461d09);width:min(520px,100%);max-height:min(88dvh,780px);box-shadow:inset 0 0 0 3px var(--jb-neon-cyan), inset 0 0 0 6px var(--jb-wood-dark), inset 0 6px 0 6px var(--jb-neon-pink), 0 0 24px #22d3ee40, 0 18px 48px #0000008c;color:#fff7ed;word-break:keep-all;border-radius:28px 28px 14px 14px;outline:none;flex-direction:column;display:flex;position:relative;overflow:hidden}.jukebox-head{justify-content:space-between;align-items:flex-start;gap:8px;padding:18px 12px 8px 20px;display:flex}.jukebox-head h2{letter-spacing:.02em;color:var(--jb-neon-yellow);text-shadow:0 0 6px #facc158c, 2px 2px 0 var(--jb-wood-dark);margin:0;font-size:19px}.jukebox-sub{color:#fed7aa;margin:2px 0 0;font-size:13px}.jukebox-close{color:#fff7ed}.jukebox-scroll{flex-direction:column;flex:1;gap:12px;min-height:0;padding:4px 14px 16px;display:flex;overflow:auto}.jukebox-scroll h3{color:var(--jb-neon-cyan);margin:0 0 6px;font-size:14px}.jukebox-now{background:var(--jb-glass);border-radius:12px;grid-template-columns:148px minmax(0,1fr);gap:12px;padding:10px;display:grid;box-shadow:inset 0 0 0 2px #312e81,inset 0 0 18px #6366f14d}.jukebox-now[data-empty=true]{grid-template-columns:48px minmax(0,1fr);align-items:center}.jukebox-record{background:radial-gradient(circle,#dc2626 0 6px,#111 7px 10px,#262626 11px 12px,#0b0b0b 13px);border-radius:50%;width:48px;height:48px}.jukebox-now-empty{color:#c7d2fe;margin:0}.jukebox-now-art{align-self:start;position:relative}.jukebox-now-art img{aspect-ratio:16/9;object-fit:cover;background:#000;border-radius:6px;width:148px;height:auto;display:block}.jukebox-now-badge{color:var(--jb-neon-yellow);background:#000000b3;border-radius:999px;padding:1px 6px;font-size:11px;position:absolute;bottom:4px;left:4px}.jukebox-now-info{flex-direction:column;gap:4px;min-width:0;display:flex}.jukebox-now-title{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15px;line-height:1.3;display:-webkit-box;overflow:hidden}.jukebox-now-by,.jukebox-now-time{color:#c7d2fe;font-variant-numeric:tabular-nums;font-size:12px}.jukebox-progress{background:#312e81;border-radius:3px;height:6px;position:relative;overflow:hidden}.jukebox-progress span{background:linear-gradient(90deg, var(--jb-neon-pink,#f472b6), var(--jb-neon-yellow,#facc15));transition:width .9s linear;position:absolute;inset:0 auto 0 0}.jukebox-now-actions{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}@media (max-width:440px){.jukebox-now{grid-template-columns:1fr}.jukebox-now-art img{width:100%}}.jukebox-add{flex-direction:column;gap:6px;display:flex}.jukebox-add-label{color:var(--jb-neon-cyan);font-size:13px;font-weight:700}.jukebox-add-row{gap:6px;display:flex}.jukebox-add-row input{min-width:0;min-height:var(--touch);border:2px solid var(--jb-wood-dark);color:#1c1917;background:#fff7ed;border-radius:10px;flex:1;padding:0 12px;font-size:16px}.jukebox-add-row input:focus{outline:2px solid var(--jb-neon-yellow);outline-offset:0}.jukebox-add-ok,.jukebox-error{margin:0;font-size:13px;line-height:1.4}.jukebox-add-ok{color:#bbf7d0}.jukebox-error{color:#fecaca}.jukebox-count{color:#fed7aa;font-size:12px;font-weight:400}.jukebox-empty{color:#fed7aa;margin:0;font-size:13px}.jukebox-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.jukebox-row{background:#00000040;border-radius:10px;grid-template-columns:22px 64px minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 0 4px 6px;display:grid}.jukebox-row-no{text-align:center;color:var(--jb-neon-yellow);font-variant-numeric:tabular-nums;font-size:12px}.jukebox-row-thumb{object-fit:cover;background:#000;border-radius:4px;width:64px;height:36px;display:block}.jukebox-row-main{flex-direction:column;min-width:0;display:flex}.jukebox-row-title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.jukebox-row-by{color:#fed7aa;font-size:12px}.jukebox-row-remove{color:#fecaca;font-size:15px}.jukebox-mine{border-top:2px dashed #fed7aa4d;padding-top:10px}.jukebox-prefs{flex-wrap:wrap;align-items:center;gap:8px 16px;margin:4px 0 8px;display:flex}.jukebox-switch{min-height:var(--touch);color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:inline-flex}.jukebox-switch-track{background:#57534e;border-radius:999px;width:40px;height:22px;transition:background .15s;position:relative}.jukebox-switch-thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:3px;left:3px}.jukebox-switch[aria-checked=true] .jukebox-switch-track{background:#16a34a}.jukebox-switch[aria-checked=true] .jukebox-switch-thumb{transform:translate(18px)}.jukebox-switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.jukebox-volume{flex:1;align-items:center;gap:6px;min-width:160px;display:inline-flex}.jukebox-volume input{accent-color:var(--accent);flex:1}.jukebox-volume input:disabled{opacity:.4}.jukebox-volume-num{text-align:right;font-variant-numeric:tabular-nums;width:2.5em;font-size:12px}.jukebox-slot{z-index:6;top:var(--jukebox-slot-top,150px);right:var(--jukebox-slot-right,max(8px, var(--safe-right)));pointer-events:auto;position:absolute}.jukebox-mini{color:#fff7ed;background:linear-gradient(#7a3413,#461d09);border:3px solid #2a1208;border-radius:14px 14px 10px 10px;width:224px;padding:6px;transition:opacity .8s;animation:.2s ease-out sv-fade-in;box-shadow:inset 0 0 0 2px #22d3ee,0 8px 24px #00000073}.jukebox-mini[data-leaving=true]{opacity:.35}.jukebox-mini-bar{align-items:center;gap:4px;margin-bottom:4px;display:flex}.jukebox-mini-led{background:#57534e;border-radius:50%;flex:none;width:8px;height:8px;margin-left:4px}.jukebox-mini-led[data-on=true]{background:#4ade80;box-shadow:0 0 6px #4ade80}.jukebox-mini-title{min-width:0;min-height:32px;color:inherit;text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:0;flex:1;padding:0 4px;font-size:13px;font-weight:700;overflow:hidden}.jukebox-mini-icon{width:32px;height:32px;color:inherit;cursor:pointer;background:#0000004d;border:0;border-radius:8px;flex:none;font-size:14px}.jukebox-mini-title:focus-visible,.jukebox-mini-icon:focus-visible,.jukebox-unlock:focus-visible,.jukebox-chip-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.jukebox-mini-video{background:#000;border-radius:6px;width:100%;min-width:200px;height:200px;position:relative;overflow:hidden}.jukebox-mini[data-collapsed=true]{width:218px}.jukebox-mini[data-mode=listen]{box-shadow:inset 0 0 0 2px #a78bfa,0 8px 24px #00000073}.jukebox-mini-badge{flex:none;font-size:13px;line-height:1}.jukebox-mini-host,.jukebox-mini-host>*{border:0;width:100%;height:100%;position:absolute;inset:0}.jukebox-unlock{min-height:var(--touch);background:var(--accent);color:var(--bg);cursor:pointer;white-space:nowrap;border:0;border-radius:999px;padding:0 18px;font-size:15px;font-weight:700;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 4px 16px #00000080}.jukebox-mini-error{color:#fecaca;margin:0;font-size:12px;position:absolute;inset:auto 8px 8px}.jukebox-mini-meta{flex-direction:column;gap:4px;padding:6px 2px 0;display:flex}.jukebox-mini-row{font-variant-numeric:tabular-nums;justify-content:space-between;gap:6px;font-size:12px;display:flex}.jukebox-mini-by{white-space:nowrap;text-overflow:ellipsis;color:#fed7aa;min-width:0;overflow:hidden}.jukebox-mini-notice{overflow-wrap:anywhere;background:#00000059;border-radius:6px;margin:6px 0 0;padding:4px 6px;font-size:12px;line-height:1.35;animation:.15s ease-out sv-fade-in}.jukebox-chip-btn{background:var(--overlay);min-height:36px;color:var(--text);cursor:pointer;border:1px solid #d97706;border-radius:999px;padding:0 12px;font-size:13px}@container world (height<=420px){.jukebox-slot{top:var(--jukebox-slot-top-short,8px)}.jukebox-mini-meta,.jukebox-mini-notice{display:none}}@media (max-width:899px){.jukebox-mini-meta{display:none}.jukebox-mini[data-mode=listen]{width:218px}}.jukebox-readonly{color:#fed7aa;background:#00000040;border-radius:10px;margin:0;padding:8px 10px;font-size:13px}.stealth-shell{--bg:#fff;--surface:#fff;--surface-2:#e5e7eb;--surface-3:#d1d5db;--text:#1f2937;--text-dim:#6b7280;--accent:#2563eb;--danger:#dc2626;--success:#16a34a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;height:100%;color:var(--text);background:#f5f6f8;font-size:14px}.stealth-shell .modal-backdrop{background:#0f172a59}.stealth-shell .chat-msg[data-mine=true]{background:#eff6ff}.stealth{flex-direction:column;height:100%;min-height:0;display:flex}.stealth-top{padding:calc(8px + var(--safe-top)) max(16px, var(--safe-right)) 8px max(16px, var(--safe-left));border-bottom:1px solid var(--surface-2);background:#fff;flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.stealth-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;overflow:hidden}.stealth-top-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.stealth-body{min-height:0;padding:12px max(12px, var(--safe-right)) calc(12px + var(--safe-bottom)) max(12px, var(--safe-left));flex-direction:column;flex:1;gap:12px;display:flex;overflow-y:auto}.stealth-main{flex-direction:column;gap:12px;min-width:0;display:flex}.stealth-card{border:1px solid var(--surface-2);background:#fff;border-radius:8px;padding:12px 14px}.stealth-h2{margin:0 0 8px;font-size:13px;font-weight:600}.stealth-h3{color:var(--text-dim);margin:10px 0 2px;font-size:12px;font-weight:600}.stealth-dim{color:var(--text-dim)}.stealth-error{color:var(--danger)}.stealth-note{margin:8px 0 0;font-size:12px}.stealth-btn{border:1px solid var(--surface-3);min-height:34px;color:var(--text);cursor:pointer;touch-action:manipulation;background:#fff;border-radius:6px;flex:none;padding:0 12px;font-size:13px}.stealth-btn:hover:not(:disabled){background:#f3f4f6}.stealth-btn-primary,.stealth-btn-primary:hover:not(:disabled){border-color:var(--accent);background:var(--accent);color:#fff}.stealth-btn:disabled{opacity:.5;cursor:default}.stealth-btn:focus-visible,.stealth-switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stealth-switch{min-height:34px;color:var(--text);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:13px;display:inline-flex}.stealth-switch:disabled{opacity:.5;cursor:default}.stealth-switch-track{background:var(--surface-3);border-radius:999px;width:30px;height:18px;transition:background .15s;position:relative}.stealth-switch-thumb{background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:2px;left:2px}.stealth-switch[aria-checked=true] .stealth-switch-track{background:var(--accent)}.stealth-switch[aria-checked=true] .stealth-switch-thumb{transform:translate(12px)}.stealth-me-row{align-items:center;gap:12px;display:flex}.stealth-me-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.stealth-label{color:var(--text-dim);font-size:12px}.stealth-timer{font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.stealth-track{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stealth-video{background:#000;border-radius:6px;width:200px;height:200px;margin-top:10px;position:relative;overflow:hidden}.stealth-video[hidden]{display:none}.stealth-video-host,.stealth-video-host>*{border:0;width:100%;height:100%;position:absolute;inset:0}.stealth-unlock{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.stealth-people{margin:0;padding:0;list-style:none}.stealth-person{border-bottom:1px solid #f3f4f6;align-items:center;gap:8px;min-height:30px;display:flex}.stealth-person:last-child{border-bottom:0}.stealth-dot{background:var(--surface-3);border-radius:50%;flex:none;width:8px;height:8px}.stealth-person[data-status=focus] .stealth-dot{background:var(--success)}.stealth-person[data-status=away] .stealth-dot{background:#f59e0b}.stealth-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.stealth-status,.stealth-focus{flex:none;font-size:12px}.stealth-focus{color:var(--text-dim);font-variant-numeric:tabular-nums}.stealth-chat{flex-direction:column;flex:none;height:60dvh;min-height:320px;padding:0;display:flex;overflow:hidden}@media (min-width:900px){.stealth-body{flex-direction:row;align-items:stretch;overflow:hidden}.stealth-main{flex:1 1 0;max-width:560px;overflow-y:auto}.stealth-chat{flex:1 1 0;height:auto;min-height:0}}@media (max-width:480px){.stealth-top-actions{width:100%;margin-left:0}.stealth-top-actions .stealth-btn{margin-left:auto}}.style-panel{flex-direction:column;min-height:100%;display:flex}.style-top{z-index:2;background:var(--surface);border-bottom:1px solid var(--surface-2);padding:10px 12px 8px;position:sticky;top:0}.style-stage{align-items:center;gap:12px;min-height:118px;display:flex}.style-stage-look{--view-hit:34px;background:radial-gradient(circle at 50% 62%, var(--surface-3), var(--surface-2) 70%);touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:grab;border-radius:16px;flex:none;width:104px;height:118px;position:relative}.style-view:active{cursor:grabbing}.style-view:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.style-view-figure{pointer-events:none;position:absolute;top:2px;left:calc(50% - 48px)}.style-view-dir{color:var(--text);pointer-events:none;background:#00000047;border-radius:999px;padding:0 5px;font-size:11px;font-weight:700;line-height:16px;animation:1.6s forwards style-dir-flash;position:absolute;top:12px;left:5px}@keyframes style-dir-flash{0%,70%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.style-view-dir{animation-timing-function:step-end}}.style-turn{top:calc(50px - var(--view-hit) / 2);width:var(--view-hit);height:var(--view-hit);color:var(--text);cursor:pointer;touch-action:manipulation;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute}.style-turn[data-side=left]{left:calc(15px - var(--view-hit) / 2)}.style-turn[data-side=right]{right:calc(15px - var(--view-hit) / 2)}.style-turn span{background:#0000004d;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;box-shadow:inset 0 0 0 1px #ffffff24}.style-turn span:before{content:"";border-bottom:2px solid;border-left:2px solid;width:7px;height:7px;transform:translate(1px)rotate(45deg)}.style-turn[data-side=right] span:before{transform:translate(-1px)rotate(-135deg)}.style-turn:hover span{background:#00000073}.style-turn:focus-visible,.style-pose:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:10px}.style-poses{justify-content:center;display:flex;position:absolute;bottom:0;left:0;right:0}.style-pose{width:var(--view-hit);height:var(--view-hit);color:var(--text-dim);cursor:pointer;touch-action:manipulation;background:0 0;border:0;justify-content:center;align-items:flex-end;padding:0 0 3px;font-size:11px;font-weight:700;display:flex}.style-pose span{background:#00000038;border-radius:999px;padding:0 4px;line-height:16px}.style-pose[aria-pressed=true]{color:var(--bg)}.style-pose[aria-pressed=true] span{background:var(--text)}@media (pointer:coarse){.style-stage-look{--view-hit:44px;width:132px}}@media (pointer:coarse) and (max-width:379px){.style-stage-look{width:120px}.style-pose{width:40px}}.style-stage[data-trying=true] .style-stage-look{box-shadow:inset 0 0 0 2px var(--accent)}.style-stage-tag{z-index:1;background:var(--accent);color:var(--bg);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700;position:absolute;top:-8px;left:50%;transform:translate(-50%)}.style-stage-side{flex:1;min-width:0}.style-stage-name{text-overflow:ellipsis;white-space:nowrap;margin:0 0 2px;font-size:16px;font-weight:700;overflow:hidden}.style-stage-level{color:var(--accent);font-size:13px}.style-tryon{flex-direction:column;gap:4px;min-width:0;display:flex}.style-tryon p{margin:0}.style-tryon-list{scrollbar-width:thin;flex-direction:column;gap:2px;max-height:92px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.style-tryon-chip{border-radius:8px;align-items:center;gap:2px;min-width:0;display:flex}.style-tryon-chip[data-active=true]{background:var(--surface-2)}.style-tryon-pick{min-width:0;color:inherit;text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;align-items:baseline;gap:6px;padding:2px 4px;display:flex}.style-tryon-pick strong{text-overflow:ellipsis;overflow:hidden}.style-tryon-drop{width:24px;height:24px;color:var(--text-dim);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;padding:0;font-size:13px;line-height:1}.style-tryon-drop:hover{background:var(--surface-3);color:var(--text)}.style-tryon-pick:focus-visible,.style-tryon-drop:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.style-owned{color:var(--success);font-weight:600}.style-colors{scrollbar-width:none;margin:0 -4px;display:flex;overflow-x:auto}.style-colors::-webkit-scrollbar{display:none}.style-color{width:40px;height:var(--touch);cursor:pointer;touch-action:manipulation;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.style-color:before{content:"";background:var(--swatch);border-radius:50%;width:28px;height:28px;box-shadow:inset 0 0 0 1px #00000040}.style-color[aria-pressed=true]:before{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--accent)}.style-tryon-actions{gap:6px;display:flex}.style-tryon-actions .btn{padding:0 12px;font-size:14px}.style-primary{white-space:nowrap;flex:1;min-width:0}.style-segments{background:var(--surface-2);border-radius:12px;gap:4px;margin-top:10px;padding:3px;display:flex}.style-segment{min-height:var(--touch);color:var(--text-dim);cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:9px;flex:1;font-weight:700}.style-segment[aria-selected=true]{background:var(--surface);color:var(--text)}.style-body{padding:10px 12px 16px}.style-body>.game-avatar-editor .game-slot:first-of-type{margin-top:0}@media (min-width:900px) and (pointer:fine){.style-top{padding-top:8px}.style-segments{margin-top:8px}.style-segment{min-height:34px}}.style-pad{padding:4px 0}.style-balance{flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0 0 8px;font-weight:600;display:flex}.style-stage-coins{margin:0 0 2px;font-weight:800}.style-cats{scrollbar-width:none;gap:6px;margin:0 -12px;padding:0 12px 2px;display:flex;overflow-x:auto}.style-cats::-webkit-scrollbar{display:none}.style-cat{min-height:var(--touch);background:var(--surface-2);color:var(--text-dim);cursor:pointer;touch-action:manipulation;border:0;border-radius:999px;flex:none;padding:0 14px;font-size:13px}.style-cat[aria-selected=true]{background:var(--text);color:var(--bg);font-weight:700}.style-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.style-card{background:var(--surface-2);width:100%;height:100%;color:var(--text);text-align:center;cursor:pointer;touch-action:manipulation;border:0;border-radius:12px;flex-direction:column;align-items:center;gap:3px;padding:8px 4px 10px;display:flex;position:relative}.style-card:hover{background:var(--surface-3)}.style-card[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--accent)}.style-card-check{background:var(--accent);width:18px;height:18px;color:var(--bg);border-radius:50%;place-items:center;font-size:11px;font-weight:700;line-height:1;display:grid;position:absolute;top:4px;right:4px}.style-card:focus-visible,.style-segment:focus-visible,.style-cat:focus-visible,.style-color:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.style-card-name{font-size:13px;font-weight:600}.style-card-status{color:var(--success);font-size:12px;font-weight:600}.style-card-price{font-size:12px}.voice-panel{flex-direction:column;gap:10px;padding:10px 12px 16px;display:flex}.voice-status{margin:0;font-weight:600}.voice-muted{color:var(--text-dim);margin:0}.voice-small{font-size:12px}.voice-wide{width:100%}.voice-mic-on{background:var(--success);color:var(--bg);font-weight:700}.voice-mic-on:hover:not(:disabled){background:var(--success);filter:brightness(1.08)}.voice-error{border-radius:var(--radius);border:1px solid var(--danger);color:var(--danger);align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.voice-error>span{flex:1;min-width:0}.voice-participants{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.voice-participant{background:var(--surface-2);border-radius:10px;align-items:center;gap:8px;min-height:36px;padding:0 10px;display:flex}.voice-participant[data-speaking=true]{box-shadow:inset 0 0 0 2px var(--accent)}.voice-speaking-icon{text-align:center;width:1.4em}.voice-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.voice-note{margin-top:4px}.voice-audio-chip{z-index:20;white-space:nowrap;border-radius:999px;max-width:calc(100% - 32px);min-height:44px;padding:8px 16px;position:absolute;bottom:152px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000059}.combat-controls{flex-direction:column;align-items:stretch;gap:6px;min-width:132px;display:flex}.combat-hp{background:#0f0d28b3;border:1px solid #a5b4fc4d;border-radius:9px;height:18px;position:relative;overflow:hidden}.combat-hp-fill{background:linear-gradient(90deg,#34d399,#4ade80);transition:width .12s linear;position:absolute;inset:0 auto 0 0}.combat-hp-fill[data-low=true]{background:linear-gradient(90deg,#f87171,#fca5a5)}.combat-hp-text{text-align:center;font-variant-numeric:tabular-nums;color:#f8fafc;text-shadow:0 1px 2px #000000b3;font-size:.68rem;line-height:18px;display:block;position:relative}.combat-attack{position:relative;overflow:hidden}.combat-attack:after{content:"";width:var(--cool,0%);pointer-events:none;background:#0f0d288c;transition:width .1s linear;position:absolute;inset:0 auto 0 0}.combat-attack:disabled{opacity:.85}@media (prefers-reduced-motion:reduce){.combat-hp-fill,.combat-attack:after{transition:none}}.push-onboarding{top:calc(72px + env(safe-area-inset-top,0px));z-index:50;box-sizing:border-box;border:1px solid var(--surface-2);background:var(--surface);width:min(360px,100vw - 32px);color:var(--text);border-radius:14px;padding:18px;position:fixed;right:16px;box-shadow:0 6px 24px #0002}.push-onboarding p{margin:10px 0;font-size:14px;line-height:1.5}.push-onboarding-actions{justify-content:flex-end;gap:8px;display:flex}:root{--bg:#1e1b4b;--surface:#27235f;--surface-2:#312e81;--surface-3:#3f3a96;--text:#eef2ff;--text-dim:#a5b4fc;--accent:#fbbf24;--danger:#f87171;--success:#4ade80;--overlay:#0f0d28c7;--touch:44px;--sidebar-w:360px;--rail-w:48px;--topbar-h:48px;--tabbar-h:56px;--radius:12px;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Apple SD Gothic Neo,Noto Sans KR,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent}button,input{font:inherit}kbd{opacity:.7;border:1px solid;border-radius:4px;margin-left:6px;padding:0 5px;font-size:11px}.btn{min-height:var(--touch);background:var(--surface-2);color:var(--text);cursor:pointer;touch-action:manipulation;border:0;border-radius:10px;justify-content:center;align-items:center;gap:4px;padding:0 16px;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-3)}.btn-primary,.btn-primary:hover:not(:disabled){background:var(--accent);color:var(--bg);font-weight:700}.btn-danger{color:var(--danger);border:1px solid var(--danger);background:0 0}.btn-small{min-height:32px;padding:0 10px;font-size:13px}.btn:disabled{opacity:.5;cursor:default}.btn:focus-visible,.icon-btn:focus-visible,.reaction-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon-btn{min-width:var(--touch);min-height:var(--touch);color:var(--text);cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:10px;place-items:center;padding:0;font-size:18px;display:inline-grid}.error{color:var(--danger)}.dim{color:var(--text-dim)}.placeholder{color:var(--text-dim);padding:16px}.splash{height:100%;color:var(--text-dim);place-items:center;display:grid}.login{min-height:100%;padding:max(24px, var(--safe-top)) max(24px, var(--safe-right)) max(24px, var(--safe-bottom)) max(24px, var(--safe-left));text-align:center;background:radial-gradient(circle at 50% 20%, #312e81 0, var(--bg) 60%);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.login img{border-radius:22px;box-shadow:0 8px 32px #00000059}.login h1{margin:8px 0 0}.login-tagline{color:var(--text-dim);margin:0 0 12px}.login-divider{width:min(360px,100%);color:var(--text-dim);align-items:center;gap:12px;font-size:13px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--surface-2);flex:1;height:1px}.login-form{text-align:left;flex-direction:column;gap:12px;width:min(360px,100%);display:flex}.field{flex-direction:column;gap:4px;display:flex}.field-label{color:var(--text-dim);font-size:13px}.field-hint{color:var(--accent);font-size:12px}.field input{min-height:var(--touch);border:1px solid var(--surface-2);background:var(--surface);color:var(--text);border-radius:10px;padding:0 12px;font-size:16px}.field input:focus{outline:2px solid var(--accent);outline-offset:0}.login-note{color:var(--text-dim);text-align:center;margin:0;font-size:12px}.app-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:calc(var(--topbar-h) + var(--safe-top)) minmax(0, 1fr) auto calc(var(--tabbar-h) + var(--safe-bottom));grid-template-areas:"top""world""panels""tabs";height:100%;display:grid;overflow:hidden}.topbar{min-width:0;padding:var(--safe-top) max(4px, var(--safe-right)) 0 max(12px, var(--safe-left));background:var(--surface);border-bottom:1px solid var(--surface-2);grid-area:top;align-items:center;gap:8px;display:flex}.brand{white-space:nowrap;font-weight:700}.topbar-hud{flex:1;align-items:center;min-width:0;display:flex;overflow:hidden}.world-area{touch-action:none;-webkit-user-select:none;user-select:none;background:#14122e;grid-area:world;min-height:0;position:relative;overflow:hidden;container:world/size}.world-canvas{position:absolute;inset:0}.world-canvas canvas{display:block}.world-loading{color:var(--text-dim);text-align:center;place-content:center;gap:12px;display:grid;position:absolute;inset:0}.panels{background:var(--surface);grid-area:panels;min-height:0}.sidebar-head,.sidebar-rail{display:none}.panel{border-top:1px solid var(--surface-2);flex-direction:column;height:min(46dvh,440px);display:none}.panel[data-active=true]{display:flex}.panel-title{margin:0;display:none}.panel-sheet-header{padding:0 max(4px, var(--safe-right)) 0 max(16px, var(--safe-left));min-height:var(--touch);justify-content:space-between;align-items:center;font-size:14px;display:flex}.panel-body{min-height:0;padding-left:var(--safe-left);padding-right:var(--safe-right);flex:1;overflow:auto}.tabbar{background:var(--surface);padding:0 var(--safe-right) var(--safe-bottom) var(--safe-left);border-top:1px solid var(--surface-2);grid-area:tabs;display:flex}.tabbar button{min-height:var(--tabbar-h);color:var(--text-dim);cursor:pointer;touch-action:manipulation;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:12px;display:flex;position:relative}.tab-icon{font-size:18px;line-height:1}.tabbar button[aria-pressed=true]{color:var(--accent);font-weight:700}@media (max-width:899px) and (min-height:541px){.panel[data-panel=style][data-active=true]{height:min(66dvh,600px)}}@media (max-width:899px) and (orientation:landscape) and (max-height:540px){.app-shell[data-panel-open=true]{grid-template-columns:minmax(0,1fr) min(44vw,360px);grid-template-rows:calc(var(--topbar-h) + var(--safe-top)) minmax(0, 1fr) calc(var(--tabbar-h) + var(--safe-bottom));grid-template-areas:"top top""world panels""tabs tabs"}.panel[data-active=true]{border-top:0;border-left:1px solid var(--surface-2);height:100%}:root{--tabbar-h:44px;--topbar-h:40px}}@media (min-width:900px){.app-shell{grid-template-columns:minmax(0, 1fr) var(--sidebar-w);grid-template-rows:var(--topbar-h) minmax(0, 1fr);grid-template-areas:"top top""world panels"}.tabbar,.panel-sheet-header{display:none}.panels{border-left:1px solid var(--surface-2);flex-direction:column;display:flex;overflow:hidden}.panel,.panel[data-active]{border-top:0;border-bottom:1px solid var(--surface-2);flex:1 1 0;height:auto;min-height:0;display:flex}.panel[data-collapsed=true]{flex:none}.panel[data-collapsed=true] .panel-body{display:none}.panel-title{display:block}.app-shell[data-sidebar=closed]{grid-template-columns:minmax(0, 1fr) var(--rail-w)}.sidebar-head{border-bottom:1px solid var(--surface-2);flex:none;align-items:center;height:32px;padding:0 4px;display:flex}.sidebar-toggle{min-width:32px;min-height:28px;color:var(--text-dim);font-size:18px;line-height:1}.sidebar-toggle:hover,.sidebar-rail-btn:hover{color:var(--text);background:var(--surface-2)}.app-shell[data-sidebar=closed] :is(.sidebar-head,.panel){display:none}.app-shell[data-sidebar=closed] .sidebar-rail{flex-direction:column;align-items:center;gap:4px;padding:2px 0;display:flex}.app-shell[data-sidebar=closed] .sidebar-rail .sidebar-toggle{min-width:40px;margin-bottom:4px}.sidebar-rail-btn{min-width:40px;min-height:40px;font-size:20px}.panel-title-btn{width:100%;color:var(--text-dim);cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;padding:8px 12px;font-size:14px;font-weight:700;display:flex}.panel-title-btn:hover{color:var(--text)}.panel-chevron{transition:transform .15s}.panel[data-collapsed=true] .panel-chevron{transform:rotate(-90deg)}}.world-area:has(.chat-ov[data-mode=expanded]) .controls-hint{display:none}@media (pointer:coarse){.world-area:has(.chat-ov[data-mode=expanded]) :is(.overlay-bottom,.focus-tip){visibility:hidden}}@container world (width<=600px){.world-area:has(.chat-ov[data-mode=expanded]) :is(.overlay-bottom,.focus-tip){visibility:hidden}}.world-overlay{pointer-events:none;z-index:5;position:absolute;inset:0}.world-overlay button,.world-overlay .focus-tip{pointer-events:auto}.overlay-top{top:8px;left:max(8px, var(--safe-left));flex-direction:column;align-items:flex-start;gap:6px;display:flex;position:absolute;right:64px}.zone-chip,.conn-chip,.away-chip{background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:999px;flex-wrap:wrap;align-items:baseline;gap:2px 8px;max-width:100%;padding:6px 10px;font-size:13px;display:flex}.zone-chip span{color:var(--text-dim);font-size:12px}.zone-chip[data-zone=reading]{box-shadow:inset 0 0 0 1px #6366f1}.zone-chip[data-zone=lounge]{box-shadow:inset 0 0 0 1px #d97706}.zone-chip[data-zone=studyA]{box-shadow:inset 0 0 0 1px #10b981}.zone-chip[data-zone=studyB]{box-shadow:inset 0 0 0 1px #a855f7}.zone-chip[data-zone=dojo]{box-shadow:inset 0 0 0 1px #ef4444}.conn-chip{color:var(--accent)}.away-chip{color:#c4b5fd}.overlay-zoom{top:8px;right:max(8px, var(--safe-right));flex-direction:column;gap:4px;display:flex;position:absolute}.overlay-zoom .icon-btn{background:var(--overlay);min-width:40px;min-height:40px;font-size:16px}.world-toast{background:var(--overlay);max-width:calc(100% - 32px);color:var(--accent);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;padding:8px 14px;font-size:14px;animation:.15s ease-out sv-fade-in;position:absolute;top:56px;left:50%;overflow:hidden;transform:translate(-50%)}.controls-hint{background:var(--overlay);max-width:250px;color:var(--text-dim);text-align:right;border-radius:10px;padding:5px 10px;font-size:11px;line-height:1.45}.focus-tip{left:max(8px, var(--safe-left));right:max(8px, var(--safe-right));border-radius:var(--radius);background:var(--overlay);align-items:center;gap:4px;padding:4px 4px 4px 12px;font-size:13px;line-height:1.4;display:flex;position:absolute;bottom:148px}.overlay-bottom{left:max(12px, var(--safe-left));right:max(12px, var(--safe-right));justify-content:space-between;align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:12px}.joystick-slot{display:none}.action-bar{flex-direction:column;align-items:flex-end;gap:8px;margin-left:auto;display:flex}.action-btn{min-width:112px;box-shadow:0 4px 16px #00000059}.reaction-picker{position:relative}.reaction-toggle{background:var(--overlay);pointer-events:auto;border-radius:50%;font-size:22px;box-shadow:0 4px 16px #00000059}.reaction-toggle[aria-expanded=true]{box-shadow:inset 0 0 0 2px var(--accent), 0 4px 16px #00000059}.reaction-toggle:disabled{opacity:.45;cursor:default}.reaction-pop{background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transform-origin:100% 100%;pointer-events:auto;border:1px solid #a5b4fc38;border-radius:14px;grid-template-columns:repeat(5,40px);gap:2px;padding:4px;animation:.14s ease-out sv-reaction-pop;display:grid;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 8px 24px #00000073}@keyframes sv-reaction-pop{0%{opacity:0;transform:translateY(6px)scale(.92)}}.reaction-btn{width:40px;height:40px;color:var(--text);cursor:pointer;touch-action:manipulation;pointer-events:auto;background:0 0;border:0;border-radius:10px;place-items:center;padding:0;font-size:22px;line-height:1;display:grid;position:relative}@media (hover:hover){.reaction-btn:hover:not(:disabled){background:#a5b4fc29}}.reaction-btn:active:not(:disabled){transform:scale(.9)}.reaction-btn:disabled{opacity:.4}.reaction-key{color:var(--text-dim);background:0 0;border:0;margin:0;padding:0;font-size:9px;line-height:1;position:absolute;bottom:1px;right:2px}@media (prefers-reduced-motion:reduce){.reaction-pop{animation:none}}.joystick{touch-action:none;pointer-events:auto;background:#0f0d2873;border:2px solid #a5b4fc59;border-radius:50%;width:128px;height:128px;position:relative}.joystick[data-active=true]{background:#0f0d2899;border-color:#fbbf2499}.joystick-knob{pointer-events:none;background:#eef2ffd9;border-radius:50%;width:56px;height:56px;margin:-28px 0 0 -28px;position:absolute;top:50%;left:50%;box-shadow:0 2px 8px #0006}@media (pointer:coarse){.joystick-slot{display:block}.controls-hint{display:none}}@media (max-width:480px){.controls-hint{display:none}}@container world (height<=420px){.overlay-zoom,.controls-hint,.focus-tip{display:none}.joystick{width:104px;height:104px}.joystick-knob{width:48px;height:48px;margin:-24px 0 0 -24px}.overlay-bottom{bottom:8px}.zone-chip span{display:none}}.modal-backdrop{z-index:50;padding:max(16px, var(--safe-top)) max(16px, var(--safe-right)) max(16px, var(--safe-bottom)) max(16px, var(--safe-left));background:#08071999;place-items:center;animation:.15s ease-out sv-fade-in;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:16px;width:min(420px,100%);padding:20px;box-shadow:0 16px 48px #00000080}.modal h2{margin:0 0 8px;font-size:18px}.modal p{color:var(--text-dim);margin:0 0 16px;line-height:1.5}.modal .btn{width:100%}.modal-actions{flex-direction:column;gap:8px;display:flex}.settings-modal{background:var(--surface);border-radius:16px;outline:none;flex-direction:column;width:min(480px,100%);max-height:min(720px,100dvh - 32px);display:flex;box-shadow:0 16px 48px #00000080}.settings-modal-header{border-bottom:1px solid var(--surface-2);justify-content:space-between;align-items:center;gap:8px;padding:8px 8px 8px 20px;display:flex}.settings-modal-header h2{margin:0;font-size:18px}.settings-modal-body{overscroll-behavior:contain;flex:1;min-height:0;padding:0 20px 16px;overflow:auto}.settings-modal-body>.settings-section:first-child{border-top:0}@media (max-width:599px){.settings-backdrop{place-items:end stretch;padding:0}.settings-modal{border-radius:16px 16px 0 0;width:100%;max-height:88dvh;box-shadow:0 -8px 32px #0006}.settings-modal-header{padding:4px max(4px, var(--safe-right)) 4px max(16px, var(--safe-left))}.settings-modal-body{padding:0 max(16px, var(--safe-right)) max(16px, var(--safe-bottom)) max(16px, var(--safe-left))}}.settings-section{border-top:1px solid var(--surface-2);padding:14px 0}.settings-section h3{margin:0 0 8px;font-size:14px}.settings-actions{flex-wrap:wrap;gap:8px;display:flex}.settings-section .settings-actions .btn{flex:140px;width:auto}.settings-section p{margin:0 0 8px;font-size:13px;line-height:1.5}.settings-section .btn{width:100%}.settings-version{color:var(--text-dim);text-align:center;margin:12px 0 0;font-size:12px}.tips{margin:0;padding-left:18px;font-size:13px;line-height:1.5}.topbar-install{white-space:nowrap}.avatar-head{background-color:#ffffff14;border-radius:50%;flex:none;display:block}.avatar-menu{z-index:6;background:var(--overlay);pointer-events:auto;border-radius:12px;flex-direction:column;gap:6px;width:188px;padding:8px;animation:.12s ease-out sv-fade-in;display:flex;position:absolute;transform:translate(-50%,-100%);box-shadow:0 4px 16px #0006}.avatar-menu[data-below=true]{transform:translate(-50%,64px)}.avatar-menu-header{align-items:center;gap:8px;min-width:0;display:flex}.avatar-menu-who{flex-direction:column;min-width:0;display:flex}.avatar-menu-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.avatar-menu-level{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.avatar-menu-status{font-size:12px;line-height:1.3}.avatar-menu-custom{color:#ddd6fe;font-size:12px;line-height:1.3}.avatar-menu .btn{min-height:var(--touch);font-size:14px}.self-sheet{z-index:7;background:var(--surface);pointer-events:auto;outline:none;flex-direction:column;animation:.12s ease-out sv-fade-in;display:flex;position:absolute;box-shadow:0 8px 32px #00000073}.self-sheet[data-mode=popover]{border-radius:16px;width:320px;max-width:calc(100cqw - 16px);max-height:calc(100cqh - 16px)}.self-sheet[data-mode=sheet]{max-height:70cqh;padding-left:var(--safe-left);padding-right:var(--safe-right);border-radius:16px 16px 0 0;transition:transform .15s ease-out;bottom:0;left:0;right:0}.self-sheet[data-dragging=true]{transition:none}.self-sheet-header{flex-direction:column;flex:none;gap:8px;padding:8px 8px 8px 16px;display:flex}.self-sheet[data-mode=sheet] .self-sheet-header{touch-action:none;padding-bottom:12px}.self-sheet-grabber{background:var(--surface-3);border-radius:2px;align-self:center;width:40px;height:4px;margin:0 0 2px -8px}.self-sheet-who{align-items:center;gap:12px;min-width:0;display:flex}.self-sheet-text{flex-direction:column;flex:1;min-width:0;display:flex}.self-sheet-level{color:var(--accent);font-size:12px;font-weight:700}.self-sheet-name{text-overflow:ellipsis;white-space:nowrap;font-size:17px;overflow:hidden}.self-sheet-status{color:var(--text-dim);font-size:12px}.self-sheet-close{align-self:flex-start}.status-picker{flex-direction:column;gap:6px;padding-right:8px;display:flex}.status-picker-toggle{min-height:var(--touch);text-align:left;align-items:center;gap:8px;font-size:14px;display:flex}.status-picker-key{color:var(--text-dim);flex:none;font-size:12px;font-weight:700}.status-picker-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.status-pop{background:var(--overlay);border:1px solid #a78bfa59;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;animation:.12s ease-out sv-fade-in;display:grid}.status-opt{min-height:var(--touch);background:var(--surface-2);color:var(--text);font:inherit;text-align:left;cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:6px;padding:0 10px;font-size:14px;display:flex}.status-opt:hover{background:var(--surface-3)}.status-opt[aria-checked=true]{background:#a78bfa38;border-color:#a78bfa}.status-opt-emoji{font-size:18px;line-height:1}.status-opt-none{color:var(--text-dim);grid-column:1/-1;justify-content:center}.status-pop-note{color:var(--text-dim);grid-column:1/-1;margin:2px 4px;font-size:12px}@media (prefers-reduced-motion:reduce){.status-pop{animation:none}}.self-sheet-actions{flex-wrap:wrap;gap:6px;padding-right:8px;display:flex}.self-sheet-actions .btn{flex:auto;font-size:14px}.scroll-row{min-width:0;position:relative}.scroll-row-track{--fade-before:0px;--fade-after:0px;overscroll-behavior-x:contain}.scroll-row-track[data-pan-only]{touch-action:pan-x}.scroll-row-track[data-dragging],.scroll-row-track[data-dragging] *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}.scroll-row[data-before=true]>.scroll-row-track{--fade-before:28px}.scroll-row[data-after=true]>.scroll-row-track{--fade-after:28px}.scroll-row:is([data-before=true],[data-after=true])>.scroll-row-track{-webkit-mask-image:linear-gradient(to right, transparent 0, #000 var(--fade-before), #000 calc(100% - var(--fade-after)), transparent 100%);mask-image:linear-gradient(to right, transparent 0, #000 var(--fade-before), #000 calc(100% - var(--fade-after)), transparent 100%)}.scroll-row-arrow{display:none}@media (hover:hover) and (pointer:fine){.scroll-row-arrow{z-index:1;width:26px;height:26px;color:var(--text);cursor:pointer;background:#0f0d28b8;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:calc(50% - 13px);box-shadow:inset 0 0 0 1px #ffffff29,0 2px 6px #00000059}.scroll-row-arrow:hover{background:var(--surface-3)}.scroll-row-arrow:before{content:"";border-bottom:2px solid;border-left:2px solid;width:7px;height:7px;transform:translate(1px)rotate(45deg)}.scroll-row-arrow[data-side=before]{left:-2px}.scroll-row-arrow[data-side=after]{right:-2px}.scroll-row-arrow[data-side=after]:before{transform:translate(-1px)rotate(-135deg)}}@keyframes sv-fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.btn-google,.btn-google:hover:not(:disabled){color:#1f2937;background:#fff;gap:10px;width:min(360px,100%);min-height:48px;font-weight:700}.google-g{background:conic-gradient(#ea4335 0 25%, #fbbc05 0 50%, #34a853 0 75%, #4285f4 0);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:13px;font-weight:800;display:inline-grid}.login-actions{flex-direction:column;align-items:center;gap:8px;width:min(360px,100%);display:flex}.login-notice{width:min(360px,100%);margin:0}.text-link{min-height:var(--touch);min-width:var(--touch);color:var(--text-dim);text-underline-offset:3px;cursor:pointer;touch-action:manipulation;background:0 0;border:0;justify-content:center;align-items:center;padding:0 12px;font-size:13px;text-decoration:underline;display:inline-flex}.text-link:hover{color:var(--text)}.text-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.text-link-dev{opacity:.8;font-size:12px}.open-external{flex-direction:column;align-items:center;gap:8px;width:100%;display:flex}.open-external-guide,.open-external-note{margin:0;font-size:13px;line-height:1.5}.copy-field,.text-input,.code-input,.select{width:100%;min-height:var(--touch);border:1px solid var(--surface-3);background:var(--bg);color:var(--text);border-radius:10px;padding:0 12px;font-size:16px}.copy-field{margin-bottom:12px;font-size:14px}.code-input{text-align:center;letter-spacing:.3em;font-variant-numeric:tabular-nums;margin-bottom:12px;font-size:28px}.select-small{width:auto;min-height:36px;font-size:14px}.modal-actions-gap{margin-top:16px}.upgrade-points{margin:0 0 16px}.guest-badge{color:var(--bg);vertical-align:middle;background:#c7d2fe;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:700;line-height:1.4;display:inline-block}.here-badge{background:var(--accent);color:var(--bg);border-radius:999px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:700}.online-dot{background:var(--surface-3);border-radius:50%;flex:none;width:8px;height:8px;margin-right:6px;display:inline-block}.online-dot.on{background:var(--success)}.app-toast{z-index:70;top:calc(var(--safe-top) + 60px);background:var(--overlay);max-width:calc(100% - 32px);color:var(--accent);text-align:center;pointer-events:none;border-radius:999px;padding:10px 16px;font-size:14px;animation:.15s ease-out sv-fade-in;position:fixed;left:50%;transform:translate(-50%)}.update-banner{z-index:76;padding:calc(var(--safe-top) + 6px) max(6px, var(--safe-right)) 6px max(12px, var(--safe-left));background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--surface-3);align-items:center;gap:8px;font-size:13px;animation:.18s ease-out sv-drop-in;display:flex;position:fixed;top:0;left:0;right:0}.update-banner-text{flex-wrap:wrap;flex:1;align-items:baseline;gap:2px 8px;min-width:0;font-weight:600;display:flex}.update-banner-note{color:var(--text-dim);font-size:12px;font-weight:400}.update-banner-close{min-width:36px;min-height:36px;color:var(--text-dim);flex:none;font-size:15px}@keyframes sv-drop-in{0%{opacity:0;transform:translateY(-100%)}}.shell-confirm{z-index:65}.handoff{z-index:60}.page{min-height:100%;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);background:radial-gradient(circle at 50% 0, #312e81 0, var(--bg) 55%)}.page-center{padding:max(24px, var(--safe-top)) max(16px, var(--safe-right)) max(24px, var(--safe-bottom)) max(16px, var(--safe-left));place-items:center;display:grid}.page-header{z-index:2;min-height:calc(var(--topbar-h) + var(--safe-top));padding:var(--safe-top) max(8px, var(--safe-right)) 0 max(12px, var(--safe-left));background:var(--surface);border-bottom:1px solid var(--surface-2);align-items:center;gap:8px;display:flex;position:sticky;top:0}.page-header-spacer{flex:1}.page-header-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.page-body{width:min(640px,100%);padding:16px max(16px, var(--safe-left)) 32px;margin:0 auto}.card{background:var(--surface);border-radius:16px;flex-direction:column;gap:12px;width:min(420px,100%);padding:20px;display:flex;box-shadow:0 8px 32px #00000059}.card p{margin:0;line-height:1.5}.card-title{margin:0;font-size:18px}.card-actions{flex-direction:column;gap:8px;display:flex}.card-inline{width:100%;margin-bottom:16px}.home-hello h1{margin:8px 0 0;font-size:22px}.home-hello p{margin:4px 0 12px}.home-empty{text-align:center;width:100%}.home-create{width:100%;margin-top:16px}.space-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.space-list-compact{margin:8px 0}.space-card{border:1px solid var(--surface-2);background:var(--surface);width:100%;min-height:60px;color:var(--text);text-align:left;cursor:pointer;touch-action:manipulation;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 14px;display:flex}.space-card:hover{background:var(--surface-2)}.space-card[aria-current=true]{border-color:var(--accent)}.space-card-name{word-break:break-all;font-weight:700}.space-card-meta{align-items:center;font-size:13px;display:flex}.space-sheet-backdrop{z-index:50;background:#08071999;animation:.15s ease-out sv-fade-in;position:fixed;inset:0}.space-sheet{max-height:85dvh;padding:8px max(16px, var(--safe-right)) max(16px, var(--safe-bottom)) max(16px, var(--safe-left));background:var(--surface);border-radius:16px 16px 0 0;position:absolute;bottom:0;left:0;right:0;overflow:auto;box-shadow:0 -8px 32px #0006}@media (min-width:600px){.space-sheet{bottom:auto;right:auto;left:max(12px, var(--safe-left));top:calc(var(--topbar-h) + var(--safe-top) + 4px);width:360px;max-height:calc(100dvh - var(--topbar-h) - var(--safe-top) - 24px);border-radius:16px;padding:8px 16px 16px}}.space-sheet-header{justify-content:space-between;align-items:center;gap:8px;margin-right:-8px;display:flex}.space-sheet-actions{border-top:1px solid var(--surface-2);flex-direction:column;gap:8px;padding-top:8px;display:flex}.space-switch-btn{min-width:0;max-width:40vw;min-height:var(--touch);color:var(--text);cursor:pointer;touch-action:manipulation;background:0 0;border:0;align-items:center;gap:4px;padding:0 8px 0 0;font-weight:700;display:inline-flex}.space-switch-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.space-switch-caret{color:var(--text-dim);font-size:12px}.space-switch-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.invite-page .invite-bg{filter:blur(1px);opacity:.6}.invite-space{align-items:center;gap:12px;display:flex}.invite-space-icon{background:var(--surface-2);border-radius:12px;place-items:center;width:48px;height:48px;font-size:24px;display:grid}.invite-space-name{font-size:17px}.invite-modal{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.invite-modal h2{margin-bottom:0}.invite-modal .invite-count{margin:0 0 8px}.invite-modal .btn-google,.invite-modal .login-form{width:100%}.guest-note{text-align:left}.join-card .card-actions .btn,.join-card>.btn{width:100%}.settings-page{z-index:40;background:var(--bg);position:fixed;inset:0;overflow:auto}.settings-page .settings-section .btn{width:auto}.toggle-row{min-height:var(--touch);cursor:pointer;align-items:center;gap:10px;font-size:14px;display:flex}.toggle-row input{width:20px;height:20px;accent-color:var(--accent)}.inline-form,.invite-url-box{gap:8px;margin-bottom:8px;display:flex}.inline-form .text-input,.invite-url-box .copy-field{flex:1;min-width:0;margin:0}.inline-form .btn,.invite-url-box .btn{flex:none;width:auto}.member-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.member-row{border-bottom:1px solid var(--surface-2);flex-wrap:wrap;align-items:center;gap:4px 8px;padding:8px 0;font-size:14px;display:flex}.member-name{word-break:break-all;font-weight:600}.member-role{font-size:12px}.member-actions{gap:6px;margin-left:auto;display:flex}.member-actions .btn-small{min-height:36px}.inline-form .select{flex:1;min-width:0}.invite-list{flex-direction:column;margin:4px 0 0;padding:0;list-style:none;display:flex}.invite-row{border-bottom:1px solid var(--surface-2);padding:8px 0}.invite-row .invite-url-box{margin-bottom:4px}.invite-row .copy-field{min-height:36px;font-size:13px}.invite-meta{justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.settings-section .invite-legacy{margin:0 0 4px;font-size:13px}.invite-row .btn-small{min-height:36px}
