@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:#f4ead8;background:#14110d;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;--bg: #14110d;--cream: #f4ead8;--muted: #a39683;--seat: #2c2418;--seat-deep: #231c12;--seat-line: rgba(163, 150, 131, .45);--orange: #e8832a;--line: rgba(163, 150, 131, .28);--danger: #e0715a}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg)}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}.app-shell{max-width:640px;margin:0 auto;padding:22px 16px 52px}.site-header{padding-bottom:14px;border-bottom:1px solid var(--line)}.brand-kicker,.eyebrow{display:block;color:var(--orange);font-size:10px;font-weight:800;letter-spacing:.13em}.site-lead{margin:6px 0 0;color:var(--muted);font-size:13px}.controls{display:grid;gap:14px;margin-top:18px}.control-group{display:grid;gap:7px}.control-label{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em}.segmented{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--seat-line);border-radius:10px;overflow:hidden}.segmented button{padding:11px 0;border:0;border-right:1px solid var(--seat-line);background:transparent;color:var(--muted);font-weight:700}.segmented button:last-child{border-right:0}.segmented button.is-active{background:var(--orange);color:#1b140b}.name-input{width:100%;padding:11px 12px;border:1px solid var(--seat-line);border-radius:10px;background:var(--seat-deep);color:var(--cream);font-size:16px;outline:0}.name-input:focus{border-color:var(--orange)}.name-input::placeholder{color:#7d7262}.how-to{margin:18px 0 10px;color:var(--muted);font-size:12px}.seatmap-card{padding:28px 18px 22px;border:1px solid var(--line);border-radius:14px;background:var(--bg)}.card-title{margin:0;text-align:center;font-size:clamp(30px,8vw,44px);font-weight:700;letter-spacing:.02em;line-height:1.2}.card-subtitle{margin:8px 0 18px;text-align:center;color:var(--muted);font-size:clamp(13px,3.4vw,17px)}.screen-bar{padding:12px 0;border:2px solid var(--orange);border-radius:12px;background:#3a2f20;text-align:center;font-size:17px;font-weight:800;letter-spacing:.5em;text-indent:.5em}.screen-caption{margin:10px 0 16px;text-align:center;color:var(--muted);font-size:11px}.screen-caption:before,.screen-caption:after{content:"";display:inline-block;width:22px;height:1px;margin:0 8px;background:var(--muted);vertical-align:middle}.seat-rows{display:grid;gap:7px}.seat-row{display:grid;grid-template-columns:18px 1fr;align-items:center;gap:4px}.row-letter{color:var(--muted);font-size:15px;font-weight:800;text-align:center}.seat-row-seats{display:grid;gap:5px}.seat{display:flex;flex-direction:column;gap:3px;min-width:0;padding:4px;border:1px solid var(--seat-line);border-radius:8px;background:var(--seat);color:var(--cream);text-align:left;transition:transform .12s ease,border-color .12s ease}.seat:hover{transform:translateY(-1px);border-color:var(--orange)}.seat:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.seat.is-star{border:2px solid var(--orange);padding:3px}.seat-head{display:flex;align-items:center;justify-content:space-between;min-height:12px;padding:0 1px}.seat-label{color:var(--muted);font-size:9px;font-weight:800}.seat.is-star .seat-label,.seat-star{color:var(--orange)}.seat-star{font-size:11px;line-height:1}.seat-poster{display:block;aspect-ratio:2 / 3;overflow:hidden;border-radius:3px;background:#4a3f2e}.seat-poster img{display:block;width:100%;height:100%;object-fit:cover}.seat-poster.is-empty{display:grid;place-items:center;background:#3d3426}.seat-poster.is-empty svg{width:52%;fill:#8d805f;opacity:.85}.seat-title{display:block;height:2.5em;overflow:hidden;padding:0 1px;font-size:9px;font-weight:700;line-height:1.25;word-break:break-all}.size-20 .seat-title{font-size:10px}.size-12 .seat-title{height:2.6em;font-size:12px}.size-12 .seat-label{font-size:11px}.size-12 .seat-star{font-size:14px}.size-30 .seat-title{height:3.75em;font-size:8.5px}.seat-poster .poster-placeholder{font-size:6px;letter-spacing:0;line-height:1.2}.card-total{margin:20px 0 6px;text-align:center;font-size:15px}.card-hint{margin:0;text-align:center;color:var(--muted);font-size:10px;line-height:1.7}.card-credit{margin:12px 0 0;text-align:center;color:#6f6556;font-size:7px}.seatmap-card.is-capturing .seat{transition:none;transform:none}.result-actions{display:grid;gap:9px;margin-top:24px}.primary-button,.secondary-button,.text-button{border:0;transition:transform .15s ease,background .15s ease}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled),.text-button:hover{transform:translateY(-1px)}.primary-button{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:16px 18px;border-radius:10px;background:var(--orange);color:#1b140b;font-weight:800}.primary-button:disabled{background:#4a4234;color:#8b806e}.primary-button span,.secondary-button span{font-size:20px;font-weight:400}.secondary-button{padding:13px 15px;border:1px solid var(--seat-line);border-radius:10px;background:transparent;color:var(--cream);font-weight:700}.secondary-button:disabled{opacity:.4}.text-button{padding:12px 0;background:transparent;color:var(--muted);text-decoration:underline;text-underline-offset:4px}.text-button.danger{color:var(--danger)}.result-actions>.primary-button,.result-actions>.secondary-button{height:56px}.result-actions .text-button{justify-self:center}.sheet-backdrop{position:fixed;inset:0;z-index:90;display:flex;align-items:flex-end;justify-content:center;background:#000000b3}.sheet{width:100%;max-width:560px;max-height:88vh;overflow-y:auto;padding:18px 16px 22px;border:1px solid var(--seat-line);border-bottom:0;border-radius:16px 16px 0 0;background:#1d1810}.sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.sheet-head h2{margin:4px 0 0;font-size:18px;line-height:1.4}.sheet-close{flex:none;width:34px;height:34px;border:1px solid var(--seat-line);border-radius:50%;background:transparent;color:var(--cream);font-size:18px}.search-box{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--orange);padding:5px 0 10px}.search-icon{color:var(--orange);font-size:26px;line-height:1;transform:rotate(-15deg)}.search-box input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--cream);font-size:18px}.search-box input::placeholder{color:#7d7262}.spinner{width:15px;height:15px;border:2px solid #4a4234;border-top-color:var(--orange);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-search{margin:12px 0 0;color:var(--muted);font-size:12px}.empty-search p{margin:0 0 6px;line-height:1.7}.empty-search strong{color:var(--cream)}.search-results{display:grid;gap:1px;margin-top:12px;background:var(--line)}.movie-result{display:flex;align-items:center;gap:12px;width:100%;border:0;padding:8px;background:#1d1810;color:var(--cream);text-align:left}.movie-result:hover:not(:disabled){background:#2a2216}.movie-result:disabled{opacity:.5}.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{color:var(--muted);font-size:11px}.add-mark{color:var(--orange);font-size:22px;font-weight:300}.movie-result.is-selected .add-mark{font-size:11px;font-weight:700}.sheet-actions{display:grid;gap:4px;margin-top:16px}.sheet-actions .text-button{justify-self:center}.poster-image,.poster-placeholder{display:block;overflow:hidden;background:#4a3f2e;object-fit:cover}.poster-placeholder{display:grid;place-items:center;width:100%;height:100%;color:#9c9386;font-size:8px;font-weight:800;letter-spacing:.08em;text-align:center}.status-card,.alert{margin-top:14px;padding:12px 14px;border-radius:8px;font-size:12px;line-height:1.5}.status-card,.alert.notice{background:#2a2216;color:var(--muted)}.alert.error{background:#3d1f19;color:#f0a594}.site-footer{margin-top:48px;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(--cream);font-size:16px;font-weight:700}.site-footer p{margin:4px 0}.site-footer a{display:inline-block;margin:7px 0;color:#7fb4e6}.site-footer .footer-link{padding:4px 0;font-size:12px}.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:#7d7262}.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:600px;padding:0}.capture-wrapper .seatmap-card{width:600px;border:0;border-radius:0;padding:40px 36px 32px}.capture-wrapper .card-credit{font-size:9px}@media(min-width:640px){.result-actions{grid-template-columns:1fr 1fr 1fr;align-items:end}.result-actions .text-button{grid-column:1 / -1}.sheet-backdrop{align-items:center}.sheet{border-bottom:1px solid var(--seat-line);border-radius:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.intro-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;padding:16px;background:#000000bf;overflow-y:auto}.intro-modal{width:100%;max-width:440px;margin:auto;padding:24px 20px 20px;border:1px solid var(--seat-line);border-radius:14px;background:#1d1810}.intro-modal h2{margin:6px 0 16px;font-size:22px;line-height:1.3}.intro-points{display:grid;gap:14px;margin:0 0 22px;padding:0;list-style:none;counter-reset:intro}.intro-points li{position:relative;display:grid;gap:4px;padding-left:34px;counter-increment:intro}.intro-points li:before{content:counter(intro);position:absolute;left:0;top:1px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--orange);color:#1b140b;font-size:12px;font-weight:800}.intro-points strong{font-size:14px;line-height:1.5}.intro-points span{color:var(--muted);font-size:12px;line-height:1.7}@media(min-width:560px){.intro-backdrop{align-items:center}}
