*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #0f172a;--color-surface: #1e293b;--color-surface-hover: #334155;--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-text: #f1f5f9;--color-text-muted: #94a3b8;--color-border: #334155;--color-success: #22c55e;--radius: 8px;--radius-lg: 12px}body{font-family:system-ui,-apple-system,sans-serif;background:var(--color-bg);color:var(--color-text);min-height:100dvh;display:flex;justify-content:center;align-items:flex-start;padding:2rem 1rem}#app{max-width:800px;width:100%}.input{width:100%;padding:.75rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:1rem;outline:none;transition:border-color .15s}.input:focus{border-color:var(--color-primary)}.input::placeholder{color:var(--color-text-muted)}.btn{padding:.75rem 1.5rem;border:none;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:not(:disabled):hover{background:var(--color-primary-hover)}.btn--secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn--secondary:not(:disabled):hover{background:var(--color-surface-hover)}.btn--small{padding:.375rem .75rem;font-size:.8125rem;background:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border)}.btn--small:hover{background:var(--color-surface-hover);color:var(--color-text)}.landing{text-align:center;padding-top:15vh}.landing h1{font-size:2.5rem;margin-bottom:.5rem}.landing p{color:var(--color-text-muted);margin-bottom:2.5rem}.landing__form{max-width:360px;margin:0 auto;display:flex;flex-direction:column;gap:.75rem}.landing__divider{color:var(--color-text-muted);font-size:.875rem;margin:.5rem 0}.room{display:flex;flex-direction:column;gap:1.5rem}.top-bar{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.top-bar__room{display:flex;align-items:center;gap:.5rem}.top-bar__label{color:var(--color-text-muted);font-size:.875rem}.top-bar__id{background:var(--color-surface);padding:.25rem .5rem;border-radius:var(--radius);font-size:.875rem}.top-bar__issue{flex:1;min-width:200px}.card-deck{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.card{width:64px;height:88px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);cursor:pointer;transition:border-color .15s,transform .15s,background .15s}.card:not(:disabled):hover{border-color:var(--color-primary);transform:translateY(-4px)}.card--selected{border-color:var(--color-primary);background:var(--color-primary);color:#fff;transform:translateY(-4px)}.card:disabled{opacity:.5;cursor:not-allowed;transform:none}.room__actions{display:flex;justify-content:center}.participant-list__title{font-size:1rem;font-weight:600;color:var(--color-text-muted);margin-bottom:.5rem}.participant-list__items{list-style:none;display:flex;flex-direction:column;gap:.25rem}.participant{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--color-surface);border-radius:var(--radius)}.participant__name{font-weight:500}.participant__you{color:var(--color-text-muted);font-weight:400;font-size:.875rem}.participant--inactive{opacity:.5}.participant__actions{display:flex;align-items:center;gap:.5rem}.participant__kick{background:none;border:1px solid var(--color-text-muted);color:var(--color-text-muted);border-radius:var(--radius);cursor:pointer;font-size:1rem;line-height:1;padding:.1rem .4rem}.participant__kick:hover{color:var(--color-danger, #e74c3c);border-color:var(--color-danger, #e74c3c)}.participant__vote{font-size:1.125rem}.results__title{font-size:1rem;font-weight:600;color:var(--color-text-muted);margin-bottom:.5rem}.results__stats{display:flex;gap:1.5rem}.results__stat{display:flex;flex-direction:column;align-items:center;padding:1rem 1.5rem;background:var(--color-surface);border-radius:var(--radius-lg);min-width:120px}.results__label{font-size:.8125rem;color:var(--color-text-muted);margin-bottom:.25rem}.results__value{font-size:1.5rem;font-weight:700}.error{text-align:center;padding-top:15vh}.error h1{margin-bottom:.5rem}.error p{color:var(--color-text-muted);margin-bottom:1.5rem}@media(max-width:480px){.card{width:52px;height:72px;font-size:1rem}.results__stats{flex-direction:column;gap:.5rem}}
