:root{--paper:#f8f5ec;--ink:#394033;--green:#536d47;--muted:#8b927f;--orange:#d75a37;--line:#dfe3d3;--white:#fffef8;--fun:'Fredoka','DM Sans',sans-serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:14px var(--sans);-webkit-font-smoothing:antialiased}button,input{font:inherit}button{border:0;background:none;color:inherit;cursor:pointer}button,input,a{-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible{outline:3px solid #b1c49c;outline-offset:4px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.icon{width:17px;height:17px;flex-shrink:0}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.site-header{width:min(1040px,calc(100% - 56px));margin:auto;display:flex;justify-content:space-between;align-items:center;height:88px}.brand{font:500 30px var(--fun);letter-spacing:-.5px;display:flex;align-items:center;gap:8px;color:var(--green)}.brand>span{color:var(--orange);margin-left:-7px}.brand-icon{width:29px;height:29px;padding:3px;color:var(--orange);transform:rotate(-8deg);margin-right:1px}.header-tools{display:flex;align-items:center;gap:14px}.icon-button{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;color:#8c987c}.icon-button:hover{background:#edf0e1;color:var(--green)}.help-button{border:1px solid #c6cfb6;width:25px;height:25px;font-weight:600;font-size:14px}.streak{font-size:14px;color:#8b947c}.game-shell{width:min(770px,calc(100% - 44px));margin:18px auto 0}.game-switch{display:flex;justify-content:center;gap:22px;margin:0 0 30px}.game-switch button{font-size:14px;color:#a0a88f;padding:7px 0;position:relative}.game-switch button.active{color:var(--green);font-weight:600}.game-switch button.active::after{content:'';position:absolute;bottom:0;height:2px;left:0;right:0;background:var(--orange);border-radius:2px}.category-tabs{display:flex;justify-content:center;gap:5px;margin-bottom:29px}.category-tabs button{font:500 22px var(--fun);color:#a4ab98;padding:8px 24px;position:relative;border-radius:20px;transition:color .15s}.category-tabs button.active{color:var(--green);background:#e9eedf}.category-tabs button:not(.active):hover{color:var(--green)}.game-options{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px}.mode-tabs{display:flex;align-items:center;gap:15px}.mode-tabs button{font-size:14px;color:#a3ab95;padding:7px 0}.mode-tabs button.active{color:var(--ink);font-weight:600}.difficulty-tabs{display:flex;align-items:center;gap:5px}.difficulty-tabs button{font-size:14px;color:#a2aa94;border:1px solid transparent;border-radius:16px;padding:6px 11px;white-space:nowrap}.difficulty-tabs button.active{color:var(--green);background:#edf1e3;border-color:#cdd7bb}.difficulty-tabs button[data-tier=medium].active{color:#9b8350;background:#f5ecd5;border-color:#e6d5a9}.difficulty-tabs button[data-tier=hard].active{color:#b26d48;background:#f5e4d7;border-color:#e9c6ab}.difficulty-tabs button[data-tier=impossible].active{color:#8a677c;background:#eee4e9;border-color:#d9c2d0}.puzzle-meta{display:flex;align-items:center;gap:10px;min-height:20px;margin-bottom:11px;font-size:14px;color:#929d82}#run-status{margin-left:auto}#timer{color:var(--ink);font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;min-width:3ch;text-align:right}#timer.danger{color:#c14228}.movie-screen{position:relative;aspect-ratio:1.79;border-radius:11px;overflow:hidden;background:#242a20;box-shadow:0 5px 18px #424c2c14;isolation:isolate}.movie-screen>img{display:block;position:absolute;inset:0;height:100%;width:100%;object-fit:contain}.movie-screen.loading>img{opacity:.25}.expand-button{position:absolute;right:11px;top:11px;width:28px;height:28px;color:#fffff5b3;border-radius:5px;background:#10190f33;display:grid;place-items:center;backdrop-filter:blur(6px)}.expand-button:hover{color:#fff;background:#10190f80}.expand-button .icon{height:12px;width:12px}.timestamp{position:absolute;bottom:11px;left:13px;font-size:14px;color:#fdf8e9ce;letter-spacing:.8px;text-shadow:0 1px 6px #0008}.frame-progress{display:flex;align-items:center;justify-content:space-between;margin:17px 0 24px}.frame-tiles{display:flex;gap:7px}.frame-tile{height:31px;width:33px;border:1px solid #d8decb;background:#f0f2e8;border-radius:6px;display:grid;place-items:center;font:500 14px var(--fun);color:#b4bba6}.frame-tile:disabled{opacity:1;cursor:default}.frame-tile.current{border-color:#b9c8a3;background:#e4ebd7;color:var(--green)}.frame-tile.wrong{border-color:#decbbd;background:#eee1d7;color:#af8366}.frame-tile.skip{border-color:#e3d3aa;background:#f4ecd6;color:#a28b59}.frame-tile.win{background:var(--green);color:var(--white);border-color:var(--green)}.frame-tile.seen{border-color:#cbd6b8;color:#8d9c78}.frame-tile .icon{width:15px;height:15px}#attempt-label{font-size:14px;color:#a1aa92}#guess-panel{width:min(570px,100%);margin:auto}#guess-form{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:9px}.guess-input-wrap{position:relative;background:var(--white);border:1px solid #d2dac3;border-radius:8px;min-width:0;display:flex;align-items:center}.guess-input-wrap:focus-within{border-color:#9daf86;box-shadow:0 0 0 3px #6b815415}#title-guess{border:0;background:none;outline:0;color:var(--ink);padding:14px 15px;width:100%;min-width:0;font-size:14px;height:47px}#title-guess::placeholder{color:#a7b096}.primary-button{display:flex;align-items:center;justify-content:center;gap:11px;border:1px solid #c44e2f;border-radius:8px;background:var(--orange);color:#fffdf4;min-height:44px;padding:12px 15px;font-size:14px;font-weight:500;transition:background .15s}.primary-button:hover{background:#c94b2c}.primary-button .icon{width:15px;height:15px}.guess-feedback{font-size:14px;color:#ae8064;margin-top:12px;line-height:1.7;text-align:center}.guess-feedback:empty{display:none}.used-guesses{display:flex;justify-content:center;flex-wrap:wrap;gap:5px;margin-top:13px}.used-guesses:empty{display:none}.guess-tag{font-size:14px;border-radius:4px;padding:5px 8px;background:#eee7dc;color:#a7947b;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.guess-tag::before{content:'×';margin-right:5px}.guess-actions{display:flex;justify-content:space-between;margin-top:17px}.guess-actions button,.text-button{font-size:14px;color:#9ca78a;padding:5px 0}.guess-actions button:hover,.text-button:hover{color:var(--green)}.puzzle-bottom{display:flex;align-items:center;justify-content:center;gap:25px;min-height:26px;margin-top:18px;font-size:14px;color:#a0ab8d}.puzzle-bottom button{font-size:14px;color:#9f8b73}.round-result{text-align:center;padding:0 8px}.result-outcome{font-size:14px;color:var(--green);margin-bottom:8px}.round-result h1{font:500 28px/1.15 var(--fun);max-width:580px;margin:0 auto 9px;color:var(--green)}.result-meta{font-size:14px;color:#9da98c;line-height:1.7;margin-bottom:15px}.result-actions{display:flex;justify-content:center;align-items:center;gap:22px;margin:16px auto 0}.result-actions .primary-button{min-width:130px}.image-error,.frame-loading,.speed-ready{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;padding:20px;text-align:center;background:#252f21f0;color:#f8f5e8;font-size:14px}.image-error button{font-size:14px;color:#f9f1d8;border:1px solid #fff4;border-radius:5px;padding:8px 13px}.spinner{width:23px;height:23px;border:2px solid #fff5;border-top-color:#e8d8a8;border-radius:50%;animation:spin .8s linear infinite}.speed-ready{background:#e9eedf;color:var(--green);gap:15px}.speed-ready h1{font:500 39px var(--fun)}.speed-ready p{font-size:14px;color:#95a17f}.speed-ready .primary-button{min-width:120px}.speed-active::after{content:'';position:absolute;left:0;bottom:0;width:var(--time-left,100%);height:3px;background:var(--orange);transition:width .3s linear}footer{display:flex;flex-direction:column;align-items:center;gap:12px;margin:37px auto 30px;font-size:14px;color:#b1b8a2}footer>div{display:flex;gap:23px}footer button{font-size:14px;color:#a5af95;padding:4px 0}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);padding:12px 20px;color:#fffdf2;background:var(--ink);border-radius:8px;font-size:14px;z-index:25;max-width:calc(100% - 30px);text-align:center}
#suggestions{position:absolute;top:49px;left:-1px;right:-1px;margin:0;padding:5px;list-style:none;border:1px solid #d0d9c0;border-radius:7px;box-shadow:0 5px 20px #263a1b17;background:var(--white);z-index:8;max-height:210px;overflow-y:auto}#suggestions li{padding:10px 9px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;cursor:pointer;border-radius:4px}#suggestions li.selected,#suggestions li:hover{background:#edf2e3}#suggestions li>span:last-child{font-size:14px;color:#a0ad8c}.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}[hidden]{display:none!important}.confetti{position:fixed;inset:0;overflow:hidden;z-index:25;pointer-events:none}.confetti i{position:absolute;top:-15px;left:var(--x);width:6px;height:10px;border-radius:2px;background:var(--c);transform:rotate(var(--r));animation:confetti-fall 1.4s ease-in var(--delay) forwards}
dialog{width:min(485px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow-y:auto;border:1px solid #d3ddc2;border-radius:15px;background:var(--white);padding:23px 26px;color:var(--ink);box-shadow:0 15px 70px #26361a29}dialog::backdrop{background:#2a352469;backdrop-filter:blur(4px)}.modal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;font:500 17px var(--fun);color:#95a782}.modal-top .icon{width:15px;height:15px}#modal-content h2{font:500 32px/1.1 var(--fun);color:var(--green);margin-bottom:18px}#modal-content>p{font-size:14px;line-height:1.8;color:#8f9f7b;margin-bottom:15px}#modal-content>.primary-button{width:100%;margin-top:18px}.rules-list{padding-left:17px;color:#8d9d78;font-size:14px;line-height:1.9;margin:18px 0}.rules-list li{padding-left:4px;margin-bottom:12px}.rules-list b{color:#6b8156;font-weight:500}.stat-note{font-size:14px!important;line-height:1.8!important;color:#a0ad8f!important}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.stat-tile{border:1px solid #dce5cf;background:#f0f5e7;border-radius:8px;padding:17px}.stat-tile b{display:block;font:500 34px var(--fun);color:var(--green);margin-bottom:4px}.stat-tile span{font-size:14px;color:#9eae88}.answer-title{font:500 23px var(--fun);color:var(--green);margin-bottom:15px}.summary-cells{display:flex;justify-content:center;gap:7px;margin:20px 0}.summary-cells>span{width:36px;height:36px;display:grid;place-items:center;font:500 18px var(--fun);border:1px solid #d1dcc0;background:#eff4e6;border-radius:6px;color:#a6b38f}.summary-cells>span.win{background:var(--green);color:var(--white);border-color:var(--green)}.summary-cells>span.wrong{background:#ede1d6;color:#a07c5e;border-color:#e2ceb9}.summary-cells>span.skip{background:#f6efd9;color:#ac985b;border-color:#e6d9b3}.summary-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.outline-button{display:flex;justify-content:center;align-items:center;gap:8px;border:1px solid #cbd9b7;background:#eef4e4;color:var(--green);font-size:14px;padding:11px;border-radius:7px}.run-total{text-align:center;font-size:14px!important}.run-total b{display:block;font:500 56px var(--fun);color:var(--green);margin-bottom:7px}.summary-rounds{list-style:none;padding:0;max-height:230px;overflow-y:auto;margin:20px 0}.summary-rounds li{display:flex;gap:10px;align-items:center;border-bottom:1px solid #e3e9d8;font-size:14px;padding:11px 0;color:#8fa076}.summary-rounds li>span:nth-child(2){flex:1}.summary-rounds small{font-size:14px;color:#a4b18f}.daily-board{display:grid;gap:17px;margin:23px 0}.daily-board-row>strong{display:block;font:500 19px var(--fun);margin-bottom:9px;color:var(--green)}.daily-board-row>div{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.daily-board-row button{border:1px solid #d8e1c9;background:#eff3e7;border-radius:6px;font-size:14px;padding:10px 3px;color:#98a785;line-height:1.7}.daily-board-row button span{display:block;font-size:14px}.daily-board-row button.cleared{color:white;background:var(--green);border-color:var(--green)}.daily-board-row button.failed{background:#e9dfcf;color:#a58a69;border-color:#deceb8}.host-dropzone{display:flex;flex-direction:column;align-items:center;gap:10px;border:1px dashed #c1d0ac;padding:24px 12px;border-radius:8px;background:#f0f5e7;color:var(--green);font-size:14px;cursor:pointer;margin:20px 0 12px}.host-dropzone small{font-size:14px;color:#a4b18f}.host-film-row{display:grid;grid-template-columns:18px 1fr 23px;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid #e0e7d4;color:#99a984;font-size:14px}.host-film-row input{width:100%;padding:9px 11px;border:1px solid #d3dec4;border-radius:5px;background:var(--white);color:var(--ink);font-size:14px}.host-film-row .icon{width:13px;height:13px}.host-note,.host-error{font-size:14px;line-height:1.8;color:#a0ae8c;margin:11px 0}.host-error{color:#b68060}.collection-list{display:grid;grid-template-columns:1fr 1fr;list-style:none;gap:8px;padding:0;margin:16px 0 25px}.collection-list li{font-size:14px;line-height:1.7;color:#9cab88}.collection-list a:hover{text-decoration:underline}.credit-link{color:var(--green);text-decoration:underline;text-underline-offset:3px}.copy-fallback{width:100%;min-height:110px;padding:10px;border:1px solid #d2dfc0;border-radius:6px;background:var(--white);color:var(--ink);font:14px var(--sans);margin-top:10px}.enlarged-dialog{width:min(1100px,calc(100% - 30px))}.enlarged-dialog img{width:100%;max-height:75dvh;object-fit:contain;display:block;border-radius:8px;background:#252d20}
.compare-options{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 24px}.metric-tabs,.level-tabs{display:flex;gap:6px;align-items:center}.metric-tabs button,.level-tabs button{font-size:14px;color:#a1ad90;padding:7px 11px;border-radius:16px}.metric-tabs button.active,.level-tabs button.active{background:#e9efdd;color:var(--green)}.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;position:relative}.comparison-grid::before{content:'vs';position:absolute;top:110px;left:50%;transform:translateX(-50%);height:34px;width:34px;border-radius:50%;background:var(--paper);display:grid;place-items:center;font:500 16px var(--fun);color:#a3b18e;z-index:2}.comparison-card{min-width:0;text-align:center}.comparison-card img{display:block;width:100%;aspect-ratio:auto 16/9;object-fit:cover;border-radius:9px;background:#e6edda}.comparison-card h2{font:500 23px/1.12 var(--fun);color:var(--green);margin:17px 0 7px}.comparison-card p{font-size:14px;line-height:1.7;color:#a1ad8e}.comparison-card .compare-value{font:500 43px/1.1 var(--fun);color:var(--green);margin:19px 0 7px;display:block}.comparison-card .compare-value small{font:400 11px var(--sans);color:#a2b08c}.comparison-card .hidden-value{color:#c1c9b4}.compare-buttons{display:flex;justify-content:center;gap:9px;margin-top:20px}.compare-buttons button{min-width:105px}.compare-status{text-align:center;min-height:25px;font-size:14px;color:var(--green);margin:22px 0 14px}.compare-next{margin:0 auto;min-width:120px}.compare-source{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;color:#aeb9a0;margin-top:25px}.compare-source a:hover{text-decoration:underline}.comparison-empty{font-size:14px;color:#9aa987;text-align:center;padding:60px 20px}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes confetti-fall{to{top:105vh;transform:rotate(calc(var(--r) + 420deg));opacity:.3}}
@media(max-width:760px){.site-header{width:calc(100% - 38px);height:77px}.brand{font-size:28px}.brand-icon{height:26px;width:26px}.header-tools{gap:11px}.game-shell{width:calc(100% - 32px);margin-top:20px}.game-switch{gap:24px;margin-bottom:25px}.game-switch button{font-size:14px}.category-tabs{margin-bottom:25px;gap:3px}.category-tabs button{font-size:22px;padding:8px 12px;white-space:nowrap}.game-options{display:flex;flex-direction:column;align-items:center;gap:15px;margin-bottom:21px}.mode-tabs{gap:25px}.mode-tabs button{font-size:14px}.difficulty-tabs{gap:8px}.difficulty-tabs button{font-size:14px;padding:6px 12px}.puzzle-meta{font-size:14px;margin-bottom:9px}.movie-screen{aspect-ratio:1.63;border-radius:8px}.expand-button{right:8px;top:8px;height:24px;width:24px}.expand-button .icon{height:11px;width:11px}.frame-progress{margin:15px 0 23px}.frame-tile{height:31px;width:33px}.frame-tiles{gap:7px}#attempt-label{font-size:14px}#guess-form{grid-template-columns:minmax(0,1fr) 89px;gap:8px}#title-guess{font-size:16px;padding:13px 12px;height:46px}.primary-button{font-size:14px;padding:12px 14px;gap:7px}.primary-button .icon{width:14px;height:14px}.guess-actions{margin-top:17px}.guess-actions button{font-size:14px}.puzzle-bottom{margin-top:16px}.round-result h1{font-size:27px}.result-actions{gap:22px}.speed-ready h1{font-size:31px}.speed-ready p{font-size:14px}.speed-ready{gap:12px}.speed-ready .primary-button{min-height:38px;padding:10px 13px}.result-meta{font-size:14px}.guess-feedback{font-size:14px}footer{margin-top:30px;gap:12px}footer>div{gap:24px}footer button{font-size:14px}dialog{padding:20px}#modal-content h2{font-size:29px}.rules-list{font-size:14px}.collection-list{gap:9px}.comparison-grid{gap:16px}.comparison-grid::before{top:65px;width:29px;height:29px;font-size:14px}.comparison-card h2{font-size:21px;margin-top:14px}.comparison-card p{font-size:14px}.comparison-card .compare-value{font-size:34px;margin-top:16px}.compare-options{gap:6px;margin-bottom:21px}.metric-tabs,.level-tabs{gap:2px}.metric-tabs button,.level-tabs button{font-size:14px;padding:7px 9px}.compare-buttons button{min-width:100px}.compare-source{font-size:14px;line-height:1.7;gap:8px;align-items:flex-start}.compare-source>span{max-width:190px}}
@media(max-width:360px){.category-tabs button{padding-inline:8px;font-size:20px}.difficulty-tabs{gap:3px}.difficulty-tabs button{padding-inline:11px}.brand{font-size:26px}.compare-options{flex-wrap:wrap;justify-content:center;gap:9px}.comparison-card h2{font-size:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.confetti{display:none}}

html{color-scheme:light}html[data-theme="dark"]{color-scheme:dark;--paper:#1b231e;--ink:#e4e9da;--green:#b5c99b;--muted:#a1ad94;--orange:#e29a75;--line:#394636;--white:#252f26}
body,.site-header,.category-tabs button,.mode-tabs button,.difficulty-tabs button,.guess-input-wrap,.primary-button,dialog,.outline-button,.frame-tile{transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}
.movie-screen>img{transform:scale(var(--clue-scale,1));transform-origin:var(--clue-position,50% 50%);transition:transform .42s cubic-bezier(.2,.8,.2,1)}.movie-screen>img.detail-clue{object-fit:contain}.expanded-scene{position:relative;aspect-ratio:1.79;max-height:75dvh;background:#242c21;border-radius:8px;overflow:hidden}.expanded-scene img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain;transform:scale(var(--clue-scale,1));transform-origin:var(--clue-position,50% 50%)}
.hint-intro{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:19px;padding:25px;background:var(--white);text-align:center}.hint-intro-label{font-size:14px;color:var(--muted);letter-spacing:.5px}.hint-intro-content{max-width:540px}#hint-intro-content{display:grid;gap:17px;max-width:540px}#hint-intro-content>div{display:grid;gap:5px}#hint-intro-content span,.daily-hint-panel span{font-size:14px;color:var(--muted)}#hint-intro-content b{font-size:17px;line-height:1.5;font-weight:500;color:var(--ink)}.hint-intro>.primary-button{min-width:135px}.daily-hint-panel{display:grid;grid-template-columns:1fr 1.5fr;gap:22px;padding:17px 18px;border:1px solid var(--line);border-radius:8px;margin:17px 0 0;background:var(--white)}.daily-hint-panel>div{display:flex;flex-direction:column;gap:6px}.daily-hint-panel b{font-size:14px;line-height:1.6;font-weight:400;color:var(--ink)}.scene-reference{width:min(430px,100%);padding:12px 16px;margin:13px auto 17px;border:1px solid var(--line);border-radius:8px;text-align:left;background:var(--white)}.scene-reference>div{display:flex;align-items:center;justify-content:space-between;gap:13px;font-size:14px}.scene-reference>div>span{color:var(--muted)}.scene-reference b{font-weight:500;color:var(--green)}.scene-reference p{font-size:14px;line-height:1.7;color:var(--muted);margin-top:8px}.scene-reference small{display:block;font-size:14px;line-height:1.6;color:var(--muted);margin-top:6px}.scene-reference a{display:inline-block;font-size:14px;color:var(--green);margin-top:8px}.scene-time-compact{font-size:14px;line-height:1.6;color:var(--muted)}.summary-rounds .history-scene{margin-left:auto;text-align:right;max-width:130px}.summary-rounds small{min-width:22px}.scene-reference+.result-actions{margin-top:15px}
.settings-group{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--line)}.settings-group h3{font-size:14px;color:var(--ink);font-weight:500;margin-bottom:14px}.theme-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.theme-options button{padding:11px 9px;font-size:14px;border:1px solid var(--line);color:var(--muted);border-radius:7px;background:var(--paper)}.theme-options button.active{background:#e7eedc;border-color:#bbcc9f;color:#526b42}.settings-toggle{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 0;font-size:14px;color:var(--ink);cursor:pointer}.settings-toggle>span{display:flex;flex-direction:column;gap:5px}.settings-toggle small{font-size:14px;line-height:1.7;color:var(--muted)}.settings-toggle input{accent-color:var(--green);width:16px;height:16px;margin:0;cursor:pointer}.settings-note{font-size:14px;line-height:1.8;color:var(--muted);margin-top:9px;max-width:355px}
.pane-enter{animation:paneEnter .22s ease-out both}.frame-reveal{animation:frameReveal .24s ease-out both}.result-enter{animation:resultEnter .22s ease-out both}.hint-enter{animation:hintEnter .22s ease-out both}dialog[open]{animation:dialogEnter .2s ease-out both}dialog[open]::backdrop{animation:backdropEnter .18s ease-out both}.comparison-card{animation:paneEnter .22s ease-out both}.category-tabs button:hover,.mode-tabs button:hover{transform:translateY(-1px)}.category-tabs button,.mode-tabs button{transition:color .15s ease,background-color .15s ease,transform .15s ease}
html[data-theme="dark"] .category-tabs button.active,html[data-theme="dark"] .metric-tabs button.active,html[data-theme="dark"] .level-tabs button.active{background:#34442e;color:#d2dfbf}html[data-theme="dark"] .category-tabs button,html[data-theme="dark"] .game-switch button,html[data-theme="dark"] .mode-tabs button,html[data-theme="dark"] .difficulty-tabs button{color:#94a389}html[data-theme="dark"] .game-switch button.active,html[data-theme="dark"] .mode-tabs button.active{color:var(--ink)}html[data-theme="dark"] .difficulty-tabs button.active{background:#34442e;border-color:#506344;color:#c5d6b0}html[data-theme="dark"] .difficulty-tabs button[data-tier="medium"].active{background:#403d2b;border-color:#655d3b;color:#d9c593}html[data-theme="dark"] .difficulty-tabs button[data-tier="hard"].active{background:#453529;border-color:#6c4e36;color:#ddb598}html[data-theme="dark"] .difficulty-tabs button[data-tier="impossible"].active{background:#3f303d;border-color:#63485f;color:#d2adc9}html[data-theme="dark"] .primary-button{color:#25281d;border-color:#e29a75}html[data-theme="dark"] .outline-button{background:#303f2b;border-color:#4b6040;color:#c3d6ac}html[data-theme="dark"] .theme-options button.active{background:#35472e;border-color:#657e51;color:#d1e1be}html[data-theme="dark"] .frame-tile{background:#293428;border-color:#405139;color:#7e9270}html[data-theme="dark"] .frame-tile.current,html[data-theme="dark"] .frame-tile.seen{background:#35452d;border-color:#617c4e;color:#c9dbb5}html[data-theme="dark"] .frame-tile.wrong{background:#45362b;border-color:#6b513d;color:#d8b18e}html[data-theme="dark"] .frame-tile.skip{background:#403c29;border-color:#6c6138;color:#d6c38b}html[data-theme="dark"] .frame-tile.win{background:#91ad72;border-color:#91ad72;color:#1a2718}html[data-theme="dark"] .guess-input-wrap{border-color:#45563b}html[data-theme="dark"] #suggestions{border-color:#45563b}html[data-theme="dark"] #suggestions li:hover,html[data-theme="dark"] #suggestions li.selected{background:#35442e}html[data-theme="dark"] .guess-tag{background:#3e372b;color:#c0ad8d}html[data-theme="dark"] .icon-button:hover{background:#33422c}html[data-theme="dark"] .help-button{border-color:#536747}html[data-theme="dark"] .speed-ready{background:#2b3a25;color:#c6d9ad}html[data-theme="dark"] .speed-ready p{color:#a1b58b}html[data-theme="dark"] dialog{border-color:#45563b}html[data-theme="dark"] .stat-tile,html[data-theme="dark"] .daily-board-row button,html[data-theme="dark"] .host-dropzone{background:#2b3925;border-color:#455d37}html[data-theme="dark"] .daily-board-row button.cleared{background:#88a86b;color:#1b2b16}html[data-theme="dark"] .daily-board-row button.failed{background:#483c2b;border-color:#63523b;color:#c8ad82}html[data-theme="dark"] .summary-cells>span{background:#2d3b26;border-color:#475f39;color:#a1b78c}html[data-theme="dark"] .summary-cells>span.win{background:#89a96b;color:#1b2a17}html[data-theme="dark"] .summary-cells>span.wrong{background:#45382b;border-color:#67503a;color:#c6aa8b}html[data-theme="dark"] .summary-cells>span.skip{background:#423c28;border-color:#6c6039;color:#d1bf86}html[data-theme="dark"] .host-film-row,html[data-theme="dark"] .summary-rounds li{border-color:var(--line)}html[data-theme="dark"] .host-film-row input,html[data-theme="dark"] .copy-fallback{border-color:#465c38}html[data-theme="dark"] .toast{background:#d5dfc6;color:#26351e}
@keyframes paneEnter{from{opacity:.3;translate:0 5px}to{opacity:1;translate:0 0}}@keyframes frameReveal{from{opacity:.15}to{opacity:1}}@keyframes resultEnter{from{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}@keyframes hintEnter{from{opacity:.2;translate:0 5px}to{opacity:1;translate:0 0}}@keyframes dialogEnter{from{opacity:.2;translate:0 7px}to{opacity:1;translate:0 0}}@keyframes backdropEnter{from{opacity:0}to{opacity:1}}
@media(max-width:760px){.hint-intro{gap:11px;padding:15px 19px}.hint-intro-label{font-size:14px}#hint-intro-content{gap:10px}#hint-intro-content>div{gap:3px}#hint-intro-content span{font-size:14px}#hint-intro-content b{font-size:14px;line-height:1.5}.hint-intro>.primary-button{min-height:36px;padding:9px 12px;font-size:14px;min-width:122px}.daily-hint-panel{grid-template-columns:1fr;gap:13px;padding:14px 15px}.daily-hint-panel b{font-size:14px}.scene-reference{padding:12px 13px}.scene-reference small{font-size:14px}.settings-group{margin-top:19px;padding-top:16px}.settings-toggle{padding:10px 0;font-size:14px}.theme-options button{padding:11px 7px}.settings-note{font-size:14px}.summary-rounds .history-scene{max-width:98px}.scene-time-compact{font-size:14px}}
html[data-motion="off"] *,html[data-motion="off"] *::before,html[data-motion="off"] *::after{animation:none!important;transition:none!important}html[data-motion="off"] .confetti{display:none}
.puzzle{position:relative}.hint-side{position:absolute;inset-inline-start:calc(100% + 22px);top:33px;width:160px}.hint-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;color:var(--muted);cursor:pointer;position:relative;min-height:24px}.hint-switch input{position:absolute;right:0;top:0;width:35px;height:24px;opacity:0;margin:0;cursor:pointer;z-index:2}.switch-track{position:relative;display:block;flex-shrink:0;width:33px;height:19px;border-radius:14px;background:#d9e0cf;transition:background-color .18s}.switch-track::after{content:'';position:absolute;left:3px;top:3px;width:13px;height:13px;background:var(--white);border-radius:50%;box-shadow:0 1px 3px #25331720;transition:translate .18s}.hint-switch input:checked+.switch-track{background:var(--green)}.hint-switch input:checked+.switch-track::after{translate:14px 0}.hint-switch input:focus-visible+.switch-track{outline:3px solid #a9be91;outline-offset:3px}.frame-tile.skip:disabled{cursor:not-allowed}.comparison-grid.is-count .compare-value{font-size:36px}.comparison-grid.is-count .compare-value small{display:block;font-size:14px;margin-top:7px}
@media(min-width:1200px){.daily-hint-panel{position:absolute;inset-inline-start:calc(100% + 22px);top:72px;width:160px;display:flex;flex-direction:column;gap:19px;padding:13px 12px;margin:0}.daily-hint-panel b{font-size:14px}.daily-hint-panel span{font-size:14px}}
@media(max-width:1199px){.hint-side{position:static;width:auto;display:flex;justify-content:flex-end;margin:0 0 12px}.hint-switch{width:100px}.hint-side+.movie-screen{margin-top:0}}
@media(max-width:760px){.hint-side{margin-bottom:10px;margin-top:-2px}.hint-switch{width:87px;font-size:14px}.switch-track{width:31px;height:18px}.switch-track::after{width:12px;height:12px}.hint-switch input:checked+.switch-track::after{translate:13px 0}.comparison-grid.is-count .compare-value{font-size:29px}}
html[data-theme="dark"] .switch-track{background:#4b5c41}html[data-theme="dark"] .switch-track::after{background:#e5edda}html[data-theme="dark"] .hint-switch input:checked+.switch-track{background:#8fab70}

.compare-attribution{font-size:14px;line-height:1.7;text-align:center;color:var(--muted);margin-top:18px}

/* Readable type and calmer, stronger contrast throughout. */
:root{--muted:#66715e;--orange:#c64b2b}
html[data-theme="dark"]{--muted:#b7c1ae;--orange:#e29a75}
.game-switch button,.category-tabs button,.mode-tabs button,.difficulty-tabs button,.puzzle-meta,#attempt-label,.guess-actions button,.text-button,.puzzle-bottom,.puzzle-bottom button,.result-meta,footer,footer button,.comparison-card p,.compare-source,.metric-tabs button,.level-tabs button,.compare-attribution,.collection-list li,.rules-list,.stat-tile span,.host-note,.settings-note,.summary-rounds li,.summary-rounds small,.modal-top{color:var(--muted)}
.game-switch button,.mode-tabs button{font-size:15px}.difficulty-tabs button{font-size:14px;padding:8px 11px}.primary-button,.outline-button,.theme-options button,.settings-toggle{font-size:15px}.primary-button{font-weight:600}.icon-button{width:36px;height:36px}.help-button{width:31px;height:31px}.header-tools{gap:12px}.icon-button .icon{width:19px;height:19px}
#title-guess{font-size:16px;height:50px}#title-guess::placeholder{color:var(--muted)}#suggestions{top:52px}#suggestions li{font-size:15px}#suggestions li>span:last-child{font-size:14px}.guess-tag{color:var(--ink);font-size:14px}.guess-feedback{font-size:15px;color:#925337}.frame-tile{width:36px;height:36px;font-size:17px}.timestamp{font-size:14px}.streak{font-size:14px;color:var(--muted)}
.difficulty-tabs button[data-tier="medium"].active{color:#78612f}.difficulty-tabs button[data-tier="hard"].active{color:#8f5032}.difficulty-tabs button[data-tier="impossible"].active{color:#76546b}
#modal-content>p,.rules-list{font-size:15px;color:var(--muted)}.stat-note{font-size:14px!important;color:var(--muted)!important}.collection-list{gap:13px}.collection-list li{font-size:14px}.host-dropzone{font-size:16px}.host-dropzone small,.host-note,.host-error{font-size:14px}.host-film-row input,.copy-fallback{font-size:16px}.summary-rounds li{font-size:14px}.summary-rounds small{font-size:14px}
.hint-switch{font-size:14px}.daily-hint-panel span,#hint-intro-content span,.hint-intro-label{font-size:14px}.daily-hint-panel b{font-size:15px}.scene-reference>div{font-size:15px}.scene-reference p,.scene-reference small,.scene-reference a,.scene-time-compact{font-size:14px}.scene-reference small{color:var(--muted)}.hint-side{top:38px}.daily-hint-panel{top:77px}.comparison-card p,.comparison-card .compare-value small,.comparison-grid.is-count .compare-value small{font-size:14px}.compare-status{font-size:15px}.compare-source{font-size:14px;align-items:flex-start;line-height:1.6}.compare-attribution{font-size:14px;line-height:1.7}.compare-source>span{max-width:340px}.metric-tabs button,.level-tabs button{font-size:14px}.compare-options{flex-wrap:wrap}.summary-rounds .history-scene{max-width:170px}
.results-dialog{width:min(610px,calc(100% - 28px));padding:23px}.results-dialog #modal-content h2{font-size:29px;margin:0 0 20px}.results-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--paper);border:1px solid var(--line);padding:5px;border-radius:30px;margin:0 0 17px}.results-tabs button{font-size:16px;border-radius:24px;padding:12px;color:var(--muted);font-weight:500}.results-tabs button[aria-selected="true"]{background:var(--green);color:var(--white)}.results-surface{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:25px 24px 21px}.results-heading{text-align:center;margin-bottom:22px}.results-heading>p{font-size:15px;line-height:1.6;color:var(--muted);margin:0 0 8px}.results-heading h3{font:500 clamp(26px,4vw,37px)/1.12 var(--fun);color:var(--ink);overflow-wrap:anywhere}.results-heading h3>span{font-size:24px}.results-heading>span{font-size:14px;color:var(--muted);display:block;margin-top:12px;line-height:1.6}.results-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0}.results-metrics>div{background:var(--white);border-radius:12px;padding:18px 9px;text-align:center;display:flex;flex-direction:column;gap:5px;border:1px solid var(--line)}.results-metrics b{font:500 36px/1.05 var(--fun);color:var(--green)}.results-metrics b small{font:400 18px var(--sans);color:var(--muted)}.results-metrics span{font-size:14px;color:var(--muted);line-height:1.5}.results-metrics.two{margin-bottom:22px}.results-hint-note{font-size:14px;color:var(--muted);text-align:center;margin:-10px 0 19px}.run-records{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;font-size:14px;color:var(--muted);margin:18px 0}.run-records b{color:var(--ink)}
.guess-distribution{background:var(--white);border:1px solid var(--line);border-radius:13px;padding:20px 19px 15px;margin:20px 0}.distribution-heading{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:7px}.distribution-heading h3{font-size:17px;font-weight:600;color:var(--ink)}.distribution-heading>span{font-size:14px;color:var(--muted)}.distribution-chart{position:relative;margin-top:32px}.distribution-bars{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;position:relative}.distribution-column{min-width:0;display:grid;grid-template-rows:23px 120px 25px;gap:7px;text-align:center}.bar-count{font-size:14px;color:var(--muted);z-index:2}.distribution-track{display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(to top,var(--paper),transparent);border-radius:7px;overflow:hidden}.distribution-fill{background:var(--green);border-radius:6px 6px 2px 2px;transition:height .25s ease;opacity:.84}.distribution-column.is-reveal .distribution-fill{background:var(--orange)}.bar-label{font-size:14px;color:var(--ink);line-height:25px}.average-guide{position:absolute;top:-8px;bottom:32px;border-left:1px dashed var(--muted);z-index:1;opacity:.7;pointer-events:none}.average-guide>span{position:absolute;font-size:14px;top:-16px;left:0;transform:translateX(-50%);padding:2px 4px;white-space:nowrap;background:var(--white);border-radius:4px;color:var(--muted)}.distribution-note{font-size:13px;line-height:1.6;color:var(--muted);margin-top:8px}.results-actions{display:grid;grid-template-columns:47px 1fr 47px;gap:10px}.results-actions button{min-height:47px}.results-actions>.outline-button{font-size:23px;padding:9px}.results-actions .icon{width:21px;height:21px}.results-privacy{font-size:14px!important;color:var(--muted)!important;text-align:center;margin:17px 0 0!important}.daily-archive{margin-top:25px}.daily-archive>div:first-child{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:7px;margin-bottom:14px}.daily-archive h3{font-size:16px;font-weight:500;color:var(--ink)}.daily-archive>div>span{font-size:13px;color:var(--muted)}.daily-archive b{font-weight:500}.archive-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.archive-days button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 2px 6px;border-radius:14px;background:var(--paper);border:1px solid var(--line);color:var(--muted)}.archive-days span{font-size:14px}.archive-days b{font:500 23px var(--fun);color:var(--ink)}.archive-days i{font:400 13px var(--sans)}.archive-days button.active{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.archive-days button.solved{background:#e5edd9;color:#456135}.archive-days button.revealed{background:#f3e7d6;color:#835c3f}
html[data-theme="dark"] .results-tabs button[aria-selected="true"]{background:#496038;color:#f1f5e8}html[data-theme="dark"] .archive-days button.solved{background:#344b2c;color:#caddb8}html[data-theme="dark"] .archive-days button.revealed{background:#453628;color:#d8bba0}html[data-theme="dark"] .guess-feedback{color:#e1b18c}
@media(max-width:760px){.site-header{width:calc(100% - 30px)}.brand{font-size:26px}.brand-icon{width:24px;height:24px}.header-tools{gap:7px}.icon-button{width:32px;height:32px}.help-button{width:29px;height:29px}.mode-tabs button{font-size:15px}.mode-tabs{gap:25px}.difficulty-tabs{gap:3px}.difficulty-tabs button{font-size:14px;padding:7px 9px}.puzzle-meta{font-size:14px}.category-tabs button{font-size:22px;padding:8px 12px}.game-options{gap:14px}.frame-tiles{gap:5px}.frame-tile{width:33px;height:34px}#attempt-label{font-size:13px}.frame-progress{gap:8px}#guess-form{grid-template-columns:minmax(0,1fr) 91px}.primary-button{font-size:15px;padding:12px 13px}.guess-actions button{font-size:14px}.puzzle-bottom{font-size:14px}footer,footer button{font-size:14px}footer>div{gap:19px}.hint-switch{width:104px;font-size:14px}.hint-intro{padding:13px 15px;gap:10px;overflow-y:auto;justify-content:safe center}.hint-intro-label,#hint-intro-content span{font-size:14px}#hint-intro-content b{font-size:16px}.hint-intro>.primary-button{font-size:14px}.daily-hint-panel b{font-size:15px}.daily-hint-panel span{font-size:14px}.scene-time-compact{font-size:13px}.compare-source{flex-wrap:wrap;gap:10px;font-size:13px}.compare-source>span{flex-basis:100%;max-width:none}.compare-source a{font-size:14px}.compare-attribution{font-size:13px}.compare-options{gap:10px}.metric-tabs button,.level-tabs button{font-size:14px;padding:8px 9px}.comparison-card p{font-size:14px}.comparison-card .compare-value small{font-size:14px}.comparison-card h2{font-size:22px}.summary-rounds li{flex-wrap:wrap}.summary-rounds .history-scene{max-width:150px}.results-dialog{padding:19px 16px;max-height:calc(100dvh - 24px)}.results-dialog .modal-top{margin-bottom:15px}.results-surface{padding:22px 15px 16px}.results-heading h3{font-size:29px}.results-heading h3>span{font-size:23px}.results-metrics b{font-size:35px}.results-metrics span{font-size:14px}.guess-distribution{padding:18px 13px 13px}.distribution-bars{gap:10px}.distribution-column{grid-template-rows:20px 112px 24px}.distribution-heading h3{font-size:17px}.distribution-heading>span{font-size:13px}.results-tabs button{font-size:16px}.archive-days{gap:4px}.archive-days span{font-size:14px}.archive-days b{font-size:22px}.daily-archive>div>span{font-size:13px}.collection-list{grid-template-columns:1fr}.results-actions{grid-template-columns:43px 1fr 43px;gap:8px}}
@media(min-width:1200px){.daily-hint-panel b{font-size:15px}.daily-hint-panel span{font-size:14px}}
@media(max-width:360px){.brand{font-size:24px}.brand-icon{display:none}.header-tools{gap:4px}.category-tabs button{font-size:20px;padding:8px}.difficulty-tabs button{padding:7px 7px}.game-shell{width:calc(100% - 28px)}.compare-options{justify-content:center}.frame-tile{width:30px}.frame-tiles{gap:4px}#attempt-label{font-size:12px}.results-surface{padding-inline:11px}.distribution-bars{gap:7px}.bar-label{font-size:13px}}

.bar-count{position:relative;background:var(--white);border-radius:4px}

/* Welcome: a quiet moment before the first frame. */
.welcome-screen{position:relative;display:grid;grid-template-rows:1fr auto;min-height:100vh;min-height:100svh;padding:80px 24px 30px;text-align:center}.welcome-tools{position:absolute;top:25px;right:max(24px,calc((100vw - 1040px)/2))}.welcome-content{width:min(470px,100%);margin:auto;padding:18px 0 25px;animation:paneEnter .35s ease-out both}.welcome-mark{display:block;width:99px;height:103px;margin:0 auto 25px;color:var(--green);transform:rotate(-5deg)}.welcome-content h1{font:500 clamp(52px,7vw,78px)/1 var(--fun);letter-spacing:-2.7px;color:var(--green);margin:0 0 29px}.welcome-content h1>span{color:var(--orange)}.welcome-tagline{font:400 36px/1.2 var(--sans);letter-spacing:-1px;color:var(--ink)}.welcome-categories{font-size:18px;line-height:1.6;color:var(--muted);margin-top:17px}.welcome-play{display:block;width:min(260px,100%);min-height:59px;margin:35px auto 0;border:1px solid var(--green);border-radius:999px;background:var(--green);color:var(--white);font-size:20px;font-weight:500;padding:15px 22px;transition:transform .16s ease,box-shadow .16s ease}.welcome-play:hover{transform:translateY(-2px);box-shadow:0 6px 16px #33472718}.welcome-play:active{transform:translateY(0)}.welcome-date{font-size:16px;line-height:1.6;color:var(--ink);padding-top:30px}.welcome-tools .icon-button{color:var(--muted)}
.frame-guide{width:min(570px,calc(100% - 28px));padding:25px 27px}.frame-guide #modal-content h2{margin-bottom:13px}.frame-guide #modal-content>.guide-lead{font-size:19px;line-height:1.5;color:var(--ink);margin-bottom:12px}.guide-lead b{font-weight:600}.frame-guide #modal-content>.guide-instruction{font-size:16px;line-height:1.6;color:var(--muted);margin-bottom:23px}.guess-examples{display:grid;gap:22px;margin:23px 0}.learn-tiles{display:flex;gap:8px;margin-bottom:10px}.learn-tile{width:42px;height:42px;display:grid;place-items:center;background:var(--paper);border:1px solid var(--line);border-radius:8px;color:var(--muted);font:500 20px var(--fun)}.learn-tile.wrong{background:#eee1d7;border-color:#decbbd;color:#8f5032}.learn-tile.win{background:var(--green);border-color:var(--green);color:var(--white)}.learn-tile.skip{background:#f4ecd6;border-color:#e3d3aa;color:#876f3a}.learn-tile.current{background:#e4ebd7;border-color:#b9c8a3;color:#536d47}.guess-examples p{font-size:15px;line-height:1.6;color:var(--muted)}.guess-examples b{color:var(--ink);font-weight:500}.guide-modes{display:grid;gap:13px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 0;margin:23px 0 20px}.guide-modes>div{display:grid;grid-template-columns:73px 1fr;gap:15px;align-items:baseline}.guide-modes b{font:500 18px var(--fun);color:var(--green)}.guide-modes span{font-size:15px;line-height:1.6;color:var(--muted)}.frame-guide #modal-content>.guide-note{font-size:15px;line-height:1.7;color:var(--muted);margin-bottom:13px}.frame-guide #modal-content>.guide-save-note{font-size:14px;line-height:1.7;color:var(--muted);margin-bottom:18px}.frame-guide .guide-start{min-height:50px;width:100%;font-size:16px;margin-top:22px}
html[data-theme="dark"] .welcome-play{background:#b5c99b;color:#1b231e;border-color:#b5c99b}html[data-theme="dark"] .learn-tile.wrong{background:#45362b;border-color:#6b513d;color:#d8b18e}html[data-theme="dark"] .learn-tile.win{background:#91ad72;border-color:#91ad72;color:#1a2718}html[data-theme="dark"] .learn-tile.skip{background:#403c29;border-color:#6c6138;color:#d6c38b}html[data-theme="dark"] .learn-tile.current{background:#35452d;border-color:#617c4e;color:#c9dbb5}
@media(max-width:760px){.welcome-screen{padding:76px 25px 28px}.welcome-mark{width:87px;height:91px;margin-bottom:24px}.welcome-content h1{font-size:59px;letter-spacing:-2.2px;margin-bottom:27px}.welcome-tagline{font-size:32px}.welcome-categories{font-size:18px;margin-top:17px}.welcome-play{min-height:58px;font-size:20px;margin-top:31px}.welcome-date{font-size:16px;padding-top:28px}.welcome-tools{top:22px;right:20px}.frame-guide{padding:21px 22px}.frame-guide #modal-content h2{font-size:31px}.frame-guide #modal-content>.guide-lead{font-size:19px}.frame-guide #modal-content>.guide-instruction{font-size:16px}.guess-examples{gap:22px}.guess-examples p{font-size:16px}.guide-modes>div{grid-template-columns:68px 1fr;gap:12px}.guide-modes span{font-size:15px}.learn-tile{width:41px;height:41px}.frame-guide #modal-content>.guide-note{font-size:15px}.frame-guide #modal-content>.guide-save-note{font-size:14px}.frame-guide .guide-start{font-size:16px}}
@media(max-width:360px){.welcome-content h1{font-size:51px}.welcome-tagline{font-size:30px}.welcome-date{font-size:15px}.frame-guide{padding-inline:19px}}
@media(max-height:660px){.welcome-screen{padding-top:62px;padding-bottom:22px}.welcome-content{padding-top:7px;padding-bottom:8px}.welcome-mark{width:70px;height:73px;margin-bottom:16px}.welcome-content h1{font-size:54px;margin-bottom:21px}.welcome-tagline{font-size:29px}.welcome-categories{margin-top:13px;font-size:17px}.welcome-play{margin-top:23px;min-height:53px;font-size:19px}.welcome-date{padding-top:25px}}

/* Intro motion: short entrances, a little life, and a soft handoff. */
.welcome-content{animation:none}




.welcome-play{position:relative;overflow:hidden;isolation:isolate;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease,background-color .22s ease}
.welcome-play::after{content:'';position:absolute;inset:-30% -20%;background:linear-gradient(110deg,transparent 34%,#ffffff24 50%,transparent 66%);transform:translateX(-145%);transition:transform .55s ease;pointer-events:none}
.welcome-play:active{transform:translateY(1px) scale(.97)}
.welcome-play:focus-visible{animation:none}


.welcome-tools:focus-within{animation:none}
@media(hover:hover){.welcome-play:hover{transform:translateY(-3px) scale(1.025);box-shadow:0 10px 24px #33472725}.welcome-play:hover::after,.welcome-play:focus-visible::after{transform:translateX(145%)}}
.welcome-screen.welcome-leaving{position:fixed;inset:0;z-index:20;background:var(--paper);pointer-events:none;animation:welcomeOut .28s ease-in both}
.game-arrive{animation:gameArrive .45s cubic-bezier(.2,.8,.2,1) both}
.frame-guide[open]{transform-origin:50% 35%;animation:guideIn .34s cubic-bezier(.18,.8,.2,1) both}
.frame-guide[open]::backdrop{animation:guideBackdropIn .3s ease both}



.guess-examples>section{--row-delay:.18s;}
.guess-examples>section:nth-child(2){--row-delay:.28s}
.guess-examples>section:nth-child(3){--row-delay:.38s}
.learn-tiles{perspective:700px}
.learn-tile{--tile-delay:0s;backface-visibility:hidden;}
.learn-tile:nth-child(2){--tile-delay:.045s}.learn-tile:nth-child(3){--tile-delay:.09s}.learn-tile:nth-child(4){--tile-delay:.135s}



.frame-guide .guide-start{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.frame-guide .guide-start:active{transform:scale(.985)}
.frame-guide.guide-closing{pointer-events:none;animation:guideOut .18s ease-in forwards}
.frame-guide.guide-closing::backdrop{animation:guideBackdropOut .18s ease-in forwards}
.frame-guide.guide-closing #modal-content *{animation-play-state:paused}

@keyframes filmArrive{from{opacity:0;transform:rotate(-17deg) scale(.84)}65%{opacity:1;transform:rotate(-2deg) scale(1.04)}to{opacity:1;transform:rotate(-5deg) scale(1)}}

@keyframes guideIn{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes guideOut{from{opacity:var(--guide-close-opacity,1);transform:var(--guide-close-transform,none)}to{opacity:0;transform:translateY(9px) scale(.985)}}
@keyframes guideBackdropIn{from{background-color:#2a352400;backdrop-filter:blur(0)}to{background-color:#2a352469;backdrop-filter:blur(4px)}}
@keyframes guideBackdropOut{to{background-color:#2a352400;backdrop-filter:blur(0)}}

@keyframes welcomeOut{to{opacity:0;transform:scale(1.015)}}
@keyframes gameArrive{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
html[data-motion="off"] .welcome-play::after{display:none}
html[data-motion="off"] .welcome-play:hover,html[data-motion="off"] .welcome-play:active,html[data-motion="off"] .guide-start:active{transform:none}
@media(prefers-reduced-motion:reduce){.welcome-play::after{display:none}.welcome-play:hover,.welcome-play:active,.guide-start:active{transform:none}}

/* A guide that follows your scroll, with the close button always in reach. */
.guide-scroll-progress{display:none}
.frame-guide{max-height:min(760px,calc(100dvh - 32px));overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.frame-guide .modal-top{position:sticky;top:-25px;z-index:4;margin:-25px -27px 22px;padding:19px 27px 16px;background:var(--white);isolation:isolate}
.frame-guide .modal-top::before{content:'';position:absolute;inset:0 0 -9px;z-index:-1;background:linear-gradient(var(--white) 85%,transparent)}
.frame-guide[data-guide-overflow="true"] .guide-scroll-progress{display:block;position:absolute;left:27px;right:27px;bottom:0;height:2px;overflow:hidden;border-radius:2px;background:var(--line)}
.guide-scroll-progress i{display:block;height:100%;width:100%;background:var(--orange);transform:scaleX(var(--guide-progress,0));transform-origin:left center}
.frame-guide.guide-scroll-active .guide-modes{animation:none}

.frame-guide .guide-scroll-reveal:not(.guide-initial){animation:none;opacity:var(--guide-opacity,1);translate:0 var(--guide-shift,0)}
.frame-guide .guide-scroll-reveal:not(.guide-initial) .learn-tile{animation:none;opacity:var(--tile-opacity,1);transform:perspective(500px) rotateX(var(--tile-turn,0deg))}
.frame-guide .guide-scroll-reveal:focus-within{opacity:1;translate:none;animation:none}
.frame-guide .guide-start:focus-visible{animation:none;opacity:1;translate:none}
@media(max-width:760px){.frame-guide .modal-top{top:-21px;margin:-21px -22px 22px;padding:17px 22px 15px}.frame-guide[data-guide-overflow="true"] .guide-scroll-progress{left:22px;right:22px}}
@media(max-width:360px){.frame-guide .modal-top{margin-inline:-19px;padding-inline:19px}.frame-guide[data-guide-overflow="true"] .guide-scroll-progress{left:19px;right:19px}}

/* Gliding tab markers and small, directional scene changes. */
.motion-tabs{position:relative;isolation:isolate}
.motion-tabs>button{position:relative;z-index:1}
.tab-indicator{position:absolute;top:0;left:0;z-index:0;pointer-events:none;width:var(--tab-width);height:var(--tab-height);translate:var(--tab-x) var(--tab-y);border:1px solid var(--tab-edge,transparent);border-radius:999px;background:var(--tab-fill,#e9eedf)}
.tabs-ready>.tab-indicator{transition:translate .34s cubic-bezier(.2,.8,.2,1),width .34s cubic-bezier(.2,.8,.2,1),height .24s ease,background-color .24s ease,border-color .24s ease}
#game-app .motion-tabs>button.active{background:transparent;border-color:transparent}
.game-switch.motion-tabs button.active::after{display:none}
.game-switch.motion-tabs>.tab-indicator,.mode-tabs.motion-tabs>.tab-indicator{translate:var(--tab-x) calc(var(--tab-y) + var(--tab-height) - 3px);height:3px;border:0;border-radius:5px;background:var(--orange)}
.game-switch{gap:21px}.game-switch button{padding:9px 2px}
.mode-tabs button{padding-bottom:10px}
.difficulty-tabs{--tab-fill:#edf1e3;--tab-edge:#cdd7bb}
.difficulty-tabs[data-active="medium"]{--tab-fill:#f5ecd5;--tab-edge:#e6d5a9}
.difficulty-tabs[data-active="hard"]{--tab-fill:#f5e4d7;--tab-edge:#e9c6ab}
.difficulty-tabs[data-active="impossible"]{--tab-fill:#eee4e9;--tab-edge:#d9c2d0}
.game-switch button,.category-tabs button,.mode-tabs button,.difficulty-tabs button,.metric-tabs button,.level-tabs button{transition:color .2s ease,transform .2s ease}
.tab-panel-enter{animation:tabPanelEnter .32s cubic-bezier(.2,.8,.2,1) both}
.tab-panel-enter .comparison-card{animation:none}
@keyframes tabPanelEnter{from{opacity:.3;translate:var(--panel-shift,12px) 4px}to{opacity:1;translate:0 0}}
html[data-theme="dark"] .motion-tabs{--tab-fill:#34442e}
html[data-theme="dark"] .difficulty-tabs{--tab-edge:#506344}
html[data-theme="dark"] .difficulty-tabs[data-active="medium"]{--tab-fill:#403d2b;--tab-edge:#655d3b}
html[data-theme="dark"] .difficulty-tabs[data-active="hard"]{--tab-fill:#453529;--tab-edge:#6c4e36}
html[data-theme="dark"] .difficulty-tabs[data-active="impossible"]{--tab-fill:#3f303d;--tab-edge:#63485f}

/* A few playful touches around the frame; the layout stays quiet. */
#game-app{position:relative;isolation:isolate}
#game-app::before{content:'';position:absolute;inset:0 0 auto;height:570px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 0,#aabb8a0d,transparent 72%)}
.movie-screen{box-shadow:0 9px 30px #26361a14;outline:1px solid #536d470c}
.primary-button,.outline-button,.icon-button,.expand-button,.frame-tile{transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease}
.primary-button .icon,.outline-button .icon,.brand-icon{transition:transform .22s cubic-bezier(.2,.8,.2,1)}
.primary-button:not(:disabled):active,.outline-button:not(:disabled):active,.icon-button:not(:disabled):active{transform:scale(.97)}
@media(hover:hover){
 .primary-button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 5px 13px #6d39221c}
 .primary-button:not(:disabled):hover .icon{transform:translateX(3px)}
 .outline-button:not(:disabled):hover,.frame-tile:not(:disabled):hover{transform:translateY(-2px)}
 .icon-button:hover{transform:rotate(-7deg)}.brand:hover .brand-icon{transform:rotate(5deg)}
 .difficulty-tabs button:not(.active):hover,.metric-tabs button:not(.active):hover,.level-tabs button:not(.active):hover{color:var(--green);transform:translateY(-1px)}
 footer button:hover{color:var(--green);text-decoration:underline;text-underline-offset:5px}
}

html[data-motion="off"] .guide-scroll-reveal{opacity:1!important;translate:none!important}
html[data-motion="off"] .guide-scroll-reveal .learn-tile{opacity:1!important;transform:none!important}
html[data-motion="off"] #game-app button:hover,html[data-motion="off"] #game-app button:active,html[data-motion="off"] .brand:hover .brand-icon,html[data-motion="off"] .primary-button:hover .icon{transform:none}
@media(prefers-reduced-motion:reduce){.guide-scroll-reveal{opacity:1!important;translate:none!important}.guide-scroll-reveal .learn-tile{opacity:1!important;transform:none!important}#game-app button:hover,#game-app button:active,.brand:hover .brand-icon,.primary-button:hover .icon{transform:none}}

/* A quiet film-stock surround; the clue's viewport stays inside the rails. */
.film-stock{--film-rail:18px;--film-hole:#ece5d5;position:relative;padding:var(--film-rail) 9px;background:#2b2d28;border:1px solid #1f211d;border-radius:12px;box-shadow:0 5px 16px #29261d12}
.film-stock::before,.film-stock::after{content:'';position:absolute;left:8px;right:8px;height:8px;background:var(--film-hole);-webkit-mask:url('/assets/film-perforations.svg') repeat-x center/18px 8px;mask:url('/assets/film-perforations.svg') repeat-x center/18px 8px;pointer-events:none}
.film-stock::before{top:4px}.film-stock::after{bottom:4px}
.film-stock .movie-screen,.film-stock .expanded-scene,.film-stock img{border-radius:4px;outline:none;box-shadow:none}
.film-stock .movie-screen,.film-stock .expanded-scene{margin:0;background:#1c1e1b}
.puzzle-meta{margin-bottom:13px}.frame-progress{margin-top:20px;gap:14px}.frame-tiles{flex-shrink:0}
.expanded-film{margin:13px 0 3px}
.comparison-grid{--comparison-gap:20px;max-width:640px;margin-inline:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(5,auto);gap:0 var(--comparison-gap)}.comparison-grid::before{display:none;content:none}
.comparison-card{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:subgrid;grid-row:1/span 5;align-items:start;position:relative;z-index:1;animation:none}
.comparison-card:first-child{grid-column:1}.comparison-card:nth-child(2){grid-column:2}
.comparison-film{--film-rail:11px;align-self:center;padding:var(--film-rail) 6px;border-radius:10px}
.comparison-film::before,.comparison-film::after{height:6px;left:5px;right:5px;-webkit-mask-size:14px 6px;mask-size:14px 6px}
.comparison-film::before{top:3px}.comparison-film::after{bottom:3px}
.comparison-film img{object-fit:contain;background:#1c1e1b}
.comparison-frame{position:relative;overflow:hidden;border-radius:4px;background:#1c1e1b}
.comparison-frame-in{animation:comparisonFrameIn .22s ease-out}
.comparison-frame-out{position:absolute;inset:0;height:100%;pointer-events:none;animation:comparisonFrameOut .16s ease-in both}
@keyframes comparisonFrameIn{from{opacity:.35;translate:0 8px}to{opacity:1;translate:0 0}}
@keyframes comparisonFrameOut{from{opacity:.8;translate:0 0}to{opacity:0;translate:0 -8px}}
html[data-motion="off"] .comparison-frame-out{display:none}
@media(prefers-reduced-motion:reduce){.comparison-frame-out{display:none}}
/* An understated paper medallion, centered on the shared image row. */
.versus-badge{grid-column:1/-1;grid-row:1;place-self:center;display:grid;place-items:center;width:42px;height:42px;border:1px solid #b7c3ac;border-radius:50%;background:linear-gradient(145deg,#fffef8,#f1eee4);color:#536d47;font:600 13px/1 var(--sans);letter-spacing:.08em;box-shadow:0 0 0 3px var(--paper),0 3px 9px #26321c1c,inset 0 1px 0 #fff9;z-index:3;pointer-events:none;user-select:none}
.versus-badge>span{display:block;text-indent:.08em;translate:none}
.comparison-card.answer-correct .compare-value,.comparison-card.answer-wrong .compare-value{animation:compareAnswer .18s ease-out both}
@keyframes compareAnswer{from{opacity:.2;translate:0 3px}to{opacity:1;translate:0 0}}
html[data-theme="dark"] .film-stock{--film-hole:#a8a398;box-shadow:0 5px 16px #0002;background:#171a16;border-color:#0d100c}
html[data-theme="dark"] .versus-badge{background:linear-gradient(145deg,#303a2e,#242e26);border-color:#8f795f;color:var(--orange);box-shadow:0 0 0 3px var(--paper),0 3px 10px #0003,inset 0 1px 0 #ffffff0a}

/* One balanced mark at every size. */
.brand{gap:8px;line-height:1}.brand>.brand-wordmark{color:var(--green);margin:0}.brand-dot{color:var(--orange)}
.brand-icon{width:32px;height:32px;padding:0;margin:0;color:var(--green);transform:none}
.welcome-mark{width:100px;height:100px;color:var(--green);transform:none}
html[data-theme="dark"] .brand-icon,html[data-theme="dark"] .welcome-mark{color:var(--orange)}

/* Comfortable secondary type, in both themes and on small screens. */
:root{--muted:#545e4d;--ink:#30382b}html[data-theme="dark"]{--muted:#c5ccbd;--ink:#edf0e6}
body{font-size:15px;line-height:1.5}
.game-switch button,.mode-tabs button,.guess-actions button,.text-button,.puzzle-bottom,.puzzle-bottom button,footer,footer button{font-size:15px}
.game-switch button,.mode-tabs button,.difficulty-tabs button,.metric-tabs button,.level-tabs button,.puzzle-meta,#attempt-label,.hint-switch,.guess-actions button,.puzzle-bottom,footer,.compare-source,.compare-attribution,.comparison-card p,.result-meta,.scene-reference p,.scene-reference small,.scene-time-compact{font-weight:450;line-height:1.55}
.puzzle-meta,.hint-switch,#attempt-label,.difficulty-tabs button{font-size:14.5px}
#attempt-label{text-align:right;max-width:60%}
#title-guess{font-size:17px}
.daily-hint-panel b{font-size:16px;font-weight:500}.daily-hint-panel span,#hint-intro-content span{font-size:14.5px}
.comparison-card p,.compare-source,.compare-attribution,.scene-time-compact,.distribution-note,.bar-label,.daily-archive>div>span,.distribution-heading>span,.frame-guide #modal-content>.guide-save-note{font-size:14px}
.comparison-card .compare-value small{font-size:14px;color:var(--muted)}
html[data-theme] .comparison-card .hidden-value{color:var(--muted)}
.icon-button{color:var(--muted)}.frame-tile{font-weight:500}
.collection-list li{line-height:1.6}.collection-list small{font-size:14px;color:var(--muted)}
@media(max-width:1199px){.hint-side{margin-bottom:14px}.hint-side+.film-stock{margin-top:0}}
@media(max-width:760px){
 .film-stock{--film-rail:16px;padding:var(--film-rail) 7px;border-radius:10px}.film-stock::before{top:3px}.film-stock::after{bottom:3px}
 .comparison-grid{--comparison-gap:16px}.comparison-film{--film-rail:9px;padding:var(--film-rail) 4px;border-radius:9px}.comparison-film::before{top:2px}.comparison-film::after{bottom:2px}
 .versus-badge{width:34px;height:34px;font-size:12px}
 .brand-icon{display:block;width:29px;height:29px}.brand{font-size:26px;gap:6px}.welcome-mark{width:90px;height:90px}
 .puzzle-meta{margin-bottom:12px}.frame-progress{margin-top:17px;gap:12px}#attempt-label{font-size:14px;max-width:56%}
 .hint-switch{font-size:14.5px;width:106px}.hint-side{margin-bottom:12px}
 .guess-actions button,.puzzle-bottom,footer,footer button{font-size:15px}.compare-source,.compare-attribution,.scene-time-compact,.distribution-heading>span,.daily-archive>div>span{font-size:14px}
}
@media(max-width:360px){.brand{font-size:24px}.brand-icon{width:26px;height:26px}.difficulty-tabs button{padding-inline:7px}#attempt-label{font-size:14px}.frame-progress{gap:9px}}

/* A small invitation to the club's update log. */
.welcome-updates{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin:12px auto 0;padding:8px 14px;color:var(--muted);font-size:15px;font-weight:500;border-radius:999px;transition:color .18s ease,background-color .18s ease}
.welcome-updates .icon{width:14px;height:14px;color:var(--orange);transition:translate .18s ease}.update-dot{width:6px;height:6px;border-radius:50%;background:var(--orange);flex-shrink:0}
.welcome-updates:hover{color:var(--orange);background:var(--white)}.welcome-updates:hover .icon{translate:3px 0}
.welcome-updates:focus-visible{animation:none}
.updates-dialog{width:min(540px,calc(100% - 28px));padding:23px 27px}
.updates-dialog .modal-top{position:sticky;top:-23px;z-index:4;margin:-23px -27px 23px;padding:17px 27px 13px;background:var(--white);border-bottom:1px solid var(--line)}
.updates-list{padding:5px 0 0 15px}
.update-entry{position:relative;border-left:1px solid var(--line);padding:0 0 25px 22px;animation:paneEnter .25s ease-out both;animation-delay:calc(var(--entry-index)*55ms)}
.update-entry:last-child{border-left-color:transparent;padding-bottom:0}.update-entry::before{content:'';position:absolute;left:-4px;top:6px;width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px var(--white)}
.update-entry time{font-size:14px;line-height:1.6;color:var(--muted);font-weight:500}.update-entry h3{font:500 23px/1.2 var(--fun);color:var(--green);margin:6px 0 10px}
.update-entry ul{margin:0;padding-left:17px;font-size:15px;line-height:1.65;color:var(--ink)}.update-entry li+li{margin-top:5px}
footer>div{flex-wrap:wrap;justify-content:center;gap:8px 22px;max-width:calc(100% - 28px)}
html[data-motion="off"] .welcome-updates:hover .icon{translate:none}
@media(prefers-reduced-motion:reduce){.welcome-updates:hover .icon{translate:none}}
@media(max-width:760px){.updates-dialog{padding:21px 22px}.updates-dialog .modal-top{top:-21px;margin:-21px -22px 21px;padding:15px 22px 12px}.updates-list{padding-left:9px}.update-entry{padding-left:19px}.update-entry h3{font-size:22px}}
@media(max-width:430px){footer>div{display:grid;grid-template-columns:repeat(2,max-content);column-gap:28px;row-gap:2px}}

/* Get to the game, then let each guess have its moment. */
html[data-returning="true"] #welcome-screen{display:none}
.boot-status{min-height:100svh;display:grid;place-items:center;color:var(--muted);font-size:16px}
.mobile-options{display:none}
.welcome-content{animation:quickWelcome .18s ease-out both}
.welcome-mark,.welcome-content h1,.welcome-tagline,.welcome-categories,
.welcome-play,.welcome-updates,.welcome-date{animation:none}
.welcome-play::after{display:none}
.welcome-screen.welcome-leaving{animation:welcomeOut .16s ease both}
.game-arrive{animation:paneEnter .18s ease-out both}
@keyframes quickWelcome{from{opacity:0}to{opacity:1}}

.game-switch{gap:9px}
.game-switch button,.mode-tabs button{min-height:42px;padding:9px 15px;border-radius:999px}
.game-switch.motion-tabs>.tab-indicator,.mode-tabs.motion-tabs>.tab-indicator{
 translate:var(--tab-x) var(--tab-y);height:var(--tab-height);
 border:0;border-radius:999px;background:var(--tab-fill,#e9eedf);
}
.mode-tabs button.active{border-color:transparent}
.mode-tabs button.active::after{display:none}

.frame-guide .learn-tile,.frame-guide .guess-examples>section,
.frame-guide .guide-modes,.frame-guide .guide-modes>div,
.frame-guide .guide-note,.frame-guide .guide-save-note,
.frame-guide .guide-start{animation:none;opacity:1;transform:none;translate:none}
.frame-guide[open]{animation:dialogEnter .18s ease-out both}
.guide-actions{position:sticky;bottom:-25px;background:var(--white);padding:12px 0 4px;margin-top:12px;z-index:3}
.frame-guide .guide-start{margin-top:0}
.guess-input-wrap.guess-miss{animation:guessMiss .25s ease-in-out}
.frame-tile.tile-used{animation:tileUsed .3s cubic-bezier(.2,.8,.2,1)}
.movie-screen>img.film-advance{animation:filmAdvance .28s cubic-bezier(.2,.8,.2,1) both}
#scene-stock.win-ring{animation:winRing .65s ease-out}
@keyframes guessMiss{25%{translate:-4px 0}75%{translate:4px 0}}
@keyframes tileUsed{0%{scale:.9}50%{scale:1.08}100%{scale:1}}
@keyframes filmAdvance{from{translate:100% 0}to{translate:0 0}}
@keyframes winRing{0%,100%{box-shadow:0 4px 16px #2222}40%{box-shadow:0 0 0 5px #8b9f6d80,0 4px 16px #2222}}
.confetti i{top:0;transform:translateY(-15px) rotate(var(--r))}
@keyframes confetti-fall{to{transform:translateY(105vh) rotate(calc(var(--r) + 420deg));opacity:.2}}

.speed-active::after{width:100%;transform-origin:left center;transform:scaleX(var(--time-left,1));transition:transform .25s linear}
#timer.danger{color:var(--orange);animation:timerPulse 1.2s ease-in-out infinite}
@keyframes timerPulse{50%{opacity:.65;scale:1.04}}
.distribution-fill{transform-origin:center bottom;animation:distributionGrow .4s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--bar-index,0)*40ms)}
@keyframes distributionGrow{from{transform:scaleY(0)}to{transform:scaleY(1)}}

.compare-choice{min-width:114px;min-height:48px;border:1px solid var(--green);border-radius:8px;padding:12px 20px;background:var(--white);color:var(--green);font-size:16px;font-weight:500}
.compare-buttons .compare-choice{width:120px;min-width:120px}
.compare-choice:hover{background:var(--paper);box-shadow:0 2px 7px #29351c12}
.compare-choice:active{scale:.98}
html[data-motion="off"] .compare-choice:active{scale:1}
@media(prefers-reduced-motion:reduce){.compare-choice:active{scale:1}}
.compare-digits{font-variant-numeric:tabular-nums}
.comparison-card.answer-correct .compare-value,.comparison-card.answer-wrong .compare-value{animation:none}
.comparison-card.answer-correct:not(.reveal-pending) .compare-value{color:var(--green)}
.comparison-card.answer-wrong:not(.reveal-pending) .compare-value{color:var(--orange)}
.compare-details{margin:24px 0 0;color:var(--muted);font-size:14px;text-align:center}
.compare-details summary{cursor:pointer;min-height:36px;line-height:1.6;padding:6px 0}
.compare-details[open]{border-bottom:1px solid var(--line);padding-bottom:12px}
.compare-details .compare-source{margin-top:12px;text-align:left}
.compare-attribution{margin-top:6px}
@media(max-height:680px){
 .compare-options{margin-bottom:14px}
 .comparison-card h2{margin:9px 0 4px}
 .comparison-card .compare-value{margin:8px 0 4px}
 .compare-status{margin:12px 0 7px}
 .compare-buttons{margin-top:7px}
}
@media(min-width:761px) and (max-height:680px){
 .comparison-grid{max-width:580px}
}
#collection-count{display:none}
#suggestions li>span:last-child,.speed-ready p{color:var(--muted)}
.guess-feedback{color:#925337}

@media(max-width:760px){
 .site-header{height:66px}
 .game-shell{margin-top:8px}
 .game-switch{margin-bottom:12px;gap:8px}
 .game-switch button{font-size:15px;padding:9px 13px}
 .category-tabs{margin-bottom:14px;gap:7px}
 .category-tabs button{font-size:18px;min-height:42px;padding:9px 14px}
 .game-options{display:none}
 .mobile-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}
 .puzzle{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:8px}
 .puzzle>*{grid-column:1/-1;min-width:0}
 .puzzle>.puzzle-meta{grid-column:1;grid-row:1;min-height:32px;margin:0 0 10px;gap:8px;flex-wrap:wrap;font-size:14px}
 .puzzle>.hint-side{grid-column:2;grid-row:1;position:static;width:auto;margin:0 0 10px}
 .hint-switch{width:92px;min-height:32px;font-size:14px}
 .frame-progress{margin-top:14px;margin-bottom:18px}
 .guide-actions{bottom:-21px}
 footer{margin-top:25px}
 footer>div{row-gap:5px}
}
@media(max-width:360px){
 .game-switch button{padding-inline:10px;font-size:14px}
 .category-tabs button{padding-inline:11px;font-size:17px}
 .hint-switch{width:82px}
 .compare-buttons .compare-choice{width:110px;min-width:110px;padding-inline:15px}
}

/* The quick controls belong to the same soft, quiet palette as the tabs. */
.quick-select{position:relative;min-width:0;--quick-fill:#e9eedf;--quick-edge:#d9e1ce;--quick-accent:var(--green)}
.quick-select[data-choice="medium"]{--quick-fill:#f5ecd5;--quick-edge:#e6d5a9;--quick-accent:#8b702d}
.quick-select[data-choice="hard"]{--quick-fill:#f5e4d7;--quick-edge:#e9c6ab;--quick-accent:#a45c34}
.quick-select[data-choice="impossible"]{--quick-fill:#eee4e9;--quick-edge:#d9c2d0;--quick-accent:#805b76}
.quick-trigger{display:flex;align-items:center;gap:9px;width:100%;min-height:44px;padding:9px 13px;border:1px solid var(--quick-edge);border-radius:999px;background:var(--quick-fill);color:var(--green);text-align:left;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}
.quick-value{min-width:0;flex:1;font:500 18px/1.2 var(--fun)}
.quick-symbol{width:18px;height:18px;flex-shrink:0;color:var(--green);stroke-width:1.7}
.quick-chevron{width:16px;height:16px;flex-shrink:0;color:var(--muted);transition:rotate .18s ease}
.quick-trigger[aria-expanded="true"] .quick-chevron{rotate:180deg}
.quick-trigger[aria-expanded="true"]{border-color:var(--quick-accent);box-shadow:0 0 0 2px var(--paper)}
.quick-trigger:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.quick-menu{position:absolute;top:calc(100% + 8px);left:0;width:100%;min-width:164px;padding:6px;border:1px solid var(--line);border-radius:18px;background:var(--white);box-shadow:0 9px 24px #24301b1c;max-height:min(300px,45dvh);overflow-y:auto;overscroll-behavior:contain;animation:quickMenuIn .16s ease-out both}
.quick-select[data-quick-select="tier"] .quick-menu{left:auto;right:0}
.quick-option{display:flex;align-items:center;gap:9px;width:100%;min-height:44px;padding:9px 10px;border:1px solid transparent;border-radius:12px;text-align:left;color:var(--ink);font:450 15px/1.35 var(--sans)}
.quick-label{flex:1;white-space:nowrap}
.quick-check{width:16px;height:16px;flex-shrink:0;color:var(--green);opacity:0;stroke-width:2}
.quick-option[aria-checked="true"]{background:var(--paper);font-weight:600}
.quick-option[aria-checked="true"] .quick-check{opacity:1}
.quick-option:focus-visible{outline:none;border-color:var(--green);background:var(--paper)}
.tier-dot{display:block;width:8px;height:8px;flex-shrink:0;border-radius:50%;background:var(--quick-accent);margin:0 4px}
.tier-dot[data-tone="easy"]{background:var(--green)}
.tier-dot[data-tone="medium"]{background:#a1873e}
.tier-dot[data-tone="hard"]{background:#c57549}
.tier-dot[data-tone="impossible"]{background:#936f8b}
@keyframes quickMenuIn{from{opacity:0}to{opacity:1}}
.guess-input-wrap,#title-guess,.primary-button,.outline-button,.compare-choice{border-radius:13px}
html[data-theme="dark"] .quick-select,html[data-theme="dark"] .quick-select[data-choice]{--quick-fill:#2b352b;--quick-edge:#4b5945;--quick-accent:var(--orange)}
html[data-theme="dark"] .quick-trigger,html[data-theme="dark"] .quick-symbol,html[data-theme="dark"] .quick-chevron,html[data-theme="dark"] .quick-check{color:var(--orange)}
html[data-theme="dark"] .quick-option[aria-checked="true"],html[data-theme="dark"] .quick-option:focus-visible{background:#34432e;color:var(--ink)}
html[data-theme="dark"] .quick-option:focus-visible{border-color:var(--orange)}
html[data-theme="dark"] .quick-menu{box-shadow:0 10px 26px #0004}
html[data-theme="dark"] .tier-dot[data-tone="medium"]{background:#c8b574}
html[data-theme="dark"] .tier-dot[data-tone="hard"]{background:#dda076}
/* Screen Sense: an unlimited run ends with a personal result card. */
.compare-finished-actions{display:flex;justify-content:center;gap:10px}
.compare-finished-actions button{min-width:128px}
.comparison-results{width:min(520px,calc(100% - 28px));padding:22px 24px 19px;border-color:var(--line);border-radius:24px;background:var(--white)}
.comparison-result-top{display:flex;justify-content:space-between;align-items:center;color:var(--green);font:500 20px var(--fun);margin-bottom:21px}
.comparison-result-top .icon-button{width:32px;height:32px;color:var(--muted)}
.comparison-result-hero{text-align:center;margin-bottom:24px}
.comparison-result-hero>p{font-size:15px;line-height:1.6;color:var(--muted)}
.comparison-result-hero h2{font:500 30px/1.1 var(--fun);letter-spacing:-.5px;color:var(--ink);margin:10px 0 15px}
.comparison-result-hero h2 b{display:block;font:500 clamp(76px,16vw,96px)/1 var(--fun);color:var(--green);letter-spacing:-2px;margin-bottom:4px;overflow-wrap:anywhere}
.comparison-result-hero>p:last-child{font-size:14px}
.comparison-period{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:var(--paper);padding:4px;border-radius:30px;margin-bottom:14px}
.comparison-period button{min-height:40px;border-radius:24px;font-size:15px;font-weight:500;color:var(--muted);transition:background-color .18s,color .18s}
.comparison-period button[aria-pressed="true"]{background:var(--green);color:var(--white)}
.comparison-personal{padding:19px 20px 15px;background:var(--paper);border:1px solid var(--line);border-radius:17px}
.comparison-personal-numbers{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:center}
.comparison-personal-numbers>div{display:flex;flex-direction:column;gap:4px}
.comparison-personal-numbers>div+div{border-left:1px solid var(--line)}
.comparison-personal-numbers b{font:500 32px/1.1 var(--fun);color:var(--ink);font-variant-numeric:tabular-nums}
.comparison-personal-numbers span{font-size:14px;color:var(--muted);line-height:1.5}
.comparison-run-track{margin-top:21px}
.comparison-track-labels{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:14px;line-height:1.5;color:var(--muted)}
.comparison-track-labels b{color:var(--ink);font-weight:600}
.comparison-track-labels>span:last-child{text-align:right}
.comparison-track-line{height:7px;border-radius:9px;background:var(--line);position:relative;margin-inline:7px}
.comparison-track-fill{display:block;height:100%;width:var(--run-fill);background:var(--green);border-radius:9px}
.comparison-track-marker{position:absolute;top:50%;left:var(--run-position);translate:-50% -50%;width:17px;height:17px;border:3px solid var(--white);border-radius:50%;background:var(--orange);box-shadow:0 0 0 1px var(--orange)}
.comparison-run-count{font-size:14px;color:var(--muted);text-align:center;line-height:1.6;margin-top:15px}
.comparison-last-pair{font-size:14px;color:var(--muted);margin-top:14px;border-bottom:1px solid var(--line)}
.comparison-last-pair summary{cursor:pointer;padding:9px 0 12px;min-height:40px}
.comparison-last-pair>div{display:grid;gap:13px;padding:4px 0 16px}
.comparison-last-pair p{display:flex;align-items:center;justify-content:space-between;gap:15px;line-height:1.6}
.comparison-last-pair p>span{min-width:0;overflow-wrap:anywhere;color:var(--ink)}
.comparison-last-pair small{display:block;font-size:14px;font-weight:400;color:var(--muted)}
.comparison-last-pair p>b{flex-shrink:0;text-align:right;color:var(--green);font:500 23px var(--fun);font-variant-numeric:tabular-nums}
.comparison-last-pair p>b small{display:inline;font:400 13px var(--sans)}
.comparison-result-actions{display:grid;grid-template-columns:1fr 45px 1.25fr;gap:8px;margin-top:20px}
.comparison-result-actions button{min-height:47px;border-radius:13px;font-size:15px;white-space:nowrap}
.comparison-result-actions .outline-button{background:var(--white);border-color:var(--line);color:var(--green)}
.comparison-result-actions .icon{width:17px;height:17px}
.comparison-back{display:block;margin:14px auto 0;padding:8px;min-height:40px;font-size:14px}
.comparison-save-note,.comparison-share-feedback{font-size:14px;line-height:1.6;color:var(--muted);text-align:center}
.comparison-share-feedback:not(:empty){margin-top:14px}
.comparison-share-feedback .copy-fallback{font-size:16px;text-align:left}
html[data-theme="dark"] .comparison-result-hero h2 b{color:var(--orange)}
html[data-theme="dark"] .comparison-period button[aria-pressed="true"]{background:#443329;color:var(--orange)}
html[data-theme="dark"] .comparison-result-actions .primary-button{color:#252f26}
.comparison-results[open]{animation:comparisonResultIn .22s cubic-bezier(.2,.8,.2,1) both}
@keyframes comparisonResultIn{from{opacity:0;translate:0 10px;scale:.98}to{opacity:1;translate:0 0;scale:1}}
html[data-motion="off"] .comparison-results,html[data-motion="off"] .comparison-period button{animation:none;transition:none}
@media(max-width:480px){.comparison-results{padding:18px 18px 15px;border-radius:22px;max-height:calc(100dvh - 24px)}.comparison-result-top{margin-bottom:16px}.comparison-result-hero{margin-bottom:18px}.comparison-result-hero h2{font-size:27px;margin-bottom:12px}.comparison-result-hero h2 b{font-size:77px}.comparison-personal{padding:16px 16px 13px}.comparison-result-actions{grid-template-columns:1fr 44px 1.2fr;gap:7px}.comparison-result-actions button{padding-inline:10px;font-size:15px}.comparison-result-actions .primary-button .icon{display:none}}

/* Keep title choices above the actions; consume selection on click, not press. */
.guess-input-wrap:focus-within{z-index:12}
#suggestions{top:calc(100% + 6px);padding:6px;border-color:var(--line);border-radius:16px;background:var(--white);box-shadow:0 8px 24px #29351c1c;max-height:250px;overscroll-behavior:contain;touch-action:pan-y}
#suggestions li{min-height:44px;gap:12px;padding:11px 12px;border-radius:11px;color:var(--ink);line-height:1.45}
#suggestions li>span:first-child{min-width:0;overflow-wrap:anywhere}
#suggestions li>span:last-child{flex-shrink:0;color:var(--muted)}
#suggestions li.selected,#suggestions li:hover{background:#e9eedf;color:var(--green)}
html[data-theme="dark"] #suggestions{box-shadow:0 8px 24px #0005}
html[data-theme="dark"] #suggestions li.selected,html[data-theme="dark"] #suggestions li:hover{background:#443329;color:var(--orange)}

/* Shared hint credits, refreshed to match the rounded themed controls. */
.hint-side{width:180px;top:32px}
.hint-switch{width:100%;min-height:40px;padding:8px 12px;gap:12px;border:1px solid var(--line);border-radius:24px;background:#e9eedf;color:var(--green);font-size:15px;font-weight:500;line-height:1.4}
.hint-switch input{inset:0;width:100%;height:100%;border-radius:inherit}
.hint-switch .switch-track{width:31px;height:19px;background:#c7d2bc}
.hint-switch .switch-track::after{width:13px;height:13px;background:#fffef8}
.hint-switch input:checked+.switch-track{background:var(--green)}
.hint-switch input:checked+.switch-track::after{translate:12px 0}
.hint-intro{display:grid;grid-template-rows:auto minmax(0,1fr) auto;align-items:stretch;justify-items:stretch;align-content:stretch;justify-content:stretch;gap:16px;padding:22px 26px;overflow:hidden;background:var(--paper);text-align:left}
.hint-intro-heading{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--green)}
.hint-intro-heading .icon{width:19px;height:19px}
.hint-intro .hint-intro-label{font:500 19px/1.3 var(--fun);color:inherit;letter-spacing:0}
#hint-intro-content{display:grid;gap:10px;align-self:center;justify-self:center;width:min(520px,100%);max-width:none;max-height:100%;overflow-y:auto;overscroll-behavior:contain;padding:1px}
#hint-intro-content .hint-credit{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:baseline;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--white)}
#hint-intro-content .hint-credit-label,.daily-hint-panel .hint-credit-label{font-size:15px;font-weight:450;line-height:1.5;color:var(--muted)}
#hint-intro-content .hint-credit b,.daily-hint-panel .hint-credit b{font-size:17px;font-weight:500;line-height:1.5;color:var(--ink);overflow-wrap:anywhere}
.hint-intro>.hint-reveal{justify-self:center;min-width:160px;min-height:46px;padding:11px 18px;border-radius:24px;font-size:16px;gap:10px}
.daily-hint-panel{display:grid;grid-template-columns:1fr;gap:17px;padding:17px;border-color:var(--line);border-radius:16px;background:var(--white);box-shadow:0 5px 18px #29351c0a}
.daily-hint-panel>.hint-credit{display:grid;grid-template-columns:1fr;gap:5px}
.daily-hint-panel .hint-credit b{font-size:16px}
#run-status{white-space:nowrap;font-variant-numeric:tabular-nums}
html[data-theme="dark"] .hint-switch{background:#2b352b;border-color:#4b5945;color:var(--ink)}
html[data-theme="dark"] .hint-switch .switch-track{background:#66584c}
html[data-theme="dark"] .hint-switch input:checked+.switch-track{background:var(--orange)}
html[data-theme="dark"] .hint-switch input:checked+.switch-track::after{background:var(--paper)}
html[data-theme="dark"] .hint-intro-heading{color:var(--orange)}
html[data-theme="dark"] .daily-hint-panel{box-shadow:0 5px 18px #0002}
@media(min-width:1200px){.daily-hint-panel{width:180px;top:88px}}
@media(max-width:1199px){
 .puzzle{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px}
 .puzzle>*{grid-column:1/-1;min-width:0}
 .puzzle>.puzzle-meta{grid-column:1;grid-row:1;min-height:40px;margin:0 0 10px;gap:12px;flex-wrap:wrap}
 .puzzle>.hint-side{grid-column:2;grid-row:1;position:static;width:auto;margin:0 0 10px}
 .hint-switch{width:108px;min-height:40px}
 .daily-hint-panel{position:static;width:auto;margin-top:16px}
 .daily-hint-panel>.hint-credit{grid-template-columns:92px minmax(0,1fr);gap:12px}
}
@media(max-width:760px){
 .puzzle>.puzzle-meta{font-size:14px;gap:8px}
 .hint-switch{width:104px;font-size:14.5px;padding:8px 10px;gap:9px}
 .hint-intro{padding:10px 14px;gap:8px}
 .hint-intro .hint-intro-label{font-size:17px}
 #hint-intro-content{gap:8px}
 #hint-intro-content .hint-credit{grid-template-columns:77px minmax(0,1fr);gap:10px;padding:0;border:0;border-radius:0;background:none}
 #hint-intro-content .hint-credit-label,.daily-hint-panel .hint-credit-label{font-size:14.5px}
 #hint-intro-content .hint-credit b,.daily-hint-panel .hint-credit b{font-size:15.5px;line-height:1.45}
 .hint-intro>.hint-reveal{min-height:42px;min-width:150px;padding:8px 15px;font-size:15px}
 .daily-hint-panel{padding:15px;gap:14px}
 .daily-hint-panel>.hint-credit{grid-template-columns:77px minmax(0,1fr);gap:10px}
}
@media(max-width:360px){.hint-switch{width:99px}.puzzle{column-gap:9px}.hint-intro{padding:10px 12px;gap:8px}}
html[data-theme="dark"] .tier-dot[data-tone="impossible"]{background:#c5a0bf}
@media(hover:hover){.quick-trigger:hover{border-color:var(--quick-accent)}.quick-option:hover{background:var(--paper)}}
@media(max-width:760px){.mobile-options{position:relative;z-index:30}}
@media(max-width:360px){.quick-trigger{gap:6px;padding-inline:10px}.quick-value{font-size:16px}.quick-symbol{width:17px;height:17px}.quick-chevron{width:14px;height:14px}.quick-trigger .tier-dot{width:7px;height:7px;margin-inline:1px}}

/* A cinema cue ticket: let a short clue set the height, not an empty screen. */
.film-stock{--cue-notch:#2b2d28}
html[data-theme="dark"] .film-stock{--cue-notch:#171a16}
.movie-screen.has-hint-card{aspect-ratio:auto;min-height:0}
.movie-screen.has-hint-card>img{visibility:hidden}
.movie-screen.has-hint-card>.expand-button{display:none}
.movie-screen.has-hint-card .hint-intro{--cue-pad:30px;position:relative;inset:auto;display:grid;grid-template-rows:auto auto;justify-items:stretch;gap:24px;width:100%;padding:26px var(--cue-pad) 20px;overflow:visible;background:linear-gradient(125deg,#edf1e3 0%,var(--white) 67%);text-align:left;animation:cueTicketIn .22s cubic-bezier(.2,.8,.2,1) both}
.hint-intro .cue-clapper{position:absolute;top:24px;right:26px;width:34px;height:34px;color:var(--orange);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
:is(#hint-intro-content,#daily-hint-content){display:grid;gap:21px;align-self:auto;justify-self:stretch;width:100%;max-width:none;max-height:none;overflow:visible;padding:0}
:is(#hint-intro-content,#daily-hint-content)>.hint-credit{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:0;border:0;border-radius:0;background:none;min-width:0}
:is(#hint-intro-content,#daily-hint-content)>.hint-credit:first-child{gap:13px;padding-right:40px}
:is(#hint-intro-content,#daily-hint-content)>.hint-credit:first-child .hint-credit-label{display:inline-flex;align-items:center;min-height:29px;padding:4px 11px;border-radius:8px;background:#dce5ce;color:var(--green);font-size:15px;font-weight:600;line-height:1.4}
:is(#hint-intro-content,#daily-hint-content)>.hint-credit:first-child b{font:500 clamp(30px,3.8vw,44px)/1.12 var(--fun);letter-spacing:-.5px;color:var(--green);overflow-wrap:anywhere}
:is(#hint-intro-content,#daily-hint-content)>.hint-credit:not(:first-child) .hint-credit-label{font-size:14.5px;color:var(--muted)}
:is(#hint-intro-content,#daily-hint-content)>.hint-credit:not(:first-child) b{font-size:17px;line-height:1.5;font-weight:450;color:var(--ink)}
.hint-ticket-footer{position:relative;display:flex;justify-content:flex-end;padding-top:18px;border-top:1px dashed #a8b596}
.hint-ticket-footer::before,.hint-ticket-footer::after{content:'';position:absolute;top:-10px;width:19px;height:19px;border-radius:50%;background:var(--cue-notch);pointer-events:none}
.hint-ticket-footer::before{left:calc(-1 * var(--cue-pad) - 10px)}
.hint-ticket-footer::after{right:calc(-1 * var(--cue-pad) - 10px)}
.hint-ticket-footer>.hint-reveal{min-height:46px;min-width:166px;padding:11px 17px;border-radius:24px;font-size:16px;background:var(--green);border-color:var(--green);color:#fffef8;gap:12px}
.hint-ticket-footer>.hint-reveal:hover{background:#435c39;border-color:#435c39}
.hint-ticket-footer>.hint-reveal .icon{transition:translate .16s ease}
.hint-ticket-footer>.hint-reveal:hover .icon{translate:3px 0}
html[data-theme="dark"] .movie-screen.has-hint-card .hint-intro{background:linear-gradient(125deg,#30392d,var(--white) 67%)}
html[data-theme="dark"] :is(#hint-intro-content,#daily-hint-content)>.hint-credit:first-child .hint-credit-label{background:#443329;color:var(--orange)}
html[data-theme="dark"] :is(#hint-intro-content,#daily-hint-content)>.hint-credit:first-child b{color:var(--orange)}
html[data-theme="dark"] .hint-ticket-footer{border-color:#5b6951}
html[data-theme="dark"] .hint-ticket-footer>.hint-reveal{background:var(--orange);border-color:var(--orange);color:var(--paper)}
html[data-theme="dark"] .hint-ticket-footer>.hint-reveal:hover{background:#edaa86;border-color:#edaa86}
@keyframes cueTicketIn{from{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}
html[data-motion="off"] .movie-screen.has-hint-card .hint-intro,html[data-motion="off"] .hint-ticket-footer>.hint-reveal .icon{animation:none!important;transition:none!important}
@media(max-width:760px){
 .movie-screen.has-hint-card .hint-intro{--cue-pad:20px;gap:20px;padding:20px var(--cue-pad) 16px}
 .hint-intro .cue-clapper{top:19px;right:18px;width:28px;height:28px}
 :is(#hint-intro-content,#daily-hint-content){gap:17px}
 :is(#hint-intro-content,#daily-hint-content)>.hint-credit:first-child{gap:11px;padding-right:26px}
 :is(#hint-intro-content,#daily-hint-content)>.hint-credit:first-child .hint-credit-label{font-size:14.5px;min-height:28px;padding:4px 9px}
 :is(#hint-intro-content,#daily-hint-content)>.hint-credit:first-child b{font-size:30px;line-height:1.12}
 :is(#hint-intro-content,#daily-hint-content)>.hint-credit:not(:first-child) b{font-size:16px;line-height:1.5}
 .hint-ticket-footer{padding-top:16px}
 .hint-ticket-footer>.hint-reveal{width:100%;min-height:46px;font-size:16px}
}

/* Clear game hierarchy, comfortable controls, and a frame that fits a laptop. */
.game-switch{display:flex;width:min(350px,100%);padding:3px;gap:4px;margin-inline:auto;border:1px solid var(--line);border-radius:999px;background:var(--white)}
.game-switch button{flex:1;min-width:0;min-height:52px;padding:6px 13px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:15px;line-height:1.35}
.game-caption{display:block;font-size:14px;font-weight:450;line-height:1.3;color:var(--muted);white-space:nowrap}
.category-tabs{gap:12px;margin-bottom:10px}
.category-tabs button{min-height:44px;padding:8px 10px;font-size:16px;border-radius:0;background:transparent}
.category-tabs.motion-tabs>.tab-indicator{height:2px;translate:var(--tab-x) calc(var(--tab-y) + var(--tab-height) - 2px);border:0;border-radius:2px;background:var(--green)}
.category-tabs.motion-tabs button.active{background:transparent}
.game-options{display:none}
.puzzle{display:block}
.puzzle-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 12px;margin-bottom:10px}
.puzzle-toolbar .mobile-options{grid-column:1/-1;grid-row:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;position:relative;z-index:30}
.puzzle-toolbar .puzzle-meta{grid-column:1;grid-row:2;min-height:44px;margin:0;gap:9px;flex-wrap:wrap}
.puzzle-toolbar .hint-side{grid-column:2;grid-row:2;position:static;width:108px;margin:0}
.puzzle-toolbar .hint-switch{min-height:44px;width:100%}
.frame-tile{width:44px;height:44px;min-width:44px;min-height:44px;font-size:17px}
.frame-tiles{gap:6px}
.frame-progress{margin-top:10px;margin-bottom:10px;gap:10px;min-height:44px}
#attempt-label{min-width:0;text-align:right;line-height:1.45}
.guess-actions{margin-top:8px}
.guess-actions button,footer button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px 8px}
.expand-button{width:44px;height:44px;right:8px;top:8px}
.expand-button .icon{width:18px;height:18px}
.header-tools .icon-button,.welcome-tools .icon-button{width:44px;height:44px}
.frame-tile.tile-used{animation-duration:.18s;animation-delay:.1s}
.compare-attribution a{color:inherit;text-underline-offset:3px}
.backup-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.backup-actions button{min-height:44px;font-size:15px;padding:10px 14px}
.backup-status{margin-top:12px;font-size:15px;line-height:1.5;color:var(--green)}
.backup-status.error{color:var(--orange)}
html[data-theme="dark"] .game-switch{background:var(--white)}
html[data-theme="dark"] .game-switch.motion-tabs>.tab-indicator{background:#34432e}
html[data-theme="dark"] .category-tabs.motion-tabs>.tab-indicator{background:var(--green)}
html[data-theme="dark"] .quick-select{--quick-fill:#2b352b;--quick-edge:#4b5945;--quick-accent:var(--orange)}
html[data-theme="dark"] .quick-trigger{background:var(--quick-fill);border-color:var(--quick-edge);color:var(--ink)}
html[data-theme="dark"] .quick-trigger .quick-chevron,html[data-theme="dark"] .quick-trigger .quick-symbol{color:var(--orange)}
html[data-theme="dark"] .quick-option[aria-checked="true"]{background:#34432e;color:var(--ink)}
html[data-theme="dark"] .puzzle-toolbar .hint-switch{background:#2b352b;border-color:#4b5945;color:var(--ink)}
@media(min-width:761px){
 .site-header{height:56px}
 .game-shell{display:grid;grid-template-columns:minmax(0,1fr) auto;justify-content:center;align-items:center;gap:12px 24px;width:min(770px,calc(100% - 48px));margin-top:8px}
 .game-switch{justify-self:start;margin:0}
 .category-tabs{justify-self:end;margin:0}
 #frame-game,#comparison-game{grid-column:1/-1;width:min(770px,100%);justify-self:center;min-width:0}
 #frame-game{--fitted-frame-width:min(770px,max(360px,calc((100svh - 380px - 36px)*1.79 + 14px)))}
 .puzzle-toolbar{grid-template-columns:minmax(0,320px) minmax(0,1fr) auto;column-gap:12px;margin-bottom:12px}
 .puzzle-toolbar .mobile-options{grid-column:1;grid-row:1}
 .puzzle-toolbar .puzzle-meta{grid-column:2;grid-row:1;font-size:14px}
 .puzzle-toolbar .hint-side{grid-column:3;grid-row:1}
 #scene-stock,.puzzle>.frame-progress,.puzzle>#guess-panel,.puzzle>#round-result,.puzzle>.puzzle-bottom{width:var(--fitted-frame-width);max-width:100%;margin-inline:auto}
 .puzzle>#guess-panel #guess-form{width:100%;max-width:none}
 .puzzle>.frame-progress{margin-top:10px;margin-bottom:10px}
 .puzzle>.puzzle-bottom{margin-top:8px}
 footer{margin-top:20px}
}
@media(min-width:1200px){.daily-hint-panel{inset-inline-start:calc(50% + var(--fitted-frame-width) / 2 + 16px);top:66px}}
@media(max-width:760px){
 .game-switch{margin-bottom:8px}
 .category-tabs{margin-bottom:10px;gap:12px}
 .category-tabs button{font-size:16px;min-height:44px;padding:8px 10px}
 .puzzle-toolbar .hint-side{width:104px}
 .frame-tiles{gap:4px}
 .frame-tile{width:44px;height:44px;font-size:17px}
 .frame-progress{margin-top:10px;margin-bottom:10px;gap:8px}
 footer>div{column-gap:10px;row-gap:0;justify-content:center}
}
@media(max-width:360px){.brand{font-size:23px;gap:7px}.brand-icon{width:22px;height:22px}.header-tools{gap:4px}.game-switch button{padding-inline:9px}.game-caption{font-size:13.5px}}

.icon-button{min-width:44px;min-height:44px}

/* Quiet, honest save feedback and Daily return cues. */
.save-status{color:var(--muted);font-size:14px;line-height:1.5;margin:10px 0 0}
.save-status[data-state="error"]{color:var(--orange);font-weight:600}
footer>.save-status{flex-basis:100%;text-align:center;margin-top:6px}
.retry-save{min-height:44px;font-size:15px;text-decoration:underline;text-underline-offset:3px}
.results-streaks{display:grid;gap:10px;padding:0;color:var(--muted);font-size:16px}
.results-streaks b{color:var(--green);font-variant-numeric:tabular-nums}
#next-daily{font-variant-numeric:tabular-nums}

/* Contact and reports use the same quiet surfaces as Settings. */
.contact-card{padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--paper);margin:18px 0 24px;line-height:1.6}
.contact-email{display:inline-block;max-width:100%;min-height:44px;padding:7px 0;font:500 20px var(--fun);color:var(--green);line-height:1.5;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}
.contact-card p{font-size:16px;margin-top:12px}
.contact-rights{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:16px;color:var(--green);margin-top:12px;text-decoration:underline;text-underline-offset:4px}
.contact-card .contact-note,.contact-note{font-size:14px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}
.contact-note a{text-decoration:underline;text-underline-offset:3px}
.report-contact-action{width:100%;font-size:16px;min-height:44px}
.report-intro{font-size:17px;line-height:1.6;margin:14px 0}
.report-context{font-size:15px;line-height:1.6;color:var(--green)}
.report-reference{font-size:14px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere;margin-top:4px}
.report-label{display:block;margin:20px 0 8px;font-size:16px;font-weight:500}
.report-notes{display:block;resize:vertical;min-height:120px;width:100%;padding:14px;font:16px/1.6 var(--sans);border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink)}
.report-notes::placeholder{color:var(--muted)}
.report-notes:focus-visible{outline:3px solid var(--green);outline-offset:2px}
.report-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 14px}
.report-actions>a,.report-actions>button{min-height:48px;font-size:16px}
#report-feedback{font-size:15px;line-height:1.6;color:var(--green);margin-top:12px}
@media(max-width:340px){
 .site-header{width:calc(100% - 16px);gap:3px}
 .site-header .brand{font-size:21px;gap:4px}
 .site-header .header-tools{gap:2px}
}

.welcome-footer .welcome-date{display:block}
.welcome-contact{display:block;margin:4px auto 0;min-height:44px;padding:8px 14px;color:var(--muted);font-size:15px;text-decoration:underline;text-underline-offset:4px}

/* Club details: a quieter Daily shelf, useful footer, and one cue-ticket language. */
.streak{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-size:14px;color:var(--green);font-variant-numeric:tabular-nums}
.streak .icon{width:16px;height:16px}
.daily-countdown:not(:empty),.daily-archive>div>span{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 16px;border:1px solid var(--line);border-radius:999px;background:var(--white);color:var(--muted);font-size:14px;line-height:1.4;font-variant-numeric:tabular-nums}
.puzzle-bottom:has(.daily-countdown:empty):has(#end-run-button[hidden]){display:none}
.site-footer{width:min(570px,calc(100% - 32px));margin:24px auto 28px;gap:0}
.footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:100%;padding:6px;border:1px solid var(--line);border-radius:18px;background:var(--white)}
.footer-links button{display:flex;align-items:center;justify-content:flex-start;gap:9px;min-width:0;min-height:48px;padding:10px 12px;border-radius:12px;color:var(--muted);font-size:14px;line-height:1.35;text-align:left;text-decoration:none}
.footer-links .icon{width:18px;height:18px;color:var(--green)}
.footer-links button:hover{color:var(--green);background:var(--paper);text-decoration:none}
.site-footer>.footer-save-status{margin:12px 0 0;font-size:14px;color:var(--muted)}
.site-footer>.footer-save-status[data-state="saved"]{display:none}
.site-footer>.footer-save-status[data-state="error"]{color:var(--orange)}
.daily-dialog{width:min(570px,calc(100% - 24px));padding:24px}
.daily-dialog .modal-top{margin-bottom:22px}
.daily-dialog #modal-title{margin-bottom:12px}
.daily-board-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:15px;line-height:1.5}
.daily-board-meta b{color:var(--green);font-weight:600}
.daily-board{display:grid;gap:24px;margin:25px 0 2px}
.daily-board-row h3{font:500 20px/1.3 var(--fun);color:var(--green);margin-bottom:10px}
.daily-board-row>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.daily-board-row button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;min-height:104px;padding:13px 10px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);text-align:left;transition:background-color .16s,border-color .16s}
.daily-board-row button strong{font-size:15px;font-weight:600;line-height:1.35}
.daily-board-row button .difficulty-bars{display:flex;align-items:flex-end;gap:3px;height:14px;margin-bottom:1px}
.difficulty-bars i{display:block;width:5px;height:5px;border-radius:2px;background:var(--line)}
.difficulty-bars i:nth-child(2){height:8px}.difficulty-bars i:nth-child(3){height:11px}.difficulty-bars i:nth-child(4){height:14px}
.difficulty-bars i.filled{background:var(--green)}
.daily-board-row button .daily-state{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:14px;line-height:1.4}
.daily-state .icon{width:15px;height:15px}
.daily-board-row button[data-state="solved"]{background:#e8eedf;border-color:#b5c4a6}
.daily-board-row button[data-state="solved"] .daily-state{color:var(--green)}
.daily-board-row button[data-state="revealed"]{background:#f0e8de;border-color:#dbcab7}
.daily-board-row button[aria-current="true"]{box-shadow:inset 0 0 0 1px var(--green)}
.daily-board-row button:hover{background:var(--white);border-color:var(--green)}
.progress-backup{margin-top:20px;border-top:1px solid var(--line);padding-top:8px}
.progress-backup>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;cursor:pointer;list-style:none;font-size:16px;font-weight:500;color:var(--ink)}
.progress-backup>summary::-webkit-details-marker{display:none}
.progress-backup>summary .icon{transition:rotate .16s}
.progress-backup[open]>summary .icon{rotate:180deg}
.progress-backup-content{padding:0 0 3px}
.progress-backup-content .save-status{display:flex;align-items:center;gap:7px;margin:3px 0 12px;color:var(--green);font-size:14px}
.progress-backup-content .save-status::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.progress-backup-content .save-status[data-state="error"]{color:var(--orange)}
.progress-backup-content .settings-note{max-width:none;margin:0;font-size:15px;line-height:1.6}
.progress-backup-content .backup-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.progress-backup-content .backup-actions button{justify-content:space-between;padding:12px 14px;min-height:48px}
.backup-details{margin-top:10px;color:var(--muted);font-size:14px;line-height:1.6}
.backup-details summary{cursor:pointer;min-height:44px;padding:10px 0;text-decoration:underline;text-underline-offset:4px}
.backup-details p{margin:0 0 10px}
#daily-hint-panel.daily-hint{position:static;inset:auto;width:100%;margin:16px 0 0;display:block;max-width:100%}
.daily-cue{--cue-pad:22px;position:relative;padding:22px var(--cue-pad);border-radius:4px;background:linear-gradient(125deg,#edf1e3,var(--white) 67%);overflow:hidden}
.daily-cue>.icon{position:absolute;top:20px;right:18px;width:28px;height:28px;color:var(--orange);stroke-width:2}
#daily-hint-content{gap:20px}
#daily-hint-content>.hint-credit:first-child{padding-right:30px;gap:12px}
#daily-hint-content>.hint-credit:first-child b{font-size:29px;line-height:1.15}
#daily-hint-content>.hint-credit+.hint-credit{padding-top:17px;border-top:1px dashed #a8b596}
#daily-hint-content>.hint-credit:not(:first-child) b{font-size:16px;line-height:1.6}
.daily-archive>div>span b{font-weight:600}
html[data-theme="dark"] .daily-board-row button{background:#2b352b;color:var(--ink);border-color:var(--line)}
html[data-theme="dark"] .daily-board-row button[data-state="solved"]{background:#34432e;border-color:#718564}
html[data-theme="dark"] .daily-board-row button[data-state="revealed"]{background:#3e3229;border-color:#73533d}
html[data-theme="dark"] .daily-board-row button:hover{background:var(--white);border-color:var(--green)}
html[data-theme="dark"] .daily-cue{background:linear-gradient(125deg,#30392d,var(--white) 67%)}
html[data-theme="dark"] #daily-hint-content>.hint-credit+.hint-credit{border-color:#5b6951}
@media(min-width:1200px){
 #daily-hint-panel.daily-hint{position:absolute;inset-inline-start:calc(50% + var(--fitted-frame-width) / 2 + 16px);top:66px;width:clamp(170px,calc((100vw - var(--fitted-frame-width)) / 2 - 40px),240px);margin:0}
 .daily-cue{--cue-pad:16px;padding-block:20px}
 #daily-hint-content>.hint-credit:first-child b{font-size:clamp(23px,1.9vw,26px)}
 .daily-cue>.icon{width:24px;height:24px;right:14px}
}
@media(max-width:480px){
 .footer-links{grid-template-columns:repeat(2,minmax(0,1fr))}
 .footer-links button{padding:10px;gap:8px}
 .daily-dialog{padding:20px}
 .daily-board-row>div{grid-template-columns:repeat(2,minmax(0,1fr))}
 .daily-board-row button{position:relative;min-height:78px;gap:5px;padding:12px}
 .daily-board-row button strong{font-size:16px}
 .daily-board-row button .difficulty-bars{position:absolute;right:12px;bottom:15px}
 .daily-board-row button strong{padding-right:0}
 #daily-hint-content>.hint-credit:first-child b{font-size:28px}
 .daily-cue{--cue-pad:20px;padding-block:20px}
}
@media(prefers-reduced-motion:reduce){.daily-board-row button,.progress-backup>summary .icon{transition:none}}
html[data-motion="off"] .daily-board-row button,html[data-motion="off"] .progress-backup>summary .icon{transition:none}

.settings-toggle input{appearance:none;position:relative;width:38px;height:24px;min-width:38px;border:1px solid var(--line);border-radius:999px;background:var(--line);transition:background-color .16s,border-color .16s}
.settings-toggle input::after{content:'';display:block;width:16px;height:16px;margin:3px;border-radius:50%;background:var(--white);transition:translate .16s}
.settings-toggle input:checked{background:var(--green);border-color:var(--green)}
.settings-toggle input:checked::after{translate:14px 0}
.settings-toggle input:focus-visible{outline:3px solid var(--green);outline-offset:4px}
html[data-theme="dark"] .settings-toggle input:checked{background:var(--orange);border-color:var(--orange)}
html[data-theme="dark"] .settings-toggle input::after{background:var(--paper)}
@media(prefers-reduced-motion:reduce){.settings-toggle input,.settings-toggle input::after{transition:none}}
html[data-motion="off"] .settings-toggle input,html[data-motion="off"] .settings-toggle input::after{transition:none}

@media(max-width:360px){.daily-board-row button .difficulty-bars{display:none}}

/* Review follow-up: preserve the frame, tighten small labels, and surface streaks. */
.attempt-count{white-space:nowrap}
.results-metrics.two:has(+.results-streaks){margin-bottom:10px}
.results-metrics.results-streaks{margin-top:10px}
.results-streaks b{font-variant-numeric:tabular-nums}
@media(min-width:761px){.site-header{width:min(770px,calc(100% - 48px))}}
@media(max-width:420px){#attempt-label .clue-kind.full-frame{display:none}}

/* Title choices float outside the game layout, so a scroll or resize cannot
   clip them or put their click target on the Skip control underneath. */
.title-picker{position:fixed;z-index:60;border:1px solid var(--line);border-radius:17px;background:var(--white);box-shadow:0 12px 35px #29351c26;overflow:hidden;isolation:isolate;max-width:calc(100vw - 24px)}
.title-picker,.title-picker *{box-sizing:border-box}
.title-picker #suggestions{position:static;top:auto;left:auto;right:auto;width:100%;margin:0;padding:6px;border:0;border-radius:0;background:transparent;box-shadow:none;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scroll-padding:6px}
.title-picker #suggestions li{min-height:46px;padding:11px 12px;font-size:16px;line-height:1.4;border-radius:11px;align-items:flex-start;user-select:none;-webkit-user-select:none}
.title-picker #suggestions li>span:last-child{font-size:14px;line-height:1.6}
.title-picker #suggestions li.selected{background:#e9eedf;color:var(--green);box-shadow:inset 3px 0 var(--green)}
.title-picker-help{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-top:1px solid var(--line);color:var(--muted);font:400 14px/1.4 var(--sans);background:var(--paper)}
@media(hover:none){.title-picker-help{display:none}}
.title-picker-help span{display:flex;align-items:center;gap:4px;white-space:nowrap}
.title-picker-help kbd{font:500 13px/1.4 var(--sans);color:var(--ink);border:1px solid var(--line);border-radius:4px;min-width:18px;padding:0 3px;text-align:center;background:var(--white)}
html[data-theme="dark"] .title-picker{box-shadow:0 12px 35px #0006}
html[data-theme="dark"] .title-picker #suggestions{background:transparent;box-shadow:none}
html[data-theme="dark"] .title-picker #suggestions li.selected{background:#443329;color:var(--orange);box-shadow:inset 3px 0 var(--orange)}
.quick-select.is-open{z-index:32}
.quick-menu{z-index:33;touch-action:pan-y;max-width:calc(100vw - 24px)}
.quick-select[data-menu-placement="above"] .quick-menu{top:auto;bottom:calc(100% + 8px)}

/* Impossible: a darker, quieter screening room. Static (no animation), so it needs no reduced-motion rule. */
#frame-game[data-difficulty="impossible"] .film-stock{--film-hole:#8c7186;background:#1d151c;border-color:#110b10;box-shadow:0 8px 26px #3d1f3a30}
html[data-theme="dark"] #frame-game[data-difficulty="impossible"] .film-stock{background:#150f14;border-color:#0b070a;--film-hole:#7c6277}
#frame-game[data-difficulty="impossible"] .movie-screen{background:#120d12}
#frame-game[data-difficulty="impossible"] .movie-screen::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  border-radius: inherit;
 box-shadow:inset 0 0 70px 6px #0009;
 background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");opacity: .12;
  mix-blend-mode: overlay;
}
#frame-game[data-difficulty="impossible"] .movie-screen.speed-active::after { z-index: 2; }
#frame-game[data-difficulty="impossible"] .expand-button,#frame-game[data-difficulty="impossible"] .timestamp{z-index:3}
