@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@500&family=Inter:wght@400;600;700&family=Space+Grotesk:wght@600;700&display=swap";:root{font-family:Inter,sans-serif;color:#171717;background:#fff8e8}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;min-width:320px;overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer;border:3px solid #171717;background:#fff;box-shadow:4px 4px #171717;padding:.75rem 1rem;font-weight:700}button:active{box-shadow:none;transform:translate(4px,4px)}button:focus-visible,input:focus-visible,[contenteditable]:focus-visible{outline:4px solid #ff6b8a;outline-offset:3px}.app-shell{display:grid;grid-template-columns:20% 25% minmax(0,1fr);width:100%;height:100vh;margin:0;gap:10px;overflow:hidden}.sidebar,.note-list,.editor,.auth-card{border:3px solid #171717;background:#fff;box-shadow:6px 6px #171717}.sidebar{min-height:0;padding:24px;display:flex;flex-direction:column;gap:26px;overflow-y:auto}h1{font:700 clamp(2.2rem,4vw,4.5rem)/.85 "Space Grotesk";letter-spacing:-.08em;margin:0}.primary{background:#ffd84d}.sidebar nav{display:grid;gap:8px}.sidebar nav button{text-align:left;box-shadow:none;border:0;background:transparent}.sidebar nav button.active{background:#dce9ff;border:2px solid #2864dc}.eyebrow{display:flex;align-items:center;justify-content:space-between}.add-notebook{flex:0 0 36px;width:36px;height:36px;padding:0;border:2px solid #171717!important;box-shadow:2px 2px #171717!important;font-size:1.05rem;line-height:1}.eyebrow,small{font:500 .72rem IBM Plex Mono}.notebook-dot{display:inline-block;width:13px;height:13px;margin-right:9px;border:2px solid #171717}.sidebar-footer{margin-top:auto;display:grid;gap:12px}.offline{border-top:3px solid #171717;padding-top:18px}.offline strong{color:#2864dc}.note-list{min-height:0;padding:16px;overflow-y:auto}.search{display:flex;gap:8px;border:3px solid #171717;box-shadow:3px 3px #171717;padding:10px;margin-bottom:16px}.search input{border:0;outline:0;width:100%}.note-card{display:grid;gap:9px;width:100%;text-align:left;margin-bottom:14px;padding:16px}.note-card.active{outline:3px solid #2864dc}.note-card span{font-size:.88rem}.note-card footer{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.note-card footer b{color:#2864dc;border:1px solid #9fc0ff;background:#edf4ff;font:500 .68rem IBM Plex Mono;padding:3px 5px}.empty{padding:20px}.editor{min-height:0;position:relative;padding:30px;overflow-y:auto}.notebook-tab{position:sticky;top:0;z-index:2;display:inline-block;margin:-30px 0 20px;color:#fff;border:3px solid #171717;padding:12px 18px;font:600 1rem IBM Plex Mono;box-shadow:4px 4px #171717}.editor-toolbar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:3px solid #171717;padding-bottom:16px}.note-title{border:0;outline:0;width:100%;min-width:0;overflow-wrap:anywhere;font:700 clamp(2rem,4vw,3.5rem)/1 "Space Grotesk";margin:34px 0 20px}.note-body{min-height:55vh;font-size:1.05rem;line-height:1.7;overflow-wrap:anywhere}.empty-editor{height:100%;min-height:70vh;display:grid;place-content:center;gap:8px;text-align:center}.empty-editor b{font:700 2rem Space Grotesk}.logout,.empty-trash{background:#ff6b8a}.formatting,.note-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.formatting select{min-height:35px;max-width:118px;border:2px solid #171717;background:#fff;font-weight:700}.formatting button,.note-actions button{padding:.35rem .6rem;box-shadow:2px 2px #171717}.note-actions .active{background:#ffd84d}.danger{background:#ff6b8a}.note-body.trashed{opacity:.55}.tiptap .ProseMirror{min-height:max(55vh,420px);padding:4px 8px;outline:0;cursor:text}.tiptap .ProseMirror>:first-child{margin-top:0}.tiptap .ProseMirror p.is-editor-empty:first-child:before{color:#888;content:attr(data-placeholder);float:left;height:0;pointer-events:none}.tiptap h1{font-size:clamp(2rem,4vw,3.5rem);margin:1.1em 0 .35em}.tiptap h2{font:700 1.7rem Space Grotesk;margin:1.3em 0 .35em}.tiptap h3{font:700 1.25rem Space Grotesk;margin:1.3em 0 .35em}.tiptap blockquote{border-left:5px solid #2864dc;margin:1rem 0;padding:.2rem 1rem;background:#edf4ff}.tiptap pre{overflow-x:auto;padding:18px;border:3px solid #171717;background:#1d2433;color:#f8f8f2;box-shadow:4px 4px #171717;font:.9rem/1.6 IBM Plex Mono}.tiptap pre code{background:none;padding:0;color:inherit}.tiptap code{background:#fff0b6;padding:.12em .3em;font:.9em IBM Plex Mono}.tiptap .hljs-keyword,.tiptap .hljs-title,.tiptap .hljs-built_in{color:#ff8ab0}.tiptap .hljs-string,.tiptap .hljs-number{color:#ffd84d}.tiptap .hljs-comment{color:#93a1b8}.tiptap ul,.tiptap ol{padding-left:1.5rem}.attach{border:3px solid #171717;background:#fff;box-shadow:2px 2px #171717;padding:.35rem .6rem;font-weight:700;cursor:pointer}.attach input{display:none}.attachments{border-top:3px solid #171717;margin-top:24px;padding-top:12px}.attachments h2{font:700 .8rem IBM Plex Mono}.attachments article{display:flex;gap:12px;align-items:center;margin:12px 0}.attachments article>div{display:grid;gap:4px}.attachments img,.attachment-file{width:96px;height:72px;object-fit:cover;border:2px solid #171717;background:#dce9ff}.attachment-file{display:grid;place-items:center;font:700 .75rem IBM Plex Mono}.attachments button{padding:.2rem .4rem;box-shadow:2px 2px #171717}.upload-error{position:fixed;bottom:78px;right:25px;background:#ff6b8a;border:3px solid #171717;padding:10px;font-weight:700}.sync-notice{position:fixed;bottom:78px;left:25px;max-width:360px;background:#ffd84d;border:3px solid #171717;box-shadow:4px 4px #171717;padding:10px;font-weight:700}.attachments .attachment-name{border:0;box-shadow:none;padding:0;text-decoration:underline}.auth-card{width:min(460px,calc(100% - 32px));margin:10vh auto;padding:34px;display:grid;gap:16px}.auth-card input{padding:13px;border:3px solid #171717}.error{color:#b00020;font-weight:700}.auth-card h2{margin:12px 0 -8px;font:700 1.35rem Space Grotesk}.auth-switch{box-shadow:none;border:0;background:transparent;text-decoration:underline}.auth-loading{min-height:100%;display:grid;place-items:center;font:700 1.2rem IBM Plex Mono}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:20px;background:#17171766}.settings{width:min(460px,100%);border:3px solid #171717;background:#fff;box-shadow:8px 8px #171717;padding:28px}.settings form{display:grid;gap:14px}.settings input{border:3px solid #171717;padding:10px}.dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:18px}.app-shell[data-theme=dark]{background:#171717}.app-shell[data-theme=dark] .sidebar,.app-shell[data-theme=dark] .note-list,.app-shell[data-theme=dark] .editor,.app-shell[data-theme=dark] .settings,.app-shell[data-theme=dark] .editor-status,.app-shell[data-theme=dark] .editor-toolbar{background:#26272b;color:#f8f3e7}.app-shell[data-theme=dark] button,.app-shell[data-theme=dark] .attach,.app-shell[data-theme=dark] .formatting select{background:#35363b;color:#f8f3e7}.app-shell[data-theme=dark] .search{background:#35363b;border-color:#f8f3e7}.app-shell[data-theme=dark] .search input{color:#f8f3e7;background:transparent}.app-shell[data-theme=dark] .primary{background:#ffd84d;color:#171717}.app-shell[data-theme=dark] .danger{background:#ff6b8a;color:#171717}.app-shell[data-theme=dark] .note-card footer b{background:#182d54}.app-shell[data-theme=dark] .note-title{color:#f8f3e7;background:transparent}.app-shell[data-theme=dark] .tiptap blockquote{background:#182d54}.app-shell{grid-template-columns:20% 25% minmax(0,1fr);gap:12px}.app-shell.sidebarCollapsed{grid-template-columns:64px 25% minmax(0,1fr)}.app-shell.listCollapsed{grid-template-columns:20% 64px minmax(0,1fr)}.app-shell.sidebarCollapsed.listCollapsed{grid-template-columns:64px 64px minmax(0,1fr)}.sidebar,.note-list{position:relative}.panel-collapse{position:absolute;top:12px;right:12px;z-index:2;min-width:34px;min-height:34px;padding:2px 8px;box-shadow:2px 2px #171717}.sidebar.collapsed,.note-list.collapsed{padding:8px;display:block;overflow:hidden}.sidebar.collapsed .panel-collapse,.note-list.collapsed .panel-collapse{position:static;width:100%;height:100%;min-height:48px}.sidebar.collapsed{display:flex;flex-direction:column;gap:10px}.sidebar.collapsed .panel-collapse{height:38px;min-height:38px}.mini-new,.mini-nav,.mini-settings{width:100%;min-height:42px;padding:4px;box-shadow:2px 2px #171717}.mini-new{background:#ffd84d}.mini-nav{background:#fff}.mini-settings{margin-top:auto}.notebook-row{display:flex;gap:6px;align-items:stretch}.notebook-row>:first-child{flex:1}.edit-notebook{min-width:38px;padding:4px;box-shadow:2px 2px #171717!important}.color-picker{display:flex;gap:10px}.color-picker button{width:34px;height:34px;padding:0;box-shadow:2px 2px #171717}.color-picker button.active{outline:3px solid #2864dc;outline-offset:3px}.settings{display:grid;gap:16px}.settings section{border-top:2px solid #171717;padding-top:12px}.settings h3{margin:0;font:.8rem IBM Plex Mono}.settings section p{margin:5px 0;font-size:.88rem}.settings kbd{border:1px solid #171717;padding:1px 4px;background:#fff}.sidebar{padding:28px 24px;gap:30px}.sidebar h1{font-size:clamp(2.8rem,4vw,5.4rem)}.sidebar .primary{min-height:66px;font-size:1rem}.sidebar nav{gap:10px}.sidebar nav button{min-height:60px;display:flex;align-items:center;gap:10px;padding:8px;font-size:1.05rem}.sidebar nav button small{margin-left:auto;border:2px solid #171717;padding:4px 6px;background:#fff;color:#171717}.sidebar nav button.active{background:#dce9ff}.notebook-icon{flex:0 0 auto;display:grid;place-items:center;width:42px;height:42px;color:#fff;border:2px solid #171717;box-shadow:3px 3px #171717;font-size:1.2rem}.notebook-icon.all{color:#171717;background:#fff}.sidebar-footer{gap:10px}.sidebar-footer button{width:100%}.offline{font-size:.9rem}.note-list{padding:16px}.search{min-height:48px;align-items:center;margin-bottom:18px}.list-heading{margin:0 4px 12px;font:600 .94rem IBM Plex Mono}.note-card{min-height:140px;gap:10px;padding:16px;box-shadow:5px 5px #171717}.note-card strong{display:flex;justify-content:space-between;font-size:1.08rem}.note-card strong i{color:#2864dc;font-style:normal}.note-card span{font-family:IBM Plex Mono;line-height:1.45}.note-card footer{margin-top:auto}.editor{margin-top:0;padding:0 18px 30px;overflow-y:auto}.editor.fullscreen{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;margin:0;background:#fff;box-shadow:none}.editor-status{position:sticky;top:0;z-index:4;height:64px;margin:0 -18px;padding:0 24px;display:flex;align-items:center;justify-content:flex-end;gap:10px;border-bottom:3px solid #171717;background:#fff;font:.78rem IBM Plex Mono}.editor-status button{padding:.4rem .65rem;box-shadow:3px 3px #171717}.editor-toolbar{position:sticky;top:64px;z-index:4;min-height:54px;padding:10px 0;border-bottom:3px solid #171717;background:#fff;align-items:center}.editor.previewMode .editor-toolbar{display:none}.formatting{gap:7px}.formatting button,.note-actions button,.attach{min-width:36px;min-height:36px;display:grid;place-items:center}.formatting select{min-width:68px;height:36px}.toolbar-divider{height:28px;width:2px;background:#171717;margin:0 3px}.note-title{display:block;resize:none;overflow:hidden;margin:34px 0 14px;padding:0;font-size:clamp(2.4rem,4vw,4.3rem);line-height:1.02}.tag-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 24px}.tag{padding:6px 10px;color:#fff;border-color:#2864dc;background:#2864dc;box-shadow:2px 2px #171717;font:.78rem IBM Plex Mono}.tag span{margin-left:5px}.tag-row form input{width:110px;border:2px dashed #171717;padding:6px 8px;font:.78rem IBM Plex Mono}.note-body{min-height:430px}.tiptap .ProseMirror{min-height:430px;padding:0;font-size:1rem}.tiptap img{display:block;max-width:min(100%,680px);max-height:520px;margin:20px auto;border:3px solid #171717;box-shadow:5px 5px #171717}.attachments{max-width:360px;margin-left:auto;padding:16px;border:2px dashed #171717;background:#edf4ff}.attachments article{align-items:flex-start}.attachments img,.attachment-file{width:118px;height:88px}.attachments .attachment-name{text-align:left;color:#171717}.attachment-progress{position:fixed;z-index:30;right:24px;bottom:24px;padding:10px 14px;border:3px solid #171717;background:#ffd84d;box-shadow:4px 4px #171717;font-weight:700}.attachment-modal{z-index:40}.attachment-preview-modal{width:min(1100px,96vw);max-height:92vh;padding:18px;border:3px solid #171717;background:#fff;box-shadow:8px 8px #171717;overflow:auto}.attachment-preview-modal img,.attachment-preview-modal iframe{display:block;width:100%;max-height:78vh;object-fit:contain;border:0;background:#171717}.attachment-preview-modal iframe{min-height:72vh}.preview-close{float:right;margin-bottom:12px;background:#ff6b8a}.toolbar-image{width:36px;height:36px;display:grid;place-items:center;border:3px solid #171717;box-shadow:2px 2px #171717;font-weight:700;cursor:pointer}.toolbar-image input{display:none}.formatting .code-language{min-width:0;width:0;padding:0;border:0;opacity:0;position:absolute;pointer-events:none}.category-menu{position:fixed;z-index:30;display:grid;gap:8px;min-width:190px;padding:8px;border:3px solid #171717;background:#fff;box-shadow:5px 5px #171717}.category-menu button{min-height:38px;padding:.5rem .65rem;box-shadow:2px 2px #171717;font:.72rem IBM Plex Mono;text-align:left;white-space:nowrap}.settings{width:min(540px,calc(100vw - 40px));padding:26px 28px}.settings>h2,.settings form h2{margin:0 0 20px}.settings section{display:grid;gap:8px}.settings section p{margin:0}.settings .dialog-actions{justify-content:flex-start;margin:8px 0 0}.settings>button:last-child{width:100%;margin-top:6px}.settings form>button{width:100%}.app-shell[data-theme=dark] .modal-backdrop .settings,.app-shell[data-theme=dark] .modal-backdrop .settings h2,.app-shell[data-theme=dark] .modal-backdrop .settings h3,.app-shell[data-theme=dark] .modal-backdrop .settings p{color:#f8f3e7}.app-shell[data-theme=dark] .modal-backdrop .settings input,.app-shell[data-theme=dark] .modal-backdrop .settings kbd{color:#f8f3e7;background:#35363b;border-color:#f8f3e7}.app-shell[data-theme=dark] .modal-backdrop .settings button:not(.primary):not(.danger){color:#f8f3e7;background:#35363b;border-color:#f8f3e7}.tiptap ul[data-type=taskList]{padding-left:0;list-style:none}.tiptap ul[data-type=taskList] li{display:flex;gap:.55rem;align-items:flex-start}.tiptap ul[data-type=taskList] input{margin-top:.4rem;accent-color:#2864dc}:root{--toolbar-control-size: 32px}.editor-toolbar{display:flex;min-height:52px;gap:8px;flex-wrap:wrap;justify-content:space-between;overflow:visible}.formatting{display:flex;flex:1 1 600px;min-width:0;flex-wrap:nowrap;gap:4px;overflow-x:auto;scrollbar-width:none}.note-actions{display:flex;flex:0 0 auto;flex-wrap:nowrap;gap:4px;margin-left:auto}.formatting button,.note-actions button,.editor-toolbar .attach,.toolbar-image{min-width:var(--toolbar-control-size);min-height:var(--toolbar-control-size);width:var(--toolbar-control-size);height:var(--toolbar-control-size);padding:3px}.formatting select{min-width:58px;height:var(--toolbar-control-size);font-size:.76rem}.code-action{font-size:.7rem;letter-spacing:-.12em;line-height:1;overflow:hidden}.toolbar-divider{height:24px;margin:0 1px}.note-actions .icon-action{width:var(--toolbar-control-size);padding:3px;overflow:hidden;font-size:.95rem;line-height:1;white-space:nowrap}.move-select{min-width:94px;height:var(--toolbar-control-size);border:3px solid #171717;background:#fff;padding:0 4px;font:.68rem IBM Plex Mono}.app-shell[data-theme=dark] .sidebar nav button.active{color:#171717}.app-shell[data-theme=dark] .sidebar nav button.active .notebook-icon{color:#fff}.app-shell[data-theme=dark] .toolbar-image,.app-shell[data-theme=dark] .move-select{color:#f8f3e7;background:#35363b}.app-shell[data-theme=dark] .toolbar-divider{background:#f8f3e7}@media(max-width:1080px){.note-actions{margin-left:0}}.inline-attachment{display:grid;grid-template-columns:104px minmax(0,1fr) auto auto;align-items:center;gap:10px;width:min(100%,620px);margin:18px 0;padding:10px;border:2px dashed #171717;background:#edf4ff}.inline-attachment>img{width:104px;height:78px;margin:0;object-fit:cover;border:2px solid #171717;box-shadow:none}.inline-attachment>b{display:grid;place-items:center;width:64px;height:78px;border:2px solid #171717;background:#fff;font:.75rem IBM Plex Mono}.inline-attachment>strong{overflow-wrap:anywhere;font:.85rem/1.25 IBM Plex Mono}.inline-attachment>button{padding:.38rem .55rem;box-shadow:2px 2px #171717;font-size:.72rem}.inline-attachment>button:last-child{background:#ff6b8a}.attachment-loading{display:grid;place-items:center;width:104px;height:78px;border:2px solid #171717;background:#fff8e8;font:.65rem/1.2 IBM Plex Mono;text-align:center}.attachment-unavailable{color:#b00020}.app-shell[data-theme=dark] .inline-attachment{background:#35363b;color:#f8f3e7;border-color:#f8f3e7}.app-shell[data-theme=dark] .attachment-loading{color:#f8f3e7;border-color:#f8f3e7;background:#26272b}.sidebar-footer .logout{margin-top:10px;border-top:5px solid #171717}.note-card footer b:nth-of-type(2){color:#b00020;background:#ffdbe5;border-color:#ff9ab2}.note-card footer b:nth-of-type(3){color:#735600;border-color:#e6af00;background:#fff0b6}.note-card footer b:nth-of-type(4){color:#0c6b42;border-color:#65d49a;background:#d9f8e7}.app-shell[data-theme=dark] .note-card footer b{color:#f8f3e7;background:#182d54}.app-shell[data-theme=dark] .note-card footer b:nth-of-type(2){color:#ffd6e1;border-color:#ff7aa5;background:#5b1d34}.app-shell[data-theme=dark] .note-card footer b:nth-of-type(3){color:#fff0b6;border-color:#ffd84d;background:#51400b}.app-shell[data-theme=dark] .note-card footer b:nth-of-type(4){color:#c8ffe0;border-color:#65d49a;background:#164b33}@media(max-width:760px){.editor-toolbar{align-items:flex-start;flex-wrap:wrap;overflow-x:hidden}.note-actions{margin-left:0}.inline-attachment{grid-template-columns:78px 1fr}.inline-attachment>img{width:78px;height:58px}.inline-attachment>button{justify-self:start}}@media(max-width:900px){.app-shell{grid-template-columns:220px 1fr}.editor{grid-column:1 / -1}.note-list{min-height:300px}}@media(max-width:620px){.app-shell{display:block;padding:10px}.sidebar,.note-list,.editor{margin-bottom:18px}.sidebar{min-height:auto}.editor{padding:20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
