@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--bg-dark: #0a0a0f;--bg-primary: #0f0f18;--bg-secondary: #141420;--bg-card: rgba(20, 20, 35, .8);--bg-card-hover: rgba(30, 30, 50, .9);--text-primary: #ffffff;--text-secondary: #a0a0b8;--text-muted: #606078;--accent-primary: #6366f1;--accent-secondary: #8b5cf6;--accent-gradient: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #a855f7 100%);--accent-green: #10b981;--accent-red: #ef4444;--accent-yellow: #f59e0b;--accent-cyan: #06b6d4;--border-color: rgba(99, 102, 241, .2);--border-glow: rgba(99, 102, 241, .4);--shadow-glow: 0 0 40px rgba(99, 102, 241, .15);--glass-bg: rgba(255, 255, 255, .03)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-dark);color:var(--text-primary);min-height:100vh;background-image:radial-gradient(ellipse at top,rgba(99,102,241,.1) 0%,transparent 50%),radial-gradient(ellipse at bottom,rgba(139,92,246,.1) 0%,transparent 50%)}#root{max-width:480px;margin:0 auto;padding:1rem;min-height:100vh}.app{min-height:100vh}h1,h2,h3,h4{font-weight:700;letter-spacing:-.02em}button{font-family:Inter,sans-serif;cursor:pointer;border:none;border-radius:12px;padding:14px 28px;font-size:14px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}button:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:0 4px 20px #6366f14d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 30px #6366f166}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--glass-bg);color:var(--text-primary);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-secondary:hover:not(:disabled){background:#ffffff14;border-color:var(--border-glow)}.btn-connect{background:var(--accent-gradient);color:#fff;padding:16px 32px;font-size:15px;box-shadow:0 4px 25px #6366f166}.btn-connect:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:0 8px 35px #6366f180}.btn-disconnect{background:transparent;color:var(--text-muted);padding:8px 16px;font-size:12px;border:1px solid var(--border-color)}.btn-disconnect:hover{color:var(--accent-red);border-color:var(--accent-red)}.btn-dice{background:var(--accent-gradient);color:#fff;padding:18px 40px;font-size:16px;font-weight:700;box-shadow:0 4px 25px #6366f166}.btn-copy{padding:8px 16px;font-size:12px;background:var(--glass-bg);border:1px solid var(--border-color);color:var(--text-secondary)}.btn-copy:hover{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:24px;margin-bottom:20px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all .3s ease}.card:hover{border-color:var(--border-glow);box-shadow:var(--shadow-glow)}.card h3{font-size:16px;font-weight:600;margin-bottom:16px;color:var(--text-primary)}.wallet-connect{display:flex;align-items:center;gap:12px}.wallet-connect.connected{background:var(--glass-bg);padding:8px 12px 8px 16px;border-radius:50px;border:1px solid var(--border-color)}.wallet-connect .address{font-family:SF Mono,Fira Code,monospace;font-size:13px;color:var(--text-secondary);background:transparent}.lobby{padding-bottom:40px}.lobby-header{text-align:center;padding:50px 0 40px}.lobby-header h1{font-size:42px;font-weight:800;margin-bottom:12px;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.lobby-header p{color:var(--text-secondary);font-size:16px;margin-bottom:28px}.lobby-content{display:flex;flex-direction:column;gap:20px}.balance-card{background:linear-gradient(145deg,#6366f11a,#8b5cf60d);border:1px solid var(--border-glow);border-radius:24px;padding:32px;text-align:center;position:relative;overflow:hidden}.balance-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-primary),transparent)}.balance-card h3{color:var(--text-muted);font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}.balance-card .balance{font-size:48px;font-weight:800;background:linear-gradient(135deg,#10b981,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.balance-card button{margin-top:20px}.network-warning{background:linear-gradient(145deg,#ef444433,#ef44441a)!important;border:1px solid rgba(239,68,68,.4)!important;animation:pulse-warning 2s infinite}@keyframes pulse-warning{0%,to{box-shadow:0 0 20px #ef444433}50%{box-shadow:0 0 30px #ef444466}}.network-warning h3{color:var(--accent-red)!important;font-size:18px!important}.input-group{margin-bottom:20px}.input-group label{display:block;color:var(--text-secondary);font-size:13px;font-weight:500;margin-bottom:10px}.input-group input{width:100%;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:12px;padding:16px;color:var(--text-primary);font-size:16px;font-family:Inter,sans-serif;transition:all .3s ease}.input-group input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 20px #6366f133}.input-group input::placeholder{color:var(--text-muted)}.input-group .range{display:block;color:var(--text-muted);font-size:12px;margin-top:8px}.match-created-success{margin-top:20px;padding:20px;background:linear-gradient(145deg,#10b9811a,#06b6d40d);border:1px solid rgba(16,185,129,.3);border-radius:16px;text-align:center}.match-id-display{display:flex;align-items:center;justify-content:center;gap:12px;margin:16px 0;padding:16px;background:var(--bg-dark);border-radius:12px}.match-id-display .label{color:var(--text-muted);font-size:13px}.match-id-display .match-id-value{font-family:SF Mono,Fira Code,monospace;font-size:24px;font-weight:700;color:var(--accent-cyan)}.match-created-success .hint{color:var(--text-muted);font-size:13px}.game-info{background:var(--glass-bg)}.game-info h3{display:flex;align-items:center;gap:8px}.game-info ul{list-style:none;padding:0}.game-info li{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.05);color:var(--text-secondary);font-size:14px;display:flex;align-items:center;gap:8px}.game-info li:last-child{border-bottom:none}.fee-info{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.05);color:var(--text-muted);font-size:12px}.success{color:var(--accent-green);font-weight:500}.error{color:var(--accent-red);margin-top:12px;padding:12px;background:#ef44441a;border-radius:8px}.waiting{color:var(--accent-yellow);font-style:italic}.debug-info{background:#0000004d!important;border:1px dashed var(--border-color)!important;font-family:SF Mono,Fira Code,monospace}.debug-info h4{color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.debug-info p{font-size:11px;color:var(--text-muted);margin:4px 0}.board-page{padding-bottom:40px}.board-header{display:flex;justify-content:space-between;align-items:center;padding:20px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;margin-bottom:20px}.match-info{display:flex;flex-direction:column;gap:4px}.scores{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:700}.scores .vs{color:var(--text-muted);font-weight:400}.scores .me{color:var(--accent-primary)}.phase-display{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:28px;margin-bottom:20px;text-align:center}.phase-display h2{font-size:22px;margin-bottom:12px}.phase-display .your-turn{color:var(--accent-green);font-weight:600}.turn-info{margin-top:20px}.turn-info .hint{color:var(--text-secondary);font-size:14px;margin-top:12px}.canvas-container{display:flex;justify-content:center;margin-bottom:20px}.canvas-container canvas{border:2px solid var(--border-color);border-radius:16px;background:var(--bg-secondary)}.timer{margin-bottom:20px}.timer-bar{height:6px;background:var(--bg-secondary);border-radius:3px;overflow:hidden}.timer-fill{height:100%;background:var(--accent-green);transition:width 1s linear;border-radius:3px}.timer.low .timer-fill{background:var(--accent-yellow)}.timer.critical .timer-fill{background:var(--accent-red);animation:pulse .5s infinite}.timer-text{display:flex;justify-content:space-between;margin-top:10px;font-size:13px}.timer-text .time{font-weight:600;color:var(--text-primary)}.timer-text .label{color:var(--text-muted)}.compact-timer{font-size:13px;color:var(--text-secondary);font-weight:500}.compact-timer.low{color:var(--accent-yellow)}.compact-timer.critical{color:var(--accent-red);animation:pulse .5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.dice-roller{display:flex;flex-direction:column;align-items:center;gap:20px}.dice-result{display:flex;align-items:center;gap:16px}.dice-face{font-size:56px}.dice-value{font-size:28px;font-weight:700}.game-stats{display:flex;justify-content:space-around;background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:20px}.game-stats .stat{text-align:center}.game-stats .label{display:block;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.game-stats .value{font-size:24px;font-weight:700}.result-page{padding-bottom:40px}.result-header{text-align:center;padding:50px 0 40px}.result-header h1{font-size:40px;margin-bottom:12px}.match-id{color:var(--text-muted);font-size:14px}.final-scores{display:flex;justify-content:center;align-items:center;gap:20px;margin-bottom:28px}.score-card{text-align:center;padding:24px 32px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px}.score-card.me{border-color:var(--accent-primary);box-shadow:0 0 30px #6366f133}.score-card .label{display:block;color:var(--text-secondary);font-size:13px;font-weight:500}.score-card .score{display:block;font-size:52px;font-weight:800;margin:8px 0;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.score-card .role{color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.payout-info{margin-bottom:24px}.payout-row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.05)}.payout-row:last-child{border-bottom:none}.payout-row.fee{color:var(--text-muted);font-size:14px}.payout-row.total{font-weight:700;font-size:18px;color:var(--accent-green)}.signing-section h3{margin-bottom:8px}.signing-section>p{color:var(--text-secondary);margin-bottom:24px;font-size:14px}.signature-box{background:var(--bg-dark);border-radius:12px;padding:20px;margin-bottom:16px}.signature-box h4{font-size:13px;color:var(--text-muted);margin-bottom:14px;font-weight:500}.signature-display{display:flex;align-items:center;gap:12px}.signature-display .check{color:var(--accent-green);font-size:20px}.signature-display .sig{font-family:SF Mono,Fira Code,monospace;font-size:11px;color:var(--text-muted);flex:1}.paste-sig input{width:100%;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:14px;color:var(--text-primary);font-family:SF Mono,Fira Code,monospace;font-size:12px}.paste-sig .hint{color:var(--text-muted);font-size:12px;margin-top:10px}.btn-submit{width:100%;padding:18px;font-size:16px}.success-section{text-align:center;background:linear-gradient(145deg,#10b9811a,#10b9810d)!important;border-color:#10b9814d!important}.success-section h3{color:var(--accent-green)!important}.btn-back{width:100%;margin-top:24px}.game-stats-summary{margin-top:28px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:24px}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:20px}.dev-tools{position:fixed;bottom:20px;left:20px;display:flex;gap:8px;background:#000000e6;padding:10px;border-radius:12px;border:1px solid var(--border-color)}.dev-tools button{font-size:11px;padding:8px 14px;background:var(--bg-card)}.connect-prompt{text-align:center;padding:80px 24px}.connect-prompt p{color:var(--text-secondary);font-size:16px;margin-bottom:24px}@media(max-width:400px){.lobby-header h1{font-size:32px}.balance-card .balance{font-size:36px}.match-id-display .match-id-value{font-size:20px}.final-scores{flex-direction:column}}
