:root{--bg:#fbfbfa;--side:#f3f3f1;--ink:#26292b;--mute:#8a8f93;--line:#e4e4e0;--acc:#2f6f6a}
@media(prefers-color-scheme:dark){:root{--bg:#1d1f20;--side:#242728;--ink:#e6e7e5;--mute:#8b9094;--line:#33373a;--acc:#6fb8b1}}
*{box-sizing:border-box}body{margin:0;display:flex;min-height:100vh;background:var(--bg);color:var(--ink);font:16px/1.55 Georgia,'Iowan Old Style',serif}
aside{width:220px;background:var(--side);padding:24px 14px;display:flex;flex-direction:column;gap:18px;border-right:1px solid var(--line);position:sticky;top:0;height:100vh}
aside h1{font-size:1.2rem;margin:0 8px}nav{display:flex;flex-direction:column;gap:2px;flex:1;font-family:system-ui,sans-serif;font-size:.95rem}
nav a,nav span{padding:6px 10px;border-radius:6px;color:inherit;text-decoration:none}nav a:hover,nav a.on{background:var(--line)}nav .soon{color:var(--mute)}
.out{font:.85rem system-ui;color:var(--mute);text-decoration:none;padding:0 10px}
main{flex:1;padding:36px 48px;max-width:1100px}h2{font-weight:normal;font-size:1.8rem;margin:0 0 20px}h3{font:600 .95rem system-ui;margin:0 0 8px}
a{color:var(--acc)}.mute{color:var(--mute)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.widget{border:1px solid var(--line);border-radius:8px;padding:16px;min-height:140px}.widget p{margin:4px 0}.widget.drag{opacity:.4}
input,textarea,button{font:inherit;color:inherit}input,textarea{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:8px 10px;width:100%}
textarea{min-height:55vh;resize:vertical}button,.btn{background:var(--acc);color:var(--bg);border:0;border-radius:6px;padding:8px 14px;cursor:pointer;text-decoration:none;font-family:system-ui;font-size:.9rem}
button.ghost{background:none;color:var(--mute)}.row{display:flex;gap:8px;align-items:center;margin-bottom:8px}.item{border-bottom:1px solid var(--line);padding:6px 0}.item span{flex:1}
.item.done span{text-decoration:line-through;color:var(--mute)}.chk{width:22px;height:22px;padding:0;background:none;border:1.5px solid var(--acc);color:var(--acc)}
.split{display:flex;gap:28px}.list{width:210px;display:flex;flex-direction:column;gap:2px;font-family:system-ui;font-size:.92rem}
.list a{padding:5px 8px;border-radius:6px;color:inherit;text-decoration:none}.list a.on,.list a:hover{background:var(--line)}.list .btn{color:var(--bg);margin-bottom:8px}
.editor{flex:1;display:flex;flex-direction:column;gap:10px}.big{font-size:1.5rem;border:0;border-bottom:1px solid var(--line);border-radius:0}
.login{align-items:center;justify-content:center}.login form{width:300px;display:flex;flex-direction:column;gap:10px}.err{color:#c0392b;margin:0}
@media(max-width:760px){body{flex-direction:column}aside{width:auto;height:auto;position:static}nav{flex-direction:row;flex-wrap:wrap}main{padding:20px}.split{flex-direction:column}.list{width:auto}}
.tabs{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:18px;font-family:system-ui;font-size:.92rem}.tabs>a{padding:5px 12px;border-radius:6px;color:inherit;text-decoration:none;border:1px solid var(--line)}.tabs>a.on{background:var(--line)}.tabs .row{margin:0 0 0 10px}.tabs input{width:220px}
.board{display:flex;gap:14px;align-items:flex-start;overflow-x:auto;padding-bottom:12px;margin-bottom:12px}
.col{background:var(--side);border-radius:8px;padding:12px;min-width:250px;width:250px;display:flex;flex-direction:column;gap:8px}.col h3{display:flex;justify-content:space-between;align-items:center}.col form{margin:0}.col input{margin-top:4px;font-size:.9rem}.col.new{background:none;border:1px dashed var(--line)}
.cards{display:flex;flex-direction:column;gap:6px;min-height:24px}.card{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:8px 10px;cursor:grab;display:flex;justify-content:space-between;gap:6px;font-size:.95rem}.card.drag{opacity:.4}.card form{margin:0}.card button{padding:0 4px}
blockquote{font-size:1.5rem;line-height:1.4;margin:0 0 28px;max-width:640px}blockquote footer{font:.9rem system-ui;color:var(--mute);margin-top:8px}
figure{margin:0 0 20px;max-width:640px}figure img{width:100%;border-radius:6px;display:block}figcaption{margin-top:8px;font-size:.95rem}
.whead{display:flex;align-items:center;gap:8px}.handle{cursor:grab;color:var(--mute);user-select:none;font-size:1.1rem;line-height:1}.handle:active{cursor:grabbing}
.mapwrap{display:grid;grid-template-columns:1fr 300px;gap:16px}#map{height:72vh;min-height:360px;border-radius:8px;border:1px solid var(--line)}
.side{display:flex;flex-direction:column;gap:8px}.side form{display:flex;flex-direction:column;gap:6px;margin:0}.side form.row{flex-direction:row}.side textarea{min-height:64px}
.side .list{width:auto;max-height:30vh;overflow:auto}.side .list div{display:flex;justify-content:space-between;align-items:center}.side .list form{margin:0}
@media(max-width:900px){.mapwrap{grid-template-columns:1fr}}
.art{position:relative}.savebtn{position:absolute;top:10px;right:10px;margin:0}.savebtn button{background:rgba(0,0,0,.6);color:#fff;border-radius:20px;padding:6px 14px}.savebtn.on button{background:var(--acc)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.gallery figure{max-width:none;margin:0}.gallery figcaption{font-size:.85rem;line-height:1.35}
.handle{touch-action:none;padding:4px 6px}
.md{max-width:70ch}.md h2{font-size:1.4rem;margin:1.2em 0 .4em}.md h3{font-size:1.2rem;margin:1.1em 0 .3em}.md h4{font-size:1rem;margin:1em 0 .3em}.md p{margin:.6em 0}
.md code{background:var(--side);padding:1px 5px;border-radius:4px;font-size:.9em}.md pre{background:var(--side);padding:12px;border-radius:6px;overflow:auto}.md pre code{padding:0;background:none}
[hidden]{display:none!important}
.wtitle{flex:1}.close{margin-left:auto;background:none;color:var(--mute);padding:0 6px;font-size:1.3rem;line-height:1}
.restore{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px;font:.9rem system-ui;color:var(--mute)}.restore button{background:none;border:1px dashed var(--line);color:var(--ink)}
