*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0d0d12;--surface:#16161e;--surface-hover:#1c1c28;--border:#252533;--red:#ff3b5c;--red-dim:#ff3b5c26;--green:#2ee89e;--green-dim:#2ee89e1a;--text:#f0ece5;--text-dim:#7a7888;--text-faint:#4a4858;--radius:14px}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.floating-emojis{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.floating-emoji{opacity:.06;will-change:transform;animation:linear infinite floatAround;position:absolute}@keyframes floatAround{0%{transform:translate(0)rotate(0)}25%{transform:translate(30px,-80px)rotate(90deg)}50%{transform:translate(-20px,-160px)rotate(180deg)}75%{transform:translate(40px,-240px)rotate(270deg)}to{transform:translateY(-320px)rotate(360deg)}}.app{justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex;position:relative}.container{z-index:1;width:100%;max-width:400px;position:relative}@keyframes appear{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.setup-screen{text-align:center;animation:.6s both appear}.logo{margin-bottom:48px}.logo-icon{margin-bottom:16px;font-size:52px}.logo h1{letter-spacing:10px;color:var(--text);font-size:36px;font-weight:700}.subtitle{color:var(--text-dim);letter-spacing:1px;margin-top:6px;font-size:13px;font-weight:400}.setup-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;padding:28px 20px}.setup-form label{color:var(--text-dim);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:20px;font-size:11px;font-weight:600;display:block}.player-counter{justify-content:center;align-items:center;gap:20px;margin-bottom:6px;display:flex}.counter-btn{border:1px solid var(--border);background:var(--bg);width:44px;height:44px;color:var(--text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:20px;line-height:1;transition:all .2s;display:flex}.counter-btn:hover{border-color:var(--red);color:var(--red)}.counter-btn:active{transform:scale(.92)}.player-counter input{text-align:center;width:64px;color:var(--text);-moz-appearance:textfield;background:0 0;border:none;outline:none;font-family:inherit;font-size:40px;font-weight:700}.player-counter input::-webkit-outer-spin-button{-webkit-appearance:none}.player-counter input::-webkit-inner-spin-button{-webkit-appearance:none}.hint{color:var(--text-faint);margin-bottom:24px;font-size:11px;display:block}.db-selector{gap:8px;margin-bottom:24px;display:flex}.db-option{border:1px solid var(--border);background:var(--bg);color:var(--text-dim);cursor:pointer;text-align:center;border-radius:10px;flex:1;padding:10px 8px;font-family:inherit;font-size:12px;font-weight:500;transition:all .2s}.db-option:hover{border-color:var(--text-faint);color:var(--text)}.db-option--active{border-color:var(--red);background:var(--red-dim);color:var(--red)}.btn-primary{background:var(--red);color:#fff;cursor:pointer;letter-spacing:.5px;border:none;border-radius:10px;width:100%;padding:14px 24px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)scale(.98)}.btn-danger{border:1.5px solid var(--red);background:var(--red-dim);width:100%;color:var(--red);cursor:pointer;letter-spacing:.5px;border-radius:10px;margin-bottom:10px;padding:14px 24px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s}.btn-danger:hover{background:#ff3b5c40}.rules{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:left;padding:20px}.rules h3{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:14px;font-size:12px;font-weight:600}.rules ol{counter-reset:rules;list-style:none}.rules ol li{counter-increment:rules;color:var(--text-dim);margin-bottom:10px;padding-left:32px;font-size:13px;line-height:1.5;position:relative}.rules ol li:last-child{margin-bottom:0}.rules ol li:before{content:counter(rules);background:var(--red-dim);width:22px;height:22px;color:var(--red);border-radius:6px;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex;position:absolute;top:1px;left:0}.rules ol li strong{color:var(--red)}.player-reveal{text-align:center;animation:.4s both appear}.progress-bar{background:var(--surface);border-radius:2px;width:100%;height:3px;margin-bottom:14px;overflow:hidden}.progress-fill{background:var(--red);border-radius:2px;height:100%;transition:width .4s}.player-label{color:var(--text-faint);text-transform:uppercase;letter-spacing:2px;margin-bottom:28px;font-size:12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;padding:36px 20px;transition:all .2s}.card-hidden{cursor:pointer;-webkit-user-select:none;user-select:none}.card-hidden:hover{border-color:var(--text-faint);background:var(--surface-hover)}.card-hidden:active{transform:scale(.97)}.card-icon{margin-bottom:14px;font-size:48px}.card-hidden .card-icon{animation:2.5s ease-in-out infinite breathe}.card p{color:var(--text-dim);margin-bottom:6px;font-size:15px}.card .hint{margin-bottom:0}.card-spy{border-color:var(--red);background:linear-gradient(180deg, var(--surface) 0%, #ff3b5c0f 100%);animation:.35s both appear}.card-spy h2{color:var(--red);letter-spacing:3px;text-transform:uppercase;margin-bottom:10px;font-size:24px;font-weight:700}.card-citizen{border-color:var(--green);background:linear-gradient(180deg, var(--surface) 0%, var(--green-dim) 100%);animation:.35s both appear}.card-citizen h2{color:var(--text-dim);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:14px;font-size:13px;font-weight:600}.word{color:var(--green)!important;margin-bottom:14px!important;font-size:26px!important;font-weight:700!important}.card-description{color:var(--text-faint)!important;margin-bottom:20px!important;font-size:12px!important}.card .btn-primary{margin-top:4px}.game-screen{text-align:center;animation:.5s both appear}.game-header{margin-bottom:28px}.game-icon{margin-bottom:10px;font-size:48px}.game-header h1{letter-spacing:3px;text-transform:uppercase;margin-bottom:6px;font-size:28px;font-weight:700}.game-tips{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:left;margin-bottom:28px;padding:20px}.game-tips h3{color:var(--text-dim);margin-bottom:10px;font-size:13px;font-weight:600}.game-tips ul{list-style:none}.game-tips ul li{color:var(--text-faint);margin-bottom:6px;padding-left:16px;font-size:12px;line-height:1.5;position:relative}.game-tips ul li:last-child{margin-bottom:0}.game-tips ul li:before{content:"·";color:var(--text-dim);font-weight:700;position:absolute;left:2px}.game-actions{flex-direction:column;gap:10px;display:flex}.spy-reveal{margin-bottom:10px;animation:.35s both appear}.spy-reveal-card{background:linear-gradient(180deg, var(--surface) 0%, #ff3b5c14 100%);border:1.5px solid var(--red);border-radius:var(--radius);padding:28px 20px}.spy-reveal-card .card-icon{margin-bottom:10px;font-size:40px}.spy-reveal-card h2{color:var(--red);margin-bottom:6px;font-size:20px;font-weight:700}.spy-reveal-card p{color:var(--text-dim);font-size:14px}.spy-reveal-card p strong{color:var(--green)}@media (width<=480px){.app{align-items:flex-start;padding-top:48px}.logo h1{letter-spacing:6px;font-size:28px}.logo-icon{font-size:40px}}
