:root{--bg: #0a0a0a;--bg-soft: #111;--bg-card: #141414;--bg-raised: #1a1a1a;--accent: #22d3ee;--accent-bright: #53eafd;--accent-soft: rgba(34, 211, 238, .12);--hairline: rgba(255, 255, 255, .04);--line: rgba(83, 234, 253, .14);--line-strong: rgba(83, 234, 253, .5);--text: #f5f5f5;--text-dim: #a1a1a1;--text-faint: #737373;--good: #3fb950;--bad: #f85149;--common: #a1a1a1;--rare: #22d3ee;--epic: #b980d3;--legendary: #e1a41f;--font-display: "JetBrains Mono", ui-monospace, monospace;--font-heading: "DM Sans", "Inter", sans-serif;--font-body: "Inter", "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:14px;line-height:1.5;min-height:100vh}#app{min-height:100vh}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:var(--bg-soft);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--text);text-decoration:none;letter-spacing:.5px}.nav{display:flex;align-items:center;gap:4px}.nav a,.nav button{font-family:var(--font-heading);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);text-decoration:none;background:transparent;border:none;padding:8px 12px;cursor:pointer;transition:color .15s}.nav a:hover,.nav button:hover{color:var(--text)}.nav a.router-link-active{color:var(--accent-bright);box-shadow:inset 0 -2px 0 var(--accent)}.main{flex:1;width:100%;display:flex;flex-direction:column}.page{width:100%;max-width:720px;margin:0 auto;padding:28px 16px 64px}.page-title{font-family:var(--font-display);font-size:26px;font-weight:700;margin:0 0 20px;letter-spacing:1px}.section-title{margin:28px 0 12px;font-family:var(--font-heading);font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--text-dim)}.status{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:24px}.status>div{background:var(--bg-soft);border:1px solid var(--line);border-radius:2px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;box-shadow:0 0 44px #00000080,inset 0 0 0 1px var(--hairline)}.label{font-family:var(--font-heading);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint)}.value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;color:var(--text)}.score{color:var(--good)}.negative{color:var(--bad)}.draw-area{text-align:center;padding:36px 0 20px}.hint{font-family:var(--font-heading);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint)}.error{color:var(--bad);font-size:13px}.error.success{color:var(--good)}.big-countdown{display:inline-block;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:40px;font-weight:700;color:var(--accent-bright);text-shadow:0 0 24px rgba(34,211,238,.35);margin-bottom:10px}button{cursor:pointer;border:none;border-radius:2px;font-size:14px;font-family:var(--font-body)}button.primary{background:var(--accent-soft);border:1px solid var(--line-strong);color:#fff;padding:12px 40px;font-family:var(--font-heading);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;box-shadow:inset 0 -3px #22d3eee6;transition:background .15s,box-shadow .15s}button.primary:hover:not(:disabled){background:#22d3ee33;box-shadow:inset 0 -3px #22d3eee6,0 0 28px #22d3ee40}button.primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:inset 0 -3px #53eafd66}button.ghost{background:transparent;color:var(--text-dim);padding:6px 10px;border-radius:2px}button.ghost:hover{color:var(--text);background:#ffffff0a}.draw-btn{font-size:15px;padding:14px 60px}.result-area{display:flex;justify-content:center;padding-top:20px}.card{width:260px;border:1px solid var(--line);border-radius:2px;background:var(--bg-card);padding:22px 20px;text-align:center;box-shadow:0 0 44px #0000008c,inset 0 0 0 1px var(--hairline)}.card-rare{display:inline-block;font-family:var(--font-heading);font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:3px 12px;border:1px solid currentColor;margin-bottom:14px}.card-name{font-family:var(--font-display);font-size:22px;font-weight:700;margin-bottom:10px}.card-points{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;margin-bottom:10px}.card-desc{font-size:12px;color:var(--text-dim)}.rarity-common{color:var(--common)}.rarity-common.card{border-color:#a1a1a159}.rarity-rare{color:var(--rare)}.rarity-rare.card{border-color:#22d3ee73}.rarity-epic{color:var(--epic)}.rarity-epic.card{border-color:#b980d373}.rarity-legendary{color:var(--legendary)}.rarity-legendary.card{border-color:#e1a41f8c;box-shadow:0 0 44px #e1a41f1f,inset 0 0 0 1px var(--hairline)}.rank-table{width:100%;border-collapse:collapse;background:var(--bg-soft);border:1px solid var(--line);border-radius:2px;overflow:hidden;box-shadow:0 0 44px #00000080,inset 0 0 0 1px var(--hairline)}.rank-table th,.rank-table td{padding:11px 14px;text-align:left;border-bottom:1px solid rgba(83,234,253,.08)}.rank-table th{font-family:var(--font-heading);font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--text-dim);background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.rank-table tr:last-child td{border-bottom:none}.rank-table td{font-size:14px}.rank-no{width:44px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:700;color:var(--text-dim)}.rank-table tbody tr:nth-child(1) .rank-no{color:#fcd34d}.rank-table tbody tr:nth-child(2) .rank-no{color:#d4d4d8}.rank-table tbody tr:nth-child(3) .rank-no{color:#fb923c}.rank-table tbody tr:hover{background:#ffffff05}.auth-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:16px}.auth-hero{text-align:center}.auth-title{font-family:var(--font-display);font-weight:700;font-size:32px;letter-spacing:2px;margin:0 0 8px}.auth-sub{font-family:var(--font-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);margin:0}.auth-card{width:100%;max-width:380px;background:var(--bg-soft);border:1px solid var(--line);border-radius:2px;padding:32px;box-shadow:0 0 44px #0000008c,inset 0 0 0 1px var(--hairline)}.auth-tabs{display:flex;gap:6px;margin-bottom:24px}.auth-tabs button{flex:1;padding:9px;background:transparent;color:var(--text-dim);border:1px solid var(--line);border-radius:2px;font-family:var(--font-heading);font-size:12px;letter-spacing:.16em;text-transform:uppercase}.auth-tabs button.active{color:var(--accent-bright);border-color:var(--line-strong);background:var(--accent-soft);box-shadow:inset 0 -2px 0 var(--accent)}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-form label{display:flex;flex-direction:column;gap:6px;font-family:var(--font-heading);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim)}.auth-form input{background:var(--bg);border:1px solid var(--line);border-radius:2px;color:var(--text);padding:11px 12px;font-size:14px;font-family:var(--font-body);outline:none;transition:border-color .15s}.auth-form input:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.countdown{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.home-full{flex:1;display:flex;flex-direction:column;min-height:0}.home-user{font-family:var(--font-heading);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);margin:0;padding:18px 24px 0}.elo-card{position:relative;flex:1;min-height:240px;display:flex;align-items:center;gap:28px;margin:0;background:var(--bg-soft);border:1px solid var(--line);border-radius:2px;padding:48px 40px;overflow:hidden;box-shadow:0 0 44px #00000080,inset 0 0 0 1px var(--hairline)}.elo-line{position:absolute;left:0;right:0;top:50%;height:1px;background:#53eafd38;pointer-events:none;z-index:0}.elo-marker{position:relative;z-index:1;flex-shrink:0;width:0;height:0;margin-left:8px;border-top:24.3px solid transparent;border-bottom:24.3px solid transparent;border-left:28px solid #ffffff;filter:drop-shadow(0 0 8px rgba(255,255,255,.3))}.elo-left{position:relative;z-index:1;display:flex;align-items:center;gap:22px}.elo-info{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:200px}.elo-label{font-family:var(--font-heading);font-size:16px;font-weight:600;letter-spacing:.3em;color:var(--text-dim)}.elo-value{font-family:var(--font-mono);font-size:clamp(60px,12vw,150px);font-weight:700;line-height:1.05;font-variant-numeric:tabular-nums;text-shadow:0 0 16px color-mix(in srgb,currentColor 55%,transparent),0 0 44px color-mix(in srgb,currentColor 22%,transparent)}.elo-rank{font-family:var(--font-mono);font-size:20px;font-weight:500;letter-spacing:.06em;color:var(--accent-bright)}.draw-zone{position:relative;z-index:1;flex:1;display:flex;align-items:center;justify-content:center;min-width:0}.draw-glass{position:relative;width:100%;max-width:420px;padding:30px;border-radius:14px;background:linear-gradient(135deg,#ffffff14,#ffffff05 60%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px #ffffff1f,0 8px 32px #0006;display:flex;flex-direction:column;gap:18px}.draw-glass:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(120% 90% at 15% 0%,rgba(34,211,238,.1),transparent 55%);pointer-events:none}.glass-label{font-family:var(--font-heading);font-size:13px;letter-spacing:.2em;color:var(--text-faint)}.last-draw{position:relative;display:flex;flex-direction:column;gap:8px}.last-name{font-size:28px;font-weight:600}.last-points{font-family:var(--font-mono);font-size:26px;font-weight:700;color:var(--good)}.last-empty{font-size:15px;color:var(--text-faint)}.draw-glass .draw-btn{position:relative;width:100%;font-size:16px;padding:16px 0}.draw-btn.counting,.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.rng-number{font-family:var(--font-mono);font-size:34px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text);letter-spacing:.06em;margin-bottom:4px}.guess-glass{gap:12px}.ep-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:linear-gradient(90deg,#22d3ee40,#22d3eed9);outline:none;margin:8px 0 4px}.ep-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:22px;height:22px;border-radius:2px;background:var(--accent);border:1px solid rgba(255,255,255,.5);cursor:pointer;box-shadow:0 0 10px #22d3ee80}.ep-slider::-moz-range-thumb{width:22px;height:22px;border-radius:2px;background:var(--accent);border:1px solid rgba(255,255,255,.5);cursor:pointer}.slider-labels{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11px;color:var(--text-faint)}.rng-guess{font-family:var(--font-mono);font-size:26px;font-weight:700;color:var(--accent-bright);text-align:center;margin-bottom:4px}.result-row{display:flex;justify-content:space-between;font-size:14px}.result-row span:first-child{color:var(--text-dim)}.result-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.badge-chip{font-size:12px;padding:3px 8px;border:1px solid var(--line);border-radius:2px;background:var(--accent-soft)}.badge-chip small{color:var(--text-dim);font-family:var(--font-mono)}.elo-card{isolation:isolate;--grid-color: #22d3ee}.elo-bg{position:absolute;left:0;right:0;top:-600px;bottom:-600px;background-image:repeating-linear-gradient(0deg,transparent 0 23px,color-mix(in srgb,var(--grid-color) 6%,transparent) 23px 24px),repeating-linear-gradient(90deg,transparent 0 23px,color-mix(in srgb,var(--grid-color) 6%,transparent) 23px 24px),radial-gradient(120% 100% at 50% 0%,color-mix(in srgb,var(--grid-color) 10%,transparent),transparent 60%);pointer-events:none;z-index:0;will-change:transform}.elo-ruler{position:absolute;left:0;right:0;top:0;bottom:0;pointer-events:none;z-index:0}.ruler-line{position:absolute;left:0;right:0;height:1px;border-top:1px solid color-mix(in srgb,var(--grid-color) 10%,transparent)}.ruler-line.boundary{border-top:1px solid color-mix(in srgb,var(--grid-color) 32%,transparent)}.ruler-line.current{border-top:2px solid var(--grid-color);box-shadow:0 0 14px color-mix(in srgb,var(--grid-color) 60%,transparent)}.ruler-label{position:absolute;left:14px;top:-9px;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;color:color-mix(in srgb,var(--grid-color) 45%,transparent)}.ruler-label.current{color:var(--grid-color);font-weight:700}.floor-line{display:flex;align-items:baseline;gap:10px}.floor-name{font-family:var(--font-heading);font-size:15px;font-weight:700;letter-spacing:.14em}.floor-stars{font-size:16px;color:gold;letter-spacing:.05em}.bar-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bar-item{background:#ffffff08;border:1px solid var(--line);border-radius:2px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.bar-label{font-family:var(--font-heading);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint)}.bar-value{font-size:18px;font-weight:700}.action-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.act-btn{display:flex;flex-direction:column;gap:2px;padding:14px 12px;border-radius:2px;border:1px solid var(--line);background:var(--accent-soft);color:var(--text);text-align:left}.act-btn:disabled{opacity:.5;cursor:not-allowed}.act-btn .act-title{font-family:var(--font-heading);font-size:14px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.act-btn .act-sub{font-family:var(--font-mono);font-size:12px;color:var(--text-dim)}.act-btn.safe{box-shadow:inset 0 -3px #ffffff1f}.act-btn.push.favorable{border-color:#3fb95080;box-shadow:inset 0 -3px #3fb95099}.act-btn.push.risky{border-color:#f8514973;box-shadow:inset 0 -3px #f8514980}.judge-banner{font-family:var(--font-heading);font-size:20px;font-weight:700;letter-spacing:.2em;text-align:center;padding:12px 0;border-radius:2px;animation:banner-in .45s cubic-bezier(.2,.9,.3,1.3)}.judge-banner.win{color:gold;background:#ffd7001a;border:1px solid rgba(255,215,0,.4);box-shadow:0 0 24px #ffd70033}.judge-banner.lose{color:var(--bad);background:#f851491a;border:1px solid rgba(248,81,73,.4)}.judge-banner.safe{color:var(--good);background:#3fb9501a;border:1px solid rgba(63,185,80,.4)}@keyframes banner-in{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.reveal-in{animation:reveal-in .5s cubic-bezier(.2,.8,.3,1)}@keyframes reveal-in{0%{transform:scale(.85);opacity:0;filter:blur(3px)}to{transform:scale(1);opacity:1;filter:blur(0)}}.elo-value{transition:text-shadow .3s}@media(max-width:560px){.elo-card{flex-direction:column;align-items:center;gap:24px;padding:32px 24px}.elo-marker{display:none}.elo-left{gap:16px}.elo-info{align-items:center;text-align:center}.draw-zone{width:100%;flex:none}.draw-glass{max-width:none}}
