/* Warm editorial service shell; intentionally opt-in, never guest album/admin CSS. */
body.panda-site {
  --panda-paper:#f4f0e6; --panda-ink:#273f34; --panda-accent:#9a653c;
  --bg:var(--panda-paper); --surface:#fffdf7; --surface2:#eee9dd;
  --text:var(--panda-ink); --text2:#405348; --muted:#5d6b61; --muted-light:#c8d0c3;
  --border:#d7d7c8; --border-light:#e3e0d4; --accent:var(--panda-accent);
  --accent-dark:#7c4d2c; --accent-light:#bb9165; --nav-height:90px;
  --v7-ink:var(--panda-ink); --v7-muted:#5d6b61; --v7-rose-deep:var(--panda-accent);
  --v7-rose:#d9dfcf; --v7-rose-bg:#eee9dd; --v7-blue:#f4f0e6; --v7-beige:#eee9dd;
  --v7-card-shadow:0 8px 24px #273f3408;
  margin:0; background:var(--panda-paper); color:var(--panda-ink);
  font-family:"Segoe UI",Helvetica,Arial,sans-serif; font-size:15px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
body.panda-site *,body.panda-site *::before,body.panda-site *::after { box-sizing:border-box; }
body.panda-site h1,body.panda-site h2,body.panda-site h3,body.panda-site h4 {
  font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.035em; color:var(--panda-ink);
}
:where(body.panda-site) a { color:inherit; }
body.panda-site a,body.panda-site button { touch-action:manipulation; }
body.panda-site :is(a,button,input,select,textarea):focus-visible { outline:3px solid var(--panda-accent); outline-offset:4px; }
body.panda-site #main-nav {
  position:sticky; inset:auto; top:0; z-index:1000; width:100%; height:auto; min-height:90px;
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px 28px;
  padding:20px 5%; border:0; border-bottom:1px solid var(--border);
  background:#f4f0e6f5; backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); box-shadow:none;
}
body.panda-site #main-nav :is(.logo,.brand,.panda-wordmark) {
  margin:0; padding:8px 0; white-space:nowrap; font:650 16px/1.3 "Segoe UI",Helvetica,Arial,sans-serif;
  color:var(--panda-ink); letter-spacing:.12em; text-decoration:none;
}
body.panda-site #main-nav .menu {
  display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px 24px; min-width:0;
}
body.panda-site #main-nav .menu a {
  display:inline-flex; align-items:center; min-height:40px; padding:8px 0; margin:0; border:0; border-radius:0;
  font:500 13px/1.4 "Segoe UI",Helvetica,Arial,sans-serif; letter-spacing:0; text-transform:none;
  color:var(--panda-ink); text-decoration:none; background:transparent; box-shadow:none;
}
body.panda-site #main-nav .menu a::after { display:none; }
body.panda-site #main-nav .menu a:hover,body.panda-site #main-nav .menu a[aria-current] { color:var(--panda-accent); text-decoration:underline; text-underline-offset:6px; }
body.panda-site #main-nav .menu .login { border:1px solid var(--panda-ink); border-radius:28px; padding:9px 17px; }
body.panda-site #main-nav .menu [hidden] { display:none; }
body.panda-site :is(.btn,.btn-primary,.btn-submit,.v7-btn,.m-button) {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:44px; padding:12px 23px; border:1px solid var(--panda-ink); border-radius:28px;
  background:var(--panda-ink); color:#fffdf7; font:600 14px/1.4 "Segoe UI",Helvetica,Arial,sans-serif;
  letter-spacing:0; text-transform:none; text-decoration:none; cursor:pointer; box-shadow:none;
}
body.panda-site :is(.v7-btn.s,.btn-outline,.m-button:not(.primary)) { background:transparent; color:var(--panda-ink); }
body.panda-site .v7-btn.p,body.panda-site .v7-btn.rose { background:var(--panda-ink); color:#fffdf7; }
body.panda-site :is(.btn,.btn-submit,.v7-btn,.m-button):hover { filter:brightness(1.12); }
body.panda-site button:disabled { cursor:not-allowed; opacity:.55; }
body.panda-site :is(.auth-form,.contact-form,.v7-field) :is(input:not([type=checkbox]):not([type=radio]),select,textarea),
body.panda-site :is(.v7-input,.albums-search input) {
  max-width:100%; min-width:0; border:1px solid #adb7a8; border-radius:8px; padding:12px 14px;
  background:#fffdf7; color:var(--panda-ink); font:16px/1.5 "Segoe UI",Helvetica,Arial,sans-serif;
}
body.panda-site :is(.auth-form,.contact-form,.v7-field) label { color:var(--text2); font-family:inherit; font-size:13px; letter-spacing:0; text-transform:none; }
body.panda-site .panda-legacy-content { padding-top:3rem!important; overflow-wrap:anywhere; }
body.panda-site #albums-list-view { padding-top:2rem!important; }
body.panda-site :is(footer,.v7-foot) { background:var(--panda-ink); color:#e4e6d9; }
body.panda-site :is(footer,.v7-foot) a { color:inherit; }
body.panda-site footer p,body.panda-site .footer-logo span { color:inherit; }
body.panda-site .footer-logo { color:#fffdf7; font:650 16px "Segoe UI",sans-serif; letter-spacing:.12em; }
body.panda-site.auth { display:block; min-height:100vh; padding:0; background:var(--panda-paper); }
body.panda-site .auth-back { display:none; }
body.panda-site .auth-card {
  width:calc(100% - 32px); max-width:440px; margin:clamp(32px,7vh,80px) auto; padding:36px 30px;
  border:1px solid var(--border); border-radius:14px; background:var(--surface); box-shadow:none;
}
body.panda-site .auth-card .logo,body.panda-site :is(.auth-header,.share-header) .logo-text { display:none; }
body.panda-site .auth-card h1 { font:400 32px/1.2 Georgia,serif; margin-bottom:12px; }
body.panda-site .auth-card .sub { color:var(--muted); }
body.panda-site :is(.auth-container,.share-container) { width:100%; max-width:480px; min-height:calc(100svh - 90px); padding:40px 24px; }
body.panda-site .share-container { max-width:650px; }
body.panda-site .auth-header h1 { font:400 32px/1.2 Georgia,serif; margin:0; }
body.panda-site .auth-links a { color:var(--panda-accent); text-decoration:underline; text-underline-offset:3px; }
body.panda-site .share-drop-zone { border-color:#adb7a8; background:var(--surface); }
body.panda-site #cookie-banner { font-family:"Segoe UI",Helvetica,Arial,sans-serif; letter-spacing:0; }
body.panda-site #cookie-banner a { color:#e5dac5; }
body.panda-site #cookie-banner .cookie-btn { min-height:40px; border-radius:28px; font-family:inherit; letter-spacing:0; text-transform:none; }
body.panda-site #cookie-banner .cookie-btn--primary { background:#f4f0e6; border-color:#f4f0e6; color:var(--panda-ink); }
@media(max-width:760px) {
  body.panda-site #main-nav { padding:15px 6%; gap:8px; align-items:flex-start; }
  body.panda-site #main-nav .menu { width:100%; justify-content:flex-start; gap:2px 18px; }
  body.panda-site #main-nav .menu a { font-size:12px; min-height:40px; }
  body.panda-site #main-nav .menu .login { padding:7px 13px; }
  body.panda-site .auth-card { padding:28px 22px; }
  body.panda-site .panda-legacy-content { padding-top:2rem!important; }
}
@media(prefers-reduced-motion:reduce) {
  body.panda-site :is(#main-nav,.btn,.v7-btn,.m-button,input,textarea) { transition:none; }
}
body.panda-site .skip-link{position:absolute;top:0;left:16px;z-index:1100;transform:translateY(-150%);padding:10px 16px;background:var(--panda-ink);color:var(--panda-paper)}body.panda-site .skip-link:focus{transform:translateY(0)}
