@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;--text: #141414;--muted: #6b6b6b;--line: #ececec;--shadow: 0 12px 40px rgba(0, 0, 0, .08);--radius: 16px;--font: "DM Sans", system-ui, -apple-system, sans-serif}*{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:1.25rem clamp(1rem,3vw,2rem) 3rem}.page-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.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(--line);background:var(--surface);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}.menu-trigger:hover{background:#f5f5f5}.menu-badge{min-width:1.15rem;height:1.15rem;padding:0 .3rem;border-radius:999px;background:#141414;color:#fff;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 0 1rem;align-items:center}.filter-chip{border:1px solid var(--line);background:#fff;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:#f4f4f4}.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:#0f0f0f66;-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:0 -8px 40px #0000001f;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:#ddd;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:#8a8a8a}.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:#fff;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:#f7f7f7;font-weight:600}.option-check{color:#141414;font-weight:700}.dir-toggle{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.dir-btn{border:1px solid var(--line);background:#fff;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:#141414;background:#141414;color:#fff}.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:#fff;color:var(--text);border-radius:999px;padding:.45rem .75rem;font:inherit;font-size:.85rem;cursor:pointer}.genre-pill.is-active{background:#141414;border-color:#141414;color:#fff;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:#fff}.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:#141414;color:#fff}.btn-secondary{background:#fff;border-color:var(--line);color:var(--text)}.status{margin:4rem auto;text-align:center;color:var(--muted);font-size:1rem}.status.error{color:#b42318}.status.warn{margin:0 0 1.25rem;padding:.65rem .9rem;border-radius:10px;background:#fff8e8;color:#8a6d1d;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 #111;outline-offset:4px;border-radius:8px}.poster{aspect-ratio:2 / 3;border-radius:0;overflow:hidden;background:#e8e8e8;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a;transition:transform .18s ease,box-shadow .18s ease}.card:hover .poster,.card:focus-visible .poster{transform:translateY(-3px);box-shadow:0 8px 24px #0000001a,0 2px 6px #0000000f}.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:#9a9a9a;background:linear-gradient(160deg,#f2f2f2,#e4e4e4)}.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}.year{margin:.2rem 0 0;color:#8a8a8a;font-size:.8rem;line-height:1.35;font-variant-numeric:tabular-nums}.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:#9a9a9a;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:#e8e8e8}.director-avatar-fallback{font-size:.55rem;font-weight:700;color:#9a9a9a;background:#ebebeb;filter:none;border-radius:50%;place-items:center;display:grid}.origin-icon{color:#b0b0b0}.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:#14141459;-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:#333;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:#e8e8e8;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a}.detail-title{margin:0;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:650;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:#2a2a2a;font-size:1.05rem;line-height:1.65;white-space:pre-wrap}.detail-external{margin:.85rem 0 0}.imdb-link{display:inline-flex;align-items:center;font-size:.88rem;font-weight:650;letter-spacing:.02em;color:#141414;text-decoration:none;border-bottom:1px solid rgba(20,20,20,.25);padding-bottom:.05rem}.imdb-link:hover{border-bottom-color:#141414}.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:#8a8a8a}.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:#2a2a2a}.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:#f0f0f0;color:#333;font-size:.88rem;overflow:hidden}.chip-list a{display:block;padding:.28rem .65rem;color:inherit;text-decoration:none}.chip-list a:hover{background:#e8e8e8}.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:#8a8a8a}.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:#e8e8e8;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:#9a9a9a;background:linear-gradient(160deg,#f2f2f2,#e4e4e4)}.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}
