:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#211d1a;--muted:#716963;--paper:#f3efe8;--sheet:#fffdf9;--line:#d9d0c5;--violet:#5a23d6;--violet-dark:#3f159f;--success:#246c4a;--danger:#a53c35;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--serif:"Iowan Old Style",Baskerville,"Times New Roman",serif}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0}::selection{color:#27105f;background:#d9cdf8}a{color:inherit;text-decoration:none}button,input{font:inherit}:focus-visible{outline-offset:3px;outline:3px solid #a585f0}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.lab-shell{min-height:100vh}.lab-header{border-bottom:1px solid #50403326;justify-content:space-between;align-items:center;max-width:1440px;margin:auto;padding:24px 42px;display:flex}.wordmark{font:21px var(--serif);align-items:center;gap:12px;display:flex}.wordmark strong{color:var(--violet);font:700 11px var(--sans);letter-spacing:.12em;text-transform:uppercase}.wordmark-mark{background:var(--violet);color:#fff;justify-content:center;align-items:center;width:38px;height:38px;font-size:22px;display:flex}.lab-header nav{align-items:center;gap:28px;font-size:14px;display:flex}.lab-header nav form{margin:0}.header-logout{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:9px 0;font-size:13px}.header-logout:hover{color:var(--violet)}.button{appearance:none;background:var(--violet);border:1px solid var(--violet);color:#fff;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;min-height:48px;padding:0 22px;font-weight:700;transition:all .18s;display:inline-flex}.button:hover{background:var(--violet-dark);transform:translateY(-1px);box-shadow:0 9px 24px #421e952e}.button:disabled{cursor:not-allowed;box-shadow:none;background:#c8c0b7;border-color:#c8c0b7;transform:none}.button-small{min-height:40px;padding:0 16px}.text-button,.remove-button{color:var(--violet);cursor:pointer;background:0 0;border:0;padding:8px 0;font-weight:700}.login-page{justify-content:center;align-items:center;min-height:calc(100vh - 87px);padding:48px 22px;display:flex}.login-panel{background:var(--sheet);width:100%;max-width:540px;padding:54px}.login-mark{background:var(--violet);color:#fff;font:28px var(--serif);justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:40px;display:flex}.login-panel h1{font:400 clamp(44px,7vw,66px)/1 var(--serif);letter-spacing:-.035em;margin:0}.login-panel>p{color:var(--muted);max-width:440px;margin:18px 0 34px;line-height:1.6}.login-form{gap:24px;display:grid}.login-form .button{justify-self:start;min-width:160px}.lab-home,.form-page,.persona-page,.run-page{max-width:1320px;margin:auto;padding:72px 42px 110px}.page-intro{justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:64px;display:flex}.page-intro h1,.form-intro h1,.persona-hero h1,.run-hero h1{font:400 clamp(48px,7vw,86px)/.98 var(--serif);letter-spacing:-.035em;max-width:780px;margin:0}.page-intro p,.form-intro p{color:var(--muted);max-width:640px;margin:22px 0 0;font-size:18px;line-height:1.6}.persona-index{border-top:1px solid var(--ink)}.persona-row{border-bottom:1px solid var(--line);grid-template-columns:60px minmax(200px,1.5fr) minmax(180px,1fr) 90px 130px 70px;align-items:center;gap:22px;min-height:104px;padding:16px 4px;transition:all .18s;display:grid}.persona-row:hover{background:#fffdf9ad;padding-inline:14px}.persona-monogram,.persona-portrait-placeholder{color:var(--violet-dark);font:26px var(--serif);background:#e5dcf7;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.persona-name,.persona-client,.persona-runs,.persona-last{flex-direction:column;gap:5px;display:flex}.persona-name strong{font:400 23px var(--serif)}.persona-name span,.persona-client span,.persona-last span,.persona-runs span{color:var(--muted);font-size:12px}.persona-client strong{text-overflow:ellipsis;font-size:13px;overflow:hidden}.persona-last strong{text-transform:capitalize;font-size:13px}.persona-runs strong{font:400 28px var(--serif)}.row-action{color:var(--violet);justify-self:end;font-size:13px;font-weight:800}.empty-state{background:var(--sheet);text-align:center;flex-direction:column;align-items:center;padding:90px 30px;display:flex}.empty-mark{border-bottom:1px solid var(--violet);color:var(--violet);font:60px var(--serif);margin-bottom:34px}.empty-state h2{font:400 36px var(--serif);margin:0}.empty-state p{color:var(--muted);max-width:500px;margin:16px 0 30px;line-height:1.6}.back-link{color:var(--muted);text-underline-offset:5px;margin-bottom:48px;font-size:13px;text-decoration:underline;display:inline-block}.form-intro{margin-bottom:52px}.editorial-form{background:var(--sheet);padding:46px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;display:grid}.field{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;flex-direction:column;gap:9px;font-size:12px;font-weight:700;display:flex}.field-wide{grid-column:1/-1}.field input{color:var(--ink);text-transform:none;background:0 0;border:0;border-bottom:1px solid #a79b90;border-radius:0;outline:none;min-height:46px;padding:8px 0;font-size:17px}.field input:focus{border-color:var(--violet);box-shadow:0 1px var(--violet)}.form-section{border-top:1px solid var(--line);margin-top:48px;padding-top:38px}.section-heading-row{justify-content:space-between;align-items:flex-start;gap:30px;display:flex}.section-heading-row h2,.book-launcher h2,.traits h2,.run-history h2,.finance-panel h2,.pdf-panel h2{font:400 30px var(--serif);margin:0}.section-heading-row p,.book-launcher p,.finance-panel p,.pdf-panel p{color:var(--muted);margin:8px 0 0;line-height:1.55}.characteristics-list{gap:20px;margin-top:30px;display:grid}.characteristic-row{grid-template-columns:1fr 2fr auto;align-items:end;gap:24px;display:grid}.remove-button{color:var(--danger);margin-bottom:6px}.form-actions{border-top:1px solid var(--line);justify-content:flex-end;margin-top:40px;padding-top:30px;display:flex}.form-error,.poll-warning,.page-error{color:var(--danger);font-size:14px}.persona-hero{align-items:center;gap:32px;margin-bottom:52px;display:flex}.persona-portrait-placeholder{width:108px;height:108px;font-size:46px}.persona-hero h1{font-size:clamp(52px,7vw,82px)}.persona-hero p{color:var(--muted);margin:12px 0 0}.persona-hero .client-id{color:var(--violet);letter-spacing:.1em;text-transform:uppercase;margin-bottom:9px;font-size:12px;font-weight:800}.traits{border-top:1px solid var(--line);padding:30px 0 42px}.traits>div{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.traits span{background:var(--sheet);border-radius:12px;gap:10px;padding:13px 15px;display:flex}.traits small{color:var(--muted);text-transform:uppercase}.book-launcher{color:#fff;background:#29231f;justify-content:space-between;align-items:center;gap:34px;padding:38px 42px;display:flex}.book-launcher p{color:#d5cbc2;max-width:620px}.launch-actions{flex-direction:column;align-items:center;gap:10px;display:flex}.locked-mode{color:#bdb1a7;font-size:11px}.run-history{margin-top:64px}.run-row{border-bottom:1px solid var(--line);grid-template-columns:130px 80px 1fr 130px 150px 50px;align-items:center;gap:22px;min-height:76px;display:grid}.run-row:first-of-type{border-top:1px solid var(--ink);margin-top:28px}.run-row time,.run-row span{color:var(--muted);font-size:13px}.mode-label{text-transform:uppercase;background:#e7def7;justify-self:start;padding:6px 9px;color:var(--violet-dark)!important}.inline-empty{border-top:1px solid var(--line);color:var(--muted);margin-top:28px;padding:28px 0}.persona-photos{border-top:1px solid var(--ink);margin-bottom:52px;padding-top:30px}.photo-heading{justify-content:space-between;align-items:flex-start;margin-bottom:26px;display:flex}.photo-heading h2{font:400 36px var(--serif);margin:0}.photo-heading p{color:var(--muted);max-width:620px;margin:9px 0 0;line-height:1.55}.photo-heading>span{color:var(--muted);text-transform:uppercase;padding-top:11px;font-size:12px}.photo-dropzone{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:1px dashed #a79b90;align-items:center;gap:15px;width:100%;min-height:82px;padding:18px 22px;transition:all .18s;display:flex}.photo-dropzone:hover,.photo-dropzone-active{border-color:var(--violet);color:var(--violet-dark);background:#e9e1f6}.photo-dropzone:disabled{color:var(--muted);cursor:not-allowed;background:#e5ded5;border-color:#c7bdb2}.dropzone-mark{font:28px/1 var(--serif);border:1px solid;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.photo-dropzone strong{font:400 20px var(--serif)}.photo-dropzone small{color:var(--muted);margin-left:auto}.upload-list{border-bottom:1px solid var(--line)}.upload-item{border-top:1px solid var(--line);grid-template-columns:1fr minmax(120px,auto) auto;align-items:center;gap:20px;padding:11px 2px;font-size:12px;display:grid}.upload-item strong{color:var(--violet)}.upload-item button{color:var(--muted);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;font-size:11px;text-decoration:underline}.upload-error strong,.photo-error,.tile-error{color:var(--danger)}.upload-done strong{color:var(--success)}.photo-lock-note{color:var(--violet-dark);margin:18px 0 -8px;font-size:12px}.photo-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:26px;display:grid}.photo-tile{aspect-ratio:4/5;background:#ded6cc;position:relative;overflow:hidden}.photo-tile>button:first-child{cursor:zoom-in;border:0;width:100%;height:100%;padding:0}.photo-tile>button:first-child:disabled{cursor:not-allowed}.preview-unavailable{color:var(--muted);justify-content:center;align-items:center;height:100%;font-size:12px;display:flex}.photo-tile img{object-fit:cover;width:100%;height:100%;transition:transform .35s cubic-bezier(.2,.8,.2,1);display:block}.photo-tile:hover img{transform:scale(1.025)}.photo-remove{color:#fff;cursor:pointer;opacity:0;background:#211d1ae8;border:0;padding:8px 10px;font-size:11px;transition:all .18s;position:absolute;bottom:8px;right:8px}.photo-remove:disabled{cursor:not-allowed}.photo-tile:hover .photo-remove,.photo-remove:focus-visible{opacity:1}.tile-error{background:var(--sheet);padding:5px;font-size:10px;position:absolute;bottom:44px;right:8px}.photo-empty{background:var(--sheet);color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:8px;margin-top:26px;padding:44px 24px;display:flex}.photo-empty strong{color:var(--ink);font:400 22px var(--serif)}.photo-error{margin:16px 0 0}.photo-lightbox{z-index:20;justify-content:center;align-items:center;padding:30px;display:flex;position:fixed;inset:0}.lightbox-backdrop{background:#171310e8;border:0;position:absolute;inset:0}.lightbox-content{max-width:min(760px,90vw);max-height:90vh;position:relative}.lightbox-content img{object-fit:contain;max-width:100%;max-height:82vh;display:block}.lightbox-content>div{background:var(--sheet);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.book-launcher{align-items:flex-end;position:relative}.book-launcher-copy{min-width:0}.mode-selector{gap:1px;margin-top:24px;display:flex}.mode-selector button{color:#d5cbc2;cursor:pointer;text-align:left;background:#413a35;border:0;min-width:132px;padding:13px 16px}.mode-selector button span{opacity:.72;margin-top:4px;font-size:10px;display:block}.mode-selector button.selected{background:var(--sheet);color:var(--violet-dark)}.mode-selector button:disabled{color:#8e837a;cursor:not-allowed}.real-readiness{font-size:12px;color:#d7c9f1!important;margin:16px 0 0!important}.real-readiness-blocked{color:#f0b9b5!important}.book-launcher-real{background:#211a2e}.cost-confirmation{z-index:30;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.confirmation-backdrop{background:#171310e8;border:0;position:absolute;inset:0}.confirmation-sheet{background:var(--sheet);color:var(--ink);width:100%;max-width:620px;padding:42px;position:relative}.confirmation-sheet h3{font:400 42px/1.05 var(--serif);margin:0}.confirmation-sheet>p{color:var(--muted);margin:18px 0 28px;line-height:1.6}.confirmation-sheet dl{border-bottom:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:0;padding:20px 0;display:grid}.confirmation-sheet dt{color:var(--muted);text-transform:uppercase;font-size:10px}.confirmation-sheet dd{margin:7px 0 0;font-size:13px}.confirmation-actions{justify-content:flex-end;align-items:center;gap:24px;margin-top:28px;display:flex}.run-breadcrumb{color:var(--muted);gap:20px;margin-bottom:48px;font-size:13px;display:flex}.run-breadcrumb a{color:var(--violet);text-underline-offset:4px;text-decoration:underline}.run-hero{justify-content:space-between;align-items:flex-end;gap:30px;display:flex}.run-state{color:var(--violet);letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px;font-size:13px;font-weight:800}.run-meta{color:var(--muted);text-transform:uppercase;flex-wrap:wrap;gap:16px;margin-top:18px;font-size:12px;display:flex}.run-status{border:1px solid;border-radius:999px;padding:10px 15px;font-size:13px;font-weight:800}.run-status-completed{color:var(--success)}.run-status-failed{color:var(--danger)}.run-status-running,.run-status-queued{color:var(--violet)}.progress-block{grid-template-columns:auto 1fr;align-items:center;gap:25px;margin:54px 0 62px;display:grid}.progress-copy{align-items:baseline;gap:8px;display:flex}.progress-copy strong{font:400 30px var(--serif)}.progress-copy span{color:var(--muted);font-size:13px}.progress-track{background:#dcd3c8;height:2px;overflow:hidden}.progress-track span{background:var(--violet);height:100%;display:block}.poll-warning{grid-column:1/-1;margin:0}.pages-gallery{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:28px;display:grid}.page-piece{min-width:0}.page-preview{aspect-ratio:2/3;background:#dfd7ce;overflow:hidden}.page-preview a{height:100%;display:block}.page-preview img{object-fit:cover;width:100%;height:100%;transition:transform .4s cubic-bezier(.2,.8,.2,1);display:block}.page-preview a:hover img{transform:scale(1.018)}.page-placeholder{color:#82786f;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.page-placeholder span{font:68px var(--serif)}.page-placeholder p{font-size:13px}.page-piece-generating .page-placeholder,.page-piece-rendering .page-placeholder{color:var(--violet-dark);background:linear-gradient(145deg,#e8e0f7,#d7c9f1)}.page-caption{justify-content:space-between;align-items:baseline;gap:16px;padding-top:18px;display:flex}.page-caption>div{align-items:baseline;gap:12px;display:flex}.page-caption h2{font:400 24px var(--serif);margin:0}.page-number{color:var(--muted);font-size:11px}.status-dot{white-space:nowrap;align-items:center;gap:7px;font-size:11px;font-weight:800;display:flex}.status-dot:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.status-completed{color:var(--success)}.status-failed{color:var(--danger)}.status-generating,.status-rendering{color:var(--violet)}.status-queued{color:var(--muted)}.page-details{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;margin-top:14px;padding-top:10px;font-size:11px;display:flex}.run-footer-grid{border-top:1px solid var(--ink);grid-template-columns:1.4fr 1fr;gap:70px;margin-top:72px;padding-top:40px;display:grid}.finance-panel,.pdf-panel{flex-direction:column;justify-content:space-between;min-height:220px;display:flex}.finance-panel dl{grid-template-columns:repeat(3,1fr);gap:24px;margin:35px 0 0;display:grid}.finance-panel dl div{border-top:1px solid var(--line);padding-top:12px}.finance-panel dt{color:var(--muted);margin-bottom:7px;font-size:11px}.finance-panel dd{font:24px var(--serif);margin:0}.finance-note{font-size:12px}.pdf-panel{background:var(--sheet);padding:30px}.pdf-panel .button{align-self:flex-start;margin-top:30px}@media (max-width:900px){.lab-header{padding:20px 22px}.lab-header nav>a:first-child{display:none}.lab-home,.form-page,.persona-page,.run-page{padding:50px 22px 80px}.page-intro{flex-direction:column;align-items:flex-start}.persona-row{grid-template-columns:52px 1fr auto}.persona-client,.persona-last{display:none}.persona-runs{text-align:right}.persona-row .row-action{display:none}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pages-gallery{grid-template-columns:1fr;gap:42px;max-width:520px;margin:auto}.run-footer-grid{grid-template-columns:1fr}.run-row{grid-template-columns:1fr 70px 1fr;padding:16px 0}.run-row>:nth-child(4),.run-row>:nth-child(5),.run-row .row-action{display:none}}@media (max-width:620px){.wordmark{font-size:18px}.wordmark-mark{width:34px;height:34px}.page-intro h1,.form-intro h1,.persona-hero h1,.run-hero h1{font-size:44px}.form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.editorial-form{padding:28px 20px}.characteristic-row{grid-template-columns:1fr}.book-launcher,.run-hero,.persona-hero{flex-direction:column;align-items:flex-start}.launch-actions{align-items:stretch;width:100%}.mode-selector{grid-template-columns:1fr 1fr;width:100%;display:grid}.mode-selector button{min-width:0}.mode-selector button:disabled{display:none}.photo-heading{flex-direction:column;gap:6px}.photo-heading>span{padding-top:0}.photo-dropzone{flex-direction:column;align-items:flex-start}.photo-dropzone small{margin-left:0}.upload-item{grid-template-columns:1fr;gap:8px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-remove{opacity:1}.confirmation-sheet{padding:30px 22px}.confirmation-sheet h3{font-size:34px}.confirmation-sheet dl{grid-template-columns:1fr;gap:18px}.progress-block,.finance-panel dl{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
