:root{color-scheme:dark;--bg:#100b19;--surface:#1c142b;--surface-strong:#251a37;--text:#f7f0ff;--muted:#c9bfd8;--border:#4b3860;--pink:#f0a7c8;--purple:#a66df0;--shadow:0 18px 50px #0004;--radius:18px}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 12% 8%,#3c2251 0,transparent 36%),radial-gradient(circle at 90% 15%,#401d45 0,transparent 31%),var(--bg);color:var(--text);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}
.topbar,.header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px max(18px,calc((100vw - 1400px)/2));border-bottom:1px solid var(--border);background:#100b19e8;backdrop-filter:blur(14px)}
.logo,.brand{color:var(--pink);font-weight:850;letter-spacing:.2px}.brand span{color:var(--muted);font-weight:450}.topbar-left,.topbar-right,.header nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.userpill2,.signed-in{color:var(--muted);font-size:.88rem}
.btn,.header nav a,.primary,.layout button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 13px;border:1px solid #6d4b8d;border-radius:11px;background:#2c1c40;color:var(--text);font:inherit;font-size:.86rem;font-weight:750;line-height:1.2;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.btn:hover,.header nav a:hover,.primary:hover,.layout button:hover{filter:none;background:#3a2453;border-color:var(--purple);transform:translateY(-1px)}.btn:focus-visible,.header nav a:focus-visible,.primary:focus-visible,.layout button:focus-visible,a.logo:focus-visible,a.brand:focus-visible{outline:3px solid var(--pink);outline-offset:3px}.primary,.btn.primary,.layout button.primary{background:var(--purple);border-color:var(--purple);color:#160c20}.primary:hover,.btn.primary:hover,.layout button.primary:hover{background:#b981f4;color:#160c20}
.container{width:min(1400px,100%);margin:0 auto;padding:24px 20px 72px}.layout{width:min(800px,calc(100% - 44px));margin:64px auto;padding:0 0 80px}.card,.panel,.authcard{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(150deg,var(--surface-strong),var(--surface));box-shadow:var(--shadow)}.card{overflow:hidden}.panel{padding:clamp(20px,4vw,36px)}
body.authonly{display:block;min-height:100vh;padding:0}.authonly .authwrap{width:min(520px,100%);max-width:none;min-height:calc(100vh - 124px);min-height:calc(100dvh - 124px);margin:0 auto;padding:24px}.site-footer{padding:18px 22px;text-align:center;color:var(--muted);font-size:.84rem;border-top:1px solid var(--border);background:#100b19b8}.site-footer a{color:var(--pink);font-weight:750}.site-footer a:hover{text-decoration:underline;text-underline-offset:3px}
select,textarea,input[type=text],input[type=file]{border-color:#664c7d;background:#110d1c;color:var(--text)}select:focus,textarea:focus,input:focus{outline:3px solid #a66df080;outline-offset:2px}.muted,.intro,.small,.footnote,.optional{color:var(--muted)}
@media(max-width:820px){.topbar,.header{position:relative;align-items:flex-start;flex-direction:column;padding:16px 20px}.topbar-left,.topbar-right,.header nav{width:100%}.header nav a{flex:1 1 auto}.layout{margin-top:44px}.sortnav{max-width:100%;overflow-x:auto}.upload{width:100%;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.btn,.header nav a,.primary,.layout button{transition:none}.btn:hover,.header nav a:hover,.primary:hover,.layout button:hover{transform:none}}
