.admin{--a-bg:#f4f3ef;--a-panel:#ffffff;--a-ink:#1b1a17;--a-muted:#6f6b63;--a-line:#e3e0d8;--a-accent:#1b1a17;--a-ok:#2b7a4b;--a-warn:#b2641c;--a-danger:#b3261e;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.5;color:var(--a-ink);background:var(--a-bg);min-height:100vh;display:grid;grid-template-columns:230px 1fr}.admin a{text-decoration:none}.a-main a:not(.a-btn){color:var(--a-ink)}.admin h1,.admin h2,.admin h3{font-family:Cormorant Garamond,Georgia,serif;font-weight:600;letter-spacing:0;line-height:1.1}.admin h1{font-size:2rem}.admin h2{font-size:1.4rem}.admin .serif{font-family:Cormorant Garamond,Georgia,serif}.a-side{background:var(--a-ink);color:#efece4;padding:1.6rem 1.2rem;display:flex;flex-direction:column;gap:.4rem;position:-webkit-sticky;position:sticky;top:0;height:100vh}.a-side .a-brand{font-family:Cormorant Garamond,Georgia,serif;font-size:1.55rem;color:#fff;margin-bottom:1.4rem;line-height:1.1}.a-side .a-brand small{display:block;font-family:Inter,system-ui,sans-serif;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:#9f9a8e;margin-top:.3rem}.a-side a{color:#cfcabd;padding:.5rem .7rem;border-radius:6px;display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.a-side a:hover{background:rgba(255,255,255,.06);color:#fff}.a-side a.active{background:rgba(255,255,255,.12);color:#fff}.a-side .badge{background:#e0b35a;color:#1b1a17;font-size:.68rem;padding:.1rem .45rem;border-radius:999px;font-weight:600}.a-side .badge.soft{background:rgba(255,255,255,.14);color:#e8e4da}.a-side .spacer{flex:1 1}.a-side .a-foot{border-top:1px solid rgba(255,255,255,.1);padding-top:.8rem;display:flex;flex-direction:column;gap:.2rem}.a-side button{background:none;border:0;color:#cfcabd;text-align:left;padding:.5rem .7rem;cursor:pointer;font-size:.9rem;border-radius:6px}.a-side button:hover{background:rgba(255,255,255,.06);color:#fff}.a-main{padding:2.2rem 2.6rem 5rem;max-width:1180px;width:100%}.a-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.8rem;flex-wrap:wrap}.a-head p{color:var(--a-muted);margin:.3rem 0 0}.a-actions{display:flex;gap:.6rem;flex-wrap:wrap}.a-actions,.a-btn{align-items:center}.a-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--a-ink);background:var(--a-ink);color:#fff;padding:.55rem 1rem;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;display:inline-flex;gap:.4rem;line-height:1}.a-btn:hover{opacity:.85}.a-btn:disabled{opacity:.5;cursor:wait}.a-btn.ghost{background:transparent;color:var(--a-ink);border-color:var(--a-line)}.a-btn.ghost:hover{border-color:var(--a-ink);opacity:1}.a-btn.danger{background:transparent;color:var(--a-danger);border-color:transparent}.a-btn.danger:hover{background:#fbeae8;opacity:1}.a-btn.small{padding:.35rem .7rem;font-size:.78rem}.a-panel{background:var(--a-panel);border:1px solid var(--a-line);border-radius:10px;padding:1.4rem 1.6rem;margin-bottom:1.4rem}.a-panel h2{margin-bottom:.3rem}.a-panel .desc{color:var(--a-muted);font-size:.85rem;margin:0 0 1.2rem}.a-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:1.6rem}.a-stat{background:var(--a-panel);border:1px solid var(--a-line);border-radius:10px;padding:1.1rem 1.3rem}.a-stat .n{font-family:Cormorant Garamond,Georgia,serif;font-size:2.4rem;font-weight:600;line-height:1}.a-stat .l{color:var(--a-muted);font-size:.78rem;margin-top:.4rem;text-transform:uppercase;letter-spacing:.1em}.a-table{width:100%;border-collapse:collapse;font-size:.88rem}.a-table th{text-align:left;font-weight:500;color:var(--a-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;padding:.5rem .6rem}.a-table td,.a-table th{border-bottom:1px solid var(--a-line)}.a-table td{padding:.75rem .6rem;vertical-align:middle}.a-table tr:hover td{background:#faf9f6}.a-table .title{font-family:Cormorant Garamond,Georgia,serif;font-size:1.2rem;font-weight:600}.a-table .sub{color:var(--a-muted);font-size:.78rem}.a-table .right{text-align:right;white-space:nowrap}.pill{display:inline-block;font-size:.7rem;padding:.15rem .55rem;border-radius:999px;border:1px solid var(--a-line);color:var(--a-muted);text-transform:uppercase;letter-spacing:.08em}.pill.ok{color:var(--a-ok);border-color:#cfe5d7;background:#eef7f1}.pill.warn{color:var(--a-warn);border-color:#f0dcc4;background:#fbf3ea}.pill.pin{color:#7a4b9a;border-color:#e4d4f0;background:#f6f0fb}.f{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.1rem}.f label{font-size:.78rem;font-weight:500;color:var(--a-ink)}.f .help{color:var(--a-muted);font-size:.75rem}.f input[type=datetime-local],.f input[type=number],.f input[type=password],.f input[type=search],.f input[type=text],.f input[type=url],.f select,.f textarea{width:100%;border:1px solid var(--a-line);background:#fff;border-radius:6px;padding:.55rem .7rem;font-size:.9rem;outline:0;font-family:inherit}.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--a-ink)}.f textarea{min-height:6rem;resize:vertical}.f.inline{flex-direction:row;align-items:center;gap:.6rem}.f.inline label{order:2}.f input[type=checkbox]{width:1.05rem;height:1.05rem;accent-color:var(--a-ink)}.f input[type=color]{width:3rem;height:2.2rem;padding:0;border:1px solid var(--a-line);border-radius:6px;background:none;cursor:pointer}.f input[type=range]{width:100%;accent-color:var(--a-ink)}.f .color-row{display:flex;align-items:center;gap:.6rem}.f .color-row input[type=text]{width:8rem;font-family:ui-monospace,Menlo,monospace;font-size:.8rem}.f .range-row{display:flex;align-items:center;gap:.8rem}.f .range-row output{min-width:3.5rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.82rem;color:var(--a-muted)}.grid2{grid-template-columns:1fr 1fr;grid-gap:0 1.4rem}.grid2,.grid3{display:grid;gap:0 1.4rem}.grid3{grid-template-columns:1fr 1fr 1fr;grid-gap:0 1.4rem}.toggle-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:.5rem 1.4rem;gap:.5rem 1.4rem}.toggle-list .f{margin-bottom:.3rem}.a-notice{padding:.75rem 1rem;border-radius:8px;background:#eef7f1;border:1px solid #cfe5d7;color:var(--a-ok);font-size:.85rem;margin-bottom:1rem}.a-notice.error{background:#fbeae8;border-color:#f0cfcb;color:var(--a-danger)}.a-notice.warn{background:#fbf3ea;border-color:#f0dcc4;color:var(--a-warn)}.editor{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:1.4rem;gap:1.4rem;align-items:start}.editor .side{position:-webkit-sticky;position:sticky;top:1.4rem}.editor .title-input{font-family:Cormorant Garamond,Georgia,serif;font-size:2rem;font-weight:600;border:0;border-bottom:1px solid var(--a-line);border-radius:0;padding:.4rem 0;background:transparent;width:100%;outline:0}.editor .title-input:focus{border-bottom-color:var(--a-ink)}.editor .subtitle-input{font-family:Cormorant Garamond,Georgia,serif;font-size:1.2rem;font-style:italic;border:0;background:transparent;padding:.4rem 0;width:100%;outline:0;color:var(--a-muted)}.toolbar{display:flex;flex-wrap:wrap;gap:.25rem;padding:.5rem 0;border-bottom:1px solid var(--a-line);margin-bottom:.6rem;align-items:center}.toolbar button{background:none;border:1px solid transparent;border-radius:5px;padding:.3rem .55rem;cursor:pointer;font-size:.8rem;color:var(--a-ink);font-family:inherit}.toolbar button:hover{background:#f0eee8;border-color:var(--a-line)}.toolbar button.on{background:var(--a-ink);color:#fff}.toolbar .sep{width:1px;height:1.2rem;background:var(--a-line);margin:0 .3rem}.toolbar .grow{flex:1 1}.editor textarea.body{width:100%;border:0;outline:0;background:transparent;resize:vertical}.editor .preview,.editor textarea.body{min-height:60vh;font-family:EB Garamond,Georgia,serif;font-size:1.12rem;line-height:1.7;padding:.4rem 0}.editor .preview img{max-width:100%}.editor .preview blockquote{border-left:2px solid var(--a-line);margin:1em 0;padding-left:1em;font-style:italic;color:var(--a-muted)}.split{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.4rem;gap:1.4rem}.split>*{min-width:0}.cover-preview{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:6px;border:1px solid var(--a-line);margin-bottom:.6rem}.wordcount{font-size:.75rem;color:var(--a-muted);text-align:right;padding-top:.4rem}.tabs{display:flex;gap:.2rem;border-bottom:1px solid var(--a-line);margin-bottom:1.4rem;flex-wrap:wrap}.tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:.6rem .9rem;cursor:pointer;font-size:.85rem;color:var(--a-muted);font-family:inherit;margin-bottom:-1px}.tabs button.on{color:var(--a-ink);border-bottom-color:var(--a-ink);font-weight:500}.presets{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.2rem}.presets button{display:flex;align-items:center;gap:.5rem;border:1px solid var(--a-line);background:#fff;border-radius:999px;padding:.35rem .8rem .35rem .4rem;cursor:pointer;font-size:.8rem;font-family:inherit}.presets button:hover{border-color:var(--a-ink)}.presets .sw{display:flex;border-radius:999px;overflow:hidden;width:2.2rem;height:1.3rem;border:1px solid var(--a-line)}.presets .sw i{flex:1 1}.list-editor{display:flex;flex-direction:column;gap:.5rem}.list-editor .row{display:grid;grid-template-columns:1fr 2fr auto;grid-gap:.5rem;gap:.5rem}.list-editor input{border:1px solid var(--a-line);border-radius:6px;padding:.45rem .6rem;font-size:.85rem;font-family:inherit}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:.8rem;gap:.8rem}.media-item{border:1px solid var(--a-line);border-radius:8px;overflow:hidden;background:#fff}.media-item img{width:100%;aspect-ratio:1;object-fit:cover;display:block;background:#f0eee8}.media-item .mi{padding:.5rem .6rem;font-size:.72rem;color:var(--a-muted);display:flex;flex-direction:column;gap:.3rem}.media-item code{font-size:.7rem;word-break:break-all;color:var(--a-ink)}.media-item .actions{display:flex;gap:.4rem}.comment-row{padding:.9rem 0;border-bottom:1px solid var(--a-line);display:grid;grid-template-columns:1fr auto;grid-gap:1rem;gap:1rem;align-items:start}.comment-row .who{font-weight:500}.comment-row .where{color:var(--a-muted);font-size:.78rem}.comment-row .txt{margin-top:.3rem;white-space:pre-wrap;font-size:.9rem}.comment-row .ops{display:flex;gap:.3rem}.login{min-height:100vh;display:grid;place-items:center;background:#1b1a17;color:#efece4;font-family:Inter,system-ui,sans-serif}.login form{width:min(100% - 2rem,360px);background:#23221e;border:1px solid #33312c;border-radius:12px;padding:2rem}.login h1{font-family:Cormorant Garamond,Georgia,serif;font-weight:600;font-size:2rem;margin:0 0 .2rem;color:#fff}.login .sub{color:#9f9a8e;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1.6rem}.login input{width:100%;background:#1b1a17;border:1px solid #3b3933;color:#fff;border-radius:6px;padding:.7rem .8rem;font-size:1rem;outline:0;margin-bottom:1rem;font-family:inherit}.login input:focus{border-color:#e0b35a}.login button{width:100%;background:#e0b35a;color:#1b1a17;border:0;border-radius:6px;padding:.75rem;font-weight:600;cursor:pointer;font-family:inherit;font-size:.95rem}.login .err{color:#f3a59d;font-size:.85rem;margin-bottom:1rem}@media (max-width:900px){.admin{grid-template-columns:1fr}.a-side{position:relative;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.2rem;padding:.8rem 1rem}.a-side .a-brand{margin:0 1rem 0 0;font-size:1.2rem}.a-side .a-brand small,.a-side .spacer{display:none}.a-side .a-foot{border:0;padding:0;flex-direction:row}.a-main{padding:1.4rem 1rem 4rem}.editor,.grid2,.grid3,.split{grid-template-columns:1fr}.editor .side{position:static}}