/* UI rebuild (2026-10-16): charcoal shell with warm earth accents, landing hero, mobile top bar + bottom nav.
   Loaded after styles.css and redesign.css; only overrides. */
[data-theme=dark]{--bg:#161412;--surface:#211e1b;--surface2:#2b2723;--ink:#f3ede4;--muted:#c9bdad;--line:#3a342e;--accent:#e9a25b;--accent-ink:#1a1612;--gold:#e7b56a;--warm:#c8692f}
:root{--gold:#a8641f;--warm:#b3561f;--hdr:#151311;--hdr-ink:#f3ede4;--hdr-muted:#cfc3b3;--hdr-line:#2f2a25}
[data-theme=dark] body{background:var(--bg);background-image:none}
/* header: dark in both themes */
.site-header,[data-theme=dark] .site-header{background:var(--hdr)!important;color:var(--hdr-ink);border-bottom:1px solid var(--hdr-line)!important}
.site-header .tb-title{color:var(--hdr-ink)}.site-header .tb-who strong{color:var(--hdr-ink)}.site-header .tb-who span{color:var(--hdr-muted)}
.site-header .btn.ghost,.site-header #authBtn{background:transparent!important;color:var(--hdr-ink)!important;border:1px solid #5a5048!important}
.site-header .sync-pill{background:#2a2622;color:var(--hdr-ink);border-color:#4a423b}
.site-header .burger i{background:var(--hdr-ink)}
.site-header .add-cta{background:#c8692f;border-color:#c8692f;color:#fff}
.notice{background:transparent;color:var(--muted);border-bottom:1px solid var(--line)}
/* sidebar */
.side-nav{background:#121110;border-right:1px solid #2c2723;color:#f3ede4}
.side-nav .side-title{color:#f3ede4}.side-nav .side-motto{color:#e7b56a!important;font-style:normal;letter-spacing:.02em}
.side-brand img{width:56px;height:56px;border-radius:50%;box-shadow:0 0 0 2px #3a2f25}
.side-main a,.side-explore,.side-more a{color:#efe7dc!important}
.side-main a .si,.side-explore .si{stroke:#f3ede4;opacity:1;width:22px;height:22px}
.side-main a:hover,.side-explore:hover,.side-more a:hover{background:#2a241f!important}
.side-main a[aria-current=page],[data-theme=dark] .side-main a[aria-current=page]{background:#3b2b1f!important;color:#ffd7a8!important;box-shadow:inset 3px 0 0 #e9a25b}
.side-main a[aria-current=page] .si{stroke:#ffd7a8}
.side-more a[aria-current=page]{color:#ffd7a8!important}
.side-theme{color:#efe7dc;background:#1e1b18;border-color:#3a342e}
.side-loc{background:#1e1b18;border-color:#3a342e;color:#efe7dc}.side-loc .lock,.side-loc .shield{stroke:#e7b56a}
.side-note{color:#bfb3a3}
.side-copy{margin:10px 4px 0;font-size:.78rem;color:#bfb3a3}
/* landing hero (signed out) */
.landing{display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:clamp(28px,5vw,72px);align-items:center;background:#141210;color:#f3ede4;border-radius:22px;padding:clamp(36px,6vw,80px) clamp(24px,5vw,72px);margin:20px 0 28px;border:1px solid #2c2723}
.landing[hidden]{display:none}
.landing-logo img{width:100%;max-width:360px;height:auto;display:block}.landing-logo .logo-d img{aspect-ratio:1;border-radius:50%;box-shadow:0 18px 60px rgba(0,0,0,.55)}
.landing-word{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:clamp(2.4rem,5.4vw,4.4rem);line-height:1.05;margin:0;color:#f6f1e8!important;position:static!important;width:auto!important;height:auto!important;clip:auto!important}
.landing-tag{color:#e7b56a;font-size:clamp(1.05rem,1.8vw,1.35rem);letter-spacing:.06em;margin:.6em 0 0}
.landing-sub{color:#d9cfc1;font-size:clamp(1rem,1.4vw,1.15rem);margin:1.1em 0 0;max-width:34em}
.landing-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:2em}
.btn.warm-solid{background:#c8692f;border:1px solid #c8692f;color:#fff;font-weight:600}.btn.warm-solid:hover{background:#d97a3f}
.btn.warm-outline{background:transparent;border:1.5px solid #e7b56a;color:#f3e2c6;font-weight:600}.btn.warm-outline:hover{background:rgba(231,181,106,.12)}
.owner-h{font-family:Fraunces,Georgia,serif;font-size:1.9rem;margin:22px 0 4px}
.privacy-note{display:flex;gap:8px;align-items:center;justify-content:center;color:var(--muted);font-size:.86rem;margin:48px auto 12px;text-align:center}
.privacy-note svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
#authSignUp.pulse{outline:2px solid var(--accent);outline-offset:2px}
/* public: catalog IDs hidden (the sanitizer swaps text IDs for names) */
body.is-public .cid-big,body.is-public #mId,body.is-public .id-pill,body.public-route .id-pill{display:none!important}
/* footer */
.site-footer{color:var(--muted)}.foot-owner{color:var(--ink);font-weight:500}
/* mobile */
.bottom-nav{display:none}
.brand-stack{display:flex;flex-direction:column;line-height:1.1}.brand-tag{font-size:.7rem;color:#e7b56a;letter-spacing:.04em}
@media (min-width:901px){.site-header .brand{display:none!important}}
@media (max-width:900px){
  .site-header .header-row{display:grid!important;grid-template-columns:44px 1fr auto;align-items:center;gap:8px;padding-block:8px}
  .site-header #menuBtn{grid-column:1;grid-row:1;order:0;margin:0}
  .site-header .brand{grid-column:2;grid-row:1;justify-self:center;display:flex!important;gap:10px}
  .site-header .brand img{width:40px;height:40px;border-radius:50%}
  .site-header .brand-txt{font-size:1.12rem;color:#f6f1e8}
  .site-header #authBtn{grid-column:3;grid-row:1;padding:6px 10px;font-size:.85rem}
  .site-header .tb-user{grid-column:3;grid-row:1}
  .site-header .add-cta,.site-header .sync-pill,.site-header .tb-head{display:none!important}
  .bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:60;background:#121110;border-top:1px solid #2c2723;padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
  .bottom-nav a,.bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:3px;color:#efe7dc;text-decoration:none;font:500 .72rem/1.1 var(--sans);background:none;border:0;padding:6px 2px;border-radius:10px;min-height:48px;justify-content:center}
  .bottom-nav .si{width:22px;height:22px;fill:none;stroke:#f3ede4;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .bottom-nav a[aria-current=page]{color:#ffd7a8;background:#2e241c}.bottom-nav a[aria-current=page] .si{stroke:#ffd7a8}
  .bottom-nav .bn-add .si{stroke:#e9a25b}
  .landing{grid-template-columns:1fr;text-align:center;justify-items:center;padding:32px 22px;gap:24px}
  .landing-logo img,.landing-logo .logo-d img{max-width:240px;border-radius:0;aspect-ratio:auto;box-shadow:none;margin:0 auto}
  .landing-cta{justify-content:center}
  .landing-cta .btn{flex:1 1 140px}
}
@media (max-width:640px){.landing-logo img{max-width:240px}.landing-txt .landing-word{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden;clip:rect(0 0 0 0)!important}.landing-tag{display:none}}
@media print{.bottom-nav,.landing{display:none!important}}
.landing-cta .btn{display:inline-flex;align-items:center;justify-content:center;text-align:center}
@media (max-width:640px){.landing{background:#171717}}
@media (max-width:900px){.site-header .tb-user{display:none!important}body:has(#modal:not([hidden])) .bottom-nav,body:has(dialog[open]) .bottom-nav{display:none}}
/* Home (landing) route */
.home-view .landing{min-height:min(72vh,640px);margin-top:28px}
.landing-explore{margin:1.4em 0 0}.landing-explore a{color:#f3d3a4;font-weight:600;text-decoration:underline;text-underline-offset:4px}
.home-view .privacy-note{margin-top:28px}

/* ---- Theme logo swap (instant on toggle): .logo-d shows in dark, .logo-l in light ---- */
.logo-swap{display:block}.logo-swap>picture{display:block}
.logo-swap>.logo-l{display:none}[data-theme=light] .logo-swap>.logo-l{display:block}[data-theme=light] .logo-swap>.logo-d{display:none}
.side-logo .logo-d img{width:56px;height:56px;border-radius:50%;box-shadow:0 0 0 2px #3a2f25}
.side-brand img{box-shadow:none}
/* ---- Light theme: light shell, dark wordmark, readable gold ---- */
[data-theme=light]{--hdr:#fbf7ee;--hdr-ink:#2b2622;--hdr-muted:#5f554b;--hdr-line:#e6dccd;--gold:#8a5a12}
[data-theme=light] .site-header .btn.ghost,[data-theme=light] .site-header #authBtn{color:#2b2622!important;border-color:#cdbfa8!important}
[data-theme=light] .site-header .sync-pill{background:#f1e9dc;color:#2b2622;border-color:#ddd0bb}
[data-theme=light] .site-header .brand-txt{color:#2b2622}[data-theme=light] .brand-tag{color:#8a5a12}
[data-theme=light] .site-header .lockup-icon{box-shadow:none;background:transparent}
[data-theme=light] .side-nav{background:#fbf7ee;border-right:1px solid #e6dccd;color:#2b2622}
[data-theme=light] .side-nav .side-title{color:#2b2622}[data-theme=light] .side-nav .side-motto{color:#8a5a12!important}
[data-theme=light] .side-brand{flex-direction:column;align-items:flex-start}
[data-theme=light] .side-words{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
[data-theme=light] .side-logo .logo-l img{width:208px;height:auto;border-radius:6px}
[data-theme=light] .side-main a,[data-theme=light] .side-explore,[data-theme=light] .side-more a{color:#2b2622!important}
[data-theme=light] .side-main a .si,[data-theme=light] .side-explore .si{stroke:#2b2622}
[data-theme=light] .side-main a:hover,[data-theme=light] .side-explore:hover,[data-theme=light] .side-more a:hover{background:#f1e7d6!important}
[data-theme=light] .side-main a[aria-current=page]{background:#f3e0c9!important;color:#7a3a10!important;box-shadow:inset 3px 0 0 #b3561f}
[data-theme=light] .side-main a[aria-current=page] .si{stroke:#7a3a10}[data-theme=light] .side-more a[aria-current=page]{color:#7a3a10!important}
[data-theme=light] .side-theme,[data-theme=light] .side-loc{background:#fffdf9;border-color:#e6dccd;color:#2b2622}
[data-theme=light] .side-loc .lock,[data-theme=light] .side-loc .shield{stroke:#8a5a12}
[data-theme=light] .side-note,[data-theme=light] .side-copy{color:#5f554b}
[data-theme=light] .landing-sub{color:#4a4038;margin-inline:auto}
[data-theme=light] .btn.warm-outline{border-color:#a8641f;color:#6b3a10}[data-theme=light] .btn.warm-outline:hover{background:#f5e6d0}
[data-theme=light] .btn.warm-solid{background:#b3561f;border-color:#b3561f}
[data-theme=light] .landing-explore a{color:#8a4a14}
@media (max-width:900px){[data-theme=light] .bottom-nav{background:#fbf7ee;border-top-color:#e6dccd}
  [data-theme=light] .bottom-nav a,[data-theme=light] .bottom-nav button{color:#2b2622}[data-theme=light] .bottom-nav .si{stroke:#2b2622}
  [data-theme=light] .bottom-nav a[aria-current=page]{color:#7a3a10;background:#f3e0c9}[data-theme=light] .bottom-nav a[aria-current=page] .si{stroke:#7a3a10}[data-theme=light] .bottom-nav .bn-add .si{stroke:#b3561f}
  [data-theme=light] .site-header .brand-txt{color:#2b2622}}
[data-theme=light] .auth-logo img,[data-theme=light] .about-logo img{background:transparent}
[data-theme=light] .auth-card{background:#fcf8ef}

/* ================= Polish (2026-10-16 evening) ================= */
:root{--wm:"Cormorant Garamond","Cormorant",Georgia,"Times New Roman",serif;--pad:clamp(20px,3vw,36px)}
/* no bottom nav anywhere: mobile uses the hamburger only */
.bottom-nav{display:none!important}
/* compact header: ~56px */
.site-header .header-row{min-height:56px;padding-block:6px!important;gap:8px!important;align-items:center}
.site-header .btn{min-height:36px;padding:6px 12px;font-size:.88rem;border-radius:10px}
.site-header .add-cta{padding:6px 14px}
.site-header .sync-pill{padding:3px 9px;font-size:.74rem}
.site-header .tb-title{font-size:1.18rem}
.site-header .tb-av{width:32px;height:32px}
.site-header .tb-who strong{font-size:.86rem}.site-header .tb-who span{font-size:.74rem}
.site-header #menuBtn{width:40px;height:40px;min-height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center}
.notice .wrap{padding-block:6px;font-size:.78rem;line-height:1.35}
@media (min-width:901px){:root{--tbh:56px}}
/* sidebar spacing + contrast */
.side-nav{padding:20px 14px}
.side-main a,.side-explore{padding:10px 12px;font-size:.95rem;font-weight:500;gap:12px;border-radius:10px}
.side-brand .side-title{font-family:var(--wm);font-weight:600;font-size:1.35rem;letter-spacing:.005em}
.brand-txt{font-family:var(--wm)!important;font-weight:600!important;letter-spacing:.005em}
/* main area: generous, consistent */
.app-shell>main{padding:var(--pad) var(--pad) 48px!important}
.card,.rv-card,.stats>div{border-radius:16px}
.grid{gap:20px}
.stats{gap:16px}
.view-head,.sec-h{margin-top:8px}
.site-footer{padding:22px 0 26px;text-align:center;border-top:1px solid var(--line);font-size:.86rem}
/* ---- Hero: logo-forward, full height, balanced (both themes) ---- */
.home-view .landing{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);align-items:center;gap:clamp(32px,5vw,80px);
  min-height:calc(100vh - 56px - 34px - 2*var(--pad) - 70px);margin:0;padding:clamp(40px,6vw,96px) clamp(32px,6vw,96px);border-radius:24px;
  background:radial-gradient(800px 500px at 20% 40%,rgba(200,105,47,.10),transparent 60%),#141210}
.home-view .landing-logo{width:100%;max-width:none;justify-self:center}
.home-view .landing-logo img{width:100%;max-width:520px;margin:0 auto}
.landing-word{font-family:var(--wm)!important;font-weight:600!important;font-size:clamp(3rem,6.2vw,5.6rem)!important;line-height:1!important;letter-spacing:.005em;color:#f7f2ea!important}
.landing-tag{font-family:var(--wm);font-weight:500;font-size:clamp(1.25rem,2.1vw,1.75rem)!important;letter-spacing:.14em!important;color:#e7b56a;margin-top:.55em!important}
.landing-sub{font-size:clamp(1.02rem,1.3vw,1.2rem)!important;line-height:1.6;color:#d9cfc1;margin-top:1.4em!important}
.landing-cta{gap:14px!important;margin-top:2.2em!important}
.landing-cta .btn{min-width:170px;min-height:50px;font-size:1.02rem;border-radius:12px}
.landing-explore{margin-top:1.6em!important}
.home-view .privacy-note{margin:22px auto 0}
[data-theme=light] .home-view .landing{background:radial-gradient(800px 500px at 20% 40%,rgba(179,86,31,.08),transparent 60%),#fcf8ef;border-color:#e6dccd;color:#2b2622}
[data-theme=light] .landing-word{color:#2a2420!important}
[data-theme=light] .landing-tag{color:#8a5a12}
[data-theme=light] .landing-sub{color:#4a4038}
@media (max-width:900px){
  .home-view .landing{grid-template-columns:1fr;text-align:center;justify-items:center;min-height:auto;padding:36px 22px 40px;gap:22px}
  .home-view .landing-logo img{max-width:300px}
  .landing-cta{justify-content:center}
  .app-shell>main{padding:16px 14px 36px!important}
  .site-header .header-row{grid-template-columns:40px 1fr auto!important}
}
@media (max-width:640px){
  .home-view .landing-logo img,.home-view .landing-logo .logo-d img{max-width:260px}
  .landing-cta .btn{min-width:0}
}
/* polish pass 2 */
.landing-word{white-space:nowrap;font-size:clamp(2.8rem,4.3vw,4.5rem)!important}
.side-brand .side-title{white-space:nowrap;font-size:1.24rem}
.stats{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}
body.signed-in #view-catalog>.knap{display:none}
body.signed-in #view-catalog>.sec-h{margin-top:4px}
@media (max-width:900px){.landing-word{white-space:normal}}
@media (max-width:640px){.home-view .landing{background:#171717!important;border-color:#2c2723}[data-theme=light] .home-view .landing{background:#fcf8ef!important;border-color:#e6dccd}}
/* mobile drawer: branded, icons, theme-aware */
.site-header nav.nav-menu{background:#141210!important;color:#f3ede4;padding:16px 14px 24px!important;border-left:1px solid #2c2723}
.nav-brand{display:flex;gap:12px;align-items:center;padding:4px 8px 16px;margin-bottom:8px;border-bottom:1px solid #2c2723}
.nav-brand img{width:40px;height:40px;border-radius:50%}.nav-brand strong{display:block;font-family:var(--wm);font-size:1.25rem;font-weight:600;color:#f6f1e8}.nav-brand em{font-style:normal;font-size:.74rem;letter-spacing:.06em;color:#e7b56a}
.site-header nav.nav-menu a,.site-header nav.nav-menu .nav-item{display:flex!important;align-items:center;gap:12px;color:#efe7dc!important;padding:11px 12px!important;border-radius:10px;font-weight:500}
.site-header nav.nav-menu .si{width:22px;height:22px;flex:none;fill:none;stroke:#f3ede4;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.site-header nav.nav-menu a[aria-current=page]{background:#3b2b1f!important;color:#ffd7a8!important;box-shadow:inset 3px 0 0 #e9a25b}
.site-header nav.nav-menu a[aria-current=page] .si{stroke:#ffd7a8}
.site-header nav.nav-menu .nav-sub a{padding-left:46px!important;font-size:.94rem}
.site-header nav.nav-menu hr{border-color:#2c2723}
[data-theme=light] .site-header nav.nav-menu{background:#fbf7ee!important;color:#2b2622;border-left-color:#e6dccd}
[data-theme=light] .nav-brand{border-bottom-color:#e6dccd}[data-theme=light] .nav-brand strong{color:#2a2420}[data-theme=light] .nav-brand em{color:#8a5a12}
[data-theme=light] .site-header nav.nav-menu a,[data-theme=light] .site-header nav.nav-menu .nav-item{color:#2b2622!important}
[data-theme=light] .site-header nav.nav-menu .si{stroke:#2b2622}
[data-theme=light] .site-header nav.nav-menu a[aria-current=page]{background:#f3e0c9!important;color:#7a3a10!important;box-shadow:inset 3px 0 0 #b3561f}
[data-theme=light] .site-header nav.nav-menu a[aria-current=page] .si{stroke:#7a3a10}
[data-theme=light] .site-header nav.nav-menu hr{border-color:#e6dccd}
.site-header nav.nav-menu .nav-explore{justify-content:flex-start!important}.nav-explore .nx-l{margin-right:auto}
.side-nav .side-motto{white-space:nowrap;font-size:.74rem}
.site-footer,[data-theme=dark] .site-footer{background:transparent!important;color:var(--muted)}
@media (min-width:901px){.home-view .landing{grid-template-columns:42% 1fr}.home-view .landing-logo img{max-width:440px}}
.privacy-note svg{flex:none}
.site-header nav.nav-menu a[hidden],.site-header nav.nav-menu .nav-item[hidden],.site-header nav.nav-menu [hidden]{display:none!important}
