:root{--bg:#1a1d24;--surface:#242833;--surface-2:#2d323f;--border:#353b49;--text:#eceef2;--muted:#9aa3b2;--accent:#ffd166;--accent-text:#1a1d24;--danger:#ff6b6b;--radius:14px}*{box-sizing:border-box}body{margin:0;font-family:"Prompt",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg);color:var(--text)}.App{text-align:center;min-height:100vh;flex-direction:column}.App,.page{display:flex}.page{flex:1 1;width:100%;max-width:460px;margin:0 auto;padding:48px max(20px,env(safe-area-inset-right)) 32px max(20px,env(safe-area-inset-left));flex-direction:column;grid-gap:24px;gap:24px}@media (max-width:480px){.page{padding-top:28px;grid-gap:18px;gap:18px}.brand{font-size:2.1rem}.card{padding:18px}.adu-suit{font-size:1.5rem}}.brand{font-size:2.6rem;font-weight:800;letter-spacing:-.02em;margin:0}.brand span{color:var(--accent)}.tagline{color:var(--muted);margin:6px 0 0;font-size:.95rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;text-align:left}.card h2{margin:0 0 16px;font-size:1.1rem;font-weight:700}.field{margin-bottom:12px}.field:last-of-type{margin-bottom:16px}.input{width:100%;padding:11px 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:1rem;outline:none;transition:border-color .15s ease}.input::placeholder{color:var(--muted)}.input:focus{border-color:var(--accent)}.btn{width:100%;padding:11px 16px;border:none;border-radius:10px;background:var(--accent);color:var(--accent-text);font-size:1rem;font-weight:700;cursor:pointer;transition:filter .15s ease,opacity .15s ease}.btn:hover{filter:brightness(1.05)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.divider{display:flex;align-items:center;grid-gap:12px;gap:12px;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.divider:after,.divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.room-code{display:flex;align-items:center;justify-content:space-between;grid-gap:12px;gap:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:12px 16px;margin-bottom:20px}.room-code .code{font-size:1.3rem;font-weight:700;letter-spacing:.04em;color:var(--accent)}.copy-btn{background:none;border:none;color:var(--muted);cursor:pointer;font-size:1rem;padding:4px 8px}.copy-btn:hover{color:var(--text)}.player-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;grid-gap:8px;gap:8px}.player-list li{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between}.label{color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px}.game-header{text-align:left}.game-line{display:flex;align-items:baseline;flex-wrap:wrap;grid-gap:10px;gap:10px;margin:0}.adu-suit{font-size:1.8rem;font-weight:800;color:var(--accent);line-height:1.1}.game-meta{color:var(--muted);font-size:.9rem;margin:0}.scoreboard{display:flex;flex-direction:column;grid-gap:8px;gap:8px}.score-row{display:flex;align-items:center;justify-content:space-between;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:10px 14px}.score-row .points{font-weight:700;color:var(--accent)}.tag{font-size:.7rem;padding:2px 7px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--muted)}.tag.done{color:var(--accent-text);background:var(--accent);border-color:var(--accent)}.value{font-weight:700}.hint{color:var(--muted);font-size:.9rem;margin:0}.modal-backdrop{position:fixed;inset:0;z-index:1800;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(10,12,16,.7);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .18s ease both}.modal{width:100%;max-width:360px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.5);animation:modal-in .22s cubic-bezier(.18,1.2,.4,1) both}.modal-title{margin:0 0 8px;font-size:1.2rem;font-weight:800}.modal-msg{margin:0 0 20px;color:var(--muted);line-height:1.5}.modal-actions{display:flex;grid-gap:10px;gap:10px}.modal-actions .btn{flex:1 1}.btn-danger{background:var(--danger);color:#fff}@keyframes fade-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(12px) scale(.96)}}@media (prefers-reduced-motion:reduce){.modal,.modal-backdrop{animation:none}}.pname,.row-tags{display:flex;align-items:center;grid-gap:8px;gap:8px}.dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}.dot.on{background:#06d6a0;box-shadow:0 0 6px rgba(6,214,160,.7)}.dot.off{background:var(--muted);box-shadow:none}.player-list li.offline,.score-row.offline{opacity:.55}.kick-btn{border:none;background:transparent;color:var(--muted);font-size:.95rem;line-height:1;padding:4px 6px;border-radius:6px;cursor:pointer;transition:background .15s ease,color .15s ease}.kick-btn:hover{background:hsla(0,100%,71%,.16);color:var(--danger)}.score-row .name{display:flex;align-items:center;grid-gap:8px;gap:8px;flex-wrap:wrap}.card{animation:card-in .32s ease both}@keyframes card-in{0%{opacity:0;transform:translateY(10px)}}.btn:active{transform:scale(.97)}.tag.done{animation:pop .32s cubic-bezier(.18,1.4,.4,1) both}@keyframes pop{0%{transform:scale(0)}to{transform:scale(1)}}.toast{position:fixed;top:18px;left:50%;z-index:1500;transform:translateX(-50%);background:var(--accent);color:var(--accent-text);font-weight:700;padding:10px 20px;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.35);animation:toast-in 1.5s ease forwards;pointer-events:none;white-space:nowrap}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-20px) scale(.9)}12%,78%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-16px) scale(.96)}}.score-row.flash-gain{animation:flash-gain 1.4s ease}.score-row.flash-loss{animation:flash-loss 1.4s ease}@keyframes flash-gain{0%,to{background:var(--surface-2);border-color:var(--border)}20%{background:rgba(6,214,160,.22);border-color:#06d6a0}}@keyframes flash-loss{0%,to{background:var(--surface-2);border-color:var(--border)}20%{background:hsla(0,100%,71%,.22);border-color:var(--danger)}}.points{position:relative}.delta-float{position:absolute;right:0;bottom:100%;font-size:.95rem;font-weight:800;pointer-events:none;animation:delta-rise 1.6s ease forwards}.delta-float.gain{color:#06d6a0}.delta-float.loss{color:var(--danger)}@keyframes delta-rise{0%{opacity:0;transform:translateY(6px) scale(.8)}20%{opacity:1;transform:translateY(-2px) scale(1.1)}to{opacity:0;transform:translateY(-22px) scale(1)}}.confetti-piece{position:fixed;top:-16px;width:9px;height:14px;z-index:2000;pointer-events:none;animation-name:confetti-fall;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0) translateX(0) rotate(0)}to{opacity:.9;transform:translateY(105vh) translateX(var(--drift)) rotate(var(--spin))}}@media (prefers-reduced-motion:reduce){.card,.confetti-piece,.delta-float,.score-row.flash-gain,.score-row.flash-loss,.tag.done,.toast{animation:none}}.overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(26,29,36,.94);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.overlay-card{text-align:center;max-width:360px}.overlay-title{font-size:1.1rem;font-weight:700;margin:18px 0 8px}.overlay-sub{color:var(--muted);font-size:.9rem;line-height:1.5;margin:0}.spinner{width:44px;height:44px;margin:0 auto;border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.footer{font-size:.8rem;padding:24px 16px}.footer,.footer a{color:var(--muted)}
/*# sourceMappingURL=main.82a2b01b.chunk.css.map */