:root{--bg-primary:#0d1117;--bg-secondary:#131922;--bg-tertiary:#1b232e;--surface:rgba(255,255,255,0.03);--surface-hover:rgba(255,255,255,0.06);--glass:rgba(255,255,255,0.045);--glass-border:rgba(255,255,255,0.09);--glass-shadow:rgba(0,0,0,0.45);--text-primary:#eaeef3;--text-secondary:#8d99a8;--text-muted:#7d8897;--accent:#3fa9ff;--accent-glow:rgba(63,169,255,0.35);--accent-light:#7ec4ff;--accent-dark:#1c6fc9;--value:#3ddc84;--value-glow:rgba(61,220,132,0.32);--value-dark:#22a35f;--danger:#f14856;--danger-glow:rgba(241,72,86,0.28);--danger-dark:#c03838;--draw:#3d4b5c;--rarity-epic:#a78bfa;--rarity-legendary:#f0b429;--success:var(--value);--on-accent:#ffffff;--on-value:#1a1a2e;--accent-soft:rgba(63,169,255,0.12);--brand-gradient:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-light) 50%,var(--value) 100%);--board-light:#eef1e8;--board-dark:#5c7a5a;--board-highlight:rgba(63,169,255,0.45);--board-move-dot:rgba(63,169,255,0.55);--sight-mark:#f5e9a8;--sight-mark-edge:rgba(13,17,23,0.42);--board-capture:rgba(241,72,86,0.55);--board-last-move:rgba(240,180,41,0.22);--board-check:rgba(241,72,86,0.55);--board-drop-valid:rgba(61,220,132,0.35);--piece-shield-pip:#5ab8ff;--piece-mark-bg:rgba(13,17,23,0.85);--ice-frame:rgba(150,220,255,0.75);--ice-glow:rgba(150,220,255,0.6);--ice-glow-strong:rgba(130,210,255,0.95);--aura-bar-outline:rgba(13,17,23,0.6);--piece-card-border:rgba(255,255,255,0.14);--piece-card-shadow:rgba(0,0,0,0.6);--piece-card-item:#c9d1db;--fog-veil:rgba(14,20,36,0.84);--fog-dim:rgba(10,14,28,0.6);--loss-smoke:rgba(20,16,34,0.85);--shadow-haze:rgba(127,119,221,0.85);--shadow-haze-clear:rgba(127,119,221,0);--stone-edge:rgba(176,186,198,0.95);--stone-glow:rgba(150,162,178,0.95);--stone-glow-clear:rgba(150,162,178,0);--swap-glow:rgba(63,169,255,0.35);--loss-smoke-clear:rgba(20,16,34,0);--loss-stain-core:rgba(8,6,16,0.55);--loss-stain-rim:rgba(60,10,30,0.25);--ability-accent:#8b6cf0;--deal-flash:rgba(150,22,58,0.85);--stone-face:rgba(118,126,138,0.92);--stone-crack:rgba(13,17,23,0.78);--eye-glow:rgba(245,233,168,0.5);--eye-glow-clear:rgba(245,233,168,0);--font-main:var(--font-inter,"Inter"),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:var(--font-jetbrains-mono,"JetBrains Mono"),"Courier New",monospace;--board-size:min(480px,68vmin);--cell-size:calc(var(--board-size) / 8);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--topbar-safe-top:max(env(safe-area-inset-top,0px),calc(var(--tg-safe-area-inset-top, 0px) + var(--tg-content-safe-area-inset-top, 0px)));--topbar-h:calc(48px + var(--topbar-safe-top));--text-xs:0.75rem;--text-sm:0.8125rem;--text-md:0.875rem;--text-base:0.9375rem;--text-input:1rem;--text-lg:1.125rem;--text-xl:1.3rem;--text-2xl:1.625rem;--transition-fast:0.15s ease;--transition-normal:0.22s cubic-bezier(0.4,0,0.2,1);--transition-slow:0.4s cubic-bezier(0.4,0,0.2,1);--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-pill:999px}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{font-size:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-main);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden;background-image:url(/bg-pattern.svg),radial-gradient(ellipse at 20% 30%,rgba(63,169,255,.06) 0,transparent 50%),radial-gradient(ellipse at 80% 70%,rgba(61,220,132,.05) 0,transparent 50%);background-size:96px 96px,auto,auto}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hidden{display:none!important}.screen{display:none;min-height:calc(100vh - var(--topbar-h));animation:fadeIn .4s ease;overflow-x:hidden}.screen.active{display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.glass-panel{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-lg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 8px 32px var(--glass-shadow)}.btn{font-family:var(--font-main);font-weight:600;font-size:var(--text-base);border:none;border-radius:var(--radius-md);padding:var(--space-3) 28px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);transition:all var(--transition-normal);letter-spacing:.02em}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:var(--on-accent);box-shadow:0 4px 20px var(--accent-glow)}.btn-primary:hover{box-shadow:0 6px 30px var(--accent-glow)}.btn-value{background:linear-gradient(135deg,var(--value),var(--value-dark));color:var(--on-value);box-shadow:0 4px 16px var(--value-glow)}.btn-value:hover{box-shadow:0 6px 24px var(--value-glow)}.btn-outline{background:transparent;color:var(--text-secondary);border:1px solid var(--glass-border)}.btn-outline:hover{border-color:var(--text-secondary);color:var(--text-primary)}.btn-danger{background:linear-gradient(135deg,var(--danger),var(--danger-dark));color:var(--on-accent);box-shadow:0 4px 16px var(--danger-glow)}.btn-danger:hover{box-shadow:0 6px 24px var(--danger-glow)}.btn:disabled{background:var(--bg-tertiary);color:var(--text-muted);box-shadow:none;cursor:not-allowed;transform:none}.btn-outline:disabled{background:transparent;border-color:var(--glass-border)}.btn-small{font-size:var(--text-sm);padding:var(--space-2) var(--space-4)}.btn-large{font-size:var(--text-lg);padding:var(--space-4) 40px;border-radius:var(--radius-lg)}.menu-container{width:100%;padding:0 var(--space-6);text-align:center;z-index:1;animation:menuAppear .8s cubic-bezier(.4,0,.2,1)}@keyframes menuAppear{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.menu-title{font-family:var(--font-main);font-size:clamp(3rem,8vw,5rem);font-weight:800;letter-spacing:-.03em;background:var(--brand-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-bottom:var(--space-4)}.brand-mark{display:block;flex:none}.menu-mark{width:72px;height:72px;margin:var(--space-2) auto var(--space-1)}.menu-buttons{display:flex;flex-direction:column;gap:14px;align-items:center;margin-bottom:var(--space-4)}.menu-buttons .btn{width:min(280px,100%)}.home-stats{width:100%;max-width:1040px;margin:0 auto var(--space-4);flex-direction:column;text-align:left}.home-stats,.home-stats-head{display:flex;gap:var(--space-3)}.home-stats-head{justify-content:space-between;align-items:baseline;flex-wrap:wrap}.home-stats-title{font-family:var(--font-main);font-size:var(--text-lg);font-weight:700;color:var(--text-primary)}.home-stats-period{font-size:var(--text-xs);color:var(--text-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-pill);padding:2px var(--space-2)}.home-stats-period-wrap{position:relative}button.home-stats-period{position:relative;display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-family:inherit;background:transparent;cursor:pointer}button.home-stats-period:after{content:"▾"}button.home-stats-period:before{content:"";position:absolute;inset:-10px -8px}button.home-stats-period:hover,button.home-stats-period[aria-expanded=true]{color:var(--text-primary)}.home-stats-period-menu{position:absolute;top:calc(100% + var(--space-1));right:0;z-index:10;display:flex;flex-direction:column;min-width:100%;padding:var(--space-1);background:var(--bg-tertiary);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:0 8px 32px var(--glass-shadow)}.home-stats-period-item{display:flex;align-items:center;min-height:44px;padding:var(--space-2) var(--space-3);font-family:inherit;font-size:var(--text-sm);text-align:left;white-space:nowrap;color:var(--text-primary);background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer}.home-stats-period-item:hover{background:var(--surface-hover)}.home-stats-period-item.is-selected{color:var(--accent-light);font-weight:700}.home-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.metric-card.is-open{grid-column:1/span 2;grid-row:1/span 2;border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.metric-card.is-open:focus:not(:focus-visible){outline:none}.metric-card.is-open .sparkline{height:110px;margin-top:auto}.metric-card-toggle{position:absolute;inset:0;padding:0;border:0;border-radius:var(--radius-lg);background:transparent;cursor:pointer}.metric-card-toggle:hover{background:var(--surface-hover)}.metric-facts{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--space-2) var(--space-3);margin:0}.metric-facts>div{display:flex;flex-direction:column;gap:2px;min-width:0}.metric-facts dt{font-size:var(--text-xs);color:var(--text-muted)}.metric-facts dd{margin:0;font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--text-md);color:var(--text-primary)}.daily-bars{display:flex;align-items:flex-end;gap:2px;height:96px;margin-top:auto}.daily-bar{flex:1 1;border-radius:var(--radius-xs);background:var(--text-secondary)}.daily-bars.is-online .daily-bar:not(.is-empty){background:var(--accent)}.daily-bar.is-empty{background:var(--surface-hover)}.metric-empty{margin-top:auto;font-size:var(--text-sm);color:var(--text-secondary)}.daily-bars-axis{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--text-muted)}.metric-card{position:relative;display:flex;flex-direction:column;gap:10px;min-width:0;padding:var(--space-4)}.metric-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-1)}.metric-label{display:inline-flex;white-space:nowrap;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.metric-label-short{display:none}.metric-value{font-family:var(--font-mono);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--text-2xl);color:var(--text-primary)}.metric-value.is-win{color:var(--value)}.metric-unit{font-family:var(--font-main);font-weight:400;margin-left:6px}.metric-aside,.metric-caption,.metric-unit{font-size:var(--text-sm);color:var(--text-secondary)}.metric-aside{white-space:nowrap;font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.metric-delta.is-up{color:var(--value)}.metric-delta.is-down{color:var(--danger)}.metric-card.is-highlight{border-color:color-mix(in srgb,var(--accent) 25%,transparent)}.metric-card-online .metric-value{color:var(--accent-light)}.online-dot{width:8px;height:8px;border-radius:50%;background:var(--value);box-shadow:0 0 10px var(--value-glow);flex:none}.wdl-bar{display:flex;height:10px;border-radius:var(--radius-pill);overflow:hidden;gap:2px}.wdl-seg{flex-basis:0}.streak-block.is-win,.wdl-seg.is-win{background:var(--value)}.streak-block.is-draw,.wdl-seg.is-draw{background:var(--draw)}.streak-block.is-loss,.wdl-seg.is-loss{background:var(--danger)}.wdl-legend{display:flex;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--text-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wdl-legend .is-win{color:var(--value)}.wdl-legend .is-draw{color:var(--text-secondary)}.wdl-legend .is-loss{color:var(--danger)}.streak-blocks{display:flex;gap:var(--space-1)}.streak-block{flex:1 1;height:22px;border-radius:var(--radius-xs)}.streak-block.is-draw,.streak-block.is-loss{opacity:.8}.metric-card.is-open .streak-blocks{display:grid;grid-template-columns:repeat(10,minmax(0,1fr))}.home-stats-error,.home-stats-guest{display:flex;align-items:center;justify-content:center;gap:var(--space-3);flex-wrap:wrap;color:var(--text-secondary);font-size:var(--text-md)}.metric-card.is-skeleton{min-height:118px;justify-content:space-between}.skeleton-line{height:12px;border-radius:var(--radius-pill);background:var(--surface-hover);animation:skeletonPulse 1.4s ease-in-out infinite}.skeleton-line.is-short{width:45%}.skeleton-line.is-tall{height:28px;width:60%}@keyframes skeletonPulse{0%,to{opacity:.5}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.skeleton-line{animation:none}}.sparkline{display:block;width:100%;height:44px}.sparkline.is-accent{color:var(--accent)}.sparkline.is-muted{color:var(--text-secondary)}.sparkline-fill{fill:currentColor;opacity:.12}.sparkline-line{fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke}@media (max-width:800px){.home-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.metric-card{padding:10px 6px;gap:6px}.metric-card.is-open{grid-column:1/-1;grid-row:1;padding:var(--space-3)}.daily-bars,.metric-card.is-open .sparkline{height:72px}.metric-card:not(.is-open) .metric-head{display:contents}.metric-card:not(.is-open) .metric-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.metric-card:not(.is-open) .metric-label-short{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.metric-card:not(.is-open) .metric-value{order:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-lg)}.metric-card-elo:not(.is-open) .metric-aside,.metric-card:not(.is-open) .streak-blocks,.metric-card:not(.is-open) .wdl-bar{order:2}.metric-card-streak:not(.is-open) .metric-aside,.metric-card:not(.is-open) .metric-caption,.metric-card:not(.is-open) .metric-unit,.metric-card:not(.is-open) .online-dot,.metric-card:not(.is-open) .sparkline,.metric-card:not(.is-open) .wdl-legend{display:none}.metric-card:not(.is-open) .wdl-bar{height:6px}.metric-card:not(.is-open) .streak-blocks{gap:2px}.metric-card:not(.is-open) .streak-block{height:8px}.metric-card:not(.is-open) .streak-block:nth-last-child(n+6){display:none}.metric-card.is-skeleton{min-height:84px}.metric-card.is-skeleton.is-open{min-height:160px}}@media (max-width:400px){.metric-card:not(.is-open) .metric-value{font-size:var(--text-base)}}.home-stats-stand{width:100%;display:flex;flex-direction:column;gap:var(--space-8);padding:var(--space-6)}.home-stats-stand-caption{margin-bottom:var(--space-2);font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.wave2e-icons-stand{width:100%;max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-4)}.wave2e-icons-section{display:flex;flex-direction:column;gap:var(--space-3)}.wave2e-icons-caption{font-size:var(--text-xs);font-weight:400;color:var(--text-muted)}.wave2e-icons-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.wave2e-icons-label{min-width:0;display:flex;flex-direction:column}.wave2e-icons-name{font-size:var(--text-sm);color:var(--text-primary)}.wave2e-icons-note{font-size:var(--text-xs);color:var(--text-muted)}.wave2e-icons-cells{flex:none;display:flex;align-items:center;gap:var(--space-2)}.wave2e-icons-cell{display:inline-flex}.panel-title{font-family:var(--font-main);font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-2);color:var(--text-primary)}.board-area{gap:var(--space-3)}.board-area,.board-frame{display:flex;flex-direction:column;align-items:center}.match-turn{color:var(--text-secondary);font-size:var(--text-sm);margin:var(--space-2) 0 0}.match-turn.mine{color:var(--accent-light);font-weight:600}.match-screen>.board-strip{margin-bottom:var(--space-3)}.chess-board{width:var(--board-size);height:var(--board-size);display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);border-radius:var(--radius-md);overflow:hidden;box-shadow:0 0 0 3px rgba(255,255,255,.05),0 8px 40px rgba(0,0,0,.5),0 0 80px rgba(124,111,247,.08);position:relative;touch-action:none}.chess-board.board-rows{height:auto;grid-template-rows:none}.chess-board.board-rows .cell{aspect-ratio:1}.cell{width:100%;height:100%;min-width:0;min-height:0;box-sizing:border-box;display:flex;align-items:center;justify-content:center;font-size:calc(var(--cell-size) * .7);line-height:0;cursor:default;position:relative;transition:background-color var(--transition-fast);-webkit-user-select:none;user-select:none}.cell.light{background-color:var(--board-light)}.cell.dark{background-color:var(--board-dark)}.cell.has-piece{cursor:pointer}.cell .piece{position:relative;z-index:2;transition:transform var(--transition-fast);filter:drop-shadow(1px 2px 3px rgba(0,0,0,.3));line-height:0;display:inline-flex;align-items:center;justify-content:center}.cell .piece svg{width:calc(var(--cell-size) * .82);height:calc(var(--cell-size) * .82);display:block;pointer-events:none}.piece-hats{position:absolute;top:-15%;left:0;width:100%;height:100%;pointer-events:none;z-index:3;display:flex;flex-direction:column-reverse;align-items:center;justify-content:flex-start}.cell:hover .piece{transform:scale(1.1)}.cell.sight-mark{box-shadow:inset 0 0 0 1px var(--sight-mark),inset 0 0 0 2px var(--sight-mark-edge)}.cell.selected{background-color:var(--board-highlight)!important;box-shadow:inset 0 0 0 2px var(--accent)}.cell.selected .piece{transform-origin:50% 85%;transform:translateY(-6%) scale(1.18);filter:drop-shadow(0 8px 5px rgba(0,0,0,.42));animation:piece-pop .34s cubic-bezier(.34,1.56,.64,1) both,piece-hover 2.6s ease-in-out .34s infinite}.cell.selected:before{content:"";position:absolute;left:18%;right:18%;bottom:10%;height:14%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(0,0,0,.45) 0,transparent 70%);pointer-events:none;z-index:1;animation:piece-ground 2.6s ease-in-out .34s infinite}@keyframes piece-ground{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(.8);opacity:.6}}@keyframes piece-pop{0%{transform:translateY(0) scale(1) rotate(0deg)}45%{transform:translateY(-9%) scale(1.38) rotate(-7deg)}to{transform:translateY(-6%) scale(1.18) rotate(0deg)}}@keyframes piece-hover{0%,to{transform:translateY(-6%) scale(1.18) rotate(-2.5deg)}50%{transform:translateY(-10%) scale(1.22) rotate(2.5deg)}}@media (prefers-reduced-motion:reduce){.cell.selected .piece{animation:none;transform:scale(1.15)}.cell.selected:before{animation:none}}.cell.move-target:after{content:"";position:absolute;width:28%;height:28%;background:var(--board-move-dot);border-radius:50%;z-index:1}.cell.capture-target:after{content:"";position:absolute;inset:4px;border:3px solid var(--board-capture);border-radius:50%;z-index:1}.cell.swap-target{box-shadow:inset 0 0 0 2px var(--board-highlight),inset 0 0 12px var(--swap-glow)}.cell.swap-target:after{content:"\21C4\FE0E";position:absolute;right:1px;top:1px;padding:0 3px;border-radius:var(--radius-sm);background:var(--piece-mark-bg);color:var(--text-primary);font-size:clamp(10px,calc(var(--cell-size) * .26),15px);line-height:1.3;font-weight:700;pointer-events:none;z-index:4}.cell.anywhere-target{background-color:rgba(240,192,72,.18)!important;animation:anywherePulse .8s ease-in-out infinite alternate;cursor:crosshair}.cell.anywhere-target:after{content:"✦";position:absolute;font-size:.65em;color:rgba(240,192,72,.7);z-index:2;animation:anywhereRotate 2s linear infinite}.cell.anywhere-target.anywhere-capture{background-color:rgba(240,100,72,.22)!important}@keyframes anywherePulse{0%{box-shadow:inset 0 0 6px rgba(240,192,72,.3)}to{box-shadow:inset 0 0 14px rgba(240,192,72,.6)}}@keyframes anywhereRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.cell.last-move{background-color:var(--board-last-move)!important}.cell.in-check{background:radial-gradient(circle,var(--board-check),transparent 70%)!important;animation:checkPulse 1s ease-in-out infinite alternate}@keyframes checkPulse{0%{box-shadow:inset 0 0 10px var(--board-check)}to{box-shadow:inset 0 0 20px var(--board-check)}}.cell.drop-valid{background-color:var(--board-drop-valid)!important}.cell .piece.moving{animation:pieceMove .3s cubic-bezier(.4,0,.2,1)}@keyframes pieceMove{0%{transform:scale(1.2);opacity:.7}to{transform:scale(1);opacity:1}}.cell .piece.piece-frozen{filter:drop-shadow(0 0 3px var(--ice-glow-strong)) saturate(.5) brightness(1.08)}.cell .piece.piece-shadow svg{opacity:.6}.cell .piece.piece-shadow:before{content:"";position:absolute;left:-4%;right:-4%;bottom:-9%;height:42%;border-radius:50%;background:radial-gradient(ellipse at center,var(--shadow-haze),var(--shadow-haze-clear) 70%);z-index:-1;pointer-events:none}.cell .piece.piece-guarded svg{filter:saturate(.4) drop-shadow(0 0 1.5px var(--stone-edge)) drop-shadow(0 0 3px var(--stone-edge))}.cell .piece.piece-guarded:after{content:"";position:absolute;left:4%;right:4%;bottom:-4%;height:34%;border-radius:50%;background:radial-gradient(ellipse at center,var(--stone-glow),var(--stone-glow-clear) 72%);z-index:-1;pointer-events:none}.cell .piece.piece-transformed{--transform-rim:color-mix(in srgb,var(--transform-color) 40%,var(--bg-primary))}.cell .piece.piece-transformed svg{filter:drop-shadow(0 0 1px var(--transform-rim)) drop-shadow(0 0 2px var(--transform-color)) drop-shadow(0 0 4px var(--transform-color))}.cell .piece.piece-transformed.piece-guarded svg{filter:saturate(.4) drop-shadow(0 0 1px var(--transform-rim)) drop-shadow(0 0 2px var(--transform-color)) drop-shadow(0 0 4px var(--transform-color))}.piece-ice{inset:2px;border-radius:var(--radius-xs);box-shadow:inset 0 0 0 2px var(--ice-frame),inset 0 0 9px var(--ice-glow)}.piece-ice,.piece-shield-pips{position:absolute;pointer-events:none;z-index:3}.piece-shield-pips{left:50%;bottom:1px;transform:translateX(-50%);display:flex;align-items:center;gap:2px}.piece-shield-pips i{display:block;width:max(5px,calc(var(--cell-size) * .1));height:max(5px,calc(var(--cell-size) * .1));border-radius:50%;background:var(--piece-shield-pip);box-shadow:0 0 0 1px var(--bg-primary)}.piece-shield-count,.piece-status{font-size:clamp(8.5px,calc(var(--cell-size) * .18),12px);line-height:1.4;font-weight:700;color:var(--text-primary)}.piece-shield-count{text-shadow:0 0 2px var(--bg-primary),0 0 2px var(--bg-primary)}.piece-status{left:1px;padding:0 3px;border-radius:var(--radius-sm);background:var(--piece-mark-bg);white-space:nowrap}.piece-ability,.piece-status{position:absolute;top:1px;pointer-events:none;z-index:4}.piece-ability{right:1px;display:flex;flex-direction:column;align-items:center;gap:1px}.piece-ability .ability-spark{background:var(--ability-color,var(--ability-accent));box-shadow:0 0 0 1px var(--piece-mark-bg),0 0 6px var(--ability-color,var(--ability-accent))}.piece-ability .ability-spark,.piece-ability .ability-spark-empty{display:block;width:clamp(7px,calc(var(--cell-size) * .2),11px);height:clamp(7px,calc(var(--cell-size) * .2),11px);margin:2px 2px 0 0;border-radius:50%}.piece-ability .ability-spark-empty{box-shadow:inset 0 0 0 1.5px var(--ability-color,var(--ability-accent)),0 0 0 1px var(--piece-mark-bg)}.piece-ability .ability-timer{padding:0 3px;font-size:clamp(8.5px,calc(var(--cell-size) * .18),12px);line-height:1.4}.piece-ability .ability-charges,.piece-ability .ability-timer{border-radius:var(--radius-sm);background:var(--piece-mark-bg);font-weight:700;color:var(--text-primary)}.piece-ability .ability-charges{padding:1px 2px;font-size:clamp(7.5px,calc(var(--cell-size) * .15),10px);line-height:1}.cell .piece.piece-fatigued>span:first-child{filter:brightness(.7)}.cell .piece.piece-immobile svg{filter:grayscale(.85) brightness(.95) drop-shadow(0 0 1.5px var(--stone-edge))}.cell .piece.piece-wall:before{content:"";position:absolute;left:8%;right:8%;top:22%;bottom:0;border-radius:var(--radius-xs);background:var(--stone-face);box-shadow:inset 0 0 0 1px var(--stone-edge),0 1px 3px var(--glass-shadow);z-index:-1;pointer-events:none}.cell .piece.piece-wall[data-cracks="1"]:before{background:linear-gradient(118deg,transparent 44%,var(--stone-crack) 45% 52%,transparent 53%) 18% 8% /42% 56% no-repeat,var(--stone-face)}.cell .piece.piece-wall[data-cracks="2"]:before{background:linear-gradient(118deg,transparent 44%,var(--stone-crack) 45% 52%,transparent 53%) 18% 8% /42% 56% no-repeat,linear-gradient(64deg,transparent 44%,var(--stone-crack) 45% 52%,transparent 53%) 84% 92% /46% 58% no-repeat,var(--stone-face)}.cell .piece.piece-eye:after{content:"";position:absolute;inset:-16%;border-radius:50%;background:radial-gradient(circle,var(--eye-glow),var(--eye-glow-clear) 70%);z-index:-1;pointer-events:none}.cell.ability-target{cursor:pointer}.cell.ability-target:after{content:"";position:absolute;inset:4px;border:3px dashed var(--ability-color,var(--ability-accent));border-radius:50%;background:color-mix(in srgb,var(--ability-color,var(--ability-accent)) 22%,transparent);pointer-events:none;z-index:1;animation:ability-target-pulse 1.2s ease-in-out infinite}@keyframes ability-target-pulse{50%{transform:scale(.9)}}@media (prefers-reduced-motion:reduce){.cell.ability-target:after{animation:none}}.cell.ability-inhale .piece{animation:ability-inhale .3s ease-in-out both}@keyframes ability-inhale{0%,to{transform:translateY(-6%) scale(1.18)}50%{transform:translateY(-6%) scale(1.12)}}@media (prefers-reduced-motion:reduce){.cell.ability-inhale .piece{animation:none}}.aura-source{inset:8%;border-radius:50%;box-shadow:0 0 0 2px var(--aura-color),0 0 8px var(--aura-color);z-index:1}.aura-bracket,.aura-source{position:absolute;pointer-events:none;transition:opacity var(--transition-fast)}.aura-bracket{--aura-offset:calc(1px + var(--aura-nest, 0) * 3px);width:max(9px,24%);height:max(9px,24%);border:0 solid var(--aura-color);z-index:4}.aura-bracket-tl{top:var(--aura-offset);left:var(--aura-offset);border-top-width:2px;border-left-width:2px}.aura-bracket-tr{top:var(--aura-offset);right:var(--aura-offset);border-top-width:2px;border-right-width:2px}.aura-bracket-bl{bottom:var(--aura-offset);left:var(--aura-offset);border-bottom-width:2px;border-left-width:2px}.aura-bracket-br{bottom:var(--aura-offset);right:var(--aura-offset);border-bottom-width:2px;border-right-width:2px}.aura-bar{position:absolute;top:2.5%;left:50%;transform:translateX(-50%);height:max(3px,7.5%);display:flex;overflow:hidden;border-radius:var(--radius-pill);box-shadow:0 0 0 1px var(--aura-bar-outline);pointer-events:none;z-index:4}.aura-bar-seg{display:block;flex:1 1;min-width:0;background:var(--aura-color)}.aura-bar-gap{flex:none;width:max(1px,calc(var(--cell-size) * .025));background:var(--bg-primary)}.aura-bar-more{flex:none;width:calc(var(--cell-size) * .12);background:repeating-linear-gradient(90deg,var(--text-primary) 0 1.5px,var(--bg-tertiary) 1.5px 3px)}.chess-board.aura-focus .aura-bracket,.chess-board.aura-focus .aura-source{opacity:.25}.chess-board.aura-focus .aura-bracket[data-aura-focus],.chess-board.aura-focus .aura-source[data-aura-focus]{opacity:1;filter:drop-shadow(0 0 3px var(--aura-color))}.match-board{position:relative;align-self:center}.ability-btn{position:absolute;z-index:25;width:clamp(36px,calc(var(--cell-size) * .72),48px);height:clamp(36px,calc(var(--cell-size) * .72),48px);transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center;padding:0;border:2px solid rgba(255,255,255,.95);background:var(--ability-color,var(--ability-accent));box-shadow:0 2px 8px rgba(0,0,0,.45),0 0 10px var(--ability-color,var(--ability-accent));cursor:pointer;transition:transform var(--transition-fast)}.ability-btn:hover{transform:translate(-50%,-50%) scale(1.06)}.ability-btn svg{width:62%;height:62%;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.ability-btn[aria-disabled=true]{filter:grayscale(1) brightness(.75);box-shadow:0 2px 8px rgba(0,0,0,.45);cursor:not-allowed}.ability-btn[aria-disabled=true]:hover{transform:translate(-50%,-50%)}.bound-threads{position:absolute;inset:0;width:100%;height:100%;z-index:15;overflow:visible;pointer-events:none}.bound-thread{stroke:var(--ability-accent);stroke-width:2.5;stroke-dasharray:6 5;stroke-linecap:round;filter:drop-shadow(0 0 2px rgba(0,0,0,.6))}.ability-spark-flight{position:absolute;z-index:22;width:clamp(8px,calc(var(--cell-size) * .22),14px);height:clamp(8px,calc(var(--cell-size) * .22),14px);border-radius:50%;background:var(--ability-color,var(--ability-accent));box-shadow:0 0 10px 3px var(--ability-color,var(--ability-accent));transform:translate(-50%,-50%);pointer-events:none;animation:ability-spark-flight .35s ease-out forwards}@keyframes ability-spark-flight{0%{transform:translate(-50%,-50%) scale(.6);opacity:1}85%{opacity:1}to{transform:translate(calc(-50% + var(--spark-dx, 0px)),calc(-50% + var(--spark-dy, 0px))) scale(1.2);opacity:0}}@media (prefers-reduced-motion:reduce){.ability-spark-flight{display:none}}@media (hover:none){.match-board .cell{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}}.ability-effect{position:absolute;inset:0;pointer-events:none;z-index:3}.summon-smoke-in{animation:ability-effect-hold .9s linear forwards}.summon-smoke{--smoke-size:calc(var(--cell-size) * 0.23);--smoke-dx:calc(var(--cell-size) * (var(--smoke-i, 0) * 0.16 - 0.23));position:absolute;left:50%;top:50%;width:var(--smoke-size);height:var(--smoke-size);margin:calc(var(--smoke-size) / -2) 0 0 calc(var(--smoke-size) / -2);border-radius:50%;background:radial-gradient(circle,var(--loss-smoke),var(--loss-smoke-clear) 70%);animation:smoke-in .8s ease-in calc(var(--smoke-i, 0) * .05s) both}@keyframes smoke-in{0%{opacity:0;transform:translate(var(--smoke-dx),calc(var(--cell-size) * -.6)) scale(2.6)}30%{opacity:.9}to{opacity:0;transform:translate(0) scale(.6)}}@keyframes ability-effect-hold{0%{opacity:1}to{opacity:1}}.cell.summon-in-shadow .piece{animation:summon-in .8s ease-out backwards}@keyframes summon-in{0%{opacity:0;filter:blur(5px) brightness(.15);transform:translateY(-7px) scale(1.08)}65%{opacity:.9;filter:blur(.5px) brightness(.55) saturate(.4)}to{opacity:1;filter:drop-shadow(1px 2px 3px rgba(0,0,0,.3)) blur(0) brightness(1);transform:translateY(0) scale(1)}}.ability-ring{inset:8%;border-radius:50%;border:3px solid var(--effect-color,var(--ability-accent));box-shadow:0 0 12px var(--effect-color,var(--ability-accent)),inset 0 0 8px var(--effect-color,var(--ability-accent));animation:ability-flash .5s ease-out forwards}@keyframes ability-flash{0%{opacity:.95;transform:scale(.35)}to{opacity:0;transform:scale(1.15)}}.cell.summon-in .piece{animation:ability-pop .5s ease-out backwards}@keyframes ability-pop{0%{opacity:0;transform:scale(.5)}70%{opacity:1;transform:scale(1.1)}to{transform:scale(1)}}.ability-column{left:16%;right:16%;z-index:1;border-radius:var(--radius-sm);background:linear-gradient(to top,color-mix(in srgb,var(--effect-color,var(--ability-accent)) 80%,transparent),transparent);transform-origin:50% 100%;animation:ability-promote .6s ease-out forwards}@keyframes ability-promote{0%{opacity:1;transform:scaleY(0)}55%{opacity:.9;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}.cell.ability-promote .piece{animation:promote-grow .6s ease-out}@keyframes promote-grow{0%{transform:scale(.82)}60%{transform:scale(1.22);filter:drop-shadow(0 0 6px var(--eye-glow)) brightness(1.25)}to{transform:scale(1)}}.ability-crumbs{background:radial-gradient(circle,color-mix(in srgb,var(--effect-color,var(--ability-accent)) 55%,transparent),transparent 70%);animation:ability-demote .6s ease-in forwards}@keyframes ability-demote{0%{opacity:.9;transform:scale(1.1)}to{opacity:0;transform:scale(.6)}}.ability-crumb{position:absolute;left:50%;top:46%;width:calc(var(--cell-size) * .07);height:calc(var(--cell-size) * .07);background:var(--effect-color,var(--ability-accent));animation:crumb-fall .55s ease-in calc(var(--crumb-i, 0) * .05s) both}@keyframes crumb-fall{0%{opacity:1;transform:translate(0) rotate(0deg)}to{opacity:0;transform:translate(calc(var(--cell-size) * (var(--crumb-i, 0) * .18 - .18)),calc(var(--cell-size) * .42)) rotate(160deg)}}.cell.ability-demote .piece{animation:demote-shrink .6s ease-in-out}@keyframes demote-shrink{0%{transform:scale(1)}45%{transform:scale(.78);filter:brightness(.55) saturate(.4)}to{transform:scale(1)}}.deal-flash-glow{z-index:1;background:radial-gradient(circle,var(--deal-flash) 35%,transparent 78%);box-shadow:inset 0 0 0 3px var(--deal-flash),inset 0 0 calc(var(--cell-size) * .25) var(--deal-flash);animation:deal-flash .6s ease-out forwards}@keyframes deal-flash{0%{opacity:0}30%{opacity:1}to{opacity:0}}.ability-effect-frame,.deal-flash-glow.ability-effect-frame{z-index:3;background:none;box-shadow:inset 0 0 0 3px var(--effect-color,var(--ability-accent));animation:ability-frame .5s steps(1) forwards}.deal-flash-glow.ability-effect-frame{box-shadow:inset 0 0 0 3px var(--deal-flash)}@keyframes ability-frame{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.cell.ability-demote .piece,.cell.ability-promote .piece,.cell.summon-in .piece,.cell.summon-in-shadow .piece{animation:none}.ability-crumb,.summon-smoke{display:none}}.ability-hint{color:var(--text-secondary);font-size:var(--text-md);margin:var(--space-2) 0 0}.piece-card{background:var(--bg-primary);border:1px solid var(--piece-card-border);border-radius:var(--radius-md);padding:var(--space-2) 10px;font-size:var(--text-xs);line-height:1.45;color:var(--text-primary);text-align:left}.piece-card-pop{position:absolute;z-index:20;width:min(190px,50%);box-shadow:0 8px 24px var(--piece-card-shadow);pointer-events:none}.piece-card-strip{width:100%;max-width:var(--board-size);margin-top:var(--space-2)}.piece-card-title{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);margin-bottom:3px}.piece-card-owner{color:var(--text-muted)}.piece-card-auras ul,.piece-card-items{list-style:none}.piece-card-aura,.piece-card-item{display:flex;align-items:center;gap:6px;color:var(--piece-card-item)}.piece-card-aura i,.piece-card-item i{flex:none;width:8px;height:8px;border-radius:50%}.piece-card-item i{background:var(--item-color)}.piece-card-aura i{background:var(--aura-color)}.piece-card-count{color:var(--text-muted)}.piece-card-line{margin-top:3px;color:var(--text-secondary)}.piece-card-icon{margin-right:3px}.piece-card-transform{color:var(--text-primary)}.piece-card-head{margin-top:6px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.piece-card-auras-enemy .piece-card-head{color:var(--danger)}.piece-card-abilities ul{list-style:none}.piece-card-ability{margin-top:3px;color:var(--piece-card-item)}.piece-card-ability-name{display:flex;align-items:center;gap:6px}.piece-card-ability-icon{flex:none;display:inline-flex;width:16px;height:16px;padding:2px;border-radius:50%;background:var(--ability-color,var(--ability-accent))}.piece-card-ability-icon svg{width:100%;height:100%;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.piece-card-ability-tier{display:inline-block;margin-left:var(--space-1);padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--ability-color,var(--ability-accent));color:var(--ability-ink,var(--bg-primary));font-weight:700}.piece-card-ability-costs,.piece-card-ability-state{padding-left:22px;color:var(--text-secondary)}.piece-card-ability-state[data-ready=true]{color:var(--success)}.piece-card-ability-state[data-ready=false]{color:var(--text-muted)}.piece-card-deal{color:var(--danger)}.setup-mode .cell.setup-zone{cursor:pointer}.setup-mode .cell.setup-zone:hover:not(.has-piece){background-color:var(--board-drop-valid)!important}.game-layout{display:flex;gap:var(--space-6);align-items:flex-start;justify-content:center;max-width:1100px;width:100%}.info-panel{width:220px;padding:20px;display:flex;flex-direction:column;gap:var(--space-4);flex-shrink:0}.player-card{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--radius-md);transition:all var(--transition-normal)}.player-card.active-turn{background:var(--surface-hover);border:1px solid var(--accent);box-shadow:0 0 16px var(--accent-glow)}.player-avatar{font-size:2rem;line-height:1}.player-info{display:flex;flex-direction:column;gap:2px}.player-name{font-weight:600;font-size:var(--text-md)}.captured-pieces{font-size:var(--text-md);letter-spacing:1px;min-height:1.2em}.game-status{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--glass-border);font-weight:600;font-size:var(--text-md)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.game-status.thinking .status-dot{background:var(--value)}.game-status.check .status-dot{background:var(--danger)}.game-status.gameover .status-dot{background:var(--success);animation:none}.scoring-panel{width:220px;padding:var(--space-4);display:flex;flex-direction:column;gap:10px;flex-shrink:0}.score-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:var(--text-md)}.score-row span:last-child{font-family:Courier New,monospace;color:var(--text-muted)}.history-panel{width:200px;padding:20px;flex-shrink:0;max-height:calc(var(--board-size) + 80px);display:flex;flex-direction:column;overflow:hidden}.move-history{flex:1 1;overflow-y:auto;font-size:var(--text-sm);font-family:Courier New,monospace;scrollbar-width:thin;scrollbar-color:var(--text-muted) transparent}.move-history::-webkit-scrollbar{width:4px}.move-history::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:var(--radius-xs)}.move-row{display:flex;gap:var(--space-2);padding:var(--space-1) 6px;border-radius:var(--radius-xs);transition:background var(--transition-fast)}.move-row:hover{background:var(--surface-hover)}.move-number{color:var(--text-muted);min-width:28px}.move-black,.move-white{min-width:55px;color:var(--text-primary)}.move-row.latest{background:var(--surface)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:none;align-items:flex-start;justify-content:center;overflow-y:auto;padding:40px 0;z-index:1000;animation:fadeIn .3s ease}.modal-overlay.active{display:flex}#tc-widget-root{position:relative;z-index:1100}.modal{padding:40px;text-align:center;max-width:400px;width:90%;animation:modalAppear .4s cubic-bezier(.4,0,.2,1)}@keyframes modalAppear{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-title{font-family:var(--font-main);font-size:var(--text-2xl);font-weight:700;margin-bottom:var(--space-2)}.modal-text{color:var(--text-secondary);margin-bottom:var(--space-6);font-size:var(--text-base)}.modal-buttons{display:flex;gap:var(--space-3);justify-content:center}.promotion-modal{padding:var(--space-6)}.promotion-choices{display:flex;gap:var(--space-3);justify-content:center;margin-top:var(--space-4)}.promotion-choice{width:64px;height:64px;font-size:2.5rem;display:flex;align-items:center;justify-content:center;background:var(--surface);border:2px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal)}.promotion-choice:hover{border-color:var(--accent);background:var(--surface-hover);transform:scale(1.1);box-shadow:0 4px 20px var(--accent-glow)}.drag-ghost svg,.promotion-choice svg{width:100%;height:100%;display:block}.dragging{opacity:.5!important}.drag-ghost{position:fixed;top:0;left:0;pointer-events:none;z-index:10000;font-size:3rem;filter:drop-shadow(0 4px 12px rgba(0,0,0,.5));will-change:transform}.cell .piece[data-draggable],.setup-mode .cell .piece{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.thinking-overlay{position:absolute;inset:0;background:rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center;z-index:10;pointer-events:none;animation:fadeIn .3s ease}.thinking-spinner{width:40px;height:40px;border:3px solid var(--glass-border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:900px){:root{--board-size:min(400px,80vmin)}.game-layout{flex-direction:column;align-items:center}.battle-side,.history-panel,.info-panel{width:100%;max-width:400px}.history-panel{max-height:200px}}@media (max-width:500px){:root{--board-size:min(340px,90vmin)}.btn-large{padding:var(--space-3) 28px;font-size:var(--text-base)}.menu-container{padding-top:56px}.menu-mark{margin-top:0}.menu-title{font-size:2.5rem}}@media (min-width:1025px){:root{--board-size:min(540px,60vh)}body{display:flex;flex-direction:column;align-items:center}.screen{width:100%;max-width:1200px;margin:0 auto}.game-layout{max-width:1140px;gap:var(--space-8)}.info-panel{width:240px}.menu-title{font-size:clamp(3.5rem,5vw,5.5rem)}.menu-buttons .btn{width:320px}}@media (min-width:1440px){:root{--board-size:min(600px,58vh)}.game-layout{max-width:1280px}}@media (min-width:901px) and (max-width:1319px){:root{--board-size:min(540px,60vh,calc(100vw - 512px))}.game-layout{display:grid;grid-template-columns:auto auto auto;grid-template-rows:auto 1fr;grid-template-areas:"info board history" "side board history";column-gap:var(--space-6);row-gap:var(--space-4);justify-content:center;align-items:start}.game-layout>.info-panel{grid-area:info}.game-layout>.battle-side{grid-area:side;width:auto}.game-layout>.board-area{grid-area:board}.game-layout>.history-panel{grid-area:history}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:var(--radius-xs)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@media (max-width:900px){:root{--board-size:min(460px,88vmin)}.game-layout{gap:var(--space-3)}.info-panel{width:180px;padding:14px}.history-panel{width:160px;padding:14px}}@media (max-width:680px){:root{--board-size:min(96vw,96vmin)}.game-layout{flex-direction:column;align-items:center;gap:var(--space-2);max-width:100%}.board-area{order:1;width:100%}.info-panel{order:2;width:100%;max-width:96vw;flex-direction:row;flex-wrap:wrap;padding:10px var(--space-3);gap:var(--space-2)}.player-card{flex:1 1;min-width:140px}.game-status{width:100%;order:-1}.history-panel{order:3;width:100%;max-width:96vw;max-height:120px;padding:var(--space-2) var(--space-3)}.move-history{max-height:80px}.menu-title{font-size:clamp(2rem,10vw,3.5rem);gap:var(--space-2)}.menu-buttons{gap:10px}.btn-large{font-size:var(--text-base);padding:14px var(--space-6);width:90vw;max-width:320px}.modal{max-width:96vw;padding:28px var(--space-4)}}@media (max-width:380px){:root{--board-size:98vw}}.setup-mode .cell.fog-zone{position:relative}.setup-mode .cell.fog-zone:after{content:"";position:absolute;inset:0;background:var(--fog-veil);pointer-events:none;z-index:2;transition:opacity var(--transition-normal)}.setup-mode .cell.fog-zone.drop-valid:after{opacity:0}.player-status-placeholder{width:96px;height:36px}.player-status-user{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-1);background:var(--surface);border:1px solid var(--glass-border);border-radius:var(--radius-pill);color:var(--text-primary);font-size:var(--text-md);font-weight:600;text-decoration:none;transition:border-color var(--transition-fast)}.player-status-user:hover{border-color:var(--accent)}.player-status-avatar{border-radius:50%;object-fit:cover}.player-status-name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:var(--space-2)}.player-status-avatar+.player-status-name{padding-left:0}.raid-piece-tray-item{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;margin-bottom:var(--space-2);font-family:var(--font-main);font-size:var(--text-base);font-weight:600;background:var(--surface);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;transition:all var(--transition-normal)}.raid-piece-tray-item:hover{background:var(--surface-hover);border-color:var(--accent)}.raid-piece-tray-item.tap-selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.raid-piece-tray-item.used{opacity:.35;pointer-events:none}.raid-piece-tray-item .item-count{font-size:var(--text-sm);color:var(--text-muted);font-weight:600}.move-history{font-family:var(--font-mono)}.auth-container{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - var(--topbar-h));padding:var(--space-6)}.auth-panel{width:100%;max-width:420px;padding:var(--space-8)}.profile-container .auth-panel{max-width:none}.wild-setup-panel{max-width:520px;display:flex;flex-direction:column;gap:var(--space-3)}.wild-setup-board{--board-size:min(440px,calc(100vw - 112px),60vh);--cell-size:calc(var(--board-size) / 8);align-self:center}@media (max-width:480px){.wild-setup-panel{padding:var(--space-4)}.wild-setup-board{--board-size:min(440px,calc(100vw - 80px),60vh)}}.auth-title{font-family:var(--font-main);font-size:var(--text-2xl);font-weight:700;text-align:center;margin-bottom:var(--space-6)}.auth-mark{margin:0 auto var(--space-3)}.result-reward{margin:var(--space-4) 0;text-align:center}.result-reward-title{font-weight:700;margin:0 0 var(--space-2)}.result-reward-list{list-style:none;margin:0 0 var(--space-2);padding:0;display:grid;gap:var(--space-1)}.result-reward-note{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.opponent-line{overflow-wrap:anywhere}.auth-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-6)}.auth-tabs .btn{flex:1 1;padding-inline:var(--space-2)}.form-field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.form-field label{font-size:var(--text-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.form-input{font-family:var(--font-main);font-size:var(--text-base);padding:10px 14px;background:var(--surface);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-primary);transition:border-color var(--transition-fast)}.form-input:focus{border-color:var(--accent)}.form-input:focus:not(:focus-visible){outline:none}.form-error{color:var(--danger)}.form-error,.form-success{font-size:var(--text-md);margin-bottom:var(--space-4)}.form-success{color:var(--success)}.auth-submit{width:100%;margin-top:var(--space-2);padding-inline:var(--space-3)}.auth-divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-6) 0;color:var(--text-muted);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--glass-border)}.auth-caption{margin-top:var(--space-2);color:var(--text-secondary);font-size:var(--text-sm)}.auth-caption,.raid-guest{text-align:center}.raid-guest .auth-title{margin-bottom:var(--space-2)}.raid-guest-lead{color:var(--text-secondary);font-size:var(--text-md);line-height:1.5;margin-bottom:var(--space-3)}.raid-guest-note{color:var(--text-muted);font-size:var(--text-sm);line-height:1.5;margin-bottom:var(--space-6)}.raid-guest-actions{display:flex;flex-direction:column;gap:var(--space-3)}.raid-guest-actions .btn{width:100%;text-decoration:none}.profile-container{width:100%;max-width:560px;margin:var(--space-12) auto;padding:0 var(--space-6) var(--space-12);display:flex;flex-direction:column;gap:var(--space-6)}.settings-subtitle{margin:var(--space-6) 0 var(--space-3);font-size:var(--text-lg);font-weight:700}.account-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.account-row{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--surface);border:1px solid var(--glass-border);border-radius:var(--radius-sm);font-size:var(--text-md)}.account-row .provider-name{font-weight:600}.account-row .provider-detail{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-secondary)}.form-input:disabled{opacity:.55;cursor:not-allowed}.loading-panel{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);animation:loadingAppear var(--transition-fast)}.loading-brand{animation:brandPulse 1.6s ease-in-out infinite}.loading-text{color:var(--text-secondary);font-size:var(--text-md)}@keyframes brandPulse{0%,to{opacity:.6;transform:scale(.94)}50%{opacity:1;transform:scale(1)}}@keyframes loadingAppear{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.loading-brand{animation:none}}.service-panel{text-align:center}.service-code{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted);letter-spacing:.1em;margin-bottom:var(--space-2)}.service-text{color:var(--text-secondary);font-size:var(--text-base);line-height:1.5;margin-bottom:var(--space-6)}.service-actions{display:flex;flex-direction:column;gap:var(--space-3)}.service-actions .btn{width:100%;text-decoration:none;text-align:center}.service-details{margin-top:var(--space-4);color:var(--text-muted);font-size:var(--text-xs);font-family:var(--font-mono)}.service-art{display:flex;flex-direction:column;align-items:center;margin-bottom:var(--space-4)}.service-art+.service-code{margin-top:calc(-1 * var(--space-1))}.nf-board{display:block;max-width:100%;height:auto;overflow:visible}.nf-light{fill:var(--board-light)}.nf-dark{fill:var(--board-dark)}.nf-frame{fill:none;stroke:var(--bg-tertiary);stroke-width:1}.nf-selected{fill:var(--board-highlight)}.nf-last{fill:var(--board-last-move)}.nf-dot{fill:var(--board-move-dot)}.nf-fog{fill:var(--fog-veil)}.nf-blocked{fill:var(--board-capture);opacity:.6}.nf-cross{stroke:var(--danger);stroke-width:2;stroke-linecap:round}.nf-unknown{fill:none;stroke:var(--accent-light);stroke-width:1.5;stroke-dasharray:3 3}.nf-unknown-mark{fill:var(--accent-light);font-family:var(--font-mono)}.nf-jump{fill:none;stroke:var(--danger);stroke-width:2;stroke-dasharray:4 3}.nf-offboard{fill:var(--danger-glow);stroke:var(--danger);stroke-width:1.5;stroke-dasharray:3 2}.nf-offboard-label{fill:var(--danger);font-family:var(--font-mono)}.nf-trail{fill:none;stroke:var(--accent-light);stroke-width:1.5;stroke-dasharray:3 3}.nf-ghost{fill:none;stroke:var(--accent-light);stroke-linejoin:round}.nf-missing{fill:var(--surface);stroke:var(--glass-border);stroke-width:1}.nf-brand-zero{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-3) 0}.nf-big-code,.nf-digit{font-family:var(--font-mono);font-weight:700;line-height:1}.nf-digit{font-size:4.5rem}.nf-digit-from{color:var(--accent-light)}.nf-digit-to{color:var(--value)}.nf-pawn-left{display:flex;align-items:flex-end;gap:var(--space-1);max-width:100%}.nf-pawn-left>svg{flex:0 1 auto;min-width:0;height:auto}.nf-big-code{font-size:3rem;letter-spacing:.06em;margin-top:var(--space-2);background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.nf-stash{display:grid;grid-template-columns:repeat(3,minmax(0,76px));gap:var(--space-2)}.nf-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);min-height:76px;padding:var(--space-2) var(--space-1);background:var(--surface);border:1px solid var(--glass-border);border-radius:var(--radius-sm)}.nf-tile-icon{font-size:var(--text-2xl);line-height:1}.nf-tile-name{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.2;text-align:center;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.nf-tile-empty{border:1.5px dashed var(--rarity-legendary);background:color-mix(in srgb,var(--rarity-legendary) 7%,transparent)}.nf-tile-code,.nf-tile-empty .nf-tile-name{color:var(--rarity-legendary)}.nf-tile-code{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:700}.nf-raid{width:100%;max-width:260px}.nf-raid-head{font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:var(--space-2)}.nf-raid-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-1) var(--space-4);text-align:left}.nf-raid-card>div{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;font-size:var(--text-sm);color:var(--text-secondary)}.nf-raid-card>div+div{border-top:1px solid var(--surface-hover)}.nf-raid-card dd{font-family:var(--font-mono);color:var(--text-primary)}.nf-raid-card .nf-raid-code{color:var(--danger)}.top-bar{position:sticky;top:0;z-index:20;align-self:stretch;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--topbar-h);padding:var(--topbar-safe-top) var(--space-4) 0;background:var(--bg-primary);border-bottom:1px solid var(--glass-border)}.top-bar a{text-decoration:none}.top-bar-end,.top-bar-start{display:flex;align-items:center;min-width:0}.brand-home,.top-bar .player-status{min-height:44px}.brand-home{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-primary)}.brand-home-name{font-size:var(--text-base);font-weight:800;letter-spacing:-.02em}.ton-login{margin-top:var(--space-2)}.ton-login-button,.ton-login-button tc-root,.ton-login-button>div{display:block;width:100%}.ton-login-button button[data-tc-connect-button]{width:100%;min-height:48px;font-size:var(--text-base);border-radius:var(--radius-lg)}.ton-debug{margin-top:var(--space-3);text-align:left}.ton-debug-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.ton-debug-title{flex:1 1;font-weight:700;font-size:var(--text-sm)}.ton-debug-log{max-height:40vh;overflow-y:auto;padding:var(--space-2);background:var(--surface);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}.item-tile,.item-tile-main{position:relative}.item-tile-main{background:var(--surface);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-primary);transition:all var(--transition-fast);width:100%;min-height:96px;height:100%;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-2);cursor:pointer}.item-tile-main:hover{background:var(--surface-hover);transform:translateY(-2px)}.item-tile.selected .item-tile-main{border-color:var(--value);box-shadow:0 0 0 1px var(--value),0 0 16px var(--value-glow)}.item-tile-icon{display:flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;font-size:var(--text-2xl);line-height:1}.item-tile-name{font-size:var(--text-sm);line-height:1.25;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.item-tile-info{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;border:1px solid var(--glass-border);background:var(--bg-secondary);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);cursor:pointer}.item-tile-info:hover{border-color:var(--accent);color:var(--text-primary)}.item-row{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-primary);text-align:left;cursor:pointer;transition:border-color var(--transition-fast)}.item-row:hover{border-color:var(--danger)}.item-row-icon{font-size:var(--text-lg);line-height:1}.item-row-name{flex:1 1;font-size:var(--text-md);font-weight:600}.item-row-place{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-secondary)}.item-full{text-align:center;max-width:380px}.item-full-icon{font-size:3rem;line-height:1;margin-bottom:var(--space-2)}.item-full .modal-text{white-space:pre-line}.item-full-combos{list-style:none;margin:0 0 var(--space-4);padding:0;color:var(--text-muted);font-size:var(--text-sm)}.item-full-combos li+li{margin-top:var(--space-2)}.item-full-category{color:var(--text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-3)}.item-full-pieces{color:var(--text-secondary);font-size:var(--text-md);margin-bottom:var(--space-4)}.item-full-extra{border-top:1px solid var(--glass-border);padding-top:var(--space-4);margin-bottom:var(--space-4)}.item-full-extra:empty{display:none}.nft-section{flex-direction:column}.nft-head,.nft-section{display:flex;align-items:center;gap:var(--space-2)}.nft-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.nft-chip,.nft-title{font-size:var(--text-xs)}.nft-chip{padding:1px var(--space-2);border:1px solid var(--accent);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-light)}.nft-note,.nft-status{color:var(--text-secondary);font-size:var(--text-md)}.nft-row{flex-direction:column;align-items:center}.nft-actions,.nft-row{display:flex;gap:var(--space-2)}.nft-actions{flex-wrap:wrap;justify-content:center}.nft-actions:empty{display:none}.nft-error{color:var(--danger);font-size:var(--text-sm)}.nft-link{color:var(--accent-light);font-family:var(--font-mono)}.nft-held{border-top:1px solid var(--glass-border);padding-top:var(--space-3)}.nft-held-title{color:var(--text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-2)}.stake-panel{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);flex-shrink:0}.stake-panel .stake-empty,.stake-panel .stake-lead{color:var(--text-secondary);font-size:var(--text-md);margin-bottom:var(--space-2)}.stake-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-md)}.stake-tag{margin-left:var(--space-1);padding:1px var(--space-2);border:1px solid var(--danger);border-radius:var(--radius-pill);color:var(--danger);font-size:var(--text-xs)}.item-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:var(--space-2);margin-bottom:var(--space-4)}.score-worth{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.4;margin-top:calc(var(--space-1) * -1)}.score-row .score-clock.low{color:var(--danger)}.score-row .score-clock.critical{color:var(--danger);font-weight:700;animation:clockPulse 1s ease-in-out infinite}@keyframes clockPulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.score-row .score-clock.critical{animation:none}}.battle-side{display:flex;flex-direction:column;gap:var(--space-4);width:220px;flex-shrink:0}.battle-side .scoring-panel,.battle-side .stake-panel{width:100%}.cell.fog-battle{position:relative}.cell.fog-battle:after{content:"";position:absolute;inset:0;background:var(--fog-veil);pointer-events:none;z-index:2;transition:opacity var(--transition-normal)}.cell.fog-dim{position:relative}.cell.fog-dim:not(.fog-battle):after{content:"";position:absolute;inset:0;background:var(--fog-dim);pointer-events:none;z-index:2}.cell.fog-dim.fog-fade:not(.fog-battle):after{animation:fog-dim-in .9s ease}@keyframes fog-dim-in{0%{opacity:0}}.dissolve-ghost{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:3;animation:dissolve 1.3s ease-in forwards}.dissolve-ghost svg{width:calc(var(--cell-size) * .82);height:calc(var(--cell-size) * .82);display:block}.dissolve-ghost-shadow svg{opacity:.6}@keyframes dissolve{0%{opacity:1;filter:drop-shadow(1px 2px 3px rgba(0,0,0,.3)) blur(0) brightness(1);transform:translateY(0) scale(1)}35%{opacity:.9;filter:blur(.5px) brightness(.55) saturate(.4)}to{opacity:0;filter:blur(5px) brightness(.15);transform:translateY(-7px) scale(1.08)}}.dissolve-smoke{--smoke-size:calc(var(--cell-size) * 0.23);--smoke-dx:calc(var(--cell-size) * (var(--smoke-i, 0) * 0.16 - 0.23));position:absolute;left:50%;top:50%;width:var(--smoke-size);height:var(--smoke-size);margin:calc(var(--smoke-size) / -2) 0 0 calc(var(--smoke-size) / -2);border-radius:50%;background:radial-gradient(circle,var(--loss-smoke),var(--loss-smoke-clear) 70%);pointer-events:none;z-index:4;animation:smoke 1.6s ease-out calc(var(--smoke-i, 0) * .12s) both}@keyframes smoke{0%{opacity:0;transform:translate(0) scale(.6)}25%{opacity:.9}to{opacity:0;transform:translate(var(--smoke-dx),calc(var(--cell-size) * -.6)) scale(2.6)}}.cell.loss-stain-out:not(.selected):before,.cell.loss-stain:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 55%,var(--loss-stain-core) 0,var(--loss-stain-rim) 45%,transparent 72%);pointer-events:none;z-index:3}.cell.loss-stain:before{animation:stain-in 1.2s ease both}.cell.loss-stain-out:not(.selected):before{animation:stain-out .5s ease forwards}@keyframes stain-in{0%{opacity:0}to{opacity:1}}@keyframes stain-out{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.dissolve-ghost,.dissolve-smoke{display:none}.cell.fog-dim.fog-fade:not(.fog-battle):after,.cell.loss-stain:before{animation:none}}.fog-caption{line-height:1.4}.fog-caption,.start-hint{color:var(--text-secondary);font-size:var(--text-sm)}.start-hint{text-align:center;margin:0}.raid-setup{display:grid;grid-template-columns:auto minmax(320px,1fr);grid-template-areas:"top   top" "board side";gap:var(--space-4) var(--space-6);align-items:start;width:100%;max-width:1100px;padding-inline:var(--space-3)}.raid-setup-topbar{grid-area:top;display:flex;align-items:center;gap:var(--space-4)}.raid-setup-title{font-weight:700;color:var(--text-secondary)}.raid-setup-board{grid-area:board}.raid-setup-board,.raid-setup-side{display:flex;flex-direction:column;gap:var(--space-3)}.raid-setup-side{grid-area:side;min-width:0}.raid-setup-actions{display:flex;flex-direction:column;gap:var(--space-2)}.raid-setup-actions .btn{width:100%}.setup-presets{padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);min-width:0;flex-shrink:0}.setup-presets .panel-title{margin-bottom:0}.setup-sheet .setup-presets{padding:0;background:none;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.setup-sheet .setup-presets>.panel-title{display:none}.setup-presets-body{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.setup-presets-rename,.setup-presets-save{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;min-width:0}.setup-presets-input{flex:1 1 8rem;min-width:0;min-height:44px;padding:0 var(--space-3);background:var(--surface);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;font-size:var(--text-md)}.setup-presets-input::placeholder{color:var(--text-muted)}.setup-presets .btn{min-height:44px}.setup-presets .btn:disabled{cursor:not-allowed}.setup-presets-error{margin:0;font-size:var(--text-sm)}.setup-presets-hint,.setup-presets-notice{margin:0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.4;overflow-wrap:anywhere}.setup-presets-notice{color:var(--accent-light)}.setup-draft-restored{padding:0 var(--space-1)}.setup-presets-list{list-style:none;margin:0;padding:0;max-height:20rem;overflow-y:auto}.setup-presets-list,.setup-presets-row{display:flex;flex-direction:column;gap:var(--space-2)}.setup-presets-row{padding:var(--space-2);border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--surface);min-width:0}.setup-presets-head{display:flex;flex-direction:column;gap:2px;min-width:0}.setup-presets-name{font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setup-presets-meta{font-size:var(--text-xs);color:var(--text-muted)}.setup-presets-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.setup-presets-actions .btn{flex:1 1 auto;padding-inline:var(--space-3)}.setup-presets-confirm{display:flex;flex-direction:column;gap:var(--space-2)}.setup-presets-confirm p{margin:0;font-size:var(--text-sm);color:var(--text-primary);overflow-wrap:anywhere}@media (max-width:900px){.setup-presets-list{max-height:none;overflow-y:visible}}@media (max-width:600px){.setup-presets-actions .btn-primary{flex-basis:100%}}.board-strip{display:none;flex-direction:column;justify-content:center;gap:var(--space-1);height:56px;width:100%;max-width:var(--board-size);padding:0 var(--space-3);margin-top:var(--space-2)}.board-strip-title{font-size:var(--text-md);font-weight:600;color:var(--text-primary)}.board-strip-detail,.board-strip-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-strip-detail{font-size:var(--text-sm);color:var(--text-secondary)}.board-strip.has-badge{flex-direction:row;justify-content:flex-start;align-items:center;gap:var(--space-2)}.board-strip-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.board-strip-badge{flex:none;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--surface-hover);color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;white-space:nowrap}.board-strip-badge.mine{background:var(--accent-soft);color:var(--accent-light)}.match-opponent{width:100%;max-width:var(--board-size);margin:0 0 var(--space-2);font-size:var(--text-md);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-stage{position:relative;align-self:center}.raid-setup .cell.move-target.has-piece{box-shadow:inset 0 0 0 3px var(--accent)}.piece-tray{padding:var(--space-3);display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));column-gap:var(--space-2)}.piece-tray .panel-title{grid-column:1/-1}.rarity-common{--rarity:var(--text-secondary)}.rarity-uncommon{--rarity:var(--value)}.rarity-rare{--rarity:var(--accent)}.rarity-epic{--rarity:var(--rarity-epic)}.rarity-legendary{--rarity:var(--rarity-legendary)}.raid-setup .stash-panel{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-3)}.raid-setup .stash-panel-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.raid-setup .stash-panel-title{font-weight:700}.raid-setup .stash-toggle{display:none;margin-left:auto;background:none;border:0;color:var(--accent-light);font:inherit;cursor:pointer;padding:var(--space-1) var(--space-2);min-height:44px}.raid-setup .stash-panel-shown{color:var(--text-secondary);font-size:var(--text-sm)}.raid-setup .stash-toolbar{display:flex;gap:var(--space-2);margin-bottom:var(--space-2)}.raid-setup .stash-search{flex:1 1;min-width:0;min-height:36px;padding:0 var(--space-3);background:var(--surface);border:1px solid var(--glass-border);border-radius:var(--radius-pill);color:var(--text-primary);font:inherit;font-size:var(--text-sm)}.raid-setup .stash-search::placeholder{color:var(--text-muted)}.raid-setup .stash-filter,.raid-setup .stash-filters-toggle{background:var(--surface);border:1px solid var(--glass-border);border-radius:var(--radius-pill);color:var(--text-secondary);font:inherit;font-size:var(--text-sm);padding:var(--space-1) 10px;cursor:pointer}.raid-setup .stash-filters-toggle{flex:none;white-space:nowrap}.raid-setup .stash-filter.active,.raid-setup .stash-filters-toggle.active{border-color:var(--accent);color:var(--accent-light)}.raid-setup .stash-filter-panel{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-2);padding:var(--space-2);background:var(--surface);border:1px solid var(--glass-border);border-radius:var(--radius-sm)}.raid-setup .stash-filter-group{display:grid;grid-template-columns:5rem minmax(0,1fr);align-items:start;gap:var(--space-1) var(--space-2)}.raid-setup .stash-filter-group-title{padding-top:6px;color:var(--text-secondary);font-size:var(--text-xs)}.raid-setup .stash-active,.raid-setup .stash-filters{display:flex;flex-wrap:wrap;gap:var(--space-1)}.raid-setup .stash-active{align-items:center;margin-bottom:var(--space-2)}.raid-setup .stash-active-filter{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) 10px;background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius-pill)}.raid-setup .stash-active-filter,.raid-setup .stash-reset{color:var(--accent-light);font:inherit;font-size:var(--text-sm);cursor:pointer}.raid-setup .stash-reset{background:none;border:0;padding:var(--space-1) var(--space-2);text-decoration:underline}.raid-setup .stash-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:var(--space-2)}.raid-setup .stash-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-2);background:var(--surface);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;cursor:pointer;overflow:hidden}.raid-setup .stash-tile:hover{background:var(--surface-hover)}.raid-setup .stash-tile.selected{border-color:var(--value);box-shadow:0 0 0 1px var(--value),0 0 16px var(--value-glow)}.raid-setup .stash-tile-icon{font-size:var(--text-2xl);line-height:1}.raid-setup .stash-tile-name{font-size:var(--text-xs);text-align:center}.raid-setup .stash-tile-rarity{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--rarity)}.raid-setup .stash-empty{color:var(--text-secondary);margin:0}.selected-item-card{background:var(--glass);border:1px solid var(--accent);border-radius:var(--radius-md);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.selected-item-card.empty{border-color:var(--glass-border);color:var(--text-secondary)}.selected-item-head{display:flex;align-items:center;gap:var(--space-3)}.selected-item-icon{font-size:var(--text-2xl)}.selected-item-title{flex:1 1;min-width:0}.selected-item-name{font-weight:700}.selected-item-meta{font-size:var(--text-xs)}.selected-item-copies,.selected-item-meta{color:var(--text-secondary)}.selected-item-description{margin:0;color:var(--text-primary)}.selected-item-rating-row{display:flex;justify-content:space-between;align-items:center}.rarity-badge{font-size:var(--text-xs);padding:2px var(--space-2);border-radius:var(--radius-pill);border:1px solid var(--rarity,var(--glass-border));color:var(--rarity,var(--text-secondary))}.rarity-badge.new{--rarity:var(--text-muted)}.rating-value{font-size:var(--text-xl);font-weight:700;color:var(--rarity,var(--text-secondary))}.rating-value.new{color:var(--text-muted)}.rating-bar{height:6px;border-radius:var(--radius-pill);background:var(--bg-tertiary);overflow:hidden;margin-top:var(--space-1)}.rating-bar i{display:block;height:100%;background:var(--rarity,var(--text-muted))}.rating-bar i.new{background:var(--text-muted)}.selected-item-hint{margin:0;color:var(--accent-light);font-size:var(--text-sm)}.piece-slots{position:absolute;z-index:3;left:min(calc(var(--col) * 12.5%),calc(100% - 156px));top:calc(var(--row) * 12.5%);transform:translateY(calc(-100% - 4px));width:156px;background:var(--bg-secondary);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:var(--space-1);display:flex;flex-direction:column;gap:var(--space-1)}.piece-slots-head{display:flex;justify-content:space-between;align-items:center;padding-left:var(--space-1);font-size:var(--text-xs);color:var(--text-secondary)}.piece-slots-close{background:none;border:0;color:var(--text-secondary);cursor:pointer;min-width:44px;min-height:44px}.piece-slots-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-1)}.piece-slot{aspect-ratio:1;min-width:44px;min-height:44px;background:var(--bg-tertiary);border:1px solid var(--glass-border);border-radius:var(--radius-xs);color:var(--text-primary);font-size:var(--text-lg);cursor:pointer}.piece-slot.empty{border-style:dashed;color:var(--text-muted);cursor:default}.piece-remove{min-height:44px;padding:0 var(--space-2);background:none;border:1px solid var(--glass-border);border-radius:var(--radius-xs);color:var(--text-secondary);font:inherit;font-size:var(--text-sm);cursor:pointer}.piece-remove:hover{border-color:var(--danger);color:var(--danger)}@media (min-width:901px){.raid-setup-actions{position:sticky;bottom:0;z-index:4;background:var(--bg-primary);border-top:1px solid var(--glass-border);padding:var(--space-3) 0}.raid-setup .stash-tiles{max-height:18rem;overflow-y:auto;padding:var(--space-1)}}@media (max-width:900px){.raid-setup{grid-template-columns:var(--board-size) minmax(0,1fr);gap:var(--space-3)}.raid-setup-board{padding-bottom:var(--space-2);align-items:center}.piece-tray{width:100%;padding:var(--space-2);display:flex;flex-wrap:nowrap;gap:var(--space-1);overflow-x:auto;scrollbar-width:none}.piece-tray::-webkit-scrollbar{display:none}.piece-tray .panel-title{display:none}.piece-tray .raid-piece-tray-item{display:inline-flex;flex:none;width:auto;min-height:44px;gap:var(--space-2);margin:0;padding:6px 10px;white-space:nowrap}.raid-setup-actions{flex-direction:row;flex-wrap:wrap;row-gap:var(--space-1);column-gap:var(--space-2)}.raid-setup-actions .start-hint{flex-basis:100%;font-size:var(--text-xs);line-height:1.3}.raid-setup-actions .btn{flex:1 1;min-height:44px;padding:var(--space-2) var(--space-3);font-size:var(--text-md);white-space:nowrap}.raid-setup .stash-toggle{display:inline-block}.raid-setup .stash-active-filter,.raid-setup .stash-filter,.raid-setup .stash-filters-toggle,.raid-setup .stash-search,.raid-setup .stash-tile{min-height:44px}.raid-setup .stash-panel:not(.is-expanded) .stash-tiles{display:flex;overflow-x:auto;gap:var(--space-2);padding-bottom:var(--space-1);scrollbar-width:none}.raid-setup .stash-panel:not(.is-expanded) .stash-tiles::-webkit-scrollbar{display:none}.raid-setup .stash-panel:not(.is-expanded) .stash-tile{flex:none;width:56px;padding:var(--space-1)}.raid-setup .stash-panel:not(.is-expanded) .stash-tile-name{display:none}.raid-setup .stash-panel:not(.is-expanded) .stash-tile.has-nft{padding-top:calc(var(--space-1) + var(--text-xs) * 1.4 + 2px + var(--space-1))}.raid-setup .stash-panel:not(.is-expanded) .stash-tile-nft-count{display:none}}@media (max-width:600px),(max-width:900px) and (orientation:portrait){.raid-setup{grid-template-columns:1fr;grid-template-areas:"board" "side";justify-items:center;padding-inline:0}.raid-setup-topbar{display:none}.raid-setup>:not(.modal-overlay){width:100%;max-width:var(--board-size)}.board-strip{display:flex}.game-layout>.board-area{order:1}.game-layout>.info-panel{order:2}.game-layout>.battle-side{order:3}.game-layout>.history-panel{order:4}.game-layout .game-status:not(.has-detail),.match-screen .fog-caption,.match-screen .match-opponent,.match-screen .match-turn{display:none}}.raid-setup.is-phone,.setup-phone-top{gap:var(--space-2)}.setup-phone-top{position:sticky;top:var(--topbar-h);z-index:4;display:flex;flex-direction:column;padding-top:var(--space-1);background:var(--bg-primary)}.setup-phone-top .board-stage{align-self:stretch}.setup-phone-bar{position:sticky;bottom:0;z-index:4;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) 0 calc(var(--space-2) + env(safe-area-inset-bottom, 0px));background:var(--bg-primary);border-top:1px solid var(--glass-border)}.setup-phone-bar .start-hint{margin:0;font-size:var(--text-xs);line-height:1.3}.setup-phone-bar .form-error{margin:0}.setup-phone-buttons{display:flex;gap:var(--space-2)}.setup-phone-buttons .btn{flex:1 1;min-width:0;min-height:48px;padding:var(--space-1) var(--space-2);font-size:var(--text-sm);line-height:1.2;white-space:normal}.setup-phone-buttons .setup-phone-find{flex-grow:1.4}.setup-phone-bar .setup-phone-wallet{align-self:flex-start;min-height:44px}.raid-setup.is-phone .stash-search{font-size:var(--text-input)}@media (max-height:480px){.setup-phone-bar,.setup-phone-top{position:static}}.cell-card-head{display:flex;align-items:center;gap:var(--space-2);min-height:56px;padding:var(--space-1) 0}.cell-card-nav{flex:none;width:44px;height:44px;border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--surface);color:var(--text-primary);font:inherit;font-size:var(--text-xl);line-height:1;cursor:pointer}.cell-card-nav:disabled{opacity:.35;cursor:default}.cell-card-title{flex:1 1;min-width:0;display:flex;align-items:center;gap:var(--space-2)}.cell-card-icon{display:block;flex:none;width:32px;height:32px}.cell-card-icon svg{display:block;width:100%;height:100%}.cell-card-name{min-width:0;display:flex;flex-direction:column}.cell-card-name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-card-name span{font-size:var(--text-xs);color:var(--text-muted)}.cell-card-remove{flex:none;min-height:44px;max-width:96px;padding:0 var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:none;color:var(--text-secondary);font:inherit;font-size:var(--text-xs);line-height:1.2;cursor:pointer}.cell-card-body{display:flex;flex-direction:column;gap:var(--space-2);padding-bottom:var(--space-3)}.cell-card-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.cell-card-slot{min-height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-2) var(--space-1);border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--bg-tertiary);color:var(--text-primary);font:inherit;cursor:pointer}.cell-card-slot.empty{border-style:dashed;background:none;color:var(--text-muted);cursor:default}.cell-card-slot-icon{font-size:var(--text-2xl);line-height:1}.cell-card-slot-name{font-size:var(--text-xs);text-align:center;line-height:1.2;overflow-wrap:anywhere}.cell-card-tools{display:flex;align-items:center;gap:var(--space-2)}.raid-setup .cell-card-search{min-height:44px}.cell-card-stash{flex:none;margin-left:auto;min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--accent);background:var(--accent-soft);color:var(--text-primary);font:inherit;font-size:var(--text-sm);white-space:nowrap;cursor:pointer}.cell-card-categories{display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none}.cell-card-categories::-webkit-scrollbar{display:none}.raid-setup .cell-card-categories .stash-filter{flex:none;min-height:44px;white-space:nowrap}.cell-card-lead{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--text-secondary)}.cell-card-items{gap:var(--space-2)}.cell-card-item,.cell-card-items{display:flex;flex-direction:column}.cell-card-item{gap:var(--space-1);border-radius:var(--radius-sm);border:1px solid var(--glass-border);border-left:3px solid var(--rarity,var(--glass-border));background:var(--bg-tertiary)}.cell-card-item-main{display:flex;align-items:stretch}.cell-card-equip{flex:1 1;min-width:0;min-height:56px;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-1) var(--space-2) var(--space-2);background:none;border:0;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.cell-card-equip:disabled{opacity:.4;cursor:default}.cell-card-item-icon{flex:none;width:32px;font-size:var(--text-2xl);line-height:1;text-align:center}.cell-card-item-text{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.cell-card-item-name{font-weight:600;font-size:var(--text-sm);overflow-wrap:anywhere}.cell-card-item-desc{font-size:var(--text-xs);color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cell-card-item-free{flex:none;font-size:var(--text-xs);font-weight:600;color:var(--text-muted)}.cell-card-nft{margin-left:var(--space-1);padding:0 var(--space-1);border-radius:var(--radius-xs);background:var(--accent-soft);color:var(--accent-light);font-size:var(--text-xs);font-weight:700}.cell-card-info{flex:none;width:44px;min-height:44px;background:none;border:0;border-left:1px solid var(--glass-border);color:var(--text-secondary);font:inherit;font-size:var(--text-lg);cursor:pointer}.cell-card-item .copy-choice{padding:0 var(--space-2) var(--space-2)}.cell-card-places{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.cell-card-place{min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:var(--space-1);border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--surface);color:var(--text-primary);font:inherit;cursor:pointer}.cell-card-place:disabled{opacity:.35;cursor:default}.cell-card-place-count,.cell-card-place-name{font-size:var(--text-xs)}.cell-card-place-count{font-weight:600;color:var(--text-muted)}.modal-overlay:has(>.setup-sheet){align-items:flex-end;padding:0}.modal.setup-sheet{position:relative;width:100%;max-width:600px;max-height:85dvh;overflow-y:auto;padding:var(--space-4) var(--space-3) calc(var(--space-4) + env(safe-area-inset-bottom, 0px));text-align:left;border-radius:var(--radius-lg) var(--radius-lg) 0 0;animation:setupSheetUp .2s ease-out}@keyframes setupSheetUp{0%{transform:translateY(40px)}}.setup-sheet .modal-title{font-size:var(--text-lg);margin:0 52px var(--space-3) 0}.setup-sheet-close{position:absolute;top:var(--space-2);right:var(--space-2);width:44px;height:44px;background:none;border:0;color:var(--text-secondary);font:inherit;font-size:var(--text-lg);cursor:pointer}.raid-setup .stash-panel.is-sheet{padding:0;background:none;border:0}.raid-setup .stash-panel.is-sheet .stash-tiles{max-height:none;overflow:visible}.slot-dots{position:absolute;left:0;right:0;bottom:3px;display:flex;justify-content:center;gap:2px;pointer-events:none}.slot-dots i{width:5px;height:5px;border-radius:50%;background:rgba(0,0,0,.22)}.slot-dots i.on{background:var(--value-dark);box-shadow:0 0 0 1px var(--text-primary)}.escrow-note-chip{margin-left:var(--space-2)}.escrow-block{color:var(--text-primary);font-size:var(--text-sm);padding:var(--space-2) var(--space-3);border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent-soft)}.copy-choice{display:flex;flex-direction:column;gap:var(--space-2)}.copy-choice-label{color:var(--text-secondary);font-size:var(--text-sm)}.copy-choice-options{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.copy-choice-option{min-height:44px;border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-primary);font:inherit;font-size:var(--text-md);cursor:pointer}.copy-choice-option[aria-checked=true]{border-color:var(--accent);background:var(--accent-soft)}.copy-choice-option:disabled{opacity:.4;cursor:not-allowed}.escrow-pending{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.escrow-degraded .btn,.escrow-pending .btn,.escrow-result .btn{min-height:44px}.escrow-degraded{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.escrow-kinds{font-size:var(--text-md)}.escrow-panel{display:flex;flex-direction:column;gap:var(--space-3);width:100%;max-width:460px;padding:var(--space-6)}.escrow-status{color:var(--text-primary);font-size:var(--text-md)}.escrow-hint{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.4}.escrow-error{color:var(--danger);font-size:var(--text-md)}.escrow-progress-block{display:flex;flex-direction:column;gap:var(--space-1)}.escrow-progress{height:6px;border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--glass-border);overflow:hidden}.escrow-progress>span{display:block;height:100%;background:var(--value);transition:width var(--transition-normal)}.escrow-count{color:var(--text-secondary);font-size:var(--text-sm);font-family:var(--font-mono)}.escrow-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}@media (max-width:520px){.escrow-panel{padding:var(--space-4)}}.stash-tile-nft{position:absolute;top:var(--space-1);left:50%;transform:translateX(-50%);white-space:nowrap;padding:0 var(--space-1);border:1px solid var(--accent);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-light);font-size:var(--text-xs);line-height:1.4}.raid-setup .stash-tile.has-nft{padding-top:calc(var(--space-1) + var(--text-xs) * 1.4 + 2px + var(--space-1))}.nft-vaulted-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) 0}.nft-vaulted-name{color:var(--text-primary);font-size:var(--text-md)}.nft-vaulted-row>.nft-error{flex-basis:100%}.escrow-banner{padding:var(--space-2) var(--space-3);border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--text-primary);font-size:var(--text-sm)}@media (max-width:520px){.nft-vaulted .btn{min-height:44px}}.escrow-result{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--glass-border);text-align:left}.escrow-result-title{color:var(--text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em}.escrow-result-line{color:var(--text-primary);font-size:var(--text-md)}.escrow-result-line.is-gain{color:var(--value)}.escrow-result-line.is-loss{color:var(--danger)}.admin-shell{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);width:100%;min-width:0;max-width:1100px;margin:0 auto}.admin-nav{display:flex;flex-wrap:wrap;gap:var(--space-2)}.admin-nav-link,.admin-nav-soon{display:inline-flex;align-items:center;gap:var(--space-1);min-height:44px;padding:0 var(--space-3);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-primary);text-decoration:none}.admin-nav-soon{color:var(--text-secondary);opacity:.7;cursor:not-allowed}.admin-content{display:flex;flex-direction:column;gap:var(--space-4)}.admin-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-4);align-items:start}@media (max-width:800px){.admin-columns{grid-template-columns:minmax(0,1fr)}}.admin-panel{padding:var(--space-4);gap:var(--space-3);min-width:0}.admin-panel,.admin-search{display:flex;flex-direction:column}.admin-search{gap:var(--space-2)}.admin-hint{color:var(--text-secondary);font-size:var(--text-sm)}.admin-list{list-style:none;gap:var(--space-2)}.admin-list,.admin-row{display:flex;flex-direction:column}.admin-row{align-items:flex-start;gap:var(--space-1);width:100%;min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.admin-row[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.admin-row-meta{color:var(--text-secondary);font-size:var(--text-sm);overflow-wrap:anywhere}.admin-fields{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--space-1) var(--space-3)}.admin-fields dt{color:var(--text-secondary)}.admin-fields dd{overflow-wrap:anywhere}.admin-mono{font-family:var(--font-mono);font-size:var(--text-sm)}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.admin-table td,.admin-table th{padding:var(--space-2);border-bottom:1px solid var(--glass-border);text-align:left;white-space:nowrap}a.admin-row{color:inherit;text-decoration:none}.giveaway-list-head{justify-content:space-between}.giveaway-list-head,.giveaway-row-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.giveaway-phase{padding:2px var(--space-2);border:1px solid var(--glass-border);border-radius:var(--radius-pill);font-size:var(--text-xs);color:var(--text-secondary)}.giveaway-phase.phase-running{border-color:var(--value);color:var(--value)}.giveaway-phase.phase-scheduled{border-color:var(--accent);color:var(--accent)}.giveaway-finished summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--text-secondary)}.bot-import-actions,.giveaway-actions,.giveaway-import-bar{display:flex;flex-wrap:wrap;gap:var(--space-2)}.giveaway-lab{padding:var(--space-2) var(--space-3);border:1px dashed var(--glass-border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-sm)}.giveaway-lab strong{color:var(--text-primary)}.giveaway-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3)}.giveaway-fields .form-field{min-width:0}.bot-import{display:flex;flex-direction:column;gap:var(--space-3);width:min(520px,100%)}.bot-import .tabs-row{display:flex;gap:var(--space-2);border-bottom:1px solid var(--glass-border)}.bot-import-tab{min-height:44px;padding:0 var(--space-3);border:none;border-bottom:2px solid transparent;background:none;color:var(--text-secondary);font:inherit;cursor:pointer}.bot-import-tab[aria-selected=true]{border-bottom-color:var(--accent);color:var(--text-primary)}.bot-import-textarea{font-family:var(--font-mono);font-size:var(--text-xs);resize:vertical}.giveaway-live,.giveaway-stats{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--glass-border)}.giveaway-stats p{margin:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.spawn-bar-wrap{display:flex;flex-direction:column;gap:var(--space-2)}.spawn-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-2) var(--space-3);border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--bg-tertiary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.spawn-bar-grow{flex:1 1}.spawn-bar-stat{color:var(--text-secondary);font-size:var(--text-sm)}.spawn-bar-stat strong{color:var(--text-primary)}.spawn-pill{display:inline-flex;align-items:center;gap:6px;min-height:var(--space-6);padding:0 var(--space-2);border:1px solid var(--glass-border);border-radius:var(--radius-pill);font-size:var(--text-xs)}.spawn-pill.is-on{border-color:var(--value);color:var(--value);background:color-mix(in srgb,var(--value) 12%,transparent)}.spawn-pill.is-off{border-color:var(--danger);color:var(--danger);background:color-mix(in srgb,var(--danger) 16%,transparent)}.spawn-dot{width:var(--space-2);height:var(--space-2);border-radius:50%;background:currentColor}.spawn-delay,.spawn-unit{display:flex;align-items:center;gap:6px;min-width:0}.spawn-delay{flex-wrap:wrap}.spawn-delay .form-input{width:72px;text-align:right}.spawn-unit .form-input{flex:1 1;min-width:64px}.spawn-unit .admin-hint{min-width:0}.wild-weights{flex-wrap:wrap;gap:var(--space-2) var(--space-4);padding:0 var(--space-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wild-weight,.wild-weights{display:flex;align-items:center}.wild-weight{gap:6px;min-width:0}.wild-weight .form-input{width:88px;text-align:right}.wild-weight .admin-hint{min-width:3.5em}@media (max-width:600px){.spawn-bar{flex-direction:column;align-items:stretch}.wild-weights{display:grid;grid-template-columns:1fr;padding:0}.wild-weight .form-input{flex:1 1}.spawn-bar-grow{display:none}}.admin-confirm{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--danger);border-radius:var(--radius-md);background:var(--bg-tertiary)}.giveaway-phase.phase-test{border-color:var(--rarity-legendary);color:var(--rarity-legendary)}.giveaway-test-row{margin:0;padding:var(--space-2) var(--space-3);border:1px dashed var(--rarity-legendary);border-radius:var(--radius-sm);font-size:var(--text-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.giveaway-editor-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);grid-template-areas:"fields side" "actions side";grid-template-rows:auto 1fr;gap:var(--space-4);align-items:start}.giveaway-editor-fields{grid-area:fields;min-width:0}.giveaway-editor-actions{grid-area:actions;gap:var(--space-2)}.giveaway-editor-actions,.giveaway-side{display:flex;flex-direction:column;min-width:0}.giveaway-side{grid-area:side;gap:var(--space-3)}@media (max-width:900px){.giveaway-editor-body{grid-template-columns:minmax(0,1fr);grid-template-areas:"fields" "side" "actions";grid-template-rows:none}}.giveaway-side-panel{display:flex;flex-direction:column;gap:var(--space-3);min-width:0;padding:var(--space-3);border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--surface)}.spawn-group-title{margin:0;color:var(--text-secondary);font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.giveaway-sim-nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.giveaway-sim-num{display:flex;flex-direction:column;gap:2px;margin:0;padding:var(--space-2);border:1px solid var(--glass-border);border-radius:var(--radius-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.giveaway-sim-num strong{font-size:var(--text-lg)}.giveaway-sim-flag{color:var(--rarity-legendary)}.giveaway-sim-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:var(--space-2)}.spawn-group,.spawn-rules,.testers{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.spawn-rules{gap:var(--space-4)}.spawn-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:var(--space-2)}.spawn-grid .form-field{min-width:0}.ai-elo-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:var(--text-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ai-elo-table th:first-child{width:38%}.ai-elo-table th:nth-child(3){width:50px}.ai-elo-table .form-input{width:100%;min-width:0}.ai-elo-table th{padding:0 6px var(--space-1) 0;color:var(--text-secondary);font-size:var(--text-xs);font-weight:500;text-align:left}.ai-elo-table td{padding:3px 6px 3px 0}.ai-elo-static{display:flex;align-items:center;min-height:40px;padding:0 var(--space-2);border:1px dashed var(--glass-border);border-radius:var(--radius-sm)}.ai-elo-remove{min-width:44px;min-height:44px;border:none;border-radius:var(--radius-sm);background:none;color:var(--text-secondary);font:inherit;cursor:pointer}.ai-elo-remove:hover{background:var(--surface-hover);color:var(--text-primary)}.testers-warn{margin:0;padding:var(--space-2) var(--space-3);border:1px solid var(--rarity-legendary);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--rarity-legendary) 12%,transparent);font-size:var(--text-sm)}.giveaway-reward-warning{display:block;margin:0;color:var(--rarity-legendary);font-size:var(--text-sm)}.giveaway-reward-hint{display:block}.testers-search{display:flex;flex-direction:column;gap:var(--space-1)}.testers-search label{color:var(--text-secondary);font-size:var(--text-xs)}.testers-found,.testers-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-1)}.tester-row,.testers-found li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:44px;padding:0 var(--space-1) 0 var(--space-3);border:1px solid var(--glass-border);border-radius:var(--radius-sm);font-size:var(--text-sm)}.tester-name{flex:none}.tester-id{flex:1 1;min-width:0;overflow:hidden;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap}.kit-editor{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--space-4);align-items:start}.kit-editor.is-readonly{grid-template-columns:minmax(0,1fr)}.kit-editor-board{display:flex;flex-direction:column;gap:var(--space-3);min-width:0;container-type:inline-size}.kit-editor .board-stage{align-self:stretch;--board-size:min(540px,60vh,100cqi)}.kit-editor .cell.kit-dim{filter:brightness(.55)}.kit-editor .cell.kit-can-equip{box-shadow:inset 0 0 0 3px var(--accent);cursor:pointer}.kit-editor .cell.kit-problem{box-shadow:inset 0 0 0 3px var(--danger)}.kit-tray{display:flex;flex-wrap:wrap;gap:var(--space-2)}.kit-catalog-item,.kit-tray-piece{min-height:44px;border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font-size:var(--text-sm);cursor:pointer}.kit-tray-piece{display:inline-flex;align-items:center;gap:var(--space-1);padding:0 var(--space-3)}.kit-tray-piece small{color:var(--text-muted)}.kit-tray-piece:disabled{opacity:.45;cursor:not-allowed}.kit-catalog-item.is-selected,.kit-tray-piece.is-selected{border-color:var(--accent);background:var(--accent-soft)}.kit-slots{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--surface)}.kit-slots-title{font-weight:600}.kit-catalog{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.kit-catalog-tools{display:flex;flex-wrap:wrap;gap:var(--space-2)}.kit-catalog-tools>*{flex:1 1 120px;min-width:0}.kit-catalog-list{display:grid;gap:var(--space-1);max-height:520px;overflow-y:auto}.kit-catalog-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-2);padding:0 var(--space-2);text-align:left}.kit-catalog-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-catalog-rarity{font-size:var(--text-xs);color:var(--rarity,var(--text-secondary))}.kit-sheet,.kit-sheet-toggle{display:none}@media (max-width:900px){.kit-editor{grid-template-columns:minmax(0,1fr)}.kit-sheet-toggle{display:inline-flex;justify-self:start}.kit-editor-catalog{display:none}.kit-sheet{flex-direction:column;position:fixed;left:0;right:0;bottom:0;z-index:50;max-height:50vh;overflow-y:auto;padding:var(--space-3) max(var(--space-3),env(safe-area-inset-right,0px)) calc(var(--space-3) + env(safe-area-inset-bottom, 0px)) max(var(--space-3),env(safe-area-inset-left,0px));border-top:1px solid var(--glass-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--bg-tertiary);box-shadow:0 -8px 24px var(--glass-shadow)}.kit-sheet,.kit-sheet-head{display:flex;gap:var(--space-2)}.kit-sheet-head{align-items:center;justify-content:space-between}.kit-sheet .kit-catalog-list{max-height:none}}.escrow-preview{display:grid;grid-template-columns:240px 1fr;width:100%;min-height:100vh}.escrow-preview-nav{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);border-right:1px solid var(--glass-border);background:var(--surface)}.escrow-preview-item{padding:var(--space-2) var(--space-3);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:var(--text-sm);text-align:left;cursor:pointer}.escrow-preview-item.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--text-primary)}.escrow-preview-stage{display:flex;flex-direction:column;align-items:center;min-width:0}@media (max-width:720px){.escrow-preview{grid-template-columns:1fr;grid-template-rows:auto 1fr}.escrow-preview-nav{flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid var(--glass-border)}.escrow-preview-item{flex:none;white-space:nowrap}}.quest-ring{--quest-percent:0%;flex:none;width:44px;height:44px;margin-right:var(--space-2);padding:0;border:0;border-radius:var(--radius-pill);background:conic-gradient(var(--accent) var(--quest-percent),var(--bg-tertiary) 0);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.quest-ring:hover{box-shadow:0 0 12px var(--accent-glow)}.quest-ring-inner{width:36px;height:36px;border-radius:var(--radius-pill);background:var(--bg-secondary);display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:700;color:var(--accent-light)}.quest-backdrop{position:fixed;inset:0;z-index:24}.quest-panel{position:fixed;top:calc(var(--topbar-h) + var(--space-2));right:var(--space-4);width:min(320px,calc(100% - 2 * var(--space-4)));max-height:calc(100dvh - var(--topbar-h) - var(--space-4));overflow-y:auto;z-index:25;padding:var(--space-3);background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:0 10px 30px rgba(0,0,0,.55)}.quest-all{display:inline-flex;min-height:32px;align-items:center;margin-top:var(--space-3);color:var(--accent-light);font-size:var(--text-sm)}.quest-branches{display:flex;flex-direction:column;gap:var(--space-4)}.quest-branch{padding:var(--space-3);border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--surface)}.quest-branch[data-state=locked]{opacity:.6}.quest-branch-head{display:flex;justify-content:space-between;margin-bottom:var(--space-2);font-weight:700}.quest-branch-count{color:var(--text-secondary);font-weight:400}.quest-bar{height:6px;overflow:hidden;border-radius:var(--radius-pill);background:var(--bg-tertiary)}.quest-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent-dark),var(--accent))}.quest-locked{margin:var(--space-2) 0 0;color:var(--text-muted);font-size:var(--text-sm)}.quest-next{flex-wrap:wrap;align-items:center;justify-content:space-between;margin:var(--space-2) 0 0;font-size:var(--text-md)}.quest-next,.quest-steps{display:flex;gap:var(--space-2)}.quest-steps{margin:var(--space-3) 0 0;padding:0;list-style:none;flex-direction:column}.quest-step{display:flex;gap:var(--space-2);font-size:var(--text-md)}.quest-step[data-done=true]{color:var(--success)}.quest-step-mark{flex:none;width:1.2em;text-align:center}.quest-step-body{display:flex;flex-direction:column;gap:2px;min-width:0}.quest-step-hint{color:var(--text-secondary);font-size:var(--text-sm)}.quest-step-go{align-self:flex-start;color:var(--accent-light);font-size:var(--text-sm);min-height:32px;display:inline-flex;align-items:center}.quest-toast{position:fixed;top:calc(var(--topbar-h) + var(--space-2));left:var(--space-4);right:var(--space-4);margin-inline:auto;max-width:420px;z-index:26;pointer-events:none;padding:var(--space-3) var(--space-4);border:1px solid var(--accent);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-primary);font-size:var(--text-md);box-shadow:0 0 18px var(--accent-glow)}.quest-toast[data-kind=branch]{font-weight:700}.quest-badges{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.quest-badge{width:48px;height:48px;padding:0;border-radius:var(--radius-md);border:1px solid var(--glass-border);background:var(--bg-tertiary);color:inherit;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-xl);opacity:.35}.quest-badge[aria-pressed=true]{opacity:1;border-color:var(--accent-light);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-light)}.quest-badge[data-earned=true]{opacity:1;border-color:var(--accent);box-shadow:0 0 10px var(--accent-glow)}.quest-badge[aria-pressed=true][data-earned=true]{border-color:var(--accent-light);box-shadow:inset 0 0 0 1px var(--accent-light),0 0 10px var(--accent-glow)}.quest-reward{margin:var(--space-2) 0 0;color:var(--success);font-size:var(--text-sm)}.achievement-card{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6)}.achievement-card:last-child{margin-bottom:0}.achievement-avatar{flex:none;width:48px;height:48px;border-radius:50%;background:var(--accent-soft);color:var(--accent-light);display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-xl);font-weight:700}.achievement-name{margin:0;font-size:var(--text-lg);font-weight:700;overflow-wrap:anywhere}.achievement-meta{margin:0;color:var(--text-secondary);font-size:var(--text-md)}.achievement-heading{margin:0 0 var(--space-3);font-size:var(--text-lg);font-weight:700}.achievement-next{margin-top:var(--space-4);padding:var(--space-3);border-radius:var(--radius-md);background:var(--accent-soft);font-size:var(--text-md)}.achievement-next-head{display:flex;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2);color:var(--accent-light)}.achievement-detail{margin-top:var(--space-4);padding:var(--space-3);border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--surface)}.achievement-detail-title{margin:0 0 var(--space-2);font-weight:700}.achievement-detail-text{margin:0 0 var(--space-2);color:var(--text-secondary);font-size:var(--text-md)}.achievement-detail:has(>.quest-branches){padding:0;border:0;background:none}.nf-stand-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4) 0;font-family:var(--font-mono);font-size:var(--text-sm)}.nf-stand-nav a{color:var(--text-secondary);text-decoration:none}.nf-stand-nav a[aria-current=page]{color:var(--accent-light)}.bot-lab-muted{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.bot-lab-mini{display:block;height:auto;max-width:100%;overflow:hidden}.bot-lab-mini-piece.is-dim{opacity:.35}.bot-lab-mini-dot{fill:var(--rarity);stroke:var(--text-primary);stroke-width:1}.bot-lab-board{--board-size:min(360px,88vw);--cell-size:calc(var(--board-size) / 8);width:max-content;max-width:100%}.bot-lab-board .cell.bot-lab-dim .piece{opacity:.35}.bot-lab-mini-piece.is-shadow{opacity:.5}.bot-lab-step .bot-lab-board{--board-size:min(360px,calc(100vw - 64px))}.bot-lab-items{list-style:none;margin:0;padding:0;display:grid;gap:2px;font-size:var(--text-sm)}.bot-lab-rarity-dot{display:inline-block;width:var(--space-2);height:var(--space-2);border-radius:50%;background:var(--rarity);vertical-align:middle}.bot-lab-chart{display:block;width:100%;max-width:420px;height:auto}.bot-lab-chart-grid{stroke:var(--glass-border)}.bot-lab-chart-label{fill:var(--text-secondary);font-size:var(--text-xs)}.bot-lab-chart-line{fill:none;stroke:var(--accent);stroke-width:2}.bot-lab-chart-dot{fill:var(--accent)}.bot-lab-chart-value{fill:var(--accent);font-size:var(--text-xs);font-weight:600}.bot-lab-step{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-3);display:grid;gap:var(--space-3)}.bot-lab-step-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.bot-lab-step-head h2{margin:0;font-size:var(--text-lg)}.bot-lab-step-num{width:var(--space-6);height:var(--space-6);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent);font-size:var(--text-sm);font-weight:700}.bot-lab-seg{display:inline-flex;gap:var(--space-1);margin-left:auto}.bot-lab-step-body{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--space-3);align-items:start}.bot-lab-controls{display:grid;gap:var(--space-2);min-width:0}.bot-lab-row{align-items:center}.bot-lab-budget,.bot-lab-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.bot-lab-budget{align-items:end}.bot-lab-field{display:grid;gap:2px;font-size:var(--text-sm);color:var(--text-secondary)}.bot-lab-field input{width:84px}.bot-lab-field select{width:100%;min-width:0}.bot-lab-field input,.bot-lab-field select{font:inherit;color:var(--text-primary);background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:var(--space-1) 6px;max-width:100%}.bot-lab-warning{margin:0;font-size:var(--text-sm);color:var(--rarity-legendary)}.bot-lab-editor{display:grid;gap:var(--space-2)}.bot-lab-chips,.bot-lab-palette{display:flex;flex-wrap:wrap;gap:var(--space-1)}.bot-lab-piece-panel{display:grid;gap:var(--space-2)}.bot-lab-chip{font:inherit;font-size:var(--text-sm);color:var(--text-primary);background:var(--glass);border:1px solid var(--glass-border);border-left:var(--space-1) solid var(--rarity);border-radius:var(--radius-sm);padding:2px var(--space-2);cursor:pointer}.bot-lab-chip:disabled{opacity:.4;cursor:not-allowed}.bot-lab-step-body>*{min-width:0}.bot-lab-step-body>p.bot-lab-muted{max-width:280px}@media (max-width:760px){.bot-lab-step-body{grid-template-columns:1fr}.bot-lab-seg{margin-left:0}}.bot-lab{width:100%;max-width:1040px;margin:0 auto;padding:var(--space-3);display:grid;gap:var(--space-3);box-sizing:border-box}.bot-lab-head h1{margin:0 0 var(--space-1)}.bot-lab-summary{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;font-size:var(--text-sm);background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.bot-lab-summary-edit{margin-left:auto;font:inherit;background:none;border:0;color:var(--accent);cursor:pointer;text-decoration:underline;padding:0}.bot-lab-results{display:grid;gap:var(--space-3);min-width:0}.bot-lab-progress{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-2)}.bot-lab-big{font-size:var(--text-2xl);font-weight:700}.bot-lab-h3{margin:0;font-size:var(--text-lg)}.bot-lab-selected{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--space-3);align-items:start}.bot-lab-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-2)}.bot-lab-card{font:inherit;color:var(--text-primary);text-align:left;background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-2);cursor:pointer;display:grid;gap:var(--space-1);justify-items:start}.bot-lab-card.is-selected{border-color:var(--accent)}.bot-lab-card-head{font-size:var(--text-sm);display:flex;gap:var(--space-1);align-items:baseline;flex-wrap:wrap}.bot-lab-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.bot-lab-tile{background:var(--glass);border-radius:var(--radius-md);padding:var(--space-2);text-align:center;font-size:var(--text-sm);color:var(--text-secondary)}.bot-lab-tile strong{display:block;font-size:var(--text-2xl);color:var(--text-primary)}.bot-lab-tile.is-accent strong{color:var(--accent)}@media (max-width:760px){.bot-lab-selected{grid-template-columns:1fr}.bot-lab-summary-edit{margin-left:0}}.language-switcher{display:flex;align-items:center;margin-right:var(--space-2)}.language-switcher-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.language-switcher-select{height:36px;max-width:120px;padding:0 var(--space-2);background:var(--surface);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:var(--radius-lg);font:inherit;font-size:var(--text-sm);cursor:pointer}.language-switcher-select:hover:not(:disabled){background:var(--surface-hover)}.language-switcher-select:disabled{opacity:.6;cursor:progress}.language-switcher-select option{background:var(--bg-secondary);color:var(--text-primary)}.auth-tabs .btn{min-width:0}@media (max-width:400px){.auth-tabs .btn{font-size:var(--text-sm)}}@media (max-width:360px){.top-bar .brand-home-name{display:none}}.ops-home{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.ops-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.ops-tile-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}@media (max-width:640px){.ops-tile-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.ops-tile{--ops-tone:var(--text-muted);display:flex;flex-direction:column;gap:2px;min-width:0;min-height:44px;padding:10px var(--space-3);border:1px solid color-mix(in srgb,var(--ops-tone) 45%,var(--glass-border));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--ops-tone) 14%,transparent);color:var(--text-primary);font-size:var(--text-sm);line-height:1.35;text-decoration:none;overflow-wrap:anywhere;transition:border-color var(--transition-fast),background var(--transition-fast)}.ops-tile:hover{background:color-mix(in srgb,var(--ops-tone) 22%,transparent)}.ops-tile[aria-current=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.ops-ok{--ops-tone:var(--value)}.ops-warn{--ops-tone:var(--rarity-legendary)}.ops-bad{--ops-tone:var(--danger)}.ops-grey{--ops-tone:var(--text-muted)}.ops-tile-name{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;opacity:.75;margin-bottom:2px}.ops-tile-counts{font-weight:600}.ops-tile-checked,.ops-tile-note{color:var(--text-secondary);font-size:var(--text-xs)}.ops-journal{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.ops-journal .panel-title{margin-bottom:0}.ops-mode{display:flex;flex-wrap:wrap;gap:var(--space-2)}.ops-mode .admin-nav-link[aria-current=page]{border-color:var(--accent);background:var(--accent-soft)}.ops-filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-2) var(--space-3);align-items:end}.ops-filter{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.ops-filter label{color:var(--text-secondary);font-size:var(--text-xs)}.ops-filter .form-input{width:100%;min-width:0;min-height:44px;font-size:var(--text-input)}.ops-filter-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);min-height:44px}.ops-filter-reset{color:var(--text-secondary)}.ops-feed{list-style:none;border:1px solid var(--glass-border);border-radius:var(--radius-sm);font-size:var(--text-sm)}.ops-feed-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-2);padding:6px 10px;border-bottom:1px solid var(--glass-border);min-width:0}.ops-feed-row:last-child{border-bottom:0}.ops-feed-hidden{color:var(--text-secondary)}.ops-t{font-family:var(--font-mono);opacity:.7}.ops-lvl,.ops-t{white-space:nowrap}.ops-lvl{--ops-tone:var(--text-muted);padding:0 6px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--ops-tone) 28%,transparent);font-size:var(--text-xs)}.ops-lvl-urgent{--ops-tone:var(--danger)}.ops-lvl-important{--ops-tone:var(--rarity-legendary)}.ops-lvl-info{--ops-tone:var(--value)}.ops-feed-meta,.ops-feed-status,.ops-feed-tile{color:var(--text-secondary);font-size:var(--text-xs)}.ops-feed-meta,.ops-feed-title{overflow-wrap:anywhere;min-width:0}.ops-feed-title{flex:1 1 14rem;color:var(--text-primary)}.ops-feed-ref{color:var(--accent-light);font-size:var(--text-xs);white-space:nowrap}.ops-feed-count{font-family:var(--font-mono);font-size:var(--text-xs)}.ops-feed-empty{padding:var(--space-3);border:1px dashed var(--glass-border);border-radius:var(--radius-sm);color:var(--text-secondary);text-align:center}.ops-more{align-self:flex-start}.ops-users{overflow-wrap:anywhere}.ops-pult{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);margin:0}.ops-refusal{border-color:color-mix(in srgb,var(--danger) 45%,var(--glass-border))}.ops-incident{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.ops-incident-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-2);min-width:0}.ops-incident-title{flex:1 1 16rem;min-width:0;margin:0;font-size:var(--text-lg);line-height:1.3;overflow-wrap:anywhere}.ops-incident-status{color:var(--text-secondary);font-size:var(--text-sm)}.ops-incident-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);grid-template-areas:"side main";gap:var(--space-4);align-items:start}.ops-incident-main{grid-area:main}.ops-incident-side{grid-area:side}@media (max-width:800px){.ops-incident-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"main" "side"}}.ops-incident-main,.ops-incident-side{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.ops-block .panel-title{margin-bottom:0}.ops-block p{overflow-wrap:anywhere}.ops-facts,.ops-meta{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--space-1) var(--space-3);font-size:var(--text-sm)}.ops-facts dt,.ops-meta dt{color:var(--text-secondary);overflow-wrap:anywhere}.ops-facts dd,.ops-meta dd{min-width:0;overflow-wrap:anywhere}.ops-meta dt{max-width:12rem}.ops-facts-scope{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-2)}.ops-meta pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.ops-sample-head{padding:0;border-bottom:0}.ops-note{padding:var(--space-2) var(--space-3);border-left:2px solid var(--glass-border);color:var(--text-secondary);white-space:pre-wrap}.ops-ack-form{display:flex;flex-direction:column;gap:var(--space-2)}.ops-ack-label{color:var(--text-secondary);font-size:var(--text-xs)}.ops-ack-note{width:100%;min-width:0;min-height:5em;font-size:var(--text-input);resize:vertical}.ops-check{display:flex;align-items:center;gap:var(--space-2);min-height:44px;font-size:var(--text-sm)}.ops-check input{width:20px;height:20px}.ops-ack-actions,.ops-mute-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.ops-mute{display:flex;flex-direction:column;gap:var(--space-2)}.ops-action-note{margin-bottom:0}.ops-load,.ops-system{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.ops-screen-title{margin:0;font-size:var(--text-lg);line-height:1.3}.ops-load-actions{list-style:none;border:1px solid var(--glass-border);border-radius:var(--radius-sm);font-size:var(--text-sm)}.ops-load-action{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1.3fr);gap:var(--space-2) var(--space-3);align-items:start;padding:var(--space-2) 10px;border-bottom:1px solid var(--glass-border)}.ops-load-action:last-child{border-bottom:0}.ops-load-metric{min-width:0;overflow-wrap:anywhere;color:var(--text-primary)}.ops-load-win{display:flex;flex-direction:column;gap:2px;min-width:0}.ops-load-win-label{color:var(--text-secondary);font-size:var(--text-xs)}.ops-load-win-nums{overflow-wrap:anywhere}.ops-load-win .sparkline{height:28px}@media (max-width:640px){.ops-load-action{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-load-metric{grid-column:1/-1}}.ops-load-house{width:100%;border-collapse:collapse;font-size:var(--text-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ops-load-house th{color:var(--text-secondary);font-size:var(--text-xs);font-weight:500;text-align:left}.ops-load-house td,.ops-load-house th{padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--glass-border)}.ops-load-house tbody tr:last-child td{border-bottom:0}.ops-load-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);align-items:start}@media (max-width:800px){.ops-load-pair{grid-template-columns:minmax(0,1fr)}}.ops-meter{height:8px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--ops-tone) 14%,transparent);overflow:hidden}.ops-meter-bar{display:block;height:100%;background:var(--ops-tone)}.ops-sys,.ops-sys-checks,.ops-sys-list{list-style:none}.ops-sys{border:1px solid var(--glass-border);border-radius:var(--radius-sm);font-size:var(--text-sm)}.ops-sys-row{display:grid;grid-template-columns:10px minmax(8rem,13rem) minmax(0,1fr);gap:var(--space-1) var(--space-3);align-items:baseline;padding:var(--space-2) 10px;border-bottom:1px solid var(--glass-border)}.ops-sys-row:last-child{border-bottom:0}.ops-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--ops-tone);flex:none}.ops-sys-name{font-weight:600;min-width:0}.ops-sys-value{min-width:0;color:var(--text-secondary);overflow-wrap:anywhere}.ops-sys-details{grid-column:3;display:flex;flex-direction:column;gap:var(--space-1);min-width:0}@media (max-width:640px){.ops-sys-row{grid-template-columns:10px minmax(0,1fr)}.ops-sys-details,.ops-sys-value{grid-column:2}}.ops-sys-warn{margin:0;color:var(--rarity-legendary);overflow-wrap:anywhere}.ops-sys-list{display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere}.ops-sys-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:2px var(--space-3)}.ops-sys-check{display:grid;grid-template-columns:10px minmax(0,1fr);gap:var(--space-2);align-items:baseline;min-width:0}.ops-sys-check-body{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 var(--space-2);min-width:0;overflow-wrap:anywhere}.ops-dot-none{background:transparent;border:1px solid var(--glass-border)}.ops-sys-link{color:var(--accent-light)}.ops-audit-reason{flex-basis:100%;padding-block:2px;overflow-wrap:anywhere}.ops-bind{flex-direction:column;min-width:0}.ops-bind,.ops-bind-actions{display:flex;gap:var(--space-2)}.ops-bind-actions{flex-wrap:wrap;align-items:center}.ops-bind-step{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--glass-border);border-radius:var(--radius-sm);overflow-wrap:anywhere}.ops-bind-step p{margin:0}.ops-bind-code{font-size:var(--text-lg);letter-spacing:.15em}.ops-bind-code,.ops-bind-env{-webkit-user-select:all;user-select:all}.ops-bind-env{overflow-wrap:anywhere}.ops-preview{display:flex;flex-direction:column;gap:var(--space-8);padding-block:var(--space-4);width:100%;min-width:0}.ops-preview-index{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-inline:var(--space-4)}.ops-preview-sample{scroll-margin-top:var(--topbar-h)}.ops-preview-sample>.panel-title{max-width:1100px;margin:0 auto;padding-inline:var(--space-4)}