@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.CHSlOQsW.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DMtmJ5ZE.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.Dm3htQBi.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/dm-mono-latin-ext-400-normal.C2zvOubV.woff2) format("woff2"),url(/_astro/dm-mono-latin-ext-400-normal.1aZr6b2b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/dm-mono-latin-400-normal.4GdczIuU.woff2) format("woff2"),url(/_astro/dm-mono-latin-400-normal.-0xN8mdc.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/dm-mono-latin-ext-500-normal.BtRyHRi6.woff2) format("woff2"),url(/_astro/dm-mono-latin-ext-500-normal.Dw3M13d8.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/dm-mono-latin-500-normal.DRMDZjhP.woff2) format("woff2"),url(/_astro/dm-mono-latin-500-normal.CN8Miw6E.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.editor-page{margin:0;overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-sans);letter-spacing:0}.editor-page,.editor-app{--font-sans: "Geist Variable", "Helvetica Neue", Arial, sans-serif;--font-mono: "DM Mono", "Courier New", monospace;--background: 0 0% 100%;--foreground: 0 0% 14%;--card: 0 0% 100%;--card-foreground: var(--foreground);--popover: 0 0% 100%;--popover-foreground: var(--foreground);--primary: 0 0% 14%;--primary-foreground: 0 0% 100%;--secondary: 0 0% 96%;--secondary-foreground: 0 0% 14%;--muted: var(--secondary);--muted-foreground: 0 0% 46%;--accent: 0 0% 96%;--accent-foreground: 0 0% 14%;--destructive: 0 72% 51%;--destructive-foreground: 0 86% 97%;--border: 0 0% 91%;--input: 0 0% 91%;--ring: 0 0% 56%;--radius: 10px;--on-muted: var(--foreground);--button-primary: var(--primary);--button-primary-foreground: 0 0% 100%;--widget: 0 0% 98%}.editor-page button,.editor-page input,.editor-page textarea{font:inherit;letter-spacing:0}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.editor-app{--ai-rail-width: 0rem;display:grid;grid-template-columns:17rem minmax(0,1fr) var(--ai-rail-width);gap:.5rem;width:100vw;height:100svh;min-height:100svh;padding:.5rem;background:hsl(var(--muted) / .4);color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:grid-template-columns .26s cubic-bezier(.22,1,.36,1),gap .26s cubic-bezier(.22,1,.36,1),padding .26s cubic-bezier(.22,1,.36,1),background-color .18s ease-out}.editor-app.is-ai-open{--ai-rail-width: 22rem}.editor-app.is-focus-mode{--ai-rail-width: 0rem;grid-template-columns:0 minmax(0,1fr) 0;gap:0;padding:0;background:hsl(var(--card))}.session-rail,.editor-main,.ai-rail{min-width:0;min-height:0;overflow:hidden;border-radius:calc(var(--radius) + 8px);background:hsl(var(--card));color:hsl(var(--card-foreground));outline:1px solid hsl(var(--border) / .6);outline-offset:-1px}.session-rail{display:flex;flex-direction:column;overflow:visible;opacity:1;transform:translate(0);visibility:visible;transition:opacity .18s ease-out,transform .26s cubic-bezier(.22,1,.36,1),outline-color .18s ease-out,visibility 0s linear 0s}.ai-rail{display:flex;flex-direction:column;gap:.875rem;padding:1rem;overflow:hidden;opacity:1;transform:translate(0);visibility:visible;transition:opacity .18s ease-out,transform .26s cubic-bezier(.22,1,.36,1),padding .26s cubic-bezier(.22,1,.36,1),outline-color .18s ease-out,visibility 0s linear 0s}.editor-app:not(.is-ai-open) .ai-rail{padding-right:0;padding-left:0;opacity:0;transform:translate(1rem);visibility:hidden;pointer-events:none;outline-color:transparent;transition:opacity .14s ease-out,transform .22s cubic-bezier(.22,1,.36,1),padding .22s cubic-bezier(.22,1,.36,1),outline-color .14s ease-out,visibility 0s linear .22s}.editor-app.is-focus-mode .session-rail{overflow:hidden;opacity:0;transform:translate(-1rem);visibility:hidden;pointer-events:none;outline-color:transparent;transition:opacity .14s ease-out,transform .22s cubic-bezier(.22,1,.36,1),outline-color .14s ease-out,visibility 0s linear .22s}.editor-app.is-focus-mode .ai-rail{padding:0;opacity:0;transform:translate(1rem);visibility:hidden;pointer-events:none;outline-color:transparent;transition:opacity .14s ease-out,transform .22s cubic-bezier(.22,1,.36,1),padding .22s cubic-bezier(.22,1,.36,1),outline-color .14s ease-out,visibility 0s linear .22s}.editor-app.is-focus-mode .editor-main,.editor-main{border-radius:0;outline-color:transparent}.rail-header,.ai-header{display:flex;min-height:3.75rem;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem}.ai-header{min-height:auto;padding:0}.rail-header{align-items:flex-start}.rail-title-block{display:grid;width:100%;min-width:0}.rail-title-row{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:.75rem}.rail-add-button{width:2.25rem;height:2.25rem;border-radius:calc(var(--radius) - 2px)}.ai-top{display:grid;flex:0 0 auto;gap:.875rem}.eyebrow{display:inline-flex;min-height:1.5rem;align-items:center;margin:0 0 .35rem;padding:0 .5rem;border-radius:calc(var(--radius) - 4px);background:hsl(var(--muted) / .7);color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:500;line-height:1rem}.rail-header h1,.ai-header h2{margin:0;color:hsl(var(--foreground));font-size:1.25rem;font-weight:500;line-height:1.75rem;letter-spacing:0}.icon-button,.tool-button,.mini-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:0;border-radius:var(--radius);background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .15s ease-out,color .15s ease-out}.icon-button{width:2.5rem;height:2.5rem}.tool-button,.mini-icon{width:2.25rem;height:2.25rem}.icon-button:hover,.icon-button.is-active,.tool-button:hover,.mini-icon:hover,.tool-button.is-active{background:hsl(var(--muted));color:hsl(var(--foreground))}.icon-button.danger:hover{background:hsl(var(--destructive) / .12);color:hsl(var(--destructive))}.vault-button.is-active{color:hsl(var(--foreground))}.icon-button:disabled,.tool-button:disabled,.mini-icon:disabled,.ai-actions button:disabled{pointer-events:none;opacity:.5}.session-list{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;padding:.25rem 0;overflow-y:auto}.session-item{position:relative;width:calc(100% - 1rem);margin:0 .5rem;border-radius:var(--radius)}.session-button{display:grid;gap:.25rem;width:100%;min-height:3.625rem;padding:.625rem 2.65rem .625rem .75rem;border:0;border-radius:var(--radius);background:transparent;color:hsl(var(--foreground));text-align:left;cursor:pointer;transition:background-color .15s ease-out,color .15s ease-out}.session-button:hover{background:hsl(var(--muted) / .7);color:hsl(var(--foreground) / .85)}.session-button.is-active{background:hsl(var(--muted));color:hsl(var(--foreground));font-weight:500}.session-button.is-locked{color:hsl(var(--muted-foreground))}.session-button.is-locked:hover{color:hsl(var(--foreground))}.session-button:disabled{cursor:default;opacity:.6}.session-delete-button{position:absolute;top:50%;right:.375rem;display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;transform:translateY(-50%) scale(.96);border:0;border-radius:calc(var(--radius) - 2px);background:hsl(var(--card));color:hsl(var(--muted-foreground));box-shadow:inset 0 0 0 1px hsl(var(--border) / .8);opacity:0;pointer-events:none;cursor:pointer;transition:background-color .15s ease-out,color .15s ease-out,opacity .12s ease-out,transform .12s ease-out}.session-item:hover .session-delete-button,.session-item:focus-within .session-delete-button{transform:translateY(-50%) scale(1);opacity:1;pointer-events:auto}.session-delete-button:hover{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.session-delete-button:disabled{cursor:default;opacity:.45}@media(hover:none){.session-delete-button{transform:translateY(-50%) scale(1);opacity:1;pointer-events:auto}.session-delete-button:disabled{opacity:.45}}.session-title{overflow:hidden;color:inherit;font-size:.875rem;font-weight:500;line-height:1.25rem;text-overflow:ellipsis;white-space:nowrap}.session-meta{overflow:hidden;color:hsl(var(--muted-foreground));font-size:.75rem;line-height:1rem;text-overflow:ellipsis;white-space:nowrap}.rail-footer,.storage-line{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto;padding:.75rem}.storage-line{justify-content:space-between;margin-top:0;padding:.75rem 0 0;border-top:1px solid hsl(var(--border) / .7);color:hsl(var(--muted-foreground));font-family:var(--font-mono);font-size:.75rem;line-height:1rem}.tools-panel>.storage-line{margin-top:auto}.offline-status-wrap,.model-status-wrap,.save-status-wrap{position:relative;display:inline-flex}.offline-popover,.model-popover,.save-popover{position:absolute;z-index:50;bottom:calc(100% + .65rem);left:0;display:grid;width:min(22rem,calc(100vw - 1.5rem));gap:.75rem;padding:.875rem;border-radius:calc(var(--radius) + 6px);background:hsl(var(--popover));color:hsl(var(--popover-foreground));box-shadow:inset 0 0 0 1px hsl(var(--border)),0 18px 46px hsl(var(--foreground) / .12);opacity:0;pointer-events:none;transform:translateY(.25rem);transition:opacity .11s ease-out,transform .11s ease-out}.offline-popover{width:min(24rem,calc(100vw - 1.5rem))}.save-popover{width:min(22rem,calc(100vw - 1.5rem))}.offline-popover:after,.model-popover:after,.save-popover:after{content:"";position:absolute;left:1.1rem;bottom:-.4rem;width:.75rem;height:.75rem;transform:rotate(45deg);border-right:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border));background:hsl(var(--popover))}.offline-status-wrap:hover .offline-popover,.offline-status-wrap:focus-within .offline-popover,.model-status-wrap:hover .model-popover,.model-status-wrap:focus-within .model-popover,.save-status-wrap:hover .save-popover,.save-status-wrap:focus-within .save-popover{opacity:1;pointer-events:auto;transform:translateY(0)}.model-popover-title{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;color:hsl(var(--foreground));font-size:.875rem;font-weight:600;line-height:1.3}.model-popover-title span:last-child{min-height:1.5rem;padding:.2rem .5rem;border-radius:calc(var(--radius) - 3px);background:hsl(var(--muted) / .7);color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:500;line-height:1rem}.model-popover-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .75rem}.model-popover-grid>span{display:grid;min-width:0;gap:.1rem}.model-popover-grid strong{color:hsl(var(--muted-foreground));font-size:.6875rem;font-weight:500;line-height:1rem}.model-popover-grid em{overflow:hidden;color:hsl(var(--foreground));font-size:.8125rem;font-style:normal;line-height:1.2rem;text-overflow:ellipsis;white-space:nowrap}.model-popover-capabilities{display:flex;flex-wrap:wrap;gap:.4rem;padding-top:.1rem}.model-help-copy{color:hsl(var(--foreground));font-size:.875rem;line-height:1.45}.model-help-steps{display:grid;gap:.45rem}.model-help-steps>span{display:grid;grid-template-columns:1.35rem minmax(0,1fr);gap:.5rem;align-items:start}.model-help-steps strong{display:inline-flex;width:1.35rem;height:1.35rem;align-items:center;justify-content:center;border-radius:999px;background:hsl(var(--muted));color:hsl(var(--foreground));font-size:.6875rem;font-weight:600;line-height:1}.model-help-steps em{color:hsl(var(--foreground));font-size:.8125rem;font-style:normal;line-height:1.35}.model-popover-note,.model-popover-foot{color:hsl(var(--muted-foreground));font-size:.75rem;line-height:1.35}.model-popover-foot{font-family:var(--font-mono)}.connectivity,.ai-status,.language-pill,.capability-pill,.tag-row span{display:inline-flex;min-height:1.625rem;align-items:center;gap:.35rem;padding:.25rem .55rem;border-radius:calc(var(--radius) - 2px);background:hsl(var(--muted) / .7);color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:500;line-height:1rem;white-space:nowrap}.connectivity.is-online,.ai-status.available,.capability-pill.is-on{color:hsl(var(--foreground))}.save-status.error,.ai-status.error,.ai-status.unavailable,.ai-status.unsupported{background:hsl(var(--destructive) / .12);color:hsl(var(--destructive))}.save-status.saving{color:hsl(var(--foreground))}.editor-main{display:flex;flex-direction:column}.editor-toolbar{display:flex;min-width:0;min-height:3.75rem;align-items:center;gap:.5rem;padding:.625rem .75rem;border-bottom:1px solid hsl(var(--border) / .7);background:hsl(var(--card))}.toolbar-group{display:inline-flex;align-items:center;gap:.125rem;padding-right:.5rem;border-right:1px solid hsl(var(--border) / .7)}.toolbar-spacer{flex:1 1 auto}.editor-scroll{min-height:0;flex:1 1 auto;overflow-y:auto;scroll-behavior:smooth}.editor-footer{display:flex;min-height:2.5rem;align-items:center;justify-content:flex-end;padding:0 .875rem;border-top:1px solid hsl(var(--border) / .7);background:hsl(var(--card))}.editor-footer-metrics{display:inline-flex;align-items:center;gap:.625rem;color:hsl(var(--muted-foreground));font-size:.75rem;line-height:1rem;white-space:nowrap}.editor-footer-github{display:inline-flex;align-items:center;margin-left:.125rem;color:hsl(var(--muted-foreground));opacity:.75;transition:opacity .15s ease,color .15s ease}.editor-footer-github:hover,.editor-footer-github:focus-visible{opacity:1;color:hsl(var(--foreground))}.editor-paper{position:relative;box-sizing:border-box;display:flex;flex-direction:column;width:min(100%,54rem);min-height:100%;margin:0 auto;padding:4.5rem clamp(1.5rem,5vw,4.5rem) 38vh}.vault-locked-panel{display:grid;width:min(100%,34rem);min-height:100%;margin:0 auto;place-content:center;justify-items:center;gap:.85rem;padding:2rem;text-align:center}.vault-locked-icon{display:inline-flex;width:3rem;height:3rem;align-items:center;justify-content:center;border-radius:calc(var(--radius) + 6px);background:hsl(var(--muted));color:hsl(var(--foreground))}.vault-locked-panel h2{margin:0;color:hsl(var(--foreground));font-size:1.25rem;font-weight:600;line-height:1.7rem}.vault-locked-panel p{max-width:28rem;margin:0;color:hsl(var(--muted-foreground));font-size:.9375rem;line-height:1.5}.vault-locked-panel button{display:inline-flex;min-height:2.625rem;align-items:center;justify-content:center;padding:0 1rem;border:0;border-radius:var(--radius);background:hsl(var(--button-primary));color:hsl(var(--button-primary-foreground));font-size:.875rem;font-weight:600;cursor:pointer}.post-menu{position:relative;z-index:20;flex:0 0 auto}.post-menu-trigger{display:inline-flex;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;border:0;border-radius:var(--radius);background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .15s ease-out,color .15s ease-out}.post-menu-trigger:hover,.post-menu-trigger[aria-expanded=true]{background:hsl(var(--muted));color:hsl(var(--foreground))}.post-menu-content{position:absolute;top:calc(100% + .5rem);right:0;display:grid;width:max-content;min-width:13.5rem;gap:.125rem;padding:.5rem;border-radius:calc(var(--radius) + 4px);background:hsl(var(--popover));color:hsl(var(--popover-foreground));box-shadow:inset 0 0 0 1px hsl(var(--border))}.post-menu-item{display:flex;min-height:2.25rem;align-items:center;gap:.625rem;padding:.5rem;border:0;border-radius:calc(var(--radius) - 2px);background:transparent;color:hsl(var(--foreground));font-size:.875rem;font-weight:500;line-height:1.25rem;text-align:left;white-space:nowrap;cursor:pointer;transition:background-color .15s ease-out,color .15s ease-out}.post-menu-item:hover{background:hsl(var(--muted))}.post-menu-item.is-danger{color:hsl(var(--destructive))}.post-menu-item.is-danger:hover{background:hsl(var(--destructive) / .1)}.post-menu-item:disabled{pointer-events:none;opacity:.5}.confirm-overlay{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:1rem;background:hsl(var(--background) / .48);backdrop-filter:blur(6px)}.confirm-dialog{display:grid;grid-template-columns:2.5rem minmax(0,1fr);width:min(25rem,100%);gap:.875rem;padding:1rem;border-radius:calc(var(--radius) + 6px);background:hsl(var(--popover));color:hsl(var(--popover-foreground));box-shadow:inset 0 0 0 1px hsl(var(--border)),0 24px 70px hsl(var(--foreground) / .16)}.confirm-icon{display:inline-flex;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;border-radius:var(--radius);background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.confirm-copy{min-width:0}.confirm-copy h2{margin:0;color:hsl(var(--foreground));font-size:1rem;font-weight:600;line-height:1.4rem}.confirm-copy p{margin:.25rem 0 0;color:hsl(var(--muted-foreground));font-size:.875rem;line-height:1.4}.confirm-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:.5rem;padding-top:.25rem}.confirm-secondary,.confirm-danger{display:inline-flex;min-height:2.5rem;align-items:center;justify-content:center;padding:0 .875rem;border:0;border-radius:var(--radius);font-size:.875rem;font-weight:600;line-height:1.25rem;cursor:pointer;transition:background-color .15s ease-out,color .15s ease-out,opacity .15s ease-out}.confirm-secondary{background:hsl(var(--muted));color:hsl(var(--foreground))}.confirm-secondary:hover{background:hsl(var(--accent))}.confirm-danger{background:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.confirm-danger:hover{background:hsl(var(--destructive) / .9)}.confirm-danger:disabled{cursor:default;opacity:.5}.vault-overlay{position:fixed;z-index:85;inset:0;display:grid;place-items:center;padding:1rem;background:hsl(var(--background) / .5);backdrop-filter:blur(8px)}.vault-dialog{display:grid;width:min(32rem,100%);max-height:min(42rem,calc(100svh - 2rem));gap:1rem;overflow-y:auto;padding:1rem;border-radius:calc(var(--radius) + 8px);background:hsl(var(--popover));color:hsl(var(--popover-foreground));box-shadow:inset 0 0 0 1px hsl(var(--border)),0 24px 78px hsl(var(--foreground) / .16)}.vault-dialog-header{display:grid;grid-template-columns:2.75rem minmax(0,1fr);gap:.875rem;align-items:start}.vault-dialog-icon{display:inline-flex;width:2.75rem;height:2.75rem;align-items:center;justify-content:center;border-radius:var(--radius);background:hsl(var(--muted));color:hsl(var(--foreground))}.vault-dialog h2{margin:0;color:hsl(var(--foreground));font-size:1rem;font-weight:650;line-height:1.4rem}.vault-dialog-header p,.vault-note,.vault-recovery-card p{margin:.25rem 0 0;color:hsl(var(--muted-foreground));font-size:.875rem;line-height:1.45}.vault-stack{display:grid;gap:.875rem}.vault-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.vault-feature-grid span,.vault-recovery-card,.vault-recovery-unlock{display:grid;min-width:0;gap:.25rem;padding:.75rem;border-radius:var(--radius);background:hsl(var(--muted) / .55)}.vault-feature-grid strong,.vault-recovery-card strong,.vault-recovery-unlock label{color:hsl(var(--foreground));font-size:.8125rem;font-weight:650;line-height:1.2rem}.vault-feature-grid em{color:hsl(var(--muted-foreground));font-size:.75rem;font-style:normal;line-height:1.25}.vault-recovery-card code{display:block;overflow-wrap:anywhere;padding:.625rem;border-radius:calc(var(--radius) - 2px);background:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-mono);font-size:.8125rem;line-height:1.45}.vault-recovery-unlock textarea{min-height:5rem;resize:vertical;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);background:hsl(var(--background));color:hsl(var(--foreground));padding:.625rem;font-family:var(--font-mono);font-size:.8125rem;line-height:1.4;outline:none}.vault-recovery-unlock textarea:focus{border-color:hsl(var(--ring))}.vault-actions{display:flex;justify-content:flex-end;gap:.5rem}.vault-primary,.vault-secondary,.vault-danger{display:inline-flex;min-height:2.5rem;align-items:center;justify-content:center;gap:.45rem;padding:0 .875rem;border:0;border-radius:var(--radius);font-size:.875rem;font-weight:650;line-height:1.25rem;cursor:pointer;transition:background-color .15s ease-out,color .15s ease-out,opacity .15s ease-out}.vault-full-button{width:100%}.vault-primary{background:hsl(var(--button-primary));color:hsl(var(--button-primary-foreground))}.vault-secondary{background:hsl(var(--muted));color:hsl(var(--foreground))}.vault-danger{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.vault-danger:hover{background:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.vault-primary:disabled,.vault-secondary:disabled,.vault-danger:disabled{cursor:default;opacity:.5}.vault-error{margin:0;padding:.75rem;border-radius:var(--radius);background:hsl(var(--destructive) / .1);color:hsl(var(--destructive));font-size:.875rem;line-height:1.4}.expression-popover{position:fixed;z-index:40;top:var(--expression-top);left:var(--expression-left);display:grid;width:min(20rem,calc(100vw - 1.5rem));gap:.5rem;padding:.625rem;transform:translate(-50%);border-radius:calc(var(--radius) + 4px);background:hsl(var(--popover));color:hsl(var(--popover-foreground));box-shadow:inset 0 0 0 1px hsl(var(--border))}.expression-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.125rem .125rem .25rem .25rem}.expression-header>div{min-width:0}.expression-kicker{display:block;color:hsl(var(--muted-foreground));font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:0;line-height:1rem;text-transform:uppercase}.expression-target{display:block;overflow:hidden;max-width:15rem;color:hsl(var(--foreground));font-size:.875rem;font-weight:600;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.expression-close{display:inline-flex;width:1.75rem;height:1.75rem;flex:0 0 auto;align-items:center;justify-content:center;border:0;border-radius:calc(var(--radius) - 2px);background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .15s ease-out,color .15s ease-out}.expression-close:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.expression-state,.expression-error{display:flex;align-items:center;gap:.5rem;margin:0;padding:.5rem;color:hsl(var(--muted-foreground));font-size:.8125rem;line-height:1.35}.expression-error{color:hsl(var(--destructive))}.expression-options{display:grid;gap:.125rem}.expression-options button{display:flex;min-height:2.25rem;width:100%;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem;border:0;border-radius:calc(var(--radius) - 2px);background:transparent;color:hsl(var(--foreground));font-size:.875rem;font-weight:500;line-height:1.25rem;text-align:left;cursor:pointer;transition:background-color .15s ease-out,color .15s ease-out}.expression-options button:hover{background:hsl(var(--muted))}.expression-options span{min-width:0;overflow-wrap:anywhere}.expression-options small{flex:0 0 auto;color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:500;line-height:1rem;white-space:nowrap}.localwrite-prosemirror{min-height:0;flex:1 1 auto;outline:none;color:hsl(var(--foreground));caret-color:hsl(var(--foreground));font-family:var(--font-sans);font-size:1rem;line-height:1.75;letter-spacing:0}.localwrite-prosemirror>*+*{margin-top:.75em}.localwrite-prosemirror p{margin:0}.localwrite-prosemirror h1,.localwrite-prosemirror h2,.localwrite-prosemirror h3{margin:1.4em 0 .35em;color:hsl(var(--foreground));font-family:var(--font-sans);font-weight:500;line-height:1.2;letter-spacing:0}.localwrite-prosemirror h1{font-size:1.875rem}.localwrite-prosemirror h2{font-size:1.5rem}.localwrite-prosemirror h3{font-size:1.25rem}.localwrite-prosemirror ul,.localwrite-prosemirror ol{padding-left:1.625em}.localwrite-prosemirror li{padding-left:.25em}.localwrite-prosemirror blockquote{position:relative;margin-left:0;padding:.5em 0 .5em 1.5em;border-left:0;color:hsl(var(--foreground));font-weight:500}.localwrite-prosemirror blockquote:after{content:"";position:absolute;left:0;top:.5em;width:.25em;height:1.75em;border-radius:2px;background:hsl(var(--border))}.localwrite-prosemirror code{padding:.15em .3em;border-radius:.25em;background:hsl(var(--foreground) / .07);color:hsl(var(--foreground));font-family:var(--font-mono);font-size:.875em;font-weight:500}.localwrite-prosemirror pre{overflow-x:auto;margin:0;padding:.875rem 1rem;border-radius:calc(var(--radius) - 4px);background:hsl(var(--muted));color:hsl(var(--foreground));font-family:var(--font-mono);font-size:.8125rem;line-height:1.5}.localwrite-prosemirror pre code{padding:0;background:transparent}.localwrite-prosemirror mark{border-radius:.25em;background:hsl(var(--muted));color:inherit}.localwrite-prosemirror a{color:hsl(var(--foreground));text-decoration:underline;text-decoration-color:hsl(var(--muted-foreground) / .5);text-decoration-style:dotted;text-underline-offset:2px;transition:text-decoration-color .15s ease-out}.localwrite-prosemirror a:hover{text-decoration-color:hsl(var(--foreground))}.localwrite-prosemirror ul[data-type=taskList]{padding-left:0;list-style:none}.localwrite-prosemirror li[data-type=taskItem]{display:flex;align-items:flex-start;gap:.55rem}.localwrite-prosemirror li[data-type=taskItem]>label{margin-top:.35em}.localwrite-prosemirror li[data-type=taskItem]>div{flex:1 1 auto}.localwrite-prosemirror p.is-editor-empty:first-child:before,.localwrite-prosemirror .is-empty:before{content:attr(data-placeholder);float:left;height:0;color:hsl(var(--muted-foreground) / .8);pointer-events:none}.localwrite-prosemirror ::selection{background:hsl(var(--foreground) / .12)}.ghost-completion{color:hsl(var(--muted-foreground));opacity:.55;pointer-events:none;user-select:none;-webkit-user-select:none}.progress-wrap{height:.375rem;overflow:hidden;border-radius:9999px;background:hsl(var(--muted))}.progress-wrap span{display:block;height:100%;border-radius:inherit;background:hsl(var(--foreground));transition:width .2s ease-out}.ai-tabs{display:flex;gap:.25rem;padding:.25rem;border-radius:var(--radius);background:hsl(var(--muted) / .7)}.ai-tab{display:inline-flex;min-height:2.25rem;flex:1 1 0;align-items:center;justify-content:center;gap:.45rem;border:0;border-radius:calc(var(--radius) - 2px);background:transparent;color:hsl(var(--muted-foreground));font-size:.875rem;font-weight:500;line-height:1.25rem;cursor:pointer;transition:background-color .15s ease-out,color .15s ease-out}.ai-tab:hover,.ai-tab.is-active{background:hsl(var(--background));color:hsl(var(--foreground))}.ai-tab-panel{min-height:0;flex:1 1 auto}.tools-panel{display:flex;flex-direction:column;gap:1rem;overflow-y:auto;padding-right:.125rem}.chat-panel{display:flex;min-height:0;flex-direction:column;gap:.75rem}.chat-messages{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;gap:.75rem;overflow-y:auto;padding:.125rem .125rem .25rem;scroll-behavior:smooth}.chat-message{display:flex;width:100%;animation:localwrite-fade-up .18s ease-out both}.chat-message.user{justify-content:flex-end}.chat-message.assistant{justify-content:flex-start}.chat-bubble{max-width:min(18.5rem,86%);color:hsl(var(--foreground));font-size:.875rem;line-height:1.6}.chat-message.user .chat-bubble{padding:.625rem .85rem;border-radius:calc(var(--radius) + 6px) calc(var(--radius) + 6px) calc(var(--radius) - 6px) calc(var(--radius) + 6px);background:hsl(var(--muted))}.chat-message.assistant .chat-bubble{max-width:100%;padding:.25rem .125rem;background:transparent}.chat-bubble p{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.chat-thinking,.chat-update{display:inline-flex;align-items:center;gap:.4rem;color:hsl(var(--muted-foreground));font-size:.8125rem;font-weight:500;line-height:1.25rem}.chat-update{margin-top:.5rem;padding:.25rem .5rem;border-radius:calc(var(--radius) - 2px);background:hsl(var(--muted) / .7);color:hsl(var(--foreground))}.chat-empty{display:grid;max-width:15rem;gap:.6rem;margin:auto;justify-items:center;color:hsl(var(--muted-foreground));text-align:center}.chat-empty p,.chat-error{margin:0;font-size:.875rem;line-height:1.5}.chat-error{color:hsl(var(--destructive))}.chat-composer{display:grid;flex:0 0 auto;gap:.5rem;padding:.625rem;border-radius:calc(var(--radius) + 6px);background:hsl(var(--background));box-shadow:inset 0 0 0 1px hsl(var(--border) / .7);transition:box-shadow .15s ease-out}.chat-composer:focus-within{box-shadow:inset 0 0 0 1px hsl(var(--foreground) / .35)}.chat-attachments{display:flex;flex-wrap:wrap;gap:.4rem}.chat-attachment{display:inline-grid;grid-template-columns:1.75rem minmax(0,1fr) 1.35rem;max-width:100%;align-items:center;gap:.35rem;padding:.25rem;border-radius:calc(var(--radius) - 2px);background:hsl(var(--muted) / .75);color:hsl(var(--foreground));font-size:.75rem;line-height:1rem}.chat-attachment img{width:1.75rem;height:1.75rem;border-radius:calc(var(--radius) - 5px);object-fit:cover}.chat-attachment span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-attachment button{display:inline-flex;width:1.35rem;height:1.35rem;align-items:center;justify-content:center;border:0;border-radius:calc(var(--radius) - 5px);background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.chat-attachment button:hover{background:hsl(var(--background));color:hsl(var(--foreground))}.chat-input-row{display:flex;min-height:2.5rem;align-items:center;gap:.4rem}.chat-composer textarea{width:100%;max-height:10rem;min-height:2.5rem;overflow-y:auto;resize:none;scrollbar-width:none;border:0;padding:.5rem .25rem;background:transparent;color:hsl(var(--foreground));outline:none;font-size:.875rem;line-height:1.5rem}.chat-composer textarea::-webkit-scrollbar{display:none}.chat-composer textarea::placeholder{color:hsl(var(--muted-foreground) / .82)}.chat-composer textarea:disabled{cursor:not-allowed;opacity:.65}.chat-tool-button,.chat-send-button{display:inline-flex;width:2.5rem;height:2.5rem;flex:0 0 auto;align-items:center;justify-content:center;border:0;border-radius:calc(var(--radius) - 2px);background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;transition:background-color .15s ease-out,color .15s ease-out,opacity .15s ease-out}.chat-tool-button{background:transparent;color:hsl(var(--muted-foreground))}.chat-tool-button:hover,.chat-tool-button.is-recording{background:hsl(var(--muted));color:hsl(var(--foreground))}.chat-tool-button.is-recording,.icon-button.is-recording{color:hsl(var(--destructive))}.chat-send-button{background:hsl(var(--foreground));color:hsl(var(--background))}.chat-tool-button:disabled,.chat-send-button:disabled{cursor:default;background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.capabilities,.tag-row{display:flex;flex-wrap:wrap;gap:.5rem}.ai-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.ai-actions button{display:inline-flex;min-height:2.5rem;align-items:center;justify-content:center;gap:.45rem;padding:0 1rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background));color:hsl(var(--foreground));font-size:.875rem;font-weight:500;line-height:1.25rem;cursor:pointer;transition:background-color .15s ease-out,color .15s ease-out}.ai-actions button:first-child{border-color:transparent;background:hsl(var(--button-primary));color:hsl(var(--button-primary-foreground));box-shadow:0 1px 2px #0000000d}.ai-actions button:hover{background:hsl(var(--muted) / .7)}.ai-actions button:first-child:hover{background:hsl(var(--button-primary) / .9)}.translate-section{gap:.625rem}.translate-control{display:grid;grid-template-columns:2rem minmax(0,1fr);align-items:center;gap:.5rem}.translate-control label{color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:500;line-height:1rem}.translate-control select{min-width:0;height:2.25rem;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);padding:0 .625rem;background:hsl(var(--background));color:hsl(var(--foreground));font-size:.875rem;line-height:1.25rem}.translate-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem}.translate-actions button{display:inline-flex;min-height:2.25rem;align-items:center;justify-content:center;gap:.45rem;padding:0 .75rem;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);background:hsl(var(--background));color:hsl(var(--foreground));font-size:.8125rem;font-weight:500;line-height:1.1rem;cursor:pointer}.translate-actions button:first-child{background:hsl(var(--foreground));color:hsl(var(--background))}.translate-actions button:disabled,.translate-control select:disabled{cursor:default;opacity:.55}.ai-section{display:grid;gap:.75rem;padding-top:1rem;border-top:1px solid hsl(var(--border) / .7)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:hsl(var(--foreground));font-size:.875rem;font-weight:500;line-height:1.25rem}.classification-grid{display:grid;gap:.75rem;margin:0}.classification-grid div{display:grid;gap:.2rem}.classification-grid dt{color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:500;line-height:1rem}.classification-grid dd{margin:0;color:hsl(var(--foreground));font-size:.875rem;line-height:1.4}.muted-line{margin:0;color:hsl(var(--muted-foreground));font-size:.875rem;line-height:1.5}.output-section{min-height:12rem}.ai-output{overflow:auto;max-height:32vh;margin:0;padding:0;color:hsl(var(--foreground));background:transparent;font-family:var(--font-sans);font-size:.875rem;line-height:1.6;white-space:pre-wrap}.ai-error{margin:0;color:hsl(var(--destructive));font-size:.875rem;line-height:1.5}.mini-icon{width:1.75rem;height:1.75rem;border-radius:calc(var(--radius) - 2px)}.spin{animation:localwrite-spin .9s linear infinite}@keyframes localwrite-spin{to{transform:rotate(360deg)}}@keyframes localwrite-fade-up{0%{opacity:0;transform:translateY(.25rem)}to{opacity:1;transform:translateY(0)}}@media(prefers-color-scheme:dark){.editor-page,.editor-app{--background: 0 0% 8%;--foreground: 0 0% 100%;--card: 0 0% 11%;--card-foreground: 0 0% 100%;--popover: 0 0% 11%;--popover-foreground: 0 0% 100%;--primary: 0 0% 96%;--primary-foreground: 0 0% 14%;--secondary: 0 0% 16%;--secondary-foreground: 0 0% 100%;--muted: 0 0% 16%;--muted-foreground: 0 0% 80%;--accent: 0 0% 16%;--accent-foreground: 0 0% 100%;--destructive: 0 58.4% 39.6%;--destructive-foreground: 0 86% 97%;--border: 0 0% 22%;--input: 0 0% 22%;--ring: 0 0% 70%;--button-primary: 0 0% 96%;--button-primary-foreground: 0 0% 14%;--widget: 0 0% 10%}.editor-app{background:hsl(var(--background))}}.dark .editor-page,.dark .editor-app{--background: 0 0% 8%;--foreground: 0 0% 100%;--card: 0 0% 11%;--card-foreground: 0 0% 100%;--popover: 0 0% 11%;--popover-foreground: 0 0% 100%;--primary: 0 0% 96%;--primary-foreground: 0 0% 14%;--secondary: 0 0% 16%;--secondary-foreground: 0 0% 100%;--muted: 0 0% 16%;--muted-foreground: 0 0% 80%;--accent: 0 0% 16%;--accent-foreground: 0 0% 100%;--destructive: 0 58.4% 39.6%;--destructive-foreground: 0 86% 97%;--border: 0 0% 22%;--input: 0 0% 22%;--ring: 0 0% 70%;--button-primary: 0 0% 96%;--button-primary-foreground: 0 0% 14%;--widget: 0 0% 10%}.light .editor-page,.light .editor-app{--background: 0 0% 100%;--foreground: 0 0% 14%;--card: 0 0% 100%;--card-foreground: var(--foreground);--popover: 0 0% 100%;--popover-foreground: var(--foreground);--primary: 0 0% 14%;--primary-foreground: 0 0% 100%;--secondary: 0 0% 96%;--secondary-foreground: 0 0% 14%;--muted: var(--secondary);--muted-foreground: 0 0% 46%;--accent: 0 0% 96%;--accent-foreground: 0 0% 14%;--destructive: 0 72% 51%;--destructive-foreground: 0 86% 97%;--border: 0 0% 91%;--input: 0 0% 91%;--ring: 0 0% 56%;--button-primary: var(--primary);--button-primary-foreground: 0 0% 100%;--widget: 0 0% 98%}.light .editor-app{background:hsl(var(--muted) / .4)}@media(max-width:1120px){.editor-app{--ai-rail-width: auto;grid-template-columns:15rem minmax(0,1fr)}.ai-rail{grid-column:1 / -1;display:flex;flex-direction:column;overflow:hidden;max-height:30rem;transform:translateY(0)}.editor-app:not(.is-ai-open) .ai-rail{max-height:0;padding-top:0;padding-bottom:0;transform:translateY(.75rem)}.editor-app.is-ai-open .ai-rail{max-height:30rem}.editor-app.is-focus-mode .ai-rail{max-height:0;padding-top:0;padding-bottom:0}.ai-header,.ai-section,.storage-line{border-top:0;padding-top:0}.output-section{min-height:9rem}.ai-tab-panel{min-height:18rem}}@media(max-width:820px){.editor-page{overflow:auto}.editor-app{display:flex;width:100%;height:auto;min-height:100svh;flex-direction:column;padding:0}.session-rail,.editor-main,.ai-rail{border-radius:0;outline:0}.session-rail{order:2;max-height:none;border-top:1px solid hsl(var(--border) / .7)}.session-list{display:grid;grid-auto-columns:minmax(12rem,72vw);grid-auto-flow:column;overflow-x:auto}.session-item{width:calc(100% - .5rem);margin:0 .25rem}.session-button{width:100%}.rail-footer{margin-top:0}.editor-main{min-height:78svh}.editor-app.is-focus-mode .editor-main{min-height:100svh}.editor-toolbar{position:sticky;top:0;z-index:5;overflow-x:auto}.editor-paper{width:100%;min-height:100%;padding:2.5rem 1.2rem 32vh}.localwrite-prosemirror{font-size:1rem;line-height:1.7}.localwrite-prosemirror h1{font-size:1.75rem}.vault-feature-grid{grid-template-columns:1fr}.vault-actions{flex-direction:column-reverse}.vault-primary,.vault-secondary,.vault-danger{width:100%}.ai-rail{order:3;display:flex;max-height:72svh;border-top:1px solid hsl(var(--border) / .7)}.editor-app:not(.is-ai-open) .ai-rail{max-height:0}.editor-app.is-ai-open .ai-rail{max-height:72svh}.editor-app.is-focus-mode .session-rail,.editor-app.is-focus-mode .ai-rail{max-height:0;min-height:0;border-top:0;overflow:hidden}}
