:root{--bg:#12111a;--panel:#1a1822;--card:#91384e;--text:#f3f0f5;--muted:#aaa5b2;--line:rgba(255,255,255,.15);--user:#91384e;--surface:#e4dfeb;--surface-text:#12111a}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}.catalog-header{max-width:1180px;margin:0 auto;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{color:var(--text);font-size:24px;font-weight:800;text-decoration:none}.auth-actions,.intro-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.catalog-shell{max-width:1180px;margin:0 auto;padding:32px 28px 80px}.catalog-intro{padding:56px 0 42px;max-width:720px}.eyebrow{margin:0 0 10px;color:var(--muted);font-size:12px;letter-spacing:.14em;font-weight:800}.catalog-intro h1{font-size:clamp(34px,6vw,64px);line-height:1.06;margin:0 0 18px}.catalog-intro p:not(.eyebrow){color:var(--muted);font-size:18px;margin:0 0 26px}.button{border:1px solid transparent;border-radius:8px;padding:11px 16px;font:inherit;font-weight:800;cursor:pointer}.button.primary{background:var(--user);color:#fff}.button.secondary{background:transparent;color:var(--text);border-color:var(--line)}.button:hover{filter:brightness(1.1)}.muted{color:var(--muted)}.hidden{display:none!important}.authors{display:grid;gap:32px}.author-section{border-top:1px solid var(--line);padding-top:26px}.author-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:16px}.author-heading h2{margin:0;font-size:28px}.author-heading p{margin:4px 0 0;color:var(--muted)}.author-link{color:var(--text);text-decoration:none}.works{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.work-card{background:var(--card);color:#fff;padding:20px;min-height:190px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;border-radius:2px}.work-card h3{margin:0 0 8px;font-size:20px}.work-card p{margin:0;color:rgba(255,255,255,.8)}.work-meta{display:flex;justify-content:space-between;align-items:center;margin-top:24px;font-weight:800}.badge{font-size:12px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.18)}.empty,.message{padding:26px;border:1px solid var(--line);color:var(--muted)}.dialog{border:0;border-radius:10px;padding:0;background:var(--panel);color:var(--text);width:min(460px,calc(100vw - 32px));box-shadow:0 30px 100px rgba(0,0,0,.5)}.dialog::backdrop{background:rgba(0,0,0,.65)}.dialog form{padding:28px;display:grid;gap:14px}.dialog h2{margin:0}.dialog label{display:grid;gap:6px;font-weight:700}.dialog input,.dialog textarea{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--text);padding:11px;border-radius:6px;font:inherit}.dialog-close{justify-self:end;background:transparent;border:0;color:var(--muted);font-size:28px;cursor:pointer}.form-error{color:#f5b5c4;min-height:1.5em;margin:0}@media(max-width:700px){.catalog-header{align-items:flex-start;flex-direction:column}.catalog-shell{padding:18px 18px 60px}.catalog-intro{padding-top:38px}.auth-actions{width:100%}.auth-actions .button{flex:1}.author-heading{align-items:flex-start;flex-direction:column}}
/* author dashboard */
.dashboard{max-width:900px}.dashboard-panel{border-top:1px solid var(--line);padding:28px 0}.dashboard-panel h2{margin:0 0 20px}.dashboard-form{display:grid;gap:14px;max-width:640px}.dashboard-form label{display:grid;gap:6px;font-weight:700}.dashboard-form input,.dashboard-form textarea,.dashboard-form select{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--text);padding:11px;border-radius:6px;font:inherit}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.two-fields label{display:grid;gap:6px}.dashboard-list{display:grid;gap:12px}.dashboard-item{border:1px solid var(--line);padding:18px;display:flex;align-items:center;justify-content:space-between;gap:18px}.dashboard-item h3{margin:0 0 4px}.dashboard-item p{margin:0}.dashboard-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.upload-button{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-weight:800;cursor:pointer}.message-error{color:#f5b5c4}@media(max-width:700px){.two-fields{grid-template-columns:1fr}.dashboard-item{align-items:flex-start;flex-direction:column}.dashboard-actions{justify-content:flex-start}}
