:root{--bg: #1f1f24;--bg-sidebar: #19191e;--bg-list: #232329;--bg-editor: #2a2a31;--border: #34343d;--fg: #d6d6db;--fg-strong: #f3f3f5;--fg-dim: #8b8b95;--fg-code: #d8c195;--marker: #686872;--accent: #f2a73b;--selection: rgba(242, 167, 59, .24);--row-hover: rgba(255, 255, 255, .045);--row-selected: rgba(242, 167, 59, .16);--danger: #e06a5a;--serif: ui-serif, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--sans);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior:none}button{font:inherit;color:inherit;cursor:pointer}.app{display:grid;grid-template-columns:240px 320px 1fr;height:100%;overflow:hidden}.sidebar,.sheet-list,.editor-pane{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border)}.sidebar{background:var(--bg-sidebar)}.sheet-list{background:var(--bg-list)}.editor-pane{background:var(--bg-editor);border-right:none;position:relative}.pane-head{display:flex;align-items:center;gap:8px;height:48px;padding:0 10px 0 14px;border-bottom:1px solid var(--border);flex:0 0 auto}.pane-head-title{display:flex;align-items:baseline;gap:8px;flex:1;min-width:0}.pane-head-title h2{margin:0;font-size:14px;font-weight:600;color:var(--fg-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.count{font-size:12px;color:var(--fg-dim)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:6px;background:transparent;color:var(--fg-dim);font-size:16px;line-height:1;transition:background .12s,color .12s}.icon-btn:hover{background:var(--row-hover);color:var(--fg-strong)}.icon-btn.danger:hover{color:var(--danger)}.text-btn{border:none;background:transparent;color:var(--fg-dim);font-size:13px;padding:4px 8px;border-radius:6px}.text-btn:hover{background:var(--row-hover);color:var(--fg-strong)}.text-btn.danger:hover{color:var(--danger)}.back-btn{border:none;background:transparent;color:var(--accent);font-size:22px;line-height:1;padding:0 4px}.mobile-only{display:none}.sidebar-head{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 10px 0 16px;border-bottom:1px solid var(--border);flex:0 0 auto;-webkit-app-region:drag}.brand{font-weight:700;letter-spacing:.02em;color:var(--fg-strong)}.lib-nav{flex:1;overflow-y:auto;padding:8px 8px 16px}.sidebar-foot{border-top:1px solid var(--border);padding:6px 8px;flex:0 0 auto}.lib-section{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-dim);padding:14px 8px 4px}.lib-row{display:flex;align-items:center;gap:8px;height:30px;padding:0 8px;border-radius:7px;cursor:default;-webkit-user-select:none;user-select:none;color:var(--fg)}.lib-row:hover{background:var(--row-hover)}.lib-row.selected{background:var(--row-selected);color:var(--fg-strong)}.lib-icon{color:var(--fg-dim);font-size:12px;width:14px;text-align:center;flex:0 0 auto}.lib-row.selected .lib-icon{color:var(--accent)}.lib-label{flex:1;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lib-rename{flex:1;font:inherit;font-size:13.5px;color:var(--fg-strong);background:var(--bg);border:1px solid var(--accent);border-radius:4px;padding:1px 5px;outline:none;min-width:0}.lib-actions{display:none;gap:2px;flex:0 0 auto}.lib-row:hover .lib-actions{display:flex}.lib-actions .icon-btn{width:22px;height:22px;font-size:14px}.lib-empty,.list-empty{color:var(--fg-dim);font-size:13px;padding:12px 10px;line-height:1.5}.badge{font-size:11px;color:var(--fg-dim);background:var(--row-hover);border-radius:9px;padding:1px 7px}.sheet-scroll{flex:1;overflow-y:auto;padding:6px}.sheet-card{display:flex;gap:10px;padding:10px 12px;border-radius:9px;cursor:default;-webkit-user-select:none;user-select:none;border:1px solid transparent}.sheet-card:hover{background:var(--row-hover)}.sheet-card.selected{background:var(--row-selected);border-color:#f2a73b59}.sheet-card-main{flex:1;min-width:0}.sheet-title{margin:0 0 3px;font-size:14px;font-weight:600;color:var(--fg-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sheet-title.untitled{color:var(--fg-dim);font-style:italic;font-weight:500}.sheet-preview{margin:0;font-size:12.5px;line-height:1.4;color:var(--fg-dim);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sheet-preview .muted{font-style:italic;opacity:.7}.sheet-card-meta{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;flex:0 0 auto}.sheet-card-meta time{font-size:11px;color:var(--fg-dim);white-space:nowrap}.sheet-card-actions{display:none;gap:2px}.sheet-card:hover .sheet-card-actions{display:flex}.editor-head{justify-content:flex-end}.editor-stats{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--fg-dim)}.editor-stats .dot{opacity:.5}.editor-host{flex:1;min-height:0;overflow:hidden}.editor-host .cm-editor{height:100%}.editor-empty{position:absolute;top:48px;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;pointer-events:none;background:var(--bg-editor)}.editor-empty p{margin:0;font-size:16px;color:var(--fg)}.editor-empty span{font-size:13px;color:var(--fg-dim)}@media(max-width:820px){.app{grid-template-columns:1fr;grid-template-rows:1fr}.sidebar,.sheet-list,.editor-pane{grid-row:1;grid-column:1;border-right:none}.app[data-pane=library] .sheet-list,.app[data-pane=library] .editor-pane,.app[data-pane=list] .sidebar,.app[data-pane=list] .editor-pane,.app[data-pane=editor] .sidebar,.app[data-pane=editor] .sheet-list{display:none}.mobile-only{display:inline-flex}.editor-empty{top:48px;right:0;bottom:0;left:0}}
