@font-face{font-family:Satoshi;src:url(/satoshi-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Satoshi;src:url(/satoshi-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Satoshi;src:url(/satoshi-700.woff2) format("woff2");font-weight:700;font-display:swap}
:root{--cream:#FBF6EF;--ink:#1E1718;--muted:#7A6E6E;--red:#A8201F;--red-dark:#5E1214;--pink:#FBE4E1;--pink-line:#F0C3BE;--line:#DDCFC4;--zebra:#F5ECE3;--green:#1F7A3D;--green-bg:#DDF1E1;--amber:#A35F00;--amber-bg:#FFF6E2;--yellow-bg:#FDF0C2;--yellow-line:#EBD686}
*{box-sizing:border-box}
html,body{margin:0;background:var(--cream);color:var(--ink);font:400 17px/1.55 Satoshi,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
h1,h2,h3{font-weight:700;letter-spacing:-.01em;line-height:1.2;margin:0 0 .5em}
h1{font-size:2.1rem;color:var(--red)} h2{font-size:1.45rem} h3{font-size:1.1rem;color:var(--red);margin-top:1.6em}
a{color:var(--red)} p{margin:0 0 .8em}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}
.top{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:12px 22px;background:var(--cream);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:1.15rem;color:var(--red)}
.mark{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--red);color:var(--cream);font-size:1rem}
.who{margin-left:auto;font-size:.88rem;color:var(--muted)} .who button{font-size:.85rem;padding:2px 8px;margin-left:4px}
.status{font-size:.88rem;font-weight:500;padding:4px 12px;border-radius:99px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.status:empty{display:none}
.status.saved{background:var(--green-bg);color:var(--green)} .status.saving{background:var(--zebra);color:var(--muted)}
.status.offline,.status.error{background:var(--amber-bg);color:var(--amber)}
.navtoggle{display:none}
.progress{height:4px;background:var(--line)} #bar{height:4px;background:var(--red);width:0;transition:width .3s}
.layout{display:grid;grid-template-columns:270px 1fr;max-width:1180px;margin:0 auto;gap:40px;padding:34px 22px 60px}
.side{position:sticky;top:80px;align-self:start}
.side .overall{font-size:.85rem;color:var(--muted);margin-bottom:12px}
.side ol{list-style:none;margin:0;padding:0}
main{min-width:0;max-width:720px;outline:none}
.kicker{font-size:.85rem;font-weight:700;color:var(--red);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.topic{display:inline-block;font-size:.8rem;color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:1px 10px;margin-bottom:14px}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin:16px 0}
.heard{background:var(--pink);border-color:var(--pink-line)} .heard .lbl,.lbl{font-size:.8rem;font-weight:700;color:var(--red-dark);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
.heard p{color:#4a3d3e;margin:0}
details{margin:14px 0;border-left:3px solid var(--pink-line);padding:2px 0 2px 14px} summary{cursor:pointer;font-weight:500;color:var(--red-dark)} details p{margin:.5em 0 0;color:#4a3d3e}
.chip{display:inline-block;background:var(--zebra);border-radius:99px;padding:4px 12px;font-size:.88rem;margin:4px 0 14px}
label.big{display:block;font-weight:700;margin:18px 0 6px}
textarea,input[type=text],input[type=password],input:not([type]),select{width:100%;font:inherit;color:inherit;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px}
textarea{min-height:150px;resize:vertical}
textarea:focus,input:focus,select:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:2px}
button{font:inherit;font-weight:500;border:1.5px solid var(--line);background:#fff;color:var(--ink);border-radius:99px;padding:9px 18px;cursor:pointer}
button:hover{border-color:var(--red)} button.primary{background:var(--red);border-color:var(--red);color:#fff} button.primary:hover{background:var(--red-dark)}
button[aria-pressed=true]{background:var(--red-dark);border-color:var(--red-dark);color:#fff}
.quick{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.navbtns{display:flex;justify-content:space-between;gap:10px;margin-top:34px;padding-top:20px;border-top:1px solid var(--line)}
.note{font-size:.92rem;color:var(--muted)} .ital{font-style:italic}
.sysnote{background:var(--amber-bg);border-color:#f0dcae}
.samples{background:var(--yellow-bg);border-color:var(--yellow-line)}
.drop{border:2px dashed var(--yellow-line);border-radius:12px;padding:16px;text-align:center;margin-top:10px;background:#fffdf5}
.drop.over{border-color:var(--red);background:var(--pink)}
.files{list-style:none;padding:0;margin:10px 0 0} .files li{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin-top:6px;font-size:.92rem}
.files li .nm{flex:1;word-break:break-all} .files li button{padding:3px 12px;font-size:.85rem}
.visually{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.readme li{margin-bottom:.4em} .readme ul,.readme ol{padding-left:1.3em}
.row{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px} .row label{font-size:.85rem;font-weight:500;color:var(--muted)} .row .full{grid-column:1/-1}
.yn{display:flex;gap:10px;margin:8px 0}
.unans a{display:block;padding:6px 0}
.foot{border-top:1px solid var(--line);padding:18px 22px;text-align:center;font-size:.85rem;color:var(--muted)}
.err{color:var(--red);font-weight:500}
.linkbox{word-break:break-all;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:.92rem}
@media (max-width:860px){.layout{grid-template-columns:1fr;gap:0;padding:20px 16px 50px}.side{display:none;position:static}.side.open{display:block;margin-bottom:20px}.navtoggle{display:inline-block;padding:6px 14px}.who{display:none}.row{grid-template-columns:1fr}h1{font-size:1.7rem}}
.btnlike{display:inline-block;background:var(--red);color:#fff;border-radius:99px;padding:8px 18px;cursor:pointer;font-weight:500}
table.adm{width:100%;border-collapse:collapse;font-size:.9rem;background:#fff}table.adm th,table.adm td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}table.adm th{background:var(--red-dark);color:#fff}
.admwrap{max-width:1180px;margin:0 auto;padding:30px 22px}.acts button{margin:2px;padding:4px 10px;font-size:.85rem}

.side li{margin-bottom:8px}
.secbtn{display:flex;align-items:flex-start;gap:12px;padding:11px 14px;border:1.5px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 1px 0 rgba(94,18,20,.06);transition:border-color .15s,background .15s,transform .05s}
.secbtn:hover{border-color:var(--red);background:#fffaf8}
.secbtn:active{transform:translateY(1px);background:var(--pink)}
.secbtn:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.secbtn.cur{background:var(--pink);border-color:var(--red);box-shadow:inset 4px 0 0 var(--red)}
.secbtn .num{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--zebra);color:var(--red-dark);font-weight:700;font-size:.85rem;margin-top:1px}
.secbtn.cur .num{background:var(--red);color:#fff}.secbtn.done .num{background:var(--green-bg);color:var(--green)}
.secbtn .txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.secbtn .nm{font-weight:500;font-size:.95rem;line-height:1.3;overflow-wrap:anywhere}
.secbtn .cnt{font-size:.8rem;color:var(--muted)}.secbtn.done .cnt{color:var(--green);font-weight:500}
.mini{display:block;height:4px;border-radius:4px;background:var(--zebra);overflow:hidden}.mini span{display:block;height:4px;background:var(--red);width:0}.secbtn.done .mini span{background:var(--green)}
.side{max-height:calc(100vh - 100px);overflow:auto;padding:2px 4px 2px 2px}
.navtoggle{margin-left:auto}
.brand{flex:none}.who{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.kicker,h1,h2,h3,p,li,label{overflow-wrap:anywhere}
.chip{max-width:100%}
.files li{flex-wrap:wrap}.files li .nm{min-width:0}
.navbtns{flex-wrap:wrap}
@media (max-width:860px){.side{max-height:none;overflow:visible}.top{padding:10px 14px}.status{flex:0 1 auto;min-width:0}.side.open{display:block}}
@media (min-width:861px) and (max-width:1100px){.layout{grid-template-columns:240px 1fr;gap:28px}}
@media (max-width:600px){.who{display:none}}
