/* ══════════════════════════════════════════════════════════
   KRAUS SEARCH ENGINE — Master Stylesheet
   ══════════════════════════════════════════════════════════ */

/* ── 1. RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* ── 2. DARK THEME (default) ── */
:root{
  --bg:#0a0a0d;--panel:#0f0f0f;--text:#f0ede8;
  --muted:rgba(240,237,232,0.28);--muted2:rgba(240,237,232,0.52);
  --sep:rgba(255,255,255,0.055);
  --card-bg:rgba(255,255,255,0.02);--card-border:rgba(255,255,255,0.06);
  --card-hover:rgba(255,255,255,0.04);--card-hbord:rgba(255,255,255,0.14);
  --foot-bord:rgba(255,255,255,0.05);--foot-col:rgba(255,255,255,0.12);
  --hi:rgba(196,186,255,0.15);--hi-text:#c4baff;
  --url-col:rgba(120,200,232,0.6);
  --ai-border:rgba(196,186,255,0.12);--ai-bg:rgba(196,186,255,0.035);
  --dot:rgba(196,186,255,0.4);--tooltip-bg:#1a1a28;
  --side-bg:#0d0d14;--side-bord:rgba(255,255,255,0.07);
  /* index-page extras */
  --bg-grad:
    radial-gradient(ellipse 70% 45% at 20% 85%,rgba(120,200,232,0.03) 0%,transparent 70%),
    radial-gradient(ellipse 60% 40% at 80% 80%,rgba(200,120,232,0.025) 0%,transparent 70%),
    radial-gradient(ellipse 60% 40% at 50% 5%,rgba(232,201,122,0.025) 0%,transparent 70%),
    #0a0a0d;
  --drop:#111111;--drop-bord:rgba(255,255,255,0.07);--drop-shadow:0 20px 50px rgba(0,0,0,.9);
  --border-row:rgba(255,255,255,0.04);--row-hover:rgba(255,255,255,0.04);
  --send-icon:#0a0a0d;--toggle-bg:rgba(255,255,255,0.06);--toggle-col:rgba(240,237,232,0.4);
  --cat-col:rgba(196,186,255,0.35);
  --b-item-col:rgba(240,237,232,0.45);--b-item-hov:rgba(240,237,232,0.65);
  /* settings panel */
  --sp-btn-col:rgba(240,237,232,0.65);--sp-btn-bg:rgba(255,255,255,0.08);--sp-btn-bord:rgba(255,255,255,0.22);
  --sp-btn-hcol:#fff;--sp-btn-hbg:rgba(255,255,255,0.14);--sp-btn-hbord:rgba(255,255,255,0.40);
  --sp-shell-bg:#141418;--sp-card-bg:rgba(255,255,255,0.06);--sp-card-shad:0 1px 0 rgba(255,255,255,0.04) inset;
  --sp-icon-bg:rgba(196,186,255,0.14);--sp-theme-track:rgba(255,255,255,0.09);--sp-theme-dot:#3a3a44;
  --sp-pill-bg:rgba(255,255,255,0.1);--sp-shell-shad:0 28px 70px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,0.06);
  /* news extras */
  --dd-accent:#c4baff;--tmt-accent:#e8a87c;
}

/* ── 3. LIGHT THEME ── */
[data-theme="light"]{
  --bg:#ffffff;--panel:#ffffff;--text:#16151a;
  --muted:rgba(22,21,26,0.35);--muted2:rgba(22,21,26,0.60);
  --sep:rgba(0,0,0,0.07);
  --card-bg:rgba(0,0,0,0.02);--card-border:rgba(0,0,0,0.07);
  --card-hover:rgba(0,0,0,0.035);--card-hbord:rgba(0,0,0,0.14);
  --foot-bord:rgba(0,0,0,0.07);--foot-col:rgba(0,0,0,0.28);
  --hi:rgba(109,79,194,0.08);--hi-text:#6d4fc2;
  --url-col:rgba(20,110,180,0.8);
  --ai-border:rgba(109,79,194,0.14);--ai-bg:rgba(109,79,194,0.04);
  --dot:rgba(109,79,194,0.45);--tooltip-bg:#ffffff;
  --side-bg:#ffffff;--side-bord:rgba(0,0,0,0.07);
  --bg-grad:
    radial-gradient(ellipse 70% 45% at 20% 85%,rgba(120,200,232,0.07) 0%,transparent 70%),
    radial-gradient(ellipse 60% 40% at 80% 80%,rgba(200,120,232,0.05) 0%,transparent 70%),
    radial-gradient(ellipse 60% 40% at 50% 5%,rgba(100,140,232,0.06) 0%,transparent 70%),
    #ffffff;
  --drop:#ffffff;--drop-bord:rgba(0,0,0,0.08);--drop-shadow:0 20px 50px rgba(0,0,0,.12);
  --border-row:rgba(0,0,0,0.04);--row-hover:rgba(0,0,0,0.03);
  --send-icon:#ffffff;--toggle-bg:rgba(0,0,0,0.06);--toggle-col:rgba(22,21,26,0.45);
  --cat-col:rgba(109,79,194,0.5);
  --b-item-col:rgba(22,21,26,0.45);--b-item-hov:rgba(22,21,26,0.75);
  --sp-btn-col:rgba(22,21,26,0.65);--sp-btn-bg:rgba(0,0,0,0.05);--sp-btn-bord:rgba(0,0,0,0.18);
  --sp-btn-hcol:#16151a;--sp-btn-hbg:rgba(0,0,0,0.09);--sp-btn-hbord:rgba(0,0,0,0.35);
  --sp-shell-bg:#eef0f4;--sp-card-bg:#ffffff;--sp-card-shad:0 1px 3px rgba(15,15,40,0.06);
  --sp-icon-bg:#e8ecfc;--sp-theme-track:#e4e8fa;--sp-theme-dot:#ffffff;
  --sp-pill-bg:#e8ecfc;--sp-shell-shad:0 28px 60px rgba(15,15,40,0.12),0 0 0 1px rgba(0,0,0,0.04);
  --dd-accent:#6d4fc2;--tmt-accent:#c2621a;
}
@media(prefers-color-scheme:light){:root:not([data-theme]){
  --bg:#ffffff;--panel:#ffffff;--text:#16151a;
  --muted:rgba(22,21,26,0.35);--muted2:rgba(22,21,26,0.60);
  --sep:rgba(0,0,0,0.07);
  --card-bg:rgba(0,0,0,0.02);--card-border:rgba(0,0,0,0.07);
  --card-hover:rgba(0,0,0,0.035);--card-hbord:rgba(0,0,0,0.14);
  --foot-bord:rgba(0,0,0,0.07);--foot-col:rgba(0,0,0,0.28);
  --hi:rgba(109,79,194,0.08);--hi-text:#6d4fc2;
  --url-col:rgba(20,110,180,0.8);
  --ai-border:rgba(109,79,194,0.14);--ai-bg:rgba(109,79,194,0.04);
  --dot:rgba(109,79,194,0.45);--tooltip-bg:#ffffff;
  --side-bg:#ffffff;--side-bord:rgba(0,0,0,0.07);
  --bg-grad:
    radial-gradient(ellipse 70% 45% at 20% 85%,rgba(120,200,232,0.07) 0%,transparent 70%),
    radial-gradient(ellipse 60% 40% at 80% 80%,rgba(200,120,232,0.05) 0%,transparent 70%),
    radial-gradient(ellipse 60% 40% at 50% 5%,rgba(100,140,232,0.06) 0%,transparent 70%),
    #ffffff;
  --drop:#ffffff;--drop-bord:rgba(0,0,0,0.08);--drop-shadow:0 20px 50px rgba(0,0,0,.12);
  --border-row:rgba(0,0,0,0.04);--row-hover:rgba(0,0,0,0.03);
  --send-icon:#ffffff;--toggle-bg:rgba(0,0,0,0.06);--toggle-col:rgba(22,21,26,0.45);
  --cat-col:rgba(109,79,194,0.5);
  --b-item-col:rgba(22,21,26,0.45);--b-item-hov:rgba(22,21,26,0.75);
  --sp-btn-col:rgba(22,21,26,0.65);--sp-btn-bg:rgba(0,0,0,0.05);--sp-btn-bord:rgba(0,0,0,0.18);
  --sp-btn-hcol:#16151a;--sp-btn-hbg:rgba(0,0,0,0.09);--sp-btn-hbord:rgba(0,0,0,0.35);
  --sp-shell-bg:#eef0f4;--sp-card-bg:#ffffff;--sp-card-shad:0 1px 3px rgba(15,15,40,0.06);
  --sp-icon-bg:#e8ecfc;--sp-theme-track:#e4e8fa;--sp-theme-dot:#ffffff;
  --sp-pill-bg:#e8ecfc;--sp-shell-shad:0 28px 60px rgba(15,15,40,0.12),0 0 0 1px rgba(0,0,0,0.04);
  --dd-accent:#6d4fc2;--tmt-accent:#c2621a;
}}

/* Empty page override */
.page-empty[data-theme="light"],
.page-empty:root:not([data-theme]){--bg:#f5f5f7;}

/* ── 4. KEYFRAME ANIMATIONS ── */
@property --a{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes spin{to{--a:360deg}}
@keyframes shimmer{to{background-position:220% center}}
@keyframes fadeIn{to{opacity:1}}
@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}
@keyframes scaleIn{to{opacity:1;transform:scale(1)}}
@keyframes pulse{0%,100%{opacity:.25;transform:scale(1)}50%{opacity:.9;transform:scale(1.7)}}
@keyframes charIn{from{opacity:0;filter:blur(6px)}to{opacity:1;filter:blur(0)}}
@keyframes skelShimmer{to{background-position:-200% center}}
@keyframes up{to{opacity:1;transform:translateY(0)}}

/* ── 5. BASE ── */
html,body{min-height:100%;background:var(--bg);color:var(--text);font-family:'Geist',sans-serif;font-weight:300;}
body.page-index{height:100%;overflow:hidden;background:var(--bg-grad);}
body.page-images{height:100%;overflow:hidden;}
html.fly-active,html.fly-active body{overflow:hidden;}

/* ══════════════════════════════════════
   6. TOPBAR (results / images / news / empty)
   ══════════════════════════════════════ */
#topbar{
  position:sticky;top:0;z-index:50;background:var(--bg);
  border-bottom:1px solid var(--sep);
  display:flex;align-items:center;gap:16px;
  padding:0 24px;height:58px;
  opacity:0;animation:fadeIn .4s ease forwards;
}
.page-images #topbar{position:relative;flex-shrink:0;padding:0 20px 0 24px;}
.page-empty #topbar{gap:24px;padding:0 48px;}
.top-logo{font-family:'Syne',sans-serif;font-size:20px;font-weight:500;letter-spacing:-.02em;text-decoration:none;flex-shrink:0;background:linear-gradient(105deg,#fff 0%,#c4baff 40%,#7dd3fc 70%,#fff 100%);background-size:220% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 6s linear infinite;}
[data-theme="light"] .top-logo{background:linear-gradient(105deg,#9090a8 0%,#9b92e0 38%,#6ab0e0 68%,#9090a8 100%);background-size:220% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
#top-search{flex:1;max-width:560px;position:relative;}
.page-images #top-search{max-width:580px;}

/* ── ARC / SEARCH INPUT (shared) ── */
#top-arc{position:relative;border-radius:999px;}
#top-arc::before{content:'';position:absolute;inset:-1.5px;border-radius:999px;background:conic-gradient(from var(--a),transparent 0deg,rgba(232,201,122,.6) 20deg,rgba(120,200,232,.7) 58deg,rgba(200,120,232,.6) 95deg,transparent 118deg,transparent 360deg);animation:spin 7s linear infinite;opacity:.3;transition:opacity .35s ease,inset .35s ease;}
#top-arc::after{content:'';position:absolute;inset:1.5px;border-radius:999px;background:var(--panel);transition:inset .35s ease;}
#top-arc.focused::before{opacity:1;inset:-2.5px;}
#top-arc.focused::after{inset:2.5px;}
#top-box{position:relative;z-index:1;display:flex;align-items:center;background:var(--panel);border-radius:999px;padding:0 6px 0 16px;cursor:text;gap:4px;box-shadow:0 2px 10px rgba(0,0,0,0.09);}
.t-ico{width:14px;height:14px;color:var(--muted);flex-shrink:0;transition:color .2s;}
#top-arc.focused .t-ico{color:var(--muted2);}
#tq{flex:1;background:none;border:none;outline:none;font-family:'Geist',sans-serif;font-size:14px;font-weight:300;color:var(--text);caret-color:var(--hi-text);padding:9px 0;}
#tq::placeholder{color:var(--muted);}
#tsend{width:28px;height:28px;border:none;border-radius:50%;cursor:pointer;background:var(--text);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .18s,transform .18s;}
#tsend:hover{opacity:.8;transform:scale(1.06);}
#tsend svg{width:11px;height:11px;color:var(--bg);}

/* ── TABS ── */
#ttabs{display:flex;gap:2px;overflow-x:auto;}
.ttab{font-size:11px;letter-spacing:.05em;white-space:nowrap;color:var(--muted);padding:5px 12px;border-radius:999px;cursor:pointer;border:1px solid transparent;text-decoration:none;display:inline-block;transition:color .18s,border-color .18s,background .18s;}
.ttab:hover{color:var(--muted2);}
.ttab.active{color:var(--text);border-color:var(--card-border);background:var(--card-bg);}

/* ── THEME BUTTON ── */
#topbar #settings-btn{margin-left:auto;background:none;border:none;cursor:pointer;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--muted);flex-shrink:0;transition:color .2s,transform .2s;}
#topbar #settings-btn:hover{color:var(--muted2);transform:rotate(22deg);}
#topbar #settings-btn svg{width:13px;height:13px;}
.page-images #topbar #settings-btn{margin-left:0;}

/* Topbar mobile */
@media(max-width:640px){
  #topbar{flex-wrap:wrap;height:auto;padding:10px 16px;gap:8px;}
  .top-logo{order:1;}#topbar #settings-btn{order:2;margin-left:auto;}
  #top-search{order:3;width:100%;max-width:100%;}#ttabs{order:4;width:100%;}
}
@media(max-width:700px){
  .page-images #topbar{flex-wrap:wrap;height:auto;padding:10px 16px;gap:8px;}
  .page-images .top-logo{order:1;}
  .page-images #topbar #settings-btn{order:2;margin-left:auto;}
  .page-images #top-search{order:3;max-width:100%;width:100%;}
  .page-images #ttabs{order:4;width:100%;overflow-x:auto;padding-bottom:2px;}
}
@media(max-width:768px){
  input,textarea,select{font-size:16px !important;}
  #q,#tq,.sp-select{font-size:16px !important;}
  .fs-brand{padding-right:28px;}
  .fs-badge{min-width:25px;height:15px;padding:0 6px;font-size:7px;bottom:-5px;}
}

/* ══════════════════════════════════════
   7. FOOTER BAR
   ══════════════════════════════════════ */
#foot{position:relative;height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-top:1px solid var(--foot-bord);background:var(--bg);margin-top:auto;}
.page-empty #foot{padding:0 48px;}
.fs{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--foot-col);display:flex;align-items:center;gap:6px;}
.fs-dot{width:4px;height:4px;border-radius:50%;background:var(--dot);animation:pulse 3s ease-in-out infinite;}
.kbd{font-size:9px;border:1px solid var(--card-border);border-radius:4px;padding:1px 5px;color:var(--muted);text-transform:none;letter-spacing:0;}
.fs-kbd{display:inline-flex;align-items:center;gap:4px;}

/* Images page: footer inside grid-wrap */
.page-images #foot{position:static;flex-shrink:0;height:36px;padding:0 20px 0 0;border-top:1px solid var(--foot-bord);margin-top:16px;background:transparent;}

/* ══════════════════════════════════════
   8. PAGINATION (shared results / news)
   ══════════════════════════════════════ */
#pagination{display:flex;align-items:center;gap:5px;margin-top:32px;flex-wrap:wrap;opacity:0;animation:fadeUp .45s ease .7s forwards;}
.pg{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12.5px;cursor:pointer;color:var(--muted2);border:1px solid transparent;text-decoration:none;transition:border-color .18s,background .18s,color .18s;}
.pg:hover{border-color:var(--card-border);background:var(--card-bg);color:var(--text);}
.pg.active{border-color:var(--ai-border);background:var(--ai-bg);color:var(--hi-text);}
.pg.disabled{opacity:.3;pointer-events:none;}

/* ══════════════════════════════════════
   9. RELATED CHIPS (shared results / news)
   ══════════════════════════════════════ */
#related{margin-top:36px;padding-top:28px;border-top:1px solid var(--sep);opacity:0;animation:fadeUp .45s ease .78s forwards;}
.page-news #related{margin-top:32px;padding-top:24px;}
.rel-label{font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;}
.rel-chips{display:flex;flex-wrap:wrap;gap:7px;}
.rel-chip{font-size:12px;color:var(--muted2);border:1px solid var(--card-border);border-radius:999px;padding:5px 14px;cursor:pointer;background:var(--card-bg);transition:color .18s,border-color .18s,background .18s;display:flex;align-items:center;gap:6px;text-decoration:none;}
.rel-chip:hover{color:var(--text);border-color:var(--card-hbord);background:var(--card-hover);}
.rel-chip svg{width:11px;height:11px;color:var(--muted);flex-shrink:0;}

/* ══════════════════════════════════════
   10. PAGE: RESULTS
   ══════════════════════════════════════ */
body.page-results,body.page-news,body.page-empty{min-height:100vh;display:flex;flex-direction:column;}
.page-results #topbar,.page-news #topbar,.page-empty #topbar{flex-shrink:0;}
.page-results #content,.page-news #content{
  flex:1 0 auto;
  max-width:760px;
  margin:0 auto 0 max(24px, calc(50% - 620px));
  padding:32px 24px 40px;
}
.page-news #content{max-width:700px;padding:28px 24px 40px;}
.page-results #foot,.page-news #foot,.page-empty #foot{flex-shrink:0;}
@media(max-width:900px){.page-results #content,.page-news #content{margin:0 auto;padding:24px 20px 40px;}}
@media(max-width:480px){.page-results #content,.page-news #content{padding:20px 16px 80px;}}

#stats{font-size:11px;letter-spacing:.04em;color:var(--muted);margin-bottom:20px;opacity:0;animation:fadeUp .45s ease .05s forwards;line-height:1.5;}
#stats em{color:var(--hi-text);font-style:normal;}
.page-news #stats{margin-bottom:22px;}

#results{display:flex;flex-direction:column;max-width:700px;}

.result{padding:20px 0;border-bottom:1px solid var(--sep);opacity:0;transform:translateY(6px);animation:fadeUp .4s ease forwards;}
.result:last-child{border-bottom:none;}
.r-meta{display:flex;align-items:center;gap:7px;margin-bottom:6px;}
.r-fav{width:16px;height:16px;border-radius:4px;background:var(--card-border);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:8px;color:var(--muted);font-weight:500;overflow:hidden;}
.r-fav img{width:100%;height:100%;object-fit:contain;}
.r-url{font-size:11.5px;color:var(--url-col);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.r-age{font-size:10.5px;color:var(--muted);flex-shrink:0;}
.r-title{display:inline-block;font-size:17px;font-weight:400;color:var(--text);line-height:1.3;margin-bottom:8px;text-decoration:none;cursor:pointer;transition:color .18s;}
.r-title:hover{color:var(--hi-text);}
.r-snip{font-size:13.5px;line-height:1.68;color:var(--muted2);}
.r-snip mark{background:var(--hi);color:var(--hi-text);padding:0 2px;border-radius:3px;font-weight:400;}
@media(max-width:480px){.r-title{font-size:15px;}.r-snip{font-size:13px;}}
@media(max-width:768px){
  .page-results #content{max-width:none;width:100%;margin:0;padding:24px 20px 40px;}
  .page-results #results{max-width:none;}
  .page-results .r-url{max-width:100%;}
}
@media(max-width:480px){
  .page-results #content,.page-news #content{padding:20px 16px 80px;}
}

.result:nth-child(1){animation-delay:.18s}.result:nth-child(2){animation-delay:.25s}
.result:nth-child(3){animation-delay:.32s}.result:nth-child(4){animation-delay:.39s}
.result:nth-child(5){animation-delay:.46s}.result:nth-child(6){animation-delay:.53s}
.result:nth-child(n+7){animation-delay:.60s}

/* ══════════════════════════════════════
   11. PAGE: IMAGES
   ══════════════════════════════════════ */
#body{display:flex;height:calc(100vh - 58px);overflow:hidden;}

#grid-wrap{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:24px 20px 0 20px;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:var(--card-hbord) transparent;}
@media(min-width:769px){#grid-wrap.panel-open{padding-right:16px;}}

#filter-row{display:flex;gap:6px;margin-bottom:20px;flex-shrink:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;}
#filter-row::-webkit-scrollbar{display:none;}
.sz{font-size:11px;letter-spacing:.06em;white-space:nowrap;color:var(--muted);padding:5px 13px;border-radius:999px;cursor:pointer;border:1px solid transparent;transition:color .18s,border-color .18s,background .18s;}
.sz:hover{color:var(--muted2);}
.sz.active{color:var(--text);border-color:var(--card-border);background:var(--card-bg);}

#grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;flex:none;overflow-x:hidden;width:100%;align-content:start;padding:5px;}
#grid-wrap.panel-open #grid{grid-template-columns:repeat(3,minmax(0,1fr));transition:grid-template-columns .35s ease;}
@media(max-width:1400px){#grid{grid-template-columns:repeat(4,minmax(0,1fr));}#grid-wrap.panel-open #grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:1100px){#grid{grid-template-columns:repeat(3,minmax(0,1fr));}#grid-wrap.panel-open #grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:900px){#grid{grid-template-columns:repeat(2,minmax(0,1fr));}#grid-wrap.panel-open #grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:480px){#grid{grid-template-columns:repeat(2,minmax(0,1fr));}}

.img-card{margin-bottom:0;cursor:pointer;position:relative;opacity:0;transform:scale(.97);animation:scaleIn .35s ease forwards;}
.img-card-img{border-radius:8px;overflow:hidden;background:var(--card-border);transition:transform .18s ease,box-shadow .18s ease;}
.img-card:hover .img-card-img{transform:scale(1.008);box-shadow:0 4px 12px rgba(0,0,0,0.12);}
.img-card.active .img-card-img{outline:2px solid var(--hi-text);outline-offset:2px;}
.img-card-img img,.img-card canvas{width:100%;display:block;}
.img-card-img img{width:100%;height:168px;min-height:168px;object-fit:cover;background:var(--card-border);}
.img-card-info{padding:6px 2px 0;display:flex;flex-direction:column;gap:2px;}
.ov-t{font-size:11px;color:var(--muted2);line-height:1.32;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;min-height:2.64em;transition:color .18s;}
.ov-s{font-size:10px;color:var(--muted);}
.img-card:hover .ov-t{color:var(--text);}
.img-card:nth-child(1){animation-delay:.06s}.img-card:nth-child(2){animation-delay:.09s}
.img-card:nth-child(3){animation-delay:.12s}.img-card:nth-child(4){animation-delay:.15s}
.img-card:nth-child(5){animation-delay:.18s}.img-card:nth-child(6){animation-delay:.21s}
.img-card:nth-child(n+7){animation-delay:.24s}
#images-loader{padding:18px 0 10px;text-align:center;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
#images-sentinel{width:100%;height:2px;flex-shrink:0;}
@media(max-width:480px){.img-card-img img{height:138px;min-height:138px;}}

/* Side panel */
#side-panel{width:0;background:transparent;border:none;transition:width .35s ease;flex-shrink:0;display:flex;flex-direction:column;overflow:visible;}
#side-panel.open{width:528px;}
#side-inner{width:508px;flex-shrink:0;height:calc(100% - 16px);margin:8px 8px 8px 0;overflow-y:auto;overflow-x:hidden;padding:16px 20px 40px;display:flex;flex-direction:column;gap:14px;background:var(--side-bg);border:1px solid rgba(0,0,0,0.06);border-radius:18px;box-shadow:-4px 4px 28px rgba(0,0,0,0.09);opacity:0;pointer-events:none;transition:opacity .2s ease;scrollbar-width:thin;scrollbar-color:var(--card-hbord) transparent;}
#side-panel.open #side-inner{opacity:1;pointer-events:auto;}
#side-close{position:sticky;top:0;align-self:flex-end;z-index:10;background:rgba(255,255,255,0.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:none;cursor:pointer;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:color .18s,background .18s;flex-shrink:0;margin-bottom:-40px;}
#side-close:hover{color:var(--text);background:var(--card-hover);}
#side-close svg{width:16px;height:16px;display:block;}
#side-nav{display:flex;align-items:center;flex-shrink:0;}
#side-nav-arrows{display:flex;gap:4px;}
.snav-btn{background:none;border:none;cursor:pointer;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:color .18s,background .18s;flex-shrink:0;}
.snav-btn:hover{color:var(--text);background:var(--card-hover);}
.snav-btn svg{width:16px;height:16px;display:block;}
.snav-btn:disabled{opacity:.25;cursor:default;}
.snav-btn:disabled:hover{color:var(--muted);background:none;}
#side-img-wrap{width:100%;border-radius:14px;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--card-border);}
#side-img{display:block;max-width:100%;max-height:420px;border-radius:14px;object-fit:contain;}
#side-meta{display:flex;flex-direction:column;gap:4px;}
#side-title{font-size:14px;font-weight:400;color:var(--hi-text);line-height:1.4;cursor:pointer;text-decoration:none;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;max-height:2.8em;}
#side-title:hover{text-decoration:underline;text-underline-offset:3px;}
#side-src{font-size:11px;color:var(--muted2);}
#side-dims{font-size:10.5px;color:var(--muted);}
#side-actions{display:flex;gap:8px;}
.s-btn{width:36px;height:36px;flex:none;border-radius:10px;border:1px solid var(--card-border);background:var(--card-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted2);transition:color .18s,border-color .18s,background .18s;}
.s-btn:hover{color:var(--text);border-color:var(--card-hbord);background:var(--card-hover);}
.s-btn.is-done{color:var(--hi-text);border-color:var(--ai-border);background:var(--ai-bg);}
.s-btn svg{width:14px;height:14px;flex-shrink:0;}
.s-btn-visit{flex:1 !important;width:auto !important;gap:7px;font-family:'Geist',sans-serif;font-size:12px;font-weight:400;letter-spacing:.04em;color:var(--hi-text) !important;border-color:rgba(196,186,255,.22) !important;background:rgba(196,186,255,.06) !important;}
.s-btn-visit:hover{background:rgba(196,186,255,.13) !important;border-color:rgba(196,186,255,.45) !important;}
[data-theme="light"] .s-btn-visit{color:var(--hi-text) !important;border-color:rgba(109,79,194,.22) !important;background:rgba(109,79,194,.06) !important;}
[data-theme="light"] .s-btn-visit:hover{background:rgba(109,79,194,.12) !important;}
.page-images .rel-label{font-size:9px;}
#related-grid{columns:2;column-gap:6px;}
.rel-card{break-inside:avoid;margin-bottom:6px;border-radius:7px;overflow:hidden;cursor:pointer;background:var(--card-border);transition:opacity .18s;}
.rel-card:hover{opacity:.82;}
.rel-card img{width:100%;display:block;object-fit:cover;min-height:40px;}

#grid-wrap::-webkit-scrollbar,#side-inner::-webkit-scrollbar{width:7px;height:7px;}
#grid-wrap::-webkit-scrollbar-track,#side-inner::-webkit-scrollbar-track{background:transparent;}
#grid-wrap::-webkit-scrollbar-thumb,#side-inner::-webkit-scrollbar-thumb{background:var(--card-border);border-radius:999px;}
#grid-wrap::-webkit-scrollbar-thumb:hover,#side-inner::-webkit-scrollbar-thumb:hover{background:var(--card-hbord);}

#img-fly{position:fixed;border-radius:6px;z-index:300;pointer-events:none;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,0.22);}
#img-fly img{width:100%;height:100%;object-fit:cover;display:block;}
#share-toast{
  position:fixed;
  left:50%;
  bottom:24px;
  transform:translateX(-50%) translateY(12px);
  min-width:160px;
  max-width:min(88vw,320px);
  padding:12px 16px;
  border-radius:14px;
  border:1px solid var(--card-border);
  background:rgba(15,15,15,0.9);
  color:var(--text);
  box-shadow:0 18px 50px rgba(0,0,0,0.28);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  font-size:12px;
  line-height:1.35;
  text-align:center;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease,transform .22s cubic-bezier(.22,1,.36,1),border-color .18s ease,background .18s ease,color .18s ease;
  z-index:380;
}
#share-toast.is-visible{opacity:1;transform:translateX(-50%) translateY(0);}
#share-toast.is-success{border-color:var(--ai-border);background:rgba(16,18,24,0.9);color:var(--text);}
#share-toast.is-error{border-color:rgba(220,120,120,0.26);background:rgba(38,18,18,0.92);color:#ffd7d7;}
[data-theme="light"] #share-toast{background:rgba(255,255,255,0.92);box-shadow:0 18px 40px rgba(20,20,30,0.12);}
[data-theme="light"] #share-toast.is-success{background:rgba(255,255,255,0.96);}
[data-theme="light"] #share-toast.is-error{background:rgba(255,245,245,0.98);color:#a33d3d;}
#side-swipe-layer{display:none;}

/* Side panel mobile */
@media(max-width:768px){
  #side-panel{position:fixed;inset:0;z-index:100;width:100% !important;opacity:0;transition:opacity .15s ease !important;pointer-events:none;}
  #side-panel.open{opacity:1;pointer-events:auto;}
  #side-inner{width:100%;max-width:100%;height:100%;margin:0;padding:16px 20px 40px;border-radius:0;border:none;}
  #side-panel.is-swiping > #side-inner{visibility:hidden;}
  #side-swipe-layer{display:block;position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:3;}
  .side-swipe-pane{position:absolute;inset:0;will-change:transform;background:var(--side-bg);}
  .side-swipe-pane.is-animating{transition:transform .2s cubic-bezier(.22,1,.36,1);}
  .side-swipe-pane > #side-inner{visibility:visible;width:100%;max-width:100%;height:100%;margin:0;padding:16px 20px 40px;border-radius:0;border:none;opacity:1;pointer-events:none;}
  .side-swipe-pane > #side-inner > button:first-child{
    position:sticky;
    top:0;
    align-self:flex-end;
    z-index:10;
    background:rgba(255,255,255,0.18);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    border:none;
    width:32px;
    height:32px;
    border-radius:8px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--muted);
    flex-shrink:0;
    margin-bottom:-40px;
  }
  .side-swipe-pane button svg{width:16px;height:16px;display:block;flex-shrink:0;}
  #grid-wrap.panel-open #grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  #grid-wrap{padding:16px 10px 0 10px;}
  html.fly-active #grid-wrap{overflow:hidden !important;touch-action:none;}
  #share-toast{bottom:18px;max-width:min(92vw,320px);font-size:11.5px;padding:11px 14px;}
}

/* ══════════════════════════════════════
   12. PAGE: NEWS
   ══════════════════════════════════════ */
.page-news-hub #content{max-width:700px;margin:0 auto 0 max(24px,calc(50% - 620px));padding:32px 24px 100px;}
.page-news-hub #foot{position:fixed;bottom:0;left:0;right:0;}
#pg-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:20px;opacity:0;animation:fadeUp .4s ease .05s forwards;}
.pg-title{font-family:'Syne',sans-serif;font-size:21px;font-weight:600;letter-spacing:-.02em;}
.pg-date{font-size:11px;color:var(--muted);}
#cat-tabs{display:flex;gap:6px;overflow-x:auto;margin-bottom:28px;opacity:0;animation:fadeUp .4s ease .1s forwards;scrollbar-width:none;}
#cat-tabs::-webkit-scrollbar{display:none;}
.ctab{font-size:11.5px;white-space:nowrap;color:var(--muted2);padding:5px 14px;border-radius:999px;cursor:pointer;border:1px solid var(--card-border);background:var(--card-bg);transition:color .18s,border-color .18s,background .18s;flex-shrink:0;}
.ctab:hover{color:var(--text);border-color:var(--card-hbord);}
.ctab.active{border-color:var(--ai-border);background:var(--ai-bg);color:var(--hi-text);}
#daily-digest{border:1px solid var(--ai-border);background:var(--ai-bg);border-radius:16px;padding:18px 20px 20px;margin-bottom:32px;opacity:0;animation:fadeUp .35s ease .15s forwards;position:relative;z-index:2;}
.dd-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.dd-hl{display:flex;align-items:center;gap:8px;}
.dd-ico{width:14px;height:14px;color:var(--hi-text);}
.dd-lbl{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--hi-text);opacity:.75;}
.dd-dt{font-size:10.5px;color:var(--muted);}
#dd-toolbar{display:flex;justify-content:flex-end;margin-bottom:14px;}
#dd-lang-select{position:relative;}
#dd-lang-trigger{font:inherit;display:inline-flex;align-items:center;gap:8px;height:28px;padding:0 11px;border:1px solid var(--card-border);border-radius:999px;background:var(--card-bg);color:var(--muted2);cursor:pointer;transition:color .18s,border-color .18s,background .18s;}
#dd-lang-trigger:hover,#dd-lang-select.is-open #dd-lang-trigger{color:var(--text);border-color:var(--card-hbord);background:var(--card-hover);}
.dd-lang-trigger-kicker{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);}
#dd-lang-current{font-size:11px;color:inherit;}
#dd-lang-trigger svg{width:11px;height:11px;flex-shrink:0;transition:transform .18s ease;}
#dd-lang-select.is-open #dd-lang-trigger svg{transform:rotate(180deg);}
#dd-lang-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:120;min-width:188px;padding:8px;background:var(--tooltip-bg);border:1px solid var(--card-border);border-radius:14px;box-shadow:0 4px 20px rgba(0,0,0,.14);opacity:0;pointer-events:none;transform:translateY(5px);transition:opacity .16s,transform .16s;}
#dd-lang-select.is-open #dd-lang-pop{opacity:1;pointer-events:auto;transform:translateY(0);}
#dd-lang-tabs{display:flex;flex-direction:column;gap:2px;}
.dd-lang-option{font:inherit;display:flex;align-items:center;gap:9px;width:100%;padding:8px 9px;border:none;border-radius:9px;background:transparent;color:var(--muted2);cursor:pointer;text-align:left;transition:color .18s,background .18s;}
.dd-lang-option:hover,.dd-lang-option.active{color:var(--text);background:var(--card-hover);}
.dd-lang-option-code{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:20px;border-radius:999px;background:var(--card-bg);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.dd-lang-option.active .dd-lang-option-code{color:var(--hi-text);background:var(--ai-bg);}
.dd-lang-option-name{font-size:11.5px;letter-spacing:.01em;color:inherit;}
#dd-body{font-size:13.5px;line-height:1.72;color:var(--muted2);}
#dd-body.is-switching{opacity:0;transform:translateY(4px);transition:opacity .16s ease,transform .16s ease;}
.dd-p{margin-bottom:11px;}
.dd-p:last-child{margin-bottom:0;}
.dd-char{display:inline;opacity:0;animation:charIn .28s ease forwards;}
.dd-src{display:inline-flex;align-items:center;gap:4px;position:relative;vertical-align:middle;margin-left:6px;cursor:pointer;}
.dd-src-favs{display:inline-flex;}
.dd-src-fav{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--ai-bg);display:inline-flex;align-items:center;justify-content:center;overflow:hidden;margin-left:-4px;background:var(--card-border);color:var(--text);}
.dd-src-fav:first-child{margin-left:0;}
.dd-src-fav img{width:100%;height:100%;object-fit:cover;display:block;}
.dd-src-fallback{font-size:7px;font-weight:700;}
.dd-src-pill{font-size:10px;color:var(--muted2);border:1px solid var(--card-border);border-radius:999px;padding:1px 6px;background:var(--card-bg);transition:border-color .15s,color .15s;}
.dd-src:hover .dd-src-pill{border-color:var(--hi-text);color:var(--hi-text);}
.dd-tt{position:absolute;top:calc(100% + 7px);left:0;z-index:100;background:var(--tooltip-bg);border:1px solid var(--card-border);border-radius:14px;padding:10px;min-width:280px;max-width:340px;box-shadow:0 4px 20px rgba(0,0,0,.14);opacity:0;pointer-events:none;transform:translateY(5px);transition:opacity .16s,transform .16s;}
.dd-tt::before{content:'';position:absolute;left:0;right:0;bottom:100%;height:12px;}
.dd-src.tt-open .dd-tt{opacity:1;pointer-events:auto;transform:translateY(0);}
.dd-tt-hd{display:block;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;padding:0 2px;}
.dd-tt-list{display:block;max-height:240px;overflow-y:auto;}
.dd-tt-row{display:flex;align-items:flex-start;gap:9px;padding:7px 4px;border-radius:8px;border-bottom:1px solid var(--sep);text-decoration:none;transition:background .14s;}
.dd-tt-row:last-child{border-bottom:none;}
.dd-tt-row:hover{background:var(--card-hover);}
.dd-tt-row-text{align-items:center;gap:8px;padding:8px 4px;cursor:default;}
.dd-tt-fav-wrap{width:24px;height:24px;border-radius:6px;overflow:hidden;background:var(--card-border);flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.dd-tt-fav-wrap .dd-src-fav{width:100%;height:100%;margin:0;border:none;border-radius:0;}
.dd-tt-info{min-width:0;}
.dd-tt-name{font-size:12.5px;color:var(--text);line-height:1.3;margin-bottom:2px;}
.dd-tt-meta{font-size:10px;color:var(--muted);}
.dd-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:16px;padding-top:14px;border-top:1px solid var(--sep);}
.dd-foot-copy{display:flex;flex-direction:column;gap:9px;min-width:0;}
.dd-by{font-size:10.5px;color:var(--muted);}
.dd-by strong{color:var(--hi-text);font-weight:400;}
#dd-meta-rail{display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.dd-src-meta{margin-left:0;}
.dd-src-meta .dd-src-pill{padding:2px 8px;}
.dd-tt-meta-list{min-width:220px;max-width:280px;}
.dd-tt-topic-dot{width:5px;height:5px;border-radius:50%;background:var(--hi-text);flex-shrink:0;opacity:.8;}
.dd-tt-topic-name{font-size:11.5px;line-height:1.45;color:var(--text);}
.dd-all{font-size:11px;color:var(--hi-text);text-decoration:none;display:flex;align-items:center;gap:3px;}
.dd-all:hover{text-decoration:underline;text-underline-offset:3px;}
.dd-all svg{width:10px;height:10px;}
.sec{margin-bottom:32px;opacity:0;transform:translateY(5px);animation:fadeUp .4s ease forwards;}
.sec-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--sep);padding-bottom:10px;margin-bottom:4px;}
.sec-title{font-size:13px;font-weight:500;color:var(--text);}
.sec-more{font-size:11px;color:var(--hi-text);text-decoration:none;display:flex;align-items:center;gap:3px;}
.sec-more:hover{text-decoration:underline;text-underline-offset:3px;}
.sec-more svg{width:10px;height:10px;}
.nrow{display:flex;align-items:flex-start;gap:16px;padding:14px 0;border-bottom:1px solid var(--sep);}
.nrow:last-child{border-bottom:none;}
.nrow-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;}
.nrow-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.nrow-fav{width:14px;height:14px;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:7px;font-weight:700;flex-shrink:0;overflow:hidden;background:var(--card-border);color:var(--muted2);}
.nrow-fav img{width:100%;height:100%;object-fit:contain;}
.nrow-src{font-size:11px;font-weight:500;color:var(--muted2);}
.nrow-dot{width:2px;height:2px;border-radius:50%;background:var(--muted);flex-shrink:0;}
.nrow-time{font-size:11px;color:var(--muted);}
a.nrow-title{font-size:15.5px;font-weight:400;color:var(--text);line-height:1.35;text-decoration:none;display:block;}
a.nrow-title:hover{color:var(--hi-text);}
.nrow-snip{font-size:12.5px;color:var(--muted2);line-height:1.62;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
@media(max-width:900px){.page-news-hub #content{margin:0 auto;padding:24px 20px 96px;}}
@media(max-width:480px){
  .page-news-hub #content{padding:20px 16px 88px;}
  .pg-title{font-size:19px;}
  #dd-toolbar{justify-content:flex-start;}
  #dd-lang-pop{left:0;right:auto;min-width:176px;}
  .dd-foot{align-items:flex-start;flex-direction:column;}
  .dd-all{align-self:flex-start;}
  #dd-body{font-size:13px;line-height:1.66;}
  a.nrow-title{font-size:15px;}
  .nrow-snip{font-size:12px;}
}

.news-section-label{font-size:9px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;}
.news-card{display:flex;align-items:flex-start;gap:14px;padding:16px 0;border-bottom:1px solid var(--sep);text-decoration:none;cursor:default;opacity:0;transform:translateY(5px);animation:fadeUp .38s ease forwards;}
.news-card:last-child{border-bottom:none;}
.news-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;}
.news-card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.news-fav{width:14px;height:14px;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:7px;font-weight:700;flex-shrink:0;overflow:hidden;background:var(--card-border);}
.news-fav img{width:100%;height:100%;object-fit:contain;}
.news-source{font-size:11px;font-weight:500;color:var(--muted2);}
.news-dot{width:2px;height:2px;border-radius:50%;background:var(--muted);flex-shrink:0;}
.news-time{font-size:11px;color:var(--muted);}
.news-cat-pill{font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:var(--hi);color:var(--hi-text);}
a.news-title-link{color:var(--text);text-decoration:none;font-size:16px;font-weight:400;line-height:1.35;}
a.news-title-link:hover{color:var(--hi-text);}
.news-snip{font-size:12.5px;color:var(--muted2);line-height:1.6;}
.news-snip mark{background:var(--hi);color:var(--hi-text);padding:0 2px;border-radius:3px;font-weight:400;}
.news-card:nth-child(1){animation-delay:.12s}.news-card:nth-child(2){animation-delay:.20s}
.news-card:nth-child(3){animation-delay:.28s}.news-card:nth-child(4){animation-delay:.36s}
.news-card:nth-child(n+5){animation-delay:.44s}

/* ══════════════════════════════════════
   13. PAGE: EMPTY
   ══════════════════════════════════════ */
#empty{height:calc(100vh - 58px - 36px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;text-align:center;padding:0 24px;}
.empty-icon{width:64px;height:64px;margin-bottom:28px;opacity:0;animation:fadeUp .6s ease .1s forwards;}
.empty-icon svg{width:100%;height:100%;color:var(--muted);}
.empty-title{font-family:'Syne',sans-serif;font-size:clamp(22px,4vw,32px);font-weight:500;letter-spacing:-.02em;color:var(--text);margin-bottom:10px;opacity:0;animation:fadeUp .6s ease .18s forwards;}
.empty-title em{font-style:normal;color:var(--muted2);}
.empty-sub{font-size:14px;color:var(--muted2);line-height:1.7;max-width:400px;margin-bottom:36px;opacity:0;animation:fadeUp .6s ease .26s forwards;}
.empty-tips{display:flex;flex-direction:column;gap:6px;text-align:left;margin-bottom:40px;opacity:0;animation:fadeUp .6s ease .34s forwards;}
.tip{font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:8px;}
.tip::before{content:'';width:3px;height:3px;border-radius:50%;background:var(--muted);flex-shrink:0;}
.empty-suggest{opacity:0;animation:fadeUp .6s ease .42s forwards;}
.sug-label{font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;}
.sug-chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;}
.sug-chip{font-size:12.5px;color:var(--muted2);border:1px solid var(--card-border);border-radius:999px;padding:6px 16px;cursor:pointer;background:var(--card-bg);text-decoration:none;transition:color .18s,border-color .18s,background .18s;}
.sug-chip:hover{color:var(--text);border-color:var(--card-hbord);background:var(--card-hover);}

/* ══════════════════════════════════════
   14. PAGE: INDEX (Home)
   ══════════════════════════════════════ */
body.page-index{transition:background .35s ease,color .25s ease;overflow-x:hidden;}
body.page-index.mic-overlay-open{overflow:hidden;}
#particles{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;}
#page{height:100vh;display:grid;grid-template-rows:1fr auto 1fr;align-items:center;width:100%;overflow-x:hidden;}
#nav{align-self:start;display:flex;justify-content:space-between;align-items:center;padding:28px 40px;opacity:0;animation:fadeIn .5s ease .05s forwards;}
.nav-links{display:flex;align-items:center;gap:24px;margin-left:auto;}
.nav-link{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-decoration:none;cursor:pointer;transition:color .18s;}
.nav-link:hover{color:var(--muted2);}
#settings-btn{background:var(--toggle-bg);border:none;cursor:pointer;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--toggle-col);transition:background .2s,color .2s,transform .3s;flex-shrink:0;}
#settings-btn:hover{color:var(--muted2);}
#settings-btn.open{transform:rotate(90deg);color:var(--muted2);}
#settings-btn svg{width:14px;height:14px;}
#center{display:flex;flex-direction:column;align-items:center;padding:0 1.5rem;margin-bottom:7vh;position:relative;z-index:2;}
#hero{text-align:center;margin-bottom:44px;opacity:0;transform:translateY(-10px);animation:up .7s cubic-bezier(.22,1,.36,1) .15s forwards;}
.logo-lockup{display:inline-block;position:relative;}
.logo-text{position:relative;display:inline-block;font-family:'Syne',sans-serif;font-size:clamp(48px,7.5vw,72px);font-weight:500;letter-spacing:-.02em;line-height:1;background:linear-gradient(105deg,#ffffff 0%,#c4baff 38%,#7dd3fc 68%,#ffffff 100%);background-size:220% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 6s linear infinite;}
[data-theme="light"] .logo-text{background:linear-gradient(105deg,#9090a8 0%,#9b92e0 38%,#6ab0e0 68%,#9090a8 100%);background-size:220% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.logo-alpha-badge{
  position:absolute;top:8px;left:calc(100% + 10px);
  display:inline-flex;align-items:center;justify-content:center;
  min-width:42px;height:22px;padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(196,186,255,0.2);
  background:rgba(196,186,255,0.08);
  color:var(--hi-text);
  -webkit-text-fill-color:currentColor;
  font-family:'Geist',sans-serif;
  font-size:9px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  box-shadow:0 10px 24px rgba(0,0,0,0.10);
}
[data-theme="light"] .logo-alpha-badge{
  border-color:rgba(109,79,194,0.18);
  background:rgba(109,79,194,0.08);
  box-shadow:0 10px 24px rgba(20,20,30,0.06);
}
.logo-tag{margin-top:9px;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);}
#search-wrap{width:100%;max-width:560px;position:relative;z-index:4;opacity:0;transform:translateY(10px);animation:up .7s cubic-bezier(.22,1,.36,1) .3s forwards;}
#arc-shell{position:relative;border-radius:999px;}
#arc-shell::before{content:'';position:absolute;inset:-1.5px;border-radius:999px;background:conic-gradient(from var(--a),transparent 0deg,rgba(232,201,122,0.6) 20deg,rgba(120,200,232,0.7) 58deg,rgba(200,120,232,0.6) 95deg,transparent 118deg,transparent 360deg);animation:spin 7s linear infinite;opacity:.35;transition:opacity .45s ease,inset .45s ease;}
#arc-shell::after{content:'';position:absolute;inset:1.5px;border-radius:999px;background:var(--panel);transition:inset .45s ease;}
#arc-shell.focused::before{opacity:1;inset:-2.5px;}
#arc-shell.focused::after{inset:2.5px;}
#box{position:relative;z-index:1;display:flex;align-items:center;background:var(--panel);border-radius:999px;padding:0 8px 0 22px;gap:6px;cursor:text;}
.ico{width:15px;height:15px;color:var(--muted);flex-shrink:0;transition:color .22s;}
#arc-shell.focused .ico{color:var(--muted2);}
#q{flex:1;background:none;border:none;outline:none;font-family:'Geist',sans-serif;font-size:15px;font-weight:300;color:var(--text);padding:14px 0;}
#q::placeholder{color:transparent;}
#placeholder-typer{position:absolute;left:54px;top:50%;transform:translateY(-50%);font-family:'Geist',sans-serif;font-size:15px;font-weight:300;color:var(--muted);pointer-events:none;white-space:nowrap;overflow:hidden;transition:opacity .15s;}
#placeholder-typer.hidden{opacity:0;}
#mic-interim{position:absolute;left:54px;top:50%;transform:translateY(-50%);font-family:'Geist',sans-serif;font-size:15px;font-weight:300;color:var(--muted2);pointer-events:none;white-space:nowrap;overflow:hidden;max-width:340px;text-overflow:ellipsis;display:none;font-style:italic;}
.btn-ico{background:none;border:none;cursor:pointer;padding:7px;border-radius:50%;color:var(--muted);display:flex;align-items:center;transition:color .18s,background .18s;flex-shrink:0;position:relative;}
.btn-ico:hover{color:var(--muted2);background:rgba(128,128,128,.08);}
.btn-ico svg{width:14px;height:14px;}
#mic.listening{color:var(--hi-text);}
#mic.listening::before,#mic.listening::after{content:'';position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(196,186,255,0.5);animation:mic-ring 1.8s ease-out infinite;}
[data-theme="light"] #mic.listening::before,[data-theme="light"] #mic.listening::after{border-color:rgba(109,79,194,0.42);}
#mic.listening::after{animation-delay:.6s;}
@keyframes mic-ring{0%{transform:scale(1);opacity:.6;}100%{transform:scale(2.2);opacity:0;}}
#clr{display:none;}
#send{width:34px;height:34px;flex-shrink:0;border:none;border-radius:50%;cursor:pointer;background:var(--text);display:flex;align-items:center;justify-content:center;transition:opacity .18s,transform .18s;}
#send:hover{opacity:.82;transform:scale(1.06);}
#send svg{width:13px;height:13px;color:var(--send-icon);}
/* suggestions dropdown */
#suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--drop);border:1px solid var(--drop-bord);border-radius:16px;overflow:hidden;display:none;z-index:999;box-shadow:var(--drop-shadow);}
[data-theme="light"] #box{box-shadow:0 2px 10px rgba(0,0,0,0.09);}
.row{display:flex;align-items:center;gap:12px;padding:11px 18px;cursor:pointer;border-bottom:1px solid var(--border-row);transition:background .1s;}
.row:last-child{border:none;}
.row:hover,.row.on{background:var(--row-hover);}
.row svg{width:12px;height:12px;color:var(--muted);flex-shrink:0;}
.row-q{flex:1;font-size:13.5px;color:var(--muted2);}
.row-cat{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--cat-col);}
/* index tabs */
#tabs{display:flex;gap:2px;margin-top:20px;opacity:0;animation:up .7s cubic-bezier(.22,1,.36,1) .44s forwards;}
.tab{font-size:11px;letter-spacing:.06em;color:var(--muted);padding:5px 14px;border-radius:999px;cursor:pointer;border:1px solid transparent;transition:color .18s,border-color .18s,background .18s;}
.tab:hover{color:var(--muted2);}
.tab.active{color:var(--text);border-color:var(--card-border);background:var(--card-bg);}
#bottom{align-self:end;width:100%;padding:0 40px 56px;display:none;opacity:0;animation:up .7s cubic-bezier(.22,1,.36,1) .62s forwards;}
/* footer strip (index) */
#foot-strip{position:fixed;bottom:0;left:0;right:0;height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;border-top:1px solid var(--foot-bord);opacity:0;animation:fadeIn .5s ease 1s forwards;}

/* mic overlay */
#mic-overlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;background:#0d0d0d;transition:opacity .22s ease;}
#mic-overlay.show{opacity:1;pointer-events:auto;}
#mic-overlay-particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.mo-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;pointer-events:none;}
.mo-brand{font-family:'Syne',sans-serif;font-size:19px;font-weight:500;letter-spacing:-.03em;color:rgba(255,255,255,.9);margin-bottom:26px;}
.mo-orb{width:88px;height:88px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:32px;background:#fff;}
.mo-orb svg{width:30px;height:30px;position:relative;z-index:2;}
.mo-orb .pr{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(255,255,255,.12);opacity:0;}
#mic-overlay.show .mo-orb .pr:nth-child(1){animation:mo-ripple 2.2s ease-out infinite;}
#mic-overlay.show .mo-orb .pr:nth-child(2){animation:mo-ripple 2.2s ease-out .65s infinite;}
#mic-overlay.show .mo-orb .pr:nth-child(3){animation:mo-ripple 2.2s ease-out 1.3s infinite;}
#mic-overlay.ready .mo-orb .pr{animation:none !important;opacity:0;}
.mo-label{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;font-weight:500;color:rgba(255,255,255,.6);margin-bottom:10px;}
.mo-status{font-size:13px;font-style:italic;color:rgba(255,255,255,.32);margin-bottom:30px;max-width:min(70vw,620px);text-align:center;line-height:1.5;min-height:1.5em;padding:0 18px;}
.mo-actions{display:flex;align-items:center;justify-content:center;gap:12px;pointer-events:auto;}
.mo-submit,.mo-cancel{font-family:'Geist',sans-serif;font-size:11px;letter-spacing:1.8px;text-transform:uppercase;font-weight:500;padding:13px 28px;border-radius:50px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:10px;}
.mo-submit{border:1px solid rgba(255,255,255,.08);background:#ffffff;color:#0d0d0d;box-shadow:0 12px 30px rgba(0,0,0,.18);}
.mo-submit:hover{transform:translateY(-1px);filter:brightness(.98);}
.mo-submit[hidden]{display:none !important;}
.mo-cancel{background:transparent;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.72);}
.mo-cancel:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.35);color:#fff;}
.mo-cancel svg{width:12px;height:12px;flex-shrink:0;}
[data-theme="light"] #mic-overlay{background:#ffffff;}
[data-theme="light"] .mo-brand{color:#1a1a1a;}
[data-theme="light"] .mo-orb{background:#1a1a1a;}
[data-theme="light"] .mo-orb svg{stroke:#ffffff;}
[data-theme="light"] .mo-orb .pr{border-color:rgba(26,26,26,.12);}
[data-theme="light"] .mo-label{color:rgba(26,26,26,.58);}
[data-theme="light"] .mo-status{color:rgba(26,26,26,.34);}
[data-theme="light"] .mo-submit{background:#1a1a1a;color:#ffffff;box-shadow:0 12px 30px rgba(20,20,30,.10);}
[data-theme="light"] .mo-cancel{border-color:rgba(26,26,26,.18);color:rgba(26,26,26,.7);}
[data-theme="light"] .mo-cancel:hover{background:rgba(26,26,26,.06);border-color:rgba(26,26,26,.32);color:#1a1a1a;}
@keyframes mo-ripple{0%{transform:scale(1);opacity:.5;}100%{transform:scale(4.2);opacity:0;}}
@media(max-width:768px){
  #page{grid-template-rows:auto 1fr auto;min-height:100vh;height:auto;}
  #nav{padding:18px 16px 0;justify-content:flex-end;}
  .nav-links{gap:10px;flex-wrap:wrap;justify-content:flex-end;max-width:100%;}
  .nav-link{font-size:10px;letter-spacing:.08em;}
  #center{width:100%;padding:0 14px 56px;margin-bottom:0;overflow-x:hidden;}
  #hero{width:100%;margin-bottom:30px;}
  .logo-text{font-size:clamp(38px,14vw,56px);}
  .logo-alpha-badge{top:6px;left:calc(100% + 8px);min-width:36px;height:20px;padding:0 8px;font-size:8px;}
  .logo-tag{font-size:9px;letter-spacing:.18em;padding:0 6px;}
  #search-wrap{max-width:100%;min-width:0;}
  #arc-shell,#box{width:100%;min-width:0;}
  #box{padding:0 6px 0 14px;gap:4px;}
  #placeholder-typer{left:46px;right:52px;max-width:calc(100% - 98px);overflow:hidden;text-overflow:ellipsis;}
  #mic-interim{left:46px;right:52px;max-width:calc(100% - 98px);}
  #tabs{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;padding-bottom:2px;scrollbar-width:none;}
  #tabs::-webkit-scrollbar{display:none;}
  .tab{white-space:nowrap;flex:0 0 auto;}
  #bottom{padding:0 16px 52px;}
  #foot-strip{padding:0 16px;gap:8px;overflow:hidden;}
  #foot-strip .fs{min-width:0;}
  #foot-strip .fs:last-child{display:none;}
  .mo-brand{margin-bottom:22px;font-size:18px;}
  .mo-orb{width:82px;height:82px;margin-bottom:28px;}
  .mo-status{max-width:min(88vw,420px);margin-bottom:24px;}
  .mo-actions{gap:10px;flex-wrap:wrap;}
  .mo-submit,.mo-cancel{padding:12px 24px;}
}

/* ══════════════════════════════════════
   15. SETTINGS PANEL
   ══════════════════════════════════════ */
#settings-panel{position:fixed;top:68px;right:24px;width:min(100vw - 32px,440px);max-height:min(86vh,720px);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--sp-shell-bg);border:none;border-radius:28px;box-shadow:var(--sp-shell-shad);padding:24px 24px 20px;z-index:999;opacity:0;transform:translateY(-12px) scale(.98);pointer-events:none;transition:opacity .26s ease,transform .26s cubic-bezier(.22,1,.36,1);}
#settings-panel.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}
.sp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;opacity:0;transform:translateX(-10px);transition:opacity .24s ease,transform .24s ease;}
#settings-panel.open .sp-head{opacity:1;transform:translateX(0);}
.sp-title{font-family:'Geist',sans-serif;font-size:20px;font-weight:500;letter-spacing:-0.02em;color:var(--text);line-height:1.15;}
.sp-head-gear{width:40px;height:40px;border-radius:50%;border:none;cursor:default;display:flex;align-items:center;justify-content:center;background:var(--sp-icon-bg);color:var(--hi-text);flex-shrink:0;}
.sp-head-gear svg{width:18px;height:18px;}
.sp-card{background:var(--sp-card-bg);border-radius:20px;box-shadow:var(--sp-card-shad);margin-bottom:12px;opacity:0;transform:translateX(-10px);transition:opacity .24s ease,transform .24s ease;}
#settings-panel.open .sp-card{opacity:1;transform:translateX(0);}
#settings-panel.open .sp-card:nth-child(2){transition-delay:.04s;}
#settings-panel.open .sp-card:nth-child(3){transition-delay:.08s;}
#settings-panel.open .sp-card:nth-child(4){transition-delay:.12s;}
.sp-row{display:flex;align-items:center;gap:16px;padding:18px 20px;}
.sp-icon{width:44px;height:44px;border-radius:50%;background:var(--sp-icon-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--hi-text);}
.sp-icon svg{width:18px;height:18px;}
.sp-info{flex:1;min-width:0;padding-right:8px;}
.sp-label{font-size:15px;font-weight:500;color:var(--text);line-height:1.25;letter-spacing:-0.01em;}
.sp-desc{font-size:13px;color:var(--muted2);margin-top:4px;line-height:1.35;}
.sp-theme-btns{display:flex;align-items:center;gap:2px;padding:4px;border-radius:999px;background:var(--sp-theme-track);flex-shrink:0;}
.sp-theme-btn{width:44px;height:40px;border-radius:999px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted2);transition:background .18s,color .18s,box-shadow .18s;}
.sp-theme-btn:hover:not(.active){color:var(--text);background:rgba(0,0,0,0.05);}
[data-theme="dark"] .sp-theme-btn:hover:not(.active){background:rgba(255,255,255,0.08);}
.sp-theme-btn svg{width:17px;height:17px;fill:currentColor;stroke:currentColor;}
.sp-theme-btn.active{background:var(--sp-theme-dot);color:var(--text);box-shadow:0 2px 8px rgba(0,0,0,0.1);}
[data-theme="dark"] .sp-theme-btn.active{box-shadow:0 2px 14px rgba(0,0,0,0.45);}
.sp-select-wrap{position:relative;flex-shrink:0;border-radius:999px;background:var(--sp-pill-bg);padding:0 36px 0 18px;}
.sp-select-wrap::after{content:'';position:absolute;right:14px;top:50%;width:7px;height:7px;border-right:2px solid var(--muted2);border-bottom:2px solid var(--muted2);transform:translateY(-60%) rotate(45deg);pointer-events:none;opacity:0.75;}
.sp-select{appearance:none;-webkit-appearance:none;background:transparent;border:none;color:var(--text);font-family:'Geist',sans-serif;font-size:14px;font-weight:400;padding:12px 0;cursor:pointer;outline:none;min-width:118px;}
.sp-select option{background:var(--panel);color:var(--text);}
.sp-toggle{width:50px;height:28px;border-radius:999px;background:var(--drop-bord);border:none;cursor:pointer;position:relative;flex-shrink:0;transition:background .2s;}
.sp-toggle::after{content:'';position:absolute;width:22px;height:22px;border-radius:50%;background:#fff;top:3px;left:3px;box-shadow:0 1px 3px rgba(0,0,0,0.2);transition:transform .2s cubic-bezier(.34,1.56,.64,1);}
.sp-toggle.on{background:var(--hi-text);}
.sp-toggle.on::after{transform:translateX(22px);}
.sp-footer{padding:8px 0 0;margin-top:8px;opacity:0;transition:opacity .24s ease .18s;}
#settings-panel.open .sp-footer{opacity:1;}
.sp-all-btn{width:100%;padding:15px 20px;border-radius:16px;background:var(--hi-text);border:none;cursor:pointer;font-family:'Geist',sans-serif;font-size:15px;font-weight:500;color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s,filter .15s,opacity .15s;}
.sp-all-btn:hover{filter:brightness(1.06);}
.sp-all-btn:active{transform:scale(0.99);}
.sp-all-btn svg{width:18px;height:18px;}

/* ══════════════════════════════════════
   16. GLOBAL TRANSITIONS
   ══════════════════════════════════════ */
*,*::before,*::after{transition:background-color .3s,border-color .3s,color .25s;}
#top-arc::before,#arc-shell::before{transition:opacity .35s ease,inset .35s ease;}
#top-arc::after,#arc-shell::after{transition:inset .35s ease,background-color .3s;}
