:root{--ink:#1f2328;--ink-soft:#57606a;--paper:#fff;--paper-warm:#faf8f4;--paper-dim:#f6f4ef;--accent:#8b5a2b;--line:#d8d4cc;--space-1:.25rem;--space-2:.5rem;--space-3:1rem;--space-4:1.5rem;--space-6:3rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:ui-sans-serif,system-ui,sans-serif}@font-face{font-family:EB Garamond;src:url(/fonts/EBGaramond-Regular.ttf);font-weight:400}@font-face{font-family:EB Garamond;src:url(/fonts/EBGaramond-Italic.ttf);font-style:italic;font-weight:400}@font-face{font-family:EB Garamond;src:url(/fonts/EBGaramond-Bold.ttf);font-weight:700}@font-face{font-family:"Source Serif 4";src:url(/fonts/SourceSerif4-Regular.ttf);font-weight:400}@font-face{font-family:"Source Serif 4";src:url(/fonts/SourceSerif4-Italic.ttf);font-style:italic;font-weight:400}@font-face{font-family:"Source Serif 4";src:url(/fonts/SourceSerif4-Bold.ttf);font-weight:700}@font-face{font-family:"Source Sans 3";src:url(/fonts/SourceSans3-Regular.ttf);font-weight:400}@font-face{font-family:"Source Sans 3";src:url(/fonts/SourceSans3-Bold.ttf);font-weight:700}@font-face{font-family:Literata;src:url(/fonts/Literata-Regular.ttf);font-weight:400}@font-face{font-family:Literata;src:url(/fonts/Literata-Italic.ttf);font-style:italic;font-weight:400}@font-face{font-family:Literata;src:url(/fonts/Literata-Bold.ttf);font-weight:700}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Regular.ttf);font-weight:400}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Bold.ttf);font-weight:700}body{min-height:100vh;color:var(--ink);background:var(--paper);margin:0}button{font:inherit;padding:var(--space-1) var(--space-3);border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:6px}button:disabled{opacity:.45;cursor:default}button:not(:disabled):hover{border-color:var(--accent)}.landing{max-width:980px;padding:0 var(--space-4);margin:0 auto}.landing-nav{padding:var(--space-4) 0;justify-content:space-between;align-items:center;display:flex}.landing-nav .wordmark{letter-spacing:.02em;font-size:1.1rem;font-weight:700}.landing-nav nav{gap:var(--space-4);align-items:center;display:flex}.landing-nav nav a{color:var(--ink-soft);font-size:.95rem;text-decoration:none}.landing-nav nav a:hover{color:var(--ink)}.cta{background:var(--accent);border-radius:6px;padding:.5rem 1.1rem;font-weight:600;text-decoration:none;display:inline-block;color:#fff!important}.cta.big{padding:.75rem 1.6rem;font-size:1.05rem}.ghost{border:1px solid var(--line);color:var(--ink);margin-left:var(--space-3);border-radius:6px;padding:.75rem 1.4rem;text-decoration:none;display:inline-block}.hero{padding:var(--space-6) 0}.hero h1{margin:0 0 var(--space-3);font-size:2.6rem;line-height:1.15}.hero p{color:var(--ink-soft);max-width:44rem;font-size:1.15rem;line-height:1.6}.hero-ctas{margin-top:var(--space-4)}.landing section{padding:var(--space-6) 0;border-top:1px solid var(--line)}.landing h2{margin:0 0 var(--space-3);font-size:1.7rem}.steps ol{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));padding:0;list-style:none;display:grid}.steps h3{margin:0 0 var(--space-2);font-size:1.05rem}.steps p{color:var(--ink-soft);font-size:.95rem;line-height:1.55}.styles-note{color:var(--ink-soft);max-width:40rem}.style-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.style-card{border:1px solid var(--line);padding:var(--space-4);background:var(--paper-warm);gap:var(--space-2);border-radius:10px;flex-direction:column;display:flex}.style-card h3{margin:0;font-size:1.1rem}.style-card .tagline{color:var(--ink-soft);margin:0;font-family:JetBrains Mono,monospace;font-size:.85rem}.style-card .sample{margin:var(--space-2) 0;min-height:3.6em;font-size:1.25rem;line-height:1.45}.style-card.classic-novel .sample{font-family:EB Garamond,serif}.style-card.modern-nonfiction .sample{font-family:"Source Serif 4",serif}.style-card.comfort-reader .sample{font-family:Literata,serif}.style-card.technical .sample{font-family:"Source Serif 4",serif}.style-card.technical h3{font-family:"Source Sans 3",sans-serif}.style-card .lineage{color:var(--ink-soft);font-size:.9rem;line-height:1.5}.style-card .best-for{margin:0;font-size:.9rem}.prompts p{color:var(--ink-soft);max-width:44rem}.plugin-feature{border:1px solid var(--accent);padding:var(--space-4);background:var(--paper-warm);margin-bottom:var(--space-4);border-radius:10px}.plugin-feature h3{margin:0 0 var(--space-2)}.plugin-feature p{color:var(--ink);font-size:.95rem}.plugin-meta{color:var(--ink-soft);margin-bottom:0;font-size:.85rem}.plugin-meta a{color:var(--accent)}.prompt-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.prompt-card{border:1px solid var(--line);padding:var(--space-3);background:var(--paper-warm);border-radius:10px}.prompt-card h4{margin:0 0 var(--space-2)}.prompt-card p{color:var(--ink-soft);white-space:pre-wrap;font-size:.88rem;line-height:1.5}.prompt-card button{font-size:.85rem}.access{text-align:center}.access p{color:var(--ink-soft);max-width:36rem;margin:0 auto var(--space-4)}.landing-footer{border-top:1px solid var(--line);padding:var(--space-4) 0;justify-content:space-between;align-items:center;gap:var(--space-3);color:var(--ink-soft);flex-wrap:wrap;font-size:.9rem;display:flex}.landing-footer nav{gap:var(--space-3);display:flex}.landing-footer a{color:var(--ink-soft)}.legal{max-width:720px;padding:var(--space-6) var(--space-4);margin:0 auto;line-height:1.65}.legal h1{font-size:2rem}.legal h2{margin-top:var(--space-6);font-size:1.2rem}.legal .updated{color:var(--ink-soft);font-size:.9rem}.legal ul{padding-left:1.2rem}.legal a{color:var(--accent)}.legal .back{margin-top:var(--space-6)}.legal .contact-mail{font-size:1.2rem}.app-notice{max-width:640px;padding:var(--space-6) var(--space-4);text-align:center;margin:0 auto;line-height:1.6}.app-notice a{color:var(--accent)}.app-shell{flex-direction:column;height:100vh;display:flex}.topbar{padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.wordmark{letter-spacing:.02em;font-weight:700}.topbar-actions{gap:var(--space-2);align-items:center;display:flex}.app-body{flex:1;grid-template-columns:240px 1fr 1fr;min-height:0;display:grid}.sidebar{border-right:1px solid var(--line);padding:var(--space-3);overflow-y:auto}.sidebar h2{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin:var(--space-1) 0 var(--space-3);font-size:.8rem}.sidebar .placeholder{color:var(--ink-soft);font-size:.9rem;line-height:1.5}.meta-field{color:var(--ink-soft);margin-bottom:var(--space-2);flex-direction:column;gap:2px;font-size:.8rem;display:flex}.meta-field input{font:inherit;padding:var(--space-1) var(--space-2);border:1px solid var(--line);color:var(--ink);border-radius:6px}select{font:inherit;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:6px;padding:.25rem .5rem}.chapter-item{justify-content:space-between;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);cursor:pointer;border-radius:6px;font-size:.9rem;display:flex}.chapter-item:hover{background:var(--paper-dim)}.chapter-item.selected{background:var(--paper-dim);font-weight:600}.chapter-item .reorder{gap:2px;display:flex}.chapter-item .reorder button{color:var(--ink-soft);background:0 0;border:none;padding:0 .4rem;font-size:.8rem}.editor{border-right:1px solid var(--line);flex-direction:column;min-width:0;display:flex}.editor-toolbar{padding:var(--space-1) var(--space-3);border-bottom:1px solid var(--line);color:var(--ink-soft);justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.editor textarea{resize:none;padding:var(--space-4);color:var(--ink);background:var(--paper);border:none;outline:none;flex:1;font:.95rem/1.7 ui-monospace,SF Mono,Menlo,monospace}.preview-pane{background:var(--paper-dim);flex-direction:column;min-width:0;display:flex}.preview-toolbar{gap:var(--space-2);padding:var(--space-1) var(--space-3);border-bottom:1px solid var(--line);align-items:center;display:flex}.preview-toolbar .status{color:var(--ink-soft);margin-left:auto;font-size:.85rem}.preview-pane iframe{background:gray;border:none;flex:1;width:100%}.empty-state{text-align:center;color:var(--ink-soft);padding:var(--space-4);margin:auto}main.spike{max-width:880px;padding:var(--space-3) var(--space-4);text-align:left;margin:0 auto;display:block}.spike iframe{border:1px solid #ccc;width:100%;height:70vh}.spike-error{color:#dc143c}
