:root{
  --nav-h:76px; /* updated by JS */
  --bg:#080909;--surface:#0f1011;--surface2:#161819;
  --border:#222426;--border2:#2e3133;
  --accent:#c8ff00;--accent2:#ff3d3d;--accent3:#00cfff;
  --text:#eef0f2;--muted:#a0a4b0;--muted2:#6b6f7a;
  --lv1:#c8ff00;--lv2:#ffaa00;--lv3:#ff3d3d;--lv4:#bf7fff;
  --gutter:14px;     /* shared side padding — tighter on mobile to reclaim edge space */
  --page-max:700px;  /* reading-column cap (shared across all pages) */
  --ctrl-radius:3px; /* shared control corner radius (matches profile filter pills) */
  --ctrl-bg:var(--surface2);--ctrl-border:var(--border2);--ctrl-text:var(--text);
}
/* "Default zoom button layout" — shared with the profile editors: 23px tall, grey --ctrl-bg, ctrl-radius. */
.zbtn{height:23px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;background:var(--ctrl-bg);border:1px solid var(--ctrl-border);border-radius:var(--ctrl-radius);font-family:'Space Mono',monospace;font-size:0.46rem;text-transform:uppercase;letter-spacing:0.06em;line-height:1;cursor:pointer;white-space:nowrap;}
@media(min-width:641px){ :root{ --gutter:22px; } }   /* tablet */
@media(min-width:1025px){ :root{ --gutter:40px; } }  /* desktop */
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
/* No text-select/highlight on a quick tap of chrome; real text + .selectable still select on long-press. */
nav,button,a,label,select,.card,.ref-card{user-select:none;-webkit-user-select:none;}
input,textarea,[contenteditable],[contenteditable] *,.selectable,.selectable *{user-select:text;-webkit-user-select:text;}
/* Interactive chrome shouldn't select on tap/long-press; real prose still can.
   These containers are all controls/cards/menus (no body text), so blanket
   no-select them and their children. Panel bodies (#pb) stay selectable. */
button,label,select,.ptab,.lv-badge,
nav,.hero,.filters,.welcome-hint,.grid-header,.card,.ref-card,.drawer,.beta-strip,.inline-card,footer,.submit-section{user-select:none;-webkit-user-select:none;}
nav *,.filters *,.grid-header *,.card *,.ref-card *,.drawer *,.inline-card *,footer *{user-select:none;-webkit-user-select:none;}
nav input,.filters input,.drawer input,.drawer textarea,.inline-card input,.inline-card textarea,.submit-section input,.submit-section textarea{user-select:text;-webkit-user-select:text;}
html{scroll-behavior:smooth;overscroll-behavior-y:auto;} /* pull-to-refresh temporarily re-enabled while iterating */
body{background:var(--bg);color:var(--text);font-family:'Syne',sans-serif;font-variant-emoji:text;min-height:100vh;overflow-x:hidden;overscroll-behavior-y:auto;}
body::after{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:0.03;pointer-events:none;z-index:9999;}

/* LOADING */
#loading{position:fixed;inset:0;background:var(--bg);overflow:hidden;z-index:500;transition:opacity 0.4s;}
#loading.hide{opacity:0;pointer-events:none;}
/* While a full-screen overlay covers the page, lock page scroll so the document
   scrollbar can't flash during the initial font-swap reflow (or while the
   launcher is open over a tall page). */
html:has(#loading:not(.hide)),html.launcher-open{overflow:hidden;}
.load-favicon{width:64px;height:64px;object-fit:contain;}
.load-logo{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;letter-spacing:0.1em;color:var(--text);white-space:nowrap;}
.load-logo span{color:var(--accent);}
.load-bar{width:180px;height:2px;background:var(--border2);}
.load-fill{height:100%;background:var(--accent);width:0%;transition:width 0.4s;}
.load-text{font-family:'Space Mono',monospace;font-size:0.6rem;color:var(--muted);letter-spacing:0.15em;text-transform:uppercase;}
/* Brand (favicon+logo) sits above centre at a FIXED offset; bar+text below it.
   The same offsets are used on the launcher (.start-inner/.start-icons) and the
   profile page (.init-brand/.init-progress) so the brand never jumps between
   screens, and the below-content (icons / bar) lands around the centre. */
.load-brand,.start-inner{position:absolute;left:0;right:0;top:calc(50% - 115px);transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:0 var(--gutter);text-align:center;}
.load-progress{position:absolute;left:0;right:0;top:calc(50% - 25px);display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:0 var(--gutter);}

/* LOGGED-IN START SCREEN / LAUNCHER */
/* Launcher mirrors the #loading screen: centered favicon + BEATBOX DICTIONARY,
   then a row of icon buttons (icon + small label) under the title. The buttons
   have no visible chrome (transparent) but a padded clickable square. */
.start-screen{position:fixed;inset:0;background:var(--bg);overflow:hidden;z-index:9997;}
/* .start-inner (brand) is positioned by the shared .load-brand,.start-inner rule
   above. The icon row sits just below centre (same offset as #loading's
   .load-progress) so the buttons land around the middle, brand above. */
.start-icons{position:absolute;left:0;right:0;top:calc(50% - 25px);display:flex;flex-wrap:wrap;justify-content:center;gap:0.5rem;padding:0 var(--gutter);}
.start-ic{display:flex;flex-direction:column;align-items:center;gap:0.3rem;background:transparent;border:none;border-radius:var(--ctrl-radius);padding:0.6rem 0.45rem;cursor:pointer;transition:transform 0.1s;}
.start-ic-emo{font-size:1.6rem;line-height:1;color:var(--text);transition:color 0.15s;}
.start-ic-lbl{font-family:'Space Mono',monospace;font-size:0.4rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.05em;white-space:nowrap;transition:color 0.15s;}
.start-ic:hover .start-ic-emo,.start-ic:active .start-ic-emo,.start-ic:hover .start-ic-lbl,.start-ic:active .start-ic-lbl{color:var(--accent);}
.start-ic:active{transform:scale(0.9);}

/* NAV */
nav{position:sticky;top:0;z-index:100;background:rgba(8,9,9,0.93);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);display:flex;flex-direction:column;}
.nav-row1{display:flex;align-items:center;justify-content:space-between;height:48px;width:100%;padding:0 var(--gutter);box-sizing:border-box;}
.nav-row2{display:flex;align-items:center;justify-content:space-between;padding:0.25rem var(--gutter);gap:0.5rem;border-top:1px solid var(--border);background:rgba(255,255,255,0.02);}
.nav-logo{font-family:'Bebas Neue',sans-serif;font-size:1.2rem;letter-spacing:0.12em;color:var(--text);}
.nav-logo-text{display:flex;flex-direction:column;justify-content:center;line-height:1;min-width:0;}
.nav-logo-main{font-family:'Bebas Neue',sans-serif;font-size:1.2rem;letter-spacing:0.12em;line-height:1;}
.nav-subhead{font-family:'Space Mono',monospace;font-size:0.32rem;color:rgba(255,255,255,0.55);letter-spacing:0.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px;}
[data-theme="light"] .nav-subhead{color:rgba(255,255,255,0.7);}
.nav-count-big{font-size:0.62rem;color:var(--accent);}
#nav-tagline-text{font-family:'Space Mono',monospace;font-size:0.36rem;color:rgba(255,255,255,0.55);letter-spacing:0.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;}
.nav-count{font-family:'Space Mono',monospace;font-size:0.36rem;color:rgba(255,255,255,0.85);letter-spacing:0.06em;white-space:nowrap;flex-shrink:0;display:flex;align-items:center;gap:0.3rem;}
.nav-dot{width:6px;height:6px;border-radius:50%;background:#c8ff00;flex-shrink:0;animation:navdotpulse 2s ease-in-out infinite;box-shadow:0 0 0 0 rgba(200,255,0,0.6);}
@keyframes navdotpulse{0%,100%{box-shadow:0 0 0 0 rgba(200,255,0,0.6);}50%{box-shadow:0 0 0 5px rgba(200,255,0,0);}}
.nav-count.flash{animation:countflash 0.5s ease;}
@keyframes countflash{0%{opacity:0;transform:scale(0.85);}100%{opacity:1;transform:scale(1);}}
.nav-logo span{color:var(--accent);}
[data-theme="light"] .nav-logo span{color:#c8ff00;}
[data-theme="light"] .nav-logo{color:#fff;}
[data-theme="light"] .nav-about{border-color:rgba(255,255,255,0.25);color:rgba(255,255,255,0.7);}
[data-theme="light"] .nav-about:hover{border-color:#fff;color:#fff;}
[data-theme="light"] .nav-submit{background:#c8ff00;color:#080909;}
[data-theme="light"] .nav-login{border-color:rgba(255,255,255,0.25);color:rgba(255,255,255,0.7);}
[data-theme="light"] .nav-login:hover{border-color:#c8ff00;color:#c8ff00;}
[data-theme="light"] .nav-login.logged-in{border-color:#c8ff00;color:#c8ff00;}
[data-theme="light"] .theme-btn{border-color:var(--border2);color:var(--text);}
[data-theme="light"] .theme-btn:hover{border-color:#c8ff00;color:#c8ff00;}
.nav-right{display:flex;align-items:center;gap:4px;}
.nav-about{background:transparent;border:1px solid var(--border2);color:var(--muted);padding:0.35rem 0.8rem;font-family:'Space Mono',monospace;font-size:0.58rem;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;transition:all 0.15s;}
.nav-about:hover{border-color:var(--text);color:var(--text);}
.nav-submit{height:23px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;background:var(--ctrl-bg);color:var(--ctrl-text);border:1px solid var(--ctrl-border);border-radius:var(--ctrl-radius);padding:0 0.8rem;font-family:'Space Mono',monospace;font-size:0.58rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;transition:all 0.15s;}
.nav-submit:hover{border-color:var(--text);}
.nav-login{background:transparent;border:1px solid var(--border2);color:var(--muted);padding:0.3rem 0.5rem;cursor:pointer;font-size:0.85rem;transition:all 0.15s;line-height:1;display:flex;align-items:center;}
.nav-login:hover{border-color:var(--accent);color:var(--accent);}
.nav-login.logged-in{border-color:var(--accent);color:var(--accent);}

/* HERO — compact */
.hero{padding:1.2rem var(--gutter) 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--border);position:relative;overflow:hidden;}
.artist-marquee{display:none;align-items:center;gap:0.6rem;padding:0.25rem 1.2rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:rgba(200,255,0,0.04);}
.artist-marquee.show{display:flex;}
.am-head{display:flex;align-items:center;gap:0.35rem;flex-shrink:0;font-family:'Space Mono',monospace;font-size:0.36rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--text);}
.am-dot{width:6px;height:6px;border-radius:50%;background:#c8ff00;flex-shrink:0;animation:navdotpulse 2s ease-in-out infinite;box-shadow:0 0 0 0 rgba(200,255,0,0.6);}
[data-theme="light"] .am-dot{background:#4e8a00;box-shadow:0 0 0 0 rgba(78,138,0,0.5);}
.am-viewport{flex:1;overflow:hidden;white-space:nowrap;-webkit-mask-image:linear-gradient(to right,transparent,#000 16px,#000 calc(100% - 16px),transparent);mask-image:linear-gradient(to right,transparent,#000 16px,#000 calc(100% - 16px),transparent);}
.artist-marquee-track{display:inline-block;white-space:nowrap;will-change:transform;animation:artistScroll 45s linear infinite;}
.artist-marquee:hover .artist-marquee-track{animation-play-state:paused;}
.artist-name{font-family:'Space Mono',monospace;font-size:0.4rem;color:var(--text);opacity:0.8;letter-spacing:0.08em;margin:0 0.85rem;text-transform:uppercase;}
.artist-name .flag{margin-right:0.3rem;}
@keyframes artistScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.hero::before{content:'';position:absolute;top:-30px;right:-30px;width:180px;height:180px;background:radial-gradient(circle,rgba(200,255,0,0.06) 0%,transparent 70%);pointer-events:none;}
.hero-left{}
.hero-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(1.8rem,5vw,3rem);line-height:0.9;letter-spacing:0.04em;}
.hero-title .y{color:var(--accent);}
.hero-sub{font-family:'Space Mono',monospace;font-size:0.52rem;color:var(--muted);letter-spacing:0.1em;text-transform:uppercase;margin-top:0.4rem;line-height:1.5;}
.hero-stats{display:flex;gap:1.5rem;align-items:center;flex-shrink:0;}
.stat .n{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;line-height:1;color:var(--accent);text-align:right;}
.stat .l{font-family:'Space Mono',monospace;font-size:0.45rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.1em;text-align:right;}

/* ── LIGHT THEME — redesigned, less boxy ── */
[data-theme="light"]{
  --bg:#f7f6f2;--surface:#ffffff;--surface2:#f0efe9;
  --border:#e8e7e0;--border2:#d8d7ce;
  --accent:#4a7c00;--accent2:#cc2200;--accent3:#0066aa;
  --text:#1a1a18;--muted:#66655e;--muted2:#99988f;
  --lv1:#4a7c00;--lv2:#b85c00;--lv3:#cc2200;--lv4:#6600aa;
}
[data-theme="light"] body::after{display:none;}
[data-theme="light"] nav{
  background:#4a5260;
  box-shadow:0 1px 12px rgba(0,0,0,0.12);
  border-bottom:none;
}
[data-theme="light"] .nav-row2{
  background:#f7f6f2;
  border-top:1px solid rgba(8,9,9,0.15);
  border-bottom:1px solid rgba(8,9,9,0.1);
}
[data-theme="light"] .nav-dot{background:#ff3d3d;box-shadow:0 0 0 0 rgba(255,61,61,0.6);}
@keyframes navdotpulse-light{0%,100%{box-shadow:0 0 0 0 rgba(255,61,61,0.6);}50%{box-shadow:0 0 0 5px rgba(255,61,61,0);}}
[data-theme="light"] .nav-dot{animation:navdotpulse-light 2s ease-in-out infinite;}
[data-theme="light"] #nav-tagline-text{ color:rgba(0,0,0,0.45); }
[data-theme="light"] .nav-count{ color:rgba(0,0,0,0.7); }
[data-theme="light"] .filters{
  background:rgba(247,246,242,0.98);
  box-shadow:0 2px 8px rgba(0,0,0,0.05);
  border-bottom:none;
}
/* Light mode cards — shadow instead of border, more breathing room */
[data-theme="light"] .grid{
  background:transparent;
  border:none;
  gap:12px;
  padding:0;
}
[data-theme="light"] .card{
  border:none;
  border-radius:10px;
  box-shadow:0 2px 12px rgba(0,0,0,0.07);
  padding:1.3rem 1.4rem;
  transition:box-shadow 0.2s,transform 0.15s;
}
[data-theme="light"] .card:hover{
  box-shadow:0 6px 24px rgba(0,0,0,0.12);
  transform:translateY(-2px);
  background:var(--surface);
}
[data-theme="light"] .card::before{border-radius:10px 0 0 10px;}
[data-theme="light"] .ref-card{
  border:none;
  border-radius:10px;
  box-shadow:0 2px 12px rgba(0,0,0,0.07);
  padding:1.3rem 1.4rem;
  transition:box-shadow 0.2s,transform 0.15s;
}
[data-theme="light"] .ref-card:hover{
  box-shadow:0 6px 24px rgba(0,0,0,0.12);
  transform:translateY(-2px);
}
[data-theme="light"] .ref-card::before{border-radius:10px 0 0 10px;}
/* Light mode panel */
[data-theme="light"] .inline-card{box-shadow:none;}
[data-theme="light"] .panel-head{border-bottom:1px solid rgba(0,0,0,0.08);}
[data-theme="light"] .hero{
  background:linear-gradient(135deg,#2a4a00 0%,#3d6b00 100%);
  border-bottom:none;
}
[data-theme="light"] .hero-title{color:#fff;}
[data-theme="light"] .hero-title .y{color:#c8ff00;}
[data-theme="light"] .hero-sub{color:rgba(255,255,255,0.75);}
[data-theme="light"] .stat .n{color:#c8ff00;}
[data-theme="light"] .stat .l{color:rgba(255,255,255,0.7);}
[data-theme="light"] .ftab{border-radius:6px;}
[data-theme="light"] .ftab.lv-active{border-radius:6px;}
[data-theme="light"] .ftab.cat-active{border-radius:6px;}
[data-theme="light"] .ftab.an-active{border-radius:6px;}
[data-theme="light"] .load-fill{background:var(--accent);}
[data-theme="light"] .beta-strip{background:rgba(180,100,0,0.05);border-bottom:1px solid rgba(180,100,0,0.15);color:rgba(150,80,0,0.7);}
[data-theme="light"] .welcome-hint{background:rgba(74,124,0,0.06);border-bottom:1px solid rgba(74,124,0,0.15);}
[data-theme="light"] .grid-wrap{padding:1.2rem var(--gutter) 3rem;}

/* BURGER MENU DRAWER */
.drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:150;opacity:0;pointer-events:none;transition:opacity 0.25s;}
.drawer-overlay.open{opacity:1;pointer-events:all;}
.drawer{position:fixed;top:0;right:0;bottom:0;width:280px;max-width:85vw;background:var(--surface);z-index:151;transform:translateX(100%);transition:transform 0.28s cubic-bezier(0.4,0,0.2,1);display:flex;flex-direction:column;overflow-y:auto;}
.drawer.open{transform:translateX(0);}
.drawer-head{padding:1.2rem 1.4rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.drawer-title{font-family:'Bebas Neue',sans-serif;font-size:1.3rem;letter-spacing:0.1em;color:var(--accent);}
.drawer-close{background:transparent;border:none;color:var(--muted);font-size:1.4rem;cursor:pointer;padding:0.2rem;line-height:1;}
.drawer-close:hover{color:var(--text);}
.drawer-section{padding:1rem 1.4rem;border-bottom:1px solid var(--border);}
.drawer-section-title{font-family:'Space Mono',monospace;font-size:0.5rem;color:var(--accent);text-transform:uppercase;letter-spacing:0.12em;margin-bottom:0.75rem;}
.drawer-btn{display:flex;align-items:center;gap:0.75rem;width:100%;padding:0.7rem 0;background:transparent;border:none;color:var(--text);font-family:'Syne',sans-serif;font-size:0.88rem;cursor:pointer;transition:color 0.15s;text-align:left;}
.drawer-btn:hover{color:var(--accent);}
.drawer-btn .icon{width:20px;text-align:center;font-size:1rem;}
.drawer-contact{padding:1rem 1.4rem;}
.drawer-contact a{color:var(--accent3);text-decoration:none;font-family:'Space Mono',monospace;font-size:0.65rem;}
.drawer-contact a:hover{text-decoration:underline;}
.drawer-theme{padding:1rem 1.4rem;border-bottom:1px solid var(--border);}

/* THEME VISIBILITY */
.dark-only{display:flex;}
.light-only{display:none !important;}
[data-theme="light"] .dark-only{display:none !important;}
[data-theme="light"] #drawer-user-section{display:none !important;}
[data-theme="light"] .light-only{display:flex !important;}
[data-theme="light"] .filters{display:none;}
[data-theme="light"] .welcome-hint{display:none;}
.drawer-theme{display:none;}
/* Burger explicitly hidden in dark mode */
:root .burger-btn{display:none !important;}
:root .light-only{display:none !important;}
[data-theme="light"] .burger-btn{display:flex !important;color:#fff;}
[data-theme="light"] .light-only{display:flex !important;}
[data-theme="light"] .about-wbt{display:none !important;}

/* LIGHT MODE — inline filters in drawer */
.drawer-filters{padding:0.75rem 1.4rem;border-bottom:1px solid var(--border);}
.drawer-filters .filter-label{font-family:'Space Mono',monospace;font-size:0.5rem;color:var(--accent);text-transform:uppercase;letter-spacing:0.1em;display:block;margin-bottom:0.5rem;}
.drawer-filters .ftabs{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:0.75rem;}

/* BURGER BUTTON */
.burger-btn{background:transparent;border:none;color:var(--text);cursor:pointer;padding:0;width:28px;height:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;margin-left:0;}
.burger-btn span{display:block;width:20px;height:2px;background:currentColor;transition:all 0.2s;}

/* ABOUT ME PANEL */
.about-me-body{padding:1.2rem;}
.about-me-intro{font-size:0.88rem;color:var(--text);line-height:1.9;margin-bottom:1rem;}
.about-me-intro p{margin-bottom:0.9rem;}
.about-me-intro p:last-child{margin-bottom:0;}
.about-me-contact{margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--border);}
.about-me-contact a{color:var(--accent3);text-decoration:none;font-family:'Space Mono',monospace;font-size:0.7rem;}
.about-me-contact a:hover{text-decoration:underline;}


/* THEME SWITCHER */
.theme-switcher{display:flex;align-items:center;gap:4px;margin-right:0;}
.theme-btn{width:28px;height:28px;border-radius:50%;border:1px solid var(--border2);cursor:pointer;transition:all 0.15s;display:flex;align-items:center;justify-content:center;font-size:0.85rem;background:transparent;}
.theme-btn.logged-in{border-color:var(--border2);background:transparent;padding:0;}
[data-theme="light"] .theme-btn.logged-in{border-color:rgba(255,255,255,0.25);}
.theme-btn:hover{border-color:var(--text);}
.theme-btn.active{display:none;}
.theme-btn[data-t="kids"]{background:#ff6b00;}

.beta-strip{font-family:'Space Mono',monospace;font-size:0.38rem;color:rgba(255,170,0,0.6);text-transform:uppercase;letter-spacing:0.06em;padding:0.3rem 1rem;background:rgba(255,170,0,0.04);border-bottom:1px solid rgba(255,170,0,0.12);display:flex;align-items:center;justify-content:center;gap:0.6rem;}
.beta-strip:empty{display:none;}
.beta-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
.beta-strip.beta-big{align-items:flex-start;padding:0.7rem 1rem;}
.beta-strip.beta-big .beta-inner{flex:1;min-width:0;text-align:left;}
.beta-strip.beta-big .beta-headline{font-size:0.55rem;letter-spacing:0.08em;}
.beta-correction{display:block;margin-top:0.35rem;font-size:0.5rem;line-height:1.6;color:var(--muted);text-transform:none;letter-spacing:0;}
.beta-correction em{color:var(--accent3);font-style:normal;}
.beta-close{background:transparent;border:none;color:var(--lv2);width:auto;height:auto;min-width:0;padding:0;cursor:pointer;font-size:0.75rem;line-height:1;flex-shrink:0;transition:opacity 0.15s;}
.beta-strip.beta-big .beta-close{font-size:1rem;}
.beta-close:hover{opacity:0.6;}

/* AUTH FORM */
.auth-wrap{padding:1.5rem 1.2rem;}
.auth-tabs{display:flex;gap:2px;margin-bottom:1.2rem;border-bottom:1px solid var(--border);padding-bottom:0.75rem;}
.auth-tab{background:transparent;border:none;font-family:'Space Mono',monospace;font-size:0.55rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--muted);cursor:pointer;padding:0.3rem 0.6rem;transition:all 0.15s;}
.auth-tab.active{color:var(--accent);border-bottom:2px solid var(--accent);}
.auth-field{display:flex;flex-direction:column;gap:0.3rem;margin-bottom:0.75rem;}
.auth-field label{font-family:'Space Mono',monospace;font-size:0.46rem;color:var(--accent2);text-transform:uppercase;letter-spacing:0.12em;}
.auth-field input,.auth-field textarea{background:var(--surface2);border:1px solid var(--border2);color:var(--text);padding:0.5rem 0.7rem;font-family:'Syne',sans-serif;font-size:0.85rem;outline:none;transition:border-color 0.15s;width:100%;}
.auth-field input:focus,.auth-field textarea:focus{border-color:var(--accent);}
.auth-field input::placeholder,.auth-field textarea::placeholder{color:var(--muted2);}
.auth-hint{font-family:'Space Mono',monospace;font-size:0.46rem;color:var(--muted2);line-height:1.5;margin-bottom:0.75rem;}
.auth-err{font-family:'Space Mono',monospace;font-size:0.5rem;color:var(--danger);margin-bottom:0.5rem;display:none;}
.auth-success{font-family:'Space Mono',monospace;font-size:0.5rem;color:var(--accent);margin-bottom:0.5rem;display:none;}
.auth-user-info{padding:1rem 1.2rem;display:flex;flex-direction:column;gap:0.75rem;}
.auth-alias{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;letter-spacing:0.05em;color:var(--accent);}
.auth-email-display{font-family:'Space Mono',monospace;font-size:0.52rem;color:var(--muted);}

/* WELCOME HINT */
.welcome-hint{padding:0.6rem var(--gutter);background:rgba(200,255,0,0.04);border-bottom:1px solid rgba(200,255,0,0.1);display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.welcome-hint p{font-family:'Space Mono',monospace;font-size:0.58rem;color:var(--muted);line-height:1.5;}
.welcome-hint p strong{color:var(--accent);}
.hint-close{background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:1em;line-height:1;padding:0;flex-shrink:0;transition:opacity 0.15s;}
.hint-close:hover{opacity:0.6;}
.welcome-hint.hidden{display:none;}

/* FILTERS */
.filters{padding:0;border-bottom:1px solid var(--border);position:sticky;top:var(--nav-h);z-index:90;background:rgba(8,9,9,0.96);backdrop-filter:blur(8px);}

/* TOGGLE BAR — always visible */
.filter-toggle{padding:0.5rem var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:0.5rem;min-height:40px;flex-wrap:wrap;}
.fbar-c1{display:flex;align-items:center;gap:0.35rem;flex-wrap:wrap;}
.fbar-c2{display:flex;align-items:center;gap:0.35rem;flex-shrink:0;}
.fdrop-wrap{position:relative;display:inline-flex;}
.fdrop{gap:0.25rem;padding:0 0.5rem;color:#fff;}
.fdrop.act{border-color:var(--accent);color:var(--accent);}
.fdrop-car{font-size:0.5rem;opacity:0.7;}
.fexpand{padding:0 0.6rem;color:#fff;}
.fdrop-menu{display:none;position:absolute;top:calc(100% + 3px);left:0;min-width:max-content;background:var(--surface);border:1px solid var(--border2);border-radius:var(--ctrl-radius);z-index:200;max-height:240px;overflow-y:auto;}
.fdrop-menu.open{display:block;}
.fdrop-menu.fdrop-search{right:0;left:auto;padding:0.4rem;}
.fdrop-head{font-family:'Space Mono',monospace;font-size:0.42rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--accent);padding:0.5rem 0.7rem 0.2rem;border-top:1px solid var(--border);}
.fdrop-head:first-child{border-top:none;}
.fdrop-item{font-family:'Space Mono',monospace;font-size:0.5rem;text-transform:uppercase;letter-spacing:0.06em;color:#fff;padding:0.4rem 0.7rem;cursor:pointer;white-space:nowrap;}
.fdrop-item:hover{background:var(--surface2);}
.fdrop-item.sel{color:var(--accent);}
.ficon{height:23px;min-width:23px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;background:var(--ctrl-bg);border:1px solid var(--ctrl-border);border-radius:var(--ctrl-radius);font-size:0.8rem;cursor:pointer;transition:all 0.15s;}
.ficon:hover{border-color:var(--text);}
.ficon.on{border-color:var(--accent);background:var(--accent);}
.drawer-top{padding:0.9rem 1.4rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:0.5rem;}
.filter-summary{font-family:'Space Mono',monospace;font-size:0.58rem;color:var(--accent);text-transform:uppercase;letter-spacing:0.1em;flex:1;}
.filter-toggle-right{display:flex;align-items:center;gap:0.6rem;flex-shrink:0;}
.filter-toggle-btn{height:23px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;background:var(--ctrl-bg);border-radius:var(--ctrl-radius);font-family:'Space Mono',monospace;font-size:0.55rem;color:var(--muted);border:1px solid var(--ctrl-border);padding:0 0.65rem;text-transform:uppercase;letter-spacing:0.1em;transition:all 0.15s;white-space:nowrap;}
.filter-arrow{display:none;}

/* COLLAPSIBLE BODY */
.filter-body{padding:0 var(--gutter);display:flex;flex-direction:column;gap:0.45rem;border-top:0px solid var(--border);overflow:hidden;max-height:0;opacity:0;transition:max-height 0.25s ease,opacity 0.2s ease,padding 0.2s ease,border 0.2s ease;}
.filter-body.open{max-height:400px;opacity:1;padding:0.5rem var(--gutter) 0.7rem;border-top:1px solid var(--border);}
.filter-row{display:flex;align-items:flex-start;gap:0.5rem;}
.filter-label{font-family:'Space Mono',monospace;font-size:0.48rem;color:var(--accent);text-transform:uppercase;letter-spacing:0.1em;white-space:nowrap;flex-shrink:0;width:88px;padding-top:0.3rem;}
.ftabs{display:flex;gap:2px;flex-wrap:wrap;}
.ftab{padding:0.25rem 0.6rem;font-family:'Space Mono',monospace;font-size:0.54rem;text-transform:uppercase;letter-spacing:0.08em;cursor:pointer;border:1px solid var(--border2);background:transparent;color:var(--muted);transition:all 0.15s;white-space:nowrap;border-radius:var(--ctrl-radius);}
.ftab:hover{color:var(--text);border-color:var(--muted2);}
.ftab.lv-active{font-weight:700;color:var(--bg);border-radius:var(--ctrl-radius);}
.ftab[data-lv="all"].lv-active{background:var(--accent);border-color:var(--accent);}
[data-theme="light"] .ftab[data-lv="all"].lv-active{background:#0066cc;border-color:#0066cc;color:#fff;}
.ftab[data-lv="1"].lv-active{background:var(--lv1);border-color:var(--lv1);}
.ftab[data-lv="2"].lv-active{background:var(--lv2);border-color:var(--lv2);}
.ftab[data-lv="3"].lv-active{background:var(--lv3);border-color:var(--lv3);}
.ftab[data-lv="4"].lv-active{background:var(--lv4);border-color:var(--lv4);}
.ftab[data-lv="5"].lv-active{background:#00ff99;border-color:#00ff99;color:var(--bg);}
[data-theme="light"] .ftab[data-lv="5"].lv-active{background:#007755;border-color:#007755;color:#fff;}
.ftab.cat-active{background:#7c3aed;border-color:#7c3aed;color:#fff;font-weight:700;border-radius:var(--ctrl-radius);}
.ftab.an-active{background:var(--accent3);border-color:var(--accent3);color:var(--bg);font-weight:700;border-radius:var(--ctrl-radius);}
.ftab.beat-active{background:#7c3aed;border-color:#7c3aed;color:#fff;font-weight:700;border-radius:var(--ctrl-radius);}
[data-theme="light"] .ftab.beat-active{border-radius:6px;}
.ftab.subfilter-active{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:700;border-radius:var(--ctrl-radius);}
[data-theme="light"] .ftab.subfilter-active{border-radius:6px;}
.search-wrap{position:relative;flex-shrink:0;}
.search-wrap svg{position:absolute;left:0.5rem;top:50%;transform:translateY(-50%);opacity:0.4;}
.search{height:23px;box-sizing:border-box;background:var(--ctrl-bg);border:1px solid var(--ctrl-border);border-radius:var(--ctrl-radius);color:var(--text);padding:0 0.7rem 0 1.8rem;font-family:'Space Mono',monospace;font-size:0.58rem;width:120px;outline:none;transition:all 0.2s;}
.search:focus{border-color:var(--accent);width:160px;}
.search::placeholder{color:var(--muted);}

/* GRID */
.grid-wrap{padding:1rem var(--gutter) 3rem;}
/* Page width cap — full width within margins on narrow/portrait, capped & centered on wide/landscape */
.welcome-hint,.filters,.grid-wrap,.submit-section,footer{max-width:var(--page-max);margin-left:auto;margin-right:auto;}
.grid-header{display:flex;align-items:baseline;gap:0.75rem;margin-bottom:0.9rem;padding-bottom:0.5rem;border-bottom:1px solid var(--border);}
.grid-title{font-family:'Bebas Neue',sans-serif;font-size:1.2rem;letter-spacing:0.08em;}
.grid-count{font-family:'Space Mono',monospace;font-size:0.55rem;color:var(--muted);}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);}

/* CARD */
.card{background:var(--surface);padding:1rem 1.1rem;cursor:pointer;display:flex;flex-direction:column;gap:0.4rem;position:relative;overflow:hidden;transition:background 0.12s;animation:fadeUp 0.25s ease both;}
.card:hover{background:var(--surface2);}
.card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--border2);transition:background 0.15s;}
.card:hover::before{background:var(--accent);}
.card-learned{border-left:3px solid var(--accent) !important;}
.card-learned::before{background:var(--accent) !important;}
.card[data-lv="2"]:hover::before{background:var(--lv2);}
.card[data-lv="3"]:hover::before{background:var(--lv3);}
.card[data-lv="4"]:hover::before{background:var(--lv4);}
.card[data-lv="5"]:hover::before{background:#00ff99;}
.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:0.5rem;}
.card-name{font-size:0.9rem;font-weight:700;line-height:1.2;}
.card-alias{font-family:'Space Mono',monospace;font-size:0.5rem;color:var(--muted);margin-top:0.1rem;}
.lv-badge{font-family:'Space Mono',monospace;font-size:0.46rem;font-weight:700;padding:0.12rem 0.38rem;text-transform:uppercase;letter-spacing:0.1em;flex-shrink:0;margin-top:0.1rem;}
.card-fav{background:none;border:none;cursor:pointer;font-size:0.85rem;line-height:1;padding:0;color:var(--muted2);flex-shrink:0;-webkit-tap-highlight-color:transparent;}
.card-fav.on{color:#ffd24a;}
.b1{background:rgba(200,255,0,0.12);color:var(--lv1);border:1px solid rgba(200,255,0,0.25);}
.b2{background:rgba(255,170,0,0.12);color:var(--lv2);border:1px solid rgba(255,170,0,0.25);}
.b3{background:rgba(255,61,61,0.12);color:var(--lv3);border:1px solid rgba(255,61,61,0.25);}
.b4{background:rgba(191,127,255,0.12);color:var(--lv4);border:1px solid rgba(191,127,255,0.25);}
.b5{background:rgba(0,255,153,0.12);color:#00ff99;border:1px solid rgba(0,255,153,0.25);}
.card-desc{font-size:0.74rem;color:var(--muted);line-height:1.55;flex:1;}
.card-foot{display:flex;align-items:center;gap:0.3rem;flex-wrap:wrap;margin-top:0.2rem;}
.tag{font-family:'Space Mono',monospace;font-size:0.46rem;border:1px solid var(--border2);color:var(--muted);padding:0.08rem 0.35rem;text-transform:uppercase;letter-spacing:0.05em;}
.has-video{margin-left:auto;font-family:'Space Mono',monospace;font-size:0.5rem;color:var(--accent);display:flex;align-items:center;gap:0.25rem;}
.play-tri{width:0;height:0;border-top:3px solid transparent;border-bottom:3px solid transparent;border-left:6px solid var(--accent);}
.empty{grid-column:1/-1;padding:3rem 2rem;text-align:center;font-family:'Space Mono',monospace;font-size:0.65rem;color:var(--muted);background:var(--surface);}

/* ANATOMY CARD */
.ref-card{background:var(--surface);padding:1rem 1.1rem;cursor:pointer;display:flex;flex-direction:column;gap:0.35rem;position:relative;transition:background 0.12s;animation:fadeUp 0.25s ease both;}
.ref-card:hover{background:var(--surface2);}
.ref-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--border2);transition:background 0.15s;}
.ref-card:hover::before{background:var(--accent3);}
.ref-name{font-size:0.9rem;font-weight:700;}
.ref-sub{font-family:'Space Mono',monospace;font-size:0.5rem;color:var(--accent);}
.ref-desc{font-size:0.74rem;color:var(--text);line-height:1.55;}
.ref-meta{font-family:'Space Mono',monospace;font-size:0.5rem;color:var(--accent3);margin-top:0.2rem;}

/* OVERLAY */
.inline-card{display:none;background:transparent;width:100%;}
.inline-card.open{display:block;}
/* Narrow (portrait): the open panel reads as a full-width page on the bg — no card chrome.
   Wide (landscape/desktop): keep the main-page width cap (via .grid-wrap) and restore the
   container outline so it reads as a contained card like the rest of the page. */
@media(min-width:701px){
  .inline-card.open{background:var(--surface);border:1px solid var(--border2);}
}
/* Shared horizontal inset for every panel section (text bodies of the
   anatomy/about/leaderboard panels), matching the title bar + ptabs/ppanel. */
.panel-pad{padding:1.1rem var(--gutter);}
/* Mobile: the open panel is a full-width page, so the title bar AND every
   text section align to the same page margin as the full-width video/media
   (drop the inner gutter — grid-wrap already provides the page margin).
   Desktop keeps the inset so the media reads as wider than the text. */
@media(max-width:700px){
  .inline-card.open .panel-head,
  .inline-card.open .ptabs,
  .inline-card.open .ppanel,
  .inline-card.open .panel-pad,
  .inline-card.open #leaderboard-content{padding-left:0;padding-right:0;}
}
.panel-head{flex-shrink:0;padding:0.9rem var(--gutter) 0.7rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:transparent;}
.panel-title{font-family:'Bebas Neue',sans-serif;font-size:1.7rem;letter-spacing:0.04em;line-height:1;}
.panel-sub{font-family:'Space Mono',monospace;font-size:0.54rem;color:var(--muted);margin-top:0.2rem;}
.panel-close{background:none;border:1.5px solid rgba(255,255,255,0.4);color:rgba(255,255,255,0.85);width:28px;height:28px;min-width:28px;cursor:pointer;font-size:0.85rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color 0.15s,color 0.15s;line-height:1;}
.panel-close:hover{border-color:rgba(255,255,255,0.9);color:#fff;}
.panel-body{overflow-y:auto;padding:0 0 1.5rem;}
.panel-head{flex-shrink:0;padding:0.9rem var(--gutter) 0.7rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:transparent;}
.panel-title{font-family:'Bebas Neue',sans-serif;font-size:1.7rem;letter-spacing:0.04em;line-height:1;}
.panel-sub{font-family:'Space Mono',monospace;font-size:0.54rem;color:var(--muted);margin-top:0.2rem;}
.panel-close{background:none;border:1.5px solid rgba(255,255,255,0.4);color:rgba(255,255,255,0.85);width:28px;height:28px;min-width:28px;cursor:pointer;font-size:0.85rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color 0.15s,color 0.15s;line-height:1;}
.panel-close:hover{border-color:rgba(255,255,255,0.9);color:#fff;}
.panel-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 0 1.5rem;}
[data-theme="light"] .panel-close{border-color:rgba(0,0,0,0.4);color:rgba(0,0,0,0.85);}
[data-theme="light"] .panel-close:hover{border-color:rgba(0,0,0,0.9);color:#000;}

/* VIDEO */
.demo-vid{width:100%;aspect-ratio:16/9;background:#000;}
.demo-vid iframe{width:100%;height:100%;border:none;display:block;}
.demo-none{width:100%;aspect-ratio:16/9;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.5rem;color:var(--muted);font-family:'Space Mono',monospace;font-size:0.6rem;text-align:center;}
.demo-none-icon{font-size:2rem;opacity:0.12;}

/* PANEL TABS */
.ptabs{display:flex;border-bottom:1px solid var(--border);padding:0 var(--gutter);}
.ptab{padding:0.55rem 0.85rem;font-family:'Space Mono',monospace;font-size:0.56rem;text-transform:uppercase;letter-spacing:0.1em;cursor:pointer;border:none;background:transparent;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all 0.15s;}
.ptab:hover{color:var(--text);}
.ptab.active{color:var(--accent);border-bottom-color:var(--accent);}
.ppanel{display:none;padding:1.1rem var(--gutter);}
.ppanel.active{display:block;}

/* PANEL CONTENT */
.short-desc{font-size:0.84rem;color:var(--text);line-height:1.8;margin-bottom:1rem;}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.65rem;margin-bottom:1rem;}
.info-grid .lbl{font-family:'Space Mono',monospace;font-size:0.48rem;color:var(--accent);text-transform:uppercase;letter-spacing:0.12em;display:block;margin-bottom:0.15rem;}
.info-grid .val{font-size:0.78rem;color:var(--text);}
.link-sec{margin-top:0.85rem;padding-top:0.75rem;border-top:1px solid var(--border);}
.link-sec-ttl{font-family:'Space Mono',monospace;font-size:0.48rem;color:var(--accent);text-transform:uppercase;letter-spacing:0.12em;margin-bottom:0.4rem;}
.link-tags{display:flex;flex-wrap:wrap;gap:0.28rem;}
.ltag{height:23px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--ctrl-radius);font-family:'Space Mono',monospace;font-size:0.55rem;padding:0 0.55rem;border:1px solid var(--ctrl-border);cursor:pointer;transition:all 0.15s;background:var(--ctrl-bg);white-space:nowrap;}
.ltag.c{color:var(--accent3);border-color:rgba(0,207,255,0.3);}
.ltag.c:hover{background:rgba(0,207,255,0.08);}
.ltag.v{color:var(--lv2);border-color:rgba(255,170,0,0.3);}
.ltag.v:hover{background:rgba(255,170,0,0.08);}
.ltag.a{color:var(--accent);border-color:rgba(200,255,0,0.3);}
.ltag.a:hover{background:rgba(200,255,0,0.06);}
.pprops{display:flex;gap:0.6rem;flex-wrap:wrap;padding-top:0.75rem;border-top:1px solid var(--border);margin-top:0.85rem;}
.pprop{display:flex;align-items:center;gap:0.28rem;font-family:'Space Mono',monospace;font-size:0.5rem;color:var(--muted);}
.dot{width:5px;height:5px;border-radius:50%;background:var(--border2);}
.dot.on{background:var(--lv1);}
.how-to-text{font-size:0.84rem;color:var(--text);line-height:1.9;}
.tut-videos{display:flex;flex-direction:column;gap:1rem;}
.tut-item-label{font-family:'Space Mono',monospace;font-size:0.5rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:0.35rem;}
.tut-embed{width:100%;aspect-ratio:16/9;background:#000;}
.tut-embed iframe{width:100%;height:100%;border:none;display:block;}
.tut-no-embed{width:100%;aspect-ratio:16/9;background:var(--surface2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0.4rem;font-family:'Space Mono',monospace;font-size:0.58rem;color:var(--muted);}
.tut-no-embed a{color:var(--accent);text-decoration:none;}
.tut-empty{font-family:'Space Mono',monospace;font-size:0.6rem;color:var(--muted);}

/* CORRECTION BUTTON */
.learned-btn{height:23px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--ctrl-radius);background:var(--ctrl-bg);border:1px solid var(--ctrl-border);color:var(--muted);padding:0 0.75rem;font-family:'Space Mono',monospace;font-size:0.5rem;text-transform:uppercase;letter-spacing:0.08em;cursor:pointer;transition:all 0.15s;}
.learned-btn:hover{border-color:var(--accent);color:var(--accent);}
.learned-btn.learned{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:700;}
.correction-btn{height:23px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:0.3rem;border-radius:var(--ctrl-radius);font-family:'Space Mono',monospace;font-size:0.5rem;color:var(--muted);background:var(--ctrl-bg);border:1px solid var(--ctrl-border);padding:0 0.5rem;cursor:pointer;transition:all 0.15s;text-transform:uppercase;letter-spacing:0.08em;}
.correction-btn:hover{border-color:var(--accent2);color:var(--accent2);}

/* SUBMIT FORM (panel) */
.sub-form{display:flex;flex-direction:column;gap:0.65rem;padding:1.1rem var(--gutter);}
.sub-form h3{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:0.06em;margin-bottom:0.2rem;}
.sub-form p{font-size:0.78rem;color:var(--muted);line-height:1.6;margin-bottom:0.5rem;}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:0.6rem;}
.fg{display:flex;flex-direction:column;gap:0.25rem;}
.fg label{font-family:'Space Mono',monospace;font-size:0.5rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.1em;}
.fi,.fs,.ft{background:var(--surface2);border:1px solid var(--border2);color:var(--text);padding:0.45rem 0.65rem;font-family:'Syne',sans-serif;font-size:0.78rem;outline:none;width:100%;transition:border-color 0.15s;}
.fi:focus,.fs:focus,.ft:focus{border-color:var(--accent);}
.fi::placeholder,.ft::placeholder{color:var(--muted2);}
.ft{min-height:65px;resize:vertical;}
.fs option{background:var(--surface2);}
.uzone{border:2px dashed var(--border2);padding:0.9rem;text-align:center;cursor:pointer;font-family:'Space Mono',monospace;font-size:0.52rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.1em;transition:all 0.15s;}
.uzone:hover{border-color:var(--accent);color:var(--accent);}
.sbtn{background:var(--accent);color:var(--bg);border:none;padding:0.65rem 1.2rem;width:100%;font-family:'Space Mono',monospace;font-size:0.65rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;transition:background 0.15s;margin-top:0.25rem;}
.sbtn:hover{background:#fff;}
.sbtn.danger{background:var(--accent2);}
.sbtn.danger:hover{background:#ff6b6b;}
.success-msg{text-align:center;padding:1.5rem;font-family:'Space Mono',monospace;font-size:0.65rem;color:var(--accent);line-height:1.8;display:none;}

/* ABOUT PANEL */
.about-body{padding:0;}
.about-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border);}
.about-section:last-child{border-bottom:none;margin-bottom:0;}
.about-section h3{font-family:'Bebas Neue',sans-serif;font-size:1.3rem;letter-spacing:0.06em;color:var(--accent);margin-bottom:0.6rem;}
.about-section p{font-size:0.82rem;color:var(--text);line-height:1.8;margin-bottom:0.5rem;}
.about-section p:last-child{margin-bottom:0;}
.about-section strong{color:var(--accent);}
.about-tip{background:var(--surface2);border-left:3px solid var(--accent);padding:0.75rem 1rem;margin-top:0.75rem;font-family:'Space Mono',monospace;font-size:0.6rem;color:var(--muted);line-height:1.6;}

/* ADVANCED TOGGLE */
.advanced-toggle{background:transparent;border:1px solid var(--border2);color:var(--muted);padding:0.3rem 0.75rem;font-family:'Space Mono',monospace;font-size:0.55rem;text-transform:uppercase;letter-spacing:0.1em;cursor:pointer;transition:all 0.15s;width:100%;text-align:left;}
.advanced-toggle:hover{border-color:var(--accent);color:var(--accent);}
.advanced-fields{display:none;flex-direction:column;gap:0.65rem;padding-top:0.25rem;}
.advanced-fields.open{display:flex;}

/* SUBMIT SECTION */
.submit-section{border-top:1px solid var(--border);padding:2rem var(--gutter);}
.submit-section h2{font-family:'Bebas Neue',sans-serif;font-size:2rem;letter-spacing:0.04em;margin-bottom:0.4rem;}
.submit-section h2 span{color:var(--accent);}
.submit-section > p{font-size:0.78rem;color:var(--muted);line-height:1.6;margin-bottom:1.2rem;max-width:500px;}

footer{border-top:1px solid var(--border);padding:0.9rem var(--gutter);display:flex;justify-content:space-between;align-items:center;}
.f-logo{font-family:'Bebas Neue',sans-serif;font-size:0.9rem;letter-spacing:0.12em;color:var(--muted);}
.f-note{font-family:'Space Mono',monospace;font-size:0.5rem;color:var(--muted2);}

@keyframes fadeUp{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:var(--border2);}

@media(max-width:600px){
  .hero{flex-direction:row;align-items:flex-end;gap:1rem;}
  .hero-left{flex:1;}
  .hero-title{font-size:clamp(1.6rem,8vw,2.5rem);}
  .hero-stats{flex-direction:column;align-items:flex-end;gap:0;}
  .stat .n{font-size:2.2rem;}
  .filter-toggle{padding:0.55rem 1rem;}
  .filter-body.open{padding:0.5rem var(--gutter) 0.7rem;}
  .filter-row{flex-wrap:wrap;row-gap:0.3rem;}
  .filter-label{width:100%;margin-bottom:0;}
  .search{width:90px;}
  .search:focus{width:120px;}
  .frow{grid-template-columns:1fr;}
  .info-grid{grid-template-columns:1fr;}
  .panel-title{font-size:1.4rem;}
}

.toast{position:fixed;bottom:1.5rem;right:1.5rem;background:var(--surface);border:1px solid var(--border2);padding:0.65rem 1rem;font-family:'Space Mono',monospace;font-size:0.55rem;z-index:9000;transform:translateY(60px);opacity:0;transition:all 0.25s;pointer-events:none;}
.toast.show{transform:translateY(0);opacity:1;}
.toast.success{border-color:var(--accent);color:var(--accent);}
.toast.error{border-color:var(--danger);color:var(--danger);}
