:root{--bg:#f8faf5;--ink:#141712;--muted:#6a7265;--line:#dde4d6;--surface:#fff;--accent:#8ecf50;--accent-dark:#2f6208;--accent-dim:#ecf8e2;--accent-border:#7fbf3f;--danger:#e8674f;--danger-dim:#fff0ed;--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-full:9999px;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 16px #00000014, 0 2px 4px #0000000a;--ease:cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.2, .8, .4, 1);color:var(--ink);background:var(--bg);font-synthesis:none;letter-spacing:0;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;font-weight:500;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{letter-spacing:0}.app-shell{min-height:100svh}.topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:10;justify-content:space-between;align-items:center;gap:24px;padding:14px clamp(18px,4vw,48px);display:flex;position:sticky;top:0}.brand,.topnav a{color:var(--ink);align-items:center;gap:10px;font-weight:800;text-decoration:none;transition:opacity .14s;display:inline-flex}.brand:hover{opacity:.72}.brand-mark{background:var(--ink);border-radius:var(--radius-sm);color:#fff;letter-spacing:.5px;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:900;display:inline-flex}.topnav a{border:1px solid var(--line);border-radius:var(--radius-full);color:var(--muted);padding:7px 14px;font-size:14px;font-weight:700;transition:background .14s,border-color .14s,color .14s}.topnav a:hover{background:var(--accent-dim);border-color:var(--accent-border);color:var(--accent-dark)}.game-layout{max-width:680px;margin:0 auto;padding:clamp(24px,4vw,48px) clamp(18px,4vw,48px)}.admin-layout{max-width:1000px;margin:0 auto;padding:clamp(20px,4vw,48px)}.score-strip{border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.score-strip div{gap:2px;padding:14px 18px;display:grid}.score-strip div+div{border-left:1px solid var(--line)}.score-strip span{color:var(--muted);letter-spacing:.5px;text-transform:uppercase;font-size:12px;font-weight:700}.score-strip strong{color:var(--ink);font-size:clamp(28px,6vw,48px);font-weight:900;line-height:1}.play-stage{gap:16px;margin-top:20px;display:grid}.sound-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:clamp(20px,4vw,32px);display:grid}.sound-orb{background:var(--accent-dim);border:1.5px solid var(--accent-border);border-radius:var(--radius);color:var(--accent-dark);justify-content:center;align-items:center;width:72px;height:72px;transition:background .24s,border-color .24s,box-shadow .24s;display:inline-flex}@keyframes pulse-orb{0%,to{box-shadow:0 0 #8ecf5073}50%{box-shadow:0 0 0 16px #8ecf5000}}.sound-orb.is-listening{border-color:var(--accent);background:#d0f0a0;animation:1.4s ease-in-out infinite pulse-orb}.audio-bars{align-items:flex-end;gap:4px;height:30px;display:flex}@keyframes bar-bounce{0%,to{transform:scaleY(.2)}50%{transform:scaleY(1)}}.audio-bars span{background:var(--accent-dark);transform-origin:bottom;border-radius:3px;width:5px;height:100%;animation:.7s ease-in-out infinite bar-bounce;display:block}.audio-bars span:first-child{animation-delay:0s}.audio-bars span:nth-child(2){animation-delay:.12s}.audio-bars span:nth-child(3){animation-delay:.24s}.audio-bars span:nth-child(4){animation-delay:.36s}.audio-bars span:nth-child(5){animation-delay:.48s}.round-meta{text-align:left;gap:4px;display:grid}.round-meta span{color:var(--muted);font-size:13px}.round-meta strong{color:var(--ink);font-size:clamp(22px,4vw,34px);font-weight:900;line-height:1.08}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.choice-button{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--ink);cursor:pointer;font:inherit;min-height:108px;transition:border-color .16s var(--ease), background .16s var(--ease), box-shadow .16s var(--ease), transform .16s var(--ease-spring);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:12px;padding:20px;font-size:clamp(19px,3.5vw,28px);font-weight:900;display:inline-flex}.choice-button:active:not(:disabled){transform:scale(.97)}.choice-button:disabled{cursor:not-allowed;opacity:.45}.choice-button:not(:disabled):hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.choice-button.tennis:not(:disabled):hover,.choice-button.tennis.is-correct{border-color:var(--accent-border);background:#ebf8e2}.choice-button.orgasme:not(:disabled):hover,.choice-button.orgasme.is-correct{background:#fff0ed;border-color:#d97060}.choice-button.is-wrong{background:#fff8e4;border-color:#d4a93a}.choice-button.is-correct{box-shadow:0 0 0 3px #7fbf3f40}.choice-icon{font-size:32px;line-height:1}.result-flash{opacity:0;pointer-events:none;z-index:50;position:fixed;inset:0}@keyframes flash-win{0%{opacity:.4}to{opacity:0}}@keyframes flash-lose{0%{opacity:.35}to{opacity:0}}.result-flash.is-win{background:var(--accent);animation:.7s forwards flash-win}.result-flash.is-lose{background:var(--danger);animation:.7s forwards flash-lose}@keyframes win-bounce{0%{opacity:0;transform:scale(.95)translateY(12px)}55%{opacity:1;transform:scale(1.025)translateY(-5px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes lose-shake{0%,to{opacity:1;transform:translate(0)}10%{opacity:1;transform:translate(-10px)}25%{transform:translate(10px)}40%{transform:translate(-7px)}55%{transform:translate(7px)}70%{transform:translate(-3px)}85%{transform:translate(3px)}}.reveal{border:1px solid var(--line);border-radius:var(--radius-lg);display:none;overflow:hidden}.reveal.is-visible{display:block}.reveal.is-win.is-visible{animation:win-bounce .46s var(--ease-spring) both;border-color:var(--accent-border);box-shadow:0 0 0 3px #7fbf3f38}.reveal.is-lose.is-visible{border-color:#d97060;animation:.46s both lose-shake;box-shadow:0 0 0 3px #e8674f38}.result-banner{justify-content:center;align-items:center;gap:14px;padding:22px 24px;display:flex}.result-banner span{letter-spacing:-.5px;font-size:clamp(26px,5vw,40px);font-weight:900;line-height:1}.reveal.is-win .result-banner{border-bottom:1px solid var(--accent-border);color:#234d03;background:#c8eda0}.reveal.is-lose .result-banner{color:#7a1c0d;background:#ffd0c5;border-bottom:1px solid #d97060}.reveal-video-wrap{position:relative}.reveal-video,.preview-video{aspect-ratio:16/9;object-fit:cover;background:#0c0c0c;width:100%;display:block}.mystery-video{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.is-blurred{filter:blur(28px);transform:scale(1.04)}.blur-badge{border-radius:var(--radius-full);color:#fff;background:#0c0c0cc7;padding:5px 11px;font-size:12px;font-weight:800;position:absolute;top:14px;left:14px}.reveal-caption{background:var(--surface);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:16px 20px;display:flex}.reveal-caption div{text-align:left;gap:4px;display:grid}.button,.icon-button,.segmented button{border-radius:var(--radius);cursor:pointer;font:inherit;min-height:42px;transition:background .14s, border-color .14s, box-shadow .14s, transform .14s var(--ease-spring);border:1.5px solid #0000;justify-content:center;align-items:center;gap:8px;padding:9px 14px;font-weight:800;text-decoration:none;display:inline-flex}.button:active:not(:disabled){transform:scale(.97)}.button.primary{background:var(--ink);color:#fff}.button.primary:not(:disabled):hover{box-shadow:var(--shadow-md);background:#2a2e26}.button.secondary,.icon-button{background:var(--surface);border-color:var(--line);color:var(--ink)}.button.secondary:not(:disabled):hover,.icon-button:not(:disabled):hover{background:#f3f6f0;border-color:#c8d1c0}.button.large{min-height:54px;padding-inline:22px;font-size:17px}.button:disabled{cursor:not-allowed;opacity:.5}.icon-button{aspect-ratio:1;min-width:42px;padding:0}.icon-button input,.import-button input{display:none}.icon-button.danger{color:#a23524}.icon-button.danger:hover{background:var(--danger-dim);border-color:#e8674f}input:focus,button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.gate-wrap{justify-content:center;align-items:center;min-height:calc(100svh - 61px);padding:24px;display:flex}.gate-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:360px;padding:40px 36px;display:flex}.gate-card h1{margin:0;font-size:22px;font-weight:900;line-height:1}.gate-card p{color:var(--muted);margin:0;font-size:14px}.gate-card input{letter-spacing:6px;text-align:center;width:100%;font-size:22px}.gate-card .button{width:100%}.gate-error{color:#a23524;margin:0;font-size:14px;font-weight:700}.empty-state{text-align:center;place-content:center;align-items:center;gap:18px;min-height:calc(100svh - 60px);display:grid}.admin-header{justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;display:flex}.admin-header h1{color:var(--ink);margin:4px 0 0;font-size:clamp(28px,5vw,44px);font-weight:900;line-height:1}.eyebrow{color:var(--muted);letter-spacing:.8px;text-transform:uppercase;font-size:12px;font-weight:700}.admin-kpis{gap:8px;display:flex}.admin-kpis span{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-full);color:var(--muted);padding:6px 12px;font-size:13px;font-weight:700}.field{text-align:left;gap:7px;display:grid}.field span,.muted,small{color:var(--muted);font-size:13px}input{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);color:var(--ink);font:inherit;min-width:0;min-height:42px;padding:8px 12px;transition:border-color .14s}input:hover:not(:focus){border-color:#c0cdb8}.settings-box{border:1px solid var(--line);border-radius:var(--radius);gap:14px;padding:18px;display:grid}.settings-box h2{color:var(--ink);align-items:center;gap:8px;margin:0;font-size:17px;display:inline-flex}.drop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.drop-zone{background:var(--surface);border:2px dashed var(--line);border-radius:var(--radius-lg);color:var(--ink);text-align:center;min-height:260px;transition:background .16s var(--ease), border-color .16s var(--ease), transform .16s var(--ease-spring), box-shadow .16s var(--ease);place-items:center;gap:10px;padding:clamp(20px,4vw,32px);display:grid}.drop-zone:hover{border-color:#b8c9ad}.drop-zone.is-active{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 0 0 4px #8ecf5026}.drop-zone.is-busy{opacity:.6}.drop-zone.tennis.is-active,.drop-zone.tennis:hover{background:var(--accent-dim)}.drop-zone.orgasme.is-active,.drop-zone.orgasme:hover{background:var(--danger-dim)}.drop-icon{border:1.5px solid var(--line);border-radius:var(--radius);color:var(--ink);background:#f0f4ee;justify-content:center;align-items:center;width:80px;height:80px;display:inline-flex}.drop-zone span{color:var(--muted);letter-spacing:.5px;text-transform:uppercase;font-size:13px;font-weight:700}.drop-zone strong{font-size:clamp(22px,3.5vw,34px);font-weight:900;line-height:1.1}.drop-zone small{color:var(--muted);max-width:300px}.drop-status{background:var(--accent-dim);border-radius:var(--radius-full);color:var(--accent-dark);align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:800;display:inline-flex}.pill{border-radius:var(--radius-full);color:var(--muted);background:#eef1eb;align-items:center;width:fit-content;padding:5px 10px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.pill.success{background:var(--accent-dim);color:var(--accent-dark)}.pill.danger{background:var(--danger-dim);color:#a23524}.notice{border-radius:var(--radius);margin:0;padding:11px 14px;font-size:14px;font-weight:700}.notice.success{background:var(--accent-dim);color:var(--accent-dark)}.notice.danger{background:var(--danger-dim);color:#a23524}.round-list{border:1px solid var(--line);border-radius:var(--radius);gap:14px;margin-top:20px;padding:18px;display:grid}.list-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.list-heading h2,.settings-box h2,.preview-box h2,.analyzer-header h2{color:var(--ink);align-items:center;gap:8px;margin:0;font-size:17px;font-weight:800;display:inline-flex}.round-table{gap:6px;display:grid}.round-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 12px;transition:border-color .12s;display:grid}.round-row:hover{border-color:#c0cdb8}.round-row>div:first-child{color:var(--ink);text-align:left;gap:3px;display:grid}.round-row>div:first-child span{color:var(--muted);font-size:12px}.analyzer-box{border:1px solid var(--line);border-radius:var(--radius-lg);gap:16px;margin-bottom:20px;padding:18px;display:grid}.analyzer-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.drop-zone.analyzer{min-height:160px}.analyzer-loading{text-align:center;place-items:center;gap:8px;padding:28px;display:grid}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}.candidates-list{gap:5px;display:grid}.candidate-row{border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:auto auto 1fr auto;align-items:center;gap:12px;padding:9px 13px;transition:opacity .16s,border-color .12s;display:grid}.candidate-row:hover{border-color:#c0cdb8}.candidate-row.is-faded{opacity:.38}.candidate-check input{accent-color:var(--accent);cursor:pointer;width:18px;height:18px;min-height:auto}.candidate-meta{gap:5px;min-width:68px;display:grid}.candidate-meta strong{font-variant-numeric:tabular-nums;font-size:13px}.energy-bar{background:var(--line);border-radius:var(--radius-full);width:72px;height:3px;overflow:hidden}.energy-bar span{background:var(--accent);height:100%;display:block}.candidate-answer{flex-wrap:wrap;gap:6px;display:flex}.choice-chip{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-full);cursor:pointer;font:inherit;padding:5px 12px;font-size:13px;font-weight:800;transition:background .12s,border-color .12s,color .12s}.choice-chip:hover{border-color:#b0c0a8}.choice-chip.tennis.is-active{background:var(--accent-dim);border-color:var(--accent-border);color:var(--accent-dark)}.choice-chip.orgasme.is-active{background:var(--danger-dim);color:#8c2e1f;border-color:#d97060}.preview-btn{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);cursor:pointer;width:34px;height:34px;font-size:14px;line-height:1;transition:background .12s,border-color .12s}.preview-btn:hover{background:#f0f4ee;border-color:#b0c0a8}.preview-btn.is-active{background:var(--ink);border-color:var(--ink);color:#fff}.preview-box-inline{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.analyzer-actions{justify-content:space-between;align-items:center;gap:14px;display:flex}.analyzer-done{text-align:center;place-items:center;gap:12px;padding:24px;display:grid}.processing-status{border:1px solid var(--line);border-radius:var(--radius);background:#f5f8f2;align-items:center;gap:10px;padding:10px 14px;font-size:14px;display:flex}.segmented{border:1px solid var(--line);border-radius:var(--radius);background:#eef1eb;grid-template-columns:repeat(2,1fr);padding:3px;display:grid}.segmented button{color:var(--muted);background:0 0;border-color:#0000}.segmented button.is-active{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-sm);color:var(--ink)}@media (width<=820px){.topbar{padding:12px 18px}.brand span:last-child{display:none}.admin-header,.reveal-caption{flex-direction:column;align-items:flex-start;gap:14px}.sound-panel{grid-template-rows:auto auto;grid-template-columns:auto 1fr;gap:16px}.sound-panel .button{grid-column:1/-1;width:100%}.score-strip div{padding:12px 14px}.choice-button{min-height:92px;font-size:clamp(16px,4vw,22px)}.choice-icon{font-size:26px}.drop-grid{gap:12px}.round-row{grid-template-columns:minmax(0,1fr) auto}.candidate-row{grid-template-columns:auto auto 1fr auto}}@media (width<=480px){.score-strip strong{font-size:28px}.choice-button{min-height:80px}.candidate-row{grid-template-rows:auto auto;grid-template-columns:auto 1fr auto;gap:8px}.candidate-meta{grid-area:2/1/auto/-1}}
