/* ==========================================================================
   nHentai iOS — Compact Dark Reader
   iPhone SE 4.7" (375×667) · 100% SVG · Zero Emoji
   ========================================================================== */

:root {
  /* iOS Color System — Dark */
  --blue:      #0A84FF;
  --blue-dim:  #0055CC;
  --purple:    #BF5AF2;
  --pink:      #FF375F;
  --red:       #FF453A;
  --orange:    #FF9F0A;
  --green:     #30D158;
  /* System Grays — Dark */
  --bg:        #000;
  --bg2:       #1C1C1E;
  --bg3:       #2C2C2E;
  --bg4:       #3A3A3C;
  /* Fills */
  --fill1:     rgba(255,255,255,.18);
  --fill2:     rgba(255,255,255,.12);
  --fill3:     rgba(255,255,255,.08);
  /* Text */
  --txt:       #FFF;
  --txt2:      rgba(255,255,255,.60);
  --txt3:      rgba(255,255,255,.38);
  --txt4:      rgba(255,255,255,.20);
  /* Separator */
  --sep:       rgba(255,255,255,.12);
  /* Radii */
  --r-sm:      8px;
  --r-md:      12px;
  --r-lg:      16px;
  --r-pill:    99px;
  /* Layout */
  --nav-h:     44px;
  --tab-h:     49px;
  --safe-top:  env(safe-area-inset-top,0px);
  --safe-bot:  env(safe-area-inset-bottom,20px);
  --bot-pad:   calc(var(--tab-h) + var(--safe-bot));
  /* Touch */
  --tap:       44px;
  /* Motion */
  --spring:    cubic-bezier(.25,.1,.25,1);
  --fast:      150ms;
  --norm:      250ms;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'SF Pro Text',sans-serif;
  font-size:16px;
  -webkit-text-size-adjust:100%;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  touch-action:manipulation;
  overscroll-behavior:none;
  background:var(--bg);
  color:var(--txt);
}
body{
  font-family:inherit;
  font-size:1rem;
  line-height:1.47;
  background:var(--bg);
  color:var(--txt);
  min-height:100dvh;
  display:flex;
  flex-direction:column;
  overflow-x:hidden;
  -webkit-user-select:none;
  user-select:none;
  padding-bottom:var(--bot-pad);
}
img{display:block;max-width:100%}
button{font-family:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
input,select{font-family:inherit;font-size:inherit;color:var(--txt)}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:var(--r-sm)}
:focus:not(:focus-visible){outline:none}
::-webkit-scrollbar{width:2px}
::-webkit-scrollbar-thumb{background:var(--fill1);border-radius:var(--r-pill)}

/* ── Utilities ── */
.hidden{display:none!important}
.no-data{grid-column:1/-1;text-align:center;padding:40px 16px;color:var(--txt3);font-size:.9375rem}

/* ── View Sections ── */
.view-section{display:none}
.view-section.active{display:block}
#view-reader.view-section.active{display:flex;flex-direction:column}

/* ═══════════════════════════════════════════════════════
   DYNAMIC JS CLASSES — Gallery Cards
   ═══════════════════════════════════════════════════════ */
.gallery-card{
  background:var(--bg2);border-radius:var(--r-md);overflow:hidden;
  cursor:pointer;position:relative;
  transition:transform var(--fast) var(--spring);
}
.gallery-card:active{transform:scale(.97)}
.card-thumb-container{position:relative;width:100%;padding-top:142%;background:var(--bg3);overflow:hidden}
.card-thumb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.card-pages-badge{
  position:absolute;bottom:6px;right:6px;
  background:rgba(0,0,0,.78);color:#fff;
  font-size:.6875rem;font-weight:600;padding:2px 6px;border-radius:5px;
}
.card-fav-btn{
  position:absolute;top:6px;right:6px;
  width:30px;height:30px;border-radius:50%;
  background:rgba(0,0,0,.5);backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border:none;color:#fff;font-size:.8125rem;
  display:flex;align-items:center;justify-content:center;
  transition:all var(--fast) var(--spring);
}
.card-fav-btn:active{transform:scale(1.15)}
.card-fav-btn.active{color:var(--pink)}
.card-info{padding:10px 10px 12px}
.card-title{
  font-size:.8125rem;font-weight:500;line-height:1.35;color:var(--txt);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;text-overflow:ellipsis;
}
.card-meta{
  margin-top:4px;display:flex;align-items:center;justify-content:space-between;
  font-size:.75rem;color:var(--txt3);
}

/* ═══════════════════════════════════════════════════════
   DYNAMIC JS CLASSES — Detail Tags
   ═══════════════════════════════════════════════════════ */
.tag-group{display:flex;align-items:flex-start;gap:10px;padding:0 12px}
.tag-group-label{
  width:64px;flex-shrink:0;font-size:.75rem;font-weight:500;
  color:var(--txt3);text-transform:uppercase;letter-spacing:.02em;padding-top:4px;
}
.tag-badges-list{display:flex;flex-wrap:wrap;gap:5px;flex:1;padding-bottom:8px}
.tag-chip{
  display:inline-flex;align-items:center;gap:3px;
  background:var(--fill2);color:var(--txt2);
  font-size:.8125rem;padding:4px 9px;border-radius:7px;
  border:none;cursor:pointer;
  transition:all var(--fast) var(--spring);
}
.tag-chip:active{background:var(--blue);color:#fff}
.tag-chip .count{font-size:.6875rem;opacity:.55}

/* ═══════════════════════════════════════════════════════
   DYNAMIC JS CLASSES — Page Thumbnails
   ═══════════════════════════════════════════════════════ */
.page-thumb-card{
  background:var(--bg3);border-radius:var(--r-sm);overflow:hidden;
  cursor:pointer;transition:transform var(--fast) var(--spring);
}
.page-thumb-card:active{transform:scale(.94)}
.page-thumb-img{width:100%;height:100px;object-fit:cover}
.page-thumb-num{text-align:center;padding:2px;font-size:.6875rem;color:var(--txt3);background:var(--bg2)}

/* ═══════════════════════════════════════════════════════
   DYNAMIC JS CLASSES — Reader
   ═══════════════════════════════════════════════════════ */
.reader-main-img{display:block;transition:opacity var(--fast) var(--spring)}
.reader-main-img.fit-height{max-height:calc(100vh - 100px);width:auto}
.reader-main-img.fit-width{width:92vw;max-width:1200px;height:auto}
.reader-main-img.fit-original{max-width:none;max-height:none}
.continuous-page-item{width:100%;display:flex;flex-direction:column;align-items:center;position:relative}
.continuous-page-img{max-width:100%;height:auto;border-radius:2px}
.continuous-page-num{font-size:.6875rem;color:var(--txt3);margin-top:3px;text-align:center}

/* ═══════════════════════════════════════════════════════
   TOP NAV BAR — iOS blur
   ═══════════════════════════════════════════════════════ */
.top-nav{
  position:sticky;top:0;z-index:100;
  background:rgba(0,0,0,.82);
  backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:.5px solid var(--sep);
  padding-top:var(--safe-top);
}
.top-nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  height:var(--nav-h);padding:0 12px;gap:8px;
}
.nav-brand{
  display:flex;align-items:center;gap:8px;
  background:none;border:none;cursor:pointer;
  min-height:var(--tap);padding:0 4px;
}
.nav-brand-icon{
  width:30px;height:30px;
  background:var(--blue);
  border-radius:7px;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:.8125rem;color:#fff;
}
.nav-brand-text{font-weight:700;font-size:1.0625rem;color:var(--txt);letter-spacing:-.3px}

/* Nav buttons row */
.nav-row{
  display:flex;align-items:center;gap:4px;padding:0 12px 8px;
  overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.nav-row::-webkit-scrollbar{display:none}
.nav-btn{
  display:inline-flex;align-items:center;gap:5px;
  background:var(--fill3);border:.5px solid transparent;border-radius:var(--r-pill);
  color:var(--txt2);font-size:.8125rem;font-weight:500;
  padding:6px 13px;white-space:nowrap;
  transition:all var(--fast) var(--spring);
  min-height:34px;
}
.nav-btn:active,.nav-btn.active{background:var(--blue);color:#fff;border-color:var(--blue);font-weight:600}
.nav-btn.accent{background:var(--purple);color:#fff}
.nav-btn .badge{
  background:rgba(255,255,255,.25);color:#fff;
  font-size:.6875rem;font-weight:700;padding:1px 6px;border-radius:var(--r-pill);
}

/* ── Search Bar ── */
.search-wrap{padding:6px 12px 10px}
.search-field{
  display:flex;align-items:center;gap:6px;
  background:var(--fill2);border-radius:10px;
  height:36px;padding:0 10px;
  border:.5px solid transparent;
  transition:all var(--fast) var(--spring);
}
.search-field:focus-within{background:var(--fill3);border-color:var(--blue)}
.search-field svg{color:var(--txt3);flex-shrink:0}
.search-field input{
  flex:1;background:none;border:none;outline:none;
  color:var(--txt);font-size:.9375rem;min-width:0;
}
.search-field input::placeholder{color:var(--txt4)}
.search-field select{
  background:none;border:none;outline:none;
  color:var(--blue);font-size:.75rem;font-weight:500;
  padding:4px 6px;border-radius:6px;
  -webkit-appearance:none;appearance:none;
}
/* ID jumper row */
.jumper-row{
  display:flex;align-items:center;gap:6px;padding:0 12px 8px;
}
.jumper-row input{
  flex:1;height:32px;
  background:var(--fill2);border:.5px solid var(--sep);border-radius:8px;
  color:var(--txt);padding:0 10px;font-size:.875rem;outline:none;
}
.jumper-row input:focus{border-color:var(--blue)}

/* ═══════════════════════════════════════════════════════
   CONTENT AREA
   ═══════════════════════════════════════════════════════ */
.app-content{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}

/* Section header */
.sec-hdr{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 12px 8px;min-height:var(--tap);
}
.sec-title{font-size:1.25rem;font-weight:700;color:var(--txt)}
.sec-badge{
  display:inline-flex;align-items:center;gap:5px;
  background:var(--fill3);color:var(--blue);
  font-size:.8125rem;font-weight:500;padding:3px 10px;border-radius:var(--r-pill);
}

/* ── Gallery Grid ── */
.gallery-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 12px;
}
@media(min-width:500px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}

/* ── Card ── */
.card{
  background:var(--bg2);border-radius:var(--r-md);overflow:hidden;
  cursor:pointer;position:relative;
  transition:transform var(--fast) var(--spring);
}
.card:active{transform:scale(.97)}
.card-thumb{position:relative;width:100%;padding-top:142%;background:var(--bg3);overflow:hidden}
.card-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.card-badge{
  position:absolute;bottom:6px;right:6px;
  background:rgba(0,0,0,.78);color:#fff;
  font-size:.6875rem;font-weight:600;padding:2px 6px;border-radius:5px;
}
.card-fav{
  position:absolute;top:6px;right:6px;
  width:30px;height:30px;border-radius:50%;
  background:rgba(0,0,0,.5);backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border:none;color:#fff;font-size:.8125rem;
  display:flex;align-items:center;justify-content:center;
  transition:all var(--fast) var(--spring);
}
.card-fav:active{transform:scale(1.15)}
.card-fav.liked{color:var(--pink)}
.card-info{padding:10px 10px 12px}
.card-title{
  font-size:.8125rem;font-weight:500;line-height:1.35;color:var(--txt);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;text-overflow:ellipsis;
}
.card-meta{
  margin-top:4px;display:flex;align-items:center;justify-content:space-between;
  font-size:.75rem;color:var(--txt3);
}

/* ── Popular Scroll ── */
.pop-scroll{
  display:flex;gap:10px;overflow-x:auto;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  padding:4px 12px 12px;scrollbar-width:none;
}
.pop-scroll::-webkit-scrollbar{display:none}
.pop-card{
  min-width:136px;max-width:150px;flex-shrink:0;scroll-snap-align:start;
  background:var(--bg2);border-radius:var(--r-md);overflow:hidden;cursor:pointer;
  transition:transform var(--fast) var(--spring);
}
.pop-card:active{transform:scale(.97)}
.pop-thumb{width:100%;padding-top:142%;position:relative;background:var(--bg3)}
.pop-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pop-info{padding:8px 10px 10px}
.pop-title{font-size:.75rem;font-weight:500;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pop-meta{font-size:.6875rem;color:var(--txt3);margin-top:2px}

/* ═══════════════════════════════════════════════════════
   DETAIL VIEW
   ═══════════════════════════════════════════════════════ */
.detail-card{
  display:flex;gap:14px;padding:14px;
  background:var(--bg2);border-radius:var(--r-lg);
  margin:8px 12px;flex-wrap:wrap;
}
.detail-cover{
  width:130px;flex-shrink:0;border-radius:var(--r-md);
  overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.6);
}
.detail-cover img{width:100%;height:auto;aspect-ratio:2/3;object-fit:cover}
.detail-info{flex:1;min-width:170px;display:flex;flex-direction:column}
.detail-title{font-size:1.125rem;font-weight:700;line-height:1.2;color:var(--txt);margin-bottom:2px}
.detail-sub{font-size:.9375rem;color:var(--txt2);margin-bottom:1px}
.detail-jp{font-size:.8125rem;color:var(--txt3);margin-bottom:10px}
.detail-stats{
  display:flex;gap:12px;flex-wrap:wrap;
  font-size:.8125rem;color:var(--txt2);
  margin-bottom:12px;padding-bottom:10px;
  border-bottom:.5px solid var(--sep);
}
.stat{display:flex;align-items:center;gap:3px}
.stat strong{color:var(--txt);font-weight:600}
.detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}

/* ── Tags ── */
.tags-wrap{display:flex;flex-direction:column;gap:8px;padding:4px 12px}
.tag-row{display:flex;align-items:flex-start;gap:10px}
.tag-label{
  width:64px;flex-shrink:0;
  font-size:.75rem;font-weight:500;color:var(--txt3);
  text-transform:uppercase;letter-spacing:.02em;padding-top:4px;
}
.tag-chips{display:flex;flex-wrap:wrap;gap:5px;flex:1}
.chip{
  display:inline-flex;align-items:center;gap:3px;
  background:var(--fill2);color:var(--txt2);
  font-size:.8125rem;padding:4px 9px;border-radius:7px;
  border:none;cursor:pointer;
  transition:all var(--fast) var(--spring);
}
.chip:active{background:var(--blue);color:#fff}
.chip .cnt{font-size:.6875rem;opacity:.55}

/* ── Thumbnail Grid ── */
.thumb-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0 12px;
}
@media(min-width:500px){.thumb-grid{grid-template-columns:repeat(6,1fr)}}
.thumb-card{
  background:var(--bg3);border-radius:var(--r-sm);overflow:hidden;
  cursor:pointer;transition:transform var(--fast) var(--spring);
}
.thumb-card:active{transform:scale(.94)}
.thumb-card img{width:100%;height:100px;object-fit:cover}
.thumb-num{text-align:center;padding:2px;font-size:.6875rem;color:var(--txt3);background:var(--bg2)}

/* Divider */
.divider{height:.5px;background:var(--sep);margin:14px 12px}

/* ── Related Grid ── */
.related-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 12px 28px;
}
@media(min-width:500px){.related-grid{grid-template-columns:repeat(3,1fr)}}

/* ═══════════════════════════════════════════════════════
   READER — Fullscreen
   ═══════════════════════════════════════════════════════ */
#view-reader{
  position:fixed;inset:0;z-index:1000;background:#000;
  flex-direction:column;
}
.reader-top{
  display:flex;align-items:center;justify-content:space-between;
  padding:var(--safe-top) 12px 6px;
  background:rgba(0,0,0,.85);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  min-height:44px;gap:8px;flex-shrink:0;z-index:10;
}
.reader-top-center{flex:1;text-align:center;min-width:0}
.reader-top-title{font-size:.8125rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reader-pg-indicator{font-size:.75rem;color:var(--txt3);padding:4px 0}

/* Single page stage */
.reader-stage{
  flex:1;display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
}
.reader-img-wrap{display:flex;align-items:center;justify-content:center;max-width:100%;max-height:100%}
.reader-img{display:block;transition:opacity var(--fast) var(--spring)}
.reader-img.fit-h{max-height:calc(100vh - 100px);width:auto}
.reader-img.fit-w{width:92vw;max-width:1200px;height:auto}

/* Touch zones */
.reader-touch-l,.reader-touch-r{position:absolute;top:0;height:100%;z-index:5}
.reader-touch-l{left:0;width:28%}
.reader-touch-r{right:0;width:72%}

/* Continuous scroll */
.reader-scroll{
  flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:8px 0;display:flex;flex-direction:column;align-items:center;
}
.reader-scroll-inner{
  display:flex;flex-direction:column;align-items:center;gap:10px;
  max-width:1000px;width:100%;padding-bottom:48px;
}
.reader-scroll-inner img{max-width:100%;height:auto;border-radius:2px}
.reader-scroll-inner .pg-num{text-align:center;font-size:.6875rem;color:var(--txt3);margin-top:3px}

/* Reader bottom bar */
.reader-bot{
  display:flex;align-items:center;justify-content:center;gap:10px;
  padding:6px 12px;padding-bottom:calc(10px + var(--safe-bot));
  background:rgba(0,0,0,.85);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  flex-shrink:0;
}

/* ═══════════════════════════════════════════════════════
   BOTTOM TAB BAR
   ═══════════════════════════════════════════════════════ */
.tab-bar{
  position:fixed;bottom:0;left:0;right:0;z-index:200;
  background:rgba(0,0,0,.85);
  backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  border-top:.5px solid var(--sep);
  padding-bottom:var(--safe-bot);
  display:flex;align-items:center;justify-content:space-around;
}
.tab-item{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:2px;min-height:var(--tab-h);flex:1;max-width:100px;
  background:none;border:none;color:var(--txt3);
  font-size:.625rem;font-weight:500;letter-spacing:.01em;
  cursor:pointer;transition:color var(--fast) var(--spring);
  position:relative;
}
.tab-item svg{width:24px;height:24px;flex-shrink:0}
.tab-item.active{color:var(--blue)}
.tab-item:active{opacity:.55}
.tab-badge{
  position:absolute;top:2px;left:50%;transform:translateX(12px);
  background:var(--red);color:#fff;
  font-size:.625rem;font-weight:700;
  min-width:16px;height:16px;border-radius:var(--r-pill);
  display:flex;align-items:center;justify-content:center;padding:1px 4px;
}

/* ═══════════════════════════════════════════════════════
   BUTTONS
   ═══════════════════════════════════════════════════════ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:4px;
  font-size:.9375rem;font-weight:500;
  padding:8px 16px;border-radius:var(--r-pill);
  border:none;cursor:pointer;
  transition:all var(--fast) var(--spring);
  min-height:var(--tap);min-width:var(--tap);
  -webkit-tap-highlight-color:transparent;
}
.btn:active{transform:scale(.97);opacity:.8}
.btn-pri{background:var(--blue);color:#fff;font-weight:600}
.btn-sec{background:var(--fill2);color:var(--blue)}
.btn-ter{background:none;color:var(--blue)}
.btn-ghost{background:none;color:var(--txt2);padding:6px 10px}
.btn-icon{
  width:var(--tap);height:var(--tap);padding:0;border-radius:50%;
  background:var(--fill2);border:none;color:var(--txt);
  display:flex;align-items:center;justify-content:center;
}
.btn-icon:active{background:var(--fill1)}
.btn-lg{padding:11px 22px;font-size:1.0625rem;font-weight:600}
.btn-back{
  display:inline-flex;align-items:center;gap:3px;
  font-size:.9375rem;color:var(--blue);
  background:none;border:none;
  padding:8px 12px;min-height:var(--tap);font-weight:500;
}

/* ═══════════════════════════════════════════════════════
   PAGINATION
   ═══════════════════════════════════════════════════════ */
.pagination{
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:16px 12px 24px;
}
.pg-info{display:flex;align-items:center;gap:6px;font-size:.9375rem;color:var(--txt2)}
.pg-info input{
  width:44px;background:var(--fill2);border:.5px solid var(--sep);
  color:var(--txt);text-align:center;padding:5px 3px;border-radius:7px;
  font-size:.9375rem;font-weight:500;
}
.pg-info input:focus{border-color:var(--blue);outline:none}

/* ═══════════════════════════════════════════════════════
   LOADING / EMPTY / TOAST
   ═══════════════════════════════════════════════════════ */
.loader{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:48px 0;gap:14px;color:var(--txt3);font-size:.8125rem;
}
.spinner{
  width:26px;height:26px;
  border:2.5px solid var(--fill2);border-top-color:var(--blue);
  border-radius:50%;animation:spin .75s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}

.empty-state{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:56px 16px;gap:10px;text-align:center;
}
.empty-icon{width:48px;height:48px;color:var(--txt4);margin-bottom:4px}
.empty-title{font-size:1.25rem;font-weight:600;color:var(--txt2)}
.empty-desc{font-size:.9375rem;color:var(--txt3);max-width:240px}

.toast-container{
  position:fixed;top:calc(var(--safe-top) + 48px);left:50%;transform:translateX(-50%);
  z-index:3000;display:flex;flex-direction:column;gap:6px;
  pointer-events:none;width:calc(100% - 24px);max-width:340px;
}
.toast{
  background:var(--bg3);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  color:var(--txt);font-size:.8125rem;padding:10px 16px;border-radius:var(--r-lg);
  text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.7);
  border:.5px solid var(--sep);
  animation:toast-in .35s var(--spring),toast-out .25s 2.5s var(--spring) forwards;
  pointer-events:auto;
}
@keyframes toast-in{from{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes toast-out{to{opacity:0;transform:translateY(-4px) scale(.97)}}

/* ═══════════════════════════════════════════════════════
   RESPONSIVE · iPhone SE Landscape
   ═══════════════════════════════════════════════════════ */
@media(max-width:667px) and (orientation:landscape){
  .gallery-grid{grid-template-columns:repeat(3,1fr)}
  .detail-cover{width:90px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
