@font-face{font-family:CommitMono;src:url(/fonts/commitmono/CommitMono-200-Regular.woff2) format("woff2");font-style:normal;font-weight:200;font-display:swap}@font-face{font-family:CommitMono;src:url(/fonts/commitmono/CommitMono-200-Italic.woff2) format("woff2");font-style:italic;font-weight:200;font-display:swap}@font-face{font-family:CommitMono;src:url(/fonts/commitmono/CommitMono-300-Regular.woff2) format("woff2");font-style:normal;font-weight:300;font-display:swap}@font-face{font-family:CommitMono;src:url(/fonts/commitmono/CommitMono-300-Italic.woff2) format("woff2");font-style:italic;font-weight:300;font-display:swap}@font-face{font-family:CommitMono;src:url(/fonts/commitmono/CommitMono-600-Regular.woff2) format("woff2");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:CommitMono;src:url(/fonts/commitmono/CommitMono-600-Italic.woff2) format("woff2");font-style:italic;font-weight:600;font-display:swap}@font-face{font-family:Roboto;src:url(/fonts/roboto/Roboto-ExtraLight.ttf) format("truetype");font-style:normal;font-weight:200;font-display:swap}@font-face{font-family:Roboto;src:url(/fonts/roboto/Roboto-ExtraLightItalic.ttf) format("truetype");font-style:italic;font-weight:200;font-display:swap}@font-face{font-family:Roboto;src:url(/fonts/roboto/Roboto-Light.ttf) format("truetype");font-style:normal;font-weight:300;font-display:swap}@font-face{font-family:Roboto;src:url(/fonts/roboto/Roboto-LightItalic.ttf) format("truetype");font-style:italic;font-weight:300;font-display:swap}@font-face{font-family:Roboto;src:url(/fonts/roboto/Roboto-Regular.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Roboto;src:url(/fonts/roboto/Roboto-Italic.ttf) format("truetype");font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:OpenDyslexic;src:url(/fonts/opendyslexic/OpenDyslexic-Regular.otf) format("opentype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:OpenDyslexic;src:url(/fonts/opendyslexic/OpenDyslexic-Italic.otf) format("opentype");font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:OpenDyslexic;src:url(/fonts/opendyslexic/OpenDyslexic-Bold.otf) format("opentype");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:OpenDyslexic;src:url(/fonts/opendyslexic/OpenDyslexic-BoldItalic.otf) format("opentype");font-style:italic;font-weight:700;font-display:swap}@font-face{font-family:EBGaramond;src:url(/fonts/ebgaramond/EBGaramond-Regular.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:EBGaramond;src:url(/fonts/ebgaramond/EBGaramond-Italic.ttf) format("truetype");font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:EBGaramond;src:url(/fonts/ebgaramond/EBGaramond-Medium.ttf) format("truetype");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:EBGaramond;src:url(/fonts/ebgaramond/EBGaramond-MediumItalic.ttf) format("truetype");font-style:italic;font-weight:500;font-display:swap}@font-face{font-family:CommitMono-250;src:url(/fonts/commitmono/CommitMono-250-Regular.woff2) format("woff2");font-style:normal;font-weight:250;font-display:swap}@font-face{font-family:CommitMono-200;src:url(/fonts/commitmono/CommitMono-200-Regular.woff2) format("woff2");font-style:normal;font-weight:200;font-display:swap}:root{--font-main: "CommitMono", ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--font-header: "CommitMono-250", ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--font-dialog: "CommitMono-200", ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--icon-size: 1.25rem;--leading: 1.65;--duration: .16s;--duration-slow: .18s;--duration-fast: 80ms}.app-shell{--bg: oklch(1 0 89.88);--panel-bg: oklch(1 0 89.88);--border: oklch(.922 0 89.88);--panel-border: oklch(.8 0 89.88);--text-primary: oklch(.218 0 89.88);--text-muted: oklch(.5 0 89.88);--text-secondary: oklch(.683 0 89.88);--text-placeholder: oklch(.845 0 89.88);--feedback-error: oklch(.58 .18 23);--overlay: oklch(0 0 0 / .4)}html[data-theme=dark] .app-shell,.app-shell[data-theme=dark]{--bg: oklch(.218 0 89.88);--panel-bg: oklch(.252 0 89.88);--border: oklch(.285 0 89.88);--panel-border: oklch(.321 0 89.88);--text-primary: oklch(.907 0 89.88);--text-muted: oklch(.51 0 89.88);--text-secondary: oklch(.51 0 89.88);--text-placeholder: oklch(.387 0 89.88);--feedback-error: oklch(.72 .17 23);--overlay: oklch(0 0 0 / .667)}*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{min-height:100%}body{margin:0}button,textarea{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:16px;z-index:100;padding:8px 16px;background-color:var(--text-primary);color:var(--bg);font-family:var(--font-header);font-size:.875rem;text-decoration:none;border-radius:0 0 4px 4px;transition:top var(--duration) ease-out}.skip-link:focus{top:0}.app-shell{position:relative;display:grid;grid-template-rows:1fr;min-height:100dvh;background-color:var(--bg);color:var(--text-primary);font-family:var(--font-main);transition:background-color var(--duration-slow) ease-out,color var(--duration-slow) ease-out}.app-shell.loading{visibility:hidden;pointer-events:none}.toolbar{position:absolute;inset-inline:0;top:0;z-index:20;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;row-gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);background-color:color-mix(in srgb,var(--bg) 50%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-family:var(--font-header);font-weight:300;font-size:.9375rem;transition:background-color var(--duration-slow) ease-out,border-color var(--duration-slow) ease-out,color var(--duration-slow) ease-out}.toolbar.hidden{display:none}.toolbar.slide-in{animation:toolbar-slide-in var(--duration-slow) ease-out}@keyframes toolbar-slide-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.toolbar-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.toolbar-controls{margin-inline-start:auto;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.toggle-desktop{position:absolute;top:12px;right:16px;z-index:30}.toggle-mobile{position:absolute;top:8px;right:12px;z-index:30}.btn{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;padding:0;color:var(--text-muted);text-decoration:none;cursor:pointer;touch-action:manipulation;transition:color var(--duration) ease-out,opacity var(--duration) ease-out}@media(hover:hover){.btn:hover{color:var(--text-primary)}}.btn:focus-visible{color:var(--text-primary);outline:2px solid var(--text-muted);outline-offset:2px;border-radius:2px}.btn:disabled{cursor:default;color:var(--text-placeholder)}.btn-icon{width:32px;height:32px;padding:4px}.btn-float{opacity:.6}@media(hover:hover){.btn-float:hover{opacity:1}}.btn-float:focus-visible{opacity:1;outline:2px solid var(--text-muted);outline-offset:2px;border-radius:2px}.icon{pointer-events:none;width:var(--icon-size);height:var(--icon-size);flex-shrink:0;fill:currentColor}.btn.copy-success{color:var(--text-primary)}.btn.copy-error{color:var(--feedback-error)}main{position:relative;min-height:0;overflow:hidden}.editor{--editor-transition: background-color var(--duration-slow) ease-out, color var(--duration-slow) ease-out, caret-color var(--duration-slow) ease-out;display:block;width:100%;height:100%;min-height:0;resize:none;border:0;background:transparent;padding:12px;line-height:var(--leading);color:var(--text-primary);caret-color:var(--text-primary);outline:none;transition:var(--editor-transition)}.editor.motion{transition:var(--editor-transition),padding-top var(--duration-slow) ease-out,padding-right var(--duration-slow) ease-out}.editor::placeholder{color:var(--text-placeholder)}.editor-copy-feedback{animation:editor-copy-pulse .62s ease-in-out}@keyframes editor-copy-pulse{0%{opacity:1}32%{opacity:.24}to{opacity:1}}main.dragover .editor{background-color:var(--border)}main.dragover:after{content:"drop to insert at cursor";position:absolute;bottom:24px;left:50%;transform:translate(-50%);padding:6px 14px;color:var(--text-muted);font-family:var(--font-dialog);font-size:.8125rem;white-space:nowrap;pointer-events:none;z-index:10}.dialog{margin:auto;width:26rem;max-width:calc(100% - 16px);max-height:calc(100dvh - 16px);overflow-y:auto;border:1px solid var(--panel-border);background-color:var(--panel-bg);padding:0;color:var(--text-primary);outline:none;opacity:0;transition:opacity .1s ease-in,overlay .1s ease-in allow-discrete,display .1s ease-in allow-discrete,background-color var(--duration-slow) ease-out,border-color var(--duration-slow) ease-out,color var(--duration-slow) ease-out}#dialog-info{width:28rem}.dialog[open]{opacity:1;transition:opacity var(--duration) ease-out,overlay var(--duration) ease-out allow-discrete,display var(--duration) ease-out allow-discrete,background-color var(--duration-slow) ease-out,border-color var(--duration-slow) ease-out,color var(--duration-slow) ease-out;@starting-style{opacity:0}}.dialog::backdrop{background-color:var(--overlay);opacity:0;transition:opacity var(--duration-fast) ease-in,overlay var(--duration-fast) ease-in allow-discrete,display var(--duration-fast) ease-in allow-discrete}.dialog[open]::backdrop{opacity:1;@starting-style{opacity:0}}.dialog-inner{display:grid;gap:20px;padding:16px}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.dialog-title{margin:0;font-family:var(--font-main);font-size:1rem;font-weight:700}.dialog-close{appearance:none;background:transparent;border:0;padding:0;color:var(--text-secondary);cursor:pointer;transition:color var(--duration-slow) ease-out}.dialog-close:hover,.dialog-close:focus-visible{color:var(--text-primary)}.dialog-close:focus-visible{outline:2px solid var(--text-muted);outline-offset:2px;border-radius:2px}.dialog-body{display:grid;gap:16px;line-height:var(--leading);color:var(--text-primary);font-family:var(--font-dialog)}.dialog-body p{margin:0}.dialog-body strong{font-family:var(--font-main);font-weight:400}.dialog-body a,.dialog-body a:visited{color:var(--text-muted);transition:color var(--duration-slow) ease-out}.dialog-body a:hover,.dialog-body a:focus-visible{color:var(--text-primary)}.dialog-body a:focus-visible{outline:2px solid var(--text-muted);outline-offset:1px;border-radius:2px}.setting{display:flex;align-items:center;justify-content:space-between;gap:16px}.setting-control{display:flex;align-items:center;gap:8px}.setting-control--group{gap:0}.setting-control--group:only-child{flex:1}.setting-control--group:only-child .setting-toggle{flex:1 1 auto}.setting-control--group .setting-toggle+.setting-toggle{margin-left:-1px}.setting-value{min-width:4ch;text-align:center;font-variant-numeric:tabular-nums}.setting-step{border:1px solid var(--border);padding:4px;transition:color var(--duration) ease-out,border-color var(--duration-slow) ease-out}.setting-step .icon{width:1rem;height:1rem}.setting-toggle{appearance:none;background:transparent;border:1px solid var(--border);padding:4px 10px;color:var(--text-muted);font-family:var(--font-dialog);font-size:.8125rem;cursor:pointer;min-width:3rem;text-align:center;white-space:nowrap;transition:color var(--duration) ease-out,background-color var(--duration) ease-out,border-color var(--duration-slow) ease-out}.setting-toggle:hover,.setting-toggle:focus-visible{color:var(--text-primary)}.setting-toggle:focus-visible{outline:2px solid var(--text-muted);outline-offset:-1px}.setting-toggle[aria-checked=true]{background-color:var(--border);color:var(--text-primary)}.setting-toggle:disabled{opacity:.3;cursor:not-allowed}.setting-reset{justify-content:flex-end;margin-top:4px}#dialog-documents{width:28rem}.documents-create{display:flex;gap:0}.documents-create-input{flex:1;appearance:none;background:transparent;border:1px solid var(--border);padding:4px 10px;color:var(--text-primary);font-family:var(--font-dialog);font-size:.8125rem;outline:none;min-width:0;transition:border-color var(--duration-slow) ease-out,color var(--duration-slow) ease-out}.documents-create-input::placeholder{color:var(--text-placeholder)}.documents-create-input:focus{border-color:var(--text-muted);outline:2px solid var(--text-muted);outline-offset:-1px}.documents-create-input:focus+.documents-create-btn{border-color:var(--text-muted)}.documents-create-btn{margin-left:-1px}.documents-sort{display:flex;gap:0}.documents-sort .setting-toggle{flex:1}.documents-list{list-style:none;margin:0;padding:0;max-height:60vh;overflow-y:auto}.documents-list a{display:block;padding:8px 4px;color:var(--text-muted);font-family:var(--font-dialog);font-size:.875rem;text-decoration:none;transition:color var(--duration) ease-out,border-color var(--duration-slow) ease-out}.documents-list li+li a{border-top:1px solid var(--border)}.documents-list a:hover,.documents-list a:focus-visible{color:var(--text-primary)}.documents-list a:focus-visible{outline:2px solid var(--text-muted);outline-offset:1px;border-radius:2px}.documents-list a.active{color:var(--text-primary)}.documents-empty{margin:0;color:var(--text-muted);font-family:var(--font-dialog);font-size:.875rem}@media(max-width:639px){.toolbar{justify-content:start;padding:12px;font-size:1rem;gap:2px}.toolbar-nav,.toolbar-controls{display:contents}.btn-icon{min-height:44px;min-width:2.5rem;padding:8px}.toggle-desktop{display:none}.editor{padding:12px}}@media(min-width:640px){.toolbar{padding-right:56px}.toolbar-controls{padding-inline-start:12px}.mobile-hide-btn,.toggle-mobile{display:none}.editor{padding:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
