@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/noto-sans-jp-japanese-400-normal.woff2) format("woff2");unicode-range:U+3000-30FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FF00-FFEF,U+20000-2FA1F}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/noto-sans-jp-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-024F,U+1E00-1EFF,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-21FF,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/noto-sans-jp-japanese-700-normal.woff2) format("woff2");unicode-range:U+3000-30FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FF00-FFEF,U+20000-2FA1F}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/noto-sans-jp-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-024F,U+1E00-1EFF,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-21FF,U+FEFF,U+FFFD}@font-face{font-family:"Noto Serif JP";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/noto-serif-jp-japanese-400-normal.woff2) format("woff2");unicode-range:U+3000-30FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FF00-FFEF,U+20000-2FA1F}@font-face{font-family:"Noto Serif JP";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/noto-serif-jp-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-024F,U+1E00-1EFF,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-21FF,U+FEFF,U+FFFD}:root{color:#23211e;background:#f4efe5;font-family:Noto Sans JP,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #23211e;--muted: #756e64;--paper: #f4efe5;--paper-deep: #e7dfd1;--red: #d74c35;--blue: #2769a8;--line: rgba(35, 33, 30, .16)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--paper)}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}.app-shell{max-width:760px;margin:0 auto;padding:22px 18px 52px}.site-header{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--ink);padding-bottom:17px}.brand-lockup h1{margin:3px 0 0;font-family:"Noto Serif JP",Georgia,Times New Roman,serif;font-size:20px;letter-spacing:-.04em}.brand-kicker,.eyebrow,.result-overline{display:block;color:var(--red);font-size:10px;font-weight:800;letter-spacing:.13em}.header-mark{display:block;width:42px;height:42px;flex:none}.hero-copy{padding:62px 0 45px}.hero-copy h2,.result-intro h2{margin:10px 0 18px;font-family:"Noto Serif JP",Georgia,Times New Roman,serif;font-size:clamp(42px,10vw,76px);font-weight:400;letter-spacing:-.075em;line-height:.96}.hero-copy h2 em{color:var(--red);font-style:normal}.hero-copy p:not(.eyebrow),.result-intro p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.8}.result-intro{padding:51px 0 25px}.result-intro h2{font-size:clamp(36px,8vw,60px);margin-bottom:12px}.search-panel,.selection-panel{border-top:1px solid var(--ink);padding:22px 0 30px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.section-heading h2{margin:4px 0 0;font-family:"Noto Serif JP",Georgia,serif;font-size:28px;letter-spacing:-.05em}.count-badge{flex:none;padding:9px 13px;border-radius:999px;background:var(--ink);color:var(--paper);font-size:14px}.muted-label{padding-top:14px;color:var(--muted);font-size:11px}.search-box{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--ink);padding:5px 0 10px}.search-icon{color:var(--red);font-family:Georgia,serif;font-size:28px;line-height:1;transform:rotate(-15deg)}.search-box input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--ink);font-size:18px}.search-box input::placeholder{color:#a49b8e}.spinner{width:15px;height:15px;border:2px solid var(--paper-deep);border-top-color:var(--red);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.helper-text,.empty-search{margin:11px 0 0;color:var(--muted);font-size:12px}.search-results{display:grid;gap:1px;margin-top:13px;background:var(--line)}.movie-result{display:flex;align-items:center;gap:12px;width:100%;border:0;padding:8px;background:var(--paper);color:var(--ink);text-align:left}.movie-result:hover:not(:disabled){background:#eae2d4}.movie-result:disabled{opacity:.52}.movie-result .poster-image,.movie-result .poster-placeholder{width:38px;height:54px}.movie-result-copy{display:grid;min-width:0;gap:4px;flex:1}.movie-result-copy b{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.movie-result-copy small,.selected-copy small{color:var(--muted);font-size:11px}.add-mark{color:var(--red);font-size:25px;font-weight:300}.empty-selection{display:grid;place-items:center;min-height:150px;border:1px dashed var(--line);color:var(--muted);text-align:center}.empty-selection p{margin:10px 0 0;font-size:13px}.empty-reel{color:var(--red);font-size:32px}.selected-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}.selected-item{display:flex;align-items:center;gap:9px;min-width:0;padding:7px 0;border-bottom:1px solid var(--line)}.selected-number{width:22px;color:var(--red);font-family:Georgia,serif;font-size:13px}.selected-item .poster-image,.selected-item .poster-placeholder{width:38px;height:54px}.selected-copy{display:grid;min-width:0;flex:1;gap:4px}.selected-copy b{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.item-actions{display:flex;gap:2px}.item-actions button{width:28px;height:28px;padding:0;border:1px solid var(--line);background:transparent;color:var(--ink)}.item-actions button:disabled{opacity:.2}.item-actions .remove-button{border-color:transparent;color:var(--red);font-size:20px}.item-actions .remove-button.is-confirming{width:42px;border-color:var(--red);background:var(--red);color:#fff;font-size:11px;font-weight:700}.primary-button,.secondary-button,.text-button{border:0;transition:transform .15s ease,background .15s ease}.primary-button:hover:not(:disabled),.secondary-button:hover,.text-button:hover{transform:translateY(-1px)}.primary-button{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;margin-top:24px;padding:16px 18px;background:var(--red);color:#fff;font-weight:800}.primary-button:disabled{background:#bdb4a8;color:#f4efe5}.primary-button span,.secondary-button span{font-size:20px;font-weight:400}.secondary-button{padding:13px 15px;border:1px solid var(--ink);background:transparent;color:var(--ink);font-weight:700}.text-button{padding:12px 0;background:transparent;color:var(--muted);text-decoration:underline;text-underline-offset:4px}.result-card{overflow:hidden;border:1px solid var(--ink);background:#f7f1e7;box-shadow:9px 9px 0 var(--ink)}.result-card-header{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;padding:25px 20px 18px;background:#f0e6d7}.result-card-header h2{margin:7px 0 0;font-family:"Noto Serif JP",Georgia,serif;font-size:clamp(23px,6vw,42px);font-weight:400;letter-spacing:-.06em;line-height:.98}.result-card-header h2 span{color:var(--red)}.score-block{flex:none;color:var(--red);text-align:right}.score-block strong{display:block;font-family:Georgia,serif;font-size:clamp(50px,13vw,100px);font-weight:400;letter-spacing:-.1em;line-height:.8}.score-block span{display:block;margin-top:10px;color:var(--ink);font-size:11px;font-weight:800}.score-explanation{padding:12px 20px;border-bottom:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1.5}.score-explanation.is-unrated{color:var(--red)}.poster-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;padding:1px;background:var(--ink)}.poster-tile{min-width:0;background:#f7f1e7}.poster-tile .poster-image,.poster-tile .poster-placeholder{width:100%;aspect-ratio:2 / 3}.poster-tile-meta{display:grid;gap:4px;min-height:62px;padding:7px 6px 8px}.poster-tile-meta span{color:var(--red);font-family:Georgia,serif;font-size:10px}.poster-tile-meta b{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.poster-tile-meta strong{font-size:12px}.result-card-footer{display:flex;align-items:flex-end;gap:8px;padding:12px 15px;color:var(--muted);font-size:8px;line-height:1.4}.mini-mark{padding:2px 4px;background:#01b4e4;color:#fff;font-size:8px;font-weight:900;letter-spacing:-.05em}.result-actions{display:grid;gap:9px;margin-top:28px}.result-actions>.primary-button,.result-actions>.secondary-button{height:56px}.result-actions .text-button{justify-self:center}.poster-image,.poster-placeholder{display:block;overflow:hidden;background:var(--paper-deep);object-fit:cover}.poster-placeholder{display:grid;place-items:center;color:#9c9386;font-size:8px;font-weight:800;letter-spacing:.08em;text-align:center}.status-card,.alert{margin-top:18px;padding:12px 14px;font-size:12px;line-height:1.5}.status-card,.alert.notice{background:#e9e2d5;color:var(--muted)}.alert.error{background:#f5dcd5;color:#9d2f20}.site-footer{margin-top:55px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;line-height:1.7}.footer-title{margin:0 0 5px;color:var(--ink);font-family:"Noto Serif JP",Georgia,serif;font-size:18px}.site-footer p{margin:4px 0}.site-footer a{display:inline-block;margin:7px 0;color:var(--blue)}.tmdb-credit-row{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px}.tmdb-credit-row a{margin:0}.tmdb-logo-link{flex:none;line-height:0}.tmdb-logo{display:block;width:70px;height:auto}.footer-disclaimer{color:#9b9388}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.capture-wrapper{position:fixed;top:0;left:-10000px;z-index:-1;width:760px;padding:0}.capture-wrapper .result-card{width:760px;box-shadow:none}.capture-wrapper .poster-tile-meta b{display:block;overflow:hidden;text-overflow:clip;white-space:nowrap}@media(min-width:640px){.app-shell{padding-left:30px;padding-right:30px}.result-actions{grid-template-columns:1fr 1fr 1fr;align-items:end}.result-actions .text-button{grid-column:1 / -1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
