:root{--bg: #f4f2ee;--panel: #fffdfa;--ink: #1a1a1a;--muted: #6b6760;--line: #e2ded6;--accent: #1c5d99}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}.app{display:flex;min-height:100vh}.sidebar{width:15rem;flex:0 0 15rem;border-right:1px solid var(--line);background:var(--panel);padding:1rem .75rem;overflow-y:auto}.sidebar-head{margin-bottom:.75rem}.new-page{width:100%;padding:.5rem;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer;font:inherit}.new-page:hover{border-color:var(--accent);color:var(--accent)}.sidebar-empty{color:var(--muted);font-size:13px}.page-list{list-style:none;margin:0;padding:0}.page-row{border-radius:6px;padding:.1rem}.page-row:hover{background:#f1eee8}.page-row.is-current{background:#e8eef5}.page-open{display:block;width:100%;text-align:left;border:0;background:none;padding:.4rem .5rem;cursor:pointer;font:inherit}.page-title{display:block;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-time{display:block;color:var(--muted);font-size:12px}.page-menu{display:none;gap:.25rem;padding:0 .5rem .4rem;flex-wrap:wrap}.page-row:hover .page-menu,.page-row.is-current .page-menu{display:flex}.page-menu button{border:0;background:none;padding:.15rem .3rem;color:var(--muted);font-size:12px;cursor:pointer;border-radius:4px}.page-menu button:hover{background:#fff;color:var(--accent)}.main{flex:1;min-width:0;display:flex;flex-direction:column}.toolbar{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;padding:.5rem .75rem;background:var(--panel);border-bottom:1px solid var(--line)}.toolbar-group{display:flex;gap:.25rem;align-items:center}.toolbar select{font:inherit;padding:.3rem;border:1px solid var(--line);border-radius:5px;background:#fff;max-width:11rem}.toolbar button{min-width:2rem;height:2rem;border:1px solid transparent;border-radius:5px;background:none;cursor:pointer;font:inherit}.toolbar button:hover{background:#ece8e1}.toolbar button.is-active{background:#dce6f0;border-color:#b9cde0;color:var(--accent)}.btn-bold{font-weight:700}.btn-italic{font-style:italic}.btn-underline{text-decoration:underline}.btn-strikeThrough{text-decoration:line-through}.color-well{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:5px;cursor:pointer}.color-well:hover{background:#ece8e1}.color-well input[type=color]{position:absolute;left:0;right:0;bottom:0;width:100%;height:6px;border:0;padding:0;background:none;cursor:pointer}.sheet-scroll{flex:1;overflow-y:auto;padding:2rem 1rem 6rem}.sheet{margin:0 auto;max-width:48rem;min-height:60vh;background:#fff;padding:4rem;border:1px solid var(--line);border-radius:2px;box-shadow:0 1px 4px #0000000f}.image-handles{position:absolute;pointer-events:none;z-index:20}.image-handles .handle{position:absolute;width:12px;height:12px;background:#fff;border:2px solid var(--accent);border-radius:50%;pointer-events:auto}.image-handles .handle-se{right:-6px;bottom:-6px;cursor:nwse-resize}.image-bar{position:absolute;left:50%;bottom:-2.4rem;transform:translate(-50%);display:flex;gap:.15rem;padding:.2rem;background:var(--panel);border:1px solid var(--line);border-radius:6px;box-shadow:0 2px 6px #0000001a;pointer-events:auto}.image-bar button{border:0;background:none;width:1.8rem;height:1.8rem;border-radius:4px;cursor:pointer;font:inherit}.image-bar button:hover{background:#ece8e1}#banner:not([hidden]){display:block}.banner{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 1rem;font-size:13px}.banner-error{background:#fdecea;color:#8a1c13;border-bottom:1px solid #f5c6c0}.banner-info{background:#eaf2fb;color:#14456f;border-bottom:1px solid #c3d8ec}.banner button{border:0;background:none;cursor:pointer;font-size:14px;color:inherit}.flash{position:fixed;right:1.25rem;bottom:1.25rem;padding:.45rem .9rem;border-radius:999px;background:#1a1a1a;color:#fff;font-size:13px;opacity:0;transform:translateY(6px);transition:opacity .18s,transform .18s;pointer-events:none}.flash.is-visible{opacity:.92;transform:translateY(0)}@media (max-width: 720px){.app{flex-direction:column}.sidebar{width:auto;flex:none;border-right:0;border-bottom:1px solid var(--line);max-height:40vh}.sheet{padding:1.5rem}.sheet-scroll{padding:1rem .5rem 4rem}}
