:root{--font-sans: "Schibsted Grotesk", ui-sans-serif, system-ui, sans-serif;--font-display: "Bricolage Grotesque", "Schibsted Grotesk", ui-sans-serif, sans-serif;--font-mono: "Geist Mono", ui-monospace, monospace;--background: oklch(.977 .008 84);--foreground: oklch(.245 .012 56);--card: oklch(1 0 0);--card-foreground: oklch(.245 .012 56);--popover: oklch(1 0 0);--popover-foreground: oklch(.245 .012 56);--muted: oklch(.951 .012 84);--muted-foreground: oklch(.52 .018 60);--primary: oklch(.596 .145 163);--primary-foreground: oklch(.985 .001 106.423);--secondary: oklch(.95 .026 163);--secondary-foreground: oklch(.378 .077 168.94);--accent: oklch(.954 .038 80);--accent-foreground: oklch(.473 .137 46.201);--destructive: oklch(.577 .245 27.325);--success: oklch(.596 .145 163);--warning: oklch(.769 .16 70);--info: oklch(.62 .13 233);--link: oklch(.47 .12 164);--link-hover: oklch(.38 .11 164);--link-visited: oklch(.46 .12 300);--border: oklch(.912 .014 84);--input: oklch(.912 .014 84);--ring: oklch(.596 .145 163);--chart-1: oklch(.696 .17 162.48);--chart-2: oklch(.746 .16 232.661);--chart-3: oklch(.702 .183 293.541);--chart-4: oklch(.828 .189 84.429);--chart-5: oklch(.712 .194 13.428);--code-bg: oklch(.972 .011 83);--code-border: oklch(.9 .014 84);--code-inline-bg: oklch(.95 .02 84);--syn-keyword: oklch(.52 .17 293);--syn-string: oklch(.5 .13 150);--syn-number: oklch(.55 .14 55);--syn-comment: oklch(.62 .02 80);--syn-function: oklch(.5 .14 233);--syn-tag: oklch(.55 .19 27);--syn-attr: oklch(.52 .13 55);--syn-punct: oklch(.45 .02 60);--radius-sm: 8px;--radius: 10px;--radius-lg: 16px;--radius-xl: 20px;--radius-pill: 999px;--shadow-soft: 0 1px 2px oklch(.25 .04 70 / .05), 0 16px 40px -20px oklch(.3 .08 70 / .16);--canvas-gradient: radial-gradient(1100px 520px at 88% -10%, oklch(.94 .05 163 / .5), transparent 60%), radial-gradient(900px 480px at -8% 4%, oklch(.96 .045 80 / .55), transparent 55%)}[data-theme=dark]{--background: oklch(.165 .005 56);--foreground: oklch(.985 .001 106.423);--card: oklch(.216 .006 56.043);--card-foreground: oklch(.985 .001 106.423);--popover: oklch(.216 .006 56.043);--popover-foreground: oklch(.985 .001 106.423);--muted: oklch(.268 .007 34.298);--muted-foreground: oklch(.709 .01 56.259);--primary: oklch(.696 .17 162.48);--primary-foreground: oklch(.19 .02 160);--secondary: oklch(.3 .03 165);--secondary-foreground: oklch(.92 .03 165);--accent: oklch(.31 .04 70);--accent-foreground: oklch(.9 .05 75);--destructive: oklch(.704 .191 22.216);--success: oklch(.696 .17 162.48);--warning: oklch(.82 .17 80);--info: oklch(.72 .14 233);--link: oklch(.8 .14 163);--link-hover: oklch(.88 .12 163);--link-visited: oklch(.78 .11 300);--border: oklch(1 0 0 / .1);--input: oklch(1 0 0 / .15);--ring: oklch(.696 .17 162.48);--code-bg: oklch(.24 .008 56);--code-border: oklch(1 0 0 / .1);--code-inline-bg: oklch(1 0 0 / .08);--syn-keyword: oklch(.8 .13 300);--syn-string: oklch(.8 .14 150);--syn-number: oklch(.82 .12 60);--syn-comment: oklch(.62 .02 80);--syn-function: oklch(.78 .12 233);--syn-tag: oklch(.78 .15 20);--syn-attr: oklch(.82 .12 60);--syn-punct: oklch(.75 .02 80);--shadow-soft: 0 1px 2px rgba(0,0,0,.3), 0 18px 44px -22px rgba(0,0,0,.6);--canvas-gradient: radial-gradient(1100px 520px at 88% -10%, oklch(.5 .09 163 / .18), transparent 60%), radial-gradient(900px 480px at -8% 4%, oklch(.55 .07 72 / .16), transparent 55%)}body{background:var(--background);background-image:var(--canvas-gradient);background-attachment:fixed;color:var(--foreground);font-family:var(--font-sans);font-variant-numeric:tabular-nums;line-height:1.5}.hljs{color:var(--foreground);background:transparent}.hljs-comment,.hljs-quote{color:var(--syn-comment);font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-built_in,.hljs-literal{color:var(--syn-keyword)}.hljs-string,.hljs-attr-value,.hljs-regexp{color:var(--syn-string)}.hljs-number,.hljs-bullet{color:var(--syn-number)}.hljs-title,.hljs-title.function_,.hljs-section{color:var(--syn-function);font-weight:600}.hljs-tag,.hljs-name,.hljs-deletion{color:var(--syn-tag)}.hljs-attr,.hljs-attribute,.hljs-variable,.hljs-template-variable{color:var(--syn-attr)}.hljs-punctuation,.hljs-operator{color:var(--syn-punct)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.prose{color:var(--foreground);font-family:var(--font-sans);font-size:15px;line-height:1.72}.prose>*:first-child{margin-top:0}.prose h1,.prose h2,.prose h3,.prose h4{font-family:var(--font-display);letter-spacing:-.02em;line-height:1.2;margin:1.6em 0 .6em}.prose h1{font-size:1.9em;font-weight:800}.prose h2{font-size:1.5em;font-weight:700;padding-bottom:.24em;border-bottom:1px solid var(--border)}.prose h3{font-size:1.22em;font-weight:700}.prose p{margin:.85em 0}.prose a{color:var(--link);font-weight:600;text-decoration:underline;text-underline-offset:3px}.prose ul,.prose ol{margin:.85em 0;padding-left:1.5em}.prose blockquote{margin:1em 0;padding:.4em 1.1em;border-left:3px solid var(--primary);background:color-mix(in oklab,var(--primary) 6%,transparent);border-radius:0 10px 10px 0;color:var(--muted-foreground)}.prose code{font-family:var(--font-mono);font-size:.88em;background:var(--code-inline-bg);padding:.15em .4em;border-radius:6px}.prose pre{background:var(--code-bg);border:1px solid var(--code-border);border-radius:12px;padding:14px 16px;overflow:auto;margin:1em 0}.prose pre code{background:none;padding:0;font-size:13px;line-height:1.6}.prose table{border-collapse:collapse;width:100%;margin:1em 0}.prose th,.prose td{border:1px solid var(--border);padding:8px 12px;text-align:left}.prose th{background:var(--muted);font-weight:600}.prose hr{border:none;border-top:1px solid var(--border);margin:1.8em 0}*{box-sizing:border-box}html,body{margin:0;height:100%;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{background:var(--background);color:var(--foreground);font-family:var(--font-sans)}button{font-family:inherit}::selection{background:color-mix(in oklab,var(--primary) 26%,transparent)}#app{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.spacer{flex:1}.mono{font-family:var(--font-mono)}.topbar{flex:none;display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--card);border-bottom:1px solid var(--border);position:relative;z-index:40}.logo{width:32px;height:32px;border-radius:var(--radius);background:var(--primary);display:flex;align-items:center;justify-content:center;flex:none}.app-name{font-family:var(--font-display);font-weight:700;font-size:15px;letter-spacing:-.01em;margin-right:6px}.icon-btn{width:34px;height:34px;border-radius:var(--radius);border:1px solid var(--border);background:var(--card);color:var(--foreground);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none}.icon-btn:hover{background:var(--muted)}.icon-btn.small{width:30px;height:30px;border-radius:9px;background:transparent}.icon-btn.small:hover{background:var(--muted)}.text-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--card);color:var(--foreground);font:600 13px var(--font-sans);cursor:pointer}.text-btn:hover{background:var(--muted)}.icon-moon,[data-theme=dark] .icon-sun{display:none}[data-theme=dark] .icon-moon{display:block}.file-menu-wrap{position:relative;flex:none}.dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:212px;background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-soft);padding:6px;z-index:50;animation:pop .16s ease}.menu-item{width:100%;display:flex;align-items:center;gap:11px;padding:9px 11px;border:none;background:transparent;color:var(--foreground);font:500 13px var(--font-sans);border-radius:9px;cursor:pointer;text-align:left}.menu-item:hover{background:var(--muted)}.menu-item .shortcut{margin-left:auto;font:500 11px var(--font-mono);color:var(--muted-foreground)}.menu-sep{height:1px;background:var(--border);margin:6px 8px}.segmented{display:flex;gap:3px;border-radius:var(--radius-pill);background:var(--muted);padding:4px;flex:none}.seg-btn{width:32px;height:28px;border:none;border-radius:var(--radius-pill);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--muted-foreground)}.seg-btn.active{background:var(--card);color:var(--foreground);box-shadow:var(--shadow-soft)}.seg-btn.text{width:auto;height:auto;padding:6px 14px;font:500 13px var(--font-sans)}.seg-btn.text.active{font-weight:600}.tabstrip{flex:none;display:flex;align-items:center;gap:6px;padding:7px 12px;background:var(--card);border-bottom:1px solid var(--border);overflow-x:auto;z-index:30}.tabs{display:flex;align-items:center;gap:6px}.tab{display:inline-flex;align-items:center;gap:8px;flex:none;height:32px;padding:0 8px 0 12px;border-radius:var(--radius);cursor:pointer;font:500 13px var(--font-sans);background:transparent;color:var(--muted-foreground);border:1px solid transparent;white-space:nowrap}.tab.active{font-weight:600;background:var(--muted);color:var(--foreground);border-color:var(--border)}.tab .dot{width:6px;height:6px;border-radius:var(--radius-pill);flex:none;background:var(--border)}.tab.active .dot{background:var(--primary)}.tab .title{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab .close{width:18px;height:18px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;flex:none;margin-left:2px;border:none;background:transparent;color:inherit;cursor:pointer;padding:0}.tab .close:hover{background:var(--muted)}.tab.active .close:hover{background:var(--background)}.tab .rename-input{width:130px;border:1px solid var(--ring);border-radius:6px;background:var(--card);color:var(--foreground);font:600 13px var(--font-sans);padding:2px 6px;outline:none}.newtab-btn{width:30px;height:30px;border-radius:9px;border:1px dashed var(--border);background:transparent;color:var(--muted-foreground);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none}.newtab-btn:hover{background:var(--muted);color:var(--foreground)}.body{flex:1;display:flex;min-height:0}.sidebar{flex:none;width:244px;border-right:1px solid var(--border);background:var(--card);overflow-y:auto;overflow-x:hidden}.sidebar[hidden]{display:none}.sidebar-head{padding:14px 14px 8px;display:flex;align-items:center;justify-content:space-between}.sidebar-label{font:600 11px var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground)}.count-pill{font:600 11px var(--font-mono);color:var(--muted-foreground);background:var(--muted);padding:2px 8px;border-radius:var(--radius-pill)}.doc-list{padding:2px 8px 12px;display:flex;flex-direction:column;gap:3px}.doc-item{display:flex;align-items:flex-start;gap:9px;width:100%;text-align:left;padding:9px 10px;border-radius:var(--radius);cursor:pointer;border:1px solid transparent;background:transparent;color:var(--foreground)}.doc-item:hover{background:var(--muted)}.doc-item.active{background:var(--muted);border-color:var(--border)}.doc-item svg{flex:none;margin-top:2px;opacity:.7}.doc-item .meta{min-width:0}.doc-item .title{display:block;font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-item .snippet{display:block;font-size:11px;color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-pane{display:flex;flex-direction:column;flex:1;min-width:0}.editor-pane.with-preview{border-right:1px solid var(--border)}.editor-pane[hidden]{display:none}.toolbar{flex:none;display:flex;align-items:center;gap:2px;padding:7px 10px;border-bottom:1px solid var(--border);background:var(--card);overflow-x:auto}.tbtn{width:32px;height:32px;flex:none;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--foreground);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.tbtn:hover{background:var(--muted)}.tbtn-txt{height:32px;min-width:32px;flex:none;padding:0 8px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--foreground);font:700 13px var(--font-display);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.tbtn-txt:hover{background:var(--muted)}.tsep{width:1px;height:20px;background:var(--border);margin:0 5px;flex:none;display:inline-block}.editor-body{flex:1;display:flex;min-height:0;background:var(--background)}.gutter{flex:none;width:52px;overflow:hidden;text-align:right;padding:18px 10px 18px 0;color:var(--muted-foreground);opacity:.55;-webkit-user-select:none;user-select:none;font-family:var(--font-mono);line-height:1.7;border-right:1px solid var(--border);background:var(--background)}#ta{flex:1;min-width:0;resize:none;border:none;outline:none;background:transparent;color:var(--foreground);padding:18px 20px;font-family:var(--font-mono);line-height:1.7;-moz-tab-size:2;tab-size:2}.preview-pane{display:flex;flex-direction:column;flex:1;min-width:0;background:var(--card)}.preview-pane[hidden]{display:none}.prose-wrap{flex:1;overflow:auto;padding:28px 34px}.prose-wrap .prose{max-width:760px;margin:0 auto}.fm-card{max-width:760px;margin:0 auto 20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--muted);padding:12px 16px;font-size:12px}.fm-card dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:3px 16px}.fm-card dt{font-family:var(--font-mono);color:var(--muted-foreground)}.fm-card dd{margin:0;color:var(--foreground);overflow-wrap:anywhere}.statusbar{flex:none;display:flex;align-items:center;gap:16px;padding:6px 16px;background:var(--card);border-top:1px solid var(--border);font:500 12px var(--font-sans);color:var(--muted-foreground);z-index:20}.saved{display:inline-flex;align-items:center;gap:6px;color:var(--primary)}.saved.unsaved{color:var(--warning)}.saved .dot{width:7px;height:7px;border-radius:var(--radius-pill);background:currentColor}.sep-dot{opacity:.4}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#1d140d73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:24px;animation:fade .18s ease}.overlay[hidden]{display:none}.sheet{width:100%;max-width:440px;max-height:calc(100vh - 48px);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);overflow:hidden;display:flex;flex-direction:column;animation:sheet .22s cubic-bezier(.2,.8,.2,1)}.sheet.wide{max-width:560px}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--border);flex:none}.sheet-title{font-family:var(--font-display);font-weight:700;font-size:18px}.sheet-body{padding:20px 22px;display:flex;flex-direction:column;gap:20px;overflow-y:auto}.sheet-foot{display:flex;justify-content:flex-end;gap:8px;padding:16px 22px;border-top:1px solid var(--border);flex:none}.sheet-sep{height:1px;background:var(--border)}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.setting-name{font-weight:600;font-size:14px}.setting-desc{font-size:12px;color:var(--muted-foreground)}.stepper{display:flex;align-items:center;gap:10px}.step-btn{width:30px;height:30px;border-radius:9px;border:1px solid var(--border);background:transparent;color:var(--foreground);font:600 16px var(--font-sans);cursor:pointer}.step-btn:hover{background:var(--muted)}.step-value{font:600 14px var(--font-mono);width:34px;text-align:center}.switch{width:42px;height:24px;border-radius:var(--radius-pill);background:var(--border);position:relative;transition:background .2s;cursor:pointer;border:none;padding:0;flex:none}.switch[aria-checked=true]{background:var(--primary)}.switch .knob{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:var(--radius-pill);background:#fff;transition:left .2s ease;box-shadow:0 1px 3px #00000040}.switch[aria-checked=true] .knob{left:21px}.danger-btn{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;height:34px;padding:0 13px;border-radius:var(--radius);border:1px solid transparent;background:color-mix(in oklab,var(--destructive) 12%,transparent);color:var(--destructive);font:600 13px var(--font-sans);cursor:pointer}.danger-btn:hover{background:color-mix(in oklab,var(--destructive) 20%,transparent)}.primary-btn{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 16px;border-radius:var(--radius);border:none;background:var(--primary);color:var(--primary-foreground);font:600 13px var(--font-sans);cursor:pointer}.primary-btn:hover{filter:brightness(1.05)}.outline-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:34px;padding:0 13px;border-radius:var(--radius);border:1px solid var(--border);background:transparent;color:var(--foreground);font:600 13px var(--font-sans);cursor:pointer}.outline-btn:hover{background:var(--muted)}.fm-header{display:grid;grid-template-columns:1fr 2fr 30px;gap:10px;padding-bottom:6px;border-bottom:1px solid var(--border);font:600 11px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground)}.fm-rows{display:flex;flex-direction:column;gap:8px}.fm-row{display:grid;grid-template-columns:1fr 2fr 30px;gap:10px;align-items:center}.fm-row input{height:34px;padding:0 10px;border-radius:var(--radius);border:1px solid var(--input);background:var(--background);color:var(--foreground);font:400 13px var(--font-sans);min-width:0}.fm-row input.key{font-family:var(--font-mono);font-size:12px}.fm-row input:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklab,var(--ring) 25%,transparent)}.fm-row .del{width:30px;height:30px;border-radius:9px;border:none;background:transparent;color:var(--muted-foreground);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.fm-row .del:hover{background:color-mix(in oklab,var(--destructive) 12%,transparent);color:var(--destructive)}.ed-scroll::-webkit-scrollbar,.prose-wrap::-webkit-scrollbar,.side-scroll::-webkit-scrollbar,.tabstrip::-webkit-scrollbar{width:10px;height:10px}.ed-scroll::-webkit-scrollbar-thumb,.prose-wrap::-webkit-scrollbar-thumb,.side-scroll::-webkit-scrollbar-thumb,.tabstrip::-webkit-scrollbar-thumb{background:color-mix(in oklab,var(--muted-foreground) 30%,transparent);border-radius:var(--radius-pill);border:3px solid transparent;background-clip:padding-box}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes sheet{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:720px){.sidebar{position:absolute;top:0;bottom:0;left:0;z-index:25;box-shadow:var(--shadow-soft)}.app-name{display:none}.icon-btn,.text-btn{min-height:44px;min-width:44px}}@media print{.topbar,.tabstrip,.sidebar,.editor-pane,.statusbar,.overlay{display:none!important}#app{height:auto;overflow:visible}.preview-pane{display:flex!important}.prose-wrap{overflow:visible;padding:0}}
