:root{--ink:#111827;--muted:#64748b;--surface:#fffffff0;--line:#e2e8f0;--line-strong:#cbd5e1;color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(90deg,#0f172a0a 1px,#0000 1px) 0 0/44px 44px,linear-gradient(#fff7ed 0%,#f8fafc 44%,#eff6ff 100%);font-family:Vazirmatn,Tahoma,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0;overflow-x:hidden}h1,h2,p{margin:0}h2{color:var(--ink)}.app{width:min(1180px,100% - 32px);margin:0 auto;padding:24px 0 48px}.hero{border:1px solid var(--line);color:#fff;background:linear-gradient(90deg,#0d162bd6,#0d162b38),url(/stage.svg) 50%/cover,#111827;border-radius:8px;grid-template-columns:minmax(0,1fr) 330px;align-items:stretch;gap:20px;min-height:330px;padding:28px;display:grid}.hero-copy{text-align:right;flex-direction:column;justify-content:end;align-items:flex-start;display:flex}.hero h1{color:#fff;max-width:760px;margin:8px 0;font-size:clamp(42px,9vw,94px);line-height:.94}.hero p{color:#ffffffe0;max-width:660px;font-size:1.08rem}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.eyebrow{color:var(--muted);font-size:.78rem;font-weight:900}.hero .eyebrow{color:#fbbf24}.hero-panel{align-self:end;gap:12px;display:grid}.hero-panel div,.panel,.winner,.rules{border:1px solid var(--line);background:var(--surface);border-radius:8px;box-shadow:0 14px 34px #0f172a14}.hero-panel div{background:#fffffff0;padding:18px}.hero-panel span,.hero-panel strong{display:block}.hero-panel span{color:var(--muted);font-size:.85rem;font-weight:800}.hero-panel strong{color:var(--ink);font-size:1.55rem;line-height:1.1}.status-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.status-strip span,.pill{border:1px solid var(--line);color:#334155;background:#ffffffc7;border-radius:8px;justify-content:center;align-items:center;min-height:36px;padding:7px 10px;font-size:.86rem;font-weight:900;display:inline-flex}.layout{grid-template-columns:330px minmax(0,1fr);align-items:start;gap:18px;margin-top:18px;display:grid}.panel,.rules{padding:20px}.panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.panel-heading.compact{margin-bottom:0}.field,.inline-form,.card-form{gap:8px;display:grid}.field{color:var(--muted);font-size:.9rem;font-weight:800}input{border:1px solid var(--line-strong);width:100%;min-height:46px;color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:0 12px;font-weight:800}button,a{min-height:44px}button{cursor:pointer;color:var(--ink);font:inherit;background:#eef2ff;border:0;border-radius:8px;padding:10px 14px;font-weight:950}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:2px;outline:4px solid #fbbf24}.primary{color:#fff;background:#be123c}.primary:hover{background:#9f1239}.secondary{color:#111827;background:#fbbf24}.ghost{color:var(--muted);background:#f8fafc}.full{width:100%}.teams{gap:10px;margin:18px 0;display:grid}.team{border:1px solid var(--line);background:#f8fafc;justify-content:space-between;align-items:center;gap:14px;display:flex}.team.active{background:#fff1f2;border-color:#be123c}.team span{overflow-wrap:anywhere}.team strong{color:#fff;background:#0f172a;border-radius:999px;place-items:center;min-width:42px;height:42px;display:grid}.inline-form{grid-template-columns:minmax(0,1fr) auto;margin-bottom:14px}.table-actions{gap:8px;display:grid}.play-panel{min-height:560px}.empty-state,.turn-card{text-align:center;align-content:center;justify-items:center;gap:14px;min-height:500px;display:grid}.empty-state>span{color:#fff;background:#0f172a;border-radius:999px;place-items:center;width:88px;height:88px;font-size:3.4rem;display:grid}.empty-state p,.turn-card p{max-width:560px;color:var(--muted)}.game-grid{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:18px;display:grid}.song-card{color:#fff;background:linear-gradient(150deg,#be123cf5,#1d4ed8e0),#be123c;border-radius:8px;gap:14px;padding:22px;display:grid}.song-card h2{color:#fff;font-size:2rem;line-height:1.15}.song-card p{color:#ffffffdb}.hint{background:#ffffff24;border-radius:8px;padding:10px 12px}.hidden-year,.year-badge{border:1px dashed #ffffff7a;border-radius:8px;place-items:center;min-height:96px;font-size:1.5rem;font-weight:950;display:grid}.year-badge{color:#0f172a;background:#fbbf24;border-style:solid}.year-badge span{font-size:3rem;line-height:1}.year-badge small{color:#7f1d1d;font-size:.9rem}.play-links{gap:8px;display:grid}.play-links a{color:#0f172a;background:#fff;border-radius:8px;justify-content:center;align-items:center;font-weight:950;text-decoration:none;display:flex}.timeline-panel{gap:16px;display:grid}.timeline,.timeline-row{gap:10px;display:grid}.slot{color:#475569;background:#f8fafc;border:2px dashed #cbd5e1}.slot.selected{color:#9f1239;background:#fff1f2;border-color:#be123c}.timeline-card{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:4px 12px;padding:14px;display:grid}.timeline-card strong{color:#be123c;grid-row:span 2;font-size:1.35rem}.timeline-card span,.timeline-card small{overflow-wrap:anywhere}.timeline-card span{color:var(--ink);font-weight:950}.timeline-card small{color:var(--muted);font-weight:800}.result{border-radius:8px;gap:8px;padding:16px;display:grid}.result.correct{color:#14532d;background:#dcfce7}.result.wrong{color:#7f1d1d;background:#fee2e2}.result-actions,.deck-tools{flex-wrap:wrap;gap:8px;display:flex}.print-panel{margin-top:18px}.print-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.provider-switch{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:4px;padding:4px;display:flex}.provider-switch button{min-height:36px;color:var(--muted);background:0 0;padding:7px 10px}.provider-switch button.selected{color:#fff;background:#0f172a}.print-note{max-width:760px;color:var(--muted);margin:0 0 16px;font-weight:800}.duplex-deck,.duplex-sheet-pair,.print-sheet{gap:12px;display:grid}.duplex-sheet-pair{border-bottom:1px solid var(--line);padding-block:4px 12px}.sheet-label{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:.85rem;font-weight:950;display:flex}.sheet-label strong{color:var(--ink)}.print-grid{grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:12px;display:grid}.print-card{background:#fff;border:1px dashed #64748b;border-radius:8px;min-height:252px;display:grid;position:relative;overflow:hidden}.print-card-face{text-align:center;background:linear-gradient(135deg,#be123c14,#0000 42%),radial-gradient(circle at 50% 108%,#f59e0b2e,#0000 35%),#fffaf5;grid-template-rows:auto 1fr auto auto auto auto;align-content:stretch;justify-items:center;gap:6px;padding:18px 14px;display:grid}.print-card-face:before,.print-card-face:after,.print-card-back:before,.print-card-back:after{content:"";border-block:1px solid #be123c73;height:8px;position:absolute;inset-inline:10px}.print-card-face:before,.print-card-back:before{top:10px}.print-card-face:after,.print-card-back:after{bottom:10px}.card-ornament{color:#fff;background:#be123c;border-radius:50%;place-items:center;width:34px;height:34px;font-size:1.2rem;font-weight:950;display:grid}.card-kicker,.card-era{color:#9f1239;margin:0;font-size:.76rem;font-weight:950}.card-title{color:#111827;overflow-wrap:anywhere;align-self:center;font-size:1.25rem;line-height:1.45}.card-artist{color:#334155;font-size:.98rem;font-weight:900}.card-year{color:#be123c;font-size:2rem;font-weight:950;line-height:1}.print-card-back{color:#0f172a;text-align:center;background:linear-gradient(135deg,#0f172a12,#0000 45%),#f8fafc;align-content:center;justify-items:center;gap:8px;padding:18px 14px}.qr-frame{background:#fff;border:2px solid #0f172a;border-radius:8px;padding:8px}.print-card-back img,.qr-placeholder{width:124px;height:124px}.qr-placeholder{background:#e2e8f0;border-radius:4px}.print-card-back strong{color:#be123c;font-size:.98rem;font-weight:950}.print-card-back span,.print-card-back small{color:var(--muted);font-weight:900}.print-card-back small{overflow-wrap:anywhere;max-width:100%}.custom-panel{grid-template-columns:310px minmax(0,1fr);gap:18px;margin-top:18px;display:grid}.custom-panel p{color:var(--muted)}.deck-tools{margin-top:14px}.deck-message{color:#14532d;margin-top:8px;font-size:.9rem;font-weight:900}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.card-form{grid-template-columns:repeat(5,minmax(0,1fr))}.rules{gap:12px;margin-top:18px;display:grid}.rules ol{color:var(--muted);gap:8px;margin:0;padding-inline-start:22px;font-weight:800;display:grid}.disclaimer{color:#64748b;font-size:.85rem;font-weight:800}.winner{color:#14532d;background:#dcfce7;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;padding:18px 20px;display:flex}@media (width<=920px){.hero,.layout,.game-grid,.custom-panel,.card-form{grid-template-columns:1fr}.hero{min-height:520px}.hero-panel{align-self:stretch}.play-panel{min-height:auto}.status-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{@page{margin:5mm;size:letter}body{background:#fff}.app{width:100%;padding:0}.hero,.status-strip,.winner,.layout,.custom-panel,.rules,.print-actions,.print-note{display:none}.print-panel{box-shadow:none;border:0;margin:0;padding:0;display:block}.print-panel .panel-heading{display:none}.print-grid{grid-template-columns:repeat(3,1fr);gap:0}.duplex-deck,.duplex-sheet-pair,.print-sheet{display:block}.duplex-sheet-pair{border:0;padding:0}.print-sheet{break-after:page;page-break-after:always}.duplex-sheet-pair:last-child .print-sheet:last-child{break-after:auto;page-break-after:auto}.sheet-label{display:none}.print-card{break-inside:avoid;page-break-inside:avoid;border:1px dashed #111827;border-radius:3mm;width:63mm;height:88mm;min-height:88mm}.print-card-face,.print-card-back{padding:7mm 5mm}.card-title{font-size:16pt}.card-artist{font-size:11pt}.card-year{font-size:28pt}.print-card-back img,.qr-placeholder{width:40mm;height:40mm}.qr-frame{padding:2mm}}@media (width<=560px){.app{width:min(100% - 20px,1180px);padding-top:10px}.hero,.panel,.rules{padding:14px}.hero h1{font-size:clamp(40px,17vw,70px)}.inline-form,.status-strip{grid-template-columns:1fr}.empty-state,.turn-card{min-height:380px}}
