:root{--ink:#14181e;--muted:#737980;--paper:#efeee9;--panel:#f8f7f2;--line:rgba(20,24,30,.15);--blue:#1648e7;--acid:#d7ff63;--red:#c94735;--mono:"DM Mono",monospace;--sans:"Manrope",sans-serif;--serif:"Newsreader",serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}[hidden]{display:none!important}::selection{background:var(--acid);color:#111}
.admin-brand{display:inline-flex;align-items:center;gap:11px;font-size:11px;font-weight:700}.admin-mark{display:grid;place-items:center;width:31px;height:31px;border:1px solid currentColor;border-radius:50%;color:var(--blue);font:500 19px var(--serif)}.admin-eyebrow{margin:0 0 17px;color:var(--muted);font:500 8px var(--mono);text-transform:uppercase;letter-spacing:.13em}
.login-view{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-panel{padding:45px max(45px,7vw);display:flex;flex-direction:column}.login-copy{margin:auto 0 42px}.login-copy h1{margin:0;font:500 clamp(58px,6vw,92px)/.88 var(--serif);letter-spacing:-.055em}.login-copy h1 em{font-weight:400;color:var(--blue)}.login-copy>p:last-child{color:var(--muted);font-size:12px;margin-top:25px}.login-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:650px}.login-form label,.editor-fields label{display:flex;flex-direction:column;gap:9px;color:var(--muted);font:500 8px var(--mono);text-transform:uppercase;letter-spacing:.09em}.login-form input,.editor-fields input,.editor-fields textarea,.editor-fields select{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.5);color:var(--ink);outline:none;padding:14px 15px;border-radius:0;transition:border .2s,background .2s;text-transform:none;letter-spacing:0}.login-form input:focus,.editor-fields input:focus,.editor-fields textarea:focus,.editor-fields select:focus{border-color:var(--blue);background:white}.login-form button{grid-column:1/-1;border:0;background:var(--blue);color:white;padding:15px 18px;display:flex;justify-content:space-between;font:500 9px var(--mono);text-transform:uppercase;letter-spacing:.08em}.form-status{grid-column:1/-1;height:16px;color:var(--red);font:400 9px var(--mono);margin:0}.login-panel>small{margin-top:auto;color:#a0a3a5;font:400 7px var(--mono);text-transform:uppercase;letter-spacing:.1em}.login-visual{position:relative;overflow:hidden;background:#1648e7;color:white;display:grid;place-items:center}.login-visual::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:50px 50px}.login-visual>span{position:absolute;bottom:20px;left:23px;font:400 8px var(--mono);letter-spacing:.1em}.admin-orbit{position:relative;width:min(36vw,450px);height:min(36vw,450px);border:1px solid rgba(255,255,255,.4);border-radius:50%;animation:rotate 16s linear infinite}.admin-orbit::before,.admin-orbit::after{content:"";position:absolute;border:1px dashed rgba(255,255,255,.3);border-radius:50%;inset:14%}.admin-orbit::after{inset:30%;border-style:solid}.admin-orbit i{position:absolute;width:12px;height:12px;background:var(--acid);border-radius:50%;box-shadow:0 0 20px var(--acid)}.admin-orbit i:nth-child(1){left:48%;top:-6px}.admin-orbit i:nth-child(2){right:7%;bottom:20%}.admin-orbit i:nth-child(3){left:12%;bottom:13%;background:white}.admin-orbit b{position:absolute;inset:42%;border-radius:50%;background:var(--acid);box-shadow:0 0 70px rgba(215,255,99,.7)}@keyframes rotate{to{transform:rotate(360deg)}}
.dashboard{min-height:100vh}.admin-header{height:66px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--panel);position:sticky;top:0;z-index:20}.admin-header>div{display:flex;align-items:center;gap:21px}.admin-header>div a,.admin-header>div button{border:0;background:none;color:var(--muted);font:500 8px var(--mono);text-transform:uppercase;letter-spacing:.08em}.dashboard-grid{display:grid;grid-template-columns:370px minmax(0,1fr);min-height:calc(100vh - 66px)}.article-sidebar{border-right:1px solid var(--line);background:#e9e8e2}.sidebar-heading{height:125px;padding:28px 24px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.sidebar-heading .admin-eyebrow{margin-bottom:8px}.sidebar-heading h2{margin:0;font:500 32px var(--serif)}.sidebar-heading h2 span{color:var(--muted);font:400 9px var(--mono);vertical-align:top;margin-left:5px}.new-button{border:0;background:var(--blue);color:white;padding:11px 14px;font:500 8px var(--mono);text-transform:uppercase;letter-spacing:.08em}.admin-filter{display:flex;gap:4px;padding:14px 20px;border-bottom:1px solid var(--line)}.admin-filter button{border:1px solid transparent;background:transparent;color:var(--muted);padding:7px 10px;border-radius:100px;font:400 7px var(--mono);text-transform:uppercase;letter-spacing:.08em}.admin-filter button.active{border-color:var(--line);background:var(--panel);color:var(--ink)}.admin-list{max-height:calc(100vh - 231px);overflow:auto}.admin-article{width:100%;padding:19px 22px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;display:grid;grid-template-columns:1fr auto;gap:7px 15px;transition:.2s}.admin-article:hover{background:rgba(255,255,255,.4)}.admin-article.selected{background:var(--panel);box-shadow:inset 3px 0 var(--blue)}.admin-article strong{grid-column:1/-1;font:500 17px/1.25 var(--serif)}.admin-article small{grid-column:1/-1;color:var(--muted);font:400 7px var(--mono);text-transform:uppercase;letter-spacing:.06em}.article-status{justify-self:start;border-radius:100px;padding:4px 7px;font:500 6px var(--mono);text-transform:uppercase;letter-spacing:.08em}.article-status.public{background:#dcebd9;color:#2d6e38}.article-status.private{background:#e8ddd4;color:#9b4d31}.admin-empty{padding:30px 22px;color:var(--muted);font:400 9px var(--mono)}
.editor-panel{background:var(--panel);min-width:0}.empty-editor{min-height:calc(100vh - 66px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted)}.empty-editor>span{display:grid;place-items:center;width:70px;height:70px;border:1px solid var(--line);border-radius:50%;color:var(--blue);font:400 35px var(--serif);margin-bottom:27px}.empty-editor h2{margin:0;color:var(--ink);font:400 43px/1.05 var(--serif)}.empty-editor p{font-size:10px;margin-top:17px}.editor-topbar{min-height:95px;padding:18px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:66px;z-index:10;background:rgba(248,247,242,.93);backdrop-filter:blur(12px)}.editor-topbar>div{display:flex;align-items:center;gap:10px}.editor-topbar .admin-eyebrow{margin:0}.save-state{color:var(--muted);font:400 7px var(--mono)}.delete-button,.save-button{border:0;padding:12px 16px;font:500 8px var(--mono);text-transform:uppercase;letter-spacing:.08em}.delete-button{background:transparent;color:var(--red)}.save-button{background:var(--blue);color:white}.save-button span{margin-left:25px}.save-button:disabled{opacity:.55;cursor:wait}.editor-fields{max-width:920px;margin:auto;padding:50px 45px 100px;display:grid;grid-template-columns:repeat(2,1fr);gap:26px 18px}.editor-fields .full-field{grid-column:1/-1}.editor-fields textarea{resize:vertical;line-height:1.65}.editor-fields .title-field textarea{border:0;border-bottom:1px solid var(--line);padding:5px 0 18px;background:transparent;font:500 46px/1.05 var(--serif);letter-spacing:-.025em}.editor-fields .title-field textarea:focus{background:transparent}.slug-input{display:flex;align-items:center;border:1px solid var(--line);background:rgba(255,255,255,.5)}.slug-input span{padding-left:14px;color:#9a9ea1;text-transform:none;letter-spacing:0}.slug-input input{border:0!important;background:transparent!important;padding-left:2px}.field-hint{color:#a0a4a7;text-transform:none;letter-spacing:0;font-weight:400}.editor-section-title{margin-top:14px;padding:22px 0 0;border-top:1px solid var(--line)}.editor-section-title span{display:block;color:var(--ink);font:500 13px var(--sans);text-transform:none;letter-spacing:0}.editor-section-title p{margin:6px 0 0;color:var(--muted);font:400 8px var(--mono);text-transform:none;letter-spacing:0}.body-field textarea{font:400 17px/1.75 var(--serif);min-height:500px}.mobile-save{display:none}.toast{position:fixed;right:24px;bottom:24px;z-index:40;transform:translateY(20px);opacity:0;background:var(--ink);color:white;padding:14px 18px;font:400 9px var(--mono);transition:.3s;pointer-events:none}.toast.visible{transform:none;opacity:1}.toast.error{background:var(--red)}
@media(max-width:850px){.login-view{grid-template-columns:1fr}.login-panel{min-height:100vh;padding:30px 24px}.login-visual{display:none}.login-form{grid-template-columns:1fr}.login-copy{margin-top:auto}.dashboard-grid{grid-template-columns:1fr}.article-sidebar{border-right:0}.admin-list{max-height:none}.editor-panel{border-top:1px solid var(--line)}.empty-editor{min-height:400px}.editor-topbar{top:66px;padding:14px 18px}.editor-topbar .save-state,.editor-topbar .delete-button{display:none}.editor-fields{padding:40px 18px 50px;grid-template-columns:1fr}.editor-fields .full-field{grid-column:auto}.editor-fields .title-field textarea{font-size:37px}.mobile-save{display:block;padding:0 18px 50px}.mobile-save .save-button{width:100%;display:flex;justify-content:space-between}.article-sidebar{min-height:auto}.admin-header{padding:0 17px}.admin-header .admin-brand span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

/* Repeatable citation editor */
.citation-section-title{display:flex;align-items:end;justify-content:space-between;gap:20px}.add-citation-button{flex:0 0 auto;border:1px solid var(--line);background:transparent;color:var(--ink);padding:10px 13px;font:500 8px var(--mono);text-transform:uppercase;letter-spacing:.07em;transition:.2s}.add-citation-button:hover{background:var(--ink);color:var(--panel)}.citation-editor{display:flex;flex-direction:column;gap:10px}.citation-empty{margin:0;padding:22px;border:1px dashed var(--line);color:var(--muted);text-align:center;font:400 8px var(--mono)}.citation-row{display:grid;grid-template-columns:30px minmax(0,1.6fr) minmax(0,1fr) auto;gap:13px;align-items:start;padding:17px;border:1px solid var(--line);background:rgba(255,255,255,.35)}.citation-number{padding-top:13px;color:var(--blue);font:500 8px var(--mono)}.citation-row textarea{min-height:82px;resize:vertical}.citation-row input{height:45px}.optional-label{margin-left:5px;color:#a5a9ac;font-weight:400;text-transform:none;letter-spacing:0}.remove-citation{align-self:end;height:45px;border:0;background:transparent;color:var(--red);padding:0 5px;font:500 7px var(--mono);text-transform:uppercase;letter-spacing:.07em}
@media(max-width:850px){.citation-row{grid-template-columns:25px 1fr}.citation-row label{grid-column:2}.remove-citation{grid-column:2;justify-self:start;height:auto;padding:7px 0}.citation-section-title{align-items:center}.citation-section-title p{max-width:210px}}
