/* Aniqo — dark editorial / contour edition. Local type, static vector pattern. */
@font-face {
  font-family: 'Aniqo Display';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url(/fonts/oswald-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Aniqo Display';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url(/fonts/oswald-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --bg:#151617; --panel:#1d1e20; --panel2:#252629; --line:#3b3d40;
  --text:#f2eee5; --muted:#aaa9a6; --accent:#f04a32; --lime:var(--accent);
  --radius:7px; --display:'Aniqo Display','Arial Narrow',sans-serif;
  color-scheme:dark;
}
body { background:var(--bg) url('/contours.svg') center top / 860px auto repeat; }
.app-shell { max-width:1120px; padding:0 30px 115px; }
.app-header { padding:29px 0 21px; }
.wordmark { display:flex; align-items:center; gap:9px; font-size:36px; font-weight:900; letter-spacing:-2px; }
.wordmark .brand-flower { color:var(--accent); display:flex; }
.brand-flower svg { width:31px; height:31px; stroke-width:2.7; stroke-linecap:butt; }
.wordmark-dot { display:none; }
.app-header>.icon-button { border:1px solid #494a4c; background:#191a1b; color:var(--text); }
.icon-button:hover { background:#ffffff09; }
.search-bar { margin-bottom:24px; gap:10px; }
.search { border:0; border-bottom:1px solid #a7a5a0; background:transparent; padding:0 2px; border-radius:0; min-height:47px; }
.search input { font-size:16px; padding:10px 0 13px; }
.search input::placeholder { color:#a7a5a0; }
.search svg { color:var(--text); width:22px; height:22px; }
.search:focus-within { border-bottom-color:var(--accent); }
.search:focus-within input { outline:none; }
.filter-button { border-radius:4px; background:#1b1c1e; border-color:var(--line); }
.section-head { align-items:center; gap:10px; margin-bottom:14px; }
.section-head h2 { display:flex; align-items:baseline; gap:10px; font:600 26px/1.2 var(--display); letter-spacing:-.35px; white-space:nowrap; }
.section-head:after { content:''; height:1px; flex:1; background:#535458; opacity:.7; order:1; }
.section-head>.text-button { order:2; }
.section-number { font:500 10px/1 var(--display); color:var(--accent); letter-spacing:0; }
.section-kicker { display:none; }
.text-button { color:var(--text); font-size:12px; gap:5px; min-height:40px; }
.text-button svg { width:16px; height:16px; transform:rotate(-45deg); }
.home-section { margin-bottom:29px; }
.poster-rail { gap:14px; padding-bottom:4px; }
.poster { border-radius:0; clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px); background:var(--panel2); }
.poster img { transition:transform .3s cubic-bezier(.2,.7,.2,1); }
.poster-caption { display:none; }
.poster-rail .poster-caption { position:absolute; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; bottom:0; left:0; width:100%; padding:22px 7px 7px; color:#fff; font:600 17px/1.15 var(--display); text-transform:uppercase; background:linear-gradient(0deg,#101112e8,transparent); }
.poster-rail .card h3 { display:none; }
.poster-rail .card-meta { margin-top:6px; }
.poster-rail .card-meta>span:not(.score) { display:none; }
.card h3 { font:600 17px/1.25 var(--display); letter-spacing:.05px; margin:8px 0 4px; min-height:43px; text-transform:uppercase; }
.card-meta { color:var(--muted); font-size:10px; }
.card .score { position:static; padding:0; background:none; color:var(--text); border-radius:0; font-size:11px; }
.score-star { color:var(--accent); font-size:14px; line-height:1; margin-right:3px; }
.poster:empty:after { color:#777775; }
.continue-list { gap:18px; }
.resume-card { display:flex; flex-direction:column; justify-content:flex-start; border-radius:0; padding:0; background:#101112; min-height:0; clip-path:polygon(13px 0,100% 0,100% calc(100% - 13px),calc(100% - 13px) 100%,13px 100%,0 calc(100% - 13px),0 13px); }
.resume-card:after { display:none; }
.resume-art { display:block; flex-shrink:0; width:100%; height:180px; position:relative; overflow:hidden; background:#27282a; }
.resume-art img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 42%; transition:transform .4s cubic-bezier(.2,.7,.2,1); }
.resume-art:after { content:''; position:absolute; inset:0; border:1px solid #ffffff0b; background:linear-gradient(0deg,#10111230,transparent 45%); }
.resume-body { position:relative; display:flex; flex-direction:column; flex:1; width:100%; padding:13px 17px 16px; }
.resume-card .resume-title { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; margin:0 57px 6px 0; font:600 34px/1.12 var(--display); letter-spacing:-.5px; text-transform:uppercase; }
.resume-card .resume-info { color:var(--text); font-size:11px; }
.resume-card .resume-play { width:48px; height:48px; right:16px; top:15px; bottom:auto; border-radius:3px; color:#fff; background:var(--accent); }
.resume-card .resume-play svg { width:25px; height:25px; }
.resume-footer { display:flex; align-items:center; gap:12px; margin-top:auto; padding-top:9px; }
.resume-footer .progress-line { flex:1; margin:0; height:4px; }
.resume-remaining { color:var(--muted); font-size:9px; white-space:nowrap; }
.progress-line { background:#55565a; height:3px; border-radius:1px; }
.progress-line i { background:var(--accent); border-radius:1px; }
.genre { background:#171819dd; border-radius:4px; border-color:#444548; min-height:42px; font-size:12px; }
.genre.active { color:#fff; background:var(--accent); border-color:var(--accent); }
.genre:not(.active):hover { border-color:var(--accent); }
.view-heading h1 { font:600 41px/1.15 var(--display); letter-spacing:-.7px; margin-bottom:17px; }
.button { border-radius:4px; min-height:48px; }
.primary { color:#fff; background:var(--accent); }
.primary:hover { background:#fb553d; }
.secondary { color:var(--text); background:#1c1d1f; border-color:#454649; }
.filter-clear { color:var(--accent); }
.sort-label select { background:#151617d9; color:var(--muted); }
.bottom-nav { width:min(100%,1060px); bottom:0; border:0; border-top:1px solid #55565a; background:#1b1c1ef7; border-radius:0; box-shadow:none; padding:5px 10px max(7px,env(safe-area-inset-bottom)); gap:0; }
.bottom-nav button { min-height:58px; border-radius:0; color:var(--text); font-size:10px; gap:5px; position:relative; z-index:1; }
.bottom-nav button.active { color:var(--text); background:none; }
.bottom-nav button.active svg { fill:none; }
.bottom-nav button svg { width:24px; height:24px; stroke-width:1.6; }
.bottom-nav button>span:last-child { opacity:0; transition:opacity .2s; }
.bottom-nav button.active>span:last-child { opacity:1; }
.bottom-nav .nav-indicator { position:absolute; top:5px; bottom:0; left:10px; width:calc((100% - 20px)/4); pointer-events:none; transform:translateX(calc(var(--nav-index,0)*100%)); transition:transform .3s cubic-bezier(.22,.8,.25,1); }
.nav-indicator:after { content:''; position:absolute; width:24px; height:3px; background:var(--accent); left:50%; top:34px; transform:translateX(-50%); }
.tabs { border-color:#57585b; }
.tabs button { color:var(--muted); margin-right:29px; font-size:14px; }
.tabs button.active { color:var(--text); border-color:var(--accent); }
.library-card { background:#1a1b1dd9; border:1px solid #3f4043; border-radius:5px; }
.library-cover { border-radius:2px; }
.library-info h3 { font:600 20px/1.25 var(--display); }
.library-card .resume-play { background:var(--accent); color:#fff; border-radius:3px; }
.setting-group { background:#1a1b1ded; border:1px solid #414245; border-radius:5px; }
.setting-group h2 { font:500 25px/1.2 var(--display); }
.segmented { border-radius:4px; background:#111213; border-color:#48494c; }
.segmented button { border-radius:2px; }
.segmented button.active { background:var(--accent); color:#fff; }
.switch-row input { appearance:none; width:38px; height:22px; border:1px solid #737477; border-radius:12px; background:#191a1c; position:relative; }
.switch-row input:before { content:''; width:14px; height:14px; top:3px; left:3px; background:#c2c0bc; border-radius:50%; position:absolute; transition:transform .2s; }
.switch-row input:checked { border-color:var(--accent); background:var(--accent); }
.switch-row input:checked:before { background:#fff; transform:translateX(15px); }
dialog::backdrop { background:#050506c9; }
.detail-dialog,.sheet { background:var(--bg) url('/contours.svg') center top / 660px auto repeat; border-color:#494a4d; }
.detail-dialog { border-radius:6px; }
.detail-back { color:var(--text); background:#101112d9; border-color:#8d8c8755; width:40px; height:40px; }
.detail-cover-hero { height:340px; overflow:hidden; clip-path:polygon(0 0,100% 0,100% 100%,87% 100%,78% calc(100% - 35px),0 calc(100% - 35px)); }
.detail-cover-hero>img { opacity:1; object-position:center 28%; }
.detail-cover-hero:after { display:none; }
.detail-count { position:absolute; top:65px; right:0; width:62px; min-height:89px; background:var(--accent); color:#101112; padding:7px 6px 10px; display:grid; align-content:center; text-align:center; }
.detail-count strong { font:600 38px/1 var(--display); }
.detail-count small { font:500 11px/1.3 var(--display); text-transform:uppercase; margin-top:5px; }
.detail-heading { margin-top:-18px; padding:0 25px; }
.detail-heading h2 { margin:0 0 14px; font-weight:500; line-height:1.1; letter-spacing:0; overflow-wrap:anywhere; }
.title-main { display:block; font:600 clamp(42px,7vw,76px)/1.08 var(--display); text-transform:uppercase; letter-spacing:-1px; }
.title-main.long-title { font-size:clamp(30px,5vw,48px); }
.title-sub { display:block; font:500 26px/1.25 system-ui,sans-serif; margin-top:3px; letter-spacing:-.6px; }
.detail-meta { font-size:12px; color:#ceccc5; gap:9px; padding-bottom:17px; border-bottom:1px solid #606165; }
.detail-meta .score { color:var(--text); font-size:12px; }
.detail-main { padding:14px 25px 4px; }
.detail-description { color:#bab9b5; font-size:13px; line-height:1.65; background:#15161766; }
.description-toggle { color:var(--muted); font-size:11px; }
.detail-actions { gap:9px; margin-top:12px; }
.detail-actions .primary { min-height:54px; justify-content:flex-start; padding:13px 18px; }
.detail-actions .primary>svg { width:24px; height:24px; }
.detail-actions .primary>span { flex:1; text-align:center; font:500 23px/1.1 var(--display); }
.detail-actions .primary>small { border-left:1px solid #fff7; padding-left:13px; max-width:120px; font-size:10px; text-align:left; font-weight:400; }
.detail-actions .save-button { height:54px; width:48px; border-radius:4px; background:#202123; border-color:#4b4c4f; }
.detail-tabs { margin-left:25px; margin-right:25px; }
.detail-tabs button { font:500 22px/1.3 var(--display); }
.detail-episodes { padding:0 25px 25px; }
.season-label { display:flex; align-items:center; gap:12px; padding:0; background:none; border-radius:0; font:500 23px/1.4 var(--display); margin:0 0 12px; }
.season-label:after { content:''; height:1px; flex:1; background:#4c4d50; }
.episode-grid button { min-height:51px; border-radius:3px; background:#1f2022e8; border-color:#494a4d; }
.episode-grid button.active { background:#1b1c1e; color:#fff; border-color:var(--accent); box-shadow:inset -3px 0 var(--accent); }
.episode-grid button.active:before { display:none; }
.episode-grid button.watched:after { color:var(--accent); }
.sheet { border-radius:18px 18px 0 0; }
.sheet-handle { height:4px; width:36px; background:#7d7e81; }
.sheet-heading,.sheet-handle { touch-action:none; }
.sheet-heading h2 { font:600 32px/1.2 var(--display); }
.sheet-heading .icon-button { width:36px; height:36px; }
.sheet-heading p { line-height:1.5; }
.sheet-heading .voice-preserve { color:#cecbc4; margin-top:3px; font-size:11px; }
#voice-sheet-status { font-size:10px; margin-top:6px; color:#999894; }
#voice-sheet-list { max-height:min(38dvh,340px); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.field select { background:#202123; border-radius:4px; border-color:#535457; }
.voice-option { border-radius:0; padding:16px 3px; min-height:62px; border:0; border-bottom:1px solid #494a4d; color:var(--text); gap:12px; font:500 21px/1.25 var(--display); }
.voice-option>span:first-child { order:1; }
.voice-option .voice-ready { order:2; font:400 11px/1.4 system-ui,sans-serif; }
.voice-option>svg,.voice-radio { order:0; width:22px; height:22px; border:1px solid #d3d0c9; border-radius:50%; flex-shrink:0; }
.voice-option>svg { padding:3px; color:#fff; background:var(--accent); border-color:var(--accent); }
.voice-option.active { background:none; color:var(--text); border:0; border-bottom:1px solid #494a4d; }
.voice-ready:before { display:none; }
.voice-ready.ready { color:#c9c5bd; }
.voice-done { width:100%; margin-top:17px; min-height:49px; font:500 23px/1.3 var(--display); }
.voice-preload { margin-top:19px; padding-top:5px; }
.voice-preload>p:first-child { color:var(--muted); font-size:12px; }
.voice-preload .segmented button { font-size:11px; }
.voice-preload .setting-hint { font-size:10px; }
.toast { color:var(--text); background:#242527f5; border:1px solid #6e605b; border-left:3px solid var(--accent); border-radius:4px; }
.stat-box { border-radius:3px; background:#242527; }
.connect-page { background:var(--bg) url('/contours.svg') center top / 860px auto repeat; color:var(--text); }
.connect-page .connection-brand { display:flex; align-items:center; gap:12px; color:var(--text); font:900 43px/1 system-ui,sans-serif; letter-spacing:-2px; }
.connection-brand svg { width:38px; height:38px; fill:none; stroke:var(--accent); stroke-width:2.7; }
.connect-page h2 { font:500 34px/1.2 var(--display); letter-spacing:-.3px; }
.connect-page p,.connect-page small { color:var(--muted); }
.connect-page input { background:#202123; border-color:#535457; border-radius:4px; }
.connect-page button { background:var(--accent); color:#fff; border-radius:4px; }
.aq-player { --lime:var(--accent); --chrome:#121314e0; border-color:#414245; border-radius:4px; box-shadow:none; background:#090a0b; }
.aq-media video { background:#090a0b; }
.aq-shade { background:linear-gradient(180deg,#08090acf,transparent 34%,transparent 48%,#08090af5); }
.aq-brand { color:var(--text); }
.aq-brand i { background:var(--accent); box-shadow:none; border-radius:0; }
.aq-brand b { color:#b7b6b1; }
.aq-top .aq-title strong { font:500 21px/1.25 var(--display); letter-spacing:.05px; }
.aq-title>span:last-child { color:#cfccc5; }
.aq-hold-hint { border-radius:4px; border-color:#76777966; background:#15161799; color:#ddd9d0; }
.aq-top #aq-lock { background:#15161777; }
.aq-center button { background:#15161766; border:1px solid #e8e3d85c; backdrop-filter:none; color:var(--text); }
.aq-center .aq-main-play { color:#fff; background:#15161777; border:1px solid #f2eee5c9; box-shadow:none; }
.aq-center button:hover { border-color:var(--accent); }
.aq-control-row button { color:var(--text); border-radius:3px; }
.aq-control-row button:hover { color:#fff; background:#f04a3220; }
.aq-control-row select { color:var(--text); background:#17181a99; border-color:#85838644; border-radius:3px; }
.aq-control-row select option { background:#202123; }
.aq-control-row .aq-voices { border:0; background:none; border-radius:0; }
.aq-progress input { background:linear-gradient(to right,var(--accent) 0 var(--played),#9d9d9f88 var(--played) var(--buffered),#67676b66 var(--buffered) 100%); height:3px; }
.aq-progress input::-webkit-slider-thumb { background:var(--accent); border:0; box-shadow:none; }
.aq-progress input::-moz-range-thumb { background:var(--accent); border:0; }
.aq-time,.aq-time b { color:#d2d0c9; }
.aq-time>span:first-of-type { color:#828182; }
.aq-feedback { background:#1d1e20ed; color:var(--text); border-color:#f04a3266; border-radius:4px; backdrop-filter:none; }
.aq-loading span { border-color:#f04a3230; border-top-color:var(--accent); }
.voice-open-button { background:#202123; border-color:#515255; color:var(--text); border-radius:3px; }
#voice-preload-status { color:#aaa9a6; }
.watch-controls>span { color:#c3c1ba; }
.aq-controls-note { color:#9a9996; }
.aq-toolbar #player-status { color:#bbb8b0; }
.card:active .poster,.resume-card:active,.button:active { transform:scale(.985); }
.resume-card:focus-visible { outline-offset:-3px; }
@media(hover:hover) {
  .card:hover .poster img,.resume-card:hover .resume-art img { transform:scale(1.035); }
}
@media(min-width:900px) {
  .app-header { padding-top:36px; }
  .search-bar { max-width:100%; margin-bottom:28px; }
  .section-head h2 { font-size:29px; }
  .resume-art { height:235px; }
  .resume-card .resume-title { font-size:42px; }
  .bottom-nav button>span:last-child { opacity:1; }
  .sheet { border-radius:8px; }
  .poster-rail { grid-auto-columns:calc((100% - 75px)/6); gap:15px; }
}
@media(max-width:600px) {
  body { background-size:540px auto; }
  .app-shell { padding:0 18px 102px; }
  .app-header { padding:24px 0 18px; }
  .wordmark { font-size:32px; gap:7px; }
  .brand-flower svg { width:27px; height:27px; }
  .app-header>.icon-button { width:34px; height:34px; }
  .app-header>.icon-button svg { width:18px; height:18px; }
  .search-bar { margin-bottom:20px; }
  .search { min-height:43px; }
  .search input { font-size:14px; padding:9px 0 12px; }
  .section-head { gap:8px; margin-bottom:11px; }
  .section-head h2 { font-size:22px; gap:9px; }
  .text-button { font-size:10px; min-height:34px; }
  .continue-list { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:calc(100% - 11px); overflow:auto; scroll-snap-type:x mandatory; scrollbar-width:none; gap:11px; }
  .continue-list::-webkit-scrollbar { display:none; }
  .resume-card { scroll-snap-align:start; }
  .resume-art { height:162px; }
  .resume-body { padding:11px 13px 14px; }
  .resume-card .resume-title { font-size:31px; margin-right:55px; letter-spacing:-.4px; }
  .resume-card .resume-play { width:44px; height:44px; right:12px; top:13px; }
  .resume-card .resume-info { font-size:10px; }
  .resume-remaining { font-size:9px; }
  .home-section { margin-bottom:24px; }
  .poster-rail { gap:12px; grid-auto-columns:calc((100% - 24px)/3); }
  .card h3 { font-size:15px; min-height:37px; margin-top:7px; }
  .poster-rail .poster-caption { font-size:15px; padding-left:6px; padding-right:6px; }
  .card-meta { font-size:9px; gap:4px; }
  .poster-grid .card h3 { font-size:18px; min-height:45px; }
  .bottom-nav { padding-top:5px; padding-bottom:max(8px,env(safe-area-inset-bottom)); }
  .bottom-nav button { min-height:58px; font-size:9px; }
  .bottom-nav button svg { width:23px; height:23px; }
  .view-heading h1 { font-size:35px; }
  .tabs button { margin-right:23px; }
  .detail-dialog { border-radius:0; }
  .detail-cover-hero { height:294px; }
  .detail-heading { margin-top:-14px; padding:0 19px; }
  .title-main { font-size:59px; letter-spacing:-.8px; }
  .title-main.long-title { font-size:35px; }
  .title-sub { font-size:23px; }
  .detail-count { top:66px; width:51px; min-height:77px; }
  .detail-count strong { font-size:34px; }
  .detail-meta { font-size:11px; padding-bottom:14px; }
  .detail-main { padding:13px 19px 2px; }
  .detail-description { font-size:12px; }
  .detail-actions .primary { min-height:51px; padding:11px 13px; gap:7px; }
  .detail-actions .primary>span { font-size:21px; }
  .detail-actions .primary>small { max-width:82px; font-size:9px; padding-left:10px; }
  .detail-actions .save-button { width:43px; height:51px; }
  .detail-tabs { margin-left:19px; margin-right:19px; }
  .detail-tabs button { font-size:20px; }
  .detail-episodes { padding:0 19px 24px; }
  .episode-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; }
  .episode-grid button { min-height:48px; }
  .season-label { font-size:20px; }
  .sheet { background-size:530px auto; padding:13px 21px max(23px,env(safe-area-inset-bottom)); }
  .sheet-heading h2 { font-size:29px; }
  .voice-option { font-size:20px; }
  .player-area { padding-right:10px; padding-left:10px; }
  .aq-player { border-radius:3px; }
  .aq-top .aq-title strong { font-size:14px; }
  .aq-center .aq-main-play { height:52px; width:52px; }
  .library-info h3 { font-size:18px; }
}
@media(max-width:359px) {
  .episode-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .section-head h2 { font-size:20px; }
  .resume-card .resume-title { font-size:28px; }
}
@media(prefers-reduced-motion:reduce) {
  .poster img,.resume-art img,.nav-indicator,.bottom-nav button>span:last-child,.switch-row input:before { transition:none!important; }
  .skeleton .poster { animation:none; }
}
