@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400..600&family=Archivo:wght@400;500;700&family=Spline+Sans+Mono:wght@400;600&display=swap";:root{--bg: #f5f0e4;--surface: #fdfaf2;--ink: #1a1712;--muted: #6e6659;--line: #d8cfbc;--accent: #c22a1c;--gold: #8a6d2f;--ok: #2e7d4f;--tint-france: #a8452e;--tint-japan: #7d5a8a;--tint-scifi: #2f6f8a;--grain-opacity: .05;--radius: 2px;--shadow-poster: 0 1px 2px rgba(0, 0, 0, .25);--ease: cubic-bezier(.2, 0, 0, 1);--dur-micro: .16s;--dur-drawer: .28s;--dur-veil: .2s;--dur-fade: .3s;--dur-score: .24s;--font-display: "Fraunces", Georgia, serif;--font-text: "Archivo", system-ui, sans-serif;--font-mono: "Spline Sans Mono", ui-monospace, "SFMono-Regular", monospace}[data-theme=dark]{--bg: #0e0d0b;--surface: #161512;--ink: #f2ede2;--muted: #a69d8f;--line: #2e2b25;--accent: #ff4f45;--gold: #d9b36c;--ok: #83d49c;--tint-france: #d98a67;--tint-japan: #b592c7;--tint-scifi: #7cb8d6;--grain-opacity: .08;--shadow-poster: 0 2px 10px rgba(0, 0, 0, .55), 0 0 0 1px rgba(242, 237, 226, .07)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #0e0d0b;--surface: #161512;--ink: #f2ede2;--muted: #a69d8f;--line: #2e2b25;--accent: #ff4f45;--gold: #d9b36c;--ok: #83d49c;--tint-france: #d98a67;--tint-japan: #b592c7;--tint-scifi: #7cb8d6;--grain-opacity: .08;--shadow-poster: 0 2px 10px rgba(0, 0, 0, .55), 0 0 0 1px rgba(242, 237, 226, .07)}}*{box-sizing:border-box}html{color-scheme:light dark}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-text);font-size:16px;line-height:1.65}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;pointer-events:none;opacity:var(--grain-opacity);background-image: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='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}::selection{background:var(--accent);color:#fff}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}img{max-width:100%;display:block}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.wrap{width:min(1360px,calc(100% - 32px));margin:0 auto}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--accent);color:#fff;padding:10px 16px;border-radius:var(--radius)}.skip-link:focus{left:12px;top:12px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{position:sticky;top:0;z-index:40;background:var(--surface);border-top:2px solid var(--accent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.site-nav{height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-family:var(--font-text);font-weight:700;letter-spacing:.14em;text-decoration:none;font-size:14px}.brand em{color:var(--accent);font-style:normal}.canon-tabs{display:flex;gap:4px;flex-wrap:wrap;list-style:none;margin:0;padding:0}.canon-tabs a{display:inline-block;padding:8px 12px;border-radius:var(--radius);text-decoration:none;font-size:13px;color:var(--muted);border:1px solid transparent}.canon-tabs a[aria-current=page]{color:var(--ink);border-color:var(--line);background:var(--bg)}.canon-tabs a:hover{color:var(--ink)}.nav-group{position:relative}.nav-group>button{display:inline-block;padding:8px 12px;border:1px solid transparent;border-radius:var(--radius);background:transparent;font-size:13px;color:var(--muted);cursor:pointer}.nav-group>button:hover,.nav-group>button[aria-expanded=true]{color:var(--ink)}.nav-group>button[data-active=true]{color:var(--ink);border-color:var(--line);background:var(--bg)}.nav-group .caret{font-size:10px;color:var(--muted)}.nav-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:50;min-width:180px;margin:0;padding:4px;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px #00000024}.nav-menu a{display:block;padding:8px 10px;border-radius:var(--radius);text-decoration:none;font-size:13px;color:var(--ink)}.nav-menu a:hover{background:var(--bg)}.nav-menu a[aria-current=page]{color:var(--accent)}.theme-toggle{border:1px solid var(--line);background:transparent;border-radius:var(--radius);padding:7px 10px;font-size:12px;cursor:pointer}.hero{padding:48px 0 32px;border-bottom:1px solid var(--line);box-shadow:0 4px 0 -3px var(--line)}.hero .eyebrow{text-transform:uppercase;letter-spacing:.28em;font-size:11px;font-weight:700;color:var(--tint, var(--gold))}.hero h1 .fin{color:var(--accent)}.hero h1{font-family:var(--font-display);font-weight:600;font-size:clamp(56px,8vw,128px);line-height:.82;letter-spacing:-.03em;margin:12px 0 16px}.hero p.lede{max-width:720px;color:var(--muted);font-size:17px}.hero .edition-meta{margin-top:18px;font-size:13px;color:var(--muted)}.hero .edition-meta strong{color:var(--ink)}.poster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:24px 16px;padding:32px 0 80px;list-style:none;margin:0}.film-card{display:block;text-decoration:none;color:inherit}.film-card .rank{font-family:var(--font-display);font-weight:600;font-size:28px;line-height:1;margin-bottom:8px;color:var(--ink);display:flex;align-items:center;gap:12px}.film-card .rank:after{content:"";flex:1;height:1px;background:var(--tint, var(--line));opacity:.55}.poster-frame{aspect-ratio:2 / 3;overflow:hidden;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-poster);position:relative}.poster-frame img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity var(--dur-fade) var(--ease),transform var(--dur-micro) var(--ease)}.poster-frame img.loaded{opacity:1}.film-card:hover .poster-frame img,.film-card:focus-visible .poster-frame img{transform:scale(1.03)}.poster-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;padding:14px;font-family:var(--font-display);font-size:18px;line-height:1.05;color:var(--muted);border:1px solid var(--line);border-radius:var(--radius)}.film-card h3{font-family:var(--font-display);font-weight:600;font-size:17px;line-height:1.1;letter-spacing:-.03em;margin:10px 0 4px}.film-card .provenance-line{font-size:13px;color:var(--muted);max-height:0;overflow:hidden;transition:max-height var(--dur-micro) var(--ease)}.film-card:hover .provenance-line,.film-card:focus-visible .provenance-line{max-height:20px}.film-card .meta{font-size:13px;color:var(--muted)}.score-citation{display:block;width:100%;text-align:left;background:transparent;border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;cursor:pointer;color:inherit}.poster-grid .score-citation{border:0;border-top:1px solid var(--line);border-radius:0;padding:10px 0 0}.score-citation .score-line{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:14px}.score-citation .score-caret{float:right;color:var(--muted);transition:transform var(--dur-score) var(--ease)}.score-citation[aria-expanded=true] .score-caret{transform:rotate(90deg)}.score-breakdown{overflow:hidden;max-height:0;transition:max-height var(--dur-score) var(--ease)}.score-breakdown[data-open=true]{max-height:1200px}.score-breakdown table{width:100%;border-collapse:collapse;margin-top:12px;font-size:13px}.score-breakdown caption{text-align:left;color:var(--gold);text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700;margin-bottom:8px}.score-breakdown th,.score-breakdown td{border-top:1px solid var(--line);padding:8px 6px;text-align:left}.score-breakdown td.mono,.score-breakdown th.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.score-breakdown .method-note{font-size:12px;color:var(--muted);margin-top:10px}.source-badge{display:inline-flex;align-items:baseline;gap:6px;border:1px solid var(--line);border-radius:var(--radius);padding:3px 8px;font-size:12px}.source-badge .status-dot{width:6px;height:6px;border-radius:50%;background:var(--ok);display:inline-block}.source-badge[data-status=pending] .status-dot,.source-badge[data-status=failed] .status-dot{background:var(--muted)}.film-detail{display:grid;grid-template-columns:260px 1fr;gap:40px;padding:40px 0 96px}.film-detail .poster-frame{position:sticky;top:88px}.film-detail h2{font-family:var(--font-display);font-weight:600;font-size:54px;line-height:.95;letter-spacing:-.03em;margin:0 0 12px}.film-detail .badges{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.film-detail .badge{border:1px solid var(--line);border-radius:var(--radius);padding:5px 9px;font-size:12px;color:var(--muted)}.detail-section{border-top:1px solid var(--line);margin-top:28px;padding-top:20px}.section-title{text-transform:uppercase;letter-spacing:.18em;color:var(--tint, var(--gold));font-size:12px;font-weight:700;margin:0 0 14px}.trailer-embed{position:relative;width:100%;aspect-ratio:16 / 9;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel, #000)}.trailer-embed iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.sources-list{display:grid;gap:10px}.source-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:baseline;border-top:1px solid var(--line);padding-top:10px;font-size:13px}.source-row:first-child{border-top:0;padding-top:0}.editions-list{display:grid;gap:14px}.edition-row{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:10px;font-size:13px}.edition-row:first-child{border-top:0;padding-top:0}.edition-row[data-recommended=true]{border-left:2px solid var(--gold);padding-left:10px}.state-message{padding:64px 0;text-align:center;color:var(--muted)}.state-message[role=alert]{color:var(--accent)}.not-found{max-width:640px;margin:48px auto 0}.not-found-figure{margin:0;border:1px solid var(--line);padding:10px;background:var(--surface)}.not-found-figure img{display:block;width:100%;height:auto;border-radius:2px;filter:contrast(1.02)}.not-found-figure figcaption{padding-top:10px;font-size:12px;color:var(--muted);text-align:center;border-top:1px solid var(--line);margin-top:10px}.not-found .state-message{padding:24px 0 64px}main[data-canon=france]{--tint: var(--tint-france)}main[data-canon=japan]{--tint: var(--tint-japan)}main[data-canon=science-fiction]{--tint: var(--tint-scifi)}.search-form{display:flex;gap:8px;padding:16px 0}.search-form input[type=search]{flex:1;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:10px 12px}.search-form button{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:10px 14px;cursor:pointer}.personal-film-form,.auth-form{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.form-field{display:flex;flex-direction:column;gap:4px;font-size:12px}.form-field label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.form-field-inline{flex-direction:row;align-items:center;gap:6px}.form-field-inline label{text-transform:none;letter-spacing:normal;font-size:13px}.personal-film-form select,.personal-film-form input[type=number],.personal-film-form textarea,.auth-form input{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:8px 10px}.personal-film-form textarea{width:100%;min-width:260px;resize:vertical}.personal-film-form button,.auth-form button{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:9px 16px;cursor:pointer}.personal-film-form [role=status],.auth-form [role=status]{color:var(--ok);font-size:12px;margin:8px 0 0;flex-basis:100%}.personal-film-form [role=alert],.auth-form [role=alert]{color:var(--accent)}.link-button{border:0;background:none;padding:4px 0;color:var(--gold);text-decoration:underline;cursor:pointer;font-size:12px}.dashboard-links{display:grid;gap:10px;max-width:360px}.dashboard-links a{display:block;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);text-decoration:none}.dashboard-links a:hover,.dashboard-links a:focus-visible{border-color:var(--gold)}.list-summary-grid{display:grid;gap:10px;margin:16px 0}.list-summary-card{border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.list-summary-card a{color:var(--ink);text-decoration:none;font-weight:600}.list-item-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.list-item-row:last-child{border-bottom:none}.list-item-row .list-item-title{flex:1}.list-item-row .list-item-controls{display:flex;gap:4px}.list-item-row .list-item-controls button{padding:2px 8px;font-size:12px}.list-item-row .list-item-note{display:block;color:var(--muted);font-size:12px}.admin-table-wrap{overflow-x:auto;margin:12px 0 24px}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}.admin-table th{color:var(--muted);font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.04em}.admin-table tr:hover td{background:var(--surface)}.admin-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius);border:1px solid var(--line);font-size:11px;text-transform:uppercase}.admin-badge[data-tone=ok]{color:var(--ok);border-color:var(--ok)}.admin-badge[data-tone=warn]{color:var(--accent);border-color:var(--accent)}.admin-actions{display:flex;gap:6px;flex-wrap:wrap}.admin-actions button,.admin-actions input,.admin-actions select{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:4px 8px;font-size:12px;cursor:pointer}.admin-actions input,.admin-actions select{cursor:text}.site-footer{border-top:1px solid var(--line);padding:28px 0 56px;color:var(--muted);font-size:12px}@media (max-width: 720px){.film-detail{grid-template-columns:1fr}.film-detail .poster-frame{max-width:220px;position:static}.site-nav{flex-wrap:wrap;height:auto;padding:10px 0}}
