:root{--bg:#f6f5f8;--surface:#fff;--surface-2:#efedf3;--ink:#1e1a2e;--muted:#5f5a70;--faint:#8c879a;--line:#e4e1ea;--line-2:#cfcad8;--accent:#2a8576;--accent-ink:#fff;--accent-soft:#e2f2ef;--coral:#e8836a;--out:#e9f4f2;--in:#fff;--note:#fff8ea;--danger:#b42318;--warn:#b45309;--radius:12px;--shadow:0 1px 2px rgba(30,26,46,.06),0 4px 14px rgba(30,26,46,.06);--font:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",Ubuntu,"Helvetica Neue",Arial,sans-serif;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#15121f;--surface:#1e1a2e;--surface-2:#2a2540;--ink:#ece9f4;--muted:#aaa4bd;--faint:#7f7994;--line:#2f2a45;--line-2:#3d3758;--accent:#6bbfb0;--accent-ink:#10231f;--accent-soft:#1f3a36;--out:#1d3330;--in:#1e1a2e;--note:#2e2818;--danger:#f47366;--warn:#f0a35b;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font:15px/1.5 var(--font);-webkit-font-smoothing:antialiased}body{display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent);overflow-wrap:anywhere}[hidden]{display:none!important}header.bar{display:flex;align-items:center;gap:4px;min-height:54px;padding:6px 8px 6px 14px;padding-top:max(6px,env(safe-area-inset-top));background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:3}header.bar h1{flex:1;min-width:0;margin:0;font-size:16px;font-weight:650;display:flex;align-items:center;gap:10px}header.bar h1>span:last-child{min-width:0;overflow:hidden}#title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sub{display:block;font-size:12px;font-weight:500;color:var(--muted)}.mark{flex:none;width:28px;height:28px;display:block}.mark.big{width:72px;height:72px;margin:0 auto 12px}.icon-btn{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:10px;background:transparent}.icon-btn:hover{background:var(--surface-2)}.icon-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}main{flex:1;display:flex;min-height:0}section.view{flex:1;min-width:0;overflow:auto;position:relative}.pad{padding:16px}.pad-s{padding:10px 14px}.narrow{max-width:560px;margin:0 auto}.center{text-align:center}h2{font-size:21px;line-height:1.25;margin:6px 0 8px}h3{font-size:12px;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:24px 0 8px}p{margin:0 0 10px}.muted{color:var(--muted)}.small{font-size:13px}.err{color:var(--danger);font-size:14px}label{display:block;font-size:14px;font-weight:550;margin:12px 0}label.check{display:flex;gap:8px;align-items:center;font-weight:450}input:not([type=checkbox]),textarea,select{display:block;width:100%;margin-top:5px;padding:10px 12px;border:1px solid var(--line-2);border-radius:10px;background:var(--surface);min-width:0}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:transparent}button:not(.icon-btn):not(.link):not(.act):not(.chip){padding:9px 14px;border:1px solid var(--line-2);border-radius:10px;background:var(--surface);font-weight:550}button.primary{background:var(--accent)!important;color:var(--accent-ink);border-color:transparent!important}button.wide{width:100%;margin-top:8px}button:disabled{opacity:.55;cursor:default}.danger-btn{color:var(--danger)}button.link{border:0;background:none;padding:0;color:var(--accent);font-weight:550}button.link.danger{color:var(--danger)}.row{display:flex;gap:8px;align-items:center;margin:8px 0}.row input{margin:0;flex:1}.row.wrap{flex-wrap:wrap}.grow{flex:1}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.notice{background:var(--accent-soft);border-color:transparent;margin:12px 0}#noPeers{margin:12px}.composer{background:var(--surface);border-bottom:1px solid var(--line);padding:10px 12px 4px;position:sticky;top:0;z-index:2}.composer textarea{margin:0;resize:none;max-height:40vh;border-radius:12px}.composer .row{margin:4px 0}.filters{display:flex;gap:8px;padding:10px 12px 0;align-items:center}.filters input{margin:0;flex:1}.chips{display:flex;gap:6px;padding:8px 12px 2px;overflow-x:auto;scrollbar-width:none}.chip{flex:none;border:1px solid var(--line-2);background:var(--surface);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:550;white-space:nowrap}.chip[aria-pressed=true]{background:var(--ink);color:var(--surface);border-color:var(--ink)}.chip.accent{background:var(--accent);color:var(--accent-ink);border-color:transparent}.items{padding:4px 12px 16px}h4.day{position:sticky;top:0;margin:14px 0 6px;font-size:12px;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);background:var(--bg);padding:4px 0;z-index:1}.item{background:var(--in);border:1px solid var(--line);border-radius:var(--radius);padding:9px 12px 6px;margin:7px 0;box-shadow:var(--shadow)}.item.out{background:var(--out)}.item.note{background:var(--note)}.item.sys{background:transparent;box-shadow:none;border-style:dashed}.item.pinned{border-color:var(--coral)}.meta{display:flex;gap:6px;align-items:baseline;font-size:12px;color:var(--muted)}.meta .who{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta .dir{font-weight:700;color:var(--accent)}.meta .state{color:var(--warn)}.meta .state.bad{color:var(--danger)}.meta .state.ok{color:var(--accent)}.body{margin:4px 0 2px;overflow-wrap:anywhere}.body.clickable{cursor:pointer}.txt{white-space:pre-wrap}.txt.clamp{display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden}.ntitle{font-weight:650;margin-bottom:2px}.link{font-weight:550}.url{font-size:12px;color:var(--faint);overflow-wrap:anywhere}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.tag{font-size:12px;padding:1px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted)}.tag.ok{background:var(--accent-soft);color:var(--accent)}.file{display:flex;gap:10px;align-items:center}.thumb{width:72px;height:72px;object-fit:cover;border-radius:8px;background:var(--surface-2);flex:none}.ficon{flex:none;width:44px;height:52px;border-radius:7px;background:var(--surface-2);display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--muted)}.finfo{min-width:0}.fname{font-weight:550;overflow-wrap:anywhere}.fsize{font-size:12px}.acts{display:flex;gap:2px;flex-wrap:wrap;margin:2px -6px 0}.act{border:0;background:none;padding:4px 7px;border-radius:7px;font-size:13px;color:var(--muted);font-weight:550}.act:hover{background:var(--surface-2);color:var(--ink)}.act.pin{color:var(--coral);font-size:15px}.act.del{margin-left:auto}.more{display:block;margin:0 auto 20px}.transfer{margin:8px 12px;padding:8px 12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;font-size:13px;display:grid;grid-template-columns:1fr auto;gap:2px 8px}.transfer .bar{grid-column:1/-1;height:4px;background:var(--surface-2);border-radius:2px;overflow:hidden}.transfer .fill{height:100%;background:var(--accent);transition:width .2s}.drop-hint{position:fixed;inset:60px 12px 12px;border:2px dashed var(--accent);border-radius:16px;background:color-mix(in srgb,var(--accent-soft) 85%,transparent);display:grid;place-items:center;font-weight:650;z-index:5;pointer-events:none}.note-edit{display:flex;flex-direction:column;gap:8px;min-height:100%}.note-title{font-size:19px;font-weight:650;border:0!important;background:transparent!important;padding:6px 2px!important}.note-body{flex:1;min-height:45vh;resize:vertical;line-height:1.6}.qr-wrap{display:grid;place-items:center;padding:12px;background:#fff;border-radius:var(--radius);border:1px solid var(--line);margin:8px 0}.qr-wrap img{width:min(260px,80vw);image-rendering:pixelated}.peers{list-style:none;margin:0;padding:0}.peer{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:6px 0}.peer .row{margin:2px 0}.safety{font:600 15px/1.6 ui-monospace,monospace;letter-spacing:.04em;margin:6px 0}#scanVideo{width:100%;max-width:420px;border-radius:var(--radius);background:#000;margin:8px 0}.lock{max-width:380px;padding-top:12vh}.lock input{text-align:center}.version{margin-top:30px}.toast{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translate(-50%);max-width:calc(100% - 32px);background:var(--ink);color:var(--surface);padding:9px 14px;border-radius:10px;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:9}.toast.on{opacity:1}
