*{box-sizing:border-box;margin:0;padding:0}:root{--app-bg: #f3f4f7;--pane-bg: #fbfbfd;--sidebar-bg: #e7e9ee;--list-bg: #f6f7f9;--paper-bg: #ffffff;--border: #d8dbe2;--border-strong: #bfc4cd;--text: #202124;--text-secondary: #5f6672;--text-soft: #8b929e;--accent: #f0b400;--accent-strong: #d59a00;--accent-soft: rgba(240, 180, 0, .18);--blue: #3478f6;--blue-soft: rgba(52, 120, 246, .12);--danger: #d84c3f;--danger-soft: rgba(216, 76, 63, .1);--shadow: 0 18px 46px rgba(31, 35, 43, .08);--radius: 8px}html,body,#app{height:100%}body{overflow:hidden;color:var(--text);background:var(--app-bg);font-family:SF Pro Text,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{border:0}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--blue-soft);outline-offset:2px}.app-shell{height:100vh;background:var(--app-bg)}.workspace{display:grid;grid-template-columns:264px minmax(320px,380px) minmax(0,1fr);height:100vh;min-width:0;overflow:hidden}.workspace-pane{min-width:0;min-height:0}.eyebrow{color:var(--text-soft);font-size:12px;font-weight:700;letter-spacing:0;line-height:1.4}.pane-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:24px 20px 16px}.pane-header h1,.pane-header h2,.editor-header h2{margin-top:6px;color:var(--text);font-size:26px;font-weight:700;line-height:1.15;letter-spacing:0}.pane-subtitle{margin-top:6px;color:var(--text-soft);font-size:13px;line-height:1.45}.primary-button,.secondary-button,.danger-button,.icon-button,.back-button,.mini-button,.toolbar button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;border-radius:var(--radius);cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.primary-button{min-height:40px;padding:0 16px;background:var(--accent);color:#171717;font-weight:700}.primary-button:hover{background:var(--accent-strong)}.primary-button:disabled{cursor:not-allowed;opacity:.58}.secondary-button{min-height:38px;padding:0 14px;border:1px solid var(--border);background:#ffffffb8;color:var(--text)}.secondary-button:hover{background:#fff;border-color:var(--border-strong)}.danger-button{min-height:38px;padding:0 14px;border:1px solid rgba(216,76,63,.24);background:var(--danger-soft);color:var(--danger);font-weight:700}.danger-button:hover{background:#d84c3f29}.icon-button{width:34px;min-width:34px;border:1px solid var(--border);background:#ffffffbd;color:var(--text);font-size:22px;font-weight:500;line-height:1}.icon-button:hover{background:#fff;border-color:var(--border-strong);transform:translateY(-1px)}.back-button{min-height:34px;padding:0 12px;border:1px solid var(--border);background:#fff;color:var(--blue);font-weight:700}.auth-screen{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:20px;background:var(--app-bg)}.auth-panel{width:min(420px,100%);padding:34px;border:1px solid var(--border);border-radius:var(--radius);background:var(--paper-bg);box-shadow:var(--shadow)}.auth-eyebrow{color:var(--text-soft);font-size:12px;font-weight:700;letter-spacing:0}.auth-panel h1{margin-top:8px;font-size:32px;line-height:1.18;letter-spacing:0}.auth-copy{margin-top:10px;color:var(--text-secondary);line-height:1.7}.auth-field,.modal-field{display:block;margin-top:20px}.auth-field span,.modal-field span{display:block;margin-bottom:8px;color:var(--text-secondary);font-size:13px;font-weight:700}.auth-field input,.modal-field input,.search-box input,.folder-select select{width:100%;min-height:40px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--text)}.auth-field input,.modal-field input{padding:0 12px}.auth-field input:focus,.modal-field input:focus,.search-box input:focus,.folder-select select:focus{border-color:var(--blue)}.auth-error,.modal-error{margin-top:14px;padding:10px 12px;border:1px solid rgba(216,76,63,.24);border-radius:var(--radius);background:var(--danger-soft);color:var(--danger);font-size:13px;line-height:1.45}.auth-submit{width:100%;margin-top:22px}.folder-sidebar{display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--sidebar-bg)}.folder-nav{flex:1;min-height:0;overflow-y:auto;padding:0 10px 16px}.folder-section-title{padding:18px 10px 8px;color:var(--text-soft);font-size:12px;font-weight:800}.folder-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;width:100%;min-height:42px;align-items:center;gap:8px;margin-bottom:3px;padding:0 10px;border-radius:var(--radius);background:transparent;color:var(--text);text-align:left;cursor:pointer}.folder-row-custom{grid-template-columns:minmax(0,1fr) auto;gap:4px;padding:0 6px 0 0}.folder-row:hover{background:#ffffff8f}.folder-row.active{background:#ffffffe0;box-shadow:inset 3px 0 0 var(--accent)}.folder-main{display:grid;grid-template-columns:22px minmax(0,1fr) auto;width:100%;min-height:42px;align-items:center;gap:8px;padding:0 4px 0 10px;border-radius:var(--radius);background:transparent;color:var(--text);text-align:left;cursor:pointer}.folder-glyph{color:var(--accent-strong);font-size:16px;line-height:1}.folder-name{min-width:0;overflow:hidden;color:var(--text);font-size:15px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.folder-count{color:var(--text-soft);font-size:14px;font-weight:700}.folder-actions{display:flex;gap:4px;opacity:0;transition:opacity .16s ease}.folder-row-custom:hover .folder-actions,.folder-row-custom.active .folder-actions{opacity:1}.mini-button{min-height:26px;padding:0 7px;border:1px solid var(--border);background:#fff;color:var(--text-secondary);font-size:12px;font-weight:700}.mini-button.danger{color:var(--danger)}.folder-empty{margin:8px 10px;padding:10px;border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--text-soft);font-size:13px;line-height:1.5}.folder-footer{padding:14px;border-top:1px solid var(--border)}.folder-footer .secondary-button{width:100%}.note-list-pane{display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--list-bg)}.note-list-header{align-items:center}.search-box{padding:0 16px 14px}.search-box input{padding:0 12px;color:var(--text)}.notes-scroll{flex:1;min-height:0;overflow-y:auto;padding:0 10px 16px}.note-card{display:block;width:100%;margin-bottom:8px;padding:13px 14px;border:1px solid transparent;border-radius:var(--radius);background:#ffffffc2;color:var(--text);text-align:left;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}.note-card:hover{border-color:var(--border);background:#fff;transform:translateY(-1px);box-shadow:0 10px 22px #1f232b0f}.note-card.active{border-color:#f0b4008c;background:#fff9df}.note-card-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.note-title{min-width:0;overflow:hidden;font-size:15px;font-weight:760;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.note-date{flex:0 0 auto;color:var(--text-soft);font-size:12px;font-weight:700}.note-preview{display:-webkit-box;margin-top:7px;overflow:hidden;color:var(--text-secondary);font-size:13px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.empty-state{display:flex;min-height:210px;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:22px;color:var(--text-secondary);text-align:center}.empty-state h3{color:var(--text);font-size:20px;line-height:1.25;letter-spacing:0}.empty-state p{max-width:320px;font-size:14px;line-height:1.6}.editor-pane{display:flex;min-width:0;flex-direction:column;background:var(--paper-bg)}.editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 28px 16px;border-bottom:1px solid var(--border);background:#fffffff5}.editor-title-wrap{display:flex;min-width:0;align-items:flex-start;gap:12px}.editor-actions{display:flex;flex:0 0 auto;align-items:center;gap:10px}.save-pill{display:inline-flex;min-height:30px;align-items:center;justify-content:center;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--list-bg);color:var(--text-secondary);font-size:12px;font-weight:800}.save-pill.saving{border-color:#f0b40080;background:var(--accent-soft);color:#8a6500}.save-pill.error{border-color:#d84c3f3d;background:var(--danger-soft);color:var(--danger)}.folder-select{display:flex;align-items:center;gap:8px;color:var(--text-soft);font-size:12px;font-weight:800}.folder-select select{width:130px;min-height:34px;padding:0 8px;font-size:13px}.toolbar{display:flex;flex-wrap:wrap;gap:5px;padding:10px 28px;border-bottom:1px solid var(--border);background:#fff}.toolbar button{min-height:32px;padding:0 10px;background:transparent;color:var(--text);font-size:13px}.toolbar button:hover,.toolbar button.active{background:var(--blue-soft);color:var(--blue)}.toolbar-separator{width:1px;height:20px;margin:6px 3px 0;background:var(--border)}.editor-scroll{flex:1;min-height:0;overflow-y:auto;padding:28px clamp(24px,5vw,72px) 52px;background:#fff}.editor-paper{width:min(860px,100%);min-height:calc(100vh - 210px);margin:0 auto;cursor:text}.editor-paper .tiptap{min-height:calc(100vh - 230px);padding:8px 2px 80px;color:var(--text);font-size:18px;line-height:1.85;outline:none}.editor-paper .tiptap p.is-editor-empty:first-child:before{float:left;height:0;color:var(--text-soft);content:attr(data-placeholder);pointer-events:none}.editor-paper .tiptap h2{margin:28px 0 12px;font-size:28px;font-weight:760;line-height:1.3;letter-spacing:0}.editor-paper .tiptap h3{margin:22px 0 10px;font-size:22px;font-weight:720;line-height:1.35;letter-spacing:0}.editor-paper .tiptap p{margin-bottom:12px}.editor-paper .tiptap ul,.editor-paper .tiptap ol{margin:0 0 16px;padding-left:26px}.editor-paper .tiptap li+li{margin-top:6px}.editor-paper .tiptap blockquote{margin:20px 0;padding-left:16px;border-left:3px solid var(--accent);color:var(--text-secondary)}.editor-paper .tiptap hr{margin:26px 0;border:0;border-top:1px solid var(--border)}.editor-empty{display:flex;flex:1;align-items:center;justify-content:center;padding:28px}.editor-empty-card{width:min(440px,100%);min-height:240px;border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--list-bg)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:18px;background:#14182047}.modal-panel{width:min(420px,100%);padding:22px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.modal-panel h2{font-size:22px;line-height:1.25;letter-spacing:0}.modal-copy{margin-top:8px;color:var(--text-secondary);font-size:14px;line-height:1.6}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}@media(max-width:1080px){.workspace{grid-template-columns:230px minmax(300px,350px) minmax(0,1fr)}.editor-header{flex-direction:column}.editor-actions{flex-wrap:wrap}}@media(max-width:768px){.workspace{position:relative;display:block}.workspace-pane{position:absolute;top:0;right:0;bottom:0;left:0;transition:transform .22s ease}.folder-sidebar,.note-list-pane,.editor-pane{border-right:0}.workspace.mobile-folders .folder-pane,.workspace.mobile-notes .notes-pane,.workspace.mobile-editor .editor-pane-wrap{transform:translate(0)}.workspace.mobile-folders .notes-pane,.workspace.mobile-folders .editor-pane-wrap,.workspace.mobile-notes .editor-pane-wrap{transform:translate(100%)}.workspace.mobile-notes .folder-pane,.workspace.mobile-editor .folder-pane,.workspace.mobile-editor .notes-pane{transform:translate(-100%)}.pane-header{padding:18px 16px 12px}.pane-header h1,.pane-header h2,.editor-header h2{font-size:23px}.folder-actions{opacity:1}.folder-footer{padding-bottom:max(14px,env(safe-area-inset-bottom))}.note-list-header{align-items:flex-start}.editor-header{padding:16px}.editor-title-wrap{flex-direction:column;gap:10px}.editor-actions{width:100%;align-items:stretch;gap:8px}.folder-select{flex:1}.folder-select select{width:100%}.toolbar{flex-wrap:nowrap;overflow-x:auto;padding:8px 12px}.toolbar button,.toolbar-separator{flex:0 0 auto}.editor-scroll{padding:18px 18px 42px}.editor-paper,.editor-paper .tiptap{min-height:calc(100vh - 250px)}.editor-paper .tiptap{padding-bottom:60px;font-size:16px;line-height:1.8}.modal-actions{flex-direction:column-reverse}.modal-actions .primary-button,.modal-actions .secondary-button,.modal-actions .danger-button{width:100%}}
