/* css/variables.css */
@font-face{font-family:"BoldBrush";src:url(../assets/fonts/blowbrush.woff2) format("woff2"),url(../assets/fonts/blowbrush.woff) format("woff"),url(../assets/fonts/blowbrush.otf) format("opentype");font-display:swap}@font-face{font-family:"Immortal";src:url(../assets/fonts/immortal.woff2) format("woff2"),url(../assets/fonts/immortal.ttf) format("truetype");font-display:swap}:root{--bg-dark: #000000;--bg-panel: #040404;--bg-card: #111;--bg-elevated: #1b1b1b;--accent-gold: #ffebb2;--accent-orange: #e15400;--accent-orange-hover: #ff6300;--text-primary: #fff;--text-secondary: #ede7fe;--text-muted: #f1f1f1;--border-subtle: #3e3e3e;--border-accent: rgba(255, 235, 178,0.4);--font-pixel: "BoldBrush", "Press Start 2P", "Courier New", monospace;--font-terminal: "Immortal", "VT323", "Courier New", monospace;--font-mono: "Courier New", monospace;--font-read: "Alegreya Sans", "Segoe UI", "Trebuchet MS", sans-serif;--earth-color: #6fff31;--water-color: #58a7ff;--fire-color: #ff083c;--wind-color: #fff400;--void-color: #a758ff;--catacomb-color: #ecc278;--panel-width: 240px;--hud-height: 52px;--action-bar-height: 56px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--radius-sm: 2px;--radius-md: 2px;--radius-lg: 4px;--z-panel: 10;--z-hud: 50;--z-overlay: 100;--z-modal: 1000;--z-tooltip: 10000}

/* css/base.css */
*{box-sizing:border-box}body{margin:0;padding:0;height:100vh;background:var(--bg-dark);font-family:var(--font-terminal);font-size:32px;color:var(--text-primary);user-select:none;overflow:hidden;cursor:crosshair}img,svg{image-rendering:pixelated}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-panel)}::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3e3e3e}@keyframes pulse{0%,100%{transform:scale(1);opacity:0.5}50%{transform:scale(1.1);opacity:0.7}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes timer-pulse{0%,100%{opacity:1}50%{opacity:0.7}}

/* css/styles.css */
:root{--bg-dark: #000004;--bg-panel: #0a0425;--bg-card: #151515;--bg-elevated: #1b1b1b;--accent-gold: #ffcc9d;--accent-color: #ffcc9d;--accent-orange: #d64e00;--accent-orange-hover: #ff6d00;--text-primary: #fff;--text-secondary: #c4c4c4;--text-muted: #f1f1f1;--border-subtle: #272727;--border-accent: rgba(255, 204, 157,0.3);--earth-color: #6fff31;--water-color: #58a7ff;--fire-color: #ff083c;--wind-color: #fff400;--void-color: #a758ff;--catacomb-color: #ecc278;--font-sans: "Immortal", "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Courier New", monospace;--font-terminal: "Immortal", "VT323", "Courier New", monospace;--font-pixel: "BoldBrush", "Press Start 2P", monospace;--panel-width: 240px;--hud-height: 52px;--action-bar-height: 56px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--z-panel: 10;--z-hud: 50;--z-overlay: 100;--z-modal: 1000;--z-tooltip: 10000}*{box-sizing:border-box}body{margin:0;padding:0;background:var(--bg-dark);font-family:var(--font-sans);color:var(--text-primary);user-select:none;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-panel)}::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3e3e3e}.site-logo{margin:20px 0 30px 0;text-align:center}.site-logo img{display:block;margin:0 auto;height:100px;width:auto}.lobby-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;height:100vh;overflow-y:auto;padding:var(--space-xl);padding-top:40px}.lobby-wrapper h1{color:var(--accent-gold);text-shadow:0 0 10px rgba(214,78,0,0.5);margin-bottom:var(--space-xl);font-size:2rem}#multiplayer-lobby{background:var(--bg-panel);padding:var(--space-xl);border-radius:var(--radius-lg);max-width:min(1300px,92vw);width:100%;border:2px solid var(--border-subtle);box-shadow:4px 4px 0 #000}.game-layout{display:none;grid-template-rows:var(--hud-height) auto 1fr 68px;grid-template-columns:1fr;grid-template-areas:"hud" "status" "board" "dock";height:100vh;width:100vw;gap:0;background:var(--bg-dark)}.game-layout.active{display:grid}.hud-bar{grid-area:hud;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-lg);background:var(--bg-panel);border-bottom:2px solid var(--border-subtle);z-index:var(--z-hud)}.panel-title,.section-label{font-family:var(--font-sans);font-weight:600;letter-spacing:0.3px}.hud-section{display:flex;align-items:center;gap:var(--space-md)}.hud-player{display:flex;align-items:center;gap:var(--space-sm)}.player-dot{width:14px;height:14px;border-radius:2px;background:var(--accent-gold);flex-shrink:0;transition:background 0.2s}.hud-player-name{font-family:var(--font-sans);font-size:15px;font-weight:600;letter-spacing:0.5px;color:var(--text-primary);text-shadow:1px 1px 0 #000;transition:color 0.2s}.dock-turn-indicator{padding:4px 10px;white-space:nowrap;flex-shrink:0}.dock-turn-indicator .hud-player-name{font-size:16px;white-space:nowrap}.dock-turn-indicator .player-dot{width:16px;height:16px;flex-shrink:0}.hud-player.your-turn .hud-player-name{color:var(--accent-gold);animation:your-turn-pulse 1.2s ease-in-out infinite}.hud-player.your-turn .player-dot{animation:your-turn-pulse 1.2s ease-in-out infinite}@keyframes your-turn-pulse{0%,100%{opacity:1}50%{opacity:0.6}}.hud-end-turn{font-family:var(--font-sans)!important;font-size:13px!important;font-weight:600!important;letter-spacing:0.5px!important;padding:5px 14px!important;background:#1b0600!important;border:2px solid #ffcc9d!important;color:#ffcc9d!important;border-radius:2px!important;box-shadow:3px 3px 0 #000!important;cursor:pointer;letter-spacing:0.5px}.hud-end-turn:not(:disabled):hover{background:#311b00!important}.hud-end-turn:not(:disabled):active{transform:translate(3px,3px)!important;box-shadow:none!important;transition:none!important}.hud-end-turn.ap-out:not(:disabled),.hud-end-turn.overflow-ok:not(:disabled),.hud-end-turn.overflow-over:not(:disabled){position:relative;overflow:hidden;--et-glow: rgba(118, 255, 157, 0.85);animation:end-turn-pulse 1.3s ease-in-out infinite}.hud-end-turn.ap-out:not(:disabled),.hud-end-turn.overflow-ok:not(:disabled){border-color:#76ff9d!important;color:#feffff!important;background:#002b0c!important}.hud-end-turn.ap-out:not(:disabled):hover,.hud-end-turn.overflow-ok:not(:disabled):hover{background:#08461b!important}.hud-end-turn.overflow-over:not(:disabled){border-color:#3a3a44!important;color:#7d7a8c!important;background:#17161d!important;animation:none!important}.hud-end-turn.overflow-over:not(:disabled):hover{background:#1d1c24!important}.hud-end-turn.overflow-over:not(:disabled)::after{display:none}#panel-btn-hand.overflow-alert,#panel-btn-active.overflow-alert,.overflow-alert{position:relative;border-color:#ff3467!important;color:#fff7ff!important;background:#310000!important;animation:overflow-alert-pulse 1.3s ease-in-out infinite}.overflow-alert::after{content:attr(data-over);position:absolute;top:-8px;right:-6px;padding:1px 6px;border-radius:9px;background:#ff3467;color:#fff;font-size:12px;line-height:16px;font-family:var(--font-terminal, monospace);pointer-events:none}.overflow-alert.overflow-shake{animation:end-turn-shake 0.32s ease-out,overflow-alert-pulse 1.3s ease-in-out infinite}@keyframes overflow-alert-pulse{0%,100%{filter:drop-shadow(0 0 0 transparent);scale:1}50%{filter:drop-shadow(0 0 7px rgba(255,8,60,0.9));scale:1.04}}@media (prefers-reduced-motion: reduce){.overflow-alert,.overflow-alert.overflow-shake{animation:none}}.hud-end-turn.ap-out:not(:disabled)::after,.hud-end-turn.overflow-ok:not(:disabled)::after,.hud-end-turn.overflow-over:not(:disabled)::after{content:"";position:absolute;top:0;bottom:0;left:0;width:45%;background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,0.05) 30%,rgba(255,255,255,0.45) 50%,rgba(255,255,255,0.05) 70%,transparent 100%);pointer-events:none;animation:end-turn-shimmer 1.9s ease-in-out infinite}.hud-end-turn.overflow-over.overflow-shake{animation:none!important}@keyframes end-turn-shimmer{0%{transform:translateX(-120%)}60%,100%{transform:translateX(330%)}}@keyframes end-turn-pulse{0%,100%{filter:drop-shadow(0 0 0 transparent) brightness(1)}50%{filter:drop-shadow(0 0 7px var(--et-glow)) brightness(1.18)}}@keyframes end-turn-shake{0%,100%{translate:0 0}20%{translate:-4px 0}40%{translate:4px 0}60%{translate:-3px 0}80%{translate:2px 0}}@media (prefers-reduced-motion: reduce){.hud-end-turn.ap-out:not(:disabled),.hud-end-turn.overflow-ok:not(:disabled),.hud-end-turn.overflow-over:not(:disabled),.hud-end-turn.ap-out:not(:disabled)::after,.hud-end-turn.overflow-ok:not(:disabled)::after,.hud-end-turn.overflow-over:not(:disabled)::after{animation:none}}#end-turn.hud-end-turn.not-my-turn,#end-turn.hud-end-turn.not-my-turn:hover,#end-turn.hud-end-turn.not-my-turn:active{background:#060606!important;border-color:#3e3e3e!important;color:#545454!important;box-shadow:none!important;opacity:1!important;filter:none!important;animation:none!important;transform:none!important;cursor:not-allowed!important}#end-turn.hud-end-turn.not-my-turn::after{display:none!important}.hud-end-turn:disabled{background:#060606!important;border-color:#3e3e3e!important;color:#545454!important;cursor:not-allowed!important;box-shadow:none!important;opacity:1!important}.hud-stone-info-btn{background:none;border:1px solid #545454;color:#ede7fe;border-radius:4px;font-size:14px;font-weight:bold;line-height:1;cursor:pointer;padding:8px 16px;transition:border-color 0.15s,color 0.15s;flex-shrink:0;white-space:nowrap}.hud-stone-info-btn:hover{border-color:var(--accent-gold);color:var(--accent-gold)}#panel-btn-opponents,#panel-btn-gamelog,#leave-game{font-size:24px}.hud-badges{display:flex;gap:var(--space-sm)}.hud-badge{display:flex;align-items:center;gap:4px;padding:4px 10px;background:var(--bg-card);border-radius:var(--radius-sm);font-size:12px;border:1px solid var(--border-subtle)}.hud-badge.hand{border-color:#29adff}.hud-badge.active{border-color:#ffb200}.hud-badge.common{border-color:var(--void-color)}.hud-section.center{flex:1;display:flex;justify-content:center;align-items:center;gap:20px}.hud-shrine-progress{display:flex;align-items:center;gap:8px}.placement-tile-overlay{position:fixed;top:calc(var(--hud-height) + 16px);left:16px;z-index:500;display:flex;flex-direction:column;align-items:center;gap:10px;width:260px;box-sizing:border-box;background:rgba(12,8,32,0.94);border:1px solid rgba(255,235,178,0.6);border-radius:10px;padding:14px 16px 16px;box-shadow:0 8px 28px rgba(0,0,0,0.6);text-align:center}.placement-tile-overlay .placement-tile-text{min-width:0}.placement-tile-label{font-family:var(--font-read);font-size:calc(20px * var(--text-k, 1));font-weight:bold;line-height:1.2;color:var(--accent-gold, #ffebb2);margin-bottom:4px}.placement-tile-hint{font-family:var(--font-read);font-size:calc(16px * var(--text-k, 1));color:#f4efff;line-height:1.35}.player-tile-deck-item{cursor:grab;width:112px;height:112px;display:block;touch-action:none}.player-tile-deck-item:hover .player-tile-preview-tile{filter:brightness(1.12) drop-shadow(0 0 6px rgba(255,255,255,0.35))}#new-player-tile-deck{order:-1;flex:0 0 auto;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;filter:drop-shadow(0 6px 8px rgba(0,0,0,0.55))}.shrine-dot{width:14px;height:14px;border-radius:50%;background:#1b1b1b;border:2px solid #3e3e3e;transition:background 0.3s,border-color 0.3s,box-shadow 0.3s;flex-shrink:0}.shrine-dot[data-element=earth]{--dot-color: var(--earth-color)}.shrine-dot[data-element=water]{--dot-color: var(--water-color)}.shrine-dot[data-element=fire]{--dot-color: var(--fire-color)}.shrine-dot[data-element=wind]{--dot-color: var(--wind-color)}.shrine-dot[data-element=void]{--dot-color: var(--void-color)}.shrine-dot.complete{background:var(--dot-color);border-color:var(--dot-color);box-shadow:0 0 6px var(--dot-color)}.shrine-dot.pen-plate{border-color:transparent;background:var(--pen-plate) center / 100% 100% no-repeat;box-shadow:none}.shrine-dot.complete.pen-plate{filter:drop-shadow(0 0 4px var(--dot-color))}.hud-ap-pips{display:flex;align-items:center;gap:4px}.ap-pip{width:10px;height:10px;border-radius:2px;background:#1b1b1b;border:1.5px solid #545454;transition:background 0.15s,border-color 0.15s;flex-shrink:0}.ap-pip.filled{background:var(--accent-orange);border-color:var(--accent-gold)}.ap-pip.ap-pip-flame{position:relative;animation:ap-pip-flame calc(0.7s + var(--bm, 1) * 0.22s) ease-out backwards}.ap-pip.ap-pip-flame::after{content:"";position:absolute;left:50%;bottom:55%;width:calc(6px + var(--bm, 1) * 1.5px);height:calc(9px + var(--bm, 1) * 3px);transform:translateX(-50%);border-radius:50% 50% 35% 35% / 65% 65% 35% 35%;background:radial-gradient(ellipse at 50% 80%,#fff3b0 0%,#ffb22e 35%,#ff4a12 70%,transparent 100%);filter:blur(0.6px);pointer-events:none;animation:ap-pip-flame-tongue calc(0.7s + var(--bm, 1) * 0.22s) ease-out both;animation-delay:inherit}@keyframes ap-pip-flame{0%{background:#fff2a8;border-color:#fff;box-shadow:0 0 calc(4px + var(--bm, 1) * 3px) #ffb22e}30%{background:#ff7a1a;border-color:#ffd25a;box-shadow:0 0 calc(6px + var(--bm, 1) * 4px) #ff5a12}100%{box-shadow:0 0 0 transparent}}@keyframes ap-pip-flame-tongue{0%{opacity:0;transform:translateX(-50%) scaleY(0.3)}25%{opacity:1;transform:translateX(-50%) scaleY(1.1) skewX(4deg)}55%{opacity:0.9;transform:translateX(-50%) scaleY(0.9) skewX(-5deg)}100%{opacity:0;transform:translateX(-50%) translateY(-4px) scaleY(0.4)}}@media (prefers-reduced-motion: reduce){.ap-pip.ap-pip-flame,.ap-pip.ap-pip-flame::after{animation:none}}.hud-ap{display:flex;align-items:center;gap:var(--space-sm);padding:6px 14px;background:var(--accent-orange);border-radius:var(--radius-md);font-weight:bold}.hud-ap-value{font-family:var(--font-mono);font-size:16px;font-weight:500}.hud-ap-label{font-size:11px;opacity:0.9}.hud-timer{display:flex;align-items:center;gap:var(--space-sm);padding:4px 12px;background:var(--bg-card);border-radius:2px;font-size:26px;font-family:var(--font-terminal);font-weight:600;border:2px solid var(--border-subtle);color:var(--text-primary);letter-spacing:1px}.hud-timer.warning{background:#9b3f00;border-color:#ffb200;animation:timer-pulse 1s infinite}@keyframes timer-pulse{0%,100%{opacity:1}50%{opacity:0.7}}.hud-toggle-btn{background:transparent;border:1px solid var(--border-subtle);color:var(--text-secondary);padding:6px 10px;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;transition:transform 0.05s}.hud-toggle-btn:hover{background:var(--bg-card);color:var(--text-primary);border-color:var(--accent-gold)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:2px solid #ffcc9d;background:#000}.panel-title{font-family:var(--font-pixel);font-size:13px;color:#ffcc9d;text-transform:uppercase;letter-spacing:1px;text-shadow:1px 1px 0 #000}.panel-content{padding:var(--space-md);flex:1}.stone-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.stone-card{background:#000006;border:2px solid #272727;border-radius:2px;padding:4px 8px;display:flex;align-items:center;gap:6px;cursor:grab;transition:box-shadow 0.05s,border-color 0.05s;box-shadow:2px 2px 0 #000}.stone-card:hover{border-color:#ffcc9d;box-shadow:3px 3px 0 #000}.stone-card:active{cursor:grabbing;box-shadow:none;transform:translate(2px,2px)}.stone-card svg{display:block;flex-shrink:0}.stone-card .count{font-family:var(--font-terminal);font-size:16px;font-weight:bold;color:#fff;line-height:1;-webkit-text-stroke:0.5px rgba(255,255,255,0.4);text-shadow:0 0 3px rgba(255,255,255,0.3)}.es-body{padding:4px 8px}.es-body .stone-card{flex:1;position:relative}.es-return-label{display:none;position:absolute;inset:0;align-items:center;justify-content:center;font-family:var(--font-sans);font-size:11px;font-weight:700;color:#fff;background:rgba(0,0,0,0.55);text-shadow:1px 1px 0 #000;border-radius:2px;pointer-events:none}.stone-card.drag-return-target .es-return-label{display:flex}.stone-card.drag-return-target{border-color:currentColor;box-shadow:0 0 14px currentColor}.stone-card[data-element=earth].drag-return-target{color:#6fff31}.stone-card[data-element=water].drag-return-target{color:#58a7ff}.stone-card[data-element=fire].drag-return-target{color:#ff083c}.stone-card[data-element=wind].drag-return-target{color:#fff400}.stone-card[data-element=void].drag-return-target{color:#a758ff}.stone-card .source{font-family:var(--font-terminal);font-size:11px;color:#f1f1f1}.section-label{font-family:var(--font-pixel);font-size:11px;color:#ffcc9d;text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--space-sm);text-shadow:1px 1px 0 #000}.scroll-browse-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.8);display:flex;align-items:center;justify-content:center;z-index:2000}.scroll-browse-content{background:var(--bg-panel);border-radius:var(--radius-lg);padding:var(--space-lg);max-width:500px;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px rgba(0,0,0,0.5)}.scroll-browse-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-subtle)}.scroll-browse-header h3{margin:0;color:var(--text-primary)}.scroll-browse-close{background:none;border:none;color:var(--text-muted);font-size:24px;cursor:pointer;padding:0;line-height:1}.scroll-browse-close:hover{color:var(--text-primary)}.scroll-browse-list{display:flex;flex-direction:column;gap:var(--space-sm)}.scroll-browse-item{background:var(--bg-card);border-radius:var(--radius-md);padding:var(--space-md);cursor:pointer;transition:transform 0.2s,box-shadow 0.2s,border-color 0.2s;border:2px solid transparent}.scroll-browse-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.3);border-color:var(--border-accent)}.scroll-browse-item .scroll-name{font-weight:bold;color:var(--text-primary);margin-bottom:4px}.scroll-browse-item .scroll-desc{font-size:12px;color:var(--text-secondary)}.scroll-browse-item .scroll-level{font-size:10px;color:var(--text-muted);margin-top:4px}.scroll-browse-footer{margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--border-subtle);display:flex;gap:var(--space-sm);justify-content:flex-end}.scroll-browse-footer button{padding:8px 16px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px}.scroll-browse-footer .btn-shuffle{background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-primary)}.scroll-browse-footer .btn-shuffle:hover{background:var(--bg-panel)}.scroll-browse-footer .btn-close{background:var(--accent-color);border:none;color:#fff}.scroll-browse-footer .btn-close:hover{filter:brightness(1.1)}.board-area{grid-area:board;background:var(--bg-dark);overflow:hidden;position:relative;display:flex}.board-viewport{position:fixed;overflow:hidden;z-index:1;pointer-events:none}.board-container{position:absolute;inset:150px;pointer-events:auto;background:transparent;overflow:visible;padding:0}#boardSvg{will-change:transform;display:block;width:100%;height:100%;overflow:visible}#new-opponent-cards,#game-log-body-wrap{flex-direction:column;align-items:stretch}#new-opponent-cards{overflow-x:hidden;overflow-y:auto}#game-log-tabs{display:flex;gap:4px;flex-shrink:0;margin-bottom:6px}#game-log-tabs .gl-tab{font:inherit;font-size:11px;padding:2px 10px;border-radius:5px;cursor:pointer;border:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary)}#game-log-tabs .gl-tab.on{color:var(--text-primary, #fff);border-color:var(--text-secondary)}#game-log-alliances{flex:1 1 auto;min-height:0;overflow-y:auto;font-family:var(--font-terminal);font-size:12px;line-height:1.45}.gl-ally-h{color:var(--text-secondary);font-weight:600;font-size:10px;letter-spacing:0.5px;text-transform:uppercase;margin:6px 0 2px}.gl-ally-bot{margin:4px 0}.gl-ally-row{padding-left:8px}.gl-ally-dim{color:var(--text-secondary)}.gl-ally-pact{color:#fffc84}#game-log-body-wrap.gl-ally-mode #game-log-buffs,#game-log-body-wrap.gl-ally-mode #game-log-content{display:none!important}#game-log-buffs{display:flex;flex-direction:column;align-items:stretch;flex-shrink:0;gap:3px;padding-bottom:6px;margin-bottom:6px;border-bottom:1px solid var(--border-subtle);font-family:var(--font-terminal);font-size:12px}.gl-buffs-title{color:var(--text-secondary);font-weight:600;font-size:10px;letter-spacing:0.5px;text-transform:uppercase}.gl-buff-row{padding:2px 0 2px 6px;border-left:2px solid var(--text-muted);color:var(--text-primary);word-break:break-word}#game-log-content{display:flex;flex-direction:column;align-items:stretch;flex:1;min-height:0;gap:3px;font-family:var(--font-terminal);font-size:13px;line-height:1.35;overflow-x:hidden;overflow-y:auto}.gl-line{color:var(--text-primary);word-break:break-word}.gl-turn-header{margin-top:8px;padding-top:6px;border-top:1px solid var(--border-subtle);color:var(--text-secondary);font-weight:600;letter-spacing:0.3px}.gl-turn-header:first-child{margin-top:0;padding-top:0;border-top:none}.gl-move{color:var(--text-secondary);font-style:italic}.gl-counter,.gl-negated{color:#ff4833;font-weight:600}.gl-mult{color:var(--accent-gold);font-weight:700;font-size:0.9em}.opponent-card{background:color-mix(in srgb,#000006 60%,transparent);border:1px solid #1e1e31;border-left:4px solid var(--text-muted);border-radius:4px;padding:7px 10px 8px;box-shadow:none;cursor:pointer;display:flex;flex-direction:column;gap:4px}.opponent-card.active-turn{border-color:#ffb200;background:color-mix(in srgb,#020000 70%,transparent)}.opponent-header{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:2px}.opponent-name{font-family:var(--font-terminal);font-size:16px;line-height:1.15;min-width:0;overflow-wrap:anywhere;text-shadow:0 1px 2px rgba(0,0,0,0.8)}.opp-you{font-size:11px;color:#dbdbdb;border:1px solid #545454;border-radius:3px;padding:0 4px;margin-left:4px;vertical-align:middle}.opponent-ap{font-family:var(--font-terminal);font-size:14px;padding:1px 7px;border-radius:3px;background:color-mix(in srgb,#060606 70%,transparent);border:1px solid #463100;color:#ffcc3a;line-height:1.3;white-space:nowrap;flex-shrink:0;display:flex;align-items:center;gap:3px}.opp-void-ap{color:#d29dff;display:inline-flex;align-items:center}.opp-void-ap .element-icon-sm{width:13px;height:13px}.element-icon-sm{width:20px;height:20px;vertical-align:middle;mix-blend-mode:screen;image-rendering:pixelated}.win-pip{opacity:0.2;filter:grayscale(1)}.win-pip-active{opacity:1;filter:none}.opp-row{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:6px;min-height:20px}.opp-label{font-family:var(--font-terminal);font-size:11px;color:#9a9aae;text-transform:uppercase;letter-spacing:0.5px;white-space:nowrap}.opp-value{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-width:0}.opp-none{font-family:var(--font-terminal);font-size:12px;color:#5d5d6b}.opp-pip{width:16px!important;height:16px!important;opacity:0.18;filter:grayscale(1)}.opp-pip.on{opacity:1;filter:none}.opponent-stone{font-family:var(--font-terminal);font-size:13px;padding:0 5px 0 2px;background:color-mix(in srgb,#000 70%,transparent);border:1px solid #272727;border-radius:3px;line-height:1.4;display:inline-flex;align-items:center;gap:2px}.opponent-stone .element-icon-sm{width:15px;height:15px}.opp-hand-icon{width:18px!important;height:18px!important}.opponent-scroll-card{display:inline-flex;align-items:center;gap:4px;max-width:100%;background:color-mix(in srgb,#00001b 60%,transparent);border:1px solid #5b460e;border-radius:3px;padding:1px 6px 1px 3px;cursor:help;transition:background-color 0.1s ease}.opponent-scroll-card:hover{background:color-mix(in srgb,#00001b 90%,transparent);border-color:#ffb200}.opponent-scroll-card .element-icon-sm{width:15px;height:15px;flex-shrink:0}.opponent-scroll-name{font-family:var(--font-terminal);font-size:13px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opp-row.opp-row-list{grid-template-columns:1fr;gap:2px}.opp-scroll-list{display:flex;flex-direction:column;gap:1px;min-width:0;width:100%}.opp-scroll-list .opp-scroll-row,.opp-scroll-list .opponent-scroll-card{display:flex;align-items:baseline;gap:6px;padding:2px 6px;border:none;border-radius:2px;background:color-mix(in srgb,var(--bg-panel, #0a0425) 45%,transparent);max-width:100%;min-width:0}.opp-scroll-list .opponent-scroll-card{cursor:help}.opp-scroll-list .opponent-scroll-card:hover{background:rgba(255,255,255,0.08);border:none}.opp-scroll-row .fsp-compact-dot{align-self:center}.opp-scroll-row .opponent-scroll-name{font-size:14px;color:#fff;flex-shrink:0;max-width:75%}.opp-scroll-hidden .opponent-scroll-name{color:#afafc2;font-style:italic}.opp-scroll-meta{font-family:var(--font-sans);font-size:11px;color:#d0cae1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.smf-chip{position:fixed;z-index:9000;pointer-events:none;display:flex;align-items:baseline;gap:6px;padding:4px 10px 4px 8px;background:color-mix(in srgb,#00000d 92%,transparent);border:1px solid var(--smf-color, #979797);border-radius:4px;box-shadow:0 0 10px 1px color-mix(in srgb,var(--smf-color, #979797) 70%,transparent),0 4px 14px rgba(0,0,0,0.6);white-space:nowrap;will-change:transform,opacity}.smf-chip::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;border-radius:4px 4px 0 0;background:var(--smf-grad, var(--smf-color, #979797))}.smf-trail{filter:blur(1px);box-shadow:none}.smf-dot{width:8px;height:8px;border-radius:50%;align-self:center;flex-shrink:0}.smf-dot.smf-dot-sym{width:18px;height:18px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 6px var(--smf-color, #979797)}.smf-dot.smf-dot-sym img{width:14px;height:14px;object-fit:contain;mix-blend-mode:screen;filter:brightness(1.6)}.smf-name{font-family:var(--font-terminal);font-size:15px}.smf-meta{font-family:var(--font-sans);font-size:11px;color:#ede7fe}.smf-chip.smf-burn{border-color:#ff8506;animation:smf-burn-glow 0.35s ease-in-out infinite alternate}.smf-chip.smf-burn .smf-name{text-shadow:0 0 4px #ff7000}@keyframes smf-burn-glow{from{box-shadow:0 0 8px 1px rgba(255,112,0,0.75),0 4px 14px rgba(0,0,0,0.6)}to{box-shadow:0 0 16px 4px rgba(255,196,51,0.9),0 4px 14px rgba(0,0,0,0.6)}}.smf-flames{position:absolute;left:0;right:0;bottom:100%;height:0;pointer-events:none}.smf-flame{position:absolute;bottom:-4px;width:9px;height:var(--h, 14px);margin-left:-4px;border-radius:50% 50% 45% 45% / 65% 65% 35% 35%;background:radial-gradient(ellipse at 50% 80%,#ffffcc 0%,#ffd042 35%,#ff5b00 70%,rgba(255,51,0,0) 100%);transform-origin:50% 100%;animation:smf-flame 0.42s ease-in-out infinite alternate;filter:blur(0.4px)}@keyframes smf-flame{0%{transform:scale(0.75,0.7) translateX(-1px);opacity:0.8}50%{transform:scale(1,1.1) translateX(1px);opacity:1}100%{transform:scale(0.85,0.85) translateX(0);opacity:0.85}}.smf-landed{animation:smf-landed 0.6s ease-out}@keyframes smf-landed{0%{box-shadow:0 0 0 0 transparent;filter:brightness(1)}25%{box-shadow:0 0 0 2px var(--smf-color, #fff),0 0 14px 2px var(--smf-color, #fff);filter:brightness(1.5)}100%{box-shadow:0 0 0 0 transparent;filter:brightness(1)}}.player-flash{animation:player-flash 1.3s ease-out}g.player-flash{animation-name:player-flash-svg}@keyframes player-flash{0%,100%{box-shadow:0 0 0 0 transparent}20%,55%{box-shadow:0 0 0 2px var(--flash-color),0 0 14px 2px var(--flash-color)}}@keyframes player-flash-svg{0%,100%{filter:none}20%,55%{filter:drop-shadow(0 0 3px var(--flash-color)) drop-shadow(0 0 6px var(--flash-color))}}.fsp-body.rulebook-body{flex-direction:column;align-items:stretch;overflow-x:hidden;overflow-y:hidden;padding:0;gap:0}.rulebook-search-wrap{padding:8px 8px 0;flex-shrink:0}.rulebook-search{width:100%;box-sizing:border-box;background:color-mix(in srgb,#000006 55%,transparent);border:1px solid var(--border-subtle, #272727);border-radius:3px;padding:6px 8px;font-family:var(--font-terminal);font-size:14px;color:var(--text-primary, #fff)}.rulebook-search::placeholder{color:var(--text-muted, #979797)}.rulebook-search:focus{outline:none;border-color:var(--accent-gold, #ffff00)}.rulebook-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:8px 8px 6px;flex-shrink:0;border-bottom:1px solid var(--border-subtle, #272727)}.rulebook-tab-btn{font-family:var(--font-pixel);font-size:10px;letter-spacing:0.5px;padding:5px 9px;border:1px solid color-mix(in srgb,var(--tab-color, #979797) 40%,transparent);background:transparent;color:color-mix(in srgb,var(--tab-color, #979797) 60%,#aeaeae);border-radius:3px 3px 0 0;cursor:pointer}.rulebook-tab-btn:hover{color:var(--tab-color, #979797)}.rulebook-tab-btn.active{background:color-mix(in srgb,var(--tab-color, #979797) 16%,transparent);color:var(--tab-color, #979797);border-color:var(--tab-color, #979797)}.rulebook-list{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:8px}.rulebook-entry{background:color-mix(in srgb,#000006 55%,transparent);border:1px solid rgba(255,255,255,0.07);border-left:3px solid var(--el-color, #979797);border-radius:0 4px 4px 0;padding:8px 10px}.rulebook-entry-title{font-family:var(--font-terminal);font-size:16px;color:var(--el-color, #fff);margin-bottom:4px}.rulebook-entry-body{font-family:var(--font-terminal);font-size:14px;color:var(--text-secondary, #dbdbdb);line-height:1.45}.rulebook-empty{color:var(--text-muted, #979797);font-size:13px;text-align:center;padding:20px 8px;font-style:italic}.action-bar{display:none}.action-group{display:flex;align-items:center;gap:var(--space-sm)}.action-divider{width:1px;height:28px;background:var(--border-subtle)}.dock-bar{grid-area:dock;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:0 20px;background:var(--bg-panel);border-top:2px solid var(--border-subtle);z-index:var(--z-hud);height:72px;box-sizing:border-box}.dock-right-spacer{}.dock-players{display:flex;align-items:center;gap:8px;justify-content:flex-start;overflow:hidden}.dock-player-card{display:flex;align-items:center;gap:6px;padding:4px 10px;background:rgba(255,255,255,0.04);border:1px solid var(--border-subtle);border-radius:4px;min-width:80px;max-width:140px;flex-shrink:0}.dock-player-card.active-player{border-color:var(--accent-gold);background:rgba(255,204,157,0.08)}.dock-player-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dock-player-name{font-family:var(--font-sans);font-size:11px;font-weight:500;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.dock-player-ap{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);flex-shrink:0}.dock-actions{display:flex;align-items:center;justify-content:center;gap:10px}.dock-actions button{font-family:var(--font-sans);font-size:13px;font-weight:600;padding:10px 22px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.18);color:var(--text-primary);border-radius:6px;cursor:pointer;white-space:nowrap;letter-spacing:0.3px;transition:background 0.15s,border-color 0.15s,color 0.15s,box-shadow 0.15s}.dock-actions button:hover{background:rgba(255,255,255,0.12);border-color:var(--accent-gold);color:#fff;box-shadow:0 0 10px rgba(255,204,157,0.2)}.dock-actions button.primary{background:var(--accent-orange);border-color:var(--accent-orange-hover);color:#fff;font-size:14px;padding:11px 28px;box-shadow:0 2px 12px rgba(243,148,55,0.35)}.dock-actions button.primary:hover{background:var(--accent-orange-hover);box-shadow:0 4px 20px rgba(243,148,55,0.55)}.dock-actions button.danger{border-color:#e12f1d;color:#ff4833}.dock-actions button.danger:hover{background:rgba(225,47,29,0.15);border-color:#ff4833}.hud-scroll-decks-pips{display:flex;align-items:center;gap:10px;margin-right:6px;padding-right:10px;border-right:1px solid var(--border-subtle)}.scrolldeck-pip{display:flex;align-items:center;gap:3px;flex-shrink:0;cursor:pointer;transition:opacity 0.2s}.scrolldeck-pip-icon{width:22px;height:22px;image-rendering:pixelated;flex-shrink:0}.scrolldeck-pip-count{font-family:var(--font-terminal);font-size:14px;font-weight:bold;color:#fff;text-shadow:1px 1px 0 #000}.scrolldeck-pip.empty{opacity:0.35}button{background:var(--bg-card);color:var(--text-primary);border:2px solid var(--border-subtle);padding:8px 14px;border-radius:var(--radius-md);cursor:crosshair;font-family:var(--font-terminal);font-size:32px;font-weight:normal;transition:transform 0.05s,box-shadow 0.05s;box-shadow:3px 3px 0 #000;display:flex;align-items:center;gap:var(--space-xs)}button:hover{background:var(--bg-elevated);border-color:var(--accent-gold);box-shadow:3px 3px 0 #000}button:active{transform:translate(3px,3px);box-shadow:none;transition:none}button.primary{background:var(--accent-orange);border-color:var(--accent-orange);color:white}button.primary:hover{background:var(--accent-orange-hover)}button.danger{background:#e12f1d;border-color:#e12f1d;color:white}button.danger:hover{background:#ff4833}button:disabled{opacity:0.5;cursor:not-allowed}#status{grid-area:status;display:flex;align-items:center;padding:4px var(--space-lg);background:var(--bg-panel);border-bottom:2px solid var(--border-subtle);font-family:var(--font-terminal);font-size:22px;color:#ede7fe;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:var(--z-hud);pointer-events:none;letter-spacing:0.3px;transition:color 0.3s}svg{display:block}.hex-tile{fill:#fcbe7d;stroke:#1e364e;stroke-width:2;transition:stroke 0.18s ease,stroke-width 0.18s ease}.hex-tile.flipped{fill:#9b7c54}.hex-tile.empty-center{fill:none}.placed-tile.player-tile .hex-tile{fill:#9b7c54}.placed-tile.player-tile .hex-tile.empty-center{fill:none}.placed-tile{cursor:grab}.placed-tile.has-stones{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><text y="18" font-size="18">࿈</text></svg>') 12 12,default}.placed-tile:hover .hex-tile{stroke:#c4c4c4;stroke-width:4}.placed-tile[data-shrine=earth]:hover .hex-tile{stroke:#46b519;stroke-width:4}.placed-tile[data-shrine=water]:hover .hex-tile{stroke:#3178ec;stroke-width:4}.placed-tile[data-shrine=fire]:hover .hex-tile{stroke:#e10023;stroke-width:4}.placed-tile[data-shrine=wind]:hover .hex-tile{stroke:#ecb700;stroke-width:4}.placed-tile[data-shrine=void]:hover .hex-tile{stroke:#782eec;stroke-width:4}.placed-tile[data-shrine=catacomb]:hover .hex-tile{stroke:#b78d4e;stroke-width:4}.ghost-tile{opacity:0.4}.player-tile-preview{opacity:0.75;animation:preview-pulse 1s ease-in-out infinite}.player-tile-preview .preview-outline{fill:none;stroke:#ffebb2;stroke-width:5;stroke-dasharray:12 6;pointer-events:none}@keyframes preview-pulse{0%,100%{opacity:0.75}50%{opacity:1}}.move-preview{pointer-events:none;animation:move-preview-pulse 0.8s ease-in-out infinite}.move-preview circle{fill:rgba(255,235,178,0.25);stroke:#ffebb2;stroke-width:3;stroke-dasharray:7 4}@keyframes move-preview-pulse{0%,100%{opacity:0.7}50%{opacity:1}}.stone-preview{pointer-events:none;animation:stone-preview-pulse 0.8s ease-in-out infinite}@keyframes stone-preview-pulse{0%,100%{opacity:0.5}50%{opacity:0.85}}@keyframes scroll-popup-spin{to{transform:rotate(360deg)}}.catacomb-preview{pointer-events:none;animation:catacomb-preview-pulse 0.7s ease-in-out infinite}@keyframes catacomb-preview-pulse{0%,100%{opacity:0.65}50%{opacity:1}}.shrine-marker{pointer-events:none}.snap-indicator{fill:none;stroke:#21f179;stroke-width:4;opacity:0;pointer-events:none}.snap-indicator.active{opacity:0.8}.stone{cursor:grab;pointer-events:all;z-index:100}.stone:hover:not(.stone-ghost) .stone-piece{stroke-width:3}.stone:hover:not(.stone-ghost) .bead-edge{stroke-width:2;stroke-opacity:0.9}.stone.stone-highlighted .stone-piece{stroke-opacity:1!important}.player:hover .pawn3d-outline{fill:#fff}.pawn3d-pic .pawn3d-hover{opacity:0}.player:hover .pawn3d-pic .pawn3d-hover{opacity:1}.stone:active{cursor:grabbing}.stone-piece{stroke:#000;stroke-width:2}.stone-ghost{opacity:0.5;transition:none;pointer-events:none}.player{cursor:grab;pointer-events:all;z-index:150}.player:hover .player-marker{stroke-width:3}.player:active{cursor:grabbing}.player-marker{stroke:#000;stroke-width:2}.teleport-indicator{cursor:pointer;pointer-events:all}.teleport-indicator:not(.tp-marker):hover{opacity:0.8!important}.deck-tile{cursor:grab;transition:transform 0.2s}.deck-tile:hover{transform:scale(1.05)}.deck-tile:active{cursor:grabbing}@keyframes pulse{0%,100%{transform:scale(1);opacity:0.5}50%{transform:scale(1.1);opacity:0.7}}.excavate-shield{animation:es-in 0.6s ease-out both}.excavate-shield.es-out{animation:es-out 0.55s ease-in forwards}@keyframes es-in{from{opacity:0}to{opacity:1}}@keyframes es-out{from{opacity:1}to{opacity:0}}.excavate-shield .es-body{animation:es-breathe 2.8s ease-in-out infinite}.excavate-shield .es-edge{opacity:0.8}.excavate-shield .es-shine{opacity:0.22}.excavate-shield .es-spin{transform-box:view-box;transform-origin:0 0}.excavate-shield .es-spin-a{animation:spin 3.4s linear infinite;opacity:0.85}.excavate-shield .es-spin-b{animation:spin 4.6s linear infinite reverse;opacity:0.8}@keyframes es-breathe{0%,100%{opacity:0.75}50%{opacity:1}}.opponent-card.excavate-shield{position:relative;animation:es-card 2.8s ease-in-out infinite}.opponent-card.excavate-shield::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,transparent 30%,rgba(211,157,255,0.22) 45%,rgba(137,255,74,0.18) 55%,transparent 70%);background-size:250% 100%;animation:es-sheen 3.2s linear infinite}@keyframes es-card{0%,100%{box-shadow:0 0 0 1px rgba(211,157,255,0.8),0 0 10px 1px rgba(177,113,254,0.55)}50%{box-shadow:0 0 0 1px rgba(137,255,74,0.8),0 0 12px 2px rgba(111,255,49,0.45)}}@keyframes es-sheen{from{background-position:120% 0}to{background-position:-120% 0}}@media (prefers-reduced-motion: reduce){.excavate-shield .es-body,.excavate-shield .es-spin,.opponent-card.excavate-shield,.opponent-card.excavate-shield::after{animation:none}}.tp-marker>*{pointer-events:none}.tp-marker>.tp-hit{pointer-events:all}.tp-marker .tp-fill{opacity:0.1;transition:opacity 0.2s}.tp-marker .tp-glow{opacity:0.35;filter:blur(2px);animation:tp-breathe 2.6s ease-in-out infinite}.tp-marker .tp-edge{opacity:0.75;transition:opacity 0.2s}.tp-marker .tp-sym{opacity:0.6;transition:opacity 0.2s}.tp-marker .tp-ring{opacity:0;transform-box:fill-box;transform-origin:center;transition:opacity 0.2s;animation:spin 4s linear infinite}.tp-marker.tp-flight .tp-ring{animation-duration:1.6s}.tp-marker .tp-ghost{opacity:0.4}.tp-marker:hover .tp-fill{opacity:0.22}.tp-marker:hover .tp-edge{opacity:1}.tp-marker:hover .tp-glow{opacity:0.85;animation:none}.tp-marker:hover .tp-sym{opacity:0}.tp-marker:hover .tp-ring{opacity:1}.tp-marker:not(:hover) .tp-ghost{display:none}@keyframes tp-breathe{0%,100%{opacity:0.25}50%{opacity:0.6}}.tp-marker.tp-catacomb .tp-fill{opacity:0.22}.tp-marker.tp-catacomb .tp-edge{opacity:1;stroke-width:2.2}.tp-marker.tp-catacomb .tp-glow{opacity:0.55;animation-name:tp-breathe-strong}.tp-marker .tp-wave{transform-box:fill-box;transform-origin:center;opacity:0;animation:tp-inward 2.4s linear infinite}.tp-marker:hover .tp-waves{opacity:0.5}@keyframes tp-breathe-strong{0%,100%{opacity:0.45}50%{opacity:0.95}}@keyframes tp-inward{0%{transform:scale(2.4);opacity:0}25%{transform:scale(1.9);opacity:0.85}75%{transform:scale(0.75);opacity:0.7}100%{transform:scale(0.15);opacity:0}}@media (prefers-reduced-motion: reduce){.tp-marker .tp-glow,.tp-marker .tp-ring{animation:none}.tp-marker .tp-wave{animation:none;opacity:0.6;transform:scale(1.8)}.tp-marker .tp-wave:nth-child(2){transform:scale(1.3)}.tp-marker .tp-wave:nth-child(3){transform:scale(0.8)}}@keyframes catacomb-teleport-pulse{0%,100%{transform:scale(1);opacity:0.45}50%{transform:scale(1.04);opacity:0.6}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}#tile-deck-header,#tile-deck-container{display:none!important}.mobile-deck-container{display:none!important}.inventory-header,.inventory-title,.inventory-close-btn{display:none}.deck-panel{display:none}.game-container{display:none!important}@media (max-width: 1199px){:root{--panel-width: 200px}}@media (max-width: 1023px){:root{--panel-width: 180px;--hud-height: 48px;--action-bar-height: 52px}.hud-bar{padding:0 var(--space-md)}.hud-badge{padding:3px 8px;font-size:11px}.hud-ap{padding:4px 10px}.hud-ap-value{font-size:16px}button{padding:6px 10px;font-size:12px}.action-group{gap:var(--space-xs)}}@media (max-width: 767px){:root{--hud-height: 44px;--action-bar-height: 48px}.hud-section.middle{display:none}.hud-badges{gap:4px}.hud-badge{padding:2px 6px;font-size:10px}.action-bar{gap:var(--space-sm);overflow-x:auto;justify-content:flex-start;padding:0 var(--space-sm)}.action-divider{display:none}button{padding:6px 8px;font-size:11px;white-space:nowrap}#status{font-size:18px;padding:3px var(--space-md)}}#response-window-overlay{animation:responseOverlayFadeIn 0.3s ease-out}@keyframes responseOverlayFadeIn{from{opacity:0}to{opacity:1}}#response-window-modal{animation:responseModalSlideIn 0.3s ease-out}@keyframes responseModalSlideIn{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}#response-window-modal{animation:responseModalSlideIn 0.3s ease-out,responsePulse 2s ease-in-out infinite}@keyframes responsePulse{0%,100%{box-shadow:0 0 30px rgba(255,63,99,0.5)}50%{box-shadow:0 0 50px rgba(255,63,99,0.8),0 0 80px rgba(255,63,99,0.3)}}#response-timer.warning{color:#ff4833!important;animation:timerPulse 0.5s ease-in-out infinite}@keyframes timerPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}#scroll-inventory-popup{font-family:var(--font-terminal)!important;background:#000006!important;border:2px solid #3e3e3e!important;border-radius:2px!important;box-shadow:6px 6px 0 #000!important;padding:20px!important;color:#fff!important}#scroll-inventory-popup h2.si-title{font-family:var(--font-terminal);font-size:26px;letter-spacing:2px;text-transform:uppercase;text-align:center;margin:0 0 2px 0}.si-subtitle{font-family:var(--font-terminal);font-size:16px;color:#f1f1f1;text-align:center;margin-bottom:14px}.si-close{position:absolute;right:10px;top:10px;font-family:var(--font-terminal);font-size:28px;background:transparent;border:none;color:#f1f1f1;cursor:pointer;line-height:1}.si-close:hover{color:#fff}.si-section{background:#00001b;border:2px solid #272727;border-radius:2px;padding:12px;margin-bottom:14px}.si-section.si-active{border-color:#ffb200}.si-section.si-common{border-color:#b159d4}.si-section.si-hand{border-color:#29adff}.si-section-header{font-family:var(--font-terminal);font-size:19px;letter-spacing:1px;text-transform:uppercase;margin:0 0 10px 0}.si-section.si-active .si-section-header{color:#ffb200}.si-section.si-common .si-section-header{color:#b159d4}.si-section.si-hand .si-section-header{color:#29adff}.si-card{background:#060621;border:2px solid #272727;border-radius:2px;padding:10px;margin-bottom:8px}.si-card.si-card-active{border-color:#ffb200}.si-card-header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}.si-card-name{font-family:var(--font-terminal);font-size:20px;font-weight:bold;flex:1}.si-btn{font-family:var(--font-terminal);font-size:16px;padding:2px 10px;border:2px solid;border-radius:2px;cursor:pointer;letter-spacing:1px;white-space:nowrap;box-shadow:2px 2px 0 #000}.si-btn:active{transform:translate(1px,1px);box-shadow:none}.si-btn-active-area{background:#063106;color:#48cb4e;border-color:#48cb4e}.si-btn-active-area:hover{background:#48cb4e;color:#000}.si-btn-common{background:#310606;color:#ff4833;border-color:#ff4833}.si-btn-common:hover{background:#ff4833;color:#fff}.si-card-desc{font-family:var(--font-terminal);font-size:16px;color:#ede7fe;margin-bottom:8px}.si-element-label{font-family:var(--font-terminal);font-size:18px;font-weight:bold;margin:10px 0 5px 0}.si-pattern-box{font-family:var(--font-terminal);font-size:14px;color:#c3bcd7;background:#000006;border:1px solid #1b1b31;padding:8px;margin-top:8px}.si-pattern-title{color:#ede7fe;margin-bottom:4px}.si-pattern-line{margin-left:10px;margin-top:2px}.si-pattern-more{margin-left:10px;margin-top:2px;font-style:italic;color:#f1f1f1}.si-common-item{background:#060621;border:2px solid #272727;border-left:4px solid #b159d4;border-radius:2px;padding:8px;margin-bottom:6px}.si-common-item-name{font-family:var(--font-terminal);font-size:18px;font-weight:bold}.si-common-item-desc{font-family:var(--font-terminal);font-size:14px;color:#ede7fe;margin-top:2px}.si-common-note{font-family:var(--font-terminal);font-size:16px;color:#d0cae1;margin-bottom:8px}.si-empty{font-family:var(--font-terminal);font-size:16px;color:#c3bcd7;font-style:italic}.si-tip{font-family:var(--font-terminal);font-size:15px;color:#f1f1f1;background:#000006;border:1px solid #1b1b31;border-radius:2px;padding:10px}.response-scroll-card{transition:all 0.2s ease}.response-scroll-card:hover{transform:translateX(5px);box-shadow:-3px 0 0 var(--fire-color)}.counter-badge{background:linear-gradient(135deg,#ff4833,#e12f1d);text-transform:uppercase;letter-spacing:1px;font-weight:bold}.common-badge{background:linear-gradient(135deg,#b159d4,#8933ad)}@keyframes tutorial-ring-pulse{0%{stroke-opacity:1;r:58}50%{stroke-opacity:0.45;r:66}100%{stroke-opacity:1;r:58}}.tutorial-highlight-ring{animation:tutorial-ring-pulse 1.4s ease-in-out infinite}.tutorial-blocking-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.62);z-index:8600;pointer-events:all}@keyframes tutorial-spotlight-pulse{0%,100%{box-shadow:0 0 0 3px #ffcc9d,0 0 18px 4px rgba(255,204,157,0.5)}50%{box-shadow:0 0 0 3px #ffcc9d,0 0 30px 8px rgba(255,204,157,0.8)}}.tutorial-spotlight{position:relative!important;z-index:8620!important;pointer-events:all!important;border-radius:4px;animation:tutorial-spotlight-pulse 1.4s ease-in-out infinite}.tutorial-modal.tutorial-corner{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;align-items:flex-end;justify-content:flex-end;padding:calc(var(--hud-height, 52px) + 16px) 16px 104px 16px;box-sizing:border-box;background:none;pointer-events:none;z-index:8640}.tutorial-modal.tutorial-corner .tutorial-content{pointer-events:all;background:var(--bg-panel, #1b1b1b);border:2px solid var(--accent-gold, #ffcc9d);border-radius:8px;padding:18px 22px;box-shadow:0 4px 24px rgba(0,0,0,0.7);max-width:410px;max-height:calc(100vh - var(--hud-height, 52px) - 16px - 104px);overflow-y:auto;box-sizing:border-box}.tutorial-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);display:flex;align-items:center;justify-content:center;z-index:8610;opacity:0;transition:opacity 0.25s ease}.tutorial-modal.tutorial-visible{opacity:1}.tutorial-modal.tutorial-fade-out{opacity:0}.tutorial-content{background:var(--bg-panel);border:2px solid var(--accent-gold);border-radius:var(--radius-lg, 4px);padding:0;max-width:520px;width:90%;box-shadow:4px 4px 0 #000;font-family:var(--font-terminal)}.tutorial-modal.tutorial-visible .tutorial-content{transform:translateY(0) scale(1)}.tutorial-modal.tutorial-fade-out .tutorial-content{transform:translateY(-10px) scale(0.97)}.tutorial-header{display:flex;align-items:center;padding:16px 20px 12px;border-bottom:1px solid rgba(255,255,255,0.08);position:relative}.tutorial-header h3{margin:0;flex:1;color:var(--accent-gold);font-family:var(--font-pixel);font-size:17px}.tutorial-step-label{position:absolute;top:6px;left:20px;font-family:var(--font-terminal);font-size:16px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.tutorial-header h3{margin-top:8px}.tmode-exit{background:none;border:1px solid #545454;color:#dbdbdb;font-size:15px;cursor:pointer;padding:2px 8px;border-radius:3px;line-height:1.4;margin-left:auto;flex-shrink:0;transition:color 0.15s,background 0.15s,border-color 0.15s}.tmode-exit:hover{color:#fff;border-color:#ffebb2;background:rgba(255,235,178,0.12)}.tutorial-close{background:none;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer;padding:0 4px;line-height:1;transition:color 0.15s}.tutorial-close:hover{color:#fff}.tutorial-body{padding:16px 20px;color:var(--text-primary);font-family:var(--font-terminal);font-size:24px;line-height:1.55}.tutorial-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 20px 16px;border-top:1px solid rgba(255,255,255,0.08)}.tutorial-dismiss-label{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:12px;cursor:pointer;user-select:none}.tutorial-dismiss-checkbox{accent-color:var(--accent-gold);cursor:pointer}.tutorial-got-it{background:var(--accent-gold);color:var(--bg-dark);border:none;border-radius:6px;padding:9px 26px;font-size:15px;font-weight:bold;cursor:pointer;transition:background 0.15s,transform 0.1s}.tutorial-got-it:hover{background:#ffedb7;transform:translateY(-1px)}.tutorial-got-it:active{transform:translateY(0)}#auth-username:focus,#auth-password:focus{border-color:#ffcc9d;outline:none}#auth-login-btn:hover{background:#edb788}#auth-register-btn:hover{background:#545454}#auth-login-btn:disabled,#auth-register-btn:disabled{opacity:0.6;cursor:default}.gami-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.75);z-index:9000;display:flex;align-items:center;justify-content:center}.gami-modal{background:#060606;border:2px solid #3e3e3e;border-radius:2px;width:90%;max-width:600px;max-height:86vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:6px 6px 0 #000}.gami-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:2px solid #272727}.gami-title{color:#ffcc9d;margin:0;font-size:24px;font-family:var(--font-pixel);text-shadow:2px 2px 0 #000}.gami-close{background:none;border:2px solid #545454;color:#c3bcd7;font-size:22px;cursor:pointer;line-height:1;padding:0 6px;font-family:var(--font-terminal);box-shadow:2px 2px 0 #000}.gami-close:hover{color:#fff;border-color:#aeaeae}.gami-close:active{transform:translate(2px,2px);box-shadow:none;transition:none}.gami-tabs{display:flex;flex-shrink:0;border-bottom:2px solid #272727;padding:0 6px;overflow-x:auto;scrollbar-width:none}.gami-tabs::-webkit-scrollbar{display:none}.gami-tab{padding:8px 12px;background:none;border:none;color:#f1f1f1;font-size:20px;font-family:var(--font-terminal)!important;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap;transition:color 0.05s;flex-shrink:0;box-shadow:none;letter-spacing:0.5px}.gami-tab:hover{color:#f1f1f1}.gami-tab.active{color:#ffcc9d;border-bottom-color:#ffcc9d}.gami-tab:active{transform:none;box-shadow:none}.gami-content{padding:20px;overflow-y:auto;flex:1}.gami-loading{color:#f1f1f1;text-align:center;padding:40px;font-family:var(--font-terminal);font-size:22px}.gami-profile-row{display:flex;gap:16px;align-items:center;margin-bottom:20px}.gami-level-badge{background:#ffcc9d;color:#060606;border-radius:50%;width:64px;height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.gami-level-num{font-size:28px;font-weight:bold;line-height:1;font-family:var(--font-pixel)}.gami-level-label{font-size:10px;text-transform:uppercase;letter-spacing:0.5px;font-family:var(--font-terminal)}.gami-profile-info{flex:1;min-width:0}.gami-display-name{color:#fff;font-size:24px;font-family:var(--font-terminal);font-weight:bold;margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gami-xp-bar-wrap{background:#272727;border-radius:4px;height:8px;overflow:hidden;margin-bottom:5px}.gami-xp-bar{background:#ffcc9d;height:100%;border-radius:4px;transition:width 0.6s ease}.gami-xp-text{color:#b7b1cc;font-size:18px;font-family:var(--font-terminal)}.gami-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.gami-stat{background:#151515;border-radius:8px;padding:12px 8px;display:flex;flex-direction:column;align-items:center;gap:4px}.gami-stat-val{color:#ffcc9d;font-size:22px;font-weight:bold;font-family:var(--font-terminal)}.gami-stat-lbl{color:#b7b1cc;font-size:16px;font-family:var(--font-terminal);text-align:center;line-height:1.2}.gami-badges-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.gami-badge-card{background:#151515;border-radius:2px;padding:12px 10px;border:2px solid #272727;text-align:center;transition:border-color 0.05s}.gami-badge-card.earned{border-color:#ffcc9d}.gami-badge-card.locked{opacity:0.45}.gami-badge-icon{font-size:28px;margin-bottom:6px}.gami-badge-name{color:#fff;font-size:18px;font-family:var(--font-terminal);font-weight:bold;margin-bottom:4px}.gami-badge-desc{color:#b7b1cc;font-size:16px;font-family:var(--font-terminal);margin-bottom:4px;line-height:1.3}.gami-badge-reward{color:#ffcc9d;font-size:17px;font-family:var(--font-terminal)}.gami-leaderboard{display:flex;flex-direction:column;gap:6px}.gami-lb-row{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#151515;border-radius:2px;border:2px solid #272727}.gami-lb-row.gami-lb-me{border-color:#ffcc9d;background:#1b1301}.gami-lb-rank{width:36px;text-align:center;font-size:20px;font-family:var(--font-terminal);flex-shrink:0}.gami-lb-name{flex:1;color:#fff;font-size:20px;font-family:var(--font-terminal);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gami-lb-xp{color:#ffcc9d;font-size:20px;font-family:var(--font-terminal);font-weight:bold;flex-shrink:0}.gami-lb-level{color:#b7b1cc;font-size:18px;font-family:var(--font-terminal);flex-shrink:0;margin-left:4px}.gami-stable-list{display:flex;flex-direction:column;gap:6px}.gami-stable-row{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#151515;border-radius:2px;border:2px solid #272727}.gami-stable-name{flex:1;color:#fff;font-size:15px;font-family:var(--font-terminal);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gami-stable-record{color:#d0cae1;font-size:13px;font-family:var(--font-terminal);flex-shrink:0}.gami-stable-btn{padding:4px 10px;font-size:12px;font-family:var(--font-terminal)!important;border:1px solid #70e038;border-radius:2px;background:#063106;color:#70e038;cursor:pointer;flex-shrink:0}.gami-stable-btn:hover{background:#114611}.gami-stable-btn.off{border-color:#e14e4e;background:#1b0606;color:#e14e4e}.gami-stable-empty{color:#d0cae1;font-size:12px;font-style:italic;padding:4px 0}.gami-settings-list{display:flex;flex-direction:column;gap:12px;padding:4px 0}.gami-settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#151515;border:2px solid #272727;border-radius:2px;padding:14px 16px}.gami-settings-name{color:#fff;font-size:22px;font-family:var(--font-terminal);margin-bottom:2px}.gami-settings-desc{color:#f1f1f1;font-size:17px;font-family:var(--font-terminal)}.gami-toggle{padding:6px 18px;font-size:20px;font-family:var(--font-terminal)!important;border:2px solid #545454;border-radius:2px;cursor:pointer;min-width:64px;box-shadow:3px 3px 0 #000;flex-shrink:0;letter-spacing:1px}.gami-toggle.on{background:#063106;border-color:#70e038;color:#70e038}.gami-toggle.off{background:#1b0606;border-color:#979797;color:#c3bcd7}.gami-toggle:active{transform:translate(3px,3px);box-shadow:none;transition:none}.gami-settings-section-label{font-family:var(--font-terminal);font-size:15px;color:#c3bcd7;letter-spacing:1px;padding:4px 0 0}.gami-keybind-guide{display:flex;flex-direction:column;gap:20px;padding:4px 0 8px}.gami-keybind-group{background:#060619;border:1px solid #272727;border-radius:3px;padding:12px 14px}.gami-keybind-group-title{font-family:var(--font-terminal);font-size:14px;color:#c3bcd7;letter-spacing:1px;text-transform:uppercase;margin-bottom:10px;border-bottom:1px solid #1b1b31;padding-bottom:6px}.gami-keybind-row{display:flex;align-items:baseline;gap:12px;padding:4px 0;font-family:var(--font-terminal);font-size:16px;color:#f1f1f1}.gami-keybind-row kbd{display:inline-block;background:#15152a;border:1px solid #545454;border-bottom:2px solid #3e3e3e;border-radius:3px;padding:1px 7px;font-family:var(--font-terminal);font-size:14px;color:#fffdb7;white-space:nowrap;min-width:36px;text-align:center;flex-shrink:0}.gami-toast{position:fixed;bottom:24px;right:24px;background:#060606;border:2px solid #ffcc9d;border-radius:2px;padding:10px 16px;color:#ffcc9d;font-size:20px;font-family:var(--font-terminal);font-weight:bold;z-index:9999;transform:translateX(calc(100% + 32px));transition:transform 0.3s ease;pointer-events:none;white-space:nowrap;box-shadow:3px 3px 0 #000}.gami-toast.gami-toast-show{transform:translateX(0)}.gami-toast-icon{margin-right:6px}.gami-section-title{color:#ffcc9d;font-size:20px;font-family:var(--font-terminal);font-weight:bold;text-transform:uppercase;letter-spacing:0.5px;padding:6px 0 8px;border-bottom:2px solid #272727;margin-bottom:10px}.gami-cos-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.gami-cos-list{display:flex;flex-direction:column;gap:6px}.gami-cos-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#151515;border:2px solid #272727;border-radius:2px;transition:border-color 0.05s}.gami-cos-item.active{border-color:#ffcc9d}.gami-cos-preview{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#060606;border-radius:2px;flex-shrink:0}.gami-cos-name{flex:1;color:#f1f1f1;font-size:20px;font-family:var(--font-terminal)}.gami-cos-action{flex-shrink:0}.gami-cos-btn{padding:6px 14px;font-size:20px;font-family:var(--font-terminal)!important;border:2px solid #545454;border-radius:2px;background:#272727;color:#fff;cursor:pointer;box-shadow:2px 2px 0 #000;transition:transform 0.05s}.gami-cos-btn:hover{background:#3e3e3e}.gami-cos-btn:active{transform:translate(2px,2px);box-shadow:none;transition:none}.gami-cos-btn.equipped{background:#1b3106;border-color:#70e038;color:#70e038}.gami-cos-btn.buy{border-color:#ffcc9d;color:#ffcc9d}.gami-cos-btn.buy:hover{background:#1b0e00}.gami-cos-btn.cant-afford{opacity:0.45;cursor:default}.gami-emoji-grid{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.gami-emoji-btn{width:44px;height:44px;font-size:22px;display:flex;align-items:center;justify-content:center;background:#151515;border:1px solid #3e3e3e;border-radius:8px;cursor:pointer;transition:background 0.1s,border-color 0.1s;padding:0}.gami-emoji-btn.text-emoji{font-size:11px;font-weight:bold;color:#fff;width:auto;padding:0 8px;min-width:44px}.gami-emoji-btn:hover:not(.inactive){background:#272727;border-color:#ffcc9d}.gami-emoji-btn.inactive{opacity:0.45;cursor:default}.gami-tier-section{margin-bottom:12px}.gami-tier-header{display:flex;align-items:center;padding:6px 10px;background:#0c0c0c;border-left:3px solid #545454;border-radius:4px;margin-bottom:8px}.gami-emoji-shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}.gami-shop-item{background:#151515;border:1px solid #272727;border-radius:8px;padding:8px 6px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.gami-shop-item.owned{opacity:0.6}.gami-shop-emoji{font-size:24px;background:none;border:none;cursor:pointer;padding:2px;display:block;line-height:1}.gami-shop-emoji.text-emoji{font-size:10px;font-weight:bold;color:#fff;padding:4px 2px}.gami-shop-name{color:#c3bcd7;font-size:10px;line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%}.gami-shop-owned{color:#48cb4e;font-size:13px;font-weight:bold}.gami-shop-buy-btn{font-size:11px;padding:3px 8px;background:transparent;border:1px solid;border-radius:4px;cursor:pointer;font-weight:bold;transition:background 0.1s}.gami-shop-buy-btn:hover{background:rgba(255,255,255,0.07)}.game-room-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--bg-card);border:2px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:var(--space-sm);cursor:crosshair;box-shadow:2px 2px 0 #000;transition:border-color 0.05s}.game-room-card:hover{border-color:var(--accent-gold);background:#1b1b1b}.game-room-host{color:var(--text-primary);font-family:var(--font-terminal);font-size:32px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-room-count{color:var(--text-secondary);font-family:var(--font-terminal);font-size:32px;white-space:nowrap;flex-shrink:0}.game-room-join-btn{padding:6px 16px;background:var(--accent-orange);color:white;border:2px solid var(--accent-orange);border-radius:var(--radius-sm);font-family:var(--font-terminal);font-size:32px;cursor:crosshair;flex-shrink:0;box-shadow:2px 2px 0 #000;transition:transform 0.05s,box-shadow 0.05s}.game-room-join-btn:hover{background:var(--accent-orange-hover);border-color:var(--accent-orange-hover)}.game-room-join-btn:active{transform:translate(2px,2px);box-shadow:none;transition:none}#room-code-value{transition:color 0.1s;cursor:pointer}#room-code-value:hover{color:#fff;text-decoration:underline dotted}#public-games-list{scrollbar-width:thin;scrollbar-color:#3e3e3e transparent}#public-games-list::-webkit-scrollbar{width:5px}#public-games-list::-webkit-scrollbar-thumb{background:#3e3e3e;border-radius:3px}#emoji-panel{position:fixed;top:0;right:0;width:320px;height:100vh;background:#000006;border-left:2px solid #ffcc9d;z-index:8500;display:flex;flex-direction:column;transform:translateX(100%);transition:transform 0.22s cubic-bezier(0.4,0,0.2,1);box-shadow:-6px 0 0 #000}#emoji-panel.open{transform:translateX(0)}.emoji-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:2px solid #ffcc9d;flex-shrink:0;background:#000}.emoji-panel-tabs{display:flex;gap:6px}.emoji-tab-btn{font-family:var(--font-terminal);padding:4px 14px;font-size:18px;background:#060606;color:#f1f1f1;border:2px solid #3e3e3e;border-radius:2px;cursor:pointer;transition:background 0.1s,color 0.1s,border-color 0.1s;box-shadow:2px 2px 0 #000}.emoji-tab-btn.active{background:#1b0600;color:#ffcc9d;border-color:#ffcc9d}.emoji-tab-btn:not(.active):hover{background:#111;color:#ede7fe;border-color:#f1f1f1}.emoji-panel-close{font-family:var(--font-terminal);font-size:22px;background:#060606;color:#c3bcd7;border:2px solid #3e3e3e;border-radius:2px;cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:2px 2px 0 #000}.emoji-panel-close:hover{border-color:#e14e4e;color:#e14e4e}.emoji-panel-body{flex:1;overflow-y:auto;padding:12px;scrollbar-width:thin;scrollbar-color:#3e3e3e transparent}.emoji-panel-body::-webkit-scrollbar{width:4px}.emoji-panel-body::-webkit-scrollbar-thumb{background:#3e3e3e;border-radius:0}.emoji-empty-state{font-family:var(--font-terminal);text-align:center;padding:40px 16px;color:#f1f1f1;font-size:20px}.emoji-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:2px}.emoji-btn{font-size:26px;line-height:1;background:#000;border:2px solid #272727;border-radius:2px;cursor:pointer;padding:7px 4px;text-align:center;box-shadow:2px 2px 0 #000;transition:border-color 0.1s}.emoji-btn:hover{border-color:#ffcc9d;box-shadow:3px 3px 0 #000}.emoji-btn:active{box-shadow:none;transform:translate(2px,2px)}.emoji-btn.text-emoji{font-family:var(--font-terminal);font-size:12px;color:#fff;padding:9px 2px}.emoji-btn-inactive{font-size:26px;line-height:1;background:#000;border:2px solid #111;border-radius:2px;padding:7px 4px;text-align:center;opacity:0.35;cursor:default}.emoji-btn-inactive.text-emoji{font-family:var(--font-terminal);font-size:12px;color:#c3bcd7;padding:9px 2px}.emoji-no-game-note{font-family:var(--font-terminal);color:#f1f1f1;font-size:16px;text-align:center;margin-top:10px}.shop-gold-display{font-family:var(--font-terminal);font-size:22px;color:#ffcc9d;text-align:right;margin-bottom:14px;padding:6px 10px;background:#000;border:2px solid #ffcc9d;border-radius:2px;box-shadow:2px 2px 0 #000;text-shadow:1px 1px 0 #000}.shop-tier-section{margin-bottom:18px}.shop-tier-header{display:flex;align-items:center;gap:8px;padding:5px 10px;border-left:4px solid;background:#000;border-radius:2px;margin-bottom:8px;box-shadow:2px 2px 0 #000}.shop-tier-name{font-family:var(--font-terminal);flex:1;font-size:20px;color:#f1f1f1}.shop-tier-cost{font-family:var(--font-terminal);font-size:20px;font-weight:bold}.emoji-shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.shop-item{background:#000;border:2px solid #212121;border-radius:2px;padding:7px 4px 6px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:3px;box-shadow:2px 2px 0 #000;transition:border-color 0.1s}.shop-item:hover:not(.owned){border-color:#ffcc9d}.shop-item.owned{border-color:#1b461b;background:#000400}.shop-emoji-btn{font-size:22px;line-height:1;background:none;border:none;cursor:pointer;padding:3px;transition:transform 0.1s}.shop-emoji-btn:hover{transform:scale(1.18)}.shop-emoji-btn.text-emoji{font-family:var(--font-terminal);font-size:11px;color:#fff;background:#111;padding:5px 3px;border-radius:2px;min-width:30px;cursor:pointer;border:1px solid #3e3e3e}.shop-item-name{font-family:var(--font-terminal);font-size:13px;color:#c3bcd7;line-height:1.2;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 2px}.shop-buy-btn{font-family:var(--font-terminal);font-size:16px;font-weight:bold;background:#060000;border:2px solid;border-radius:2px;padding:1px 6px;cursor:pointer;width:100%;box-shadow:2px 2px 0 #000;transition:background 0.1s}.shop-buy-btn:hover{background:rgba(255,255,255,0.08)}.shop-buy-btn:active{box-shadow:none;transform:translate(2px,2px)}.owned-badge{font-family:var(--font-terminal);font-size:15px;color:#48CB4E}#emoji-panel-btn{padding:4px 7px;font-size:17px;line-height:1;background:#272727;border:1px solid #545454;border-radius:6px;cursor:pointer;transition:background 0.12s,border-color 0.12s}#emoji-panel-btn:hover{background:#3e3e3e;border-color:var(--accent-gold, #ffcc9d)}#emoji-panel-btn.active{background:var(--accent-gold, #ffcc9d);border-color:var(--accent-gold, #ffcc9d);color:#060606}body.bot-training-quiet #response-window-overlay,body.bot-training-quiet #psychic-ransom-overlay,body.bot-training-quiet #scholars-insight-modal,body.bot-training-quiet #create-stone-modal,body.bot-training-quiet #quick-reflexes-modal,body.bot-training-quiet #water-transform-modal,body.bot-training-quiet #take-flight-player-modal,body.bot-training-quiet #arson-element-modal,body.bot-training-quiet #scroll-select-modal,body.bot-training-quiet #deck-select-modal,body.bot-training-quiet #element-select-modal,body.bot-training-quiet #opponent-select-modal,body.bot-training-quiet #plunder-player-modal,body.bot-training-quiet #excavate-teleport-modal,body.bot-training-quiet #transmute-modal,body.bot-training-quiet #scroll-cancel-btn,body.bot-training-quiet #telekinesis-done-btn,body.bot-training-quiet .scroll-found-toast{opacity:0!important;pointer-events:none!important;transition:none!important}.emoji-anchor{position:fixed;width:0;height:0;pointer-events:none;z-index:9999;transform-origin:0 0}.emoji-float{position:fixed;font-size:54px;line-height:1;transform:translateX(-50%);pointer-events:none;z-index:9999;user-select:none;text-shadow:0 3px 10px rgba(0,0,0,0.55);animation:emojiFloat 5s ease-out forwards}.emoji-float-text{font-size:16px;font-weight:900;letter-spacing:1px;background:rgba(0,0,0,0.82);color:#fff;padding:7px 16px;border-radius:20px;border:2px solid rgba(255,255,255,0.18);text-shadow:none;white-space:nowrap}.px-emote{display:inline-block;vertical-align:middle;width:calc(32px * var(--s, 1.5));height:calc(32px * var(--s, 1.5));background-image:url(../images/emotes/pipoya-emotes.webp);background-repeat:no-repeat;background-size:calc(960px * var(--s, 1.5)) calc(320px * var(--s, 1.5));background-position:calc(var(--x) * var(--s, 1.5) * -1) calc(var(--y) * var(--s, 1.5) * -1);image-rendering:pixelated;animation:pxEmote 0.8s step-end infinite}@keyframes pxEmote{0%{background-position-x:calc(var(--x) * var(--s, 1.5) * -1)}25%{background-position-x:calc((var(--x) + 32px) * var(--s, 1.5) * -1)}50%{background-position-x:calc((var(--x) + 64px) * var(--s, 1.5) * -1)}75%{background-position-x:calc((var(--x) + 32px) * var(--s, 1.5) * -1)}100%{background-position-x:calc(var(--x) * var(--s, 1.5) * -1)}}.emoji-btn.px-emoji,.emoji-btn-inactive.px-emoji{padding:2px}.px-emote.px-crossed{position:relative}.px-emote.px-crossed::before,.px-emote.px-crossed::after{content:"";position:absolute;left:8%;right:8%;top:46%;height:12%;background:#ff2633;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,0.5)}.px-emote.px-crossed::before{transform:rotate(45deg)}.px-emote.px-crossed::after{transform:rotate(-45deg)}.shop-emoji-btn.px-emoji{padding:0;line-height:0}.emoji-float-px{text-shadow:none;filter:drop-shadow(0 3px 6px rgba(0,0,0,0.55))}.emoji-float-px{white-space:nowrap;line-height:0}.emoji-word{display:inline-block;animation:emojiWordIn 0.25s ease-out both}@keyframes emojiWordIn{0%{opacity:0;transform:scale(0.4)}100%{opacity:1;transform:scale(1)}}@keyframes emojiFloat{0%{opacity:1;transform:translateX(-50%) translateY(0px)}15%{opacity:1;transform:translateX(-50%) translateY(-15px)}75%{opacity:0.9;transform:translateX(-50%) translateY(-60px)}100%{opacity:0;transform:translateX(-50%) translateY(-90px)}}#cosmetics-panel{position:fixed;bottom:0;right:0;width:340px;max-height:520px;background:#000006;border:2px solid #ffcc9d;border-bottom:none;border-radius:0;display:flex;flex-direction:column;z-index:9999;transform:translateY(100%);transition:transform 0.28s ease;box-shadow:-4px 0 0 #000,0 -4px 0 #000}#cosmetics-panel.open{transform:translateY(0)}.cos-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#000;border-bottom:2px solid #ffcc9d}.cos-title{font-family:var(--font-pixel);font-size:13px;color:#ffcc9d;text-shadow:1px 1px 0 #000;text-transform:uppercase;letter-spacing:1px}.cos-close{font-family:var(--font-terminal);font-size:22px;background:#060606;border:2px solid #3e3e3e;border-radius:2px;color:#c3bcd7;cursor:pointer;padding:0 6px;box-shadow:2px 2px 0 #000}.cos-close:hover{border-color:#e14e4e;color:#e14e4e}.cos-gold-bar{font-family:var(--font-terminal);padding:5px 14px;font-size:20px;color:#ffcc9d;background:#000;border-bottom:2px solid #272727;text-shadow:1px 1px 0 #000}.cos-body{overflow-y:auto;flex:1;padding:8px}.cos-body::-webkit-scrollbar{width:4px}.cos-body::-webkit-scrollbar-thumb{background:#3e3e3e;border-radius:0}.cos-item{display:flex;align-items:center;gap:10px;padding:9px 10px;margin-bottom:6px;background:#000;border:2px solid #272727;border-radius:2px;box-shadow:2px 2px 0 #000;transition:border-color 0.1s}.cos-item-equipped{border-color:#a758ff}.cos-preview{width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cos-info{flex:1;min-width:0}.cos-name{font-family:var(--font-terminal);font-size:19px;color:#fff;line-height:1.1}.cos-desc{font-family:var(--font-terminal);font-size:15px;color:#f1f1f1;margin-top:2px}.cos-action{flex-shrink:0}.cos-btn{font-family:var(--font-terminal);padding:3px 10px;border-radius:2px;font-size:17px;cursor:pointer;border:2px solid;box-shadow:2px 2px 0 #000;transition:background 0.1s}.cos-btn:active{box-shadow:none;transform:translate(2px,2px)}.cos-equip-btn{background:#060606;border-color:#f1f1f1;color:#f1f1f1}.cos-equip-btn:hover{background:#272727;border-color:#c4c4c4}.cos-equipped-btn{background:#0c0031;border-color:#a758ff;color:#a758ff}.cos-equipped-btn:hover{background:#1b004e}.cos-buy-btn{background:#060000;border-color:#ffcc9d;color:#ffcc9d}.cos-buy-btn:hover{background:#1b0600}.cos-cant-afford{opacity:0.4;cursor:not-allowed}#cosmetics-panel-btn{background:none;border:1px solid #545454;color:#fff;border-radius:6px;padding:4px 8px;cursor:pointer;font-size:14px;transition:background 0.15s}#cosmetics-panel-btn:hover{background:#272727}@keyframes nameRainbow{0%{background-position:0% 50%}100%{background-position:200% 50%}}@keyframes nameShine{0%{background-position:100% 50%}100%{background-position:-150% 50%}}@keyframes nameTide{0%{background-position:0% 50%}100%{background-position:100% 50%}}@keyframes nameEmber{0%,100%{color:#ff7000;text-shadow:0 0 3px #ff3400}25%{color:#ffd042;text-shadow:0 0 8px #ff8500}50%{color:#ff5b0d;text-shadow:0 0 2px #e70c00}75%{color:#fff985;text-shadow:0 0 6px #ff9d06}}@keyframes nameVoidPulse{0%,100%{opacity:1;text-shadow:0 0 6px #a758ff}50%{opacity:0.45;text-shadow:0 0 1px #a758ff}}@keyframes nameGlitch{0%{transform:none;text-shadow:none}90%{transform:translateX(1px);text-shadow:-2px 0 #ff1b74,2px 0 #00ffff}93%{transform:translateX(-1px);text-shadow:2px 0 #ff1b74,-2px 0 #00ffff}96%{transform:none;text-shadow:-1px 0 #ff1b74,1px 0 #00ffff}98%{transform:none;text-shadow:none}}@media (prefers-reduced-motion: reduce){[style*=nameShine],[style*=nameTide],[style*=nameEmber],[style*=nameVoidPulse],[style*=nameGlitch],[style*=nameRainbow]{animation:none!important}}.cos-group,.gami-cos-group{font-size:12px;letter-spacing:1px;text-transform:uppercase;opacity:0.7;margin:10px 0 2px}#multiplayer-lobby,#multiplayer-lobby span,#multiplayer-lobby p,#multiplayer-lobby label,#multiplayer-lobby div,#multiplayer-lobby input,#multiplayer-lobby select,#multiplayer-lobby button{font-family:var(--font-terminal)!important}#multiplayer-lobby h2{font-family:var(--font-pixel)!important;font-size:1.225rem!important}#multiplayer-lobby h3{font-family:var(--font-pixel)!important;font-size:0.825rem!important}#multiplayer-lobby input,#multiplayer-lobby select{background:#060606!important;color:#fff!important;border:2px solid var(--border-subtle)!important;border-radius:var(--radius-sm)!important}h1,h2,h3{font-family:var(--font-pixel);text-shadow:2px 2px 0 #000;letter-spacing:1px}h1{font-size:1.4rem}h2{font-size:1rem}h3{font-size:0.75rem}label,.hud-ap-label,.hud-ap-value{font-family:var(--font-terminal);font-size:18px}.auth-screen{background:var(--bg-panel);padding:32px 36px;border:2px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:4px 4px 0 #000;width:min(420px,92vw);margin:0 auto 20px}.auth-title{color:var(--accent-gold);text-align:center;margin:0 0 24px}.lang-picker{display:flex;gap:6px;flex-shrink:0}.auth-lang-picker{justify-content:flex-end;margin:-12px -14px 10px 0}.lang-pick-btn{font-family:var(--font-terminal);font-size:16px;padding:3px 10px;opacity:0.65}.lang-pick-btn.active{opacity:1;outline:2px solid var(--accent-gold, #ffe138);outline-offset:1px}.gami-lang-row{flex-wrap:wrap;row-gap:10px}.gami-lang-row .gami-settings-label{flex:1 1 140px;min-width:0}.gami-lang-row .lang-picker{margin-left:auto}.auth-fields{display:flex;flex-direction:column;gap:14px}.auth-input{font-family:var(--font-terminal);font-size:28px;padding:10px 14px;background:var(--bg-card);color:var(--text-primary);border:2px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:2px 2px 0 #000;width:100%;box-sizing:border-box;transition:border-color 0.05s}.auth-input:focus{outline:none;border-color:var(--accent-gold)}.auth-input::placeholder{color:var(--text-muted)}.auth-buttons{display:flex;gap:10px}.auth-btn-primary{flex:1;font-family:var(--font-terminal);font-size:28px;padding:10px;background:var(--accent-gold);color:#060606;border:2px solid var(--accent-gold);border-radius:var(--radius-sm);box-shadow:3px 3px 0 #000;cursor:crosshair;transition:transform 0.05s,box-shadow 0.05s}.auth-btn-primary:active{transform:translate(3px,3px);box-shadow:none;transition:none}.auth-btn-secondary{flex:1;font-family:var(--font-terminal);font-size:28px;padding:10px;background:var(--bg-card);color:var(--text-primary);border:2px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:3px 3px 0 #000;cursor:crosshair;transition:transform 0.05s,box-shadow 0.05s}.auth-btn-secondary:hover{border-color:var(--accent-gold)}.auth-btn-secondary:active{transform:translate(3px,3px);box-shadow:none;transition:none}.auth-error{font-family:var(--font-terminal);font-size:22px;color:#ff7171;text-align:center}.auth-loading{font-family:var(--font-terminal);font-size:22px;color:var(--accent-gold);text-align:center}.auth-tutorial-divider{text-align:center;color:var(--text-muted, #6b6b6b);font-family:var(--font-terminal);font-size:18px;margin:14px 0 10px;position:relative}.auth-tutorial-divider::before,.auth-tutorial-divider::after{content:"";position:absolute;top:50%;width:40%;height:1px;background:var(--border-subtle, #3e3e3e)}.auth-tutorial-divider::before{left:0}.auth-tutorial-divider::after{right:0}.auth-btn-tutorial{width:100%;display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 16px;font-family:var(--font-terminal);font-size:24px;background:#0c310c;color:#6fff31;border:2px solid #6fff31;border-radius:var(--radius-sm, 4px);box-shadow:3px 3px 0 #000;cursor:crosshair;transition:transform 0.05s,box-shadow 0.05s,background 0.15s}.auth-btn-tutorial:hover{background:#154a15}.auth-btn-tutorial:active{transform:translate(3px,3px);box-shadow:none;transition:none}.auth-btn-tutorial-sub{font-size:13px;opacity:0.65;font-family:var(--font-ui, sans-serif)}.auth-btn-guest{width:100%;display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 16px;font-family:var(--font-terminal);font-size:24px;background:#092146;color:#58a7ff;border:2px solid #58a7ff;border-radius:var(--radius-sm, 4px);box-shadow:3px 3px 0 #000;cursor:crosshair;transition:transform 0.05s,box-shadow 0.05s,background 0.15s}.auth-btn-guest:hover{background:#132f5d}.auth-btn-guest:active{transform:translate(3px,3px);box-shadow:none;transition:none}.auth-btn-guest:disabled{opacity:0.6;cursor:default}.retro-dlg-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.75);z-index:10000;display:flex;align-items:center;justify-content:center}.retro-dlg-box{background:#040404;border:3px solid #ffcc9d;border-radius:2px;box-shadow:6px 6px 0 #000;padding:28px 32px 24px;min-width:320px;max-width:480px;display:flex;flex-direction:column;gap:16px}.retro-dlg-title{font-family:var(--font-pixel);font-size:18px;color:#ffcc9d;text-shadow:2px 2px 0 #000;text-align:center;letter-spacing:1px}.retro-dlg-body{display:flex;flex-direction:column;gap:6px}.retro-dlg-line{font-family:var(--font-terminal);font-size:22px;color:#f1f1f1;text-align:center;line-height:1.3}.retro-dlg-btns{display:flex;justify-content:center;gap:16px;margin-top:4px}.retro-dlg-btn{font-family:var(--font-terminal)!important;font-size:24px;padding:8px 28px;border:2px solid #545454;border-radius:2px;cursor:pointer;box-shadow:3px 3px 0 #000;letter-spacing:1px;min-width:90px;text-align:center}.retro-dlg-btn:active{transform:translate(3px,3px);box-shadow:none;transition:none}.retro-dlg-btn.ok{background:#063106;border-color:#70e038;color:#70e038}.retro-dlg-btn.ok:hover{background:#114611}.retro-dlg-btn.cancel{background:#1b0606;border-color:#e14e4e;color:#e14e4e}.retro-dlg-btn.cancel:hover{background:#310e0e}.game-over-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.88);z-index:10000;display:flex;align-items:center;justify-content:center}.game-over-box{background:#000006;border:2px solid #ffcc9d;border-radius:2px;box-shadow:8px 8px 0 #000;padding:40px 48px;min-width:480px;max-width:620px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}.game-over-title{font-family:var(--font-pixel);font-size:38px;color:#ffcc9d;text-shadow:4px 4px 0 #000;letter-spacing:4px;margin:0}.game-over-winner{font-family:var(--font-terminal);font-size:30px;font-weight:bold;margin:0}.game-over-msg{font-family:var(--font-terminal);font-size:22px;color:#f1f1f1;margin:0}.game-over-elements{font-family:var(--font-terminal);font-size:34px;letter-spacing:10px;color:#fff;margin:0}.game-over-subtitle{font-family:var(--font-terminal);font-size:18px;color:#f1f1f1;font-style:italic;margin:0}.game-over-btns{display:flex;gap:12px;margin-top:6px}.game-over-capture{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:10px;padding-top:12px;border-top:1px solid #272727}.game-over-capture-title{font-family:var(--font-pixel);font-size:15px;color:#d89dff;letter-spacing:1px}.game-over-capture-select{font-family:var(--font-terminal);font-size:14px;background:#06061b;color:#fff;border:1px solid #545454;border-radius:2px;padding:3px 6px;min-width:200px}.game-over-capture-info{font-family:var(--font-terminal);font-size:12px;color:#d0cae1;min-height:14px}.retro-dlg-box.wide{min-width:420px;max-width:580px;max-height:80vh;overflow-y:auto}.fsp{position:fixed;display:none;flex-direction:column;min-width:180px;min-height:60px;border:1px solid rgba(255,255,255,0.12);border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,0.7),0 0 0 1px rgba(167,88,255,0.08);z-index:800;overflow:hidden;font-family:var(--font-sans);transition:box-shadow 0.2s ease}.fsp:hover{box-shadow:0 12px 40px rgba(0,0,0,0.8),0 0 0 1px rgba(167,88,255,0.18)}.fsp-header{display:flex;align-items:center;gap:6px;padding:6px 8px;background:color-mix(in srgb,var(--bg-panel, #0a0425) 5%,transparent);border-bottom:1px solid rgba(255,255,255,0.08);cursor:grab;user-select:none;flex-shrink:0}.fsp-header:active{cursor:grabbing}.fsp-title{font-size:12px;font-weight:600;letter-spacing:0.4px;color:#ffffff;text-shadow:0 1px 2px rgba(0,0,0,0.8);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fsp-badge{font-family:var(--font-mono);font-size:11px;color:#c3bcd7;background:rgba(255,255,255,0.06);border-radius:10px;padding:1px 6px;flex-shrink:0;transition:background 0.2s,color 0.2s}.fsp-header.fsp-over-capacity{position:relative;box-shadow:0 0 0 2px rgba(255,22,22,0.7),inset 0 0 12px rgba(255,22,22,0.15)}.fsp-header.fsp-over-capacity::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:0 0 0 3px rgba(255,22,22,0.9),inset 0 0 20px rgba(255,22,22,0.28);opacity:0;will-change:opacity;animation:fsp-capacity-pulse 1.6s ease-in-out infinite}.fsp-header.fsp-over-capacity .fsp-badge{background:rgba(255,22,22,0.25);color:#ff7979}@keyframes fsp-capacity-pulse{0%,100%{opacity:0}50%{opacity:1}}.fsp-btn{background:none;border:1px solid transparent;color:#ffe5aa;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;font-family:var(--font-sans);font-size:10px;font-weight:500;line-height:1;padding:3px 6px;cursor:pointer;border-radius:4px;flex-shrink:0;transition:color 0.15s,background 0.15s,border-color 0.15s;white-space:nowrap}.fsp-btn:hover{color:#ffffff;background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.15)}.fsp-autofit-btn.fsp-autofit-active{color:#d7bcff;background:rgba(167,88,255,0.15);border-color:rgba(167,88,255,0.35)}.fsp-autofit-btn.fsp-autofit-active:hover{color:#f7e1ff;background:rgba(167,88,255,0.28);border-color:rgba(167,88,255,0.55)}.fsp-body{flex:1;overflow-x:hidden;overflow-y:hidden;padding:8px;display:flex;flex-direction:row;align-items:flex-start;gap:8px;background:color-mix(in srgb,var(--bg-panel, #0a0425) 45%,transparent)}.fsp-empty{color:#f1f1f1;font-size:12px;text-align:center;padding:20px 8px;font-style:italic;opacity:0.5}.fsp-compact{padding:4px 2px;max-height:160px;overflow-y:auto;background:color-mix(in srgb,var(--bg-panel, #0a0425) 45%,transparent)}.fsp-compact-row{display:flex;align-items:baseline;gap:6px;padding:3px 8px;cursor:pointer;border-radius:2px}.fsp-compact-row:hover{background:rgba(255,255,255,0.06)}.fsp-compact-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.fsp-compact-name{font-family:var(--font-terminal);font-size:14px;color:#fff;white-space:nowrap}.fsp-compact-meta{font-family:var(--font-sans);font-size:11px;color:#d0cae1;white-space:nowrap}.fsp-compact-empty{color:#f1f1f1;font-size:12px;text-align:center;padding:8px;font-style:italic;opacity:0.5}.fsp-resize-handle{position:absolute;right:0;bottom:0;width:14px;height:14px;cursor:nwse-resize;opacity:0.4;transition:opacity 0.15s;background-image:linear-gradient(135deg,transparent 30%,rgba(255,255,255,0.4) 30%,rgba(255,255,255,0.4) 40%,transparent 40%,transparent 60%,rgba(255,255,255,0.4) 60%,rgba(255,255,255,0.4) 70%,transparent 70%)}.fsp-resize-handle:hover{opacity:0.9}.fsp-resize-handle.fsp-expander{width:18px;height:18px;right:3px;bottom:3px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.25);border-radius:4px;color:rgba(255,255,255,0.75);font-size:12px;line-height:16px;text-align:center;opacity:0.7;user-select:none;z-index:2}.fsp-resize-handle.fsp-expander:hover{opacity:1;background:rgba(255,255,255,0.18)}.fsp-card{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);border-top:3px solid var(--el-color, #979797);border-radius:6px;overflow:hidden;transition:background 0.15s,box-shadow 0.15s;flex-shrink:0;width:230px;min-width:230px;height:var(--fsp-card-h, 400px);display:flex;flex-direction:column}.fsp-card:hover{background:rgba(255,255,255,0.06);box-shadow:0 2px 12px rgba(0,0,0,0.5),0 0 0 1px var(--el-color, #979797) 22}.fsp-card-header{display:flex;align-items:flex-start;gap:7px;padding:8px 9px 6px;background:linear-gradient(90deg,color-mix(in srgb,var(--el-color, #979797) 14%,transparent),transparent 70%);cursor:pointer}.fsp-card-header:hover{filter:brightness(1.08)}.fsp-card-icon{width:18px;height:18px;object-fit:contain;flex-shrink:0;margin-top:1px;opacity:0.85;mix-blend-mode:screen}.fsp-card-title{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.fsp-card-name{font-family:var(--font-sans);font-size:14px;font-weight:600;color:#ffffff;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fsp-card-meta{font-family:var(--font-mono);font-size:10px;color:var(--el-color, #979797);letter-spacing:0.5px;opacity:0.85;text-transform:uppercase}.fsp-card-tag{font-family:var(--font-mono);font-size:8px;font-weight:600;letter-spacing:0.5px;padding:2px 5px;border-radius:3px;flex-shrink:0;align-self:flex-start;margin-top:1px}.fsp-tag-counter{background:rgba(255,22,22,0.2);color:#ff7979;border:1px solid rgba(255,22,22,0.4)}.fsp-tag-response{background:rgba(50,144,255,0.2);color:#a6e8ff;border:1px solid rgba(50,144,255,0.4)}.fsp-card-desc{font-family:var(--font-sans);font-size:12px;color:#e1d7ff;line-height:1.55;padding:0 10px 8px}.fsp-card-pattern{flex:1;min-height:80px;width:calc(100% - 18px);margin:0 9px 8px;overflow:hidden;border-radius:5px;position:relative}.fsp-card-pattern>div{transform:scale(0.92);transform-origin:top left;pointer-events:none;margin-top:0!important}.fsp-card-actions{display:flex;flex-direction:column;gap:5px;padding:4px 9px 6px}.fsp-card-btn{font-family:var(--font-sans);font-size:11px;font-weight:500;padding:5px 10px;border-radius:4px;border:1px solid rgba(167,88,255,0.35);background:rgba(167,88,255,0.15);color:#e7d3ff;cursor:pointer;transition:background 0.15s,border-color 0.15s,color 0.15s;width:100%;text-align:center}.fsp-card-btn:hover{background:rgba(167,88,255,0.35);border-color:rgba(167,88,255,0.65);color:#ffffff}.fsp-card-btn-alt{background:rgba(255,255,255,0.05);color:#c3bcd7;border-color:rgba(255,255,255,0.12)}.fsp-card-btn-alt:hover{background:rgba(255,255,255,0.12);color:#dbdbdb;border-color:rgba(255,255,255,0.25)}.fsp-card-btn-cast{font-weight:600;letter-spacing:0.4px}.fsp-cast-dim{background:rgba(255,255,255,0.04);color:#f1f1f1;border-color:rgba(255,255,255,0.1);cursor:pointer}.fsp-cast-dim:hover{background:rgba(255,255,255,0.08);color:#d0cae1}.fsp-cast-ready{background:rgba(255,8,60,0.2);color:#ff7979;border-color:rgba(255,8,60,0.5);box-shadow:0 0 8px rgba(255,8,60,0.3);animation:fsp-cast-pulse 1.8s ease-in-out infinite}.fsp-cast-ready:hover{background:rgba(255,8,60,0.35);border-color:rgba(255,8,60,0.75);box-shadow:0 0 14px rgba(255,8,60,0.5)}@keyframes fsp-cast-pulse{0%,100%{box-shadow:0 0 8px rgba(255,8,60,0.3)}50%{box-shadow:0 0 16px rgba(255,8,60,0.6)}}.fsp-dock-btn-open{background:rgba(167,88,255,0.2)!important;border-color:rgba(167,88,255,0.55)!important;color:#e7d3ff!important}.fsp-card-preview{position:fixed;z-index:3100;width:480px;max-height:calc(100vh - 24px);overflow-y:auto;overflow-x:hidden;pointer-events:auto;border-radius:12px;background:#00001b;border:1px solid rgba(255,255,255,0.16);border-left:6px solid var(--el-color, #979797);box-shadow:0 20px 60px rgba(0,0,0,0.92),0 0 0 1px rgba(255,255,255,0.07),0 0 48px color-mix(in srgb,var(--el-color, #979797) 35%,transparent);animation:fsp-preview-in 0.14s cubic-bezier(0.25,0.46,0.45,0.94);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.15) transparent}@keyframes fsp-preview-in{from{opacity:0;transform:scale(0.92) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.fsp-card-preview .fsp-card{border:none!important;border-left:none!important;border-radius:0!important;background:transparent!important;margin:0;padding:0;width:100%!important;min-width:unset!important}.fsp-card-preview .fsp-card-header{padding:18px 20px 12px;gap:12px}.fsp-card-preview .fsp-card-actions{padding:2px 20px 12px;gap:6px}.fsp-card-preview .fsp-card-btn{font-size:13px;padding:8px 12px}.fsp-card-preview .fsp-card-icon{width:36px;height:36px}.fsp-card-preview .fsp-card-name{font-size:26px;white-space:normal;overflow:visible;text-overflow:unset}.fsp-card-preview .fsp-card-meta{font-size:14px;opacity:1}.fsp-card-preview .fsp-card-tag{font-size:11px;padding:3px 8px}.fsp-card-preview .fsp-card-desc{font-size:17px;color:#fcf1ff;padding:2px 20px 14px;line-height:1.65}.fsp-card-preview .fsp-card-pattern{width:265px;height:265px;margin:4px auto 16px}.fsp-card-preview .fsp-card-pattern>div{transform:scale(1.15);transform-origin:top left}.fsp-card-selected{background:rgba(255,255,255,0.09)!important;box-shadow:0 0 0 2px var(--el-color, #979797),0 0 14px var(--el-color, #979797) 66!important;outline:none}.scroll-found-toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);background:#00000c;border:2px solid var(--toast-color, #a758ff);border-radius:6px;padding:10px 16px;z-index:9500;font-family:var(--font-terminal);display:flex;align-items:center;gap:14px;min-width:260px;max-width:500px;box-shadow:0 0 18px color-mix(in srgb,var(--toast-color, #a758ff) 30%,transparent);animation:scroll-toast-in 0.25s ease-out}.scroll-found-toast-msg{color:var(--toast-color, #a758ff);font-size:16px;flex:1}.scroll-found-toast-msg strong{color:#fff}.scroll-found-toast-btn{background:transparent;border:1px solid var(--toast-color, #a758ff);color:var(--toast-color, #a758ff);font-family:var(--font-terminal);font-size:12px;padding:4px 10px;cursor:pointer;border-radius:3px;flex-shrink:0;transition:background 0.15s}.scroll-found-toast-btn:hover{background:color-mix(in srgb,var(--toast-color, #a758ff) 20%,transparent)}@keyframes scroll-toast-in{from{opacity:0;transform:translateX(-50%) translateY(12px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.fsp-card-new-glow{animation:fsp-new-glow 2.5s ease-out forwards}@keyframes fsp-new-glow{0%{box-shadow:0 0 0 3px var(--el-color, #a758ff),0 0 24px var(--el-color, #a758ff);background:color-mix(in srgb,var(--el-color, #a758ff) 22%,#00000d)}60%{box-shadow:0 0 0 2px var(--el-color, #a758ff),0 0 10px var(--el-color, #a758ff) 55;background:color-mix(in srgb,var(--el-color, #a758ff) 10%,#00000d)}100%{box-shadow:none;background:transparent}}#scroll-overflow-banner{position:fixed;top:0;left:50%;transform:translateX(-50%);background:#040000;border-bottom:3px solid #ff083c;padding:10px 20px;z-index:9600;font-family:var(--font-terminal);color:#ff083c;font-size:14px;display:flex;align-items:center;gap:18px;min-width:320px;max-width:660px;box-shadow:0 2px 20px #ff083c55;animation:scroll-toast-in 0.2s ease-out}#scroll-overflow-banner .overflow-banner-status{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#scroll-overflow-banner.overflow-resolved{border-bottom-color:#6fff31;color:#6fff31;background:#000400;box-shadow:0 2px 20px #6fff3144}.overflow-banner-btn{background:transparent;border:2px solid currentColor;color:inherit;font-family:var(--font-terminal);font-size:13px;padding:5px 14px;cursor:pointer;border-radius:3px;flex-shrink:0;opacity:0.45;pointer-events:none;transition:opacity 0.2s}.overflow-banner-btn:not(:disabled){opacity:1;pointer-events:auto}.overflow-banner-btn:not(:disabled):hover{background:color-mix(in srgb,currentColor 18%,transparent)}#scroll-overflow-explainer{position:fixed;top:56px;left:50%;transform:translateX(-50%);background:#0a0425;border:1px solid var(--accent-gold);border-radius:6px;padding:14px 18px;z-index:9599;font-family:var(--font-terminal);color:var(--text-primary);width:90%;max-width:420px;box-shadow:0 4px 24px rgba(0,0,0,0.6);animation:scroll-toast-in 0.2s ease-out}.overflow-explainer-title{color:var(--accent-gold);font-size:15px;font-weight:bold;margin-bottom:6px}.overflow-explainer-body{font-size:13px;line-height:1.5;color:var(--text-primary)}.overflow-explainer-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.overflow-explainer-hide{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary, #d7ccf7);cursor:pointer;user-select:none}.overflow-explainer-hide input{accent-color:var(--accent-gold);margin:0;cursor:pointer}.overflow-explainer-btn{display:block;margin:0 0 0 auto;flex-shrink:0;background:transparent;border:2px solid var(--accent-gold);color:var(--accent-gold);font-family:var(--font-terminal);font-size:13px;padding:5px 14px;cursor:pointer;border-radius:3px;transition:background 0.2s}.overflow-explainer-btn:hover{background:color-mix(in srgb,var(--accent-gold) 18%,transparent)}.version-label{position:fixed;bottom:8px;right:10px;font-family:var(--font-terminal);font-size:9px;color:rgba(214,144,51,0.25);letter-spacing:0.05em;pointer-events:none;user-select:none;z-index:1}#host-public-btn,#create-private-btn,#join-code-btn{font-style:normal!important;font-weight:normal!important;-webkit-text-stroke:2px var(--pp-parch-dk)!important;paint-order:stroke fill!important;font-size:19px!important;color:var(--pp-gold)!important}#public-games-list>p:nth-of-type(1){font-style:normal!important;font-weight:normal!important;-webkit-text-stroke:2px var(--pp-parch-dk)!important;paint-order:stroke fill!important;font-size:19px!important;color:var(--pp-ink)!important}#room-name-row>label:nth-of-type(1){font-style:normal!important;font-weight:normal!important;font-size:19px!important;color:var(--pp-gold)!important}#auth-bar>div:nth-of-type(1)>button:nth-of-type(1),#auth-bar>div:nth-of-type(1)>button:nth-of-type(2),#auth-bar>div:nth-of-type(1)>button:nth-of-type(3),#auth-bar>div:nth-of-type(1)>button:nth-of-type(4){font-size:18px!important}.bot-mind-layer .bm-plan-cell{fill-opacity:0.18;stroke-width:2;stroke-dasharray:3 3}.bot-mind-layer .bm-plan-cell.done{fill-opacity:0;stroke-dasharray:none;stroke-width:2.5}.bot-mind-layer .bm-goal-path{fill:none;stroke-width:3;stroke-dasharray:7 5;stroke-linecap:round;stroke-linejoin:round;opacity:0.85;animation:bmDash 1.2s linear infinite}.bot-mind-layer .bm-goal-ring{fill:none;stroke-width:2.5;opacity:0.9}.bot-mind-layer .bm-line-path{fill:none;stroke:#ffffe7;stroke-width:2;stroke-dasharray:2 4;stroke-linecap:round;opacity:0.9}.bot-mind-layer .bm-step-dot{fill:#0a0600;stroke:#ffffe7;stroke-width:1.2}.bot-mind-layer .bm-step-num{fill:#ffffe7;font:bold 7px sans-serif;text-anchor:middle}.bot-mind-layer .bm-break{stroke:#ff5b46;stroke-width:3;stroke-linecap:round}.bot-mind-layer .bm-place{fill:none;stroke-width:3}@keyframes bmDash{to{stroke-dashoffset:-24}}@media (prefers-reduced-motion: reduce){.bot-mind-layer .bm-goal-path{animation:none}}#bot-mind-panel{position:fixed;right:16px;top:calc(var(--hud-height) + 16px);z-index:900;width:290px;max-width:calc(100vw - 32px);max-height:calc(100vh - 140px);overflow-y:auto;background:rgba(0,0,12,0.93);color:var(--text-primary);border:1px solid var(--border-accent);border-radius:var(--radius-md);box-shadow:0 6px 20px rgba(0,0,0,0.5);font:12.5px/1.35 "Segoe UI",sans-serif}#bot-mind-panel .bm-head{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:2px solid var(--border-subtle)}#bot-mind-panel .bm-dot{width:10px;height:10px;border-radius:50%;flex:none}#bot-mind-panel .bm-title{flex:1;font-weight:700;color:var(--accent-gold)}#bot-mind-panel .bm-close{background:none;border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:var(--radius-sm);padding:1px 8px;cursor:pointer;font:inherit}#bot-mind-panel .bm-close:hover{color:var(--text-primary);border-color:var(--accent-gold)}#bot-mind-panel .bm-empty,#bot-mind-panel .bm-note{padding:8px 10px;color:var(--text-secondary);font-style:italic}#bot-mind-panel .bm-note{padding-bottom:0}#bot-mind-panel .bm-row{display:flex;gap:8px;padding:6px 10px 0}#bot-mind-panel .bm-k{flex:0 0 72px;color:var(--text-secondary)}#bot-mind-panel .bm-v{flex:1;min-width:0;overflow-wrap:anywhere}#bot-mind-panel .bm-help{color:var(--text-secondary);font-size:11.5px}#bot-mind-panel .bm-arrow{color:var(--accent-gold)}#bot-mind-panel .bm-sub{padding:10px 10px 4px;color:var(--accent-gold);font-weight:600}#bot-mind-panel .bm-opts{list-style:none;margin:0;padding:0 10px}#bot-mind-panel .bm-opts li{position:relative;display:flex;gap:8px;padding:3px 6px;margin-bottom:3px;border-radius:var(--radius-sm);background:rgba(255,255,255,0.04);overflow:hidden}#bot-mind-panel .bm-opts li.picked{outline:1px solid var(--accent-gold)}#bot-mind-panel .bm-bar{position:absolute;left:0;top:0;bottom:0;opacity:0.22}#bot-mind-panel .bm-opt-t{position:relative;flex:1;min-width:0}#bot-mind-panel .bm-opt-s{position:relative;color:var(--text-secondary);font-variant-numeric:tabular-nums}#bot-mind-panel .bm-foot{padding:4px 10px 10px;color:var(--text-secondary);font-size:11px}.bot-mind-layer .bm-cast-target{fill:none;stroke-width:3;stroke-dasharray:10 6;opacity:0.9}.name-badges{display:inline-flex;gap:2px;margin-left:4px;vertical-align:middle}.name-badge{width:1.15em;height:1.15em;object-fit:contain;vertical-align:middle;image-rendering:auto}.name-badge-emoji{width:auto;font-size:0.95em;line-height:1}.gami-badge-img{width:44px;height:44px;object-fit:contain}.gami-badge-slots{margin:0 0 10px;font-size:14px}.gami-badge-card.shown{outline:2px solid #b31e21}.gami-badge-show{margin-top:6px;font-size:11px;padding:3px 8px;cursor:pointer}.gami-badge-show.on{background:#b31e21;color:#fff;border-color:#b31e21}.gami-link-btn{margin-left:8px;font-size:12px;cursor:pointer}.gami-feature{max-width:420px;margin:8px auto;padding:14px;border:1px solid rgba(0,0,0,0.25);border-radius:8px}.gami-feature-title{font-weight:bold;font-size:17px;margin-bottom:6px}.gami-feature-desc{font-size:14px;line-height:1.4;margin-bottom:10px}.gami-feature-buy[disabled]{opacity:0.5;cursor:default}.gami-feature-gold{font-size:12px;margin-top:6px;opacity:0.8}.game-room-bounty{margin-left:6px;padding:1px 6px;border-radius:4px;background:#b31e21;color:#fff;font-size:11px;white-space:nowrap}.game-room-reward-btn{margin-right:6px;padding:2px 8px;cursor:pointer}.reward-notice-overlay{position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.55);padding:16px}.reward-notice{width:min(420px,100%);padding:20px 22px;border-radius:10px;text-align:center;color:#ffffff;background:#1b0a0a;border:3px solid #b31e21;box-shadow:0 8px 32px rgba(0,0,0,0.7);animation:rnPop 0.35s ease-out}@keyframes rnPop{from{transform:scale(0.85);opacity:0}to{transform:scale(1);opacity:1}}.reward-notice .rn-from{font-size:12px;letter-spacing:1px;text-transform:uppercase;opacity:0.75}.reward-notice .rn-title{font-size:22px;font-weight:bold;margin:6px 0 8px}.reward-notice .rn-message{font-size:15px;line-height:1.45;margin-bottom:12px;white-space:normal}.reward-notice .rn-rewards{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;text-align:left}.reward-notice .rn-line{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:6px;background:rgba(255,255,255,0.07);font-size:15px;line-height:1.3}.reward-notice .rn-line b{font-size:15px}.reward-notice .rn-line small{font-size:12px;opacity:0.8}.reward-notice .rn-line svg{flex:none}.reward-notice .rn-badge-img{width:48px;height:48px;object-fit:contain}.reward-notice .rn-ok{display:inline-block;margin:0 auto;padding:8px 26px;font-size:16px;cursor:pointer;background:#b31e21;color:#fff;border:none;border-radius:6px}@media (prefers-reduced-motion: reduce){.reward-notice{animation:none}}#hermit-rewards-panel,#hermit-tests-panel{position:fixed;top:12px;right:12px;z-index:10070;width:min(380px,calc(100vw - 24px));max-height:calc(100vh - 24px);display:flex;flex-direction:column;background:#060621;color:#fff;border:1px solid #545454;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,0.6);font-size:13px}#hermit-rewards-panel .hr-head,#hermit-tests-panel .hr-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid #272727;color:#ffcc9d}#hermit-rewards-panel .hr-body,#hermit-tests-panel .hr-body{overflow-y:auto;padding:8px 12px 12px}#hermit-rewards-panel .hr-section,#hermit-tests-panel .hr-section{margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #1e1e3e}#hermit-rewards-panel .hr-label,#hermit-tests-panel .hr-label{font-weight:bold;color:#ffcc9d;margin-bottom:6px}#hermit-rewards-panel input,#hermit-rewards-panel textarea,#hermit-rewards-panel select,#hermit-tests-panel input,#hermit-tests-panel textarea,#hermit-tests-panel select{width:100%;box-sizing:border-box;margin-bottom:6px;background:#00000d;color:#fff;border:1px solid #3e3e3e;border-radius:4px;padding:5px;font:inherit}#hermit-rewards-panel .hr-row,#hermit-tests-panel .hr-row{display:flex;align-items:center;gap:8px}#hermit-rewards-panel .hr-row>span,#hermit-tests-panel .hr-row>span{width:60px;flex:none}#hermit-rewards-panel .hr-badge-prev,#hermit-tests-panel .hr-badge-prev{width:32px;height:32px;object-fit:contain}#hermit-rewards-panel .hr-item,#hermit-tests-panel .hr-item{display:block;margin:2px 0}#hermit-rewards-panel .hr-item input,#hermit-tests-panel .hr-item input{width:auto;margin:0 4px 0 0}#hermit-rewards-panel .hr-secret,#hermit-tests-panel .hr-secret{font-size:10px;background:#b31e21;color:#fff;padding:0 4px;border-radius:3px}#hermit-rewards-panel .hr-hint,#hermit-tests-panel .hr-hint{font-size:12px;opacity:0.75;margin-bottom:6px}#hermit-rewards-panel button,#hermit-tests-panel button{cursor:pointer;margin:2px 4px 2px 0;padding:4px 10px}#hermit-rewards-panel .hr-event,#hermit-rewards-panel .hr-roomrow,#hermit-tests-panel .hr-event,#hermit-tests-panel .hr-roomrow{padding:6px;margin-top:6px;border:1px solid #272727;border-radius:5px}#hermit-rewards-panel .hr-event.on,#hermit-tests-panel .hr-event.on{border-color:#b31e21}#hermit-rewards-panel .hr-live,#hermit-tests-panel .hr-live{color:#fff;background:#b31e21;padding:0 4px;border-radius:3px;font-size:10px}#hermit-rewards-panel .hr-done,#hermit-rewards-panel .hr-status,#hermit-rewards-panel .hr-players,#hermit-rewards-panel .hr-winners,#hermit-tests-panel .hr-done,#hermit-tests-panel .hr-status,#hermit-tests-panel .hr-players,#hermit-tests-panel .hr-winners{font-size:11px;opacity:0.8}#hermit-rewards-panel .hr-bounty,#hermit-tests-panel .hr-bounty{color:#ffcccc}#hermit-rewards-panel .hr-paid,#hermit-tests-panel .hr-paid{color:#b6ffb7}#hermit-rewards-panel .hr-item,#hermit-rewards-panel summary,#hermit-rewards-panel button,#hermit-rewards-panel .hr-row,#hermit-tests-panel .hr-item,#hermit-tests-panel summary,#hermit-tests-panel button,#hermit-tests-panel .hr-row{font-size:13px}#hermit-rewards-panel .hr-x,#hermit-tests-panel .hr-x{background:none;border:1px solid #3e3e3e;color:#f1f1f1;padding:1px 7px;font-size:13px}img.name-badge[src*="/px-"],img.gami-badge-img[src*="/px-"],img.rn-badge-img[src*="/px-"]{image-rendering:pixelated}.gami-gift-name,.gami-gift-phrase{display:block;width:100%;box-sizing:border-box;margin:0 0 8px;padding:6px;font:inherit;font-size:14px}.gami-gift-result{margin-top:8px;font-size:13px;min-height:1em}.gami-pot .gami-pot-amount{color:#fcb702}.reward-notice .rn-anim{position:relative;width:96px;height:96px;margin:0 auto 6px}.reward-notice .rn-anim-icon{width:96px;height:96px;image-rendering:pixelated}.rn-kind-gift .rn-anim-icon{animation:rnGiftBounce 0.8s ease-out both}.rn-kind-pot .rn-anim-icon{animation:rnChestShake 1.1s ease-in-out both}@keyframes rnGiftBounce{0%{transform:translateY(-40px) scale(0.6);opacity:0}45%{transform:translateY(0) scale(1.05);opacity:1}60%{transform:translateY(-10px) scale(0.98)}75%{transform:translateY(0) scale(1.08) rotate(-4deg)}100%{transform:translateY(0) scale(1) rotate(0)}}@keyframes rnChestShake{0%,100%{transform:rotate(0) scale(1)}10%,30%,50%,70%{transform:rotate(-7deg) scale(1.02)}20%,40%,60%,80%{transform:rotate(7deg) scale(1.02)}90%{transform:scale(1.18)}}.reward-notice .rn-sparks i,.reward-notice .rn-coins i{position:absolute;left:44px;top:40px;width:8px;height:8px;border-radius:50%;opacity:0}.reward-notice .rn-sparks i{background:#ffff85;animation:rnSpark 0.7s ease-out 0.55s both}.reward-notice .rn-coins i{background:#ffd21a;box-shadow:inset -2px -2px 0 #c27600;animation:rnCoin 0.9s ease-out 1.05s both}.rn-sparks i:nth-child(1),.rn-coins i:nth-child(1){--dx: -52px;--dy: -40px}.rn-sparks i:nth-child(2),.rn-coins i:nth-child(2){--dx: 52px;--dy: -40px}.rn-sparks i:nth-child(3),.rn-coins i:nth-child(3){--dx: -46px;--dy: 24px}.rn-sparks i:nth-child(4),.rn-coins i:nth-child(4){--dx: 46px;--dy: 24px}.rn-coins i:nth-child(5){--dx: 0px;--dy: -62px}.rn-coins i:nth-child(6){--dx: 10px;--dy: 40px}@keyframes rnSpark{0%{opacity:1;transform:translate(0,0) scale(0.5)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(1.4)}}@keyframes rnCoin{0%{opacity:1;transform:translate(0,0)}70%{opacity:1}100%{opacity:0;transform:translate(var(--dx),calc(var(--dy) + 30px)) rotate(360deg)}}.reward-notice .rn-splitting{font-size:13px;opacity:0.85;margin:-4px 0 10px;animation:rnBlink 0.5s steps(2,end) infinite}.reward-notice .rn-splitting.done{visibility:hidden;height:0;margin:0;animation:none}@keyframes rnBlink{50%{opacity:0.3}}.reward-notice .rn-gold .rn-count{font-size:20px;color:#fff985}@media (prefers-reduced-motion: reduce){.rn-kind-gift .rn-anim-icon,.rn-kind-pot .rn-anim-icon,.reward-notice .rn-sparks i,.reward-notice .rn-coins i,.reward-notice .rn-splitting{animation:none}}#pot-plinko{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.72)}#pot-plinko .pp-panel{background:#0a041a;border:2px solid #fffd46;border-radius:10px;padding:12px 14px;max-width:calc(100vw - 32px);color:#fffff9;text-align:center;box-shadow:0 8px 30px rgba(0,0,0,0.6)}#pot-plinko .pp-head{display:flex;align-items:center;justify-content:center;gap:6px;font-size:17px}#pot-plinko .pp-sub{font-size:12px;opacity:0.8;margin:2px 0 8px}#pot-plinko .pp-canvas{display:block;margin:0 auto;border-radius:6px;image-rendering:pixelated}#pot-plinko .pp-status{min-height:26px;margin-top:8px;font-size:14px;display:flex;align-items:center;justify-content:center;gap:6px}#pot-plinko .pp-status.pp-win{color:#fffd46;font-weight:bold}#pot-plinko .pp-buttons{display:flex;justify-content:center}#pot-plinko .pp-buttons button{margin-top:6px;padding:5px 16px;cursor:pointer}.game-room-bounty .px-emote,#hermit-rewards-panel .px-emote,.gami-toast .px-emote{margin-right:3px}.game-room-reward-btn{line-height:0}.response-outcome-banner{position:fixed;top:70px;left:50%;transform:translateX(-50%);z-index:2200;max-width:min(560px,calc(100vw - 32px));background:rgba(0,0,14,0.95);color:#fffff9;border:2px solid #a758ff;border-radius:10px;padding:10px 16px;font-size:15px;line-height:1.35;text-align:center;box-shadow:0 6px 24px rgba(0,0,0,0.6);pointer-events:none;animation:responseOutcomeIn 0.25s ease-out}#response-ransom-banner{top:120px}#response-lost-banner{top:170px}@keyframes responseOutcomeIn{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}.catacomb-icon{display:inline-block;vertical-align:middle;-webkit-mask:url(../images/Catacomb.webp) center / contain no-repeat;mask:url(../images/Catacomb.webp) center / contain no-repeat;mix-blend-mode:normal!important}.catacomb-icon.element-icon-sm{width:20px;height:20px}.fsp-card.fsp-card-blend{border-top:none}.fsp-card.fsp-card-blend::before{content:"";flex:0 0 3px;background:var(--el-grad)}.fsp-card.fsp-card-blend .fsp-card-header{background:linear-gradient(90deg,color-mix(in srgb,var(--el-color) 16%,transparent),color-mix(in srgb,var(--el-color2) 16%,transparent) 60%,transparent)}.fsp-card-icon.catacomb-icon{width:18px;height:18px;opacity:1}.ap-pip.void,.ap-pip.void.filled{background:#a758ff;border-color:#e7bfff}.ap-pip:not(.void)+.ap-pip.void{margin-left:4px}.player-tile-border{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-opacity:0.95}.test-game-bar{position:fixed;left:50%;top:58px;transform:translateX(-50%);z-index:9000;display:flex;align-items:center;gap:12px;padding:6px 12px;border-radius:6px;background:rgba(0,25,12,0.92);border:1px solid #48cb85;color:#ffffff;font-family:var(--font-terminal);font-size:14px;pointer-events:auto}.test-game-bar button{padding:3px 10px;font-size:13px;cursor:pointer}.test-game-toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%) translateY(20px);z-index:9500;max-width:min(560px,90vw);padding:10px 16px;border-radius:6px;background:rgba(0,5,0,0.95);border:1px solid #48cb85;color:#ffffff;font-family:var(--font-terminal);font-size:15px;text-align:center;opacity:0;transition:opacity 0.25s,transform 0.25s;pointer-events:none}.test-game-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.test-game-room-banner{margin:-6px 0 12px;padding:8px 12px;border-radius:4px;background:rgba(72,203,133,0.15);border:1px solid #48cb85;font-size:14px;line-height:1.4}.test-mode-row{margin-bottom:10px;font-size:14px}.test-mode-row label{display:flex;align-items:center;gap:6px;cursor:pointer}.game-room-test{font-size:12px;padding:1px 6px;border-radius:10px;margin-left:6px;background:rgba(72,203,133,0.2);border:1px solid #48cb85;color:#e0fffa}#hermit-tests-panel .tg-report{padding:6px 8px;margin-bottom:8px;border-radius:4px;border-left:3px solid #48cb85;background:rgba(255,255,255,0.03);font-size:13px;line-height:1.45}#hermit-tests-panel .tg-report.tg-bad{border-left-color:#ffb723}#hermit-tests-panel .tg-problems{margin-top:2px;color:#fff985}#hermit-tests-panel .tg-ok .tg-problems{color:#b1ffd7}#hermit-tests-panel .tg-btns{display:flex;gap:6px;margin-top:4px}#hermit-tests-panel .tg-more{max-height:260px;overflow:auto;font-size:11px;white-space:pre-wrap;background:#000;padding:6px}#stream-vote-box{position:fixed;top:72px;right:12px;z-index:9500;width:min(340px,calc(100vw - 24px));background:rgba(0,0,12,0.94);color:#ffffff;border:2px solid #a340ff;border-radius:8px;padding:10px 12px;box-shadow:0 6px 24px rgba(0,0,0,0.6);font-size:15px;line-height:1.3;pointer-events:none}#stream-vote-box.sv-closed{border-color:#edd4ff}#stream-vote-box .sv-head{display:flex;align-items:center;gap:6px;font-size:14px;color:#edd4ff}#stream-vote-box .sv-title{font-size:18px;font-weight:bold;margin:4px 0 8px}#stream-vote-box .sv-opt{position:relative;display:flex;align-items:center;gap:8px;padding:5px 8px;margin-bottom:5px;border-radius:5px;background:rgba(255,255,255,0.07);overflow:hidden}#stream-vote-box .sv-opt.sv-won{background:rgba(163,64,255,0.35);outline:1px solid #edd4ff}#stream-vote-box .sv-bar{position:absolute;left:0;top:0;bottom:0;background:rgba(163,64,255,0.35);z-index:0;transition:width 0.3s}#stream-vote-box .sv-num,#stream-vote-box .sv-label,#stream-vote-box .sv-count{position:relative;z-index:1}#stream-vote-box .sv-num{font-weight:bold;color:#edd4ff;min-width:28px}#stream-vote-box .sv-num,#stream-vote-box .sv-foot b{font-family:"JetBrains Mono","Consolas",monospace}#stream-vote-box .sv-label{flex:1}#stream-vote-box .sv-count{font-weight:bold;min-width:22px;text-align:right}#stream-vote-box .sv-foot{margin-top:6px;font-size:13px;color:#edd4ff}#stream-vote-box .sv-timer{height:4px;margin-top:6px;background:rgba(255,255,255,0.12);border-radius:2px;overflow:hidden}#stream-vote-box .sv-timer span{display:block;height:100%;background:#a340ff;transition:width 0.25s linear}.stream-room-banner{margin:8px 0;padding:8px 10px;border-radius:6px;background:rgba(163,64,255,0.15);border:1px solid #a340ff;font-size:14px;line-height:1.4}.game-room-stream{font-size:12px;padding:1px 6px;border-radius:10px;margin-left:6px;background:rgba(163,64,255,0.2);border:1px solid #a340ff;color:#ffecff}.pbounty-box{margin:8px 0;padding:8px 10px;border-radius:6px;background:rgba(255,225,56,0.12);border:1px solid #ffe138;font-size:14px;line-height:1.4}.pbounty-head .px-emote{margin-right:4px}.pbounty-who{color:#ffedb7;font-size:13px}.pbounty-rules{font-size:12px;color:#f3e0af;margin-top:3px}.pbounty-add{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}.pbounty-add input{width:80px;font-size:15px;padding:2px 6px}.pbounty-add button{padding:3px 12px;font-size:14px}#pbounty-msg{font-size:13px;color:#fff985}.game-room-pbounty{font-size:12px;padding:1px 6px;border-radius:10px;margin-left:6px;white-space:nowrap;background:rgba(255,225,56,0.2);border:1px solid #ffe138;color:#ffffbb}.saved-game-card{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:8px 0;padding:8px 12px;border-radius:6px;background:rgba(88,167,255,0.14);border:1px solid #58a7ff;font-size:15px}.saved-game-when{font-size:12px;color:#d7ecff;margin-left:6px}.saved-game-actions{display:flex;gap:8px}.saved-game-actions button{padding:4px 12px;font-size:14px}#save-leave-overlay .save-leave-why{font-size:14px;opacity:0.8}#save-leave-overlay button:disabled{opacity:0.45;cursor:not-allowed}#save-game-overlay{position:fixed;inset:0;z-index:10070;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.6)}.save-game-overlay-box{background:#060621;color:#fff;border:2px solid #58a7ff;border-radius:8px;padding:18px 26px;font-size:18px;box-shadow:0 8px 28px rgba(0,0,0,0.6)}#buff-tags{position:fixed;top:94px;left:50%;transform:translateX(-50%);z-index:450;display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:min(760px,calc(100vw - 32px));pointer-events:none}.buff-tag{--buff-color: #ecc278;pointer-events:auto;display:flex;align-items:center;gap:6px;padding:3px 9px 3px 7px;background:rgba(0,0,17,0.88);border:1px solid var(--buff-color);border-radius:12px;box-shadow:0 0 8px color-mix(in srgb,var(--buff-color) 35%,transparent);font-family:var(--font-terminal);font-size:12px;color:#fff;cursor:help;position:relative;animation:buff-tag-in 0.25s ease-out}.buff-tag.pen-drawing{border-color:transparent!important}.buff-tag-dot{width:9px;height:9px;border-radius:50%;border:1px solid #000;flex-shrink:0}.buff-tag-name{color:var(--buff-color);font-weight:bold}.buff-tag-when{color:#afa6d3;font-size:11px}@keyframes buff-tag-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}#target-notices{position:fixed;top:96px;right:16px;z-index:9500;display:flex;flex-direction:column;gap:8px;width:min(320px,calc(100vw - 32px));pointer-events:none}.target-notice{--tn-color: #ff083c;pointer-events:auto;display:flex;gap:10px;align-items:flex-start;padding:10px 12px;background:rgba(4,0,12,0.95);border:1px solid var(--tn-color);border-left:5px solid var(--tn-color);border-radius:6px;box-shadow:0 4px 18px rgba(0,0,0,0.55),0 0 12px color-mix(in srgb,var(--tn-color) 35%,transparent);color:#fff;font-family:var(--font-terminal);cursor:pointer;position:relative;animation:target-notice-in 0.32s cubic-bezier(.2,.9,.3,1.15)}.target-notice.pen-drawing{border-color:transparent!important}.target-notice.leaving{animation:target-notice-out 0.26s ease-in forwards}.target-notice-icon{line-height:1;flex-shrink:0}.hud-gear{display:block;margin:0 auto;image-rendering:pixelated}#phone-more-sheet .hud-gear{display:inline-block;vertical-align:-3px;margin:0 4px 0 0}.target-notice-icon img{width:28px;height:28px;display:block;filter:drop-shadow(0 0 4px var(--tn-color, #fff))}.target-notice-title{color:var(--tn-color);font-weight:bold;font-size:14px;margin-bottom:2px}.target-notice-text{font-size:13px;line-height:1.35}@keyframes target-notice-in{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}@keyframes target-notice-out{to{opacity:0;transform:translateX(40px)}}@media (prefers-reduced-motion: reduce){.target-notice,.target-notice.leaving{animation:none}}.spectate-room-note{margin:6px 0;padding:6px 10px;border:1px dashed #58a7ff;border-radius:6px;color:#d8f7ff;font-size:13px}#watch-games-section{margin:4px 0 10px}.watch-games-title{margin:0 0 6px;font-size:17px}.watch-game-card{cursor:default}.watch-game-players{font-size:12px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.watch-live{color:#ff5b5b;font-size:11px;letter-spacing:1px;animation:spec-blink 1.6s ease-in-out infinite}@keyframes spec-blink{50%{opacity:0.35}}#spectate-bar{position:fixed;top:54px;left:50%;transform:translateX(-50%);z-index:9400;display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center;padding:6px 14px;max-width:calc(100vw - 32px);background:rgba(0,0,6,0.92);border:1px solid #58a7ff;border-radius:8px;font-family:var(--font-terminal);font-size:13px;color:#fff;box-shadow:0 4px 16px rgba(0,0,0,0.5)}#spectate-bar button{font-family:inherit;font-size:12px;padding:3px 10px;background:#0a0425;color:#fff;border:1px solid #58a7ff;border-radius:4px;cursor:pointer}#spectate-bar .spec-live{color:#ff5b5b;font-weight:bold;letter-spacing:1px;animation:spec-blink 1.6s ease-in-out infinite}#spectate-bar .spec-live.ended{color:#ede7fe;animation:none}#spectate-bar .spec-title{font-weight:bold;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#spectate-bar .spec-follow{cursor:pointer;display:flex;align-items:center;gap:4px}.spec-emote-picker{position:absolute;top:100%;right:0;margin-top:6px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:6px;background:rgba(0,0,6,0.95);border:1px solid #58a7ff;border-radius:6px}.spec-emote-picker[hidden]{display:none}.spec-emote-picker button{padding:2px!important;background:transparent!important;border-color:#272727!important}#spec-emote-feed{position:fixed;right:16px;bottom:90px;z-index:9400;display:flex;flex-direction:column;gap:6px;align-items:flex-end;pointer-events:none}.spec-emote{display:flex;align-items:center;gap:6px;padding:3px 10px;background:rgba(0,0,6,0.85);border:1px solid #58a7ff;border-radius:14px;color:#fff;font-family:var(--font-terminal);font-size:12px;transition:opacity 0.6s;animation:target-notice-in 0.3s ease-out}.spec-emote.leaving{opacity:0}#spectate-scoreboard{position:fixed;left:12px;bottom:80px;z-index:9300;width:250px;padding:8px 10px;background:rgba(0,0,6,0.9);border:1px solid #58a7ff;border-radius:8px;font-family:var(--font-terminal);color:#fff;font-size:12px;box-shadow:0 4px 16px rgba(0,0,0,0.5)}.spec-sb-title{color:#d8f7ff;font-weight:bold;margin-bottom:4px}.spec-row{padding:5px 6px;border-radius:5px;margin-top:3px;border:1px solid transparent}.spec-row.turn{border-color:#fff400;background:rgba(255,244,0,0.06)}.spec-name{font-weight:bold;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spec-els{display:flex;align-items:center;gap:4px;margin:3px 0}.spec-els b{margin-left:4px;font-size:12px}.spec-el{width:12px;height:12px;border-radius:50%;border:1px solid var(--el);opacity:0.35}.spec-el.on{background:var(--el);opacity:1;box-shadow:0 0 6px var(--el)}.spec-meta{display:flex;flex-wrap:wrap;gap:8px;color:#ede7fe;font-size:11px}.spec-ap{color:#fff400}#spectator-count-tag{position:fixed;top:96px;left:16px;z-index:440;padding:3px 10px;border-radius:12px;background:rgba(0,0,6,0.85);border:1px solid #58a7ff;color:#d8f7ff;font-family:var(--font-terminal);font-size:12px}body.spectating #buff-tags{top:100px}body.spectating #undo-move,body.spectating #cast-spell,body.spectating #end-turn,body.spectating #leave-game{display:none!important}#spectate-bar{flex-wrap:nowrap;gap:10px;white-space:nowrap}#spectate-bar .spec-follow{font-size:12px}#spectate-bar .spec-follow input{width:13px;height:13px;margin:0}@media (max-width: 760px){#spectate-bar{flex-wrap:wrap;white-space:normal}}.spec-turn-tag{font-size:10px;color:#fff400;border:1px solid #fff400;border-radius:6px;padding:0 4px;margin-left:4px;font-weight:normal}.spec-test-box{max-width:460px}.spec-test-bots{display:flex;flex-direction:column;gap:6px;margin:10px 0;text-align:left}.spec-test-bots label{cursor:pointer;display:flex;align-items:center;gap:8px}.spec-test-order{color:#ede7fe;font-size:12px}.spec-test-msg{min-height:18px;color:#fff400}g.stone.stone-voided>circle.stone-piece,g.stone.stone-voided>image{filter:brightness(0.7)}#idle-training-bar{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:10060;width:min(620px,calc(100vw - 32px));box-sizing:border-box;padding:10px 14px;background:rgba(0,0,6,0.92);border:1px solid #a758ff;border-radius:8px;font-family:var(--font-terminal);color:#fff;font-size:13px;text-align:center;box-shadow:0 4px 16px rgba(0,0,0,0.55);pointer-events:none}#idle-training-bar .idle-title{color:#ffffff;font-weight:bold;font-size:14px;margin-bottom:4px}#idle-training-bar .idle-tag{color:#000006;background:#a758ff;border-radius:4px;padding:1px 6px;margin-right:6px;font-size:12px}#idle-training-bar .idle-line{color:#ede4ff;margin-top:2px}#idle-training-bar .idle-verdict{margin-top:6px;color:#ffd0d0;font-weight:bold}#idle-training-bar .idle-verdict.win{color:#b3ff85}#idle-training-bar .idle-hint{margin-top:6px;color:#9e95bb;font-size:12px}html.idle-clean #game-layout>*:not(.board-area):not(#board-viewport),html.idle-clean body>*:not(#game-layout):not(#parallax-bg):not(iframe):not(script):not(style):not(link):not(svg:empty):not(canvas){display:none!important}html.idle-clean .game-layout.active{grid-template-rows:1fr;grid-template-areas:"board"}html.idle-clean #board-viewport{transition:opacity 0.4s}html.idle-clean.idle-fitting #board-viewport{opacity:0;transition:none}#viewport g.ghost-tile.tile-carried{transform-box:fill-box;transform-origin:center;scale:1.06;filter:drop-shadow(0 14px 8px rgba(0,0,0,0.5))}html.pc-on .fsp{border-color:color-mix(in srgb,var(--pc) 30%,rgba(255,255,255,0.10));box-shadow:0 8px 32px rgba(0,0,0,0.7),0 0 0 1px color-mix(in srgb,var(--pc) 14%,transparent)}html.pc-on .fsp:hover{box-shadow:0 12px 40px rgba(0,0,0,0.8),0 0 0 1px color-mix(in srgb,var(--pc) 32%,transparent)}html.pc-on .fsp-header{background:linear-gradient(90deg,color-mix(in srgb,var(--pc) 16%,transparent),color-mix(in srgb,var(--pc) 4%,transparent));border-bottom-color:color-mix(in srgb,var(--pc) 35%,transparent)}html.pc-on .fsp-header:not(.fsp-over-capacity){box-shadow:inset 0 2px 0 color-mix(in srgb,var(--pc) 55%,transparent)}html.pc-on .fsp-body,html.pc-on .fsp-compact{background:color-mix(in srgb,color-mix(in srgb,var(--bg-panel, #0a0425) 86%,var(--pc)) 58%,transparent)}html.pc-on .fsp-compact-row:hover{background:color-mix(in srgb,var(--pc) 16%,transparent)}html.pc-on .fsp-card-btn:not(.fsp-card-btn-alt):not(.fsp-cast-dim):not(.fsp-cast-ready){background:color-mix(in srgb,var(--pc) 20%,transparent);border-color:color-mix(in srgb,var(--pc) 50%,transparent);color:#ffffff}html.pc-on .fsp-card-btn:not(.fsp-card-btn-alt):not(.fsp-cast-dim):not(.fsp-cast-ready):hover{background:color-mix(in srgb,var(--pc) 36%,transparent);border-color:color-mix(in srgb,var(--pc) 75%,transparent)}html.pc-on .fsp-card-preview{border-top:2px solid color-mix(in srgb,var(--pc) 55%,transparent)}html.pc-on .hud-bar{background:linear-gradient(180deg,var(--bg-panel),color-mix(in srgb,var(--bg-panel) 90%,var(--pc)));border-bottom-color:color-mix(in srgb,var(--pc) 45%,var(--border-subtle, #272727))}html.pc-on .dock-bar{background:linear-gradient(0deg,var(--bg-panel),color-mix(in srgb,var(--bg-panel) 90%,var(--pc)));border-top-color:color-mix(in srgb,var(--pc) 45%,var(--border-subtle, #272727))}.placed-tile[data-player-tile] .hex-tile:not(.empty-center),.ghost-player-tile .hex-tile:not(.empty-center){fill:var(--pt-bg, #9b7c54);stroke:var(--pt-grid, #081b2a)}.placed-tile[data-player-tile] .hex-tile.center-hex,.ghost-player-tile .hex-tile.center-hex{fill:var(--pt-bg2, #9b7c54)}.placed-tile[data-player-tile] .player-tile-tint,.ghost-player-tile .player-tile-tint{display:none}.player-tile-element-symbols .pt-line{fill:none;stroke:var(--pt-line, #111);stroke-width:0.8;stroke-opacity:0.9;stroke-linejoin:round;stroke-linecap:round}.player-tile-element-symbols .pt-line.pt-thin{stroke-width:0.5;stroke-opacity:0.8}.player-tile-element-symbols .pt-line.pt-dash{stroke-dasharray:3 2.2}.player-tile-element-symbols .pt-line.pt-dots{stroke-dasharray:0.1 2.4;stroke-width:1.1}.player-tile-element-symbols .pt-ink{fill:none;stroke:#000000;stroke-width:0.55;stroke-opacity:0.9}.player-tile-element-symbols .pt-ink.pt-fine{stroke-width:0.35}.player-tile-element-symbols .pt-ink.pt-dash{stroke-dasharray:1.2 1.6}.player-tile-element-symbols .pt-ink.pt-dot{fill:#000000}.player-tile-element-symbols .pt-socket{fill:rgba(0,0,0,0.32);stroke-width:0.8}.player-tile-element-symbols .pt-glow,.player-tile-element-symbols .pt-flash{opacity:0}.player-tile-element-symbols .pt-flash{fill:#fff}.player-tile-element-symbols .pt-stone:not(.on) .pt-bead{opacity:0.32}.player-tile-element-symbols .pt-stone.on .pt-glow{opacity:0.35}.player-tile-element-symbols .pt-stone.on .pt-socket{opacity:0}.player-tile-element-symbols.pt-complete .pt-line{stroke:var(--pt-lit, #fff);stroke-opacity:0.7}.player-tile-element-symbols.pt-complete .pt-stone .pt-glow{opacity:0.9}.player-tile-element-symbols.pt-complete.pt-anim .pt-stone .pt-glow{animation:pt-pulse 1.6s ease-in-out infinite}.player-tile-element-symbols.pt-complete.pt-anim .pt-stone .pt-flash{animation:pt-shine 1.6s ease-in-out infinite}@keyframes pt-pulse{0%,100%{opacity:0.55}50%{opacity:1}}@keyframes pt-shine{0%,100%{opacity:0}50%{opacity:0.3}}.pt-fx-layer .pt-beam{opacity:0.7}.pt-fx-layer .pt-beam-core{animation:pt-beam-shimmer 2.4s ease-in-out infinite}@keyframes pt-beam-shimmer{0%,100%{opacity:0.55}50%{opacity:0.95}}@media (prefers-reduced-motion: reduce){.player-tile-element-symbols .pt-glow,.player-tile-element-symbols .pt-flash,.pt-fx-layer .pt-beam-core{animation:none!important}}.wr-ghost{pointer-events:none;animation:wr-ghost-in 0.8s ease-out both}.wr-ghost .wr-ghost-marker{opacity:0.8}.wr-ghost.wr-out{animation:wr-ghost-out 0.85s ease-in forwards}@keyframes wr-ghost-in{from{opacity:0}to{opacity:1}}@keyframes wr-ghost-out{from{opacity:1}to{opacity:0}}.wr-ghost .wr-ghost-art{animation:wr-ghost-breathe 3.2s ease-in-out infinite}.wr-ghost .wr-ghost-glow{animation:wr-ghost-pulse 2.4s ease-in-out infinite}.wr-ghost .wr-ghost-sheen{animation:wr-ghost-pulse 3.2s ease-in-out infinite reverse}@keyframes wr-ghost-breathe{0%,100%{opacity:0.42}50%{opacity:0.56}}@keyframes wr-ghost-pulse{0%,100%{opacity:0.5}50%{opacity:1}}.wr-ghost .wr-ghost-ring{transform-box:fill-box;transform-origin:center;opacity:0;animation:wr-ghost-ring 1.1s ease-out 0.1s}@keyframes wr-ghost-ring{from{opacity:0.9;transform:scale(0.8)}to{opacity:0;transform:scale(1.18)}}.wr-ghost.wr-out .wr-ghost-ring{animation:wr-ghost-ring 0.85s ease-in reverse}@media (prefers-reduced-motion: reduce){.wr-ghost .wr-ghost-art{opacity:0.5}.wr-ghost .wr-ghost-art,.wr-ghost .wr-ghost-glow,.wr-ghost .wr-ghost-sheen,.wr-ghost .wr-ghost-ring{animation:none}}:root{--r-btn-h: 36px;--r-dock-h: 40px;--r-t-sm: 15px;--r-t-md: 17px;--r-t-lg: 18px;--r-outline: 0 1px 2px rgba(0, 0, 0,0.9), 0 0 2px rgba(0, 0, 0,0.8)}.hud-bar button,.hud-bar .hud-ap{height:var(--r-btn-h)!important;min-height:0!important;box-sizing:border-box!important;font-size:var(--r-t-md)!important;padding:0 14px!important;line-height:1!important;border-width:1px!important;border-radius:4px!important}.hud-bar .hud-ap{font-size:var(--r-t-lg)!important}#emoji-panel-btn,#cosmetics-panel-btn,#settings-panel-btn{width:var(--r-btn-h)!important;padding:0!important;text-align:center!important;justify-content:center!important}#status{font-size:var(--r-t-lg)!important;color:#fef8ff!important}.fsp-title{font-size:var(--r-t-sm)!important;color:#ffffff!important}.fsp-badge,.fsp-compact-meta,.gl-tab,.fsp .source{font-size:13px!important}.fsp-badge{color:#ede7fe!important}.fsp-compact-name{font-size:var(--r-t-sm)!important}.fsp-btn{font-size:13px!important}.dock-actions button,.dock-bar button{height:var(--r-dock-h)!important;box-sizing:border-box!important;padding:0 20px!important;font-size:var(--r-t-sm)!important;border-radius:6px!important;line-height:1!important}#end-turn.hud-end-turn{border-radius:6px!important;box-shadow:none!important;font-size:var(--r-t-sm)!important;padding:0 20px!important}.dock-turn-indicator .hud-player-name{font-size:var(--r-t-lg)!important}.hud-bar,.dock-bar,#status,.fsp,.opponent-card{text-shadow:var(--r-outline)}.fsp-card-desc,.gl-line,.rulebook-entry-body,.changelog-body li,.changelog-entry li,.gami-settings-desc,.gami-badge-desc,.gami-feature-desc,.cos-desc,.retro-dlg-body,.retro-dlg-line,.si-card-desc,.si-common-item-desc,.si-tip,.tutorial-body,.overflow-explainer-body,.target-notice-text,.scroll-found-toast-msg,.game-over-msg,.social-msg,.acct-text,.pbounty-rules{font-family:var(--font-read)!important;letter-spacing:0!important}.fsp-card-desc,.rulebook-entry-body,.si-card-desc{font-size:15px!important;line-height:1.45!important;color:#ffffff!important}.gl-line{font-size:15px;line-height:1.4}:root{--ui-scale: 1}html.ui-scale-on .game-layout{grid-template-rows:auto auto minmax(0,1fr) auto}html.ui-scale-on .hud-bar{height:var(--hud-height)}html.ui-scale-on .hud-bar,html.ui-scale-on .dock-bar,html.ui-scale-on #status,html.ui-scale-on .fsp,html.ui-scale-on .fsp-card-preview,html.ui-scale-on #buff-tags,html.ui-scale-on #target-notices,html.ui-scale-on .retro-dlg-box,html.ui-scale-on .ui-scaled{zoom:var(--ui-scale)}html.ui-scale-on #lobby-wrapper>.site-logo,html.ui-scale-on #auth-screen,html.ui-scale-on #multiplayer-lobby,html.ui-scale-on #player-selection{zoom:var(--ui-scale)}html.ui-scale-on #multiplayer-lobby{max-width:min(1300px,calc(92vw / var(--ui-scale)))}#panel-btn-hand.hand-new{animation:hand-new-glow 0.85s ease-in-out 3}@keyframes hand-new-glow{0%,100%{box-shadow:none}50%{box-shadow:0 0 0 2px #ffcb42,0 0 14px 4px rgba(255,203,66,0.75)}}@media (prefers-reduced-motion: reduce){#panel-btn-hand.hand-new{animation:none;outline:2px solid #ffcb42}}#master-mute-btn{position:fixed;right:10px;bottom:10px;z-index:8500;width:36px;height:36px;padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(12,8,32,0.78);color:#ffebb2;border:1px solid rgba(255,235,178,0.45);cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,0.5)}#master-mute-btn[hidden]{display:none}#master-mute-btn svg{width:100%;height:100%;display:block}#master-mute-btn:hover{border-color:var(--accent-gold)}#master-mute-btn.muted{color:#ff8a9a;border-color:rgba(255,91,110,0.7)}#master-mute-btn.mm-corner{top:12px;right:12px;bottom:auto;width:40px;height:40px;padding:9px;border-radius:6px;background:rgba(12,8,32,0.6);border:1px solid rgba(255,235,178,0.28);box-shadow:none;color:#ffebb2}#master-mute-btn.mm-corner:hover{border-color:var(--accent-gold)}#master-mute-btn.mm-corner.muted{color:#ff8a9a;border-color:rgba(255,91,110,0.6)}html:not(.phone-ui) .hud-bar #master-mute-btn{position:static;width:var(--r-btn-h)!important;padding:7px!important;border-radius:4px!important;background:#272727;border:1px solid #545454;box-shadow:none;color:#ffebb2;flex:0 0 auto}html:not(.phone-ui) .hud-bar #master-mute-btn:hover{background:#3e3e3e}html:not(.phone-ui) .hud-bar #master-mute-btn.muted{color:#ff8a9a}.tutorial-modal.tut-closed{display:none!important}.tutorial-hide{position:absolute;right:8px;top:8px;display:flex;align-items:center;justify-content:center;text-align:center;min-width:0;min-height:0;width:34px;height:34px;padding:0;border-radius:6px;background:transparent;color:var(--accent-gold, #ffcc9d);border:1px solid rgba(255,204,157,0.35);font-size:20px;line-height:1;cursor:pointer}.tutorial-hide:hover{border-color:var(--accent-gold, #ffcc9d)}#tutorial-reopen{position:fixed;right:16px;bottom:120px;z-index:8645;width:40px;height:40px;border-radius:50%;padding:0;background:#0d0a24;color:var(--accent-gold, #ffcc9d);border:1px solid var(--accent-gold, #ffcc9d);font-size:20px;cursor:pointer;box-shadow:0 0 0 0 rgba(255,204,157,0.5);animation:tut-reopen-pulse 2.4s ease-in-out infinite}#tutorial-reopen[hidden]{display:none}@keyframes tut-reopen-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,204,157,0.45)}50%{box-shadow:0 0 0 7px rgba(255,204,157,0)}}@media (prefers-reduced-motion: reduce){#tutorial-reopen{animation:none}}.tutorial-corner .tutorial-header{padding-right:52px}.coach-card{position:fixed;left:50%;margin-left:-190px;width:380px;z-index:8800;box-sizing:border-box;padding:12px 14px 10px;border-radius:8px;cursor:pointer;background:#0c0820;border:2px solid var(--accent-gold, #ffcc5c);box-shadow:0 8px 24px rgba(0,0,0,0.6);color:#f4ead2;font-family:var(--font-read, "Alegreya Sans", sans-serif);font-size:calc(17px * var(--text-k, 1));line-height:1.35;opacity:0;transform:translateY(-8px);transition:opacity 0.22s,transform 0.22s}.coach-card.in{opacity:1;transform:none}.coach-card.phone{left:10px;right:10px;margin-left:0;width:auto;font-size:calc(16px * var(--text-k, 1))}.coach-card .coach-title{font-family:var(--font-pixel, "BoldBrush", sans-serif);color:var(--accent-gold, #ffcc5c);font-size:calc(17px * var(--text-k, 1));letter-spacing:0.5px;margin-bottom:4px}.coach-card .coach-stop{display:block;margin:8px 0 0 auto;padding:2px 8px;font-size:13px;background:none;border:none;color:#b9a98a;text-decoration:underline;cursor:pointer}html.phone-ui .coach-card .coach-stop{min-height:44px;min-width:44px;padding:10px 12px;font-size:14px;margin-top:4px}.coach-spot{box-shadow:0 0 0 3px var(--accent-gold, #ffcc5c),0 0 16px 4px rgba(255,204,92,0.65)!important}:root{--text-k: 1}#status{font-size:calc(20px * var(--text-k))!important}.fsp-title,.fsp-compact-name{font-size:calc(16px * var(--text-k))!important}.fsp-card-name{font-size:calc(15px * var(--text-k))}.fsp-card-desc,.rulebook-entry-body,.si-card-desc{font-size:calc(16.5px * var(--text-k))!important}.fsp-card-preview .fsp-card-name{font-size:calc(26px * var(--text-k))}.fsp-card-preview .fsp-card-meta{font-size:calc(15px * var(--text-k))}.fsp-card-preview .fsp-card-desc{font-size:calc(18.5px * var(--text-k))!important}.gl-line{font-size:calc(16.5px * var(--text-k))}.tutorial-body{font-size:calc(24px * var(--text-k))}.gami-settings-desc{font-size:calc(15px * var(--text-k))!important}.retro-dlg-line,.changelog-body li,.changelog-entry li,.target-notice-text{font-size:calc(16.5px * var(--text-k))!important}html.calm-bg .parallax-space,html.calm-bg .parallax-cloud{animation-play-state:paused!important}html.calm-bg .parallax-cloud{opacity:0.4!important}#connection-status-badge{position:fixed;left:50%;bottom:12px;transform:translateX(-50%);z-index:8600;display:none;align-items:center;gap:6px;padding:4px 12px;background:rgba(12,8,32,0.92);border:1px solid #ff9d00;border-radius:999px;font-family:var(--font-terminal);font-size:14px;line-height:1.2;color:#ffebb2;cursor:pointer;user-select:none;box-shadow:0 2px 10px rgba(0,0,0,0.5)}#connection-status-badge.csb-bad{display:flex}#connection-status-badge .csb-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:0 0 4px currentColor}#connection-status-badge .csb-label{white-space:nowrap}#connection-status-badge .csb-detail{display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);min-width:200px;padding:8px 10px;background:rgba(12,8,32,0.96);border:1px solid rgba(255,235,178,0.35);border-radius:8px;font-size:12px;color:#c9c2e0;line-height:1.5;white-space:normal}#connection-status-badge.csb-expanded .csb-detail{display:block}html.phone-ui #connection-status-badge{bottom:calc(var(--phone-dock-h, 120px) + 10px)}#ap-strip{position:fixed;left:0;right:0;z-index:60;padding:6px 16px;background:rgba(13,10,36,0.92);border-bottom:1px solid rgba(255,255,255,0.06);touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}#ap-strip:active{cursor:grabbing}#ap-strip[hidden]{display:none}#ap-strip.ap-strip-desk{left:50%;right:auto;transform:translateX(-50%);width:460px;max-width:calc(100vw - 32px);box-sizing:border-box;padding:6px 18px;border:1px solid rgba(255,235,178,0.18);border-top:0;border-radius:0 0 10px 10px;z-index:440}html.ui-scale-on #ap-strip.ap-strip-desk{zoom:var(--ui-scale)}html.ap-strip-on #hud-ap-container{display:none!important}#ap-strip #hud-ap-pips{position:relative;display:flex;align-items:center;gap:6px!important;padding:2px 0;width:100%!important;justify-content:flex-start;cursor:inherit}#ap-strip #hud-ap-pips .ab-rod{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none}#ap-strip #hud-ap-pips .ap-pip{position:relative;width:16px!important;height:16px!important;border-radius:50%!important;background:#17141f;border:1px solid rgba(255,235,178,0.3);margin:0;will-change:transform}#ap-strip #hud-ap-pips .ap-pip.filled{background:radial-gradient(circle at 35% 30%,#ffb36b,#d64e00 70%);border-color:#ffcc9d}#ap-strip #hud-ap-pips .ap-pip.void,#ap-strip #hud-ap-pips .ap-pip.void.filled{background:radial-gradient(circle at 35% 30%,#d9a8ff,#7d3fd0 70%);border-color:#e7bfff}#ap-strip #hud-ap-pips .ap-pip.ab-void-spent{background:#17141f;border-color:rgba(200,150,255,0.55)}#ap-strip #hud-ap-pips .ap-pip:not(.void)+.ap-pip.void{margin-left:0}#ap-strip #hud-ap-pips .ap-pip.ab-first{margin-left:auto}#ap-abacus-label{position:fixed;z-index:9150;padding:4px 10px;border-radius:6px;background:#0d0a24;border:1px solid rgba(255,204,157,0.5);color:#ffebb2;font-family:var(--font-terminal, monospace);font-size:14px;pointer-events:none}#ap-abacus-label.desk{transform:translateX(-50%)}#ap-abacus-label[hidden]{display:none}#end-turn.ap-out{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;overflow:hidden;padding:0 6px!important}#end-turn.ap-out .et-main{line-height:1}#end-turn.ap-out .et-sub{font-size:10px;line-height:1;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;opacity:0.9}html.phone-ui #end-turn.ap-out .et-sub{font-size:11px}html:has(.game-layout.active){overflow-x:hidden}#gami-content::before{transition:opacity 280ms ease-out}.gami-modal{position:relative}#gami-content.pen-drawing{border-image-source:none!important;border-color:transparent!important}#gami-content.pen-drawing::before{opacity:0}#phone-lobby-more-sheet.pen-drawing{border-color:transparent!important}.pen-auto.pen-drawing{border-color:transparent!important;border-image-source:none!important}#multiplayer-lobby button.pen-plate,#phone-lobby-more-sheet button.pen-plate,#multiplayer-lobby .quick-play-row #quick-play-btn.quick-play-btn.pen-plate{border-image-source:none!important;border-color:transparent!important}#multiplayer-lobby button.pen-plate-ink,#phone-lobby-more-sheet button.pen-plate-ink{background:var(--pen-plate) center / 100% 100% no-repeat border-box,rgba(10,6,30,0.55) padding-box!important}#multiplayer-lobby .quick-play-row #quick-play-btn.quick-play-btn.pen-plate-seal,html.phone-ui #multiplayer-lobby .quick-play-row>#quick-play-btn.quick-play-btn.pen-plate-seal{background:var(--pen-plate) center / 100% 100% no-repeat border-box!important;box-shadow:none!important;filter:drop-shadow(0 0 10px rgba(255,225,56,0.35)) drop-shadow(0 5px 10px rgba(0,0,0,0.5))}#multiplayer-lobby .quick-play-row #quick-play-btn.quick-play-btn.pen-plate-seal:hover{filter:brightness(1.06) drop-shadow(0 0 12px rgba(255,225,56,0.45)) drop-shadow(0 5px 10px rgba(0,0,0,0.5))}#multiplayer-lobby button.pen-plate-ink:hover,#phone-lobby-more-sheet button.pen-plate-ink:hover{filter:brightness(1.15)}button.pen-fill{background-image:var(--pen-plate)!important;background-size:100% 100%!important;background-repeat:no-repeat!important;background-position:center!important;box-shadow:none!important}button.pen-fill:hover:not(:disabled){filter:brightness(1.12)}button.pen-ink-auto:hover:not(:disabled){filter:brightness(1.15)}.fsp.pen-drawing{border-color:transparent!important;box-shadow:0 8px 32px rgba(0,0,0,0.7)!important}#gami-content.pen-open{animation:none!important}#gami-content.pen-open>*:nth-child(1){animation-delay:390ms}#gami-content.pen-open>*:nth-child(2){animation-delay:480ms}#gami-content.pen-open>*:nth-child(3){animation-delay:570ms}#gami-content.pen-open>*:nth-child(4){animation-delay:660ms}#gami-content.pen-open>*:nth-child(5){animation-delay:750ms}#gami-content.pen-open>*:nth-child(6){animation-delay:840ms}#gami-content.pen-open>*:nth-child(7){animation-delay:930ms}#gami-content.pen-open>*:nth-child(8){animation-delay:1020ms}#gami-content.pen-open>*:nth-child(9){animation-delay:1110ms}#gami-content.pen-open>*:nth-child(10){animation-delay:1200ms}#gami-content.pen-open>*:nth-child(11){animation-delay:1290ms}#gami-content.pen-open>*:nth-child(12){animation-delay:1380ms}#gami-content.pen-open>*:nth-child(13){animation-delay:1470ms}#gami-content.pen-open>*:nth-child(n+14){animation-delay:1560ms}html.puzzle-on #status{visibility:hidden}html.puzzle-on .game-over-overlay,html.puzzle-on #leave-game,html.puzzle-on .coach-card{display:none!important}html.puzzle-on .pz-new{animation:pz-new 1.4s ease-in-out 4}@keyframes pz-new{0%,100%{box-shadow:0 0 0 0 rgba(255,203,66,0)}50%{box-shadow:0 0 0 4px rgba(255,203,66,0.9),0 0 22px 6px rgba(255,203,66,0.55)}}#puzzle-bar{position:fixed;left:50%;top:64px;transform:translateX(-50%);z-index:960;display:flex;align-items:center;gap:14px;padding:6px 10px;background:rgba(14,11,24,0.82);border-radius:30px;box-shadow:0 4px 18px rgba(0,0,0,0.45);pointer-events:auto}#puzzle-bar.pz-shake{animation:pz-shake 0.45s ease-in-out 2}@keyframes pz-shake{0%,100%{margin-left:0}25%{margin-left:-10px}75%{margin-left:10px}}.pz-btn{width:44px;height:44px;border-radius:50%;border:0;cursor:pointer;background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:100% 100%;color:#ffcb42;font-size:20px;line-height:44px;padding:0}.pz-btn:not(.pen-plate){border:2px solid rgba(255,203,66,0.7)}.pz-btn:hover{filter:brightness(1.25)}.pz-btn{display:inline-flex;align-items:center;justify-content:center}.pz-svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.pz-svg-fill{fill:#2a1a08;stroke:#2a1a08;stroke-width:1.5;width:28px;height:28px}.pz-dots{display:flex;gap:6px}.pz-dots i{width:10px;height:10px;border-radius:50%;border:1.5px solid #7a6f6c}.pz-dots i.done{background:#ffcb42;border-color:#ffcb42}.pz-dots i.on{border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,0.25)}.pz-goal{min-width:44px;height:44px;display:flex;align-items:center;justify-content:center;transition:transform 0.3s}.pz-goal.met{transform:scale(1.18);filter:drop-shadow(0 0 8px #ffcb42)}.pz-ico{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:2px}.pz-ico .pz-stone{width:26px;height:26px;object-fit:contain}.pz-ico b{color:#fff;font:700 16px/1 sans-serif;margin-left:3px}.pz-ico-hex{width:38px;height:38px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:rgba(255,203,66,0.9)}.pz-ico-hex .pz-stone{width:24px;height:24px}.pz-ico-hex::after{content:"";position:absolute;inset:3px;clip-path:inherit;background:rgba(14,11,24,0.85);z-index:-0}.pz-ico-hex .pz-stone{position:relative;z-index:1}.pz-ico-flip{width:38px;height:30px}.pz-ico-flip::before,.pz-ico-flip::after{content:"";position:absolute;width:22px;height:26px;top:2px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.pz-ico-flip::before{left:0;background:#5a5260}.pz-ico-flip::after{right:0;background:#ffcb42}.pz-ico-scroll{width:30px;height:38px;border-radius:4px;background:#e9dcc0;box-shadow:inset 0 0 0 2px #b89a5e}.pz-ico-home{width:40px;height:40px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:#4a3a63;flex-wrap:wrap;padding:8px;gap:3px}.pz-ico-home i{width:7px;height:7px;border-radius:50%}.pz-turns{display:flex;gap:5px}.pz-turns i{width:12px;height:12px;transform:rotate(45deg);background:#ffcb42;border-radius:2px;transition:opacity 0.3s}.pz-turns i.used{opacity:0.18}.pz-layer .pz-hex{fill:none;stroke:#ffcb42;stroke-width:2.4;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100;animation:pz-draw 0.9s ease-out forwards}.pz-layer .pz-hex-glow{fill:rgba(255,203,66,0.16);stroke:rgba(255,203,66,0.35);stroke-width:6}.pz-layer .pz-hint .pz-hex{stroke:#fff;stroke-dasharray:4 4;stroke-dashoffset:0;animation:none;opacity:0.8}.pz-layer .pz-hint .pz-hex-glow{fill:rgba(255,255,255,0.1);stroke:none}.pz-layer.pz-met .pz-hex{stroke:#fff}.pz-layer.pz-met .pz-hex-glow{fill:rgba(255,255,255,0.35)}.pz-layer.pz-fail .pz-hex{stroke:#ff5050}@keyframes pz-draw{to{stroke-dashoffset:0}}#puzzle-done{position:fixed;left:50%;top:140px;transform:translateX(-50%);z-index:980;display:flex;align-items:center;gap:12px;padding:6px 8px 6px 6px;border-radius:34px;background:rgba(14,11,24,0.82);box-shadow:0 4px 18px rgba(0,0,0,0.45);opacity:0;transition:opacity 0.35s}#puzzle-done.in{opacity:1}.pz-done-ring{width:52px;height:52px;border-radius:50%;background-color:rgba(14,11,24,0.85);background-repeat:no-repeat;background-position:center;background-size:100% 100%}.pz-done-ring svg{width:100%;height:100%}.pz-check{fill:none;stroke:#ffcb42;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100;animation:pz-draw 0.6s 0.25s ease-out forwards}#puzzle-done .pz-next{width:84px;height:48px;border-radius:24px;font-size:24px;color:#1a1208;text-shadow:0 0 6px rgba(255,230,160,0.8)}#puzzle-done .pz-next:not(.pen-plate){background:#ffcb42}.pz-btn.pen-plate,.pz-done-ring.pen-plate{background-image:var(--pen-plate)}@media (prefers-reduced-motion: reduce){.pz-layer .pz-hex,.pz-check{animation-duration:0.01s}}.pz-layer .pz-route{fill:none;stroke:#ff5a4f;stroke-width:2.6;stroke-dasharray:5 5;stroke-linecap:round;stroke-linejoin:round;opacity:0.85}.pz-layer .pz-rival-body{fill:#c0392b;stroke:#fff;stroke-width:1.6}.pz-layer .pz-rival-head{fill:#ff8a80}.pz-layer .pz-rival-goal .pz-hex{stroke:#ff5a4f}.pz-layer .pz-rival-goal .pz-hex-glow{fill:rgba(255,90,79,0.14);stroke:rgba(255,90,79,0.3)}.pz-ico-seal{width:40px;height:40px}.pz-ico-seal i{width:24px;height:24px;border-radius:50%;background:#c0392b;border:2px solid #fff}.pz-ico-seal::after{content:"";position:absolute;width:36px;height:4px;background:#ffcb42;border-radius:2px;transform:rotate(-45deg);box-shadow:0 0 4px rgba(0,0,0,0.6)}html.phone-ui #puzzle-bar{gap:8px;padding:4px 6px;max-width:calc(100vw - 12px);box-sizing:border-box}html.phone-ui #puzzle-bar .pz-dots{gap:3px}html.phone-ui #puzzle-bar .pz-btn{flex-shrink:0;width:38px;height:38px}html.phone-ui #puzzle-bar .pz-dots{gap:2px}html.phone-ui #puzzle-bar .pz-dots i{width:7px;height:7px}html.phone-ui #puzzle-bar .pz-dots i{width:8px;height:8px;border-width:1.2px}html.phone-ui #puzzle-bar .pz-goal{min-width:36px;height:40px}.pz-layer .pz-road{stroke:#ffcb42;stroke-width:3;stroke-dasharray:5 6;stroke-linecap:round;opacity:0.7}.pz-layer .pz-road.on{stroke-dasharray:none;opacity:0.95;stroke-width:3.6}.pz-ico-road{gap:0}.pz-ico-road .pz-stone{width:18px;height:18px;margin-left:-3px}#pz-rests{position:fixed;z-index:1000;min-width:26px;height:26px;padding:0 6px;box-sizing:border-box;border-radius:13px;background:#ffcb42;color:#1a1208;border:2px solid #1a1208;font:700 15px/22px sans-serif;text-align:center;pointer-events:none;box-shadow:0 2px 6px rgba(0,0,0,0.5)}#pz-rests.zero{background:#5a5260;color:#ddd}#pz-rests.bump{animation:pz-bump 0.4s ease-out}@keyframes pz-bump{50%{transform:scale(1.35)}}.pz-layer .pz-tile-glow{fill:none;stroke:rgba(255,203,66,0.35);stroke-width:8;stroke-linecap:round}.pz-layer .pz-tile-edge{fill:none;stroke:#ffcb42;stroke-width:2.6;stroke-linecap:round}.pz-layer .pz-tile.pz-done,.pz-layer .pz-entry.pz-done{opacity:0.2}.pz-layer .pz-entry .pz-hex{stroke-width:1.6;stroke-dasharray:3 3;animation:none;stroke-dashoffset:0}.pz-layer .pz-entry .pz-hex-glow{fill:rgba(255,203,66,0.22);stroke:none}.bt-cracks polyline{fill:none;stroke:#120c18;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}g.stone.bt-breaking{filter:brightness(1.15)}g.stone.bt-target{filter:drop-shadow(0 0 4px #ffcb42) drop-shadow(0 0 2px #ffcb42)}#hud-ap-pips .ap-pip.bt-cost{filter:drop-shadow(0 0 5px #ff5a4f) brightness(1.15)}#ap-strip.bt-short{animation:bt-short 0.5s ease-in-out}@keyframes bt-short{20%,60%{translate:-6px 0}40%,80%{translate:6px 0}}#bt-drag{position:fixed;z-index:3000;width:40px;height:40px;margin:-46px 0 0 -20px;pointer-events:none;filter:drop-shadow(0 3px 6px rgba(0,0,0,0.6))}#bt-drag .bt-icon{width:100%;height:100%}#bt-drag.bt-no{opacity:0.5;filter:grayscale(1)}.es-break-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:54px;padding:6px 4px;border-radius:8px;cursor:grab;user-select:none;touch-action:none;background:rgba(255,255,255,0.04);border:1px dashed rgba(255,235,178,0.45)}.es-break-card:hover{background:rgba(255,203,66,0.12)}.es-break-card .bt-icon{width:26px;height:26px}.es-break-card .bt-label{font-size:11px;color:#ffebb2}.arc-menu .sw-break .bt-icon{width:30px;height:30px}.pz-guide{animation:pz-new 1.4s ease-in-out infinite;border-radius:10px}#stone-wheel-btn.pz-guide,.arc-item.pz-guide{border-radius:50%}.pz-guide-stone{position:fixed;z-index:990;width:26px;height:26px;margin:-13px 0 0 -13px;pointer-events:none;opacity:0;transition:left 1.3s cubic-bezier(.45,.05,.35,1),top 1.3s cubic-bezier(.45,.05,.35,1),opacity 0.35s}.pz-guide-stone.go{opacity:0.75}.pz-guide-stone span{position:absolute;inset:0;border-radius:50%;opacity:0.85;box-shadow:0 0 10px rgba(255,255,255,0.6)}.pz-guide-stone img{position:absolute;inset:3px;width:20px;height:20px}#puzzle-bar .pz-restart.arm{color:#ff6b5f;filter:drop-shadow(0 0 6px #ff5a4f)}.pz-guide-break{width:34px;height:34px;margin:-17px 0 0 -17px}.pz-guide-break .bt-icon{width:100%;height:100%}.pz-guide-break.hold{animation:pz-hold 0.12s linear infinite}@keyframes pz-hold{0%,100%{translate:0 0}25%{translate:-2px 1px}75%{translate:2px -1px}}#pz-studio{position:fixed;right:10px;top:70px;bottom:90px;width:330px;z-index:1100;overflow-y:auto;background:rgba(14,11,24,0.94);color:#f3e9d2;border:1px solid rgba(159,211,255,0.5);border-radius:12px;box-shadow:0 8px 28px rgba(0,0,0,0.55);font:13px/1.35 system-ui,sans-serif;padding:8px 10px;box-sizing:border-box}#pz-studio button,#pz-studio-copy button{background:rgba(255,255,255,0.08);color:#f3e9d2;border:1px solid rgba(255,255,255,0.25);border-radius:6px;padding:4px 8px;cursor:pointer;font:inherit;min-height:28px}#pz-studio button:hover{background:rgba(255,255,255,0.16)}#pz-studio button:disabled{opacity:0.4;cursor:default}#pz-studio .pzs-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}#pz-studio .pzs-head b{color:#9fd3ff;font-size:15px}#pz-studio .pzs-head span{flex:1;opacity:0.6;font-size:11px}#pz-studio .pzs-sec{border-top:1px solid rgba(255,255,255,0.12);padding:7px 0}#pz-studio .pzs-title{font-weight:700;color:#ffcb42;margin-bottom:5px}#pz-studio .pzs-title small{font-weight:400;color:#f3e9d2;opacity:0.6;margin-left:6px}#pz-studio .pzs-sub{margin:7px 0 3px;opacity:0.75;font-size:12px}#pz-studio .pzs-help{font-size:12px;opacity:0.75;margin-top:5px}#pz-studio .pzs-levels{list-style:none;margin:0;padding:0;max-height:220px;overflow-y:auto}#pz-studio .pzs-levels li{display:flex;align-items:center;gap:4px;padding:2px 4px;border-radius:6px;cursor:pointer;border:1px solid transparent}#pz-studio .pzs-levels li:hover{background:rgba(255,255,255,0.06)}#pz-studio .pzs-levels li.on{background:rgba(255,203,66,0.16);border-color:rgba(255,203,66,0.5)}#pz-studio .pzs-levels li.over{border-top:2px solid #9fd3ff}#pz-studio .pzs-levels li.drag{opacity:0.4}#pz-studio .pzs-levels li button{min-height:22px;padding:0 5px;font-size:10px}#pz-studio .pzs-grip{cursor:grab;opacity:0.5}#pz-studio .pzs-name{flex:1}#pz-studio .pzs-name em{color:#9fd3ff;font-size:11px}#pz-studio .pzs-row{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-top:5px}#pz-studio .pzs-tools{display:flex;flex-wrap:wrap;gap:4px}#pz-studio .pzs-tool.on{background:rgba(159,211,255,0.3);border-color:#9fd3ff}#pz-studio .pzs-tool img{width:20px;height:20px;vertical-align:middle}#pz-studio .pzs-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 8px}#pz-studio input[type=number]{width:48px}#pz-studio input,#pz-studio select,#pz-studio textarea{background:rgba(0,0,0,0.35);color:#f3e9d2;border:1px solid rgba(255,255,255,0.25);border-radius:5px;font:inherit}#pz-studio textarea{width:100%;box-sizing:border-box;resize:vertical}#pz-studio .pzs-pool{display:flex;gap:6px}#pz-studio .pzs-pool label{display:flex;flex-direction:column;align-items:center}#pz-studio .pzs-pool img{width:20px;height:20px}#pz-studio .pzs-pool input{width:40px}#pz-studio .pzs-pieces{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2px 6px;font-size:12px}#pz-studio .pzs-pins{margin:6px 0 0;padding-left:0;list-style:none;font-size:12px}#pz-studio .pzs-pins li{margin-bottom:3px}#pz-studio .pzs-pins b{display:inline-block;min-width:18px;text-align:center;background:#ffcb42;color:#1a1420;border-radius:50%}#pz-studio .pzs-pins button{min-height:18px;padding:0 4px;font-size:10px}#pz-studio .pzs-foot{display:flex;gap:6px;border-top:1px solid rgba(255,255,255,0.12);padding-top:8px}#pz-studio .pzs-main,#pz-studio-copy .pzs-main{background:#ffcb42;color:#1a1420;border-color:#ffcb42;font-weight:700;flex:1}html.pzs-editing #boardSvg{cursor:crosshair}.pzs-layer .pzs-pin circle{fill:#ffcb42;stroke:#1a1420;stroke-width:1.5}.pzs-layer .pzs-pin text{fill:#1a1420;font:bold 9px system-ui,sans-serif;text-anchor:middle}#pz-studio-copy{position:fixed;inset:0;z-index:1200;background:rgba(0,0,0,0.55);display:flex;align-items:center;justify-content:center}#pz-studio-copy .pzs-copy-box{width:min(640px,calc(100vw - 32px));background:#16121f;color:#f3e9d2;border:1px solid rgba(159,211,255,0.5);border-radius:12px;padding:12px;box-sizing:border-box;font:13px system-ui,sans-serif}#pz-studio-copy textarea{width:100%;box-sizing:border-box;margin:8px 0;background:#0c0a12;color:#f3e9d2;font:12px monospace}#pz-studio-copy .pzs-row{display:flex;gap:6px}#pz-studio-copy .pzs-copied{display:block;margin-top:6px;color:#9fd3ff}html.phone-ui #pz-studio{left:6px;right:6px;width:auto;top:auto;bottom:6px;max-height:55vh}#pz-studio label{font:inherit;letter-spacing:0}#hermit-menu>*{flex-shrink:0}html.bt-armed #boardSvg{cursor:crosshair}html.bt-armed g.stone.bt-target{animation:bt-armed-pulse 0.9s ease-in-out infinite alternate}@keyframes bt-armed-pulse{from{filter:drop-shadow(0 0 2px #ffcb42)}to{filter:drop-shadow(0 0 7px #ffcb42) drop-shadow(0 0 3px #fff3c4)}}html.bt-armed .es-break-card,html.bt-armed .arc-item.sw-break{box-shadow:0 0 0 2px #ffcb42,0 0 12px #ffcb42}#pz-block{position:fixed;inset:0;z-index:950;background:transparent}.pz-knight{opacity:0;transition:opacity 0.6s ease}.pz-knight .pz-knight-body{transform:translateY(14px) scale(0.6);transform-origin:0 6px;transition:transform 0.7s cubic-bezier(.2,1.4,.4,1);transform-box:view-box}.pz-knight.in{opacity:1}.pz-knight.in .pz-knight-body{transform:none}.pz-knight.out{opacity:0;transition:opacity 0.7s ease}.pz-knight.out .pz-knight-body{transform:translateY(-26px) scale(0.8);transition:transform 0.7s ease-in}.pz-knight-shadow{fill:rgba(0,0,0,0.45)}.pz-knight-aura{fill:rgba(140,70,220,0.22);stroke:rgba(190,140,255,0.55);stroke-width:1;animation:pz-knight-aura 1.4s ease-in-out infinite alternate}@keyframes pz-knight-aura{from{opacity:0.5}to{opacity:1}}.pz-knight-cloak{fill:#1d1430;stroke:#b58cff;stroke-width:1.4}.pz-knight-head{fill:#2a1d44;stroke:#b58cff;stroke-width:1.4}.pz-knight-eyes{stroke:#e9d6ff;stroke-width:1.4;stroke-linecap:round}.pz-bang{animation:pz-bang 0.45s cubic-bezier(.2,1.6,.4,1) both}.pz-bang circle{fill:#ffcb42;stroke:#1a1420;stroke-width:1.2}.pz-bang text{fill:#1a1420;font:900 13px system-ui,sans-serif;text-anchor:middle}@keyframes pz-bang{from{transform:translate(0,-23px) scale(0)}to{transform:translate(0,-23px) scale(1)}}.pz-layer .pz-escape .pz-hex{stroke-dasharray:3 4;opacity:0.55}.pz-layer .pz-escape .pz-hex-glow{opacity:0.35}.pz-ico-escape svg{width:26px;height:26px}#bt-pop{position:fixed;z-index:1300;width:88px;height:88px;pointer-events:none;opacity:0;transform:scale(0.6);transition:opacity 0.15s ease,transform 0.18s cubic-bezier(.2,1.5,.4,1);filter:drop-shadow(0 4px 10px rgba(0,0,0,0.6))}#bt-pop.in{opacity:1;transform:scale(1)}#bt-pop.gone{opacity:0;transform:scale(0.8);transition:opacity 0.25s ease,transform 0.25s ease}#bt-pop.burst{opacity:0;transform:scale(1.5);transition:opacity 0.3s ease-out,transform 0.3s ease-out}#bt-pop .bt-pop-svg{width:100%;height:100%;overflow:visible}#bt-pop .bt-pop-track{fill:rgba(14,11,24,0.85);stroke:rgba(255,255,255,0.15);stroke-width:5}#bt-pop .bt-pop-ring{fill:none;stroke:#ffcb42;stroke-width:5;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100}#bt-pop .bt-pop-disc{fill:color-mix(in srgb,var(--bt-c) 45%,#14101e);stroke:var(--bt-c);stroke-width:2.5}#bt-pop .bt-pop-cracks polyline{fill:none;stroke:#120d18;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.pz-layer .pz-place-spot .pz-hex{stroke-dasharray:4 4}#pz-lock{position:fixed;inset:0;z-index:950;background:transparent}.pz-layer .pz-place-spot.done .pz-hex{stroke:#fff;stroke-dasharray:none;transition:opacity 0.8s}.pz-layer .pz-place-spot.done{animation:pz-spot-done 0.9s ease-out forwards}@keyframes pz-spot-done{0%{opacity:1}40%{opacity:1}100%{opacity:0}}html.pz-no-break .es-break-card,html.pz-no-break .arc-item.sw-break{display:none!important}

/* css/paper-ui-profile.css */
:root{--pp-parch: var(--bg-panel);--pp-parch-lt: var(--bg-elevated);--pp-parch-dk: var(--bg-dark);--pp-maroon: var(--void-color);--pp-ink: var(--text-primary);--pp-ink-soft: var(--text-secondary);--pp-gold: var(--accent-gold);--pp-green: var(--earth-color);--pp-rust: var(--accent-orange);--pp-locked: var(--border-subtle)}#gami-content{position:relative;border-style:solid;border-width:16px;border-image-source:url(../assets/paper-ui-menus/pieces/piece_37_185x282.webp);border-image-slice:11;border-image-width:16px;border-image-repeat:stretch;transform-origin:left center}#gami-content.pp-fresh-open{animation:pp-panel-unfold 1000ms steps(1,jump-end) both}#gami-content::before{content:"";position:absolute;inset:-14px;pointer-events:none;border-style:solid;border-width:26px;border-image-source:url(../assets/paper-ui-menus/pieces/piece_54_226x253.webp);border-image-slice:26;border-image-width:26px;border-image-repeat:stretch}@keyframes pp-panel-unfold{0%{opacity:1;width:18.14%;transform:none}10%{opacity:1;width:33.82%;transform:none}20%{opacity:1;width:49.51%;transform:none}30%{opacity:1;width:73.04%;transform:none}40%{opacity:1;width:80.88%;transform:none}50%{opacity:1;width:88.73%;transform:none}60%{opacity:1;width:89.71%;transform:translateX(4.41%)}70%{opacity:1;width:89.71%;transform:translateX(7.35%)}80%{opacity:1;width:89.71%;transform:translateX(8.82%)}90%{opacity:1;width:89.71%;transform:translateX(8.33%)}100%{opacity:1;width:89.71%;transform:translateX(7.84%)}}#gami-content>*{opacity:0;animation:pp-row-in 120ms ease-out both}#gami-content.pp-fresh-open>*:nth-child(1){animation-delay:1000ms}#gami-content.pp-fresh-open>*:nth-child(2){animation-delay:1035ms}#gami-content.pp-fresh-open>*:nth-child(3){animation-delay:1070ms}#gami-content.pp-fresh-open>*:nth-child(4){animation-delay:1105ms}#gami-content.pp-fresh-open>*:nth-child(5){animation-delay:1140ms}#gami-content.pp-fresh-open>*:nth-child(6){animation-delay:1175ms}#gami-content.pp-fresh-open>*:nth-child(7){animation-delay:1210ms}#gami-content.pp-fresh-open>*:nth-child(8){animation-delay:1245ms}#gami-content.pp-fresh-open>*:nth-child(9){animation-delay:1280ms}#gami-content.pp-fresh-open>*:nth-child(10){animation-delay:1315ms}#gami-content.pp-fresh-open>*:nth-child(11){animation-delay:1350ms}#gami-content.pp-fresh-open>*:nth-child(12){animation-delay:1385ms}#gami-content.pp-fresh-open>*:nth-child(13){animation-delay:1420ms}#gami-content.pp-fresh-open>*:nth-child(n+14){animation-delay:1455ms}@keyframes pp-row-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.gami-loading{opacity:1!important;animation:none!important;color:var(--pp-ink-soft)!important}@media (prefers-reduced-motion: reduce){#gami-content.pp-fresh-open,#gami-content>*{animation:none!important;opacity:1!important;transform:none!important}}.gami-settings-list{display:flex;flex-direction:column;gap:10px}.gami-settings-menu{align-items:stretch;gap:14px;padding:6px 4px}.gami-settings-detail{padding:0 2px}.gami-modal{background:#000000;border:2px solid #311b0d;box-shadow:6px 6px 0 #000,0 0 0 1px rgba(167,88,255,0.3)}.gami-header{border-bottom:2px solid #311b0d}.gami-title{color:#ffd89d;text-shadow:2px 2px 0 #000}.gami-close{border-color:var(--pp-maroon);color:#ffd89d;background:#130600}.gami-close:hover{color:#fff;border-color:#c25b5b}.gami-tabs{border-bottom:2px solid #311b0d}.gami-tab{color:#c2a282}.gami-tab:hover{color:#ffd89d}.gami-tab.active{color:#ffedb7;border-bottom-color:var(--pp-maroon)}.gami-settings-row,.gami-stat,.gami-badge-card,.gami-lb-row,.gami-stable-row,.gami-cos-item,.gami-shop-item{background:rgba(27,27,27,0.55);border:1.5px solid rgba(167,88,255,0.5);border-radius:3px}.gami-lb-row.gami-lb-me{border-color:var(--pp-maroon);background:rgba(27,27,27,0.8)}.gami-badge-card.earned{border-color:var(--pp-maroon)}.gami-badge-card.locked{opacity:0.55}.gami-cos-item.active{border-color:var(--pp-maroon);background:rgba(27,27,27,0.8)}.gami-shop-item.owned{opacity:0.65}.gami-settings-name,.gami-settings-desc,.gami-stat-val,.gami-stat-lbl,.gami-badge-name,.gami-badge-desc,.gami-lb-name,.gami-lb-rank,.gami-lb-level,.gami-stable-name,.gami-stable-record,.gami-cos-name,.gami-shop-name,.gami-display-name,.gami-xp-text,.gami-emoji-shop-grid,.gami-tier-header span{color:var(--pp-ink)}.gami-settings-desc,.gami-stat-lbl,.gami-badge-desc,.gami-lb-level,.gami-stable-record,.gami-shop-name{color:var(--pp-ink-soft)}.gami-stat-val,.gami-lb-xp,.gami-badge-reward,.gami-cos-header span+span{color:var(--pp-gold)!important}.gami-shop-owned{color:var(--pp-green)}.gami-level-badge{background:var(--pp-maroon);color:var(--pp-parch-lt)}.gami-xp-bar-wrap{background:rgba(51,30,9,0.25)}.gami-xp-bar{background:var(--pp-gold)}.gami-settings-section-label,.gami-section-title,.section-label{color:var(--pp-maroon)!important;border-bottom-color:rgba(167,88,255,0.35)!important;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.gami-settings-section-label{text-align:center;letter-spacing:2px;padding:10px 0 2px}.gami-tier-header{background:rgba(27,27,27,0.35);border-left-color:var(--pp-maroon)!important}.pp-menu-btn,.gami-cos-btn,.gami-stable-btn,.gami-toggle{font-family:var(--font-pixel),var(--font-terminal),monospace}.pp-menu-btn{position:relative;border-style:solid;border-width:12px;border-image-source:url(../assets/paper-ui-menus/pieces/piece_44_175x51.webp);border-image-slice:12;border-image-width:12px;border-image-repeat:stretch;background:transparent;min-height:44px;font-size:20px;letter-spacing:1px;text-align:center;color:var(--pp-ink);cursor:pointer;text-shadow:0 1px 0 rgba(255,255,255,0.4)}.pp-menu-btn:active{transform:translate(2px,2px)}a.pp-menu-btn{box-sizing:border-box;text-decoration:none;display:inline-block}.gami-settings-cats a.gami-about-link{grid-column:1 / -1}.gami-cos-btn,.gami-stable-btn{position:relative;border-style:solid;border-width:7px;border-image-source:url(../assets/paper-ui-menus/pieces/piece_44_175x51.webp);border-image-slice:12;border-image-width:7px;border-image-repeat:stretch;background:transparent;color:var(--pp-ink);box-shadow:none;cursor:pointer}.gami-cos-btn:hover,.gami-stable-btn:hover{filter:brightness(0.97)}.gami-cos-btn:active,.gami-stable-btn:active{transform:translate(2px,2px)}.gami-cos-btn.equipped{color:var(--pp-green)}.gami-cos-btn.buy{color:var(--pp-gold)}.gami-cos-btn.cant-afford{opacity:0.5;cursor:default}.gami-stable-btn.off{color:var(--pp-rust)}.gami-shop-buy-btn{border-color:var(--pp-maroon)!important;color:var(--pp-gold)!important}.gami-shop-buy-btn:hover{background:rgba(167,88,255,0.08)!important}.gami-emoji-btn,.gami-shop-emoji{background:rgba(27,27,27,0.55);border-color:rgba(167,88,255,0.5)}.gami-emoji-btn:hover:not(.inactive){background:rgba(27,27,27,0.85);border-color:var(--pp-maroon)}.gami-emoji-btn.text-emoji,.gami-shop-emoji.text-emoji{color:var(--pp-ink)}.gami-emoji-btn.inactive{opacity:0.5}.pp-menu-btn::after,.gami-cos-btn::after,.gami-stable-btn::after{content:"";position:absolute;inset:-6px;pointer-events:none;opacity:0;border-style:solid;border-width:14px;border-image-source:url(../assets/paper-ui-menus/decoded/highlighter_button_steady_42x45.webp);border-image-slice:14 fill;border-image-width:14px;border-image-repeat:stretch}.pp-menu-btn:hover::after,.pp-menu-btn:focus-visible::after,.gami-cos-btn:hover::after,.gami-cos-btn:focus-visible::after,.gami-stable-btn:hover::after,.gami-stable-btn:focus-visible::after{opacity:1;animation:pp-highlight-land 220ms steps(1,jump-end) both}@keyframes pp-highlight-land{0%{border-image-source:url(../assets/paper-ui-menus/decoded/highlighter_button_pulse_42x46.webp)}45%{border-image-source:url(../assets/paper-ui-menus/decoded/highlighter_button_steady_42x45.webp)}100%{border-image-source:url(../assets/paper-ui-menus/decoded/highlighter_button_steady_42x45.webp)}}@media (prefers-reduced-motion: reduce){.pp-menu-btn::after,.gami-cos-btn::after,.gami-stable-btn::after{animation:none!important}}.gami-toggle,.gami-toggle.on,.gami-toggle.off{border-style:solid;border-width:8px;border-image-source:url(../assets/paper-ui-menus/pieces/piece_52_59x22.webp);border-image-slice:7;border-image-width:8px;border-image-repeat:stretch;background:transparent;box-shadow:none;color:var(--pp-ink);text-shadow:0 1px 0 rgba(255,255,255,0.4)}.gami-toggle.on{color:var(--pp-green)}.gami-toggle.off{color:var(--pp-rust)}.gami-toggle:active{transform:translate(2px,2px)}#gami-content input[type=range]:not(.gami-pip-range){accent-color:var(--pp-maroon)!important}.pp-flanked-label span{font-family:var(--font-pixel),var(--font-terminal),monospace}.pp-flanked-label{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:10px}.pp-flanked-label::before,.pp-flanked-label::after{content:"";flex:1 1 0;max-width:64px;border-top:2px dashed var(--pp-maroon);opacity:.55}.pp-flanked-label span{font-size:15px;color:var(--pp-maroon);letter-spacing:1px;white-space:nowrap}.pp-flanked-label--back{flex-direction:row;justify-content:flex-start;gap:10px;padding-left:4px;margin-bottom:14px}.pp-flanked-label--back::before,.pp-flanked-label--back::after{display:none}.pp-back-btn{width:26px;height:26px;border:2px solid var(--pp-maroon);border-radius:50%;background:var(--pp-parch-lt);cursor:pointer;padding:0;position:relative}.pp-back-btn::before{content:"";position:absolute;top:50%;left:55%;width:8px;height:8px;border-left:2.5px solid var(--pp-maroon);border-bottom:2.5px solid var(--pp-maroon);transform:translate(-50%,-50%) rotate(45deg)}.pp-back-btn:active{transform:translate(1px,1px)}.pp-flanked-label--back span{font-size:15px}.gami-pip-range{-webkit-appearance:none;appearance:none;width:130px;height:16px;background:repeating-linear-gradient(to right,#4685b2 0,#4685b2 9px,transparent 9px,transparent 11px),var(--pp-parch-lt);border:1.5px solid var(--pp-maroon);border-radius:2px;cursor:pointer}.gami-pip-range::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:20px;margin-top:-3px;background:var(--pp-maroon);border:1px solid var(--pp-ink);border-radius:1px;cursor:pointer}.gami-pip-range::-moz-range-track{height:16px;background:repeating-linear-gradient(to right,#4685b2 0,#4685b2 9px,transparent 9px,transparent 11px),var(--pp-parch-lt);border:1.5px solid var(--pp-maroon);border-radius:2px}.gami-pip-range::-moz-range-thumb{width:10px;height:20px;background:var(--pp-maroon);border:1px solid var(--pp-ink);border-radius:1px;cursor:pointer}.gami-keybind-group{background:rgba(27,27,27,0.42);border:1px solid rgba(167,88,255,0.4)}.gami-keybind-group-title{color:var(--pp-maroon);border-bottom-color:rgba(167,88,255,0.35)}.gami-keybind-row{color:var(--pp-ink)}.gami-keybind-row kbd{background:var(--pp-parch-lt);border:1px solid var(--pp-maroon);border-bottom:2px solid var(--pp-maroon);color:var(--pp-ink)}.gami-settings-cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px auto 0;max-width:420px}.gami-settings-cats .pp-menu-btn{width:100%;margin:0!important;min-height:56px;display:flex;align-items:center;justify-content:center;text-align:center!important}.gami-level-badge{background:linear-gradient(180deg,#ffebb2,#c9a24a)!important;color:#1b1301!important;border-radius:0!important;width:60px!important;height:66px!important;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.gami-level-num{font-family:var(--font-terminal)!important;font-size:30px!important;font-weight:bold!important;color:#1b1301}.gami-level-label{font-size:12px!important;color:#3b2a07}.gami-shop-gold{margin-left:auto;margin-right:14px;font-family:var(--font-terminal);font-size:18px;color:var(--pp-ink-soft)}.gami-shop-gold b{font-family:var(--font-pixel);font-weight:normal;font-size:22px;color:var(--pp-gold)}.gami-cos-btn.cant-afford{opacity:0.4}

/* css/paper-ui-lobby.css */
#multiplayer-lobby{background:var(--pp-parch);color:var(--pp-ink);border-style:solid;border-width:16px;border-image-source:url(../assets/paper-ui-menus/pieces/piece_37_185x282.webp);border-image-slice:11;border-image-width:16px;border-image-repeat:stretch;border-radius:0;box-shadow:none;position:relative}#multiplayer-lobby::before{content:"";position:absolute;inset:-14px;pointer-events:none;border-style:solid;border-width:26px;border-image-source:url(../assets/paper-ui-menus/pieces/piece_54_226x253.webp);border-image-slice:26;border-image-width:26px;border-image-repeat:stretch}#multiplayer-lobby h2,#multiplayer-lobby h3{color:var(--pp-maroon);text-shadow:0 1px 0 rgba(255,255,255,0.5)}#auth-bar{background:rgba(27,27,27,0.55);border:1.5px solid rgba(167,88,255,0.5);border-radius:3px}#auth-bar-name{color:var(--pp-ink)}#multiplayer-lobby input[type=text],#multiplayer-lobby select{background:var(--pp-parch-lt)!important;color:var(--pp-ink)!important;border:2px solid var(--pp-maroon)!important;border-radius:3px!important}#multiplayer-lobby input[type=text]::placeholder{color:var(--pp-ink-soft);opacity:0.8}#multiplayer-lobby label{color:var(--pp-ink-soft)}#multiplayer-lobby button:not(.hud-toggle-btn){position:relative;border-style:solid;border-width:10px;border-image-source:url(../assets/paper-ui-menus/pieces/piece_44_175x51.webp);border-image-slice:12;border-image-width:10px;border-image-repeat:stretch;background:transparent;color:var(--pp-ink);cursor:pointer;box-shadow:none;text-shadow:0 1px 0 rgba(255,255,255,0.4);font-size:12px}#multiplayer-lobby button:active{transform:translate(2px,2px)}#multiplayer-lobby button:hover{filter:brightness(0.97)}#ready-button.is-ready{color:var(--pp-green)}#ready-button:not(.is-ready){color:var(--pp-rust)}#leave-room-btn,#reset-lobby-btn,#remove-bot-button{color:var(--pp-rust)}#public-games-list{background:rgba(0,0,0,0.35);border:1.5px solid rgba(167,88,255,0.35);border-radius:3px}.game-room-card{background:rgba(27,27,27,0.55);border:1.5px solid rgba(167,88,255,0.5);box-shadow:none}.game-room-card:hover{border-color:var(--pp-maroon);background:rgba(27,27,27,0.8)}.game-room-host{color:var(--pp-ink)}.game-room-count{color:var(--pp-ink-soft)}.game-room-join-btn{position:relative;border-style:solid;border-width:7px;border-image-source:url(../assets/paper-ui-menus/pieces/piece_44_175x51.webp);border-image-slice:12;border-image-width:7px;border-image-repeat:stretch;background:transparent;color:var(--pp-gold);box-shadow:none;font-size:12px}.game-room-join-btn:active{transform:translate(2px,2px)}#browser-status{color:var(--pp-rust)}#public-games-list p,#players-container p{color:var(--pp-ink-soft)}#main-leaderboard-body{background:rgba(0,0,0,0.35);border:1.5px solid rgba(167,88,255,0.35);border-radius:3px}#multiplayer-lobby .room-name-edit{margin-left:10px;padding:4px 8px;font-size:20px;width:min(320px,70%);box-sizing:border-box}#room-name-value,#room-code-value,#room-player-count{color:var(--pp-ink)}#room-name-display span:first-child,#room-info-bar>div>span:first-child{color:var(--pp-ink-soft)}#room-info-bar,#player-list,#host-settings{background:rgba(27,27,27,0.55);border:1.5px solid rgba(167,88,255,0.5);border-radius:3px}#room-type-badge{background:var(--pp-maroon);color:var(--pp-parch-lt)}#player-list>div:first-child{color:var(--pp-maroon)}#players-container{max-height:168px;overflow-y:auto}.pp-player-row{padding:10px;margin:5px 0;font-size:15px;background:rgba(27,27,27,0.55);border:1.5px solid rgba(167,88,255,0.35);border-radius:3px;display:flex;justify-content:space-between;align-items:center;color:var(--pp-ink)}.pp-player-row.is-me{border-color:var(--pp-maroon);background:rgba(27,27,27,0.85)}.pp-player-row .pp-player-you{color:var(--pp-gold)}.pp-player-row .pp-player-host{color:var(--pp-rust)}.pp-player-row .pp-player-away{margin-left:6px;padding:0 6px;border-radius:8px;font-size:0.8em;color:var(--pp-locked);border:1px solid currentColor;font-style:italic}.pp-player-row .pp-player-ready-yes{color:var(--pp-green)}.pp-player-row .pp-player-ready-no{color:var(--pp-locked)}#lobby-status,#lobby-instruction{color:var(--pp-ink-soft)}@media (prefers-reduced-motion: reduce){#multiplayer-lobby button{transition:none}}#auth-screen.auth-screen,.lore-intro-frame.auth-screen{background:var(--pp-parch);border-style:solid;border-width:16px;border-image-source:url(../assets/paper-ui-menus/pieces/piece_37_185x282.webp);border-image-slice:11;border-image-width:16px;border-image-repeat:stretch;border-radius:0;box-shadow:none;position:relative;color:var(--pp-ink)}#auth-screen.auth-screen::before,.lore-intro-frame.auth-screen::before{content:"";position:absolute;inset:-14px;pointer-events:none;border-style:solid;border-width:26px;border-image-source:url(../assets/paper-ui-menus/pieces/piece_54_226x253.webp);border-image-slice:26;border-image-width:26px;border-image-repeat:stretch}.auth-title{color:var(--pp-maroon)!important;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.auth-input{background:var(--pp-parch-dk)!important;color:var(--pp-ink)!important;border:2px solid var(--pp-maroon)!important;border-radius:3px!important;box-shadow:none!important}.auth-input::placeholder{color:var(--pp-ink-soft)!important;opacity:0.8}.auth-input:focus{border-color:var(--pp-gold)!important}.auth-btn-primary,.auth-btn-secondary,.auth-btn-tutorial{position:relative;border-style:solid;border-width:10px;border-image-source:url(../assets/paper-ui-menus/pieces/piece_44_175x51.webp);border-image-slice:12;border-image-width:10px;border-image-repeat:stretch;background:transparent!important;box-shadow:none!important}.auth-btn-primary{color:var(--pp-gold)!important}.auth-btn-secondary{color:var(--pp-ink)!important}.auth-btn-secondary:hover{filter:brightness(0.97);border-color:transparent!important}.auth-btn-tutorial{color:var(--pp-green)!important;border-color:transparent!important}.auth-btn-tutorial:hover{filter:brightness(1.15)}.auth-btn-primary:active,.auth-btn-secondary:active,.auth-btn-tutorial:active{transform:translate(2px,2px)}.auth-tutorial-divider{color:var(--pp-ink-soft)}.auth-tutorial-divider::before,.auth-tutorial-divider::after{background:rgba(167,88,255,0.35)}@media (prefers-reduced-motion: reduce){.auth-btn-primary,.auth-btn-secondary,.auth-btn-tutorial{transition:none}}#changelog-btn{position:relative}#changelog-btn.has-new::after{content:"";position:absolute;top:-3px;right:-3px;width:9px;height:9px;border-radius:50%;background:var(--pp-rust);box-shadow:0 0 4px var(--pp-rust)}#changelog-overlay,#credits-overlay,#stream-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:10001;display:flex;align-items:center;justify-content:center;padding:16px}.changelog-modal{background:var(--pp-parch);color:var(--pp-ink);border:2px solid var(--pp-maroon);border-radius:8px;padding:16px 20px;width:100%;max-width:520px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(0,0,0,0.6);font-size:17px}.changelog-title{font-size:22px;font-weight:bold;color:var(--pp-maroon);text-align:center;margin-bottom:10px}.changelog-body{overflow-y:auto;flex:1}.changelog-entry{margin-bottom:14px}.changelog-entry-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-bottom:1px solid var(--pp-maroon);padding-bottom:3px;margin-bottom:6px}.changelog-entry-title{font-weight:bold;font-size:19px}.changelog-entry-date{font-size:12px;color:var(--pp-ink-soft);white-space:nowrap}.changelog-entry ul{margin:0;padding-left:20px}.changelog-entry li{margin-bottom:4px;line-height:1.35}.changelog-empty{text-align:center;color:var(--pp-ink-soft);padding:12px}.changelog-close{align-self:center;margin-top:10px;padding:6px 18px;font-size:17px}.credits-what{font-weight:bold}.credits-note{font-size:13px;color:var(--pp-ink-soft)}#credits-overlay a{color:var(--pp-maroon)}.credits-thanks{text-align:center;color:var(--pp-ink-soft);margin:6px 0 2px}.stream-body p{margin:0 0 10px;line-height:1.35}.stream-row{display:flex;align-items:center;gap:8px;margin:6px 0}.stream-row input[type=text]{flex:1;min-width:0;font-size:16px;padding:3px 6px}.stream-row input[type=number]{width:60px;font-size:16px;padding:3px 6px}.stream-status{margin:10px 0 6px;padding:5px 8px;border-radius:4px;background:rgba(0,0,0,0.06);font-size:15px}.stream-status.stream-connected{background:rgba(72,203,133,0.2)}.stream-status.stream-error,.stream-status.stream-reconnecting{background:rgba(255,183,35,0.25)}.stream-note{font-size:13px;color:var(--pp-ink-soft)}.stream-buttons{display:flex;justify-content:center;gap:10px}#stream-btn.stream-btn-on{border:1px solid #a340ff;box-shadow:0 0 4px rgba(163,64,255,0.7)}.auth-forgot-link{background:none!important;border:none!important;box-shadow:none!important;color:var(--pp-ink-soft, #dbdbdb);font-size:14px;text-decoration:underline;cursor:pointer;padding:2px 4px;margin:4px auto 0;display:block}.auth-forgot-link:hover{color:var(--pp-ink, #fff)}#acct-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.65);z-index:100001;display:flex;align-items:center;justify-content:center;padding:16px}.acct-modal{background:var(--pp-parch, #060621);color:var(--pp-ink, #fff);border:2px solid var(--pp-maroon, #b159d4);border-radius:8px;padding:16px 20px;width:100%;max-width:420px;font-size:17px;box-shadow:0 8px 32px rgba(0,0,0,0.6)}.acct-title{font-size:22px;font-weight:bold;color:var(--pp-maroon, #b159d4);text-align:center;margin-bottom:10px}.acct-text{margin:0 0 12px;line-height:1.4}.acct-input{width:100%;box-sizing:border-box;padding:8px 10px;margin:4px 0;font-size:16px;font-family:inherit;background:var(--pp-parch-lt, #111);color:var(--pp-ink, #fff);border:1px solid var(--pp-maroon, #b159d4);border-radius:4px}.acct-status{min-height:20px;font-size:14px;color:var(--pp-gold, #ffe138);margin:4px 0}.acct-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.acct-actions-left{justify-content:flex-start}.acct-btn{padding:6px 16px;font-size:16px;cursor:pointer}.acct-btn:disabled{opacity:0.6;cursor:default}.acct-btn-secondary{opacity:0.8}.acct-settings .acct-current{margin:6px 0}#replay-controls{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:10002;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;max-width:calc(100vw - 32px);box-sizing:border-box;background:var(--pp-parch, #060621);color:var(--pp-ink, #fff);border:2px solid var(--pp-maroon, #b159d4);border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,0.6);font-size:15px}#replay-controls button,#replay-controls select{padding:4px 10px;font-size:15px;cursor:pointer}#replay-controls .replay-title{font-weight:bold;color:var(--pp-maroon, #b159d4)}#replay-controls .replay-progress{min-width:120px;color:var(--pp-ink-soft, #dbdbdb)}#replay-browser{position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:10001;display:flex;align-items:center;justify-content:center;padding:16px}.replay-modal{background:var(--pp-parch);color:var(--pp-ink);border:2px solid var(--pp-maroon);border-radius:8px;padding:16px 20px;width:100%;max-width:620px;max-height:82vh;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(0,0,0,0.6);font-size:17px}.replay-modal-title{font-size:22px;font-weight:bold;color:var(--pp-maroon);text-align:center;margin-bottom:10px}.replay-tabs{display:flex;gap:6px;margin-bottom:10px}.replay-tab{flex:1;padding:6px 10px;font-size:16px;opacity:0.65}.replay-tab.active{opacity:1;font-weight:bold}.replay-list{overflow-y:auto;flex:1;min-height:80px}.replay-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--pp-maroon)}.replay-row-main{min-width:0}.replay-players{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px}.replay-player{font-weight:bold;border-left:4px solid var(--pc, #979797);padding-left:5px}.replay-player.won{color:var(--pp-maroon)}.replay-vs{font-size:13px;color:var(--pp-ink-soft)}.replay-info{font-size:13px;color:var(--pp-ink-soft);margin-top:2px}.replay-row-actions{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.replay-row-actions button{padding:4px 10px;font-size:14px;white-space:nowrap}.replay-empty{text-align:center;color:var(--pp-ink-soft);padding:16px}.replay-note{font-size:12px;color:var(--pp-ink-soft);margin-top:8px;line-height:1.35}.replay-subhead{font-size:14px;margin:18px 0 4px;color:var(--pp-ink)}.replay-close{align-self:center;margin-top:10px;padding:6px 18px;font-size:17px}@media (max-width: 480px){.replay-row{flex-direction:column;align-items:stretch}.replay-row-actions{flex-direction:row}}.replay-check{font-size:13px;margin-top:2px}.replay-check-ok{color:#219b57}.replay-check-mismatch,.replay-check-error{color:var(--pp-rust, #e12f1d);font-weight:bold}.replay-check-none,.replay-check-no_data{color:var(--pp-ink-soft)}.replay-check-bar{display:flex;align-items:center;gap:10px;margin-bottom:4px}.replay-check-bar button{padding:4px 10px;font-size:14px}.replay-check-progress{font-size:13px;color:var(--pp-ink-soft)}.replay-score{display:inline-block;min-width:22px;text-align:center;border-radius:4px;padding:0 5px;margin-right:6px;font-size:13px;background:rgba(141,141,141,0.25)}.replay-score.some{background:#d79500;color:#fff}.replay-score.high{background:var(--pp-rust, #e12f1d);color:#fff}.replay-flags{margin:3px 0 0;padding-left:18px;font-size:13px;color:var(--pp-rust, #e12f1d)}.replay-player-matches{margin-left:18px}.replay-player-days{font-size:13px;padding:2px 4px}.auth-screen:not(.mode-register) .auth-register-only{display:none!important}.auth-screen.mode-register .auth-login-only{display:none!important}.auth-screen.mode-register #auth-register-btn{flex:1}.auth-register-extras{display:flex;flex-direction:column;gap:6px}.auth-extra-note{font-size:13px;color:var(--pp-ink-soft, #dbdbdb);line-height:1.3}.auth-check{display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height:1.3;cursor:pointer;text-align:left}.auth-check input{margin-top:3px;flex-shrink:0}#multiplayer-lobby #quick-play-btn.quick-play-btn{display:flex;flex-direction:column;align-items:center;gap:0;width:auto;min-width:200px;margin:0 auto 12px;padding:2px 18px;font-size:19px;line-height:1.15;color:var(--pp-green)!important;-webkit-text-stroke:2px var(--pp-parch-dk);paint-order:stroke fill}#multiplayer-lobby #quick-play-btn .quick-play-sub{font-size:12px;-webkit-text-stroke:0;color:var(--pp-ink-soft)}#multiplayer-lobby #quick-play-btn.quick-play-btn:disabled{opacity:0.6;cursor:wait}#multiplayer-lobby .quick-play-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 auto 12px}#multiplayer-lobby .quick-play-row #quick-play-btn.quick-play-btn{margin:0}#multiplayer-lobby #featured-replay-btn.featured-replay-btn{display:flex;flex-direction:column;align-items:center;width:auto;min-width:200px;margin:0;padding:2px 18px;font-size:19px;line-height:1.15;color:var(--pp-gold)!important;-webkit-text-stroke:2px var(--pp-parch-dk);paint-order:stroke fill}#multiplayer-lobby #featured-replay-btn .quick-play-sub{font-size:12px;-webkit-text-stroke:0;color:var(--pp-ink-soft)}.replay-tag{display:inline-block;margin-left:5px;padding:0 5px;font-size:11px;font-weight:normal;line-height:1.5;text-transform:uppercase;letter-spacing:0.5px;border:1px solid currentColor;border-radius:3px;opacity:0.75;vertical-align:middle}.replay-tag-win{opacity:1;color:var(--pp-gold, #fcb702)}.replay-combo-sig{font-size:14px;line-height:1.4}.replay-combo-sig b{color:var(--pp-maroon)}.replay-combo-state{display:flex;gap:2px}.replay-combo-state button{padding:2px 6px;font-size:12px}.replay-combo-state button.active{outline:2px solid var(--pp-maroon)}.social-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.65);z-index:10050;display:flex;align-items:center;justify-content:center;padding:16px}.social-modal{background:var(--pp-parch, #060621);color:var(--pp-ink, #fff);border:2px solid var(--pp-maroon, #b159d4);border-radius:8px;padding:16px 20px;width:100%;max-width:460px;max-height:85vh;overflow-y:auto;font-size:16px;box-shadow:0 8px 32px rgba(0,0,0,0.6)}.social-title{font-size:22px;font-weight:bold;color:var(--pp-maroon, #b159d4);text-align:center;margin-bottom:10px}.social-add{display:flex;gap:8px;align-items:center}.social-add .acct-input{margin:0}.social-msg{min-height:20px;font-size:14px;color:var(--pp-gold, #ffe138);margin:6px 0}.social-head{font-size:13px;text-transform:uppercase;letter-spacing:0.05em;color:var(--pp-ink-soft, #c4c4c4);margin:12px 0 4px}.social-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,0.06)}.social-name{font-weight:bold;cursor:pointer}.social-name:hover,.player-card-link:hover{text-decoration:underline}.player-card-link{cursor:pointer}.social-sub{font-size:13px;color:var(--pp-ink-soft, #c4c4c4);flex:1;min-width:0}.social-actions{display:flex;gap:6px;flex-shrink:0}.social-actions .acct-btn{padding:3px 10px;font-size:14px}.social-remove{font-size:18px!important;line-height:1;padding:2px 8px!important}.social-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;background:#6b6b6b}.social-dot.on{background:#37f570;box-shadow:0 0 6px rgba(55,245,112,0.7)}.social-dot.game{background:var(--pp-gold, #ffe138);box-shadow:0 0 6px rgba(255,225,56,0.7)}.social-empty,.social-note{font-size:14px;color:var(--pp-ink-soft, #c4c4c4);padding:8px 0}.social-hide{display:flex;gap:8px;align-items:flex-start;font-size:14px;margin-top:12px;cursor:pointer}.social-hide input{margin-top:3px}#friends-btn,#plans-btn{position:relative}#friends-btn.has-requests::after,#plans-btn.has-requests::after{content:"";position:absolute;top:-3px;right:-3px;width:9px;height:9px;border-radius:50%;background:var(--pp-rust);box-shadow:0 0 4px var(--pp-rust)}.social-card-name{font-size:26px;font-weight:bold;text-align:center}.social-card-status{text-align:center;font-size:14px;color:var(--pp-ink-soft, #c4c4c4);margin-top:2px}.social-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 6px}.social-stats div{display:flex;flex-direction:column;align-items:center;padding:6px;border-radius:6px;background:var(--pp-parch-lt, #111)}.social-stats span{font-size:12px;color:var(--pp-ink-soft, #c4c4c4)}.social-stats b{font-size:17px;color:var(--pp-gold, #ffe138)}.social-replay{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:14px}.social-replay .acct-btn{padding:2px 10px;font-size:13px}#social-invite{position:fixed;right:16px;bottom:16px;z-index:10060;max-width:320px;background:var(--pp-parch, #060621);color:var(--pp-ink, #fff);border:2px solid var(--pp-gold, #ffe138);border-radius:8px;padding:12px 14px;box-shadow:0 8px 28px rgba(0,0,0,0.6);animation:social-pop 0.25s ease-out}.social-invite-text{margin-bottom:8px}.social-invite-actions{display:flex;gap:8px;justify-content:flex-end}@keyframes social-pop{from{transform:translateY(20px);opacity:0}to{transform:none;opacity:1}}@media (max-width: 480px){.social-stats{grid-template-columns:repeat(2,1fr)}#social-invite{left:16px;right:16px;max-width:none}}.gp-modal.gp-wide{max-width:760px}.gp-intro{font-size:14px;color:var(--pp-ink-soft, #c4c4c4);margin-bottom:8px;text-align:center}.gp-label{display:flex;flex-direction:column;gap:4px;font-size:14px}.gp-person{display:flex;align-items:center;gap:8px;padding:4px 0;cursor:pointer}.gp-time-row{display:flex;gap:6px;align-items:center;margin-bottom:6px}.gp-time-row .acct-input{margin:0;flex:1}.gp-time-row .acct-btn{padding:2px 10px}.gp-table-wrap{overflow-x:auto;margin:6px 0 10px}.gp-table{border-collapse:collapse;font-size:13px;min-width:100%}.gp-table th,.gp-table td{padding:5px 6px;text-align:center;border-bottom:1px solid rgba(255,255,255,0.08);vertical-align:middle}.gp-table thead th{font-weight:normal;min-width:90px}.gp-table thead th.gp-final{outline:2px solid var(--pp-gold, #ffe138);border-radius:4px}.gp-table tbody th{text-align:left;white-space:nowrap;font-weight:bold}.gp-table tr.gp-me{background:rgba(255,225,56,0.08)}.gp-count{font-size:12px;color:var(--pp-ink-soft, #c4c4c4)}.gp-pick{padding:2px 8px!important;font-size:12px!important;margin-top:3px}.gp-cell{display:inline-block;min-width:64px;padding:3px 6px;border-radius:4px;font-size:12px;border:1px solid transparent}button.gp-cell{cursor:pointer;font-family:inherit}.gp-yes{background:rgba(55,245,112,0.3);border-color:#37f570;color:#feffff}.gp-maybe{background:rgba(255,225,56,0.3);border-color:#ffe138;color:#ffffe7}.gp-no{background:rgba(236,64,64,0.25);border-color:#ec4040;color:#fffefe}.gp-none{background:rgba(255,255,255,0.06);color:var(--pp-ink-soft, #c4c4c4);border-color:rgba(255,255,255,0.15)}.gp-set{text-align:center;font-size:17px;margin:6px 0}.gp-cal{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:8px}.gp-cal a.acct-btn{text-decoration:none}.gp-pop{position:fixed;right:16px;bottom:16px;z-index:10060;max-width:320px;background:var(--pp-parch, #060621);color:var(--pp-ink, #fff);border:2px solid var(--pp-gold, #ffe138);border-radius:8px;padding:12px 14px;box-shadow:0 8px 28px rgba(0,0,0,0.6);animation:social-pop 0.25s ease-out}@media (max-width: 480px){.gp-pop{left:16px;right:16px;max-width:none}}#multiplayer-lobby .quick-play-row{flex-direction:column;align-items:stretch;gap:14px;width:100%;max-width:420px;margin:8px auto 14px}#multiplayer-lobby .quick-play-row #quick-play-btn.quick-play-btn{width:100%;min-height:96px;margin:0;padding:10px 18px;font-size:32px;justify-content:center;border-color:var(--pp-gold, #ffe138)!important;box-shadow:0 0 10px rgba(255,225,56,0.35)}#multiplayer-lobby .quick-play-row #quick-play-btn .quick-play-sub{font-size:15px;margin-top:4px}#multiplayer-lobby .quick-play-row .couch-tv-btn,#multiplayer-lobby #phone-rooms-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;margin:0;padding:6px 18px;font-size:18px!important;text-align:center}html:not(.phone-ui) #multiplayer-lobby #phone-rooms-btn{max-width:420px;margin:0 auto 14px!important}#multiplayer-lobby .quick-play-row .saved-game-card{width:100%;box-sizing:border-box;margin:0}#multiplayer-lobby .lobby-leaderboard-col h3{font-size:26px!important;letter-spacing:0.5px;margin-bottom:6px!important}html:not(.phone-ui) #multiplayer-lobby #room-action-buttons{max-width:420px;margin:0 auto 14px!important;gap:14px!important}html:not(.phone-ui) #multiplayer-lobby #room-action-buttons>button{flex:1 1 0;min-width:0;min-height:52px;justify-content:center;text-align:center;font-size:17px!important;padding:6px 10px!important}html:not(.phone-ui) #multiplayer-lobby #join-code-row{max-width:420px;margin:0 auto 20px!important}#multiplayer-lobby #public-games-section h3,#multiplayer-lobby #watch-games-section h3{font-size:22px!important}#auth-bar-name{font-size:16px!important;color:var(--pp-ink-soft)}html:not(.phone-ui) #multiplayer-lobby .lobby-columns{gap:28px!important}.lobby-you-col{width:300px;flex-shrink:0}#lobby-you-card[hidden]{display:none}#lobby-you-card{margin-top:8px;padding:10px;border-radius:8px;background:rgba(27,27,27,0.55);border:1.5px solid rgba(255,235,178,0.35);display:flex;flex-direction:column;gap:6px}#multiplayer-lobby #lobby-you-card button{border:none;border-image:none;background:none;padding:0;margin:0;text-shadow:none;font:inherit;color:inherit;text-align:left;transform:none}#lobby-you-card .ly-head{display:flex;align-items:center;gap:14px;width:100%;cursor:pointer}#lobby-you-card .ly-level{flex:0 0 auto;width:42px;height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:linear-gradient(180deg,#ffebb2,#c9a24a);color:#1b1301}#lobby-you-card .ly-level-num{font-family:var(--font-pixel);font-size:19px;line-height:1}#lobby-you-card .ly-level-lbl{font-family:var(--font-terminal);font-size:11px;line-height:1.1}#lobby-you-card .ly-name{font-family:var(--font-pixel);font-size:19px;line-height:1.15;color:var(--pp-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}#lobby-you-card .ly-head:hover .ly-name{text-decoration:underline}#lobby-you-card .ly-xp{height:8px;border-radius:4px;background:rgba(255,255,255,0.12);overflow:hidden}#lobby-you-card .ly-xp-fill{height:100%;background:var(--accent-gold, #ffebb2)}#lobby-you-card .ly-xp-text{font-family:var(--font-terminal);font-size:13px;color:var(--pp-ink-soft)}#lobby-you-card .ly-rows{display:flex;flex-direction:column;gap:2px;margin-top:0}#multiplayer-lobby #lobby-you-card .ly-row{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:32px;padding:0 10px;border-radius:4px;background:rgba(0,0,0,0.3);font-family:var(--font-terminal);font-size:15px}#multiplayer-lobby #lobby-you-card .ly-click{cursor:pointer}#multiplayer-lobby #lobby-you-card .ly-click:hover{background:rgba(255,235,178,0.12)}#lobby-you-card .ly-lbl{color:var(--pp-ink-soft)}#lobby-you-card .ly-val{color:var(--pp-ink)}#lobby-you-card .ly-gold,#lobby-you-card .ly-saved .ly-val{color:var(--accent-gold, #ffebb2)}@media (max-width: 1200px){html:not(.phone-ui) #multiplayer-lobby .lobby-columns{flex-wrap:wrap}html:not(.phone-ui) .lobby-you-col{width:100%;order:-1}html:not(.phone-ui) #lobby-you-card{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 20px;margin:0}html:not(.phone-ui) #lobby-you-card .ly-xp,html:not(.phone-ui) #lobby-you-card .ly-xp-text{display:none}html:not(.phone-ui) #lobby-you-card .ly-head{width:auto}html:not(.phone-ui) #lobby-you-card .ly-rows{flex-direction:row;margin:0 0 0 auto;gap:8px}html:not(.phone-ui) #multiplayer-lobby #lobby-you-card .ly-row{width:auto;gap:12px}}#multiplayer-lobby .quick-play-row #quick-play-btn.quick-play-btn,html.phone-ui #multiplayer-lobby .quick-play-row>#quick-play-btn{background:linear-gradient(180deg,#ffefc0 0%,#f5cf6a 100%) padding-box!important;color:#1b1301!important;-webkit-text-stroke:0;text-shadow:none;font-family:var(--font-pixel);letter-spacing:1px;box-shadow:0 0 16px rgba(255,225,56,0.45),0 6px 18px rgba(0,0,0,0.5)}#multiplayer-lobby .quick-play-row #quick-play-btn .quick-play-sub{color:#3b2a07!important;font-family:var(--font-terminal);letter-spacing:0;-webkit-text-stroke:0}#multiplayer-lobby .quick-play-row #quick-play-btn.quick-play-btn:hover{filter:brightness(1.05)}#multiplayer-lobby .quick-play-row .couch-tv-btn,#multiplayer-lobby #phone-rooms-btn{color:var(--pp-ink-soft)!important;opacity:0.92}#multiplayer-lobby #phone-rooms-btn.open{opacity:1;color:var(--pp-ink)!important}#multiplayer-lobby .lobby-leaderboard-col h3{color:var(--accent-gold, #ffebb2)!important;text-shadow:none!important}#main-leaderboard-body .gami-lb-row{height:42px;box-sizing:border-box;padding:0 12px}#main-leaderboard-body .gami-leaderboard,#main-leaderboard-body{display:flex;flex-direction:column;gap:6px}#main-leaderboard-body .gami-lb-row:nth-child(n+9){display:none}#main-leaderboard-body .gami-lb-name{font-size:18px}.gami-lb-tag{font-size:13px;color:var(--pp-ink-soft);font-weight:normal;margin-left:6px}#multiplayer-lobby .lobby-link-btn{display:block;margin:8px 0 0 auto;padding:4px 10px!important;min-height:32px;border:none!important;border-image:none!important;background:none!important;color:var(--accent-gold, #ffebb2)!important;font-size:16px!important;text-decoration:underline}#multiplayer-lobby #auth-bar-name{font-size:calc(16px * var(--text-k, 1))!important}#lobby-you-card .ly-xp-text{font-size:calc(13px * var(--text-k, 1))}#multiplayer-lobby #lobby-you-card .ly-row{font-size:calc(17px * var(--text-k, 1))}#main-leaderboard-body .gami-lb-name{font-size:calc(18px * var(--text-k, 1))}.gami-lb-tag{font-size:calc(13px * var(--text-k, 1))}#multiplayer-lobby .quick-play-row #quick-play-btn .quick-play-sub{font-size:calc(15px * var(--text-k, 1))}#tutorial-btn.has-new::after{content:"";position:absolute;top:-3px;right:-3px;width:10px;height:10px;border-radius:50%;background:#ffe138;border:2px solid #1b1301;box-shadow:0 0 6px rgba(255,225,56,0.8)}#multiplayer-lobby .quick-play-row #lobby-new-hint{margin:-6px auto 0;min-height:44px;font-size:calc(17px * var(--text-k, 1))!important}#phone-rooms-btn{flex-direction:column}#phone-rooms-btn .rooms-sub{display:block;font-size:13px;color:var(--pp-ink-soft);line-height:1.1;margin-top:2px}.auth-screen .auth-title{color:var(--accent-gold, #ffebb2)!important;font-size:26px!important;text-shadow:none!important;margin:4px 0 18px!important}.auth-screen #auth-guest-btn.auth-btn-guest{min-height:84px;justify-content:center;gap:4px;padding:10px 16px;font-family:var(--font-pixel);font-size:26px;letter-spacing:1px;background:linear-gradient(180deg,#ffefc0 0%,#f5cf6a 100%);color:#1b1301;border:2px solid #ffe138;border-radius:4px;box-shadow:0 0 16px rgba(255,225,56,0.45),0 6px 18px rgba(0,0,0,0.5);cursor:pointer}.auth-screen #auth-guest-btn.auth-btn-guest:hover{background:linear-gradient(180deg,#fff4d3 0%,#f8d97f 100%)}.auth-screen .auth-guest-sub{font-family:var(--font-terminal);font-size:15px;letter-spacing:0;color:#3b2a07}.auth-screen .auth-tutorial-divider{margin:18px 0 14px;font-size:16px}.auth-screen .auth-tutorial-divider::before,.auth-screen .auth-tutorial-divider::after{width:32%;background:rgba(255,235,178,0.25)}.auth-btn-primary{color:var(--pp-ink)!important}.auth-btn-tutorial{color:var(--pp-ink-soft)!important}.auth-screen .auth-btn-tutorial{margin-top:14px}#waiting-room-panel #bot-controls>div,#waiting-room-panel #host-start-button{max-width:420px;margin-left:auto;margin-right:auto}#waiting-room-panel #host-start-button,#waiting-room-panel.wr-alone #add-bot-button{min-height:72px;font-family:var(--font-pixel);font-size:26px!important;letter-spacing:1px;background:linear-gradient(180deg,#ffefc0 0%,#f5cf6a 100%) padding-box!important;color:#1b1301!important;text-shadow:none;box-shadow:0 0 16px rgba(255,225,56,0.45),0 6px 18px rgba(0,0,0,0.5)}#waiting-room-panel #bot-controls button{min-height:52px;font-size:17px!important}#waiting-room-panel.wr-alone #bot-controls>div{flex-direction:column}#multiplayer-lobby #lobby-status{font-size:calc(18px * var(--text-k, 1));margin-top:10px!important}#waiting-room-panel #lobby-instruction{font-size:calc(14px * var(--text-k, 1))!important;color:var(--pp-ink-soft)}#room-code-display #copy-code-btn{display:block;margin-top:6px;min-height:36px;padding:2px 12px!important;font-size:15px!important}#player-list>div:first-child{color:var(--accent-gold, #ffebb2)!important;font-size:15px!important}.pbounty-box[hidden]{display:none!important}.pbounty-fold>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:32px}.pbounty-fold>summary::-webkit-details-marker{display:none}.pbounty-fold .pbounty-more{margin-left:auto;font-size:14px;text-decoration:underline;color:var(--accent-gold, #ffebb2)}.pbounty-fold .pbounty-rules{font-size:calc(14px * var(--text-k, 1))}#waiting-room-panel.wr-alone #lobby-instruction{display:none}#room-info-bar #invite-link-btn{min-height:40px;padding:4px 14px!important;font-size:15px!important;color:var(--accent-gold, #ffebb2)!important}html.phone-ui #room-info-bar #invite-link-btn{min-height:44px}#room-info-bar #notify-join-btn{min-height:40px;padding:4px 14px!important;font-size:15px!important}#room-info-bar #notify-join-btn.on{color:var(--accent-gold, #ffebb2)!important;border-color:var(--accent-gold, #ffebb2)!important}html.phone-ui #room-info-bar #notify-join-btn{min-height:44px}#multiplayer-lobby .quick-play-row .my-room-card{background:rgba(255,225,56,0.10);border-color:var(--accent-gold, #ffebb2);font-size:16px}#multiplayer-lobby .my-room-card .saved-game-actions button{min-height:44px;padding:4px 16px;font-size:15px}#multiplayer-lobby .my-room-card .my-room-back{color:var(--accent-gold, #ffebb2)!important;border-color:var(--accent-gold, #ffebb2)!important}#multiplayer-lobby .my-room-card .my-room-leave{opacity:0.85}

/* css/boot-splash.css */
#boot-splash{position:fixed;inset:0;z-index:100000;background:transparent;display:flex;align-items:center;justify-content:center;opacity:1;transition:opacity 1.4s ease;cursor:pointer;animation:boot-splash-fade-in 0.5s ease forwards}@keyframes boot-splash-fade-in{from{opacity:0}to{opacity:1}}body.boot-splash-active #auth-screen,body.boot-splash-active #multiplayer-lobby,body.boot-splash-active .site-logo{opacity:0;pointer-events:none}#auth-screen,#multiplayer-lobby,.site-logo{transition:opacity 1s ease}#boot-splash.boot-splash-hidden{opacity:0;pointer-events:none}#boot-splash-video{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}#boot-splash-canvas{width:67.5vw;height:67.5vh;max-width:67.5vw;max-height:67.5vh;object-fit:contain;filter:drop-shadow(0 0 20px rgba(255,255,255,0.4)) drop-shadow(0 0 46px rgba(255,255,236,0.22));opacity:0;animation:boot-splash-canvas-fade-in 0.2s ease 0.25s forwards}@media (max-width: 640px),(max-height: 500px) and (pointer: coarse){#boot-splash-canvas{width:84.4vw;height:84.4vh;max-width:84.4vw;max-height:84.4vh}}@keyframes boot-splash-canvas-fade-in{from{opacity:0}to{opacity:1}}#boot-splash-prompt{position:absolute;bottom:8%;left:50%;transform:translateX(-50%);padding:8px 18px;background:rgba(0,0,0,0.55);border-radius:20px;text-align:center;white-space:nowrap;font-family:var(--font-pixel, "Press Start 2P", monospace);font-size:14px;color:#fff;letter-spacing:1px;text-shadow:0 0 12px rgba(255,255,255,0.6);opacity:0;transition:opacity 0.6s ease;pointer-events:none}#boot-splash-prompt.boot-splash-prompt-visible{opacity:1;animation:boot-splash-blink 1.4s ease-in-out 0.6s infinite}@keyframes boot-splash-blink{0%,100%{opacity:1}50%{opacity:0.4}}@media (max-width: 600px){#boot-splash-prompt{font-size:11px;bottom:10%}}#boot-splash-canvas{filter:contrast(1.2) brightness(1.1)}

/* css/lore-intro.css */
#lore-intro{position:fixed;inset:0;z-index:99999;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;opacity:1;transition:opacity 1s ease}#lore-intro.lore-intro-hidden{opacity:0;pointer-events:none}.lore-intro-frame{padding:10px;width:min(504px,92vw)}.lore-intro-frame canvas{display:block;width:100%;aspect-ratio:4 / 5;border-radius:calc(var(--radius-lg) - 4px)}.lore-intro-prompt{padding:10px 22px;background:rgba(0,0,0,0.55);border-radius:24px;text-align:center;white-space:nowrap;font-family:var(--font-pixel, "Press Start 2P", monospace);font-size:17px;color:#fff;letter-spacing:1px;text-shadow:0 0 12px rgba(255,255,255,0.6);opacity:0;transition:opacity 0.6s ease;pointer-events:none}.lore-intro-prompt.lore-intro-prompt-visible{opacity:1;animation:boot-splash-blink 1.4s ease-in-out 0.6s infinite}.lore-intro-controls{display:flex;gap:12px}.lore-intro-btn{padding:10px 22px;background:rgba(0,0,0,0.55);border:none;border-radius:24px;font-family:var(--font-pixel, "Press Start 2P", monospace);font-size:17px;color:#fff;letter-spacing:1px;text-shadow:0 0 12px rgba(255,255,255,0.6);cursor:pointer;transition:background 0.15s ease}.lore-intro-btn:hover{background:rgba(0,0,0,0.75)}.lore-intro-btn:active{background:rgba(0,0,0,0.9)}#lore-intro-video{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.lore-intro-frame{position:relative}.lore-intro-caption{position:absolute;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;font-family:var(--font-sans, "Immortal", serif);font-variant:small-caps;letter-spacing:0.04em;line-height:1.32;color:#fffffe;text-shadow:0 0 6px rgba(255,255,236,0.55),0 0 14px rgba(183,223,255,0.35);pointer-events:none;white-space:normal}.lore-intro-caption .lore-intro-caption-rest{visibility:hidden}#lore-intro-canvas{filter:contrast(1.2) brightness(1.1)}

/* css/couch.css */
#couch-tv-card{position:fixed;inset:0;z-index:9500;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#14102b 0%,#000 75%);color:var(--text-primary);font-family:var(--font-terminal)}#couch-tv-card .couch-tv-inner{display:flex;gap:6vw;align-items:center;max-width:92vw}#couch-tv-card h1{font-family:var(--font-pixel);font-size:clamp(28px,4.5vw,72px);margin:0 0 2vh;color:var(--accent-gold)}#couch-tv-card h2{font-size:clamp(22px,2.6vw,44px);margin:0 0 1.5vh;color:var(--accent-gold)}#couch-tv-card .couch-tv-join{text-align:center}#couch-tv-card .couch-qr{width:min(42vh,36vw);height:min(42vh,36vw);margin:0 auto;background:#fff;border-radius:12px;padding:0;display:flex;align-items:center;justify-content:center;color:#000;font-size:16px;word-break:break-all}#couch-tv-card .couch-qr svg{width:100%;height:100%;display:block}#couch-tv-card .couch-tv-scan{font-size:clamp(18px,2vw,34px);margin:2vh 0 0.5vh}#couch-tv-card .couch-tv-alt{font-size:clamp(14px,1.4vw,24px);color:var(--text-secondary);margin:0;font-family:var(--font-read)}#couch-tv-card .couch-tv-code{font-family:var(--font-mono);font-weight:bold;letter-spacing:0.3em;font-size:clamp(32px,5vw,84px);margin-top:1vh;color:#fff}#couch-tv-card .couch-tv-side{min-width:26vw}#couch-tv-card .couch-tv-seats{font-size:clamp(20px,2.2vw,38px);margin:0 0 2vh;padding-left:1.4em;line-height:1.5;font-family:var(--font-read)}#couch-tv-card .couch-tv-seats .couch-empty{list-style:none;margin-left:-1.4em;color:var(--text-secondary);font-style:italic}#couch-tv-card .couch-lead{font-size:0.6em;padding:2px 8px;margin-left:6px;vertical-align:middle;border:1px solid var(--accent-gold);border-radius:4px;color:var(--accent-gold)}#couch-tv-card .couch-tv-status{font-size:clamp(16px,1.6vw,28px);color:var(--text-secondary);max-width:34vw;font-family:var(--font-read)}#couch-tv-card .couch-tv-cancel{font-family:inherit;font-size:clamp(14px,1.3vw,22px);padding:8px 20px;margin-top:2vh;background:transparent;color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:6px;cursor:pointer}#couch-tv-card .couch-tv-timer{display:block;margin-top:1.4vh;font-size:clamp(15px,1.3vw,22px);color:var(--text-secondary);font-family:var(--font-read)}#couch-tv-card .couch-tv-timer select{font:inherit;padding:4px 8px;margin-left:8px;background:#0b0d1c;color:#fff;border:1px solid var(--border-subtle);border-radius:6px}#couch-tv-card .couch-tv-actions{display:flex;gap:1.2vw;margin-top:2vh}#couch-tv-card .couch-tv-actions button{font-family:inherit;font-size:clamp(16px,1.5vw,26px);padding:10px 26px;background:transparent;color:var(--text-primary, #fff);border:1px solid var(--border-subtle);border-radius:6px;cursor:pointer}#couch-tv-card .couch-tv-actions .couch-tv-start{background:var(--accent-gold);color:#1a1208;border-color:var(--accent-gold)}#couch-tv-card .couch-tv-actions button:focus-visible{outline:3px solid var(--accent-gold)}#couch-tv-card .couch-tv-cancel:focus-visible{outline:3px solid var(--accent-gold)}@media (max-aspect-ratio: 1/1){#couch-tv-card .couch-tv-inner{flex-direction:column;gap:3vh}#couch-tv-card .couch-tv-status{max-width:80vw}}#couch-auth-banner{margin:0 auto 12px;max-width:420px;padding:10px 14px;background:#14102b;border:1px solid var(--accent-gold);border-radius:6px;color:var(--accent-gold);font-family:var(--font-read);font-size:16px;text-align:center}#couch-phone-box{margin:0 0 14px;padding:14px 16px;background:#14102b;border:2px solid var(--accent-gold);border-radius:8px;color:var(--text-primary);font-family:var(--font-read);font-size:17px}#couch-phone-box p{margin:6px 0}#couch-phone-box .couch-phone-title{font-family:var(--font-pixel);color:var(--accent-gold);font-size:22px}#couch-phone-box .couch-phone-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0}#couch-phone-box button,#couch-phone-box select{font-family:var(--font-terminal);font-size:18px;min-height:44px;padding:6px 14px;background:#0a0425;color:#fff;border:1px solid #58a7ff;border-radius:6px;cursor:pointer}#couch-phone-box button:disabled{opacity:0.45;cursor:default}#couch-phone-box .couch-phone-start{width:100%;margin-top:6px;font-size:22px;background:var(--accent-orange);border-color:var(--accent-orange-hover)}#couch-phone-box .couch-phone-share{width:100%;margin-top:10px}#couch-phone-box .couch-phone-msg{color:#ffce00}#couch-phone-box .couch-phone-wait{color:var(--text-secondary)}html.couch-phone #ready-button,html.couch-phone #lobby-status,html.couch-phone #lobby-instruction{display:none!important}body.couch-tv-game #spectate-scoreboard{transform:scale(1.35);transform-origin:left bottom}@media (max-height: 800px){body.couch-tv-game #spectate-scoreboard{transform:scale(1.15)}}#couch-turn-banner{position:fixed;left:50%;top:12vh;z-index:8000;pointer-events:none;transform:translate(-50%,-20px);opacity:0;display:flex;align-items:center;gap:0.5em;padding:0.35em 1.1em;border-radius:12px;background:rgba(0,0,0,0.72);border:3px solid var(--couch-color, #fff);color:#fff;font-family:var(--font-pixel);font-size:clamp(26px,4vw,64px)}#couch-turn-banner .couch-dot{width:0.7em;height:0.7em;border-radius:50%;background:var(--couch-color, #fff)}#couch-turn-banner.show{animation:couch-turn 2.8s ease-out forwards}@keyframes couch-turn{0%{opacity:0;transform:translate(-50%,-20px)}12%{opacity:1;transform:translate(-50%,0)}80%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-10px)}}@media (prefers-reduced-motion: reduce){#couch-turn-banner.show{animation-duration:2.8s;animation-timing-function:steps(1,end)}}#couch-fs-btn{position:fixed;right:14px;bottom:14px;z-index:9600;font-family:var(--font-terminal);font-size:18px;padding:8px 16px;background:rgba(10,4,37,0.85);color:#fff;border:1px solid #58a7ff;border-radius:6px;cursor:pointer}#couch-tv-card .couch-tv-help{max-width:34vw;margin-top:1.5vh;font-family:var(--font-read);font-size:clamp(13px,1.1vw,20px);color:var(--text-secondary)}#couch-tv-card .couch-tv-help summary{cursor:pointer;color:var(--accent-gold)}#couch-tv-card .couch-tv-help ul{margin:0.6em 0 0;padding-left:1.2em;line-height:1.4}#couch-tv-card .couch-tv-help li{margin-bottom:0.4em}html.couch-cursor-off,html.couch-cursor-off *{cursor:none!important}#couch-sync{position:fixed;left:50%;transform:translateX(-50%);bottom:14px;z-index:9600;max-width:60vw;padding:6px 10px;border-radius:6px;font-family:var(--font-read);font-size:14px;background:rgba(10,4,37,0.85);color:#9fe69f;border:1px solid #3c7a3c}#couch-sync.bad{color:#fff;background:rgba(120,10,30,0.9);border-color:#ff083c;font-size:16px}#couch-sync button{font-family:var(--font-terminal);font-size:13px;padding:2px 8px;margin-left:6px;background:#0a0425;color:#fff;border:1px solid #58a7ff;border-radius:4px;cursor:pointer}body.couch-tv-game .dock-bar,body.couch-tv-game #hud-ap-pips,body.couch-tv-game #hud-ap-container,body.couch-tv-game #emoji-panel-btn,body.couch-tv-game #cosmetics-panel-btn,body.couch-tv-game #settings-panel-btn,body.couch-tv-game #gp-host-pause-btn{display:none!important}

/* css/phone.css */
html.phone-ui .game-layout{grid-template-columns:minmax(0,1fr)!important}html.phone-ui .game-layout{height:100dvh!important;height:var(--app-h, 100dvh)!important}html.phone-ui .hud-bar,html.phone-ui .dock-bar,html.phone-ui #status,html.phone-ui .fsp{zoom:1!important}html.phone-ui .hermit-spacer{display:none!important}html.phone-ui .hud-bar{height:auto!important;min-height:0!important;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 6px;padding:4px 6px!important;width:auto!important}html.phone-ui .hud-bar .hud-section{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;min-width:0;width:auto!important;flex:0 1 auto;margin:0!important;padding:0!important}html.phone-ui .hud-bar button{font-size:14px!important;min-height:36px;padding:4px 7px!important;white-space:nowrap}html.phone-ui .hud-bar .hud-section{gap:4px}html.phone-ui #emoji-panel-btn{min-width:32px;padding:4px 6px!important}html.phone-ui .hud-shrine-progress{gap:3px!important}html.phone-ui .hud-shrine-progress .shrine-dot{width:12px!important;height:12px!important}html.phone-ui .hud-ap-pips{gap:2px!important}html.phone-ui .hud-ap-pips .ap-pip{width:8px!important;height:12px!important}html.phone-ui .hud-ap{font-size:16px!important;padding:2px 8px!important}html.phone-ui #phone-more-btn{font-family:var(--font-terminal)}html.phone-ui .hud-bar{padding:10px 14px!important;gap:10px;flex-wrap:nowrap!important}html.phone-ui .hud-bar .hud-section.left{flex:0 0 auto}html.phone-ui .hud-bar .hud-section.center{flex:0 0 auto;justify-content:flex-start;gap:10px;margin-left:6px!important}html.phone-ui .hud-bar .hud-section.right{flex:1 1 auto;justify-content:flex-start;gap:10px}html.phone-ui .hud-bar #emoji-panel-btn{order:1}html.phone-ui .hud-bar #hud-timer{order:2}html.phone-ui .hud-bar #master-mute-btn{order:3;margin-left:auto!important}html.phone-ui .hud-bar #panel-btn-opponents,html.phone-ui .hud-bar #phone-decks-btn,html.phone-ui .hud-bar #emoji-panel-btn,html.phone-ui .hud-bar #master-mute-btn{min-width:40px;width:auto;height:40px;min-height:40px;padding:0 9px!important;display:flex;align-items:center;justify-content:center;background:transparent!important;border:1px solid rgba(255,235,178,0.28)!important;border-radius:6px!important;box-shadow:none!important;color:#ffebb2!important;font-family:var(--font-terminal)!important;font-size:15px!important}html.phone-ui .hud-bar #phone-decks-btn.open{border-color:var(--accent-gold, #ffcc9d)!important}html.phone-ui .hud-bar #master-mute-btn{position:static;width:40px;padding:9px!important;flex:0 0 auto}html.phone-ui .hud-bar #master-mute-btn.muted{color:#ff8a9a!important;border-color:rgba(255,91,110,0.6)!important}#phone-decks-drop{position:fixed;left:50%;transform:translateX(-50%);z-index:9120;padding:10px 14px;border-radius:10px;background:#0d0a24;border:1px solid rgba(255,235,178,0.3);box-shadow:0 8px 22px rgba(0,0,0,0.6)}#phone-decks-drop[hidden]{display:none}#phone-decks-drop{width:min(94vw,420px);display:flex;flex-direction:column;gap:6px}#phone-decks-drop[hidden]{display:none}#phone-decks-drop .pd-label{font-size:12px;opacity:0.65;color:#ffebb2;letter-spacing:0.5px}#phone-decks-drop .pd-pools,#phone-decks-drop .pd-decks{display:flex;justify-content:space-between}#phone-decks-drop .pd-pool{display:inline-flex;align-items:center;gap:4px;color:#ffebb2;font-size:15px}#phone-decks-drop .pd-pool img{width:20px;height:20px}#phone-decks-drop .hud-scroll-decks-pips{display:flex!important;width:100%;justify-content:space-between;gap:6px;flex-wrap:nowrap;border:none!important;padding:0!important;margin:0!important}#phone-decks-drop .pd-buttons{display:flex;gap:8px;margin-top:6px}#phone-decks-drop .pd-buttons button{flex:1 1 50%;min-height:40px;font-size:14px!important;font-family:var(--font-terminal)!important;background:transparent!important;color:#ffebb2!important;border:1px solid rgba(255,235,178,0.3)!important;border-radius:6px!important;box-shadow:none!important;padding:4px 8px!important}#phone-decks-drop .pd-buttons button.open{border-color:var(--accent-gold, #ffcc9d)!important}#phone-decks-drop .pd-guide-cards{display:flex;justify-content:space-between;gap:6px}#phone-decks-drop .pd-guide-cards[hidden]{display:none}#phone-decks-drop .pd-ref-card{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;border:1px solid var(--c, #ffcc9d);border-radius:6px;color:#ffebb2;font-size:12px;cursor:pointer;background:rgba(255,255,255,0.03)}#phone-decks-drop .pd-ref-card img{width:24px;height:24px;pointer-events:none}#phone-decks-drop .pd-ref-card span{pointer-events:none}html.phone-ui .fsp-card-preview{z-index:9135!important}html.phone-ui #hud-shrine-progress,html.phone-ui #hud-ap-container,html.phone-ui #dock-turn-indicator{display:none!important}html.phone-ui .hud-bar #phone-more-btn{width:44px;height:40px;min-height:40px;padding:0!important;display:flex;align-items:center;justify-content:center;background:transparent!important;border:1px solid rgba(255,235,178,0.28)!important;border-radius:6px!important;box-shadow:none!important}html.phone-ui .hud-bar #phone-more-btn.fsp-dock-btn-open{border-color:var(--accent-gold, #ffcc9d)!important}.ham-lines,.ham-lines::before,.ham-lines::after{display:block;width:20px;height:2px;border-radius:1px;background:#ffebb2;content:""}.ham-lines{position:relative}.ham-lines::before{position:absolute;top:-6px;left:0}.ham-lines::after{position:absolute;top:6px;left:0}#phone-more-sheet{position:fixed;left:8px;right:8px;z-index:9100;display:flex;flex-direction:column;gap:2px;padding:8px;background:#0c0820;border:1px solid rgba(255,235,178,0.22);border-radius:0 0 10px 10px;box-shadow:0 10px 28px rgba(0,0,0,0.65);max-height:75vh;overflow-y:auto}#phone-more-sheet[hidden]{display:none}html.phone-ui #phone-more-sheet>button[id],#phone-more-sheet>button{font-family:var(--font-terminal)!important;font-weight:normal!important;letter-spacing:0.3px;min-width:0!important;max-width:none!important;margin:0!important;font-size:16px!important;min-height:46px;padding:8px 14px!important;width:100%!important;display:flex!important;align-items:center;gap:10px;text-align:left;justify-content:flex-start;background:transparent!important;border:none!important;border-bottom:1px solid rgba(255,255,255,0.06)!important;border-radius:0!important;box-shadow:none!important;color:#ffebb2!important;position:static!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;height:auto!important}html.phone-ui #phone-more-sheet>button[id]:last-child{border-bottom:none!important}#phone-more-sheet .pm-title{font-family:var(--font-terminal);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent-gold, #ffebb2);opacity:0.75;padding:8px 14px 2px}#phone-more-sheet .pm-game{order:0;padding-top:2px}#phone-more-sheet #panel-btn-gamelog{order:1}#phone-more-sheet #scroll-reference-btn{order:2}#phone-more-sheet #panel-btn-rulebook{order:3}#phone-more-sheet .pm-you{order:4}#phone-more-sheet #settings-panel-btn{order:5}#phone-more-sheet #cosmetics-panel-btn{order:6}#phone-more-sheet #leave-game{order:20;color:#ff9d8e!important;margin-top:10px!important;border-bottom:none!important}#phone-more-sheet #phone-decks-btn{order:7}#phone-more-sheet #phone-decks-btn::after{content:"▾";margin-left:auto;opacity:0.6}#phone-more-sheet #phone-decks-btn.open::after{content:"▴"}#phone-more-sheet .hud-scroll-decks-pips{order:8;display:none!important;justify-content:center;gap:10px;padding:8px 0 4px;flex-wrap:wrap}#phone-more-sheet.decks-open .hud-scroll-decks-pips{display:flex!important}#phone-more-sheet #hermit-menu-btn{order:9;color:#c3bcd7!important}#phone-more-sheet #master-mute-btn svg{width:20px;height:20px;flex:0 0 20px}#phone-more-sheet #master-mute-btn.muted{color:#ff8a9a!important}html.phone-ui #status{font-size:calc(14px * var(--text-k, 1))!important;line-height:1.3;padding:6px 16px 8px!important;text-align:center!important;justify-content:center!important;color:#d6cfee!important;border-top:1px solid rgba(255,255,255,0.06);white-space:normal!important;overflow:hidden;max-height:2.6em;text-overflow:ellipsis}html.phone-ui .dock-bar{display:block!important;height:auto!important;width:auto!important;padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px))!important}html.phone-ui .dock-actions{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;width:100%!important;justify-content:stretch!important}html.phone-ui .dock-actions>button{min-height:44px;min-width:0!important;width:100%!important;margin:0!important;padding:4px 4px!important;font-size:13px!important;line-height:1.15;white-space:normal!important;overflow-wrap:anywhere}html.phone-ui #dock-turn-indicator *{font-size:13px!important}html.phone-ui #dock-turn-indicator .player-dot{width:10px!important;height:10px!important}html.phone-ui #dock-turn-indicator{grid-column:1 / -1;grid-row:1;justify-content:center;font-size:13px!important;min-height:0!important;padding:0!important;margin:0!important}html.phone-ui #undo-move{grid-column:1 / 4;grid-row:2}html.phone-ui #cast-spell{grid-column:4 / 7;grid-row:2}html.phone-ui #end-turn{grid-column:7 / 13;grid-row:2;font-size:17px!important;display:flex!important;align-items:center;justify-content:center}html.phone-ui #elemental-stones-btn{display:none!important}html.phone-ui #panel-btn-hand{grid-column:1 / 5;grid-row:3}html.phone-ui #panel-btn-active{grid-column:5 / 9;grid-row:3}html.phone-ui #panel-btn-common{grid-column:9 / 13;grid-row:3}html.phone-ui #end-turn.phone-wait{opacity:0.4;pointer-events:none}html.phone-ui .fsp{left:0!important;right:0!important;top:auto!important;bottom:var(--phone-dock-h, 96px)!important;width:auto!important;height:auto!important;max-height:calc(100vh - var(--phone-dock-h, 96px) - var(--phone-hud-b, 80px) - 8px)!important;max-height:calc(100dvh - var(--phone-dock-h, 96px) - var(--phone-hud-b, 80px) - 8px)!important;border-radius:10px 10px 0 0!important;background:#0c0820!important}html.phone-ui .fsp .fsp-body{overflow:auto!important;max-height:none!important}html.phone-ui .fsp .fsp-resize,html.phone-ui .fsp [class*=resize]{display:none!important}html.phone-ui .fsp .fsp-header button{min-width:36px;min-height:36px}html.phone-ui #elemental-stones-body{display:flex!important;flex-wrap:wrap!important;justify-content:center;gap:6px}html.phone-ui .fsp-card-preview{zoom:1!important;left:6px!important;right:6px!important;width:auto!important;top:auto!important;bottom:calc(var(--phone-dock-h, 96px) + 4px)!important;max-width:none!important;max-height:calc(100vh - var(--phone-dock-h, 96px) - var(--phone-hud-b, 80px) - 12px);overflow:auto;z-index:9200!important}html.phone-ui .fsp-card-preview .fsp-card-btn{min-height:44px;font-size:15px!important}html.phone-ui .placement-tile-overlay{top:calc(var(--phone-hud-b, 80px) + 4px);transform:translateX(-50%)!important;left:50%!important;padding:6px 12px 6px 8px!important;gap:10px;width:calc(100vw - 16px);max-width:none;flex-direction:row;text-align:left}html.phone-ui .player-tile-deck-item{width:84px;height:84px}html.phone-ui .placement-tile-label{font-size:calc(17px * var(--text-k, 1))}html.phone-ui .placement-tile-hint{font-size:calc(15px * var(--text-k, 1))}html.phone-ui #new-player-tile-deck{display:flex!important;flex-direction:row!important;gap:10px;justify-content:center}.tap-stone-spot{fill:var(--ts-color, #fff);fill-opacity:0.18;stroke:var(--ts-color, #fff);stroke-width:2.2;stroke-opacity:0.9}#tap-stone-chip{position:fixed;left:50%;transform:translateX(-50%);top:calc(var(--phone-hud-b, 80px) + 6px);z-index:9150;display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:8px;background:#0c0820;border:1px solid var(--accent-gold);color:#fff;font-family:var(--font-read);font-size:15px;white-space:nowrap;max-width:calc(100vw - 16px)}#tap-stone-chip img{width:22px;height:22px}#tap-stone-chip button{font-family:var(--font-terminal);font-size:14px;min-height:34px;padding:2px 10px;background:#0a0425;color:#fff;border:1px solid #58a7ff;border-radius:6px}#move-stick{position:fixed;right:14px;bottom:calc(var(--phone-dock-h, 140px) + 14px);z-index:90;width:112px;height:112px;touch-action:none;user-select:none;-webkit-user-select:none}#move-stick .move-stick-ring{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,rgba(12,8,32,0.35) 0%,rgba(12,8,32,0.7) 70%);border:2px solid rgba(255,235,178,0.55)}#move-stick .move-stick-knob{position:absolute;left:50%;top:50%;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ffebb2,#b08a4a);box-shadow:0 2px 8px rgba(0,0,0,0.6);pointer-events:none}#move-stick.held .move-stick-ring{border-color:var(--accent-gold)}#move-stick-label{position:fixed;right:14px;bottom:calc(var(--phone-dock-h, 140px) + 132px);z-index:900;padding:3px 8px;border-radius:6px;background:rgba(12,8,32,0.85);color:#fff;font-family:var(--font-read);font-size:14px;pointer-events:none}#move-stick-label[hidden]{display:none}.move-stick-hex{fill:none;stroke-width:2.4}.move-stick-hex.ok{stroke:#9fe69f;fill:rgba(159,230,159,0.12)}.move-stick-hex.end{stroke:#ffebb2;stroke-width:3.4;fill:rgba(255,235,178,0.22)}.move-stick-hex.bad{stroke:#ff5b6e;stroke-dasharray:4 3;fill:rgba(255,8,60,0.08)}.move-stick-route{fill:none;stroke:#ffebb2;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:0.85}.move-stick-layer .move-stick-route{stroke-dasharray:6 4}.move-stick-hex.wind{stroke:#fff400;fill:rgba(255,244,0,0.16)}.move-stick-hex.preview{stroke-dasharray:5 3}.move-plan-layer .move-stick-hex.end{stroke-width:4}#move-stick-mode{position:fixed;right:132px;bottom:calc(var(--phone-dock-h, 140px) + 14px);z-index:90;font-family:var(--font-terminal);font-size:13px;min-height:34px;padding:2px 10px;background:rgba(12,8,32,0.85);color:#ffebb2;border:1px solid rgba(255,235,178,0.6);border-radius:6px}#move-stick-mode.straight{color:#9fd6ff;border-color:rgba(88,167,255,0.7)}#move-plan-bar{position:fixed;left:8px;right:140px;bottom:calc(var(--phone-dock-h, 140px) + 56px);z-index:90;display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:8px;background:rgba(12,8,32,0.9);border:1px solid var(--accent-gold);color:#fff;font-family:var(--font-read);font-size:14px}#move-plan-bar[hidden]{display:none}#move-plan-bar .move-plan-info{flex:1;min-width:0}#move-plan-bar button{font-family:var(--font-terminal);font-size:16px;min-height:40px;padding:2px 12px;background:#0a0425;color:#fff;border:1px solid #58a7ff;border-radius:6px}#move-plan-bar .move-plan-go{background:var(--accent-orange);border-color:var(--accent-orange-hover);min-width:64px}#move-plan-bar .move-plan-go:disabled{opacity:0.45}#tp-chip{position:fixed;left:50%;transform:translateX(-50%);top:calc(var(--phone-hud-b, 80px) + 6px);z-index:9140;padding:6px 12px;border-radius:8px;background:#0c0820;border:1px solid #ecc278;color:#ecc278;font-family:var(--font-read);font-size:15px;white-space:nowrap;pointer-events:none}.move-stick-jump{stroke:#ecc278;stroke-width:2.4;stroke-dasharray:2 5;stroke-linecap:round;opacity:0.9}.move-stick-hex.portal{stroke:#ecc278;fill:rgba(236,194,120,0.2)}@media (orientation: landscape) and (max-height: 500px){html.phone-ui .dock-bar{padding:3px 6px calc(3px + env(safe-area-inset-bottom,0px))!important}html.phone-ui .dock-actions{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}html.phone-ui .dock-actions>button{min-height:40px;font-size:12px!important}html.phone-ui #undo-move{grid-column:1 / 2;grid-row:2}html.phone-ui #cast-spell{grid-column:2 / 3;grid-row:2}html.phone-ui #end-turn{grid-column:3 / 5;grid-row:2;font-size:15px!important}html.phone-ui #panel-btn-hand{grid-column:5 / 6;grid-row:2}html.phone-ui #panel-btn-active{grid-column:6 / 7;grid-row:2}html.phone-ui #panel-btn-common{grid-column:7 / 8;grid-row:2}#move-stick{width:88px;height:88px;bottom:calc(var(--phone-dock-h, 60px) + 8px)}#move-stick .move-stick-knob{width:38px;height:38px;margin:-19px 0 0 -19px}#move-stick-label{bottom:calc(var(--phone-dock-h, 60px) + 102px)}#move-stick-mode{right:110px;bottom:calc(var(--phone-dock-h, 60px) + 8px)}#move-plan-bar{right:116px;bottom:calc(var(--phone-dock-h, 60px) + 50px)}}html.phone-ui #lobby-wrapper>.site-logo{zoom:0.75!important}html.phone-ui #lobby-wrapper{padding-left:6px!important;padding-right:6px!important;box-sizing:border-box;max-width:100vw}html.phone-ui #multiplayer-lobby{zoom:1!important;width:100%!important;max-width:none!important;box-sizing:border-box;padding:8px!important;margin:0 auto}html.phone-ui #multiplayer-lobby .lobby-you-col{order:-1}html.phone-ui #lobby-you-card{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:8px;margin:0;padding:4px 8px}html.phone-ui #lobby-you-card .ly-xp,html.phone-ui #lobby-you-card .ly-xp-text,html.phone-ui #lobby-you-card .ly-saved{display:none}html.phone-ui #lobby-you-card .ly-head{width:auto;flex:1 1 auto;min-width:0;min-height:44px;gap:8px}html.phone-ui #lobby-you-card .ly-level{width:30px;height:34px}html.phone-ui #lobby-you-card .ly-level-num{font-size:15px}html.phone-ui #lobby-you-card .ly-level-lbl{display:none}html.phone-ui #lobby-you-card .ly-name{font-size:16px}html.phone-ui #lobby-you-card .ly-rows{flex-direction:row;flex-wrap:nowrap;margin:0;gap:4px;flex:0 0 auto}html.phone-ui #multiplayer-lobby #lobby-you-card .ly-row{width:auto;flex:0 0 auto;min-height:44px;gap:6px;font-size:calc(14px * var(--text-k, 1));padding:0 8px;background:transparent}html.phone-ui #multiplayer-lobby .lobby-leaderboard-col h3{font-size:22px!important}html.phone-ui #main-leaderboard-body .gami-lb-row:nth-child(n+6){display:none}html.phone-ui #main-leaderboard-body .gami-lb-name{font-size:calc(16px * var(--text-k, 1))}html.phone-ui #multiplayer-lobby .lobby-columns{flex-direction:column!important;gap:10px!important}html.phone-ui #multiplayer-lobby .lobby-columns>div{width:100%!important}html.phone-ui #auth-bar{flex-wrap:wrap!important;gap:8px;padding:8px!important}html.phone-ui #auth-bar-name{font-size:15px!important;width:100%}html.phone-ui #auth-bar .auth-bar-buttons{flex-wrap:wrap!important;gap:6px!important;width:100%}html.phone-ui #auth-bar .auth-bar-buttons{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))}html.phone-ui #auth-bar .auth-bar-buttons button{min-width:0;min-height:38px;margin:0!important;width:100%;font-size:12px!important;line-height:1.1;padding:2px 3px!important;white-space:normal}html.phone-ui #auth-bar .auth-bar-buttons button{font-size:15px!important;min-height:44px;display:flex;align-items:center;justify-content:center;text-align:center}#phone-lobby-more-btn{position:relative}#phone-lobby-more-btn.open{border-color:var(--accent-gold)!important}#phone-lobby-more-btn.has-new::after{content:"";position:absolute;top:4px;right:4px;width:9px;height:9px;border-radius:50%;background:#ff6a00}#phone-lobby-more-sheet{position:fixed;left:8px;right:8px;z-index:9100;display:flex;flex-direction:column;gap:14px;padding:14px;background:#0c0820;border:1px solid var(--border-accent);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,0.6)}#phone-lobby-more-sheet[hidden]{display:none}#phone-lobby-more-sheet .lm-title{font-family:var(--font-terminal);font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent-gold, #ffebb2);margin:0 0 6px 2px}#phone-lobby-more-sheet .lm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#phone-lobby-more-sheet .lm-grid>button:last-child:nth-child(odd){grid-column:1 / -1}#phone-lobby-more-sheet button{font-size:16px!important;min-height:48px;width:100%;margin:0!important;padding:6px 8px!important;white-space:normal;text-align:center;justify-content:center;position:relative;border-style:solid;border-width:10px;border-image:url(../assets/paper-ui-menus/pieces/piece_44_175x51.webp) 12 / 10px stretch;background:transparent;color:var(--text-primary, #fff);box-shadow:none}#phone-lobby-more-sheet #train-bot-btn{color:var(--accent-gold, #ffebb2)!important;border-color:transparent;box-shadow:none!important}#phone-lobby-more-sheet .lm-foot .lm-grid{display:flex;justify-content:flex-end}#phone-lobby-more-sheet #sign-out-btn{width:auto;min-height:44px;border:none;border-image:none;background:none;color:var(--text-secondary, #ede7fe)!important;text-decoration:underline;padding:6px 12px!important}html.phone-ui #multiplayer-lobby .quick-play-row,html.phone-ui #room-action-buttons{display:flex!important;flex-direction:column!important;gap:8px!important}html.phone-ui #multiplayer-lobby .quick-play-row>button,html.phone-ui #room-action-buttons>button{width:100%!important;min-height:50px;margin:0!important;font-size:18px!important}html.phone-ui #join-code-row input{min-width:0;font-size:16px!important;letter-spacing:1px!important;padding:8px!important}html.phone-ui #join-code-row button{min-height:46px}html.phone-ui #multiplayer-lobby h2{font-size:20px!important}html.phone-ui .gami-tabs{flex-wrap:wrap;overflow-x:visible}html.phone-ui #bot-training-overlay>div{zoom:1.2;width:calc(94vw / 1.2)!important;max-height:calc(90vh / 1.2)!important}html.phone-ui .game-over-box{min-width:0!important;max-width:calc(100vw - 16px)!important;box-sizing:border-box;padding:24px 16px!important}html.phone-ui [data-drag=own]{left:10px!important;right:10px!important;width:auto!important;max-width:none!important;top:50%!important;transform:translateY(-50%);box-sizing:border-box;max-height:calc(100dvh - var(--phone-hud-b, 60px) - var(--phone-dock-h, 140px) - 16px)!important;font-size:17px!important}html.phone-ui [data-drag=own] h3{font-size:19px!important;text-align:center}html.phone-ui [data-drag=own] button{font-size:17px!important;min-height:46px;padding:8px 12px!important}.arc-menu{position:fixed;z-index:960;width:0;height:0;pointer-events:none}.arc-menu[hidden]{display:none}.arc-menu .arc-ring{position:absolute;pointer-events:none;border-radius:50%;box-sizing:border-box;left:calc(-1 * (var(--r) + 34px));top:calc(-1 * (var(--r) + 34px));width:calc(2 * (var(--r) + 34px));height:calc(2 * (var(--r) + 34px));border:68px solid rgba(8,5,26,0.88);clip-path:polygon(44% 0,100% 0,100% 100%,44% 100%)}.arc-menu .arc-item{position:absolute;left:-26px;top:-26px;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#1a1440;border:2px solid rgba(255,235,178,0.35);pointer-events:auto;transition:scale 0.08s ease-out}.arc-menu .arc-item.fav{border-color:var(--accent-gold)}.arc-menu .arc-item.word{background:#2b1f08;border-color:#ffcb42}.arc-menu .arc-item.off{opacity:0.35}.arc-menu .arc-item.hot{scale:1.35;border-color:#fff;background:#2f2670;z-index:2}.arc-menu .ew-word{font-family:var(--font-terminal);font-size:13px;color:#ffebb2}.arc-menu .ew-small{font-size:10px;text-align:center;line-height:1.1}.arc-menu .ew-price{font-family:var(--font-terminal);font-size:10px;color:#ffcb42;line-height:1}.arc-menu .arc-arrow{position:absolute;left:-12px;top:-8px;width:0;height:0;pointer-events:auto;border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:16px solid #ffebb2}.arc-menu .arc-arrow.off{opacity:0.2}.arc-menu .arc-arrow.hot{border-bottom-color:var(--accent-gold)}.arc-menu-label{position:fixed;z-index:961;pointer-events:none;padding:3px 8px;border-radius:6px;background:rgba(12,8,32,0.92);color:#fff;font-family:var(--font-read);font-size:15px;white-space:nowrap}.arc-menu-label[hidden]{display:none}html.phone-ui #emoji-panel-btn.arc-open{border-color:var(--accent-gold)!important;box-shadow:0 0 12px rgba(255,203,66,0.6)}html.phone-ui #emoji-panel-btn.ew-cooling{opacity:0.55}#stone-wheel-btn{position:fixed;left:16px;bottom:calc(var(--phone-dock-h, 140px) + 30px);z-index:90;width:60px;height:60px;border-radius:50%;padding:0;background:radial-gradient(circle,rgba(12,8,32,0.35) 0%,rgba(12,8,32,0.7) 70%);border:2px solid rgba(255,235,178,0.55);touch-action:none;user-select:none;-webkit-user-select:none}#stone-wheel-btn::before{content:"";position:absolute;inset:3px;border-radius:50%;pointer-events:none;background:conic-gradient(#6fff31 0 72deg,#58a7ff 0 144deg,#ff083c 0 216deg,#fff400 0 288deg,#a758ff 0 360deg);-webkit-mask:radial-gradient(circle,transparent 0 calc(50% - 3px),#000 calc(50% - 3px) 50%,transparent 50%),radial-gradient(circle,transparent 0 calc(50% - 8px),#000 calc(50% - 8px) calc(50% - 7px),transparent calc(50% - 7px));mask:radial-gradient(circle,transparent 0 calc(50% - 3px),#000 calc(50% - 3px) 50%,transparent 50%),radial-gradient(circle,transparent 0 calc(50% - 8px),#000 calc(50% - 8px) calc(50% - 7px),transparent calc(50% - 7px));opacity:0.85}#stone-wheel-btn .sw-knob{position:absolute;left:50%;top:50%;width:24px;height:24px;margin:-12px 0 0 -12px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ffebb2,#b08a4a);box-shadow:0 2px 8px rgba(0,0,0,0.6)}#stone-wheel-btn.picked .sw-knob{background:radial-gradient(circle at 35% 35%,#fff 0%,var(--knob) 45%,rgba(0,0,0,0.6) 140%)}#stone-wheel-btn.arc-open{border-color:var(--accent-gold)}#stone-wheel .arc-item{width:48px;height:48px;left:-24px;top:-24px}.arc-menu .arc-item.sw-stone img{width:32px;height:32px}.arc-menu .sw-ring{position:absolute;inset:-2px;border-radius:50%;border:3px solid var(--c);pointer-events:none}.arc-menu .sw-count{position:absolute;right:-6px;bottom:-6px;min-width:20px;height:20px;border-radius:10px;padding:0 4px;background:#0c0820;border:1px solid #ffebb2;color:#fff;font-family:var(--font-terminal);font-size:12px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}html.phone-ui #move-plan-bar{left:86px}@media (orientation: landscape) and (max-height: 500px){#stone-wheel-btn{width:52px;height:52px;bottom:calc(var(--phone-dock-h, 60px) + 10px)}}#phone-lobby-more-sheet .quick-play-sub{display:none}#game-browser-panel:not(.rooms-open) #room-action-buttons,#game-browser-panel:not(.rooms-open) #join-code-row,#game-browser-panel:not(.rooms-open) #public-games-section{display:none!important}#phone-lobby-more-sheet.desk{right:auto}#lobby-title{display:none}#phone-rooms-btn{width:100%;min-height:50px;margin:8px 0 12px!important;font-size:18px!important}#phone-rooms-btn.open{border-color:var(--accent-gold)!important}#stone-wheel-btn.armed .sw-knob{background:#2b0d14;border:2px solid #ff5b6e;box-sizing:border-box}#stone-wheel-btn.armed .sw-knob::before,#stone-wheel-btn.armed .sw-knob::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;margin:-1px 0 0 -7px;background:#ffd6dc;border-radius:1px;transform:rotate(45deg)}#stone-wheel-btn.armed .sw-knob::after{transform:rotate(-45deg)}#stone-wheel-btn.armed{border-color:#ff5b6e}#move-stick,#move-stick-mode,#stone-wheel-btn{transition:opacity 0.35s ease,visibility 0s linear 0s}#move-stick[hidden]{display:block}#move-stick-mode[hidden],#stone-wheel-btn[hidden]{display:flex}#move-stick[hidden],#move-stick-mode[hidden],#stone-wheel-btn[hidden]{opacity:0;visibility:hidden;pointer-events:none;transition:opacity 0.35s ease,visibility 0s linear 0.35s}@media (prefers-reduced-motion: reduce){#move-stick,#move-stick-mode,#stone-wheel-btn,#move-stick[hidden],#move-stick-mode[hidden],#stone-wheel-btn[hidden]{transition:none}}html.phone-ui .tutorial-modal.tutorial-corner{align-items:flex-start;justify-content:center;padding:var(--tut-top, 100px) 10px 0 10px}html.phone-ui .tutorial-modal.tutorial-corner .tutorial-content{width:100%;max-width:520px;max-height:min(34vh,var(--tut-room, 34vh));padding:0;overflow-y:auto;background:#0d0a24;border-width:1px;box-shadow:0 6px 22px rgba(0,0,0,0.75)}html.phone-ui .tutorial-corner .tutorial-header{padding:18px 52px 6px 16px}html.phone-ui .tutorial-corner .tutorial-step-label{left:16px;top:5px;font-size:11px;letter-spacing:1.5px}html.phone-ui .tutorial-corner .tutorial-title{font-size:15px}html.phone-ui .tutorial-corner .tutorial-body{padding:10px 16px 14px}html.phone-ui .tutorial-corner .tutorial-body,html.phone-ui .tutorial-corner .tutorial-body *{font-size:calc(15px * var(--text-k, 1))!important;line-height:1.5!important}html.phone-ui .tutorial-corner .tutorial-footer{margin-top:0!important;padding:0 16px 14px;border-top:none}html.phone-ui .tutorial-corner .tutorial-footer .tmode-next{font-size:14px;padding:7px 18px}html.phone-ui #tutorial-reopen{top:var(--tut-reopen-top, 100px);right:12px;bottom:auto}#stone-pool-chip{position:fixed;left:50%;transform:translateX(-50%);top:calc(var(--ap-strip-b, 140px) + 8px);z-index:9140;padding:5px 12px;border-radius:14px;background:#0d0a24;border:1px solid var(--chip-c, #ffcc9d);color:#ffebb2;font-family:var(--font-terminal, monospace);font-size:14px;pointer-events:none;display:flex;align-items:center;gap:8px;white-space:nowrap}#stone-pool-chip[hidden]{display:none}#stone-pool-chip img{width:18px;height:18px}#stone-wheel-btn.tutorial-spotlight{position:fixed!important}html.phone-ui #phone-more-sheet #cosmetics-panel-btn,html.phone-ui #phone-more-sheet #settings-panel-btn{justify-content:flex-start!important;text-align:left!important}html.phone-ui #phone-more-sheet .hud-scroll-decks-pips{border:none!important;box-shadow:none!important}#stone-pool-chip.all{gap:12px}#stone-pool-chip .spc-title{opacity:0.7;font-size:12px}#stone-pool-chip .spc-el{display:inline-flex;align-items:center;gap:4px}#stone-wheel-btn.sw-idle{opacity:0.45}html.phone-ui .gami-close{min-width:44px;min-height:44px}html.phone-ui .gami-tab{min-height:44px}html.phone-ui .lang-picker button,html.phone-ui .lang-pick-btn{min-height:44px}html.phone-ui body>#master-mute-btn{width:44px;height:44px;padding:10px;font-size:14px}html.phone-ui body>#master-mute-btn.mm-corner{top:10px;right:10px}html.phone-ui .auth-forgot-link{min-height:44px;font-size:15px}html.phone-ui:has(.game-layout.active),html.phone-ui:has(.game-layout.active) body{height:var(--app-h, 100dvh)!important;overflow:hidden!important;overscroll-behavior:none}html.phone-ui:has(.game-layout.active) body{position:fixed;inset:0;width:100%}html.phone-ui #target-notices{left:8px;right:8px;width:auto}#move-stick .move-stick-ring.pen-plate-ring,#stone-wheel-btn.pen-plate-ringEl{border-color:transparent!important;background:var(--pen-plate) center / 100% 100% no-repeat border-box,radial-gradient(circle,rgba(12,8,32,0.35) 0%,rgba(12,8,32,0.7) 70%) padding-box}#move-stick.held .move-stick-ring.pen-plate-ring,#stone-wheel-btn.pen-plate-ringEl.arc-open{filter:drop-shadow(0 0 5px rgba(255,204,157,0.75)) brightness(1.15)}#stone-wheel-btn.pen-plate-ringEl.armed{filter:drop-shadow(0 0 5px rgba(255,91,110,0.8))}#move-stick .move-stick-knob.pen-plate-knob,#stone-wheel-btn:not(.picked):not(.armed) .sw-knob.pen-plate-knob{background:var(--pen-plate) center / 100% 100% no-repeat;box-shadow:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.6))}#stone-wheel-btn.pen-plate-ringEl::before{display:none}.arc-menu .arc-item.pen-plate{border-color:transparent;background:var(--pen-plate) center / 100% 100% no-repeat,#1a1440}.arc-menu .arc-item.word.pen-plate{background:var(--pen-plate) center / 100% 100% no-repeat,#2b1f08}.arc-menu .arc-item.hot.pen-plate{background:var(--pen-plate) center / 100% 100% no-repeat,#2f2670}.arc-menu .sw-ring.pen-plate{border-color:transparent;background:var(--pen-plate) center / 100% 100% no-repeat}#move-plan-bar{right:auto;background:none;border:none;padding:0;gap:10px}#move-plan-bar .move-plan-info{flex:none;max-width:150px;padding:4px 8px;border-radius:6px;background:rgba(12,8,32,0.85);color:#ffebb2;font-size:13px;line-height:1.2}#move-plan-bar .move-plan-info[hidden]{display:none}#move-plan-bar button,#move-plan-bar .move-plan-go{min-width:88px;min-height:48px;font-size:20px}#move-plan-bar button.pen-plate{border-color:transparent;box-shadow:none}#move-plan-bar button.pen-plate-ink{background:var(--pen-plate) center / 100% 100% no-repeat,rgba(10,6,30,0.8) padding-box;color:#ffebb2}#move-plan-bar .move-plan-go.pen-plate-seal{background:var(--pen-plate) center / 100% 100% no-repeat;color:#1a1006;filter:drop-shadow(0 0 6px rgba(245,207,106,0.45))}#move-plan-bar .move-plan-go.pen-plate-seal:disabled{filter:grayscale(1);opacity:0.45}html.phone-ui #move-plan-bar{right:136px}#move-plan-bar button,#move-plan-bar .move-plan-go{flex:1 1 0;min-width:0;max-width:110px}#move-plan-bar .move-plan-info{position:absolute;left:0;bottom:100%;margin-bottom:6px;max-width:70vw;white-space:nowrap}@media (orientation: landscape) and (max-height: 500px){html.phone-ui #move-plan-bar{right:112px}}#move-stick-mode.pen-plate{border-color:transparent;background:var(--pen-plate) center / 100% 100% no-repeat,rgba(12,8,32,0.85) padding-box}#ap-strip #hud-ap-pips .ap-pip.pen-plate{border-color:transparent;background:var(--pen-plate) center / 100% 100% no-repeat,#17141f padding-box}#ap-strip #hud-ap-pips .ap-pip.filled.pen-plate,#ap-strip #hud-ap-pips .ap-pip.void.pen-plate{background:var(--pen-plate) center / 100% 100% no-repeat}.tap-stone-spot.near{r:15;stroke-width:3.5;fill-opacity:0.55}
