:root{--admin-border:var(--border)}.admin{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-body), sans-serif;line-height:var(--body-line-height,1.6)}.admin-head{background:var(--panel);background-image:var(--panel-image);-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur);border-bottom:var(--border);color:var(--text);text-transform:uppercase;letter-spacing:.1em;font-family:var(--font-mono), monospace;z-index:20;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 1.25rem;display:flex;position:sticky;top:0}.admin-brand{color:var(--text);font-family:var(--font-display), sans-serif;letter-spacing:.04em;border:none;align-items:center;gap:.4rem;font-size:1.2rem;text-decoration:none;display:inline-flex}.admin-brand span{font-family:var(--font-mono), monospace;letter-spacing:.18em;color:var(--bg);background:var(--accent);border-radius:calc(var(--radius) / 2);padding:.1rem .4rem;font-size:.62rem}.admin-head nav{flex-wrap:wrap;align-items:center;gap:.4rem 1.1rem;font-size:.78rem;display:flex}.admin-head .tab{color:var(--text-dim);border-bottom:2px solid #0000;padding:.3rem .1rem .28rem;line-height:1;text-decoration:none}.admin-head .tab:hover,.admin-head .tab.active{color:var(--text);border-bottom-color:var(--accent)}.admin-head .auth{font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--text-dim);border:var(--border);border-radius:var(--btn-radius);cursor:pointer;transition:color var(--transition), background-color var(--transition), border-color var(--transition);background:0 0;padding:.3rem .7rem;line-height:1}.admin-head .auth:hover{color:var(--selection-text);background:var(--accent);border-color:var(--accent)}.admin-main{max-width:56rem;margin:0 auto;padding:2.5rem 1.25rem 5rem}.admin h1{font-family:var(--font-display), sans-serif;text-transform:var(--display-transform,uppercase);font-style:var(--display-style,normal);letter-spacing:var(--display-letter-spacing,.01em);margin:0;font-size:clamp(1.7rem,1.2rem + 1.9vw,2.5rem);line-height:1.04}.page-head{border-bottom:var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 1.5rem;margin-bottom:2rem;padding-bottom:1rem;display:flex}.page-head .titles{flex-direction:column;gap:.4rem;min-width:0;display:flex}.eyebrow{font-family:var(--font-mono), monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);font-size:.66rem;line-height:1}.eyebrow a{color:inherit;border-bottom:none}.eyebrow a:hover{color:var(--accent)}.page-head .actions{flex-shrink:0;align-items:center;gap:.6rem;display:flex}.hint{color:var(--text-dim);margin:0;font-size:.82rem;line-height:1.5}.page-head .hint{max-width:46ch}.section{margin-bottom:2.25rem}.section>h2{font-family:var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.16em;color:var(--text-dim);border-bottom:var(--border-width) var(--border-style) color-mix(in srgb, var(--border-color) 45%, transparent);margin:0 0 1rem;padding-bottom:.5rem;font-size:.74rem}.btn.ghost{color:var(--text);border:var(--border);background:0 0}.btn.ghost:hover{background:var(--accent);color:var(--selection-text);border-color:var(--accent)}.btn.danger:hover{color:#fff;background:#f03;border-color:#f03}.field{margin-bottom:1.25rem;display:block}.field span{text-transform:uppercase;font-size:.75rem;font-family:var(--font-mono), monospace;color:var(--text-dim);margin-bottom:.35rem;display:block}.input,.field input,.field textarea,.field select{font-family:var(--font-body), sans-serif;border:var(--border);border-radius:var(--radius);background:var(--panel);width:100%;color:var(--text);transition:border-color var(--transition);padding:.6rem}.input:focus,.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);outline:none}.row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.list{border:var(--border);border-radius:var(--radius);background:var(--panel);overflow:hidden}.list-row{border-bottom:var(--border-width) var(--border-style) var(--border-color);transition:background-color var(--transition);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.list-row:last-child{border-bottom:none}.list-row:hover{background:color-mix(in srgb, var(--accent) 7%, transparent)}.list-row .lead{align-items:center;gap:.6rem;min-width:0;display:flex}.list-row .lead a{font-family:var(--font-display), sans-serif;text-overflow:ellipsis;white-space:nowrap;border-bottom:none;font-size:1.02rem;overflow:hidden}.save-bar{background:color-mix(in srgb, var(--panel) 88%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:var(--border);border-radius:var(--radius);margin-top:2rem;padding:.75rem;position:sticky;bottom:1rem}.tag{text-transform:uppercase;border:1px solid var(--border-color);border-radius:calc(var(--radius) / 2);font-size:.7rem;font-family:var(--font-mono), monospace;padding:.1rem .4rem}.tag.published{background:var(--text);color:var(--bg);border-color:var(--text)}.tag.draft{background:var(--accent);color:var(--selection-text);border-color:var(--accent)}.cover-preview{border:var(--border);border-radius:var(--radius);background:var(--panel);overflow:hidden}.cover-preview img{object-fit:cover;width:100%;max-height:18rem;display:block}.cover-preview .row{padding:.6rem}.cover-drop{text-align:center;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid color-mix(in srgb, var(--text) 30%, transparent);border-top-color:var(--accent);vertical-align:-.15em;border-radius:50%;width:1em;height:1em;animation:.7s linear infinite spin;display:inline-block}.btn.is-busy{opacity:.55;pointer-events:none;cursor:progress}label.btn:has(input:disabled){opacity:.55;pointer-events:none;cursor:progress}.cover-preview{position:relative}.upload-veil{background:color-mix(in srgb, var(--bg) 55%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:var(--text);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-family:var(--font-mono), monospace;justify-content:center;align-items:center;gap:.55rem;display:flex;position:absolute;inset:0}.thumb.is-uploading,.media-card.is-uploading{position:relative}.thumb.is-uploading:after,.media-card.is-uploading:after{content:"";background:color-mix(in srgb, var(--bg) 55%, transparent);position:absolute;inset:0}.error{color:#fff;border-radius:var(--radius);background:#f03;margin-bottom:1rem;padding:.5rem .75rem}.notice{background:var(--panel);color:var(--accent);border:var(--border);border-radius:var(--radius);margin-bottom:1rem;padding:.5rem .75rem}
