:root{--bg:#0b1221;--bg-2:#0f172a;--card:#0e1629;--soft:#1f2a44;--muted:#94a3b8;--text:#e5e7eb;--accent:#22c55e;--accent-2:#60a5fa;--danger:#ef4444;--radius:20px;--shadow:0 20px 60px #00000073}*{box-sizing:border-box}body{background:radial-gradient(1400px 900px at -10% -20%, #1e293b 0%, transparent 60%), radial-gradient(1200px 800px at 120% -10%, #0b2e4f 0%, transparent 55%), linear-gradient(180deg, var(--bg-2), var(--bg));color:var(--text);grid-template-rows:auto 1fr auto;min-height:100dvh;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Ubuntu,Cantarell,Noto Sans,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji;display:grid}header{justify-content:space-between;align-items:center;gap:16px;padding:20px clamp(16px,4vw,40px);display:flex}.brand{align-items:center;gap:14px;display:flex}.logo{background:conic-gradient(from 230deg, var(--accent), var(--accent-2));width:54px;height:54px;box-shadow:var(--shadow);color:#052013;letter-spacing:.5px;border-radius:14px;place-items:center;font-weight:900;display:grid}.logo span{font-size:22px}h1{margin:0;font-size:clamp(22px,3.5vw,32px)}.subtitle{color:var(--muted);font-size:14px}.toolbar{gap:10px;display:flex}.btn{appearance:none;border:1px solid var(--soft);color:var(--text);cursor:pointer;background:#0b1221;border-radius:12px;padding:12px 16px;font-weight:700;transition:transform 40ms,filter .2s,background .2s,box-shadow .2s}.btn:hover{filter:brightness(1.05)}.btn:active{transform:translateY(1px)}.btn.primary{background:linear-gradient(135deg, var(--accent), #25a06b);color:#02140b;border-color:#0000}.btn.ghost{background:0 0}.btn.danger{background:linear-gradient(135deg, var(--danger), #b91c1c);color:#220203;border-color:#0000}.stage{grid-template-rows:1fr auto auto;gap:22px;width:min(1100px,100%);margin:0 auto;padding:10px clamp(12px,4vw,40px) 24px}.board{text-align:center;border:1px solid var(--soft);border-radius:var(--radius);box-shadow:var(--shadow);background:linear-gradient(#ffffff08,#ffffff03);place-items:center;min-height:36dvh;padding:clamp(16px,3vw,28px);display:grid}.expression{letter-spacing:1px;text-shadow:0 8px 40px #00000059;font-size:clamp(64px,18vw,220px);font-weight:900;line-height:1.05}.expression.placeholder{opacity:.9;background:linear-gradient(135deg, var(--accent), var(--accent-2));-webkit-text-fill-color:transparent;color:var(--accent);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;animation:3s ease-in-out infinite gradient-shift}@supports ((-webkit-background-clip:text) or (background-clip:text)){.expression.placeholder{color:#0000}}@keyframes gradient-shift{0%,to{background-position:0%}50%{background-position:100%}}.note{color:var(--muted);margin-top:12px;font-size:clamp(14px,2.5vw,18px)}.buzzer-wrap{place-items:center;margin:30px;display:grid}.buzzer{cursor:pointer;background:var(--danger);color:#fff;letter-spacing:1px;text-shadow:0 1px 2px #000c;border:none;border-radius:999px;justify-content:center;align-items:center;width:clamp(120px,20vw,200px);height:clamp(120px,20vw,200px);font-size:clamp(16px,2.8vw,24px);font-weight:900;transition:transform 60ms,filter .15s,opacity .15s;display:flex;box-shadow:0 15px 30px #00000073,inset 0 8px 18px #ffffff26,inset 0 -12px 18px #00000040}.buzzer:active{filter:brightness(.95);transform:translateY(4px)scale(.98)}.buzzer[disabled]{opacity:.55;filter:saturate(.6)brightness(.9);cursor:not-allowed;box-shadow:0 8px 18px #00000059,inset 0 6px 12px #ffffff14,inset 0 -8px 12px #0000002e}.controls{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.progress{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:10px;margin-top:4px;font-size:12px;display:flex}.list{background:var(--card);border:1px solid var(--soft);border-radius:var(--radius);box-shadow:var(--shadow);min-height:22dvh;max-height:42dvh;padding:14px;transition:box-shadow .25s,border-color .25s,transform .25s;display:none;overflow:auto}.list table{border-collapse:collapse;width:100%;font-size:clamp(14px,2.2vw,16px)}.list th,.list td{text-align:left;border-bottom:1px dashed #243049;padding:10px 8px}.list th{z-index:1;background:#0c1527;position:sticky;top:0}.note{color:var(--muted);text-align:center;padding:20px}.list.highlight{border-color:var(--accent-2);animation:.35s ease-out list-pop;transform:translateY(-2px);box-shadow:0 0 0 2px #60a5fa99,0 18px 60px #0000008c}@keyframes list-pop{0%{opacity:.98;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.hidden{display:none!important}footer{color:var(--muted);text-align:center;padding:16px clamp(16px,4vw,40px);font-size:13px}dialog::backdrop{background:#03060c99}dialog{background:0 0;border:none;padding:0}.modal{background:linear-gradient(180deg, var(--card), var(--bg-2));border:1px solid var(--soft);width:min(760px,92vw);box-shadow:var(--shadow);border-radius:16px;padding:18px}.modal h3{margin:6px 0 12px}.settings{gap:14px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.chip{border:1px solid var(--soft);background:#0b1221;border-radius:999px;align-items:center;gap:8px;padding:10px 12px;display:inline-flex}.chip input[type=checkbox]{accent-color:var(--accent);width:18px;height:18px}.range input[type=range]{width:220px}.winner-glow{animation:1.2s ease-out forwards glow;box-shadow:0 0 #22c55e00}@keyframes glow{0%{box-shadow:0 0 #22c55e00}40%{box-shadow:0 0 60px #22c55eb3}to{box-shadow:0 0 #22c55e00}}.celebration{pointer-events:none;z-index:1000;position:fixed;inset:0;overflow:hidden}.balloon{animation:rise var(--rise-duration) ease-in forwards;filter:drop-shadow(0 6px 10px #00000059);font-size:clamp(18px,4vw,42px);line-height:1;position:absolute;bottom:-10vh}@keyframes rise{to{transform:translate3d(var(--rise-x), -120vh, 0) rotate(-4deg);opacity:.95}}.sheet-config{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.sheet-select{background:var(--bg);color:var(--text);border:1px solid var(--soft);cursor:pointer;border-radius:8px;padding:4px 8px;font-size:14px}.sheet-number{background:var(--bg);width:52px;color:var(--text);border:1px solid var(--soft);text-align:center;border-radius:8px;padding:2px 6px;font-size:14px}.sheet-error{color:var(--danger);background:#ef444414;border:1px solid #ef444459;border-radius:10px;margin:12px 0 0;padding:10px 14px;font-size:14px}.sheet-preview-wrap{flex-direction:column;align-items:center;max-height:60vh;margin-top:16px;display:flex;overflow-y:auto}.sheet-preview-page{border-bottom:1px dashed var(--soft);width:100%;max-width:560px;margin-bottom:20px;padding-bottom:20px}.sheet-preview-page:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.sheet-copies-badge{color:var(--accent-2);text-align:center;margin:0 0 10px;font-size:12px}.sheet-document{width:100%}.sheet-grid{grid-template-columns:repeat(var(--cols), 1fr);gap:6px;width:100%;display:grid}.sheet-cell{aspect-ratio:1;border:1px solid var(--soft);background:var(--card);color:var(--text);border-radius:10px;justify-content:center;align-items:center;font-size:clamp(14px,3.5vw,28px);font-weight:700;display:flex}.sheet-doc-header{border-bottom:1px solid var(--soft);align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;display:flex}.sheet-doc-logo{background:conic-gradient(from 230deg, var(--accent), var(--accent-2));color:#052013;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;font-weight:900;display:flex}.sheet-doc-title{color:var(--text);margin:0;font-size:16px;font-weight:700}.sheet-doc-subtitle{color:var(--muted);margin:2px 0 0;font-size:12px}.sheet-instructions{color:var(--muted);margin:0 0 14px;padding-left:18px;font-size:13px;line-height:1.7}.sheet-instructions strong{color:var(--text)}.print-only{display:none}@media print{@page{size:A4;margin:0}body>*,dialog,dialog::backdrop{display:none!important}#printSheet{background:#fff;display:block!important}#printSheet .sheet-page{page-break-after:always;break-after:page;box-sizing:border-box;background:#fff;width:210mm;height:297mm;padding:14mm 16mm;display:block;overflow:hidden}#printSheet .sheet-page:last-child{page-break-after:avoid;break-after:avoid}#printSheet .sheet-document{width:100%;max-width:none;display:block}#printSheet .sheet-doc-header{border-bottom:.5pt solid #ccc;flex-shrink:0;align-items:center;gap:8pt;margin-bottom:10pt;padding-bottom:7pt;display:flex}#printSheet .sheet-doc-logo{border:1.5pt solid #333;border-radius:5pt;flex-shrink:0;justify-content:center;align-items:center;width:28pt;height:28pt;font-size:14pt;font-weight:900;display:flex;color:#333!important;background:0 0!important}#printSheet .sheet-doc-title{color:#111;margin:0;font-size:15pt;font-weight:700}#printSheet .sheet-doc-subtitle{color:#666;margin:2pt 0 0;font-size:8pt}#printSheet .sheet-instructions{color:#444;flex-shrink:0;margin:0 0 10pt;padding-left:14pt;font-size:9pt;line-height:1.75}#printSheet .sheet-instructions strong{color:#000;font-weight:700}#printSheet .sheet-grid{grid-template-columns:repeat(var(--cols), 1fr);align-content:start;gap:2mm;width:100%;display:grid}#printSheet .sheet-cell{aspect-ratio:1;border-radius:2pt;justify-content:center;align-items:center;font-size:18pt;font-weight:700;display:flex;color:#000!important;background:#fff!important;border:1pt solid #999!important}}
