:root{color-scheme:light;--bg:#f3f2ed;--paper:#fffefb;--ink:#25382f;--muted:#67736b;--line:#d9dfd6;--green:#285a43;--gold:#e6d4a5}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 system-ui,sans-serif}.top{display:flex;align-items:center;gap:1rem;padding:1.4rem 3vw;background:var(--paper);border-bottom:1px solid var(--line)}h1,h2,h3{font-family:Georgia,serif;line-height:1.2;margin:.35rem 0 1rem}h1{font-size:1.8rem;margin:.2rem 0}h2{font-size:1.55rem}h3{font-size:1.2rem}.eyebrow{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.badge{background:#f1e8d1;border-radius:99px;padding:.35rem .8rem;margin-left:auto;font-size:.8rem;white-space:nowrap}.panel{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:1.4rem}.login{max-width:32rem;margin:6vh auto}.login p{color:var(--muted)}.login #signin{display:block;margin-inline:auto}button,input,select,textarea{font:inherit}button{border:1px solid var(--green);background:var(--green);color:white;padding:.65rem 1rem;border-radius:7px;cursor:pointer}button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:wait}.secondary{background:transparent;color:var(--green)}.quiet{background:transparent;border-color:transparent;color:var(--green);padding:.4rem .65rem}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:2px}input,select,textarea{display:block;width:100%;margin:.35rem 0 1rem;border:1px solid #bac7bd;border-radius:6px;padding:.65rem .75rem;background:white;color:var(--ink)}input:read-only{background:#f1f2ed;color:var(--muted)}input[type=file]{max-width:100%;padding:.5rem;font-size:.85rem}select[multiple]{min-height:8rem}label{display:block;font-size:.9rem;font-weight:600}textarea{font:14px/1.6 ui-monospace,Consolas,monospace;min-height:22rem;resize:vertical;tab-size:2}.muted{font-size:.85rem;color:var(--muted);margin:.35rem 0 1rem}#notice{padding:0 3vw;margin:.6rem 0;min-height:1.5rem}#notice.error{color:#9b2929}#workspace{padding:1rem 3vw}.security{display:flex;gap:1rem;align-items:center;margin-bottom:1.2rem;padding:.9rem 1.3rem}.security p{margin:.15rem 0;font-size:.85rem;color:var(--muted)}.security button{margin-left:auto}.security ul{margin:0;list-style:none;padding:0;font-size:.8rem;color:var(--muted)}.layout{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:1.2rem;align-items:start}.section-top{display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex-wrap:wrap}.section-top h2,.section-top h3{margin:.2rem 0}.library .section-top button{font-size:.8rem;padding:.45rem .6rem}.library input{margin-top:1rem}#articles{padding:0;margin:0;list-style:none;max-height:65vh;overflow:auto}#articles button{display:block;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;width:100%;text-align:left;color:var(--ink);padding:.85rem .3rem}#articles button.selected{background:#e8eee6;border-left:3px solid var(--green);padding-left:.7rem}#articles small{display:block;color:var(--muted);font-size:.75rem;margin-top:.2rem}.editor{min-height:30rem}#empty{padding:4rem 1rem;max-width:30rem}#editor>.section-top{margin-bottom:.5rem}.fields{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem}fieldset{border:1px solid var(--line);border-radius:8px;margin:1.5rem 0;padding:1rem}legend{padding:0 .4rem;font-family:Georgia,serif}.upload-row{display:flex;align-items:center;gap:1rem}.upload-row>div{min-width:0;flex:1}#featured-thumb{width:140px;max-height:140px;object-fit:contain;border-radius:6px}.preview-section{border-top:1px solid var(--line);padding-top:1.4rem;margin-top:1.4rem}.preview-controls{display:flex;flex-wrap:wrap;gap:.2rem}#preview{display:block;background:white;border:1px solid var(--line);border-radius:8px;width:100%;height:750px;margin:1rem auto;transition:width .15s}#preview.phone{width:min(390px,100%)}dialog{border:1px solid var(--line);border-radius:12px;padding:1.5rem;width:min(95vw,30rem)}dialog::backdrop{background:#15251dcc}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(max-width:900px){.layout{grid-template-columns:1fr}.library #articles{max-height:260px}.fields{grid-template-columns:1fr}.security{flex-wrap:wrap}.security ul{width:100%}.top{padding:1rem 4vw}.badge{font-size:.7rem}.panel{padding:1rem}#workspace{padding:.8rem 3vw}.upload-row{flex-wrap:wrap}.login{margin:2rem 3vw}.preview-controls button{font-size:.8rem}#preview{height:600px}}

.analytics-totals{display:flex;flex-wrap:wrap;gap:2rem;margin:1.3rem 0}.analytics-totals>div{display:grid;gap:.3rem}.analytics-totals strong{font-size:2.2rem;color:#285e49}.analytics-totals span{font-size:.9rem}.analytics-chart{display:flex;align-items:flex-end;gap:5px;overflow-x:auto;min-height:150px;padding:.5rem 0}.analytics-column{min-width:30px;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;height:145px}.analytics-bar{width:100%;max-width:36px;background:#477c60;border-radius:4px 4px 0 0}.analytics-column span{font-size:.65rem;white-space:nowrap}.analytics-table{overflow-x:auto}.analytics-table table{width:100%;border-collapse:collapse}.analytics-table th,.analytics-table td{text-align:left;padding:.7rem;border-bottom:1px solid #ddd}.analytics-table th{font-size:.85rem}

/* One persistent action status, visible even when the editor is far down the page. */
body{padding-bottom:env(safe-area-inset-bottom,0px)}
#notice{position:fixed;z-index:100;bottom:max(1rem,env(safe-area-inset-bottom));left:50%;right:auto;transform:translateX(-50%);width:calc(100vw - 2rem);max-width:56rem;margin:0;padding:.8rem 1rem;border:1px solid #afc9b5;border-radius:8px;background:#edf5ee;color:#214c32;box-shadow:0 3px 16px #15251d30;font-size:.95rem;max-height:30vh;overflow:auto}
#notice.error{border-color:#d9a5a5;background:#fff0ee;color:#8a2020}

/* Allow narrow editor grids and long release identifiers to shrink and wrap. */
.layout>*,.fields>*{min-width:0}
#notice,#release-list li,#revision-list li,#active-release{overflow-wrap:anywhere}
@media(max-width:900px){.layout{grid-template-columns:minmax(0,1fr)}.top{flex-wrap:wrap}.upload-row{flex-wrap:wrap}}

.admin-nav{display:flex;gap:.4rem;flex-wrap:wrap;margin:0 0 1.4rem;padding:.4rem;background:var(--paper);border:1px solid var(--line);border-radius:10px}.admin-nav a{color:var(--green);text-decoration:none;padding:.7rem .9rem;border-radius:6px}.admin-nav a[aria-current=page]{background:var(--green);color:white}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;margin:1rem 0}.image-card{min-width:0;background:white;color:var(--ink);border-color:var(--line);text-align:left;padding:.6rem}.image-card img{display:block;width:100%;height:130px;object-fit:contain;background:var(--bg);margin-bottom:.6rem}.image-card span{display:block;font-size:.8rem;overflow-wrap:anywhere}.image-actions{display:flex;flex-wrap:wrap;gap:.5rem}#image-dialog{width:min(95vw,42rem);max-height:90vh;overflow:auto}#library-preview{display:block;max-width:100%;max-height:230px;margin:1rem auto}#image-caption,#image-code{min-height:5rem}#image-path{font-size:.8rem}#image-dialog label{margin-top:.6rem}[data-page]{min-width:0}.security{flex-wrap:wrap}.admin-nav a:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

#image-notice{padding:.6rem;border-radius:6px;background:#edf5ee;color:#214c32}#image-notice.error{background:#fff0ee;color:#8a2020}

#empty-trash-dialog{max-height:90vh;overflow:auto;width:min(95vw,40rem)}#empty-trash-items{max-height:12rem;overflow:auto;overflow-wrap:anywhere}#empty-trash-status{overflow-wrap:anywhere}#confirm-empty-trash{background:#8a2929;border-color:#8a2929}

#key-list{width:100%;padding:0;list-style:none}#key-list li{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding:.8rem 0;border-bottom:1px solid var(--line)}#key-list span{overflow-wrap:anywhere;min-width:0}#remove-key-dialog{width:min(95vw,38rem);max-height:90vh;overflow:auto}#remove-key-status{overflow-wrap:anywhere}#confirm-remove-key{background:#8a2929;border-color:#8a2929}

/* Shared public-site palette, compact page headings, and mobile navigation. */
.admin-nav{gap:.15rem;padding:.35rem;background:#f0f3ef;border-color:#dce4dc;border-radius:10px;box-shadow:0 2px 5px #263d2c08}.admin-nav a{display:flex;align-items:center;min-height:44px;padding:.65rem 1.15rem;border-radius:6px;color:#34463a;font:500 1rem/1.5 system-ui,sans-serif;transition:background-color .16s ease,color .16s ease,transform .16s ease}.admin-nav a:hover{background:#dfe9df;color:#203e2e;transform:translateY(-1px)}.admin-nav a[aria-current=page]{background:#345b4c;color:white}.admin-menu-toggle{display:none}.admin-menu-icon,.admin-menu-icon:before,.admin-menu-icon:after{display:block;width:20px;height:2px;border-radius:2px;background:currentColor;position:relative;transition:transform .16s ease,background-color .16s ease}.admin-menu-icon:before,.admin-menu-icon:after{content:"";position:absolute;left:0}.admin-menu-icon:before{top:-6px}.admin-menu-icon:after{top:6px}.admin-menu-toggle[aria-expanded=true] .admin-menu-icon{background:transparent}.admin-menu-toggle[aria-expanded=true] .admin-menu-icon:before{transform:translateY(6px) rotate(45deg)}.admin-menu-toggle[aria-expanded=true] .admin-menu-icon:after{transform:translateY(-6px) rotate(-45deg)}
.panel>h2:first-child,.panel>.section-top h2{margin-top:0}.panel>.section-top{align-items:flex-start;margin-bottom:1rem}#empty{padding:0;max-width:34rem}.eyebrow{display:block;margin-bottom:.4rem}#empty h2{margin-top:.4rem}#analytics>.section-top>div{display:flex;align-items:flex-end;flex-wrap:wrap;gap:.75rem}#analytics-period{margin-bottom:0}#analytics-refresh{margin:0}#analytics>.section-top h2{padding-top:0}.upload-label input{margin-bottom:0}.section-top>.upload-label{margin:0}
#publish-progress{margin:auto;text-align:center;width:min(calc(100vw - 2rem),32rem);padding:2rem;box-shadow:0 12px 60px #10221840}#publish-progress::backdrop{background:#15251db3}#publish-progress h2{margin-top:0}#publish-progress .muted{margin-bottom:0}.indeterminate-progress{height:7px;background:#dfe9df;border-radius:99px;overflow:hidden;margin:1.5rem 0}.indeterminate-progress span{display:block;width:40%;height:100%;background:#345b4c;border-radius:99px;animation:admin-progress 1.3s ease-in-out infinite}@keyframes admin-progress{from{transform:translateX(-110%)}to{transform:translateX(360%)}}body:has(dialog[open]){overflow:hidden}#purge-image-dialog{width:min(95vw,38rem);max-height:90vh;overflow:auto}#purge-image-name,#purge-image-status{overflow-wrap:anywhere}#purge-image,#confirm-purge-image{color:#8a2929}#confirm-purge-image{background:#8a2929;border-color:#8a2929;color:white}
@media(max-width:40rem){.top{position:relative;gap:.6rem}.top>div{margin-left:3.25rem;flex:1;min-width:0}.top h1{font-size:1.5rem}.top .badge{margin-left:3.25rem}.admin-menu-toggle{position:absolute;left:1rem;top:1rem;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:#f0f3ef;border:1px solid #dce4dc;border-radius:8px;color:#345b4c}.admin-nav{flex-direction:column;border-radius:8px;gap:.15rem}.admin-nav:not(.is-open){display:none}.admin-nav a{padding:.65rem .9rem}#publish-progress{padding:1.5rem}}
@media(prefers-reduced-motion:reduce){.admin-nav a,.admin-menu-icon,.admin-menu-icon:before,.admin-menu-icon:after{transition:none}.admin-nav a:hover{transform:none}.indeterminate-progress span{animation:admin-progress-pulse 1.6s ease-in-out infinite;transform:translateX(75%)}}

@keyframes admin-progress-pulse{0%,100%{opacity:.25}50%{opacity:.85}}

@media(max-width:40rem){.top{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:.5rem .6rem;padding:1rem;align-items:center}.top>div{grid-column:2/4;grid-row:1;margin-left:0}.top .eyebrow{white-space:nowrap}.top .badge{grid-column:2;grid-row:2;margin-left:0;justify-self:start;max-width:100%;white-space:normal}.top>#logout{grid-column:3;grid-row:2}.admin-menu-toggle{position:static;grid-column:1;grid-row:1;align-self:center}}

/* Content navigation and source editor tools. */
.content-menu{display:flex;flex-wrap:wrap;gap:.35rem;margin:1rem 0}.content-menu button{flex:1;background:transparent;color:var(--ink);border-color:var(--line);padding:.6rem .4rem;font-size:.9rem;white-space:nowrap}.content-menu button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:white}.content-create{margin:0 0 1rem}.content-create button{width:100%}.html-toolbar{display:flex;flex-wrap:wrap;gap:.4rem;margin:.7rem 0}.html-toolbar button{background:var(--paper);color:var(--green);border-color:var(--line);padding:.4rem .65rem;min-width:2.6rem;min-height:44px}.html-toolbar button:hover{background:#e8eee6}.library #status-filter-label{margin-top:.75rem}

.editor-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-left:auto}

.security-controls{padding:0;margin:0}

.image-library-menu{max-width:24rem}.image-library-search{max-width:36rem}#purge-image-references{padding-left:1.2rem}#purge-image-references li{margin:.8rem 0;overflow-wrap:anywhere}#purge-image-references strong,#purge-image-references span{display:block}#purge-image-references span{font-size:.85rem;color:var(--muted)}

.publication-delete{color:#8a2929}#delete-publication-dialog{width:min(95vw,38rem);max-height:90vh;overflow:auto}#delete-publication-name{overflow-wrap:anywhere}#confirm-delete-publication{background:#8a2929;border-color:#8a2929;color:#fff}
