:root{--p:#1f6f5c;--p-ink:#fff;--a:#f2b33d;--ink:#14201c;--mu:#4f5c57;--bd:#d9e1de;--bg:#f6f8f7;--card:#fff;--warn:#fff4dc;--ok:#e3f5ec;--err:#fde8e8}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
a{color:var(--p)}h1{font-size:1.6rem;line-height:1.25;margin:.2em 0 .6em}h2{font-size:1.2rem;margin:1.2em 0 .5em}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}
:focus-visible{outline:3px solid #1a5fd0;outline-offset:2px}
.appbar,.pubbar{display:flex;align-items:center;gap:16px;padding:10px 16px;background:#fff;border-bottom:1px solid var(--bd);flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--ink);text-decoration:none}
.appbar nav,.pubbar nav{display:flex;gap:4px;flex-wrap:wrap;flex:1}.appbar nav a,.pubbar nav a{padding:6px 10px;border-radius:6px;text-decoration:none;color:var(--ink)}
.appbar nav a[aria-current]{background:var(--bg);font-weight:600}.pubbar nav{justify-content:flex-end;align-items:center}
.who{display:flex;gap:12px;align-items:center}.acct{color:var(--mu);font-size:.9rem}.who form{margin:0}
main.narrow{max-width:960px;margin:0 auto;padding:20px 16px}main.wide{max-width:1280px;margin:0 auto;padding:16px}
.card{background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:18px;margin:12px 0}
.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:10px}
label{display:block;font-weight:600;font-size:.92rem}label input,label textarea,label select{margin-top:4px}
input,select,textarea,button{font:inherit}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;padding:8px 10px;border:1px solid #8a9792;border-radius:7px;background:#fff;color:var(--ink)}
input[type=color]{padding:2px;height:38px}
button,.btn{display:inline-block;cursor:pointer;border-radius:7px;border:1px solid var(--p);background:#fff;color:var(--p);padding:8px 14px;font-weight:600;text-decoration:none}
button.primary,.btn.primary,.pubbar .btn{background:var(--p);color:var(--p-ink)}button.danger{border-color:#a61b1b;color:#a61b1b}
button.link{border:0;background:none;padding:2px 4px;color:var(--p);text-decoration:underline;font-weight:400}button:disabled{opacity:.55;cursor:not-allowed}
.muted{color:var(--mu)}.small{font-size:.85rem}.notice{padding:10px 12px;border-radius:8px}.ok{background:var(--ok)}.warn{background:var(--warn)}.err{background:var(--err)}
table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--bd);vertical-align:top}th{font-size:.85rem;color:var(--mu)}
.pill{display:inline-block;padding:2px 8px;border-radius:99px;background:var(--bg);border:1px solid var(--bd);font-size:.8rem}
.board{display:grid;gap:12px;grid-template-columns:repeat(6,minmax(170px,1fr));overflow-x:auto}.col h3{font-size:.95rem;margin:0 0 8px;display:flex;justify-content:space-between}
.col .card{padding:10px;margin:0 0 8px}.col .card a{font-weight:600;text-decoration:none}
@media (max-width:900px){.board{grid-template-columns:repeat(2,1fr)}}
.feature-btn{font-size:.85rem;padding:5px 10px}
dialog{border:1px solid var(--bd);border-radius:12px;max-width:520px;width:calc(100% - 32px)}dialog::backdrop{background:rgba(0,0,0,.35)}
.msg{min-height:1.3em;font-weight:600}
/* Editor */
.editor{display:grid;grid-template-columns:280px 1fr 300px;gap:16px}@media (max-width:1100px){.editor{grid-template-columns:1fr}}
.blocklist{list-style:none;padding:0;margin:0}.blocklist li{display:flex;align-items:center;gap:4px;background:#fff;border:1px solid var(--bd);border-radius:8px;padding:6px 8px;margin-bottom:6px}
.blocklist li[aria-current=true]{border-color:var(--p);box-shadow:0 0 0 2px #1f6f5c33}.blocklist li .name{flex:1;text-align:left;border:0;background:none;color:var(--ink);padding:4px;font-weight:600}
.blocklist li.hidden .name{color:#8a9792;text-decoration:line-through}.blocklist .tools button{padding:2px 6px;font-size:.8rem}
.req{font-size:.7rem;color:var(--mu);margin-left:4px}.items .item{border:1px dashed var(--bd);border-radius:8px;padding:10px;margin:8px 0}
.preview-frame{width:100%;height:80vh;border:1px solid var(--bd);border-radius:10px;background:#fff}.preview-frame.mobile{max-width:390px}
.statusbar{position:sticky;top:0;background:var(--bg);padding:6px 0;z-index:2}
.pubfoot{max-width:960px;margin:40px auto;padding:16px;color:var(--mu);font-size:.9rem;border-top:1px solid var(--bd)}.pubfoot nav{display:flex;gap:12px;flex-wrap:wrap}
.hero{padding:32px 0}.hero h1{font-size:2.2rem}.hero p{font-size:1.15rem;max-width:640px}
.legal{background:#fff;border:1px solid var(--bd);border-radius:10px;padding:24px}.legal h2{margin-top:1.4em}
.draft-banner{background:var(--warn);padding:10px;border-radius:8px;font-weight:600}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.statusbar select,.row select{width:auto}
#side a,#side input{overflow-wrap:anywhere}
