:root,:root[data-mode=songs]{--bg:#f6f0ff;--glow-1:#d6247c1f;--glow-2:#0fa3b11f;--surface:#fff;--surface-2:#efe7fb;--text:#1c1430;--muted:#6d6283;--line:#e1d6f3;--accent:#d6247c;--accent-2:#0b9aa8;--accent-soft:#fde3f0;--accent-text:#fff;--mark:#ffe27a;--good:#2b9348;--bad:#c92a2a;--bad-soft:#fde8e8;--radius:20px;--display:"Space Grotesk", "Inter", system-ui, sans-serif;--title-font:"Space Grotesk", "Inter", system-ui, sans-serif;--title-size:1.08rem;--label-font:"Inter", system-ui, sans-serif;--shadow:0 1px 2px #28003c0f, 0 8px 24px #50147814;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-mode=movies]{--bg:#f3ead7;--glow-1:#ffd67859;--glow-2:#b3261e0f;--surface:#fffaf0;--surface-2:#efe2c6;--text:#1e1812;--muted:#6e6250;--line:#dccbaa;--accent:#b3261e;--accent-2:#c48a12;--accent-soft:#f7ddd6;--accent-text:#fffaf0;--mark:#ffd65c;--film:#2a2119;--radius:10px;--display:"Bebas Neue", "Impact", sans-serif;--title-font:"Bebas Neue", "Impact", sans-serif;--title-size:1.5rem;--label-font:"Bebas Neue", "Impact", sans-serif;--shadow:0 1px 2px #3c1e0014, 0 6px 18px #3c1e001a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root,:root[data-mode=songs]{--bg:#100a1d;--glow-1:#ff4fa32e;--glow-2:#3ee0d01f;--surface:#1b1330;--surface-2:#271c42;--text:#f4eeff;--muted:#a798c6;--line:#352951;--accent:#ff4fa3;--accent-2:#3ee0d0;--accent-soft:#3d1734;--accent-text:#1a0712;--mark:#3ee0d052;--good:#69db7c;--bad:#ff8787;--bad-soft:#3d1d24;--shadow:0 1px 2px #0006, 0 10px 30px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-mode=movies]{--bg:#0c0a07;--glow-1:#f5c51821;--glow-2:#e23d2812;--surface:#1a1610;--surface-2:#261f15;--text:#f7edd8;--muted:#b4a68c;--line:#3d3324;--accent:#f5c518;--accent-2:#e8452f;--accent-soft:#3a2f0c;--accent-text:#1a1306;--mark:#f5c5184d;--film:#4a3d29;--shadow:0 1px 2px #00000080, 0 10px 30px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background-color:var(--bg);background-image:radial-gradient(60rem 30rem at 15% -5%, var(--glow-1), transparent 70%), radial-gradient(50rem 30rem at 100% 10%, var(--glow-2), transparent 70%);min-height:100%;color:var(--text);-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45;transition:background-color .3s}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.55}mark{background:var(--mark);color:inherit;border-radius:4px;padding:0 2px}.app{max-width:580px;margin:0 auto;padding:12px 16px 64px}.top{justify-content:space-between;align-items:center;padding:8px 0 12px;display:flex}.top h1{font-family:var(--display);letter-spacing:-.03em;margin:0;font-size:1.9rem;font-weight:700;line-height:1}[data-mode=songs] .top h1 span{background:linear-gradient(90deg, var(--accent), var(--accent-2));color:#0000;-webkit-background-clip:text;background-clip:text}[data-mode=movies] .top h1{letter-spacing:.04em;font-size:2.4rem;font-weight:400}[data-mode=movies] .top h1 span{color:var(--accent);text-shadow:0 0 18px var(--glow-1)}.icon-button{border:1.5px solid var(--line);background:var(--surface);border-radius:50%;flex-shrink:0;width:36px;height:36px;font-weight:700}.icon-button:hover{border-color:var(--accent)}.modes{background:var(--surface-2);border-radius:999px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:10px;padding:4px;display:grid}.mode{color:var(--muted);background:0 0;border:0;border-radius:999px;padding:9px 12px;font-weight:600;transition:background .2s,color .2s}.mode.selected{background:var(--accent);color:var(--accent-text);box-shadow:var(--shadow)}[data-mode=songs] .mode.selected{background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 55%, var(--accent-2)))}[data-mode=movies] .mode{font-family:var(--label-font);letter-spacing:.06em;padding:5px 12px;font-size:1.2rem}.kinds{justify-content:center;gap:8px;margin-bottom:16px;display:flex}.kind{border:1.5px solid var(--line);color:var(--muted);background:0 0;border-radius:999px;padding:5px 14px;font-size:.88rem;font-weight:600}.kind.selected{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.puzzle-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;font-size:.85rem;font-weight:600;display:flex}[data-mode=movies] .puzzle-meta{font-family:var(--label-font);letter-spacing:.06em;font-size:1.15rem;font-weight:400}.puzzle-meta>span+span:before{content:"·";margin-right:8px}.archive-tag{color:var(--accent)}.challenges{gap:6px;margin:0 0 16px;padding:0;list-style:none;display:grid}.challenge{background:var(--surface);border:1.5px solid var(--line);border-radius:12px;align-items:center;gap:10px;padding:8px 12px;font-size:.92rem;display:flex}.challenge.current{border-color:var(--accent);background:var(--accent-soft)}.challenge.done{color:var(--muted)}.challenge.done .challenge-icon{color:var(--good);font-weight:800}.challenge-icon{text-align:center;flex-shrink:0;width:1.4em}.challenge-chip{background:var(--accent-soft);color:var(--text);text-transform:none;letter-spacing:0;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-family:Inter,system-ui,sans-serif;font-size:.78rem;font-weight:600;display:inline-flex}.challenge-chip.done{color:var(--good);background:0 0;padding:0 0 0 6px}.chain{margin:0;padding:0;list-style:none}.card{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:12px;padding:10px 12px;animation:.25s ease-out pop-in;display:flex;position:relative}.card-row.start .card,.card-row.end .card{border-color:var(--accent)}.card-row.end.dim .card{box-shadow:none;background:color-mix(in srgb, var(--surface) 55%, transparent);border-style:dashed}[data-mode=movies] .card{border-width:1px;padding:10px 18px;-webkit-mask:radial-gradient(9px at 0,#0000 97%,#000) 0/51% 100% no-repeat,radial-gradient(9px at 100%,#0000 97%,#000) 100%/51% 100% no-repeat;mask:radial-gradient(9px at 0,#0000 97%,#000) 0/51% 100% no-repeat,radial-gradient(9px at 100%,#0000 97%,#000) 100%/51% 100% no-repeat}[data-mode=movies] .card-row.start .card,[data-mode=movies] .card-row.end:not(.dim) .card{background:linear-gradient(90deg, var(--surface), color-mix(in srgb, var(--accent-soft) 60%, var(--surface)))}.card-text{flex-direction:column;flex:1;min-width:0;display:flex}.card-label{font-family:var(--label-font);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px;font-size:.72rem;font-weight:700;display:flex}[data-mode=movies] .card-label{letter-spacing:.08em;font-size:1rem;font-weight:400}.card-row.start .card-label,.card-row.end .card-label{color:var(--accent)}.card-title{font-family:var(--title-font);font-weight:700;font-size:var(--title-size);overflow-wrap:anywhere;line-height:1.2}[data-mode=movies] .card-title{letter-spacing:.03em;font-weight:400;line-height:1.05}.card-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.card-actions{gap:6px;margin-top:4px;display:flex}.undo{color:var(--muted);background:0 0;border:0;border-radius:50%;flex-shrink:0;width:32px;height:32px}.undo:hover{background:var(--surface-2);color:var(--bad)}.vinyl{background:repeating-radial-gradient(circle,#111 0 2px,#1d1d1d 2px 4px);border-radius:50%;flex-shrink:0;place-items:center;width:56px;height:56px;display:grid;position:relative;box-shadow:0 2px 8px #0000004d}.vinyl img,.vinyl-blank{object-fit:cover;background:linear-gradient(135deg, var(--accent), var(--accent-2));border-radius:50%;width:62%;height:62%}.vinyl:after{content:"";background:var(--bg);border-radius:50%;width:7px;height:7px;position:absolute;box-shadow:inset 0 0 0 1px #0006}.vinyl.spinning{animation:2.2s linear infinite spin}.poster{object-fit:cover;background:var(--surface-2);border-radius:4px;flex-shrink:0;width:46px;height:69px;box-shadow:0 2px 8px #0000004d}.poster.blank{place-items:center;display:grid}.poster.blank:after{content:"🎬";font-size:1.2rem}.connector{justify-content:center;align-items:center;height:36px;display:flex;position:relative}.connector:before{content:"";background:linear-gradient(var(--accent), var(--accent-2));border-radius:2px;width:3px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.connector.pending:before{border-left:2px dashed var(--line);background:0 0;width:0}[data-mode=movies] .connector:before{background-color:var(--film);background-image:repeating-linear-gradient(to bottom, var(--bg) 0 3px, transparent 3px 7px), repeating-linear-gradient(to bottom, var(--bg) 0 3px, transparent 3px 7px);background-position:3px 0,calc(100% - 3px) 0;background-repeat:no-repeat;background-size:3px 100%,3px 100%;border-radius:0;width:18px}[data-mode=movies] .connector.pending:before{opacity:.35;border:0}.connector-word{background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 50%, var(--accent-2)));color:var(--accent-text);text-transform:lowercase;border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:700;position:relative}[data-mode=movies] .connector-word{font-family:var(--label-font);letter-spacing:.08em;text-transform:uppercase;background:var(--accent);border:1px dashed color-mix(in srgb, var(--accent-text) 40%, transparent);border-radius:3px;font-size:1rem;font-weight:400}.slot-card{border-radius:var(--radius);border:2px solid var(--accent);background:var(--surface);box-shadow:var(--shadow), 0 0 0 4px var(--accent-soft);padding:12px}.slot-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.slot-hint{color:var(--muted);margin:4px 0 10px;font-size:.9rem}.slot-hint strong{color:var(--text)}.switch{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;margin-left:auto;font-size:.8rem;font-weight:600;display:inline-flex}.switch input{opacity:0;pointer-events:none;position:absolute}.switch-track{background:var(--line);border-radius:999px;width:32px;height:18px;transition:background .2s;position:relative}.switch-track:after{content:"";background:var(--surface);border-radius:50%;width:14px;height:14px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000004d}.switch input:checked+.switch-track{background:var(--accent)}.switch input:checked+.switch-track:after{transform:translate(14px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:2px}.search{position:relative}.search-field{flex:1;position:relative}.search input{width:100%;font:inherit;border:1.5px solid var(--line);background:var(--bg);color:var(--text);border-radius:12px;outline:none;padding:12px 40px 12px 14px;font-size:1rem}.search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.guess-form{gap:8px;display:flex}.add-button{background:var(--accent);color:var(--accent-text);border:0;border-radius:12px;padding:0 18px;font-weight:700}[data-mode=movies] .add-button{font-family:var(--label-font);letter-spacing:.06em;font-size:1.25rem;font-weight:400}.spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}.search-field .spinner{margin-top:-8px;position:absolute;top:50%;right:14px}.choices-head{color:var(--muted);margin:12px 0 0;font-size:.85rem;font-weight:700}.results{border:1.5px solid var(--line);border-radius:12px;max-height:340px;margin:8px 0 0;padding:0;list-style:none;overflow-y:auto}.result{cursor:pointer;border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 10px;display:flex}.result:last-child{border-bottom:0}.result.active,.result:hover{background:var(--accent-soft)}.result.no-link{opacity:.55}.result img,.img-placeholder{object-fit:cover;background:var(--surface-2);border-radius:6px;flex-shrink:0;width:38px;height:38px}[data-mode=songs] .result img,[data-mode=songs] .img-placeholder{border-radius:50%}[data-mode=movies] .result img,[data-mode=movies] .img-placeholder{border-radius:3px;width:32px;height:48px}.result-text{flex-direction:column;flex:1;min-width:0;display:flex}.result-title{overflow-wrap:anywhere;font-weight:600}.result-meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.result-tag{color:var(--muted);white-space:nowrap;font-size:.7rem}.results-note{color:var(--muted);padding:12px;font-size:.9rem}.results-note.error,.pick-error{color:var(--bad)}.pick-error{background:var(--bad-soft);border-radius:8px;margin:0 0 10px;padding:8px 12px;font-size:.9rem;animation:.35s shake}.pick-note{margin:10px 0 0;font-size:.9rem}.game-actions{justify-content:center;margin-top:20px;display:flex}.text-button{color:var(--muted);text-underline-offset:3px;background:0 0;border:0;padding:6px;font-size:.9rem;text-decoration:underline}.text-button.inline{font-size:inherit;letter-spacing:inherit;color:var(--accent);padding:0 0 0 4px;font-family:inherit}.text-button:hover{color:var(--text)}.preview-button{--size:38px;width:var(--size);height:var(--size);color:var(--accent-text);background:radial-gradient(circle, var(--accent) 64%, transparent 66%), conic-gradient(var(--accent-2) var(--progress,0deg), var(--line) 0);border:0;border-radius:50%;flex-shrink:0;place-items:center;font-size:.8rem;transition:transform .15s;display:grid;position:relative}.preview-button.small{--size:30px;font-size:.68rem}.preview-button:hover{transform:scale(1.06)}.preview-button span{position:relative;left:1px}.preview-button.playing span{letter-spacing:-2px;left:0}.trailer-button{border:1px solid var(--line);background:var(--surface-2);font-family:var(--label-font);letter-spacing:.08em;color:var(--text);border-radius:3px;align-items:center;gap:5px;padding:1px 8px 0;font-size:.95rem;display:inline-flex}.trailer-button span{color:var(--accent-2);font-size:.7rem}.trailer-button:hover{border-color:var(--accent)}.trailer{color:#fff;background:#000;border:0;border-radius:12px;width:min(860px,100vw - 24px);padding:0;overflow:hidden}.trailer::backdrop{background:#000c}.trailer-head{letter-spacing:.05em;justify-content:space-between;align-items:center;gap:12px;padding:8px 8px 8px 16px;font-family:Bebas Neue,sans-serif;font-size:1.3rem;display:flex}.trailer-head span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.trailer-link{letter-spacing:0;color:#ccc;white-space:nowrap;font-family:Inter,system-ui,sans-serif;font-size:.8rem}.trailer-head .icon-button{color:#fff;background:#222;border-color:#444}.trailer-frame{aspect-ratio:16/9;position:relative}.trailer-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.result-panel{border-radius:var(--radius);background:var(--surface);border:1.5px solid var(--line);box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:16px;margin-top:24px;padding:20px 16px;animation:.3s ease-out pop-in;display:flex}.result-score{text-align:center}.result-score h2{font-family:var(--display);letter-spacing:-.02em;margin:4px 0 0;font-size:1.8rem}[data-mode=movies] .result-score h2{letter-spacing:.04em;color:var(--accent);font-size:2.6rem;font-weight:400}.result-score p{color:var(--muted);margin:2px 0 0}.result-emoji{font-size:2.4rem}.result-buttons{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.primary-button,.secondary-button{border:0;border-radius:999px;min-width:160px;padding:12px 22px;font-weight:700}.primary-button{background:var(--accent);color:var(--accent-text)}.secondary-button{background:var(--surface-2);color:var(--text);border:1.5px solid var(--line)}.primary-button:hover,.secondary-button:hover{filter:brightness(1.05)}.stats{text-align:center;grid-template-columns:repeat(4,1fr);gap:8px;width:100%;margin:0;display:grid}.stats dt{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.72rem}.stats dd{font-family:var(--display);margin:0;font-size:1.5rem;font-weight:700}.route{text-align:center;width:100%}.route-list{text-align:left;margin:8px 0 0;padding:0;list-style:none}.route-list li{flex-wrap:wrap;align-items:baseline;gap:6px;padding:4px 0;display:flex}.route-word{background:var(--accent-soft);border-radius:999px;margin-right:2px;padding:1px 8px;font-size:.72rem;font-weight:700}.route-title{font-weight:600}.route-sub{color:var(--muted);font-size:.85rem}.countdown{color:var(--muted);margin:0;font-size:.9rem}.countdown strong{color:var(--text);font-variant-numeric:tabular-nums}.notice,.loading-card{border-radius:var(--radius);background:var(--surface);border:1.5px dashed var(--line);padding:20px}.loading-card{color:var(--muted);align-items:center;gap:12px;display:flex}.notice h2{margin-top:0;font-size:1.15rem}code{background:var(--surface-2);border-radius:4px;padding:1px 5px;font-size:.9em}.help{background:var(--surface);max-width:min(480px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--text);border:0;border-radius:18px;padding:0;box-shadow:0 20px 60px #0000004d}.help::backdrop{background:#00000073}.help-body{padding:20px 22px 22px}.help h2{font-family:var(--display);margin:0 0 8px}[data-mode=movies] .help h2,[data-mode=movies] .help h3{letter-spacing:.05em;font-weight:400}.help h3{font-family:var(--display);margin:18px 0 4px;font-size:1.05rem}[data-mode=movies] .help h3{font-size:1.35rem}.help p,.help li{font-size:.95rem}.help ul{margin:6px 0;padding-left:18px}.help ul li+li{margin-top:6px}.help-example{background:var(--surface-2);border-radius:10px;margin:10px 0;padding:10px 14px;font-weight:600;list-style:none}.help-example li+li:before{content:"↓ ";color:var(--accent)}.help .primary-button{margin:18px auto 0;display:block}@keyframes pop-in{0%{opacity:0;transform:translateY(6px)scale(.98)}}@keyframes shake{25%{transform:translate(-5px)}50%{transform:translate(5px)}75%{transform:translate(-3px)}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
