@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap";:root{color-scheme:light;--bg: #fafafa;--surface: #ffffff;--surface-2: #f4f4f4;--surface-3: #f7f7f7;--text: #141414;--text-secondary: #2a2a2a;--text-body: #333333;--muted: #6b6b6b;--faint: #9a9a9a;--label: #8a8a8a;--line: #ececec;--fill: #141414;--fill-text: #ffffff;--overlay: rgba(15, 15, 15, .4);--overlay-soft: rgba(20, 20, 20, .35);--poster-bg: #e8e8e8;--poster-gradient: linear-gradient(160deg, #f2f2f2, #e4e4e4);--avatar-bg: #ebebeb;--icon-faint: #b0b0b0;--handle: #dddddd;--glass: rgba(255, 255, 255, .55);--glass-hover: rgba(255, 255, 255, .82);--glass-border: rgba(20, 20, 20, .08);--link-underline: rgba(20, 20, 20, .25);--shadow: 0 12px 40px rgba(0, 0, 0, .08);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-card: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--shadow-card-hover: 0 8px 24px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .06);--shadow-sheet: 0 -8px 40px rgba(0, 0, 0, .12);--error: #b42318;--warn-bg: #fff8e8;--warn-text: #8a6d1d;--radius: 16px;--font: "DM Sans", system-ui, -apple-system, sans-serif}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg: #121212;--surface: #1c1c1c;--surface-2: #2a2a2a;--surface-3: #242424;--text: #f2f2f2;--text-secondary: #e0e0e0;--text-body: #d4d4d4;--muted: #a0a0a0;--faint: #7a7a7a;--label: #8a8a8a;--line: #2e2e2e;--fill: #f2f2f2;--fill-text: #141414;--overlay: rgba(0, 0, 0, .55);--overlay-soft: rgba(0, 0, 0, .5);--poster-bg: #2a2a2a;--poster-gradient: linear-gradient(160deg, #2a2a2a, #1a1a1a);--avatar-bg: #333333;--icon-faint: #6a6a6a;--handle: #444444;--glass: rgba(40, 40, 40, .65);--glass-hover: rgba(55, 55, 55, .85);--glass-border: rgba(255, 255, 255, .1);--link-underline: rgba(242, 242, 242, .3);--shadow: 0 12px 40px rgba(0, 0, 0, .45);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .25);--shadow-card: 0 1px 3px rgba(0, 0, 0, .35), 0 1px 2px rgba(0, 0, 0, .2);--shadow-card-hover: 0 8px 24px rgba(0, 0, 0, .45), 0 2px 6px rgba(0, 0, 0, .3);--shadow-sheet: 0 -8px 40px rgba(0, 0, 0, .45);--error: #f97066;--warn-bg: #3d3218;--warn-text: #e8c96a}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{min-height:100vh;font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.45;-webkit-font-smoothing:antialiased}.page{max-width:1280px;margin:0 auto;padding:0 clamp(1rem,3vw,2rem) 3rem}.page>.status{margin-top:1.25rem}.page-header{--page-pad: clamp(1rem, 3vw, 2rem);position:sticky;top:0;z-index:50;display:flex;flex-direction:column;gap:.55rem;width:100vw;max-width:100vw;margin:0 calc(50% - 50vw) .85rem;padding:max(.75rem,env(safe-area-inset-top,0px)) max(var(--page-pad),calc((100vw - 1280px) / 2 + var(--page-pad))) .75rem;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border:none;box-shadow:none}.header-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.header-left{min-width:0}.site-title{margin:0;font-size:.95rem;font-weight:700;letter-spacing:-.01em;color:var(--text);display:inline-flex;align-items:baseline;gap:.45rem}.site-count{font-weight:600;font-size:.85rem;color:var(--muted);font-variant-numeric:tabular-nums}.filter-summary{margin:.15rem 0 0;font-size:.8rem;color:var(--muted)}.menu-trigger{flex-shrink:0;border:1px solid var(--glass-border);background:var(--glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--text);border-radius:999px;padding:.55rem .9rem;font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;box-shadow:var(--shadow-sm)}.menu-trigger:hover{background:var(--glass-hover)}.menu-badge{min-width:1.15rem;height:1.15rem;padding:0 .3rem;border-radius:999px;background:var(--fill);color:var(--fill-text);font-size:.72rem;font-weight:700;display:inline-grid;place-items:center;font-variant-numeric:tabular-nums}.active-filters{display:flex;flex-wrap:wrap;gap:.45rem;margin:0;align-items:center}.filter-chip{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;padding:.35rem .55rem .35rem .7rem;font:inherit;font-size:.82rem;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem}.filter-chip:hover{background:var(--surface-2)}.filter-chip-x{color:var(--muted);font-size:1rem;line-height:1}.filter-clear{border:none;background:transparent;color:var(--muted);font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;padding:.35rem .4rem}.filter-clear:hover{color:var(--text)}.sheet-root{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;justify-content:flex-end}.sheet-backdrop{position:absolute;inset:0;border:none;background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer}.sheet-panel{position:relative;z-index:1;background:var(--surface);border-radius:18px 18px 0 0;max-height:min(88vh,760px);display:flex;flex-direction:column;box-shadow:var(--shadow-sheet);padding-bottom:env(safe-area-inset-bottom,0)}@media(min-width:720px){.sheet-root{justify-content:center;align-items:center;padding:1.25rem}.sheet-panel{width:min(440px,100%);border-radius:18px;max-height:min(80vh,680px)}}.sheet-handle{width:36px;height:4px;border-radius:999px;background:var(--handle);margin:.55rem auto 0}.sheet-top{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem .5rem 1.15rem}.sheet-top h2{margin:0;font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.sheet-close{border:none;background:transparent;color:var(--muted);font-size:1.6rem;line-height:1;cursor:pointer;padding:.2rem .35rem}.sheet-scroll{overflow:auto;padding:.25rem 1.15rem 1rem;-webkit-overflow-scrolling:touch}.sheet-section{margin-top:1.15rem}.sheet-section h3{margin:0 0 .65rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--label)}.sheet-section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.sheet-section-head h3{margin:0}.text-btn{border:none;background:transparent;color:var(--muted);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;padding:0}.text-btn:hover{color:var(--text)}.option-list{border:1px solid var(--line);border-radius:14px;overflow:hidden}.option-row{width:100%;border:none;border-bottom:1px solid var(--line);background:var(--surface);color:var(--text);text-align:left;padding:.85rem .95rem;font:inherit;font-size:.95rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:.75rem}.option-row:last-child{border-bottom:none}.option-row.is-active{background:var(--surface-3);font-weight:600}.option-check{color:var(--text);font-weight:700}.dir-toggle{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.dir-btn{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:.75rem .5rem;font:inherit;font-size:.88rem;font-weight:500;cursor:pointer;color:var(--text)}.dir-btn.is-active{border-color:var(--fill);background:var(--fill);color:var(--fill-text)}.dir-btn:disabled{opacity:.35;cursor:not-allowed}.genre-grid{display:flex;flex-wrap:wrap;gap:.45rem}.genre-pill{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;padding:.45rem .75rem;font:inherit;font-size:.85rem;cursor:pointer}.genre-pill.is-active{background:var(--fill);border-color:var(--fill);color:var(--fill-text);font-weight:600}.sheet-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:.55rem;padding:.75rem 1.15rem 1rem;border-top:1px solid var(--line);background:var(--surface)}.btn-primary,.btn-secondary{border-radius:12px;padding:.85rem .75rem;font:inherit;font-size:.92rem;font-weight:650;cursor:pointer;border:1px solid transparent}.btn-primary{background:var(--fill);color:var(--fill-text)}.btn-secondary{background:var(--surface);border-color:var(--line);color:var(--text)}.status{margin:4rem auto;text-align:center;color:var(--muted);font-size:1rem}.status.error{color:var(--error)}.status.warn{margin:0 0 1.25rem;padding:.65rem .9rem;border-radius:10px;background:var(--warn-bg);color:var(--warn-text);font-size:.9rem}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem .9rem}@media(min-width:560px){.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.75rem 1.25rem}}@media(min-width:860px){.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem 1.5rem}}@media(min-width:1100px){.grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.card{background:transparent;border:none;padding:0;cursor:pointer;text-align:left;color:inherit;font:inherit;text-decoration:none;display:block}.card:focus-visible{outline:2px solid var(--text);outline-offset:4px;border-radius:8px}.poster{aspect-ratio:2 / 3;border-radius:0;overflow:hidden;background:var(--poster-bg);box-shadow:var(--shadow-card);transition:transform .18s ease,box-shadow .18s ease}.card:hover .poster,.card:focus-visible .poster{transform:translateY(-3px);box-shadow:var(--shadow-card-hover)}.poster img{width:100%;height:100%;object-fit:cover;display:block}.poster-fallback{width:100%;height:100%;display:grid;place-items:center;font-size:2rem;font-weight:600;color:var(--faint);background:var(--poster-gradient)}.meta{padding:.7rem .15rem 0}.title{margin:0;font-size:clamp(.9rem,2.4vw,1rem);font-weight:600;letter-spacing:-.01em;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.title-english{margin:.15rem 0 0;color:var(--faint);font-size:clamp(.9rem,2.4vw,1rem);font-weight:400;letter-spacing:-.01em;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.year{margin:.2rem 0 0;color:var(--label);font-size:.8rem;font-weight:600;line-height:1.35;font-variant-numeric:tabular-nums}.card-genres{margin:.18rem 0 0;color:var(--faint);font-size:.75rem;line-height:1.35;font-weight:400;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.director,.origin{margin:.18rem 0 0;display:flex;align-items:flex-start;gap:.4rem;min-width:0;line-height:1.35;font-weight:400}.director{color:var(--muted);font-size:.85rem}.origin{color:var(--faint);font-size:.75rem}.director-avatar,.origin-icon{flex:0 0 14px;width:14px;height:1.35em;display:grid;place-items:center;margin:0;padding:0}.director-avatar{width:14px;height:14px;align-self:flex-start;margin-top:calc((1.35em - 14px)/2);border-radius:50%;object-fit:cover;object-position:center 20%;filter:grayscale(1);background:var(--poster-bg)}.director-avatar-fallback{font-size:.55rem;font-weight:700;color:var(--faint);background:var(--avatar-bg);filter:none;border-radius:50%;place-items:center;display:grid}.origin-icon{color:var(--icon-faint)}.origin-icon svg{display:block;width:12px;height:12px}.director>span:last-child,.origin>span:last-child{min-width:0;flex:1;padding-top:0}.director>span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.origin>span:last-child{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.overlay{position:fixed;inset:0;z-index:50;background:var(--overlay-soft);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:end center;padding:0}@media(min-width:640px){.overlay{place-items:center;padding:1.5rem}}.sheet{position:relative;width:min(720px,100%);max-height:min(90vh,900px);overflow:auto;background:var(--surface);border-radius:20px 20px 0 0;box-shadow:var(--shadow);padding:1.25rem}@media(min-width:640px){.sheet{border-radius:20px;padding:1.5rem}}.close{position:absolute;top:.55rem;right:.7rem;border:none;background:transparent;color:var(--muted);font-size:1.7rem;line-height:1;cursor:pointer;padding:.25rem .4rem}.sheet-body{display:grid;gap:1.1rem}@media(min-width:560px){.sheet-body{grid-template-columns:160px 1fr;gap:1.4rem;align-items:start}}.sheet-poster img,.sheet-poster .poster-fallback{width:100%;max-width:180px;margin:0 auto;border-radius:0;aspect-ratio:2 / 3;object-fit:cover;display:block}.sheet-copy h2{margin:0 1.5rem .4rem 0;font-size:1.4rem;letter-spacing:-.02em;font-weight:650}.sheet-line{margin:0;color:var(--muted);font-size:.95rem}.overview{margin:.9rem 0 0;color:var(--text-body);font-size:.95rem;line-height:1.55;white-space:pre-wrap}.detail-page{max-width:none;padding:0 0 4rem;position:relative}.detail-hero{position:absolute;inset:0 0 auto;height:min(42vh,360px);background-size:cover;background-position:center top;opacity:.22;-webkit-mask-image:linear-gradient(to bottom,#000 35%,transparent 100%);mask-image:linear-gradient(to bottom,#000 35%,transparent 100%);pointer-events:none}.detail-wrap{position:relative;max-width:1100px;margin:0 auto;padding:1.25rem clamp(1rem,3vw,2rem) 0}.back-link{display:inline-block;margin-bottom:1.25rem;color:var(--muted);text-decoration:none;font-size:.95rem;font-weight:500}.back-link:hover{color:var(--text)}.detail-layout{display:grid;gap:1.5rem}@media(min-width:720px){.detail-layout{grid-template-columns:minmax(180px,260px) 1fr;gap:2.5rem;align-items:start}}.detail-poster img,.detail-poster .poster-fallback{width:100%;max-width:280px;margin:0 auto;display:block;aspect-ratio:2 / 3;object-fit:cover;background:var(--poster-bg);box-shadow:var(--shadow-card)}.detail-title{margin:0;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:650;letter-spacing:-.03em;line-height:1.15}.detail-title-english{margin:.35rem 0 0;color:var(--muted);font-size:clamp(1.6rem,4vw,2.4rem);font-weight:400;letter-spacing:-.03em;line-height:1.15}.detail-facts{margin:.55rem 0 0;color:var(--muted);font-size:1rem;font-variant-numeric:tabular-nums}.detail-overview{margin:1.25rem 0 0;max-width:42rem;color:var(--text-secondary);font-size:1.05rem;line-height:1.65;white-space:pre-wrap}.detail-facts-secondary{margin-top:.75rem;color:var(--muted);font-size:.9rem}.detail-facts-secondary p{margin:.25rem 0 0}.detail-facts-secondary p:first-child{margin-top:0}.detail-external{margin:.85rem 0 0}.imdb-link{display:inline-flex;align-items:center;font-size:.88rem;font-weight:650;letter-spacing:.02em;color:var(--text);text-decoration:none;border-bottom:1px solid var(--link-underline);padding-bottom:.05rem}.imdb-link:hover{border-bottom-color:var(--text)}.detail-meta-grid{margin-top:2rem;display:grid;gap:1.5rem}@media(min-width:640px){.detail-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem 2rem}}.detail-block h3{margin:0 0 .45rem;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--label)}.detail-block-body p{margin:0;font-size:1rem}.plain-list{margin:0;padding:0;list-style:none;display:grid;gap:.25rem;font-size:.98rem;color:var(--text-secondary)}.chip-list{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.4rem}.chip-list li{padding:0;border-radius:999px;background:var(--surface-2);color:var(--text-body);font-size:.88rem;overflow:hidden}.chip-list a{display:block;padding:.28rem .65rem;color:inherit;text-decoration:none}.chip-list a:hover{background:var(--poster-bg)}.detail-section{margin-top:2.5rem}.detail-section-title{margin:0 0 1rem;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--label)}.person-grid{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1.15rem .9rem}@media(min-width:640px){.person-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:1.4rem 1.1rem}}.person-card{text-align:center}.person-photo{aspect-ratio:1;width:100%;max-width:120px;overflow:hidden;background:var(--poster-bg);margin:0 auto;border-radius:50%}.person-photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block}.person-fallback{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;font-size:1.4rem;font-weight:600;color:var(--faint);background:var(--poster-gradient)}.person-name{margin:.45rem 0 0;font-size:.82rem;font-weight:600;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.person-role{margin:.15rem 0 0;font-size:.75rem;color:var(--muted);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
