@font-face{font-family:'Golos Text';font-style:normal;font-weight:400 800;font-display:swap;src:url('/fonts/golos-text-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}
[hidden]{display:none!important}
/* NTR — стиль от hentai-for (bundle-core.css, шаблон hentaro-for-en): та же ночная палитра
   и красный акцент, но углы жёстче (0–2 px) и плашки со скосом. Доп. тона — по типам тегов.
   Без сборки: файл отдаётся как есть, кэш на год, версия в ?v= (App\Support\Asset). */
:root{
  color-scheme:dark;
  --bg:#080d17;--bg-deep:#050914;
  --surface:#101827;--surface-2:#172235;--surface-3:#223049;
  --line:rgba(132,157,194,.16);--line-2:rgba(132,157,194,.28);
  --fg:#f2f5fa;--fg-muted:#9ba8bc;--fg-dim:#69778c;
  --accent:#d7193f;--accent-2:#f02d50;--accent-grad:linear-gradient(118deg,#d7193f,#f02d50);
  --accent-soft:rgba(215,25,63,.16);--accent-glow:rgba(215,25,63,.36);
  /* типы тегов и работ */
  --amber:#ffb020;--violet:#9b6bff;--teal:#19c2a8;--sky:#3aa0e8;--pink:#ff4f9a;--ok:#32c17a;
  --r:2px;--skew:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);
  --sh:0 6px 18px -6px rgba(0,0,0,.55);--t:.18s;
  --font:'Golos Text',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.45 var(--font);min-height:100vh;display:flex;flex-direction:column}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}
.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 16px}

/* ---------- шапка ---------- */
.hd{position:sticky;top:0;z-index:20;background:rgba(5,9,20,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.hd .wrap{display:flex;align-items:center;gap:12px;height:54px}
.logo{display:flex;align-items:center;gap:8px;font-weight:800;letter-spacing:.02em;font-size:18px;flex:none}
.logo b{background:var(--accent-grad);color:#fff;padding:3px 12px;clip-path:var(--skew);font-size:16px}
.logo span{color:var(--fg-muted);font-weight:600}
.nav{display:flex;gap:2px;margin-left:8px}
.nav a{padding:8px 12px;color:var(--fg-muted);font-weight:600;font-size:14px;border-bottom:2px solid transparent;transition:color var(--t),border-color var(--t)}
.nav a:hover,.nav a.on{color:var(--fg);border-color:var(--accent)}
.srch{margin-left:auto;display:flex;flex:0 1 300px;min-width:0}
.srch input{flex:1;min-width:0;height:36px;padding:0 12px;background:var(--surface);border:1px solid var(--line);border-right:0;border-radius:var(--r) 0 0 var(--r)}
.srch input:focus{outline:0;border-color:var(--accent)}
.srch button{width:40px;height:36px;border:0;background:var(--accent-grad);color:#fff;cursor:pointer;border-radius:0 var(--r) var(--r) 0}
@media (max-width:720px){
  .hd .wrap{flex-wrap:wrap;height:auto;padding-top:8px;padding-bottom:0;gap:8px}
  .srch{flex:1 1 140px}
  .nav{order:3;width:calc(100% + 32px);margin:0 -16px;padding:0 8px;overflow-x:auto;scrollbar-width:none;border-top:1px solid var(--line)}
  .nav a{white-space:nowrap}
}

main{flex:1;padding:18px 0 40px}
.ft{border-top:1px solid var(--line);background:var(--bg-deep);color:var(--fg-dim);font-size:13px;padding:18px 0}
.ft .wrap{display:flex;flex-wrap:wrap;gap:6px 18px}
.ft a:hover{color:var(--fg)}

/* ---------- заголовки разделов и вкладки ---------- */
.sec{display:flex;align-items:center;gap:12px;margin:0 0 14px}
.sec h1,.sec h2{margin:0;font-size:20px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;display:flex;align-items:center;gap:10px}
.sec h1::before,.sec h2::before{content:"";width:6px;height:20px;background:var(--accent-grad);transform:skewX(-14deg)}
.sec .more{margin-left:auto;color:var(--fg-muted);font-size:13px;font-weight:600}
.tabs{display:flex;gap:0;margin:0 0 16px;border:1px solid var(--line);width:max-content;max-width:100%;overflow-x:auto}
.tabs a{padding:8px 16px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-muted);border-right:1px solid var(--line)}
.tabs a:last-child{border-right:0}
.tabs a.on{background:var(--accent-grad);color:#fff}

/* ---------- карточки ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:18px 14px}
@media (max-width:520px){.grid{grid-template-columns:repeat(2,1fr);gap:14px 10px}}
.card{position:relative;display:block;min-width:0}
.card .cv{position:relative;aspect-ratio:2/3;background:var(--surface-2);overflow:hidden;border-radius:var(--r)}
.card .cv img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .3s}
.card:hover .cv img{transform:scale(1.04)}
.card .cv::after{content:"";position:absolute;inset:auto 0 0;height:3px;background:var(--accent-grad);transform:scaleX(0);transform-origin:left;transition:transform var(--t)}
.card:hover .cv::after{transform:scaleX(1)}
.card .tt{margin-top:7px;font-weight:600;font-size:14px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card .by{margin-top:2px;font-size:12px;color:var(--amber);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pg{position:absolute;right:0;bottom:0;padding:2px 8px 2px 12px;background:rgba(5,9,20,.85);font-size:12px;font-weight:700;clip-path:polygon(6px 0,100% 0,100% 100%,0 100%)}
.prog{position:absolute;left:0;bottom:0;height:3px;background:var(--ok)}

/* плашка типа: скошенная, свой цвет у каждого типа */
.ty{display:inline-block;padding:2px 10px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#fff;clip-path:var(--skew);background:var(--accent)}
.card .ty{position:absolute;left:-2px;top:8px;z-index:1}
.ty-manga{background:var(--amber);color:#1a1100}
.ty-manhwa{background:var(--violet)}
.ty-doujin{background:var(--accent)}

/* ---------- полка «продолжить» (из localStorage) ---------- */
.shelf{display:grid;grid-auto-flow:column;grid-auto-columns:120px;gap:10px;overflow-x:auto;padding-bottom:6px;margin-bottom:26px;scrollbar-width:thin}
.shelf .card .tt{font-size:13px;-webkit-line-clamp:1}

/* ---------- пагинация ---------- */
.pager{display:flex;justify-content:center;gap:6px;margin-top:28px}
.pager a,.pager span{min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;padding:0 14px;background:var(--surface);border:1px solid var(--line);font-weight:700;font-size:14px}
.pager a:hover{border-color:var(--accent)}
.pager span{color:var(--fg-dim)}

/* ---------- страница работы ---------- */
.work{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:start}
@media (max-width:720px){.work{grid-template-columns:1fr;gap:16px}.work .cv{max-width:220px;margin:0 auto}}
.work .cv{position:relative;aspect-ratio:2/3;background:var(--surface-2);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh)}
.work .cv img{width:100%;height:100%;object-fit:cover;object-position:top}
.work h1{margin:0 0 4px;font-size:26px;line-height:1.2;font-weight:800}
.work .jp{margin:0 0 12px;color:var(--fg-muted);font-size:14px}
.meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin:12px 0 18px;color:var(--fg-muted);font-size:14px}
.meta b{color:var(--fg);font-weight:700}
.meta .star{color:var(--amber)}
.acts{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 26px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:14px;border:1px solid var(--line-2);background:var(--surface);cursor:pointer;transition:border-color var(--t),box-shadow var(--t)}
.btn:hover{border-color:var(--accent)}
.btn-main{background:var(--accent-grad);border:0;color:#fff;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);padding:0 34px}
.btn-main:hover{box-shadow:0 0 0 0 transparent;filter:brightness(1.1)}
@media (max-width:720px){.acts .btn{flex:1}}

.tg{display:grid;grid-template-columns:96px 1fr;gap:8px 12px;font-size:13px;align-items:baseline}
.tg dt{color:var(--fg-dim);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:11px;padding-top:6px}
.tg dd{margin:0;display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-block;padding:4px 10px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--c,var(--fg-dim));font-weight:600;transition:background var(--t)}
.chip:hover{background:var(--surface-2)}
.c-artist{--c:var(--amber)}.c-circle{--c:var(--violet)}.c-parody{--c:var(--teal)}
.c-character{--c:var(--sky)}.c-tag{--c:var(--accent)}
.chip small{color:var(--fg-dim);margin-left:4px}

/* превью страниц на карточке работы: первые 8 — переход сразу на страницу */
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin-top:30px}
.thumbs a{position:relative;display:block;aspect-ratio:2/3;background:var(--surface-2);overflow:hidden}
.thumbs img{width:100%;height:100%;object-fit:cover;object-position:top}
.thumbs span{position:absolute;left:0;bottom:0;padding:1px 7px;background:rgba(5,9,20,.85);font-size:11px;font-weight:700}
.thumbs .more{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid rgba(255,255,255,.08);color:var(--muted,#9aa3b5);font-size:13px;text-align:center;transition:background .15s}
.thumbs .more b{font-size:28px;line-height:1;color:#fff}
.thumbs .more i{margin-top:10px;font-style:normal;font-size:12px;font-weight:700;color:#f02d50}
.thumbs .more:hover{background:var(--surface-3,#1a2236)}

.empty{padding:40px 0;color:var(--fg-muted);text-align:center}

/* ---------- гейт 18+ (поверх, без сдвига раскладки) ---------- */
#ag{position:fixed;inset:0;z-index:50;background:rgba(5,9,20,.96);display:none;align-items:center;justify-content:center;padding:16px}
html.ag-need #ag{display:flex}html.ag-need body{overflow:hidden}
#ag>div{max-width:440px;text-align:center;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);padding:26px 22px}
#ag h2{margin:0 0 10px;font-size:22px;text-transform:uppercase;letter-spacing:.04em}
#ag p{color:var(--fg-muted);margin:0 0 20px}
#ag .btn{width:100%;margin-bottom:10px}
#ag a{color:var(--fg-dim);font-size:13px}

/* ---------- маскот: полоса на главной и пустые состояния ---------- */
.hero{position:relative;display:flex;align-items:center;min-height:200px;margin:0 0 24px;padding:22px 26px;overflow:hidden;
  background:radial-gradient(60% 120% at 82% 70%,rgba(240,80,138,.22),transparent 70%),var(--surface);border:1px solid var(--line)}
.hero-tx{position:relative;z-index:1;max-width:55%}
.hero-tx p{margin:0;color:var(--fg-muted)}
.hero-t{font-size:26px;font-weight:800;color:var(--fg)!important;margin-bottom:6px!important;line-height:1.15}
.hero img{position:absolute;right:20px;bottom:0;height:190px;width:auto;pointer-events:none}
.mz{display:flex;align-items:center;justify-content:center;gap:28px;padding:24px 0 40px}
.mz img{height:320px;width:auto;flex:none}
.mz-tx{max-width:380px}
.mz-tx p{margin:0 0 8px;color:var(--fg-muted)}
.mz-t{font-size:24px;font-weight:800;color:var(--fg)!important}
.mz-ln{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px!important}
.mz-ln a{color:var(--accent-2);font-weight:700}
@media (max-width:520px){
  .hero{min-height:150px;padding:16px}
  .hero-tx{max-width:58%}
  .hero-t{font-size:19px}
  .hero-tx p{font-size:13px}
  .hero img{height:130px;right:-24px}
  .mz{flex-direction:column;gap:12px;text-align:center;padding-top:8px}
  .mz img{height:240px}
  .mz-ln{justify-content:center}
}
/* SEO 28.10: H1 в герое, вводный текст тега */
.hero-tx h1{margin:0}
.intro{margin:-4px 0 16px;color:var(--fg-muted);max-width:760px;line-height:1.5}
.sec .kick{margin:0 0 2px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim)}
.sec:has(.kick){flex-direction:column;align-items:flex-start;gap:2px}
