:root{--background:#f9f9f7;--foreground:#111;--muted:#e5e5e0;--accent:#c00;--border:#111;--neutral-100:#f5f5f5;--neutral-200:#e5e5e5;--neutral-500:#737373;--neutral-600:#525252;--neutral-700:#404040;--surface:#f5f5f5;--text-primary:#111;--text-secondary:#525252;--radius:0px;--font-serif:"Playfair Display", "Times New Roman", serif;--font-body:"Lora", Georgia, serif;--font-sans:"Inter", "Helvetica Neue", sans-serif;--font-mono:"JetBrains Mono", "Courier New", monospace;--page-max:1100px;--reader-max:720px}*,:before,:after{box-sizing:border-box;border-radius:0!important}html,body,#root{min-height:100%}body{font-family:var(--font-sans);color:var(--foreground);background-color:var(--background);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%23111111' fill-opacity='0.04' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'%3E%3C/path%3E%3C/svg%3E");margin:0}button,input,textarea{font:inherit;color:inherit;border-radius:0}button{cursor:pointer}code{font-family:var(--font-mono);background:var(--muted);border:1px solid var(--border);padding:.1em .35em;font-size:.92em}.page{width:min(var(--page-max), calc(100% - 48px));margin:0 auto;padding:28px 0 72px}.page-header{border-bottom:4px solid var(--border);justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:0;padding-bottom:16px;display:flex}.header-actions{flex-wrap:wrap;gap:8px;display:flex}.eyebrow,.masthead-meta,.field>span,.template-prompt-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--neutral-500);margin:0;font-size:11px;font-weight:500}h1,.brand-title,.reader-title,.modal-header h2{font-family:var(--font-serif)}h1{letter-spacing:-.03em;margin:0;font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:.95}.lede{color:var(--neutral-600);font-family:var(--font-body);max-width:40rem;margin:16px 0 24px;font-size:16px;line-height:1.625}.btn{border:1px solid var(--border);color:var(--foreground);min-height:44px;font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;background:0 0;padding:10px 16px;font-size:12px;font-weight:600;transition:all .2s ease-out}.btn:hover{background:var(--foreground);color:var(--background)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--foreground);color:var(--background);border-color:var(--foreground)}.btn-primary:hover:not(:disabled){background:var(--background);color:var(--foreground)}.btn-ghost{background:0 0}.btn-ghost:hover{background:var(--muted);color:var(--foreground)}.btn-sm{min-height:40px;padding:8px 12px;font-size:11px}.btn-danger{color:var(--accent);border-color:var(--accent)}.btn-danger:hover:not(:disabled){background:var(--accent);color:#fff;border-color:var(--accent)}.btn:focus-visible,.expand-phrase:focus-visible,.field input:focus-visible,.field textarea:focus-visible,.json-editor:focus-visible,.template-prompt-box:focus-visible,.story-row-main:focus-visible{outline:2px solid var(--foreground);outline-offset:2px}.linkish{text-align:left;font:inherit;color:inherit;background:0 0;border:0;padding:0}.linkish:hover{color:var(--accent);text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:2px}.brand-header{align-items:flex-end}.brand-lockup{align-items:center;gap:16px;display:flex}.vinci-mark,.vinci-wordmark{object-fit:contain;flex-shrink:0;display:block}.brand-title{letter-spacing:-.03em;margin:0;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700;line-height:.95}.masthead{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;margin:12px 0 24px;padding-bottom:10px;display:flex}.masthead-ornament{color:var(--neutral-500);letter-spacing:.4em;font-family:var(--font-serif);font-size:14px}.story-list{border:1px solid var(--border);background:var(--background);flex-direction:column;display:flex}.story-row{border:0;border-bottom:1px solid var(--border);background:0 0;align-items:stretch;gap:0;padding:0;transition:background .2s ease-out,box-shadow .2s ease-out,transform .2s ease-out;display:flex}.story-row:last-child{border-bottom:0}.story-row:hover{background:var(--neutral-100);box-shadow:4px 4px 0 0 var(--foreground);z-index:1;position:relative;transform:translate(-2px,-2px)}.story-row-main{text-align:left;background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;gap:8px;min-width:0;padding:20px 20px 20px 22px;display:flex}.story-row-kicker{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-size:10px}.story-row-title{font-family:var(--font-serif);letter-spacing:-.02em;font-size:clamp(1.35rem,2.4vw,1.85rem);font-weight:700;line-height:1.15}.story-row-desc{color:var(--neutral-600);font-family:var(--font-body);max-width:46rem;font-size:15px;line-height:1.55}.story-row-actions{border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;justify-content:stretch;gap:0;display:flex}.story-row-actions .btn{border:0;border-bottom:1px solid var(--border);width:108px;min-height:44px}.story-row-actions .btn:last-child{border-bottom:0}.template-prompt{flex-direction:column;gap:10px;margin-top:8px;display:flex}.template-prompt-label{flex-wrap:wrap;align-items:baseline;gap:8px 12px;display:flex}.template-prompt-hint{letter-spacing:.08em;text-transform:none;font-weight:400;font-family:var(--font-sans);color:var(--neutral-500);font-size:12px}.template-prompt-box{border:1px solid var(--border);background:var(--background);width:100%;font-family:var(--font-mono);color:var(--foreground);resize:vertical;min-height:120px;padding:14px;font-size:12px;line-height:1.5}.copy-prompt-btn{align-self:flex-start;min-width:220px}.generate-progress{border:1px solid var(--border);background:var(--background);margin-top:16px;padding:14px 16px}.generate-progress-bar{background:var(--muted);height:3px;margin-bottom:12px;overflow:hidden}.generate-progress-pulse{background:var(--foreground);width:40%;height:100%;animation:1.1s ease-in-out infinite progress-slide;display:block}@keyframes progress-slide{0%{transform:translate(-120%)}to{transform:translate(320%)}}.generate-progress-status{font-family:var(--font-body);color:var(--foreground);margin:0 0 6px;font-size:15px;line-height:1.45}.generate-progress-meta{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--neutral-500);margin:0;font-size:11px}.generate-progress-hint{text-transform:none;letter-spacing:.02em;font-family:var(--font-sans);font-size:12px}.mode-tabs{border:1px solid var(--border);grid-template-columns:1fr 1fr;margin:0 0 24px;display:grid}.mode-tabs button{border:0;border-right:1px solid var(--border);min-height:44px;font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--neutral-600);background:0 0;padding:10px 12px;font-size:11px;font-weight:600;transition:all .2s ease-out}.mode-tabs button:last-child{border-right:0}.mode-tabs button.is-active,.mode-tabs button:hover{background:var(--foreground);color:var(--background)}.manual-builder{flex-direction:column;gap:18px;display:flex}.builder-level{border:1px solid var(--border);background:var(--background);padding:16px}.builder-crumbs{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:14px;padding-bottom:10px;display:flex}.builder-crumbs button{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--neutral-500);background:0 0;border:0;padding:4px 6px;font-size:11px}.builder-crumbs button.is-active,.builder-crumbs button:hover{color:var(--foreground);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px}.builder-crumb-sep{color:var(--neutral-500);font-family:var(--font-mono);font-size:11px}.builder-help{font-family:var(--font-body);color:var(--neutral-600);margin:0 0 14px;font-size:14px;line-height:1.5}.builder-items{border:1px solid var(--border);margin:0 0 16px;padding:0;list-style:none}.builder-empty{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--neutral-500);padding:14px;font-size:11px}.builder-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.builder-item:last-child{border-bottom:0}.builder-item-main{flex-wrap:wrap;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.builder-reorder{flex-direction:column;flex-shrink:0;gap:2px;display:flex}.builder-reorder .btn{min-height:28px;padding:2px 8px;line-height:1}.builder-edit-input{border:0;border-bottom:2px solid var(--border);min-width:0;font-family:var(--font-body);background:0 0;flex:1;padding:6px 4px;font-size:16px;line-height:1.4}.builder-edit-input.is-expandable{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:.18em;font-weight:600;text-decoration-thickness:2px}.builder-edit-input:focus{background:#f0f0f0;outline:none}.builder-expand-controls{flex-shrink:0;align-items:center;gap:8px;display:flex}.builder-inline-toggle{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--neutral-600);cursor:pointer;flex-shrink:0;align-items:center;gap:6px;font-size:10px;display:flex}.builder-inline-toggle input{width:14px;height:14px;accent-color:var(--foreground)}.builder-mode{flex-shrink:0;align-items:center;display:flex}.builder-mode select{border:1px solid var(--border);background:var(--background);min-height:36px;font-family:var(--font-sans);color:var(--foreground);padding:6px 10px;font-size:13px}.builder-chip{font-family:var(--font-body);color:var(--foreground);font-size:16px;line-height:1.4}.builder-chip.is-expandable{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:.18em;font-weight:600;text-decoration-thickness:2px}.builder-tag{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);flex-shrink:0;font-size:10px}.builder-item-actions{flex-shrink:0;gap:4px;display:flex}.builder-add{flex-direction:column;gap:12px;display:flex}.builder-toggle{font-family:var(--font-sans);color:var(--foreground);cursor:pointer;align-items:center;gap:10px;font-size:14px;display:flex}.builder-toggle input{width:16px;height:16px;accent-color:var(--foreground)}.builder-preview{border:1px solid var(--border);background:var(--background);padding:16px}.builder-actions{flex-wrap:wrap;gap:8px;display:flex}.ai-generate-panel{flex-direction:column;gap:16px;display:flex}.form-divider{border:0;border-top:1px solid var(--border);height:0;margin:32px 0}.form-panel.wide{max-width:760px}.form-panel{max-width:640px;margin-top:28px}.form-page .page-header{margin-bottom:0}.reader-page{width:min(var(--reader-max), calc(100% - 48px))}.reader-chrome{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-bottom:28px;padding-bottom:14px;display:flex}.reader-chrome-actions{gap:8px;display:flex}.reader-article{position:relative}.reader-kicker{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 12px;font-size:11px}.reader-title{letter-spacing:-.035em;margin:0 0 18px;font-size:clamp(2.4rem,7vw,4.5rem);font-weight:700;line-height:.92}.reader-rule{border:0;border-top:4px solid var(--border);margin:0 0 28px}.reader-body{font-family:var(--font-body);color:var(--foreground);font-size:clamp(1.15rem,2.2vw,1.4rem);font-weight:400;line-height:1.65}.reader-body.compact{font-size:1.05rem;line-height:1.6}.seg-text.is-space{white-space:pre-wrap}.seg-image{margin:24px 0;display:block}.seg-image img{border:1px solid var(--border);filter:grayscale();max-width:100%;transition:filter .2s ease-out}.seg-image:hover img{filter:grayscale(.2)sepia(.35)}.seg-image figcaption{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--neutral-500);margin-top:8px;font-size:11px}.seg-expandable{display:inline}.expand-phrase{font:inherit;color:var(--foreground);white-space:pre-wrap;text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:.2em;background:0 0;border:0;margin:0;padding:0 .04em;font-weight:600;text-decoration-thickness:2px;transition:background .2s ease-out,color .2s ease-out;display:inline}.expand-phrase:hover{color:#f9f9f7;background:#111;text-decoration-color:#f9f9f7}.seg-expandable.is-open>.expand-phrase{font-weight:inherit;color:inherit;background:0 0;text-decoration:none}.seg-expandable.is-open>.expand-phrase:hover{color:#f9f9f7;background:#111}.expand-continuation,.expand-replacement{animation:.18s ease-out expand-in;display:inline}.expand-replacement{cursor:pointer}.expand-replacement:hover{background:var(--neutral-100)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes expand-in{0%{opacity:0}to{opacity:1}}.editor-layout{border:1px solid var(--border);grid-template-columns:220px 1fr;gap:0;margin-top:24px;display:grid}.editor-tree{border-right:1px solid var(--border);background:var(--background);padding:16px}.editor-tree ul{margin:12px 0 0;padding:0;list-style:none}.editor-tree li+li{margin-top:2px}.editor-tree button{text-align:left;width:100%;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--neutral-600);background:0 0;border:0;padding:8px 10px;font-size:11px;font-weight:500;transition:all .2s ease-out}.editor-tree button.is-active,.editor-tree button:hover{background:var(--foreground);color:var(--background)}.editor-main{flex-direction:column;gap:18px;padding:20px;display:flex}.field{flex-direction:column;gap:8px;display:flex}.field input,.field textarea{border:0;border-bottom:2px solid var(--border);resize:vertical;width:100%;font-family:var(--font-body);background:0 0;padding:10px 4px;font-size:16px;line-height:1.5}.field input:focus,.field textarea:focus{background:#f0f0f0;outline:none}.json-editor,.template-prompt-box{font-family:var(--font-mono)}.json-editor{border:1px solid var(--border);background:var(--background);resize:vertical;width:100%;min-height:140px;padding:12px;font-size:12.5px;line-height:1.45}.editor-expandables ul{color:var(--neutral-600);font-family:var(--font-body);margin:8px 0 12px;padding-left:18px;font-size:14px}.editor-preview-inline{border-top:1px solid var(--border);margin-top:8px;padding-top:18px}.error-banner{border:1px solid var(--accent);color:var(--accent);font-family:var(--font-mono);letter-spacing:.04em;background:#fff5f5;margin:0 0 16px;padding:12px 14px;font-size:12px}.page-error{width:min(var(--page-max), calc(100% - 48px));margin:24px auto 0}.loading-screen{min-height:40vh;color:var(--neutral-500);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;place-items:center;font-size:12px;display:grid}.modal-backdrop{z-index:50;background:#11111173;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:var(--background);border:2px solid var(--border);width:min(720px,100%);max-height:calc(100vh - 48px);box-shadow:8px 8px 0 0 var(--foreground);padding:16px;overflow:auto}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;display:flex}.modal-header h2{margin:0;font-size:1.5rem;font-weight:700}.modal-actions{justify-content:flex-end;margin-top:12px;display:flex}@media (width<=800px){.page,.reader-page{width:calc(100% - 28px);padding-top:20px}.page-header,.reader-chrome,.masthead{flex-direction:column;align-items:stretch}.story-row{flex-direction:column}.story-row:hover{box-shadow:none;transform:none}.story-row-actions{border-left:0;border-top:1px solid var(--border);flex-direction:row}.story-row-actions .btn{border-bottom:0;border-right:1px solid var(--border);flex:1;width:auto}.story-row-actions .btn:last-child{border-right:0}.editor-layout{grid-template-columns:1fr}.editor-tree{border-right:0;border-bottom:1px solid var(--border)}.header-actions .btn,.reader-chrome-actions .btn{width:100%}}
