:root{--bg:#f6f7f9;--fg:#1c2026;--mut:#6b7380;--card:#fff;--bd:#e1e4ea;--ac:#4f46e5;--acfg:#fff}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#111318;--fg:#e8eaee;--mut:#8b93a1;--card:#1a1d24;--bd:#2a2e38;--ac:#818cf8;--acfg:#111}}:root[data-theme=dark]{--bg:#111318;--fg:#e8eaee;--mut:#8b93a1;--card:#1a1d24;--bd:#2a2e38;--ac:#818cf8;--acfg:#111}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.5 system-ui,sans-serif}a{color:var(--ac);text-decoration:none}nav{display:flex;gap:18px;align-items:center;padding:12px 20px;border-bottom:1px solid var(--bd);background:var(--card)}nav b{font-size:17px;margin-right:auto}main{width:100%;max-width:none;margin:0;padding:20px clamp(12px,2vw,32px)}button,input,select,textarea{font:inherit;color:inherit;background:var(--card);border:1px solid var(--bd);border-radius:8px;padding:8px 10px}textarea{width:100%;min-height:120px;font-family:ui-monospace,monospace;font-size:13px}button{cursor:pointer}button.p{background:var(--ac);color:var(--acfg);border-color:var(--ac)}button.d{color:#dc2626}.layout{display:grid;grid-template-columns:240px minmax(0,1fr);grid-gap:24px;gap:24px}@media(max-width:760px){.layout{grid-template-columns:1fr}}.side h4{margin:14px 0 6px;font-size:12px;text-transform:uppercase;color:var(--mut)}.side a{display:block;padding:2px 0}.side a.on{font-weight:700}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:12px;gap:12px}.card{background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:12px;overflow:hidden}.card h3{margin:0 0 4px;font-size:15px}.card h3,.card p{word-break:break-word}.card p{margin:6px 0;font-size:13px}.badge,.card p{color:var(--mut)}.badge{display:inline-block;font-size:11px;padding:1px 7px;border-radius:99px;border:1px solid var(--bd);margin-right:4px}.thumb{width:100%;height:120px;object-fit:cover;border-radius:6px;margin-bottom:8px;background:var(--bg)}mark{background:#fde68a;color:#111;border-radius:2px}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0}.drop{border:2px dashed var(--bd);border-radius:10px;padding:14px;text-align:center;color:var(--mut)}.drop.over{border-color:var(--ac)}.md{background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:16px}.md pre{background:var(--bg);padding:10px;border-radius:6px;overflow:auto}.md img{max-width:100%}.grow{flex:1 1;min-width:160px}label{display:block;font-size:12px;color:var(--mut);margin:10px 0 3px}.login{max-width:340px;margin:12vh auto}.login input{width:100%;margin-bottom:10px}code{background:var(--bg);padding:1px 5px;border-radius:4px;font-size:12px;word-break:break-all}button.theme{padding:4px 10px;font-size:13px}button.d{color:#f87171}.fhead{display:flex;justify-content:space-between;align-items:center}.fhead h4{margin:14px 0 6px}.frow{display:flex;align-items:center;gap:4px;padding:3px 4px;border-radius:6px;cursor:pointer}.frow.on,.frow:hover{background:var(--card)}.frow.on{outline:1px solid var(--bd);font-weight:600}.frow.over{outline:2px dashed var(--ac)}.frow .fname{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;padding:0}.caret{width:12px;font-size:11px;color:var(--mut);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.facts{display:none;gap:2px}.frow:hover .facts{display:flex}.facts button{padding:0 5px;border:none;background:none;font-size:12px;color:var(--mut)}.side{position:-webkit-sticky;position:sticky;top:12px;align-self:start;max-height:calc(100vh - 24px);overflow:auto}.card[draggable=true]{cursor:-webkit-grab;cursor:grab}.diff{font:12px/1.5 ui-monospace,monospace;background:var(--card);border:1px solid var(--bd);border-radius:8px;overflow:auto;max-height:55vh;white-space:pre-wrap;word-break:break-word}.diff div{padding:0 8px}.diff .add{background:rgba(34,197,94,.18)}.diff .del{background:rgba(239,68,68,.18);text-decoration:line-through;opacity:.85}.vlist{display:flex;flex-direction:column;gap:6px;max-height:55vh;overflow:auto}.vitem{padding:8px;border:1px solid var(--bd);border-radius:8px;background:var(--card);cursor:pointer;font-size:13px}.vitem.on{outline:2px solid var(--ac)}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.tabs button.on{background:var(--ac);color:var(--acfg);border-color:var(--ac)}.stat{font-size:26px;font-weight:700}.table{width:100%;border-collapse:collapse}.table td,.table th{padding:6px 8px;border-bottom:1px solid var(--bd);text-align:left;font-size:14px}.btn{cursor:pointer;background:var(--card);border:1px solid var(--bd);border-radius:8px;padding:8px 12px}