:root{--primary:#a43d2b;--on-primary:#fff;--primary-container:#ffdad2;--on-primary-container:#3b0903;--secondary-container:#f5ddd7;--on-secondary-container:#2c1510;--surface:#f8f5ed;--surface-container-low:#f3eee5;--surface-container:#ede8de;--surface-container-high:#e7e1d7;--surface-container-highest:#ded8ce;--on-surface:#211f1b;--on-surface-variant:#514a45;--outline:#82736d;--outline-variant:#d6c4bd;--m3-ease:cubic-bezier(.2,0,0,1)}*{box-sizing:border-box}html{background:var(--surface)}body{font-family:"Roboto Flex","Noto Sans SC",system-ui,sans-serif;background:var(--surface);color:var(--on-surface)}button,input{font-family:inherit}.material-symbols-rounded{font-family:"Material Symbols Rounded";font-weight:normal;font-style:normal;font-size:21px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:"liga"}.hero h1,.brand,.show-card h3,.dialog-head h2,.remote-result h3{font-family:"Noto Serif SC",serif}.stats{gap:12px}.stats div{min-width:116px;padding:12px 16px;border-radius:14px;background:var(--surface-container-low);display:flex;align-items:baseline;gap:8px}.stats strong{color:var(--on-surface);font-variant-numeric:tabular-nums}.stats span{color:var(--on-surface-variant)}.controls{border:0;align-items:center}.tabs{gap:8px;padding:4px 0}.tab{height:36px;padding:0 15px;border:1px solid var(--outline-variant);border-radius:999px;color:var(--on-surface-variant);transition:background .18s var(--m3-ease),transform .18s var(--m3-ease),border-color .18s}.tab:hover{background:var(--surface-container-low)}.tab:active{transform:scale(.97)}.tab.active{background:var(--secondary-container);color:var(--on-secondary-container);border-color:transparent;font-weight:600}.tab.active:after{display:none}.search{height:44px;min-width:210px;padding:0 16px;gap:10px;border-radius:999px;background:var(--surface-container-high);color:var(--on-surface-variant)}.search input{width:100%;font-size:14px;color:var(--on-surface);padding:0}.search .material-symbols-rounded{font-size:21px}.primary-button,.top-actions #addButton{height:40px;display:inline-flex;align-items:center;gap:7px;padding:0 18px;border:0;border-radius:999px;background:var(--secondary-container);color:var(--on-secondary-container);font-weight:600;transition:background .18s,transform .18s}.primary-button:hover,.top-actions #addButton:hover{background:var(--primary-container);color:var(--on-primary-container)}.primary-button:active,.top-actions #addButton:active{transform:scale(.97)}.show-grid{gap:20px}.show-card{border:0;border-radius:24px;background:var(--surface-container-low);box-shadow:0 1px 2px rgba(49,43,35,.08);transition:transform .2s var(--m3-ease),background .2s var(--m3-ease),box-shadow .2s}.show-card:hover{transform:translateY(-2px);background:var(--surface-container);border:0;box-shadow:0 2px 5px rgba(49,43,35,.09)}.show-card:active{transform:translateY(0) scale(.985)}.poster-frame{border-radius:24px 24px 0 0;background:var(--surface-container-highest)}.poster{border-radius:24px 24px 0 0}.card-content{background:transparent;padding:17px 18px}.card-top h3{font-size:15px;font-weight:600;line-height:1.45}.badge{font-size:10.5px;color:var(--on-surface-variant);font-weight:500}.next-episode{font-size:12px;font-weight:600;color:var(--primary)}.episode-name{font-size:12px;line-height:1.45;color:var(--on-surface-variant);font-weight:400;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:1.45em}.card-airdate{font-size:11px;color:var(--outline);font-variant-numeric:tabular-nums}.progress-row{font-size:11px;color:var(--on-surface-variant);font-variant-numeric:tabular-nums}.progress-track{height:5px;background:var(--surface-container-highest);border-radius:999px}.progress-fill{background:var(--primary);border-radius:999px}body:has(dialog[open]){overflow:hidden}dialog{width:min(680px,calc(100vw - 48px));max-height:min(820px,calc(100vh - 48px));padding:0;border:0;border-radius:28px;background:var(--surface-container-high);color:var(--on-surface);box-shadow:0 24px 64px rgba(36,28,24,.28);opacity:0;transform:translateY(10px) scale(.97);transition:opacity 220ms var(--m3-ease),transform 220ms var(--m3-ease),overlay 220ms allow-discrete,display 220ms allow-discrete}dialog[open]{opacity:1;transform:translateY(0) scale(1)}dialog.closing{opacity:0;transform:translateY(6px) scale(.985);transition-duration:160ms}dialog::backdrop{background:rgba(31,29,26,.46);backdrop-filter:blur(2px);transition:opacity 220ms var(--m3-ease)}@starting-style{dialog[open]{opacity:0;transform:translateY(10px) scale(.97)}}.dialog-fixed{position:relative;z-index:2;background:color-mix(in srgb,var(--surface-container-high) 94%,transparent);backdrop-filter:blur(4px);border-bottom:1px solid color-mix(in srgb,var(--outline-variant) 60%,transparent)}.dialog-head{position:relative!important;padding:22px 24px 14px;background:transparent}.dialog-head>div{min-width:0;padding-right:12px}.dialog-head h2{font-size:23px;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dialog-head #dialogMeta{font-size:12px;font-weight:600;color:var(--primary);letter-spacing:.04em;margin-bottom:7px;font-variant-numeric:tabular-nums}.icon-button{width:40px;height:40px;min-width:40px;border-radius:50%;display:grid;place-items:center;padding:0;border:0;background:var(--surface-container-highest);color:var(--on-surface-variant);transition:background .18s,transform .18s}.icon-button:hover{background:var(--secondary-container);transform:none}.icon-button:active{transform:scale(.94)}.season-tabs{padding:0 24px 6px;gap:8px;scroll-padding:24px;overflow-x:auto;overscroll-behavior-x:contain;mask-image:linear-gradient(to right,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%);scrollbar-width:none}.season-tabs::-webkit-scrollbar{display:none}.season-tabs button{height:54px;min-width:max-content;padding:8px 14px;border:1px solid var(--outline-variant);border-radius:16px;background:var(--surface-container-low);color:var(--on-surface-variant);align-items:center;text-align:center;justify-content:center;font-size:12px;font-weight:600}.season-tabs button:hover{background:var(--surface-container)}.season-tabs button.active{background:var(--secondary-container);color:var(--on-secondary-container);border-color:transparent}.season-tabs small{font-size:10px;color:var(--outline);font-weight:400}.season-progress-row{display:flex;align-items:center;gap:12px;padding:8px 24px 14px}.season-progress-track{height:4px;flex:1;border-radius:999px;background:var(--surface-container-highest);overflow:hidden}.season-progress-fill{height:100%;width:0;background:var(--primary);border-radius:999px;transition:width .25s var(--m3-ease)}#seasonProgressText{font-size:11px;color:var(--on-surface-variant);font-variant-numeric:tabular-nums}.episode-list{max-height:calc(min(820px,100vh - 48px) - 190px);padding:8px 12px 18px 16px;margin:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:var(--outline-variant) transparent;scrollbar-width:thin;scroll-padding:18px}.episode{position:relative;min-height:68px;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;align-items:center;padding:10px 8px;border:0;border-radius:14px;transition:background .16s}.episode:hover{background:var(--surface-container-low)}.episode+.episode:before{content:"";position:absolute;top:0;left:52px;right:8px;height:1px;background:color-mix(in srgb,var(--outline-variant) 55%,transparent)}.episode.next-up{background:color-mix(in srgb,var(--primary-container) 42%,transparent)}.episode.next-up:after{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:3px;background:var(--primary)}.episode-number{width:44px;font:500 12px/1 "Roboto Flex",sans-serif;color:var(--on-surface-variant);font-variant-numeric:tabular-nums}.episode-title{font:500 14px/1.4 "Noto Sans SC",sans-serif;color:var(--on-surface);min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.episode-dates{margin-top:4px;display:flex;align-items:center;gap:0;font-size:11px;line-height:1.45;color:var(--outline);font-weight:400;font-variant-numeric:tabular-nums}.episode-dates span{display:inline}.episode-dates span+span:before{content:"·";margin:0 7px;color:var(--outline)}.episode-dates b{margin-right:5px;color:inherit}.episode-dates span+span,.episode-dates span+span b{color:var(--primary)}.check{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--outline);position:relative}.check:before{content:"";position:absolute;width:30px;height:30px;border:1.5px solid var(--outline-variant);border-radius:50%;transition:background .18s,border-color .18s,transform .18s}.check .material-symbols-rounded{position:relative;font-size:19px;opacity:0;transform:scale(.6);transition:opacity .18s,transform .18s}.check:hover{background:color-mix(in srgb,var(--primary) 8%,transparent);transform:none}.check.watched{background:transparent;color:var(--on-primary)}.check.watched:before{background:var(--primary);border-color:var(--primary)}.check.watched .material-symbols-rounded{opacity:1;transform:scale(1)}.dialog-snackbar{position:absolute;left:24px;right:24px;bottom:18px;z-index:6;min-height:48px;padding:8px 8px 8px 16px;border-radius:14px;background:#332f2b;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px;opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .18s,transform .18s}.dialog-snackbar.show{opacity:1;transform:none;pointer-events:auto}.dialog-snackbar button{height:36px;padding:0 12px;border:0;background:transparent;color:#ffb4a5;font-weight:600;border-radius:999px}.sheet-handle{display:none}button:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 65%,transparent);outline-offset:2px}.search-dialog .remote-search input{height:44px;background:var(--surface-container-high);border:0}.remote-result{border-color:var(--outline-variant)}@media(max-width:719px){.top-actions .text-button{display:none}.top-actions #addButton{display:inline-flex}.hero{padding-top:42px}.stats{overflow-x:auto}.stats div{min-width:108px}.controls{align-items:center}.search{min-width:130px;max-width:150px}dialog,#showDialog{position:fixed;inset:auto 0 0 0;width:100%;max-width:none;max-height:92dvh;height:92dvh;margin:0;border-radius:28px 28px 0 0;padding-bottom:env(safe-area-inset-bottom)}.sheet-handle{display:block;width:32px;height:4px;border-radius:4px;background:var(--outline);opacity:.45;margin:10px auto -4px}.dialog-head{padding-top:16px}.episode-list{max-height:calc(92dvh - 190px);padding-left:10px}.episode{grid-template-columns:38px minmax(0,1fr) 44px;padding-left:7px}.episode-number{width:38px}.season-tabs{padding-left:18px;padding-right:18px;scroll-padding:18px}.season-progress-row{padding-left:18px;padding-right:18px}.dialog-snackbar{left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
