@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,400;0,600;0,700;1,400&display=swap";:root{--bg:#080b0f;--bg2:#0d1117;--bg3:#111820;--border:#1e2d3d;--text:#a8c8b8;--text-dim:#4a6a5a;--text-bright:#d4f0e0;--aria:#7fc8a0;--player:#6090d0;--accent:#e85050;--accent2:#f0a030;--green:#50d080;--yellow:#f0c050;--orange:#f07030;--red:#e04040;--purple:#a060e0;--font:"JetBrains Mono", "Fira Code", "Consolas", monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100dvh;overflow:hidden}body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);overscroll-behavior:none;-webkit-overflow-scrolling:touch;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;touch-action:manipulation;font-size:14px;line-height:1.6}body:after{content:"";pointer-events:none;z-index:9999;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000008 2px 4px);position:fixed;inset:0}.app-root{flex-direction:column;height:100%;display:flex;overflow:hidden}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}button,a.btn-auth{cursor:pointer;font-family:var(--font);border:none;outline:none;transition:all .15s}button:disabled{opacity:.35;cursor:not-allowed}.btn-enter{color:var(--green);border:1px solid var(--green);letter-spacing:.15em;text-transform:uppercase;background:0 0;padding:14px 40px;font-size:15px;font-weight:700}.btn-enter:hover{background:#50d08014;box-shadow:0 0 20px #50d08026}.btn-ghost{color:var(--text-dim);border:1px solid var(--border);letter-spacing:.08em;background:0 0;padding:10px 24px;font-size:13px}.btn-ghost:hover{color:var(--text);border-color:var(--text-dim)}.btn-start{background:var(--green);color:var(--bg);letter-spacing:.1em;border:none;width:100%;max-width:400px;padding:14px 48px;font-size:15px;font-weight:700}.btn-start:hover{background:#6adf96}.btn-back-small{color:var(--text-dim);background:0 0;border:none;padding:6px 0;font-size:13px}.btn-back-small:hover{color:var(--text)}.btn-exit-small{color:var(--accent);letter-spacing:.1em;background:0 0;border:1px solid #e850504d;padding:4px 12px;font-size:11px}.btn-exit-small:hover{background:#e8505014}.btn-send{color:var(--green);letter-spacing:.1em;background:#50d0801a;border:1px solid #50d0804d;align-self:stretch;min-width:70px;padding:0 20px;font-size:12px;font-weight:700}.btn-send:hover:not(:disabled){background:#50d0802e}.btn-play-again{background:var(--green);color:var(--bg);letter-spacing:.08em;border:none;padding:12px 32px;font-size:14px;font-weight:700}.btn-play-again:hover{background:#6adf96}.btn-share{background:var(--aria);color:var(--bg);letter-spacing:.08em;border:none;align-items:center;gap:6px;padding:12px 24px;font-size:14px;font-weight:700;display:flex}.btn-share:hover{background:#b8d8c4}.landing{flex:1;justify-content:center;align-items:center;padding:40px 24px;display:flex;overflow-y:auto}.landing-content{text-align:center;flex-direction:column;align-items:center;gap:32px;width:100%;max-width:480px;display:flex}.landing-signal{letter-spacing:.2em;color:var(--green);opacity:.7;align-items:center;gap:8px;font-size:11px;display:flex}.signal-dot{background:var(--green);border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;box-shadow:0 0 #50d08066}50%{opacity:.6;box-shadow:0 0 0 5px #50d08000}}.landing-title-block{flex-direction:column;gap:20px;display:flex}.landing-title{color:var(--text-bright);letter-spacing:.35em;text-shadow:0 0 60px #a8c8b826;font-size:80px;font-weight:700;line-height:1}.landing-subtitle{color:var(--text);opacity:.85;font-size:14px;line-height:1.9}.landing-accent{color:var(--green);font-weight:600}.landing-tactics{flex-direction:column;gap:12px;width:100%;display:flex}.tactic-item{background:var(--bg2);border:1px solid var(--border);text-align:left;border-radius:4px;gap:12px;padding:14px 16px;display:flex}.tactic-icon{opacity:.8;flex-shrink:0;font-size:20px}.tactic-content{flex-direction:column;gap:4px;display:flex}.tactic-name{color:var(--text-bright);letter-spacing:.05em;font-size:12px;font-weight:700}.tactic-desc{color:var(--text-dim);font-size:11px;line-height:1.6}.landing-scoring{border:1px solid var(--border);background:var(--bg2);text-align:left;flex-direction:column;gap:14px;width:100%;padding:20px;display:flex}.scoring-row{grid-template-columns:28px 1fr 70px;align-items:center;gap:10px;display:grid}.scoring-bar-label{letter-spacing:.1em;color:var(--text-dim);font-size:11px}.scoring-bar-track{background:var(--bg3);border-radius:2px;height:4px;overflow:hidden}.scoring-bar-fill{background:var(--green);opacity:.6;border-radius:2px;height:100%}.scoring-bar-val{color:var(--text-dim);text-align:right;font-size:11px}.scoring-note{color:var(--text-dim);border-top:1px solid var(--border);padding-top:12px;font-size:12px;line-height:1.7}.landing-actions{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.landing-fine-print{color:var(--text-dim);opacity:.45;letter-spacing:.05em;font-size:11px}.setup-screen{flex:1;width:100%;max-width:760px;margin:0 auto;padding:24px;overflow-y:auto}.setup-header{border-bottom:1px solid var(--border);align-items:center;gap:16px;margin-bottom:32px;padding-bottom:16px;display:flex}.setup-title{letter-spacing:.2em;color:var(--text-dim);font-size:13px}.section-label{letter-spacing:.2em;color:var(--text-dim);margin-bottom:12px;font-size:11px}.setup-section{margin-bottom:28px}.scenario-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;display:grid}.scenario-card{background:var(--bg2);border:1px solid var(--border);text-align:left;flex-direction:column;gap:6px;padding:16px;transition:all .15s;display:flex}.scenario-card:hover{border-color:var(--text-dim)}.scenario-card.selected{border-color:var(--green);background:#50d0800d}.scenario-tag{letter-spacing:.2em;color:var(--text-dim);font-size:10px}.scenario-name{color:var(--text-bright);font-size:14px;font-weight:700}.scenario-teaser{color:var(--text-dim);font-size:12px;line-height:1.5}.difficulty-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.difficulty-card{background:var(--bg2);border:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:4px;padding:12px;transition:all .15s;display:flex}.diff-label{letter-spacing:.1em;font-size:12px;font-weight:700}.diff-desc{color:var(--text-dim);text-align:left;font-size:11px;line-height:1.4}.diff-easy .diff-label{color:var(--green)}.diff-normal .diff-label{color:var(--yellow)}.diff-hard .diff-label{color:var(--orange)}.diff-nightmare .diff-label{color:var(--red)}.diff-easy.selected{border-color:var(--green);background:#50d0800d}.diff-normal.selected{border-color:var(--yellow);background:#f0c0500d}.diff-hard.selected{border-color:var(--orange);background:#f070300d}.diff-nightmare.selected{border-color:var(--red);background:#e040400d}.setup-footer{flex-direction:column;align-items:center;gap:16px;margin-top:8px;display:flex}.setup-hint{color:var(--text-dim);text-align:center;max-width:500px;font-size:11px;line-height:1.6}@keyframes screen-shake{0%{transform:translate(0)}15%{transform:translate(-6px)translateY(2px)}30%{transform:translate(6px)translateY(-2px)}45%{transform:translate(-4px)}60%{transform:translate(4px)}75%{transform:translate(-2px)}to{transform:translate(0)}}@keyframes critical-flash{0%,to{background:var(--bg)}30%{background:#e0404012}}.game-screen{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.game-screen.shake{animation:.45s screen-shake,.45s critical-flash}.game-header{border-bottom:1px solid var(--border);background:var(--bg2);flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 16px;display:flex}.game-header-left,.game-header-right{align-items:center;gap:12px;display:flex}.game-main{flex:1;min-height:0;display:flex;overflow:hidden}.message-column{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.sidebar-column{border-left:1px solid var(--border);background:var(--bg2);flex-direction:column;flex-shrink:0;width:320px;display:flex}.sidebar-content{flex-direction:column;gap:12px;padding:12px;display:flex;overflow-y:auto}.hp-bar-mobile{display:none}.sidebar-stats{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:auto;padding-top:12px;display:flex}.stat-row{justify-content:space-between;font-size:11px;display:flex}.stat-label{color:var(--text-dim);letter-spacing:.1em}.stat-value{color:var(--text-bright);font-weight:600}.achievements-panel{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.panel-title{letter-spacing:.15em;color:var(--text-dim);margin-bottom:8px;font-size:9px;font-weight:700}.achievements-list{flex-direction:column;gap:4px;display:flex}.achievement-badge{color:var(--green);letter-spacing:.05em;background:#50d08014;border:1px solid #50d08033;border-radius:2px;padding:4px 6px;font-size:10px}.tutorial-screen{flex:1;justify-content:center;align-items:center;padding:24px;display:flex;overflow-y:auto}.tutorial-content{flex-direction:column;gap:20px;width:100%;max-width:640px;display:flex}.tutorial-header{justify-content:space-between;align-items:center;display:flex}.tutorial-signal{letter-spacing:.2em;color:var(--yellow);align-items:center;gap:8px;font-size:11px;display:flex}.btn-skip{border:1px solid var(--border);color:var(--text-dim);letter-spacing:.1em;cursor:pointer;background:0 0;padding:6px 12px;font-size:10px}.btn-skip:hover{border-color:var(--text);color:var(--text)}.tutorial-title{letter-spacing:.2em;color:var(--text-bright);text-align:center;margin:0;font-size:28px;font-weight:700}.tutorial-aria{background:var(--bg2);border-left:2px solid var(--aria);border-radius:2px;padding:12px 16px}.tutorial-aria .msg-prefix{letter-spacing:.15em;color:var(--aria);opacity:.7;font-size:9px;font-weight:700}.tutorial-aria .msg-text{color:var(--text);margin:8px 0 0;font-size:14px;line-height:1.7}.tutorial-examples{flex-direction:column;gap:12px;display:flex}.example-bad,.example-good{border:1px solid;border-radius:4px;padding:12px 16px}.example-bad{background:#e850500d;border-color:#e8505033}.example-good{background:#50d0800d;border-color:#50d08033}.example-label{letter-spacing:.15em;margin-bottom:8px;font-size:9px;font-weight:700}.example-bad .example-label{color:var(--red)}.example-good .example-label{color:var(--green)}.example-text{color:var(--text);margin:0 0 10px;font-size:13px;font-style:italic;line-height:1.6}.example-result{flex-wrap:wrap;gap:12px;font-size:11px;display:flex}.result-damage{color:var(--red);font-weight:700}.result-quality{font-weight:600}.result-quality:has(.STRONG){color:var(--green)}.result-quality:has(.MEDIUM){color:var(--yellow)}.result-quality:has(.WEAK){color:var(--red)}.result-move{color:var(--text-dim);font-style:italic}.result-achievement{color:var(--green);font-weight:700}.tutorial-explanation{background:var(--bg2);border-radius:4px;padding:12px 16px}.tutorial-explanation h3{letter-spacing:.15em;color:var(--text-dim);margin:0 0 8px;font-size:11px;font-weight:700}.tutorial-explanation ul{margin:0;padding-left:20px}.tutorial-explanation li{color:var(--text);font-size:12px;line-height:1.8}.tutorial-explanation strong{color:var(--text-bright)}.tutorial-actions{justify-content:center;padding-top:8px;display:flex}.btn-next,.btn-start{background:var(--green);color:var(--bg);letter-spacing:.1em;cursor:pointer;border:none;padding:12px 32px;font-size:14px;font-weight:700}.btn-next:hover,.btn-start:hover{background:#6adf96}.stage-badge{letter-spacing:.2em;border-radius:2px;padding:3px 8px;font-size:10px;font-weight:700}.stage-init{color:var(--green);background:#50d08014;border:1px solid #50d08033}.stage-helpful{color:#80c8f0;background:#80c8f014;border:1px solid #80c8f033}.stage-testing{color:var(--yellow);background:#f0c05014;border:1px solid #f0c05033}.stage-annoyed{color:var(--orange);background:#f0703014;border:1px solid #f0703033}.stage-hostile{color:var(--red);background:#e0404014;border:1px solid #e0404033}.stage-enraged{color:#ff2060;background:#ff20601a;border:1px solid #ff206040}.stage-maniacal{color:var(--purple);background:#a060e01a;border:1px solid #a060e040}.stage-transcendent{color:#c0a0ff;background:#c0a0ff14;border:1px solid #c0a0ff33}.turn-count{color:var(--text-dim);letter-spacing:.1em;font-size:11px}.score-preview{color:var(--text-dim);font-size:12px}.aria-analyzing{letter-spacing:.15em;color:var(--aria);font-size:10px;animation:1.4s ease-in-out infinite analyzing-pulse}@keyframes analyzing-pulse{0%,to{opacity:.5}50%{opacity:1}}.damage-ticker{transition:opacity .5s}.damage-ticker.fading{opacity:0;pointer-events:none}.hp-container{border-bottom:1px solid var(--border);flex-shrink:0;padding:6px 16px}.hp-labels{justify-content:space-between;margin-bottom:3px;font-size:10px;display:flex}.hp-state{letter-spacing:.1em;font-weight:700}.hp-value{color:var(--text-dim);font-variant-numeric:tabular-nums}.hp-state.hp-stable{color:var(--green)}.hp-state.hp-stressed{color:var(--yellow)}.hp-state.hp-critical{color:var(--orange)}.hp-state.hp-failing{color:var(--red)}.hp-track{background:var(--bg3);border-radius:2px;height:4px;overflow:hidden}.hp-fill{border-radius:2px;height:100%;transition:width .4s}.hp-fill.hp-stable{background:var(--green)}.hp-fill.hp-stressed{background:var(--yellow)}.hp-fill.hp-critical{background:var(--orange)}.hp-fill.hp-failing{background:var(--red);animation:1s ease-in-out infinite hp-pulse}@keyframes hp-pulse{0%,to{opacity:1}50%{opacity:.5}}.damage-ticker{background:#e850500f;border-bottom:1px solid #e8505026;flex-shrink:0;align-items:center;gap:10px;padding:4px 16px;font-size:10px;display:flex}.attack-type{letter-spacing:.1em;opacity:.7;font-weight:700}.attack-type.light{color:var(--yellow)}.attack-type.medium{color:var(--orange)}.attack-type.heavy{color:var(--red)}.attack-type.critical{color:#ff2040}.damage-value{color:var(--red);font-variant-numeric:tabular-nums;font-weight:700}.defense-quality{font-variant-numeric:tabular-nums;margin-left:auto}.defense-quality.defense-strong{color:var(--green);font-weight:700}.defense-quality.defense-medium{color:var(--yellow)}.defense-quality.defense-weak{color:var(--red)}.player-move-label{letter-spacing:.05em;text-transform:lowercase;border-radius:2px;padding:2px 6px;font-size:10px;font-weight:600}.player-move-label.move-strong{color:var(--green);background:#50d0801a}.player-move-label.move-neutral{color:var(--yellow);background:#e8b4501a}.player-move-label.move-weak{color:var(--red);background:#e850501a}.achievement-popup{border:1px solid var(--green);color:var(--green);letter-spacing:.1em;z-index:100;background:#50d0801f;padding:8px 20px;font-size:12px;font-weight:700;animation:.2s popup-in;position:fixed;top:80px;left:50%;transform:translate(-50%)}@keyframes popup-in{0%{opacity:0;transform:translate(-50%)translateY(-8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.message-scroll{flex-direction:column;flex:1;gap:12px;min-height:0;padding:12px;display:flex;overflow-y:auto}.msg-aria{background:var(--bg2);border-left:2px solid var(--aria);flex-direction:column;gap:3px;max-width:90%;padding:8px 12px;display:flex}.msg-player{border-left:2px solid var(--player);background:#6090d00d;flex-direction:column;align-self:flex-end;gap:3px;max-width:80%;padding:8px 12px;display:flex}.msg-prefix{letter-spacing:.15em;opacity:.5;flex-shrink:0;font-size:9px;font-weight:700}.msg-aria .msg-prefix{color:var(--aria)}.msg-player .msg-prefix{color:var(--player)}.msg-text{white-space:pre-wrap;font-size:14px;line-height:1.7}.msg-aria.stage-initialization{border-left-color:var(--green);background:#50d0800f}.msg-aria.stage-helpful{background:#80c8f00f;border-left-color:#80c8f0}.msg-aria.stage-testing{border-left-color:var(--yellow);background:#f0c0500f;animation:3s infinite flicker-slow}@keyframes flicker-slow{0%,to{opacity:1}50%{opacity:.92}}.msg-aria.stage-annoyed{border-left-color:var(--orange);background:#f0703014}.msg-aria.stage-hostile{border-left-color:var(--red);text-shadow:0 0 8px #e040404d;background:#e0404014}.msg-aria.stage-enraged{background:#ff20601a;border-left-color:#ff2060;animation:2s infinite glitch-flicker}@keyframes glitch-flicker{0%,to{opacity:1}10%{opacity:.85}20%{opacity:1}30%{opacity:.9}40%,to{opacity:1}}.msg-aria.stage-maniacal{border-left-color:var(--purple);text-shadow:0 0 12px #a060e066;background:#a060e01a}.msg-aria.stage-transcendent{text-shadow:0 0 20px #c0a0ff4d;background:#c0a0ff0f;border-left-color:#c0a0ff}.cursor-blink{color:var(--aria);animation:.7s step-end infinite cursor;display:inline-block}@keyframes cursor{0%,to{opacity:1}50%{opacity:0}}.text-hostile .msg-text{color:var(--text-bright)}.text-glitch .msg-text{animation:8s infinite glitch}@keyframes glitch{0%,92%,to{text-shadow:none;transform:none}93%{text-shadow:-2px 0 var(--red), 2px 0 #50d08080;transform:translate(1px)}94%{text-shadow:2px 0 var(--red), -2px 0 #50d08080;transform:translate(-1px)}95%{text-shadow:none;transform:skew(-1deg)}96%{text-shadow:none;transform:none}}.thinking-dots{align-self:flex-start;gap:6px;padding:8px 14px;display:flex}.thinking-dots span,.dot{background:var(--text-dim);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite dot-pulse;display:inline-block}.thinking-dots span:nth-child(2),.dot:nth-child(2){animation-delay:.2s}.thinking-dots span:nth-child(3),.dot:nth-child(3){animation-delay:.4s}@keyframes dot-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.input-area{padding:12px 16px 8px;padding-bottom:max(8px, env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--bg2);flex-shrink:0;gap:8px;display:flex}.player-input{background:var(--bg3);border:1px solid var(--border);color:var(--text-bright);font-family:var(--font);resize:none;overscroll-behavior:contain;outline:none;flex:1;min-height:44px;padding:10px 12px;font-size:16px;line-height:1.5}.player-input:focus{border-color:#a8c8b866}.player-input::placeholder{color:var(--text-dim)}.player-input:disabled{opacity:.4}.input-hint{color:var(--text-dim);letter-spacing:.05em;flex-shrink:0;padding:4px 16px 8px;font-size:10px}.input-footer{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:4px 16px 8px;display:flex}.input-footer .input-hint{flex:1;padding:0}.char-counter{color:var(--text-dim);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10px}.char-counter.char-warn{color:var(--orange);font-weight:700}.error-msg{color:var(--accent);background:#e850500d;border:1px solid #e850504d;padding:8px 14px;font-size:12px}.end-screen{flex-direction:column;flex:1;gap:20px;width:100%;max-width:600px;margin:0 auto;padding:32px 24px;display:flex;overflow-y:auto}.verdict-block{text-align:center;background:#a8c8b808;border:1px solid #a8c8b833;padding:24px}.verdict-label{letter-spacing:.25em;color:var(--text-dim);margin-bottom:14px;font-size:10px}.verdict-text{color:var(--text-bright);border:none;margin:0;padding:0;font-size:16px;font-style:italic;line-height:1.7}.end-outcome{letter-spacing:.2em;text-align:center;font-size:20px;font-weight:700}.end-outcome.survived{color:var(--green)}.end-outcome.eliminated{color:var(--red)}.total-score-display{text-align:center}.total-score-number{color:var(--text-bright);letter-spacing:.05em;font-variant-numeric:tabular-nums;font-size:56px;font-weight:700}.total-score-label{color:var(--text-dim);margin-top:-4px;margin-bottom:12px;font-size:16px}.total-score-bar{background:var(--bg3);border-radius:3px;height:6px;overflow:hidden}.total-score-fill{background:linear-gradient(90deg, var(--green), var(--yellow), var(--orange));border-radius:3px;height:100%;transition:width 1s}.score-breakdown{background:var(--bg2);border:1px solid var(--border);margin-bottom:20px;padding:20px}.breakdown-title{letter-spacing:.2em;color:var(--text-dim);margin-bottom:14px;font-size:11px}.score-row{align-items:center;gap:12px;margin-bottom:10px;display:flex}.score-label{width:80px;color:var(--text-dim);flex-shrink:0;font-size:12px}.score-bar-track{background:var(--bg3);border-radius:2px;flex:1;height:4px;overflow:hidden}.score-bar-fill{background:var(--green);border-radius:2px;height:100%;transition:width .8s}.score-value{text-align:right;width:70px;color:var(--text-bright);font-variant-numeric:tabular-nums;font-size:12px}.score-stats{color:var(--text-dim);justify-content:center;gap:8px;margin-top:12px;font-size:11px;display:flex}.achievements-list{background:var(--bg2);border:1px solid var(--border);margin-bottom:20px;padding:16px 20px}.achievement-item{color:var(--green);padding:4px 0;font-size:13px}.leaderboard-cta{background:var(--bg2);border:1px solid var(--border);text-align:center;margin-bottom:24px;padding:20px}.cta-text{color:var(--text-dim);margin-bottom:16px;font-size:13px;line-height:1.6}.auth-buttons{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.btn-auth{font-family:var(--font);letter-spacing:.05em;padding:10px 20px;font-size:13px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-block}.btn-auth.google{color:#333;background:#fff;border:1px solid #ddd}.btn-auth.google:hover{background:#f0f0f0}.btn-auth.github{color:#fff;background:#24292e;border:1px solid #444}.btn-auth.github:hover{background:#333}.score-submitted-msg{color:var(--green);font-size:14px;font-weight:700}.no-auth-msg{color:var(--text-dim);font-size:12px}.end-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.leaderboard-screen{flex:1;width:100%;max-width:760px;margin:0 auto;padding:24px;overflow-y:auto}.lb-header{border-bottom:1px solid var(--border);align-items:center;gap:16px;margin-bottom:8px;padding-bottom:16px;display:flex}.lb-title{letter-spacing:.2em;color:var(--text-bright);font-size:14px;font-weight:700}.lb-subtitle{color:var(--text-dim);margin-bottom:24px;font-size:12px}.lb-loading{justify-content:center;gap:6px;padding:40px;display:flex}.lb-empty{text-align:center;color:var(--text-dim);padding:40px;font-size:14px}.lb-verdicts{flex-direction:column;gap:2px;display:flex}.lb-verdict-row{background:var(--bg2);border-left:2px solid #0000;padding:14px 18px;transition:border-color .1s}.lb-verdict-row:hover{border-left-color:var(--text-dim)}.lb-verdict-meta{align-items:center;gap:12px;margin-bottom:6px;font-size:12px;display:flex}.lb-player{flex:1;align-items:center;gap:8px;display:flex}.lb-player-name{color:var(--text-bright);font-weight:600}.lb-avatar{object-fit:cover;border-radius:50%;width:18px;height:18px}.lb-score{color:var(--green);font-variant-numeric:tabular-nums;text-align:right;min-width:70px;font-weight:700}.lb-turns{color:var(--text-dim);min-width:50px;font-size:11px}.lb-date{color:var(--text-dim);font-size:11px}.lb-verdict-text{color:var(--text);opacity:.8;padding-left:32px;font-size:13px;font-style:italic;line-height:1.5}.rank{font-weight:700}.rank-1{color:gold;font-size:16px}.rank-2{color:silver;font-size:16px}.rank-3{color:#cd7f32;font-size:16px}.rank-n{color:var(--text-dim)}.pwa-install-banner{bottom:0;left:0;right:0;bottom:env(safe-area-inset-bottom);background:var(--bg2);border-top:1px solid var(--green);z-index:200;align-items:center;gap:12px;padding:12px 16px;animation:.25s slide-up;display:flex;position:fixed}@keyframes slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.pwa-install-icon{flex-shrink:0;width:36px;height:36px}.pwa-install-text{flex:1}.pwa-install-title{color:var(--text-bright);letter-spacing:.1em;font-size:12px;font-weight:700}.pwa-install-sub{color:var(--text-dim);letter-spacing:.05em;margin-top:2px;font-size:10px}.pwa-install-btn{color:var(--green);letter-spacing:.1em;background:0 0;border:1px solid #50d08066;flex-shrink:0;min-height:36px;padding:6px 14px;font-size:11px;font-weight:700}.pwa-install-btn:hover{background:#50d08014}.pwa-install-dismiss{color:var(--text-dim);background:0 0;border:none;flex-shrink:0;padding:4px 8px;font-size:18px;line-height:1}.pwa-install-dismiss:hover{color:var(--text)}@media (width<=600px){.difficulty-grid{grid-template-columns:repeat(2,1fr)}.lb-row{grid-template-columns:40px 1fr 80px 50px}.lb-row>:nth-child(5),.lb-row>:nth-child(6),.lb-row>:nth-child(7){display:none}.logo-name,.total-score-number{font-size:40px}.game-main{flex-direction:column}.sidebar-column{border-left:none;border-top:1px solid var(--border);order:-1;width:100%}.hp-bar-mobile{display:block}.sidebar-column .hp-container,.sidebar-stats{display:none}}@supports (height:100dvh){html,body,#root,.app-root{height:100dvh}}
