*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--text-muted: #6b7280}body{font-family:system-ui,-apple-system,sans-serif;background:#f3f4f6;color:#111827;min-height:100vh}app-root{display:flex;flex-direction:column;min-height:100vh}.app-content{flex:1}.container{max-width:900px;margin:0 auto;padding:2rem 1rem}.card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:2rem}h1{font-size:2rem;font-weight:700;margin-bottom:1.5rem}h2{font-size:1.5rem;font-weight:600;margin-bottom:1rem}h3{font-size:1.1rem;font-weight:600;margin-bottom:.75rem;color:#6b7280}input[type=text]{width:100%;padding:.625rem .875rem;border:1px solid #e5e7eb;border-radius:8px;font-size:1rem;outline:none;margin-bottom:1rem;transition:border-color .15s}input[type=text]:focus{border-color:#4f46e5}button{cursor:pointer;border:none;border-radius:8px;font-size:1rem;font-weight:500;padding:.625rem 1.25rem;transition:background .15s,opacity .15s}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#4f46e5;color:#fff}.btn-primary:hover:not(:disabled){background:#4338ca}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover:not(:disabled){background:#4b5563}.error{color:#ef4444;margin-top:.75rem;font-size:.9rem}.modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:#fff;border-radius:8px;padding:2rem;width:100%;max-width:380px}header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}header h1{margin:0}.badge{padding:.25rem .75rem;border-radius:9999px;font-size:.8rem;font-weight:600;text-transform:uppercase}.badge-voting{background:#fef3c7;color:#92400e}.badge-revealed{background:#d1fae5;color:#065f46}.main-grid{display:grid;grid-template-columns:200px 1fr;gap:1.5rem;margin-bottom:1.5rem}@media(max-width:600px){.main-grid{grid-template-columns:1fr}}.participants{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.participants ul{list-style:none}.participants li{padding:.4rem 0;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;font-size:.95rem;color:#6b7280}.participants li:last-child{border-bottom:none}.participants li.voted{color:#111827;font-weight:500}.participants .check{color:#10b981}.voting-area{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.cards{display:flex;flex-wrap:wrap;gap:.75rem}.card-btn{width:56px;height:80px;background:#fff;border:2px solid #e5e7eb!important;border-radius:8px!important;font-size:1.25rem!important;font-weight:700!important;padding:0!important;transition:border-color .15s,background .15s,transform .1s!important}.card-btn:hover:not(:disabled){border-color:#4f46e5!important;transform:translateY(-4px)}.card-btn.selected{background:#4f46e5!important;border-color:#4f46e5!important;color:#fff!important;transform:translateY(-6px)}.vote-list{list-style:none;margin-bottom:1.25rem}.vote-list li{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #e5e7eb;font-size:.95rem}.vote-list li:last-child{border-bottom:none}.vote-card{background:#4f46e5;color:#fff;border-radius:8px;padding:.15rem .6rem;font-weight:700;font-size:.9rem}.statistics{display:flex;gap:1.5rem;background:#f3f4f6;border-radius:8px;padding:1rem 1.5rem}.stat{display:flex;flex-direction:column;align-items:center;gap:.25rem}.stat label{font-size:.75rem;color:#6b7280;text-transform:uppercase;font-weight:600}.stat span{font-size:1.5rem;font-weight:700;color:#4f46e5}.host-actions{display:flex;gap:1rem}.loading{display:flex;align-items:center;justify-content:center;min-height:60vh;color:#6b7280;font-size:1.1rem}.app-header{background:#1e1b4b;padding:.75rem 1.5rem;display:flex;align-items:center}.app-header-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:#fff;cursor:pointer}.app-header-brand:hover{opacity:.85}.app-header-logo{width:40px;height:40px}.app-header-title{font-size:1.1rem;font-weight:600;letter-spacing:.01em}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.app-footer{text-align:center;padding:1rem;background:#1e1b4b;color:#ffffffb3;font-size:.8rem;margin-top:2rem}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:9999}.spinner{width:48px;height:48px;border:5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}
