:root{--paper:#F3EEE4;--plate:#FBF9F4;--ink:#1B1915;--grey:#5A554C;--line:#D9D2C4;--soft:#E6DFD2;--blue:#1D4ED8;--red:#B42318;--green:#1F7A4D;--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;--sans:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 var(--sans);background-image:linear-gradient(var(--soft) 1px,transparent 1px),linear-gradient(90deg,var(--soft) 1px,transparent 1px);background-size:48px 48px}
a{color:var(--blue)}
button,input,select,textarea{font:inherit;color:inherit}
.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:22px;padding:12px 28px;background:var(--ink);color:var(--paper)}
.top a{color:var(--paper);text-decoration:none}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:19px;letter-spacing:-.01em}
.glyph{width:22px;height:22px;background:linear-gradient(var(--paper),var(--paper)) 4px 2px/2px 18px no-repeat,linear-gradient(var(--paper),var(--paper)) 4px 5px/9px 2px no-repeat,linear-gradient(var(--paper),var(--paper)) 4px 10px/13px 2px no-repeat,linear-gradient(var(--paper),var(--paper)) 4px 15px/9px 2px no-repeat}
.sitepick{font:12px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#A89F90;display:flex;align-items:center;gap:8px}
.sitepick select{background:#2A2721;border:1px solid #3A362D;color:var(--paper);padding:5px 8px;text-transform:none;letter-spacing:0;font:14px var(--sans)}
.top nav{display:flex;gap:18px;margin-left:8px}.top nav a{font-size:14px;opacity:.8}.top nav a:hover{opacity:1}
.who{margin-left:auto;font:12px var(--mono);color:#A89F90}
.top .ghost{border-color:#3A362D;color:var(--paper)}
main{max-width:1180px;margin:0 auto;padding:32px 28px 80px}
h1{font:800 34px/1.1 var(--sans);letter-spacing:-.03em;margin:0 0 6px}
.sub{color:var(--grey);margin:0 0 24px}
.mono{font-family:var(--mono)}
.btn,.ghost,.danger{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:9px 14px;cursor:pointer;text-decoration:none;font-size:14px}
.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.ghost:hover{border-color:var(--ink)}
.danger{background:transparent;color:var(--red);border-color:var(--red)}
.btn:disabled{opacity:.5;cursor:default}
.panel{background:var(--plate);border:1px solid var(--line);padding:22px}
.bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}
.bar input,.bar select{border:1px solid var(--line);background:var(--plate);padding:8px 10px}
.bar .grow{flex:1;min-width:220px}
table{width:100%;border-collapse:collapse;background:var(--plate);border:1px solid var(--line)}
th{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--grey);text-align:left;padding:10px 12px;border-bottom:1px solid var(--ink)}
td{padding:12px;border-bottom:1px solid var(--soft);vertical-align:top}
tr.row{cursor:pointer}tr.row:hover td{background:#F6F2EA}
td .t{font-weight:600}td .s{color:var(--grey);font-size:13px;margin-top:2px}
.badge{display:inline-block;font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:3px 7px;border:1px solid var(--line)}
.st-published{color:var(--green);border-color:var(--green)}.st-soon{color:var(--blue);border-color:var(--blue)}.st-draft{color:var(--grey)}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 18px}
.field{display:flex;flex-direction:column;gap:6px}
.field.wide{grid-column:span 2}.field.full{grid-column:1/-1}
.field>span{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--grey)}
.field input,.field select,.field textarea{border:1px solid var(--line);background:#fff;padding:9px 10px;width:100%}
.field textarea{min-height:90px;resize:vertical}
.field small{color:var(--grey);font-size:12px}
.check{display:flex;align-items:center;gap:8px;font-size:14px}
.langs{display:flex;gap:12px;flex-wrap:wrap}
.tabs{display:flex;gap:0;margin:26px 0 0;border-bottom:1px solid var(--ink)}
.tabs button{border:1px solid transparent;border-bottom:0;background:transparent;padding:10px 16px;cursor:pointer;font:500 13px var(--mono);letter-spacing:.06em}
.tabs button[aria-selected="true"]{background:var(--plate);border-color:var(--ink);margin-bottom:-1px}
.tabs .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--line);margin-left:8px;vertical-align:1px}.tabs .dot.on{background:var(--green)}
.tabpanel{border:1px solid var(--ink);border-top:0;background:var(--plate);padding:20px}
.md{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.md textarea{min-height:420px;font:14px/1.6 var(--mono)}
.preview{border:1px solid var(--line);background:#fff;padding:14px 18px;min-height:420px;overflow:auto}
.preview img{max-width:100%}
.actions{position:sticky;bottom:0;display:flex;gap:10px;align-items:center;justify-content:flex-end;padding:14px 0;margin-top:18px;background:linear-gradient(transparent,var(--paper) 30%)}
.actions .left{margin-right:auto;font:12px var(--mono);color:var(--grey)}
.thumb{max-width:220px;max-height:140px;border:1px solid var(--line);display:block;margin-top:6px}
.login{max-width:440px;margin:12vh auto 0}
.login form{display:flex;gap:10px;margin-top:18px}.login input{flex:1;border:1px solid var(--line);background:#fff;padding:11px}
.keybox{font:13px var(--mono);background:#fff;border:1px dashed var(--blue);padding:12px;word-break:break-all;margin:12px 0}
#toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:10px 16px;font:13px var(--mono);opacity:0;transition:opacity .2s;pointer-events:none;max-width:90vw}
#toast.on{opacity:1}#toast.err{background:var(--red)}
.empty{padding:40px;text-align:center;color:var(--grey)}
@media (max-width:860px){.grid{grid-template-columns:1fr 1fr}.md{grid-template-columns:1fr}.top{flex-wrap:wrap;gap:10px 16px}.who{display:none}}
