:root{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;--color-bg:#0b0d12;--color-surface:#151922;--color-surface-raised:#202632;--color-border:#343c4a;--color-text:#f4f6fa;--color-text-muted:#aab2c0;--color-accent:#ff7657;--color-accent-ink:#190b07;--color-success:#54d6a0;--color-warning:#f2c66d;--color-danger:#ff6b7d;--color-focus:#8ab4ff}*{box-sizing:border-box}html{background:var(--color-bg)}body{min-width:320px;min-height:100vh;margin:0;padding:0}button,input,textarea{font:inherit}a{color:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.signed-shell{min-height:100vh;min-height:100dvh;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}.signed-shell.offline-warm{padding-bottom:calc(184px + env(safe-area-inset-bottom,0px))}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:64px;padding:max(8px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 8px max(16px,env(safe-area-inset-left,0px));border-bottom:1px solid var(--color-border);background:#0b0d12f0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.wordmark{font-size:22px;font-weight:800;text-decoration:none;letter-spacing:-.03em}.wordmark span,.auth-card h1 span{color:var(--color-accent)}.desktop-nav{display:none;gap:8px}.desktop-nav a{display:flex;gap:8px;min-height:44px;align-items:center;padding:0 16px;color:var(--color-text-muted);border-radius:10px;text-decoration:none}.desktop-nav a.active{background:var(--color-surface-raised);color:var(--color-text)}.profile-menu{position:relative}.profile-menu summary{min-height:44px;display:grid;place-items:center;color:var(--color-text-muted);cursor:pointer}.profile-menu .menu-pop{position:absolute;right:0;top:48px;z-index:40;width:170px;display:grid;overflow:hidden;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-raised)}.menu-pop a,.menu-pop button{min-height:44px;display:grid;place-items:center;color:var(--color-text);font:inherit;text-decoration:none;border:0;background:transparent;cursor:pointer}.page{width:min(100%,1200px);margin:0 auto;padding:32px max(16px,env(safe-area-inset-right,0px)) calc(48px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}.bottom-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(3,1fr);padding:6px max(8px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));border-top:1px solid var(--color-border);background:var(--color-surface)}.bottom-nav a{min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--color-text-muted);border-radius:10px;text-decoration:none}.bottom-nav a>span{font-size:22px}.bottom-nav a.active{color:var(--color-accent);background:var(--color-surface-raised);font-weight:700}.page-heading{margin-bottom:24px;max-width:720px}.page-heading.split{max-width:none;display:flex;align-items:end;justify-content:space-between;gap:16px}.page-heading h1{margin:4px 0;font-size:clamp(28px,7vw,36px);letter-spacing:-.035em}.page-heading p:not(.eyebrow){margin:0;color:var(--color-text-muted)}.eyebrow,.section-label{margin:0;color:var(--color-accent);font-size:14px;font-weight:750;letter-spacing:.04em}.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:1px solid transparent;border-radius:10px;font-weight:700;text-decoration:none;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.button:disabled{opacity:.58;cursor:wait}.button.primary{color:var(--color-accent-ink);background:var(--color-accent)}.button.secondary{color:var(--color-text);background:transparent;border-color:var(--color-border)}.button.quiet{color:var(--color-text-muted);background:transparent}.button.danger{color:#21070b;background:var(--color-danger)}.button.full{width:100%}.link-button{color:inherit;padding:0;border:0;background:none;text-decoration:underline;cursor:pointer}.search-form{display:flex;gap:8px;margin-bottom:24px}.search-form input,input,textarea{width:100%;min-height:48px;padding:11px 14px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px}textarea{min-height:92px;resize:vertical}.empty-state{display:grid;justify-items:start;gap:8px;padding:32px 24px;border:1px dashed var(--color-border);border-radius:12px;background:linear-gradient(135deg,rgba(255,118,87,.06),transparent 50%)}.empty-state>span{color:var(--color-accent);font-size:40px}.empty-state h2,.empty-state p{margin:0}.empty-state p{color:var(--color-text-muted)}.notice{margin:16px 0;padding:14px 16px;border-left:4px solid var(--color-focus);border-radius:8px;background:var(--color-surface);color:var(--color-text-muted)}.notice-error{border-color:var(--color-danger);color:var(--color-text)}.notice-success{border-color:var(--color-success)}.results{display:grid;gap:10px}.result-card{width:100%;min-height:104px;display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:16px;padding:10px;color:var(--color-text);text-align:left;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);cursor:pointer}.result-card>span{display:grid;gap:4px}.result-card small,.film-card small{color:var(--color-text-muted)}.result-card b{color:var(--color-accent);font-size:22px}.poster{display:block;width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:10px;background:var(--color-surface-raised)}.poster-fallback{display:grid;place-items:center;padding:8px;color:var(--color-text-muted);text-align:center;font-size:12px;background:linear-gradient(155deg,var(--color-surface-raised),#29202a)}.back-link{display:inline-flex;min-height:44px;align-items:center;color:var(--color-text-muted);text-decoration:none}.film-detail{display:grid;gap:24px}.film-detail>.poster{max-width:280px}.film-copy h1{margin:6px 0;font-size:clamp(30px,9vw,46px);line-height:1.05;letter-spacing:-.045em}.metadata,.overview,.viewing-summary{color:var(--color-text-muted)}.overview{max-width:70ch;font-size:17px;line-height:1.65}.status-label{display:inline-block;margin:0;padding:6px 10px;color:var(--color-success);border:1px solid currentColor;border-radius:999px;font-size:14px;font-weight:700}.action-row{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.film-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.film-card{display:grid;gap:9px;padding:8px;border-radius:12px;text-decoration:none;background:var(--color-surface)}.film-card>span{display:grid;gap:2px}.history-list{display:grid;gap:10px}.history-row{display:grid;grid-template-columns:50px 1fr auto;align-items:center;gap:12px;padding:10px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.history-row>div{display:grid;min-width:0;gap:3px}.history-row a{text-decoration:none}.history-row time{color:var(--color-text-muted);font-size:14px;font-variant-numeric:tabular-nums}.modal-backdrop{position:fixed;z-index:100;inset:0;display:grid;align-items:end;padding-top:max(32px,env(safe-area-inset-top,0px));background:#000000b8}.sheet{position:relative;width:100%;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;display:grid;gap:16px;padding:24px max(16px,env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));border:1px solid var(--color-border);border-radius:16px 16px 0 0;background:var(--color-surface-raised);box-shadow:0 -20px 60px #00000059}.sheet h2,.sheet p{margin:0}.sheet label,.auth-card label{display:grid;gap:6px;color:var(--color-text-muted);font-size:14px;font-weight:650}.close{position:absolute;top:8px;right:8px;width:44px;height:44px;color:var(--color-text);border:0;background:transparent;font-size:28px;cursor:pointer}.dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px}.auth-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:max(32px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(32px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:radial-gradient(circle at 50% 0%,rgba(255,118,87,.12),transparent 40%)}.auth-card{width:min(100%,440px);display:grid;gap:24px;padding:24px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface)}.auth-card h1{margin:4px 0;font-size:48px;letter-spacing:-.05em}.auth-card p{color:var(--color-text-muted)}.auth-card form{display:grid;gap:16px}.auth-card label small{font-weight:400}.mode-switch{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:10px;background:var(--color-bg)}.mode-switch a{min-height:44px;display:grid;place-items:center;color:var(--color-text-muted);border-radius:8px;text-decoration:none}.mode-switch a.active{color:var(--color-text);background:var(--color-surface-raised);font-weight:700}.center-state{min-height:100vh;display:grid;place-items:center;color:var(--color-text-muted)}@media(min-width:720px){.signed-shell{padding-bottom:env(safe-area-inset-bottom,0px)}.topbar{padding-inline:max(32px,env(safe-area-inset-left,0px)) max(32px,env(safe-area-inset-right,0px))}.desktop-nav{display:flex}.bottom-nav{display:none}.page{padding:48px max(32px,env(safe-area-inset-right,0px)) calc(72px + env(safe-area-inset-bottom,0px)) max(32px,env(safe-area-inset-left,0px))}.film-detail{grid-template-columns:minmax(220px,320px) minmax(0,1fr);align-items:start}.modal-backdrop{place-items:center;padding:max(24px,env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(24px,env(safe-area-inset-left,0px))}.sheet{width:min(100%,520px);border-radius:16px;padding:24px}.auth-card{padding:32px}}@media(max-width:480px){.page-heading.split{align-items:start;flex-direction:column}.search-form{display:grid}.history-row{grid-template-columns:44px 1fr}.history-row>.button{grid-column:2;justify-self:start}.dialog-actions .button{flex:1}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.field-error{color:var(--color-danger)}.kind-switch{display:flex;width:fit-content;max-width:100%;gap:4px;margin:0 0 12px;padding:4px;border-radius:12px;background:var(--color-surface)}.kind-switch button{min-width:72px;min-height:44px;padding:8px 16px;color:var(--color-text-muted);border:0;border-radius:9px;background:transparent;font-weight:700;cursor:pointer}.kind-switch button.active{color:var(--color-text);background:var(--color-surface-raised);box-shadow:inset 0 0 0 1px var(--color-border)}.result-kind{width:fit-content;padding:2px 7px;color:var(--color-accent);border:1px solid currentColor;border-radius:999px;font-size:12px;font-weight:750}.episode-dialog-label{color:var(--color-text-muted)}.series-detail,.series-hero{display:grid;gap:24px}.series-hero>.poster{max-width:280px}.series-progress{display:grid;gap:12px;padding:18px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.series-progress>div{display:flex;align-items:end;justify-content:space-between;gap:12px}.series-progress progress{width:100%;height:12px;overflow:hidden;border:0;border-radius:999px;background:var(--color-surface-raised)}.series-progress progress::-webkit-progress-bar{background:var(--color-surface-raised)}.series-progress progress::-webkit-progress-value{background:var(--color-accent);border-radius:999px}.series-progress progress::-moz-progress-bar{background:var(--color-accent);border-radius:999px}.series-progress>p{display:grid;gap:3px;margin:0;color:var(--color-text-muted)}.series-progress>p strong{color:var(--color-text)}.series-disclosures{display:grid;gap:8px}.series-disclosures .notice{margin:0}.series-intent{margin:0;padding:4px 0}.season-list{display:grid;gap:16px}.season-list>h2{margin:8px 0 0}.season-card{overflow:hidden;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.season-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid var(--color-border)}.season-card h3{margin:0}.season-card>header span{color:var(--color-warning);font-size:14px;font-weight:700}.episode-list{display:grid}.episode-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-height:76px;padding:12px 16px;border-bottom:1px solid var(--color-border)}.episode-row:last-child{border-bottom:0}.episode-row.watched{background:#54d6a00d}.episode-row>div{display:grid;min-width:0;gap:2px}.episode-row small,.episode-code,.history-episode{color:var(--color-text-muted);font-size:14px}.episode-code{font-variant-numeric:tabular-nums}.history-episode{display:block}@media(min-width:720px){.series-hero{grid-template-columns:minmax(220px,320px) minmax(0,1fr);align-items:start}.series-progress{grid-template-columns:minmax(0,1fr)}}@media(max-width:480px){.kind-switch{width:100%}.kind-switch button{min-width:0;flex:1;padding-inline:8px}.episode-row{grid-template-columns:1fr}.episode-row>.button{width:100%}.series-progress>div{align-items:start;flex-direction:column}.rating-scale{grid-template-columns:repeat(5,minmax(0,1fr))}.personal-facts{padding:16px}}.personal-facts{display:grid;gap:20px;margin:8px 0 4px;padding:18px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.personal-facts>h2{margin:0;font-size:20px;letter-spacing:-.02em}.personal-block{display:grid;gap:10px}.personal-status,.char-count,.export-hint{margin:0;color:var(--color-text-muted);font-size:14px}.export-hint{max-width:52ch;margin-top:8px}.rating-scale{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px}.rating-chip{min-height:44px;min-width:0;padding:0;color:var(--color-text);border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-raised);font-weight:700;cursor:pointer}.rating-chip.selected{color:var(--color-accent-ink);border-color:var(--color-accent);background:var(--color-accent)}.rating-chip:disabled{opacity:.58;cursor:wait}.personal-block textarea{min-height:110px}.participants{display:grid;gap:6px;margin:0;padding:12px 16px;border:1px solid var(--color-border);border-radius:10px}.participants legend{padding:0 4px;color:var(--color-text-muted);font-size:14px;font-weight:650}.participant-option{display:flex;align-items:center;gap:10px;min-height:44px;color:var(--color-text)}.participant-option input{width:20px;min-height:0;height:20px;padding:0;accent-color:var(--color-accent)}.provider-list{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;list-style:none}.provider-list li{display:flex;align-items:center;gap:8px;min-height:32px;color:var(--color-text)}.provider-logo{width:28px;height:28px;border-radius:6px}.family-sections{display:grid;gap:24px}.group-card{display:grid;gap:12px;padding:16px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.group-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.group-card-head>div{display:grid;gap:2px}.group-card-head small{color:var(--color-text-muted)}.group-card .action-row{margin:0}.member-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.member-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:32px;color:var(--color-text)}.member-list small{color:var(--color-text-muted)}.invite-code{margin:0;padding:14px 16px;border:1px dashed var(--color-border);border-radius:10px;background:var(--color-bg);font-size:22px;font-weight:750;letter-spacing:.06em;text-align:center;-webkit-user-select:all;user-select:all}.family-section{display:grid;gap:10px}.family-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:10px 16px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.suggestion-form{display:grid;gap:16px;padding:16px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);margin-bottom:24px}.suggestion-participants{display:grid;gap:6px;margin:0;padding:0;border:0}.suggestion-filters{display:grid;gap:10px}.suggestion-filters label{display:grid;gap:6px;color:var(--color-text)}.suggestion-filters label.participant-option{display:flex}.field-hint{margin:0;color:var(--color-text-muted);font-size:14px}.suggestion-form .button{justify-self:start}.suggestion-list{display:grid;gap:12px;margin:0;padding:0 0 0 20px}.suggestion-row{padding:12px 16px 12px 8px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.suggestion-row-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px}.suggestion-row-head a{color:var(--color-text);font-weight:700}.suggestion-row-head small{color:var(--color-text-muted)}.suggestion-reasons{margin:6px 0 0;color:var(--color-text-muted);font-size:14px}@media(min-width:720px){.suggestion-filters{grid-template-columns:auto 1fr;align-items:end}.suggestion-filters .field-hint,.suggestion-filters label.participant-option{grid-column:1 / -1}}.connectivity-banner,.update-banner{position:fixed;z-index:80;left:0;right:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 16px;padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));border-top:1px solid var(--color-border);background:var(--color-surface-raised);color:var(--color-text);box-shadow:0 -8px 28px #00000047}.connectivity-banner{bottom:calc(76px + env(safe-area-inset-bottom,0px));border-left:4px solid var(--color-warning)}.connectivity-banner strong{color:var(--color-warning)}.connectivity-banner span{color:var(--color-text-muted);max-width:52ch}.update-banner{top:0;bottom:auto;padding-top:calc(10px + env(safe-area-inset-top,0px));border-top:0;border-bottom:1px solid var(--color-border);border-left:4px solid var(--color-focus)}.offline-boot{min-height:100vh;min-height:100dvh;display:grid;align-content:center;justify-items:start;gap:12px;padding:max(32px,env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) max(32px,env(safe-area-inset-bottom,0px)) max(24px,env(safe-area-inset-left,0px));background:radial-gradient(circle at 50% 0%,rgba(255,118,87,.12),transparent 42%)}.offline-boot h1{margin:0;font-size:clamp(28px,8vw,40px);letter-spacing:-.04em}.offline-boot p{margin:0;max-width:42ch;color:var(--color-text-muted)}@media(min-width:720px){.connectivity-banner{bottom:0}.signed-shell.offline-warm{padding-bottom:calc(108px + env(safe-area-inset-bottom,0px))}}.home-section{display:grid;gap:12px;margin-top:22px}.home-section h2{margin:0;font-size:19px}.home-section .link-button{justify-self:start}.home-card{display:grid;gap:8px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.home-card .film-card{background:transparent}.home-card-meta{display:grid;gap:6px;padding:0 10px 10px}.home-card-meta small{color:var(--color-text-muted)}.home-card-meta .button{min-height:44px}.calendar-row{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center;padding:10px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);text-decoration:none;color:var(--color-text)}.calendar-row .poster{width:44px;height:66px}.calendar-row>span{display:grid;gap:2px}.calendar-row small{color:var(--color-text-muted)}.calendar-special{color:var(--color-accent)}
