*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}:root{--black: #14101e;--white: #f6f4ff;--gray: #4a4560;--gray-light: #a59fc0;--accent: #ffcb2d;--accent-2: #ff9a3d;--accent-grad: linear-gradient(135deg, #ffd84d 0%, #ff9a2f 100%);--danger: #ff4d6d;--danger-grad: linear-gradient(135deg, #ff5d7a 0%, #e23158 100%);--warning: #ff9a3d;--success: #34d399;--success-grad: linear-gradient(135deg, #4ade80 0%, #16a34a 100%);--info-grad: linear-gradient(135deg, #8b7dff 0%, #6c5ce7 100%);--surface: rgba(255, 255, 255, .06);--surface-2: rgba(255, 255, 255, .09);--surface-strong: rgba(30, 25, 48, .85);--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .18);--radius: 12px;--card-radius: 18px;--shadow: 0 10px 30px rgba(0, 0, 0, .45);--shadow-soft: 0 6px 18px rgba(0, 0, 0, .3);--glow-accent: 0 8px 24px rgba(255, 154, 47, .4);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px)}html,body,#root{height:100%}body{font-family:Inter,system-ui,Segoe UI,sans-serif;color:var(--white);background:#0f0b18;background-image:radial-gradient(1200px 600px at 15% -10%,rgba(108,92,231,.35),transparent 60%),radial-gradient(1000px 600px at 110% 10%,rgba(255,154,47,.22),transparent 55%),radial-gradient(900px 700px at 50% 120%,rgba(52,211,153,.16),transparent 60%),linear-gradient(160deg,#160f24,#0d0a15);background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{font-family:Poppins,Inter,system-ui,sans-serif}::selection{background:#ffcb2d59}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.player-avatar{flex:0 0 auto;display:inline-grid;place-items:center;overflow:hidden;border-radius:50%;border:1.5px solid var(--border-strong);background:#ffffff14;box-shadow:0 3px 10px #0000003d}.player-avatar img{width:100%;height:100%;object-fit:cover;transform:scale(1.08)}.player-avatar--xs{width:24px;height:24px}.player-avatar--sm{width:32px;height:32px}.player-avatar--md{width:42px;height:42px}.player-avatar--lg{width:56px;height:56px}.player-name{min-width:0;display:inline-flex;align-items:center;gap:8px;vertical-align:middle}.player-name--xs{gap:6px;font-size:.88rem}.player-name--md{gap:10px;font-size:1.05rem}.player-name-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:#ffffff40}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.9)}60%{opacity:1;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}@keyframes flipIn{0%{opacity:0;transform:rotateX(-90deg)}to{opacity:1;transform:rotateX(0)}}@keyframes slideUpModal{0%{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulseGlow{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes emoteFloat{0%{opacity:0;transform:translateY(10px) scale(.96)}15%{opacity:1;transform:translateY(0) scale(1)}80%{opacity:1;transform:translateY(-12px) scale(1)}to{opacity:0;transform:translateY(-24px) scale(.98)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.screen{min-height:100vh;min-height:100dvh;padding:calc(16px + var(--safe-top)) 16px calc(16px + var(--safe-bottom));display:flex;flex-direction:column;animation:fadeIn .35s ease}.screen-center{justify-content:center;align-items:center}.auth-box{width:100%;max-width:400px;display:flex;flex-direction:column;gap:20px;background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:32px 26px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:popIn .4s ease}.auth-form{display:flex;flex-direction:column;gap:14px}.game-title{font-size:2.1rem;font-weight:900;text-align:center;letter-spacing:-.5px;line-height:1.1;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 14px rgba(255,154,47,.35));animation:floaty 5s ease-in-out infinite}.input{background:#00000047;border:1.5px solid var(--border);border-radius:var(--radius);color:var(--white);padding:13px 16px;font-size:1rem;font-family:inherit;width:100%;outline:none;transition:border-color .18s,box-shadow .18s,background .18s}.input::placeholder{color:var(--gray-light)}.input:focus{border-color:var(--accent);background:#0006;box-shadow:0 0 0 4px #ffcb2d26}.input-sm{width:90px;padding:8px 12px;font-size:.9rem}select.input{cursor:pointer}.btn{position:relative;padding:13px 22px;border:none;border-radius:var(--radius);cursor:pointer;font-size:1rem;font-weight:700;font-family:inherit;color:var(--white);background:var(--surface-2);transition:transform .12s ease,box-shadow .18s ease,opacity .15s,filter .15s;overflow:hidden;-webkit-user-select:none;user-select:none}.btn:hover{transform:translateY(-2px);filter:brightness(1.06)}.btn:active{transform:translateY(0) scale(.97)}.btn:disabled{opacity:.4;cursor:default;transform:none;filter:none;box-shadow:none}.btn-primary{background:var(--accent-grad);color:#2a1a00;box-shadow:var(--glow-accent)}.btn-secondary{background:var(--surface-2);color:var(--white);border:1px solid var(--border-strong)}.btn-danger{background:var(--danger-grad);color:#fff;box-shadow:0 8px 22px #e2315859}.btn-warning{background:linear-gradient(135deg,#ffb24d,#ff7a2f);color:#2a1500}.btn-success{background:var(--success-grad);color:#062a18;box-shadow:0 8px 22px #16a34a4d}.btn-sm{padding:8px 14px;font-size:.85rem;border-radius:10px}.btn-xs{padding:5px 10px;font-size:.8rem;border-radius:8px}.btn-large{padding:16px 30px;font-size:1.15rem;border-radius:14px}.btn-block{width:100%}.btn-close{background:var(--surface-2);border:none;color:var(--gray-light);cursor:pointer;font-size:1rem;width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.btn-close:hover{background:var(--danger);color:#fff}.btn-group{display:flex;gap:10px;flex-wrap:wrap}.card{border-radius:var(--card-radius);padding:22px;box-shadow:var(--shadow-soft);min-height:150px;display:flex;align-items:flex-end;position:relative;border:2px solid transparent;text-align:left;width:100%;font:inherit;overflow:hidden;animation:popIn .35s ease both}.card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 80% at 0% 0%,rgba(255,255,255,.06),transparent 50%);pointer-events:none}.card-prompt{background:linear-gradient(160deg,#1c1730,#0e0b18);border:1.5px solid var(--border-strong);color:var(--white);box-shadow:var(--shadow)}.card-prompt:before{content:"REJA";position:absolute;top:14px;left:22px;font-size:.65rem;font-weight:800;letter-spacing:2px;color:var(--accent);opacity:.85}.card-answer{background:linear-gradient(160deg,#fff,#ece9f7);color:#16121f}.card-answer:disabled{opacity:1}.card-answer--selectable{cursor:pointer;transition:border-color .15s,transform .12s,box-shadow .15s}.card-answer--selectable:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:var(--glow-accent)}.card-answer--selected{border-color:var(--accent);background:linear-gradient(160deg,#fff7d6,#ffe9a8);box-shadow:var(--glow-accent)}.card-hidden{background:linear-gradient(160deg,#2a2440,#1a1628);color:#5b5470;border-style:dashed;border-color:var(--border-strong)}.card-text{font-size:1.05rem;font-weight:600;line-height:1.4;position:relative;z-index:1}.card-flip{display:inline-block;animation:flipIn .4s ease both;transform-origin:center}.rank-badge{position:absolute;top:12px;right:12px;background:var(--accent-grad);color:#2a1a00;border-radius:999px;min-width:50px;height:30px;padding:0 10px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:.8rem;box-shadow:var(--glow-accent);z-index:2;animation:popIn .35s ease both}.hand-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding:6px 0}.hand-tile{background:linear-gradient(160deg,#fff,#ece9f7);color:#16121f;border:2px solid transparent;border-radius:var(--card-radius);padding:16px 14px;cursor:pointer;text-align:left;font-size:.95rem;font-weight:600;line-height:1.35;min-height:100px;position:relative;box-shadow:var(--shadow-soft);transition:border-color .15s,transform .12s,box-shadow .15s;animation:popIn .3s ease both}.hand-tile:hover:not(.hand-tile--disabled){border-color:var(--accent);transform:translateY(-4px);box-shadow:var(--glow-accent)}.hand-tile:active:not(.hand-tile--disabled){transform:translateY(-1px) scale(.98)}.hand-tile--selected{border-color:var(--accent);background:linear-gradient(160deg,#fff7d6,#ffe9a8);box-shadow:var(--glow-accent)}.hand-tile--disabled{opacity:.45;cursor:default}.hand-tile--fresh{border-color:var(--success);background:linear-gradient(160deg,#eafff4,#d2ffe8);padding-top:42px}.hand-tile-text{display:block}.fresh-badge{position:absolute;top:10px;left:10px;background:var(--success-grad);color:#062a18;border-radius:999px;min-width:46px;height:24px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:.74rem}.order-badge{position:absolute;top:10px;right:10px;background:var(--accent-grad);color:#2a1a00;border-radius:999px;min-width:28px;height:28px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:.85rem;box-shadow:var(--glow-accent)}.lobby-entry{width:100%;max-width:420px;display:flex;flex-direction:column;gap:16px;background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:30px 24px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:popIn .4s ease}.avatar-picker{display:flex;flex-direction:column;gap:10px;padding:12px;background:#0000002e;border:1px solid var(--border);border-radius:var(--radius)}.avatar-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--gray-light);font-size:.9rem;font-weight:700}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:10px;max-height:174px;overflow-y:auto;padding:2px}.avatar-option{aspect-ratio:1;display:grid;place-items:center;min-width:0;min-height:0;width:100%;border:2px solid transparent;border-radius:50%;background:var(--surface);cursor:pointer;overflow:hidden;padding:0;line-height:0;box-shadow:var(--shadow-soft);transition:border-color .15s,box-shadow .15s}.avatar-option--selected{border-color:var(--accent);box-shadow:var(--glow-accent)}.avatar-option img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.08)}.dev-dlc-panel{display:flex;flex-direction:column;gap:10px;padding:12px;background:#0000002e;border:1px solid var(--border);border-radius:var(--radius)}.dev-dlc-title{color:var(--gray-light);font-size:.9rem;font-weight:700}.dev-dlc-option{display:flex;align-items:center;gap:10px;color:var(--white);font-weight:700;cursor:pointer}@media (hover: hover) and (pointer: fine){.avatar-option{transition:border-color .15s,transform .12s,box-shadow .15s}.avatar-option:hover{transform:translateY(-2px);border-color:var(--border-strong)}}.lobby-room{max-width:640px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:18px;animation:fadeUp .4s ease}.room-header{text-align:center}.room-code{font-size:2.4rem;font-weight:900;letter-spacing:8px;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.player-list{display:flex;flex-direction:column;gap:8px}.player-item{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-weight:600;animation:fadeUp .3s ease both;transition:transform .15s}.player-item:hover{transform:translate(3px)}.player-item-name{flex:1;font-weight:700}.room-host-name{max-width:260px}.player-offline{opacity:.5}.badge-host{background:var(--accent-grad);color:#2a1a00;border-radius:6px;padding:3px 8px;font-size:.72rem;font-weight:800}.badge-offline{background:var(--gray);color:var(--white);border-radius:6px;padding:3px 8px;font-size:.72rem}.lobby-actions{display:flex;flex-direction:column;gap:12px;align-items:center}.config-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.config-grid{display:flex;flex-direction:column;gap:8px;margin-top:12px}.config-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--border)}.config-row:last-child{border-bottom:none}.config-label{font-size:.9rem;color:var(--gray-light)}.config-dlc{margin-top:18px;padding-top:16px;border-top:1px solid var(--border-strong)}.config-dlc h3{font-size:1rem;color:var(--accent)}input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);cursor:pointer}.game-screen{gap:14px;max-width:760px;width:100%;margin:0 auto}.game-screen>.card-prompt{flex:0 0 auto}.game-header{position:relative;z-index:90;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem;color:var(--gray-light);font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.game-header-actions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.game-round-label{flex:0 0 auto;white-space:nowrap}.reader-label{flex:1 1 180px;min-width:0;display:inline-flex;align-items:center;gap:4px}.reader-name{flex:1 1 auto;max-width:100%}.reader-label .player-name-text{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.timer{display:inline-flex;align-items:center;justify-content:center;min-width:46px;padding:4px 14px;border-radius:999px;font-size:1.25rem;font-weight:900;font-variant-numeric:tabular-nums;color:#2a1a00;background:var(--accent-grad);box-shadow:var(--glow-accent)}.timer--urgent{color:#fff;background:var(--danger-grad);animation:pulseGlow .8s ease-in-out infinite}.phase-content{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;gap:14px;animation:fadeUp .35s ease}.waiting-screen{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:40px}.loading-icon{width:60px;height:60px;display:inline-grid;place-items:center;overflow:hidden;border-radius:50%;border:2px solid var(--accent);background:var(--surface);box-shadow:var(--glow-accent);animation:spin 1.4s linear infinite}.loading-icon img{width:100%;height:100%;object-fit:cover;transform:scale(1.08)}.submitting-phase,.reader-draw,.reveal-screen,.scoring-screen,.public-vote-screen,.swap-screen,.round-results{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;gap:14px;animation:fadeUp .35s ease}.reader-draw{align-items:stretch;gap:12px}.submit-actions,.swap-actions{display:flex;gap:10px;flex-wrap:wrap}.prompt-choice-list{display:flex;flex-direction:column;gap:10px}.prompt-choice-list h3{font-size:1rem;color:var(--accent)}.prompt-choice-card{min-height:104px;padding:18px;border-radius:var(--card-radius);border:1.5px solid var(--border-strong);background:linear-gradient(160deg,#1c1730,#0e0b18);color:var(--white);text-align:left;font:inherit;font-weight:700;line-height:1.35;cursor:pointer;box-shadow:var(--shadow-soft);transition:border-color .15s,transform .12s,box-shadow .15s}.prompt-choice-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--glow-accent)}.prompt-choice-card--selected{border-color:var(--accent);box-shadow:var(--glow-accent)}.prompt-choice-text{display:block}.submission-status{display:flex;justify-content:flex-start}.status-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.status-columns h3{font-size:1rem;margin-bottom:8px;color:var(--accent)}.status-list{list-style:none;display:flex;flex-direction:column;gap:6px}.status-list li{padding:8px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.status-list .muted{color:var(--gray-light)}.answer-order{display:flex;flex-direction:column;gap:8px}.answer-order-item{position:relative;min-height:48px;padding:12px 50px 12px 14px;border-radius:var(--radius);border:2px solid var(--accent);background:var(--surface);color:var(--white);text-align:left;cursor:pointer;font-weight:600;transition:transform .12s,box-shadow .15s;animation:fadeUp .25s ease both}.answer-order-item:hover{transform:translate(3px);box-shadow:var(--glow-accent)}.answer-order-item--joker{border-color:var(--warning)}.gamble-chip{align-self:flex-end;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:5px 12px 5px 6px;border:1.5px solid rgba(255,203,45,.45);border-radius:999px;background:linear-gradient(145deg,#4b2a08,#1f1306);color:#ffd985;font:inherit;font-weight:900;cursor:pointer;box-shadow:inset 0 1px #ffffff29,0 5px 14px #00000038;transition:transform .12s,border-color .15s,box-shadow .15s,filter .15s}.gamble-chip:hover{transform:translateY(-1px);border-color:var(--warning);box-shadow:inset 0 1px #ffffff2e,0 8px 20px #ff9a2f33}.gamble-chip--active{color:#2a1500;background:var(--accent-grad);border-color:#ffe28c;box-shadow:inset 0 1px #ffffff59,0 8px 22px #ff9a2f52}.gamble-chip-mark{display:grid;place-items:center;width:30px;height:30px;border:2px dashed currentColor;border-radius:50%;font-size:.94rem;line-height:1;font-family:Georgia,serif;background:#ffffff14}.gamble-chip-label{font-size:.82rem;letter-spacing:0;text-transform:uppercase}.public-vote-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.public-vote-status{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.public-vote-progress{min-width:52px;padding:5px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--accent);font-weight:900;text-align:center}.public-vote-card{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:72px;padding:14px;border-radius:var(--radius);border:1.5px solid var(--border);background:var(--surface);color:var(--white);text-align:left;font:inherit;font-weight:700;cursor:pointer}.public-vote-card--selected{border-color:var(--accent);box-shadow:var(--glow-accent)}.public-vote-card strong{flex:0 0 auto;color:var(--accent);font-size:.82rem}.results-section{display:flex;flex-direction:column;gap:10px}.results-section h3{font-size:1rem;color:var(--accent)}.results-answer-list{display:flex;flex-direction:column;gap:10px}.result-answer{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);padding:14px;animation:fadeUp .3s ease both}.result-answer--ranked{border-color:var(--accent);background:linear-gradient(160deg,rgba(255,203,45,.14),var(--surface));box-shadow:0 6px 18px #ff9a2f2e}.result-answer-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px;color:var(--gray-light);font-size:.88rem}.result-author{color:var(--white);font-weight:800}.result-answer p{font-weight:700;line-height:1.4}.gamble-result{border-radius:999px;padding:4px 10px;background:var(--surface-2);color:var(--gray-light);font-weight:900}.gamble-result--plus{color:var(--success)}.gamble-result--minus{color:var(--danger)}.rank-pill{background:var(--accent-grad);color:#2a1a00;border-radius:999px;padding:4px 10px;font-weight:900;font-size:.78rem}.ranking-list--inline{margin-top:0}.round-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.results-countdown{display:inline-flex}.sticky-action-bar{position:sticky;bottom:0;z-index:20;display:flex;flex-direction:column;gap:8px;margin:4px -16px calc(-16px - var(--safe-bottom));padding:14px 16px calc(14px + var(--safe-bottom));background:linear-gradient(to top,var(--surface-strong) 70%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sticky-action-bar .info-text{padding:4px 0}.emote-wheel{position:fixed;right:max(16px,var(--safe-right));bottom:calc(78px + var(--safe-bottom));z-index:80}.emote-toggle{width:52px;height:52px;border:1.5px solid var(--border);border-radius:50%;background:var(--accent-grad);color:#2a1a00;font:inherit;font-weight:900;cursor:pointer;box-shadow:var(--shadow-soft)}.emote-options{position:absolute;right:0;bottom:60px;display:grid;grid-template-columns:repeat(2,minmax(48px,1fr));gap:8px;padding:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-strong);box-shadow:var(--shadow-soft)}.emote-option{min-width:48px;min-height:38px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--white);font:inherit;font-weight:900;cursor:pointer}.emote-overlay{pointer-events:none;position:fixed;inset:86px 16px auto;z-index:70;display:flex;flex-direction:column;align-items:center;gap:8px}.emote-burst{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#161222eb;border:1px solid var(--border);box-shadow:var(--shadow-soft);animation:emoteFloat 2.2s ease forwards}.emote-burst strong{color:var(--accent);font-size:1.15rem}.emote-burst span{color:var(--gray-light);font-size:.82rem;font-weight:800}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#080510b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px;overflow-y:auto;animation:fadeIn .2s ease}.modal{background:var(--surface-strong);border:1px solid var(--border-strong);border-radius:22px;padding:26px;max-width:420px;width:100%;max-height:calc(100dvh - 32px - var(--safe-top) - var(--safe-bottom));overflow-y:auto;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:slideUpModal .28s cubic-bezier(.2,.8,.3,1)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modal-message{font-size:1.1rem;margin-bottom:22px;line-height:1.45}.modal-actions{display:flex;gap:12px}.modal-actions .btn{flex:1}.add-content-modal{background:linear-gradient(160deg,#211b34,#171223);max-width:520px;padding:32px}.add-content-modal .modal-header{margin-bottom:24px}.add-content-modal .modal-header h2{font-size:clamp(1.9rem,5vw,2.55rem);line-height:1.05}.add-content-modal .btn-close{width:44px;height:44px;border-radius:14px;font-size:1.35rem;flex:0 0 auto}.add-content-form{display:flex;flex-direction:column;gap:18px}.add-content-kind{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:6px;border:1px solid var(--border);border-radius:16px;background:#120e1d}.add-content-kind-option{min-height:48px;padding:10px 14px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--gray-light);cursor:pointer;font:inherit;font-size:.98rem;font-weight:800;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.add-content-kind-option:hover{color:var(--white);border-color:var(--border-strong)}.add-content-kind-option--active{background:var(--accent-grad);color:#2a1a00;box-shadow:var(--glow-accent)}.add-content-textarea{background:#100c1a;min-height:150px;resize:vertical;line-height:1.45}.add-content-hints{display:flex;flex-direction:column;gap:6px;margin-top:-4px}.add-content-hints .info-text,.add-content-hints .muted,.add-content-form>.info-text,.add-content-form>.error-text{text-align:left;padding:0}.add-content-actions{display:flex;justify-content:flex-end;padding-top:4px}.add-content-actions .btn{min-width:160px}.ranking-modal{max-width:380px}.ranking-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin-top:12px}.ranking-item{display:flex;gap:12px;align-items:center;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);animation:fadeUp .3s ease both}.ranking-item:nth-child(1){border-color:var(--accent);background:linear-gradient(160deg,rgba(255,203,45,.16),var(--surface))}.ranking-pos{font-weight:900;color:var(--accent);width:32px;font-size:1.05rem}.ranking-nick{flex:1;font-weight:700}.ranking-score{color:var(--accent);font-weight:800}.score-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.score-label{min-width:100px;font-weight:700}.swap-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.swap-hint{color:var(--gray-light);font-size:.9rem}.gameover-box{max-width:620px;width:100%;display:flex;flex-direction:column;gap:24px;animation:fadeUp .45s ease}.gameover-title{font-size:2.8rem;font-weight:900;text-align:center;letter-spacing:-1px;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 6px 18px rgba(255,154,47,.4));animation:popIn .5s ease}.final-ranking,.joker-review{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:20px;box-shadow:var(--shadow-soft)}.joker-item{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.joker-player{color:var(--gray-light);font-size:.85rem}.joker-text{resize:vertical}.badge-saved{color:var(--success);font-weight:800}.admin-screen{gap:0;max-width:1000px;width:100%;margin:0 auto}.admin-header{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--border);margin-bottom:14px}.admin-login-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 0 16px}.input-admin-password{max-width:220px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.tab-btn{padding:9px 16px;border:1px solid var(--border);border-radius:10px;cursor:pointer;background:var(--surface);color:var(--white);font-size:.9rem;font-family:inherit;font-weight:600;transition:background .15s,transform .12s}.tab-btn:hover{transform:translateY(-1px)}.tab-btn--active{background:var(--accent-grad);color:#2a1a00;font-weight:800;border-color:transparent}.tab-content{overflow-y:auto}.library-tab,.stats-section{overflow-x:auto}.lib-table{width:100%;border-collapse:collapse;font-size:.85rem}.lib-table th,.lib-table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left}.lib-table th{color:var(--gray-light);font-weight:700}.stats-sort-btn{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.stats-sort-btn:hover{color:var(--white)}.stats-sort-indicator{display:inline-block;width:10px;color:var(--accent)}.actions-cell{display:flex;gap:6px;flex-wrap:wrap}.add-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.badge-status{border:none;border-radius:6px;padding:3px 10px;font-size:.8rem;cursor:pointer;background:var(--surface-2);color:var(--white)}.badge-source{border-radius:6px;padding:3px 10px;font-size:.8rem}.badge-source--manual{background:#4b3a9a}.badge-source--csv{background:#2f6a4a}.badge-source--joker{background:#9a6a3a}.import-tab,.export-tab,.stats-tab{display:flex;flex-direction:column;gap:20px}.import-section{display:flex;flex-direction:column;gap:8px}.stats-section{margin-bottom:20px}.join-form{display:flex;flex-direction:column;gap:12px}.room-list-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.room-list{list-style:none;display:flex;flex-direction:column;gap:10px}.room-list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;animation:fadeUp .25s ease}.room-list-meta{min-width:0;display:flex;flex-direction:column;gap:2px;text-align:left}.room-list-name{font-weight:600}.room-list-count{color:var(--gray-light);font-size:.85rem}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--gray-light)}.btn-ghost:hover{color:var(--text, #fff);border-color:var(--accent, #888)}.muted{color:var(--gray-light);font-size:.85rem;text-align:center}.reveal-watch{display:flex;flex-direction:column;gap:12px;animation:fadeUp .35s ease}.reveal-waiting{display:flex;min-height:140px;flex-direction:column;align-items:center;justify-content:center;gap:12px;animation:fadeUp .3s ease}.submissions-list{display:flex;flex-direction:column;gap:12px}.joker-input{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--border);padding:14px;border-radius:var(--radius);animation:fadeUp .25s ease}.info-text{color:var(--gray-light);text-align:center;padding:8px 0}.error-text{color:var(--danger);font-size:.92rem;font-weight:600}.hand-grid>*:nth-child(1){animation-delay:.02s}.hand-grid>*:nth-child(2){animation-delay:.06s}.hand-grid>*:nth-child(3){animation-delay:.1s}.hand-grid>*:nth-child(4){animation-delay:.14s}.hand-grid>*:nth-child(5){animation-delay:.18s}.hand-grid>*:nth-child(6){animation-delay:.22s}.hand-grid>*:nth-child(7){animation-delay:.26s}.ranking-list>*:nth-child(2){animation-delay:.05s}.ranking-list>*:nth-child(3){animation-delay:.1s}.ranking-list>*:nth-child(4){animation-delay:.15s}.ranking-list>*:nth-child(5){animation-delay:.2s}.ranking-list>*:nth-child(6){animation-delay:.25s}.results-answer-list>*:nth-child(2){animation-delay:.05s}.results-answer-list>*:nth-child(3){animation-delay:.1s}.results-answer-list>*:nth-child(4){animation-delay:.15s}.results-answer-list>*:nth-child(5){animation-delay:.2s}.game-menu{position:relative;z-index:95;display:inline-block}.game-menu>.btn{background:#1e1930;border:1px solid var(--border-strong)}.game-menu-dropdown{position:absolute;right:0;top:calc(100% + 6px);z-index:98;min-width:180px;display:flex;flex-direction:column;padding:6px;background:#1e1930;border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:0 14px 40px #0006;animation:fadeUp .18s ease}.game-menu-item{text-align:left;background:transparent;border:none;color:var(--text);font-size:.9rem;font-weight:600;padding:10px 12px;border-radius:10px;cursor:pointer;transition:background .15s,color .15s}.game-menu-item:hover{background:#ffffff1a}.game-menu-item--danger{color:var(--danger)}.game-menu-item--danger:hover{background:var(--danger);color:#fff}.turn-order{margin-top:18px;border-top:1px solid var(--border);padding-top:14px}.turn-order h3{font-size:.95rem;color:var(--accent);margin-bottom:10px}.turn-order-list{list-style:none;counter-reset:turn;display:flex;flex-direction:column;gap:6px}.turn-order-item{counter-increment:turn;display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.turn-order-item:before{content:counter(turn);font-weight:800;color:var(--gray-light);min-width:18px}.turn-order-item--current{border-color:var(--accent);box-shadow:var(--glow-accent)}.turn-order-nick{flex:1;font-weight:600}.turn-order-tag{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#2a1a00;background:var(--accent-grad);padding:2px 8px;border-radius:999px}.reveal-screen--single{align-items:stretch}.reveal-progress{text-align:center;font-weight:700;color:var(--gray-light);font-size:.9rem}.reveal-single{display:flex;justify-content:center;padding:10px 0;min-height:160px;animation:fadeUp .3s ease}.reveal-single .card-answer{width:100%;max-width:460px}@media (max-width: 560px){.game-title{font-size:1.8rem}.gameover-title{font-size:2.1rem}.room-code{font-size:2rem;letter-spacing:6px}.status-columns{grid-template-columns:1fr}.card{min-height:112px;padding:14px;border-radius:14px}.card-text{font-size:.94rem;line-height:1.3}.rank-badge{top:8px;right:8px;min-width:42px;height:25px;font-size:.72rem}.game-screen{height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;max-width:none;gap:8px;padding:calc(8px + var(--safe-top)) 8px calc(8px + var(--safe-bottom));overflow:hidden}.game-header{flex:0 0 auto;flex-wrap:nowrap;gap:6px;padding:7px 8px;border-radius:10px;font-size:.74rem;line-height:1.15}.game-header>span{min-width:0;max-width:34%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-header-actions{margin-left:auto;flex:0 0 auto;flex-wrap:nowrap;gap:6px}.game-header .btn-sm{min-height:30px;padding:6px 8px;border-radius:8px;font-size:.74rem}.game-menu-dropdown{min-width:168px}.game-menu-item{padding:9px 10px;font-size:.84rem}.game-screen>.card-prompt{min-height:74px;padding:22px 12px 10px}.card-prompt:before{top:8px;left:12px;font-size:.56rem}.game-screen>.card-prompt .card-text{font-size:.9rem;line-height:1.25}.phase-content,.submitting-phase,.reader-draw,.reveal-screen,.scoring-screen,.swap-screen,.round-results,.reveal-watch{gap:8px}.waiting-screen{flex:1 1 auto;min-height:0;padding:16px;gap:10px}.loading-icon{width:44px;height:44px;border-width:2px}.timer{min-width:40px;padding:3px 10px;font-size:1rem}.submission-status .btn{min-height:30px;padding:6px 9px;font-size:.76rem}.hand-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0 1px 4px}.submitting-phase,.swap-screen{overflow:hidden}.submitting-phase .hand-grid,.swap-screen .hand-grid{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;align-content:start}.hand-tile{min-height:72px;padding:9px;border-radius:12px;font-size:.78rem;line-height:1.22;box-shadow:0 4px 12px #00000042}.hand-tile:hover:not(.hand-tile--disabled){transform:none}.hand-tile--fresh{padding-top:31px}.fresh-badge{top:7px;left:7px;min-width:40px;height:20px;padding:0 8px;font-size:.64rem}.order-badge{top:7px;right:7px;min-width:24px;height:24px;padding:0 7px;font-size:.78rem}.answer-order{flex:0 0 auto;max-height:17dvh;gap:6px;overflow-y:auto;overscroll-behavior:contain}.answer-order-item{min-height:38px;padding:8px 40px 8px 10px;border-radius:10px;font-size:.8rem;line-height:1.2}.submit-actions,.swap-actions{flex:0 0 auto;gap:7px}.submit-actions .btn,.swap-actions .btn{flex:1 1 auto;min-height:38px;padding:9px 10px;font-size:.86rem}.joker-input{flex:0 0 auto;gap:7px;padding:9px}.joker-input .input{min-height:54px;padding:9px 10px;font-size:.86rem}.swap-header{flex:0 0 auto}.swap-header h2,.round-results-head h2{font-size:1rem;line-height:1.15}.swap-hint,.info-text,.reveal-progress{font-size:.78rem;line-height:1.25;padding:2px 0}.reveal-single{flex:1 1 auto;min-height:0;align-items:center;padding:2px 0}.reveal-waiting{min-height:96px;gap:8px}.reveal-single .card-answer{max-width:none}.submissions-list,.results-answer-list,.ranking-list--inline{gap:7px}.reveal-screen .submissions-list,.round-results{overflow-y:auto;overscroll-behavior:contain}.result-answer{padding:9px;border-radius:10px}.result-answer-meta{margin-bottom:5px;font-size:.76rem}.result-answer p{font-size:.86rem;line-height:1.28}.rank-pill{padding:3px 8px;font-size:.7rem}.sticky-action-bar{flex:0 0 auto;margin:0 -8px calc(-8px - var(--safe-bottom));padding:8px 8px calc(8px + var(--safe-bottom))}.sticky-action-bar .btn-large{min-height:42px;padding:10px 14px;border-radius:11px;font-size:.95rem}.modal-overlay{align-items:flex-start;padding:calc(12px + var(--safe-top)) 12px calc(12px + var(--safe-bottom))}.modal{padding:18px;border-radius:16px;max-height:calc(100dvh - 24px - var(--safe-top) - var(--safe-bottom))}.add-content-modal{padding:20px}.add-content-modal .modal-header{align-items:flex-start;margin-bottom:20px}.add-content-modal .modal-header h2{font-size:clamp(1.7rem,9vw,2.1rem)}.add-content-modal .btn-close{width:40px;height:40px}.add-content-form{gap:16px}.add-content-kind{grid-template-columns:1fr}.add-content-actions .btn{width:100%}.ranking-modal{max-width:100%}.ranking-item{gap:8px;padding:10px 11px}.ranking-pos{width:28px}.admin-login-strip{align-items:stretch}.input-admin-password{max-width:none}}
