:root{--bg-primary: #FAF8F5;--bg-card: #F5F2EC;--bg-modal: #FFFFFF;--ink-primary: #1C1917;--ink-secondary: #57534E;--ink-muted: #A8A29E;--ink-faint: #E7E5E4;--signal-blue: #007AFF;--signal-blue-bg: rgba(0, 122, 255, .1);--project-indigo: #5E5CE6;--project-indigo-bg: rgba(94, 92, 230, .12);--math-indigo: #5C6AC4;--math-indigo-bg: rgba(92, 106, 196, .12);--highlight-amber: #FFB432;--danger-red: #D73A49;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Text", Roboto, sans-serif;--font-display: "Outfit", var(--font-sans);--font-mono: "JetBrains Mono", monospace;--header-height: 54px;--peek-strip-height: 48px;--toolbar-height: 52px}body.dark-mode{--bg-primary: #1C1C1E;--bg-card: #2C2C2E;--bg-modal: #2C2C2E;--ink-primary: #F2F2F7;--ink-secondary: #AEAEB2;--ink-muted: #636366;--ink-faint: #3A3A3C;--signal-blue: #0A84FF;--signal-blue-bg: rgba(10, 132, 255, .2)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;height:100dvh;overflow:hidden;background-color:var(--bg-primary);color:var(--ink-primary);font-family:var(--font-sans);user-select:none;-webkit-user-select:none;transition:background-color .25s ease}#app{width:100%;height:100%;height:100dvh;display:flex;flex-direction:column;position:relative;overflow:hidden;background-color:var(--bg-primary)}.app-header{height:var(--header-height);padding:0 12px;display:flex;align-items:center;justify-content:space-between;background:#ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:20;padding-top:env(safe-area-inset-top);border-bottom:1px solid rgba(0,0,0,.04)}.header-brand{display:flex;align-items:center;gap:8px}.brand-title{font-family:var(--font-display);font-weight:700;font-size:19px;letter-spacing:-.5px;color:var(--ink-primary)}.sync-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:12px;display:flex;align-items:center;gap:4px;transition:all .2s ease}.sync-badge.online{background:#22c55e26;color:#16a34a}.sync-badge.offline{background:#f59e0b26;color:#d97706}.header-actions{display:flex;align-items:center;gap:2px}.icon-btn{width:38px;height:38px;border-radius:50%;border:none;background:transparent;position:relative;isolation:isolate;color:var(--ink-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s cubic-bezier(.16,1,.3,1)}.icon-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:50%;background:color-mix(in srgb,var(--ink-primary) 7%,transparent);opacity:.45;transition:opacity .15s cubic-bezier(.16,1,.3,1)}.icon-btn:active{transform:scale(.9)}.icon-btn:active:before{opacity:.85}.icon-btn.active{color:var(--signal-blue);background:transparent}.icon-btn.active:before{background:var(--signal-blue-bg);opacity:1}.deck-container{flex:1;width:100%;display:flex;overflow:hidden;position:relative;touch-action:pan-y;overscroll-behavior-x:contain}.deck-slide{flex:0 0 100%;width:100%;height:100%;display:flex;flex-direction:column;position:relative;overflow:hidden;background-color:var(--bg-primary);z-index:1}.deck-ghost{position:absolute;top:0;right:0;bottom:0;left:0;display:none;flex-direction:column;overflow:hidden;background-color:var(--bg-primary);pointer-events:none;z-index:2}.deck-ghost.visible{display:flex}.deck-ghost.under{z-index:0}.deck-drawer-edge{box-shadow:10px 0 24px -8px #0000001f}body.dark-mode .deck-drawer-edge{box-shadow:10px 0 26px -8px #0006}.editor-wrapper{flex:1;width:100%;height:100%;padding:12px 18px calc(var(--toolbar-height) + var(--peek-strip-height) + 24px) 18px;overflow-y:auto;-webkit-overflow-scrolling:touch;user-select:text;-webkit-user-select:text}.cm-editor{height:100%!important;background:transparent!important;font-family:var(--font-sans)!important;font-size:16px!important;line-height:1.68!important;color:var(--ink-primary)!important}.cm-editor .cm-content{padding:0!important;font-family:var(--font-sans)!important}.cm-editor.cm-focused{outline:none!important}.cm-line.cm-heading-1,.cm-line.cm-heading-1 *{font-family:var(--font-display)!important;font-size:26px!important;font-weight:700!important;color:var(--ink-primary)!important;line-height:1.35!important;letter-spacing:-.5px!important}.cm-line.cm-heading-2,.cm-line.cm-heading-2 *{font-family:var(--font-display)!important;font-size:21px!important;font-weight:700!important;color:var(--ink-primary)!important;line-height:1.4!important;letter-spacing:-.3px!important}.cm-line.cm-heading-3,.cm-line.cm-heading-3 *{font-family:var(--font-display)!important;font-size:18px!important;font-weight:600!important;color:var(--ink-primary)!important;line-height:1.45!important}.cm-line.cm-heading-4,.cm-line.cm-heading-5{font-family:var(--font-display)!important;font-size:16px!important;font-weight:600!important}.cm-bold{font-weight:700}.cm-italic{font-style:italic}.cm-strike{text-decoration:line-through;opacity:.6}.cm-md-marker{font-size:0;opacity:0}.cm-cursor-line .cm-md-marker{font-size:inherit;opacity:.35}.cm-line.cm-blockquote{border-left:3px solid var(--ink-faint);padding-left:12px;margin-left:2px;color:var(--ink-secondary);font-style:italic}.cm-inline-code{font-family:var(--font-mono);background:#0000000f;padding:2px 6px;border-radius:5px;font-size:14px;color:var(--ink-primary)}.cm-line.cm-code-block{font-family:var(--font-mono);background:#0000000d;padding:1px 14px;font-size:14px;border-left:1px solid rgba(0,0,0,.04);border-right:1px solid rgba(0,0,0,.04)}.cm-line.cm-code-block-first{border-top:1px solid rgba(0,0,0,.04);border-top-left-radius:8px;border-top-right-radius:8px;padding-top:10px;margin-top:8px}.cm-line.cm-code-block-last{border-bottom:1px solid rgba(0,0,0,.04);border-bottom-left-radius:8px;border-bottom-right-radius:8px;padding-bottom:10px;margin-bottom:8px}.cm-link-pill{display:inline-flex;align-items:center;gap:4px;background:var(--signal-blue-bg);color:var(--signal-blue);padding:2px 8px;border-radius:12px;font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;transition:opacity .15s ease}.cm-link-pill:active{opacity:.7}.cm-project-pill{display:inline-flex;align-items:center;background:var(--project-indigo-bg);color:var(--project-indigo);padding:2px 8px;border-radius:12px;font-size:14px;font-weight:600}.cm-highlight-tag{background:#ffb43259;padding:1px 4px;border-radius:4px}.cm-line.cm-task-nested-1{padding-left:20px}.cm-line.cm-task-nested-2{padding-left:40px}.cm-line.cm-task-nested-3{padding-left:60px}.cm-task-chevron{display:inline-block;width:16px;color:var(--ink-muted);cursor:pointer;transition:transform .15s ease;transform:rotate(90deg)}.cm-task-chevron.collapsed{transform:rotate(0)}.cm-line.cm-task-flash{animation:task-flash 1.4s ease-out;border-radius:6px}@keyframes task-flash{0%{background:var(--signal-blue-bg)}to{background:transparent}}.cm-list-bullet{color:var(--ink-secondary);font-weight:700;margin-right:2px}.cm-list-number{color:var(--ink-secondary);font-weight:600}.cm-table-row{display:flex;width:100%;border-bottom:1px solid var(--ink-faint)}.cm-table-row.cm-table-header{font-weight:700;border-bottom:2px solid var(--ink-secondary)}.cm-table-cell{flex:1;padding:6px 10px;font-size:14px;overflow-wrap:anywhere}.cm-line.cm-table-delimiter-hidden{height:0;line-height:0;overflow:hidden}.cm-cloze{background:var(--math-indigo-bg);color:var(--math-indigo);border-radius:4px;padding:0 2px}.cm-md-marker-cloze{font-size:0;opacity:0}.cm-recall-tag-pill{display:inline-flex;align-items:center;background:var(--math-indigo-bg);color:var(--math-indigo);padding:2px 8px;border-radius:12px;font-size:13px;font-weight:600}.cm-task-ref-pill{display:inline-flex;align-items:center;background:#0000000f;color:var(--ink-muted);padding:1px 6px;border-radius:8px;font-size:11px;font-family:var(--font-mono);margin-left:4px;cursor:pointer}.autocomplete-strip{position:fixed;left:0;right:0;bottom:var(--toolbar-height);z-index:28;display:flex;gap:6px;padding:8px 12px;overflow-x:auto;background:#fffffff2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid rgba(0,0,0,.08)}body.dark-mode .autocomplete-strip{background:#1c1c1ef2;border-top-color:#ffffff1a}.autocomplete-chip{flex-shrink:0;background:var(--project-indigo-bg);color:var(--project-indigo);border:none;padding:6px 12px;border-radius:14px;font-size:13px;font-weight:600;white-space:nowrap}.cm-hr-widget{height:1px;background:var(--ink-faint);margin:16px 0;border:none}.cm-math-inline,.cm-math-block{background:#5c6ac41a;border-radius:6px;padding:2px 8px;color:var(--math-indigo);font-family:var(--font-mono)}.katex-display{margin:10px 0!important}.task-checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:22px;height:22px;border:2px solid var(--ink-secondary);border-radius:6px;margin-right:8px;vertical-align:middle;cursor:pointer;position:relative;transition:all .15s cubic-bezier(.16,1,.3,1)}.task-checkbox:checked{background-color:var(--signal-blue);border-color:var(--signal-blue)}.task-checkbox:checked:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:11px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.formatting-toolbar{position:fixed;bottom:0;left:0;right:0;height:var(--toolbar-height);background:#fffffff2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid rgba(0,0,0,.08);display:flex;align-items:center;justify-content:space-around;padding:0 8px;z-index:30;transition:transform .22s cubic-bezier(.16,1,.3,1);padding-bottom:env(safe-area-inset-bottom)}body.dark-mode .formatting-toolbar{background:#1c1c1ef2;border-top-color:#ffffff1a}.tool-group{display:flex;align-items:center;justify-content:space-between;width:100%;gap:4px}.tool-btn-rendered{background:transparent;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:4px 6px;border-radius:8px;transition:transform .12s ease,opacity .12s ease}.tool-btn-rendered:active{transform:scale(.92);opacity:.8}.render-checkbox-box{width:18px;height:18px;border:2px solid var(--signal-blue);background:var(--signal-blue-bg);border-radius:5px;display:inline-flex;align-items:center;justify-content:center}.render-checkbox-box:after{content:"";width:4px;height:8px;border:solid var(--signal-blue);border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}.render-math-pill{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--math-indigo);background:var(--math-indigo-bg);padding:3px 8px;border-radius:8px}.render-code-pill{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--ink-primary);background:#00000014;padding:3px 8px;border-radius:6px}.render-highlight-pill{font-family:var(--font-sans);font-size:13px;font-weight:600;color:#b45309;background:#ffb43266;padding:3px 8px;border-radius:6px}.render-project-pill{font-family:var(--font-sans);font-size:13px;font-weight:700;color:var(--project-indigo);background:var(--project-indigo-bg);padding:3px 8px;border-radius:10px}.render-heading-pill{font-family:var(--font-display);font-size:16px;font-weight:800;color:var(--ink-primary);padding:2px 8px}.peek-strip{position:fixed;bottom:calc(var(--toolbar-height) + env(safe-area-inset-bottom));left:0;right:0;height:var(--peek-strip-height);display:flex;align-items:center;justify-content:space-between;padding:0 16px;z-index:26;background:color-mix(in srgb,var(--bg-primary) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(0,0,0,.05);transition:opacity .2s ease,transform .2s ease}body.dark-mode .peek-strip{border-top-color:#ffffff14}.all-notes-btn{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border:none;border-radius:16px;background:var(--signal-blue-bg);color:var(--signal-blue);font-family:var(--font-sans);font-size:13px;font-weight:600;cursor:pointer;transition:transform .12s cubic-bezier(.16,1,.3,1),background .15s ease}.all-notes-btn:active{transform:scale(.95)}.all-notes-count{min-width:18px;padding:0 5px;border-radius:9px;background:var(--signal-blue);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}.page-dot-more{font-size:11px;font-weight:700;color:var(--ink-muted);line-height:1}.peek-strip.keyboard-up{opacity:0;pointer-events:none;transform:translateY(20px)}.page-dots{display:flex;align-items:center;gap:6px;margin:0 auto}.page-dot{width:6px;height:6px;border-radius:50%;background:var(--ink-muted);transition:all .2s ease}.page-dot.active{width:8px;height:8px;background:var(--signal-blue)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:40;opacity:0;pointer-events:none;transition:opacity .25s ease}.sheet-backdrop.open{opacity:1;pointer-events:auto}.sheet-modal{position:fixed;left:0;right:0;bottom:0;top:44px;background:var(--bg-modal);border-top-left-radius:24px;border-top-right-radius:24px;z-index:45;transform:translateY(100%);transition:transform .32s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 -12px 36px #0003}.sheet-modal.open{transform:translateY(0)}.sheet-handle-bar{width:36px;height:5px;border-radius:3px;background:var(--ink-faint);margin:10px auto 4px}.sheet-header{padding:12px 20px 16px;display:flex;flex-direction:column;gap:12px;border-bottom:1px solid rgba(0,0,0,.05)}.sheet-top-row{display:flex;align-items:center;justify-content:space-between}.sheet-title{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--ink-primary)}.search-box{position:relative;width:100%}.search-input{width:100%;height:42px;border-radius:12px;border:none;background:#0000000d;padding:0 16px 0 40px;font-size:15px;font-family:var(--font-sans);color:var(--ink-primary);outline:none}.search-icon{position:absolute;left:14px;top:12px;color:var(--ink-muted)}.masonry-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:16px 16px 32px;overflow-y:auto}.note-card{border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:6px;cursor:pointer;background-color:var(--bg-card);transition:transform .15s cubic-bezier(.16,1,.3,1),box-shadow .15s ease;min-height:110px;box-shadow:0 2px 10px #0000000a;border:1px solid rgba(0,0,0,.03)}.note-card:active{transform:scale(.96)}.note-card-title{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--ink-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-card-preview{font-size:13px;color:var(--ink-secondary);line-height:1.45;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.note-card-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--ink-muted)}.reminder-chips{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.chip-btn{background:#0000000d;border:none;padding:8px 14px;border-radius:20px;font-size:14px;font-weight:500;color:var(--ink-primary);cursor:pointer;transition:all .15s ease}.chip-btn:active{background:var(--signal-blue);color:#fff}.datetime-picker{width:100%;padding:12px;border-radius:12px;border:1px solid var(--ink-faint);font-size:16px;font-family:var(--font-sans);color:var(--ink-primary);background:transparent}.flashcard-card{width:100%;min-height:220px;border-radius:20px;background:var(--bg-card);padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:20px;font-weight:600;box-shadow:0 10px 30px #00000014;margin-bottom:24px}.flashcard-actions{display:flex;gap:10px;width:100%;justify-content:center}.sm2-btn{flex:1;padding:12px 0;border-radius:12px;border:none;font-weight:700;font-size:14px;cursor:pointer}.sm2-again{background:#fee2e2;color:#dc2626}.sm2-hard{background:#fef3c7;color:#d97706}.sm2-good{background:#dcfce7;color:#16a34a}.sm2-easy{background:#dbeafe;color:#2563eb}
