:root{--void: #08050c;--void-elevated: #100a14;--void-surface: #16101c;--rose: #f0a8be;--rose-bright: #ffc4d4;--rose-deep: #c45f82;--rose-glow: rgba(240, 168, 190, .45);--champagne: #e8d4a8;--champagne-bright: #f5e6c4;--champagne-glow: rgba(232, 212, 168, .35);--ink-text: #f8f2ef;--ink-muted: rgba(248, 242, 239, .62);--ink-faint: rgba(248, 242, 239, .34);--glass: rgba(255, 248, 252, .045);--glass-strong: rgba(255, 248, 252, .075);--glass-border: rgba(255, 240, 248, .11);--glass-border-bright: rgba(255, 220, 235, .22);--glass-highlight: rgba(255, 255, 255, .06);--err: #ff8f82;--err-bg: rgba(255, 100, 90, .12);--radius-sm: 12px;--radius: 20px;--radius-lg: 28px;--radius-pill: 999px;--shadow-soft: 0 24px 64px -28px rgba(0, 0, 0, .75);--shadow-glow: 0 0 80px -20px var(--rose-glow);--shadow-panel: 0 32px 80px -40px rgba(0, 0, 0, .9), inset 0 1px 0 var(--glass-highlight);--font-wordmark: "Fraunces", "Instrument Serif", Georgia, serif;--font-display: "Instrument Serif", Georgia, "Times New Roman", serif;--font-ui: "Plus Jakarta Sans", system-ui, sans-serif;--font-script: "Instrument Serif", Georgia, serif;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1)}*,*:before,*:after{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}html,body,#root{height:100%;margin:0}body{background:var(--void);color:var(--ink-text);font-family:var(--font-ui);font-size:15px;font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}::selection{background:#f0a8be59;color:var(--ink-text)}*{scrollbar-width:thin;scrollbar-color:rgba(240,168,190,.42) rgba(255,255,255,.04)}*::-webkit-scrollbar{width:7px;height:7px}*::-webkit-scrollbar-track{background:#ffffff08;border-radius:var(--radius-pill)}*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#f0a8be8c,#e8d4a861);border-radius:var(--radius-pill);border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#ffc4d4b3,#f5e6c48c);background-clip:padding-box}*::-webkit-scrollbar-corner{background:transparent}.atmosphere{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden;background:var(--void)}.mesh{position:absolute;border-radius:50%;filter:blur(80px);will-change:transform}.mesh-a{width:70vmax;height:70vmax;top:-25%;left:-15%;background:radial-gradient(circle,rgba(196,95,130,.28) 0%,transparent 68%);animation:mesh-drift-a 28s var(--ease-out) infinite alternate}.mesh-b{width:55vmax;height:55vmax;top:10%;right:-20%;background:radial-gradient(circle,rgba(232,212,168,.18) 0%,transparent 65%);animation:mesh-drift-b 34s var(--ease-out) infinite alternate}.mesh-c{width:45vmax;height:45vmax;bottom:-10%;left:25%;background:radial-gradient(circle,rgba(160,80,140,.22) 0%,transparent 70%);animation:mesh-drift-c 24s var(--ease-out) infinite alternate}.mesh-d{width:38vmax;height:38vmax;bottom:20%;right:15%;background:radial-gradient(circle,rgba(255,180,200,.12) 0%,transparent 72%);animation:mesh-drift-d 30s var(--ease-out) infinite alternate}.aurora{position:absolute;top:-30%;left:-20%;right:-20%;height:75%;opacity:.5;filter:blur(60px) saturate(1.2);background:linear-gradient(100deg,transparent 12%,rgba(240,168,190,.14) 30%,rgba(232,212,168,.1) 46%,rgba(196,95,130,.16) 62%,rgba(255,196,212,.08) 76%,transparent 90%);transform-origin:50% 0%;animation:aurora-sway 26s ease-in-out infinite alternate;transition:opacity 1.2s ease}@keyframes aurora-sway{0%{transform:skew(-6deg) translate(-4%) scaleY(1)}50%{transform:skew(3deg) translate(2%) scaleY(1.12)}to{transform:skew(-2deg) translate(5%) scaleY(.94)}}.atmosphere-speaking .aurora{opacity:.85;animation-duration:12s}.atmosphere-thinking .aurora{opacity:.7;animation-duration:8s}.atmosphere-speaking .mesh{filter:blur(70px) brightness(1.25)}.stars{position:absolute;top:-50%;right:0;bottom:0;left:0;background-repeat:repeat}.stars-far{opacity:.5;background-image:radial-gradient(1px 1px at 22px 34px,rgba(255,240,248,.8),transparent 100%),radial-gradient(1px 1px at 130px 90px,rgba(232,212,168,.6),transparent 100%),radial-gradient(1px 1px at 210px 160px,rgba(255,255,255,.5),transparent 100%),radial-gradient(1px 1px at 300px 50px,rgba(240,168,190,.6),transparent 100%),radial-gradient(1px 1px at 80px 220px,rgba(255,255,255,.4),transparent 100%);background-size:340px 280px;animation:star-drift 180s linear infinite,twinkle 7s ease-in-out infinite}.stars-near{opacity:.35;background-image:radial-gradient(1.5px 1.5px at 60px 120px,rgba(255,244,250,.9),transparent 100%),radial-gradient(1.5px 1.5px at 250px 40px,rgba(245,230,196,.7),transparent 100%),radial-gradient(2px 2px at 160px 240px,rgba(255,196,212,.75),transparent 100%),radial-gradient(1.5px 1.5px at 340px 180px,rgba(255,255,255,.6),transparent 100%);background-size:420px 360px;animation:star-drift 110s linear infinite reverse,twinkle 5s ease-in-out infinite 1.5s}@keyframes star-drift{0%{background-position:0 0}to{background-position:420px 720px}}@keyframes twinkle{0%,to{opacity:.5}50%{opacity:.22}}.stars-near{animation-name:star-drift,twinkle-near}@keyframes twinkle-near{0%,to{opacity:.35}50%{opacity:.14}}.vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 120% 80% at 50% 0%,transparent 40%,rgba(8,5,12,.55) 100%),radial-gradient(ellipse 100% 60% at 50% 100%,rgba(8,5,12,.75) 0%,transparent 55%)}.grid-glow{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.35;background-image:linear-gradient(rgba(255,240,248,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,240,248,.025) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 45%,black 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 45%,black 20%,transparent 75%)}.grain{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}@keyframes mesh-drift-a{0%{transform:translate(0) scale(1)}to{transform:translate(4%,6%) scale(1.08)}}@keyframes mesh-drift-b{0%{transform:translate(0) scale(1)}to{transform:translate(-5%,4%) scale(1.06)}}@keyframes mesh-drift-c{0%{transform:translate(0) scale(1)}to{transform:translate(3%,-5%) scale(1.1)}}@keyframes mesh-drift-d{0%{transform:translate(0) scale(1)}to{transform:translate(-4%,-3%) scale(1.05)}}.app{position:relative;z-index:1;min-height:100%;display:flex;flex-direction:column;padding:clamp(20px,3.5vw,52px)}.app>*:not(.atmosphere):not(.drawer):not(.drawer-backdrop):not(.toast){position:relative;z-index:2}.topbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1rem;flex-wrap:wrap;max-width:1320px;width:100%;margin:0 auto clamp(24px,4vh,44px);padding:.6rem 1.1rem;border-radius:var(--radius-pill);border:1px solid var(--glass-border);background:linear-gradient(165deg,var(--glass-strong) 0%,var(--glass) 100%);-webkit-backdrop-filter:blur(20px) saturate(1.15);backdrop-filter:blur(20px) saturate(1.15);box-shadow:var(--shadow-soft),inset 0 1px 0 var(--glass-highlight);animation:fade-up .8s var(--ease-out) both}.topbar-brand{display:flex;align-items:baseline;gap:.55rem;min-width:0}.topbar-flower{font-size:1.1rem;line-height:1;align-self:center;filter:drop-shadow(0 0 8px rgba(240,168,190,.5));cursor:default;-webkit-user-select:none;user-select:none}.topbar-name{font-family:var(--font-wordmark);font-weight:480;font-size:1.22rem;letter-spacing:-.02em;background:linear-gradient(180deg,var(--ink-text) 10%,var(--rose-bright) 90%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.topbar-product{font-size:.62rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--champagne);opacity:.65;white-space:nowrap}.topbar-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}@media (max-width: 640px){.topbar{border-radius:var(--radius)}.topbar-product{display:none}}.masthead{text-align:center;margin-bottom:clamp(20px,3vh,38px);animation:fade-up 1s var(--ease-out) both;overflow:visible}.status-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .9rem .35rem .65rem;border-radius:var(--radius-pill);font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--ink-faint)}.status-pill.is-live{color:#b4ffd2d9;border-color:#78dca040;background:#50c88214}.status-pill.is-live .status-dot{background:#6ee7a8;box-shadow:0 0 12px #6ee7a8b3;animation:pulse-dot 2.4s ease-in-out infinite}.status-pill.is-down{color:var(--err);border-color:#ff8f8247;background:var(--err-bg)}.status-pill.is-down .status-dot{background:var(--err)}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.65;transform:scale(.85)}}.wordmark{font-size:clamp(3rem,8vw,5.4rem);padding:0;margin:0 0 .2rem;overflow:visible}.wordmark-title{display:inline-flex;align-items:center;justify-content:center;gap:.28em;margin:0;padding:0;font-family:var(--font-wordmark);font-weight:380;font-variation-settings:"opsz" 100,"SOFT" 60;font-size:1em;line-height:1}.wordmark-letters{display:inline-block;height:1em;line-height:1;letter-spacing:-.035em;overflow:visible}.wordmark .flower{flex:none;font-size:.58em;line-height:1;animation:sway 6s ease-in-out infinite;transform-origin:center center;filter:drop-shadow(0 0 12px rgba(240,168,190,.45))}@keyframes sway{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}h1{margin:0}.wordmark-letter{display:inline-block;background:linear-gradient(180deg,var(--ink-text) 8%,var(--rose-bright) 58%,var(--champagne) 108%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:letter-bloom .9s var(--ease-spring) both;filter:drop-shadow(0 0 24px rgba(240,168,190,.2))}.wordmark-letter.wordmark-y{padding-bottom:.16em}@keyframes letter-bloom{0%{opacity:0;transform:translateY(.45em) rotate(6deg) scale(.8);filter:blur(6px) drop-shadow(0 0 24px rgba(240,168,190,0))}60%{opacity:1;filter:blur(0) drop-shadow(0 0 32px rgba(240,168,190,.5))}to{opacity:1;transform:translateY(0) rotate(0) scale(1);filter:blur(0) drop-shadow(0 0 24px rgba(240,168,190,.2))}}.tagline{font-family:var(--font-display);font-size:clamp(.92rem,1.75vw,1.28rem);font-style:italic;font-weight:400;color:var(--ink-muted);margin:.3rem auto 0;width:100%;max-width:100%;line-height:1.45}@media (max-width: 640px){.tagline{font-size:clamp(.95rem,4vw,1.15rem)}}.tagline em{color:var(--rose);font-style:italic}.masthead-intro{margin:.55rem auto 0;max-width:52ch;font-family:var(--font-ui);font-size:.88rem;line-height:1.6;color:var(--ink-muted);text-align:center}.trust-line{margin:.55rem auto 0;font-family:var(--font-ui);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--champagne);opacity:.8}.slogan{margin:.28rem auto 0;font-family:var(--font-ui);font-size:.85rem;font-weight:500;letter-spacing:.02em;color:var(--rose);opacity:.85;animation:fade-up .6s var(--ease-out) both}.banner{margin:1.25rem auto 0;max-width:46ch;padding:.75rem 1.15rem;border-radius:var(--radius-sm);background:var(--err-bg);border:1px solid rgba(255,143,130,.28);color:var(--err);font-size:.88rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.banner code{color:var(--champagne);font-family:var(--font-ui);font-size:.82rem;font-weight:500}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#06040a8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade-in .25s var(--ease-out) both}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:80;width:min(430px,92vw);display:flex;flex-direction:column;gap:1rem;padding:1.4rem 1.35rem;background:linear-gradient(190deg,#18111efa,#0b070ffc);border-left:1px solid var(--glass-border-bright);box-shadow:-40px 0 90px -30px #000000d9;transform:translate(102%);visibility:hidden;transition:transform .4s var(--ease-out),visibility .4s}.drawer.is-open{transform:translate(0);visibility:visible}.drawer:before{content:"";position:absolute;top:8%;bottom:8%;left:0;width:1px;background:linear-gradient(180deg,transparent,rgba(240,168,190,.4),transparent);pointer-events:none}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.drawer-eyebrow{margin:0 0 .2rem;font-size:.62rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--champagne);opacity:.7}.drawer-title{margin:0;font-family:var(--font-display);font-weight:400;font-size:1.5rem;color:var(--rose-bright);letter-spacing:-.01em}.drawer-active{margin:.35rem 0 0;font-size:.85rem;color:var(--ink-muted);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:32ch}.drawer-active em{color:var(--champagne);font-style:normal;font-weight:500}.drawer-body{flex:1;overflow-y:auto;border-radius:var(--radius);border:1px solid var(--glass-border);background:var(--glass)}.library-save{display:flex;flex-wrap:wrap;align-items:end;gap:.75rem 1rem;padding:1.1rem 1.25rem;border-radius:var(--radius);border:1px solid var(--glass-border);background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-soft)}.library-save-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--ink-faint);width:100%}.library-save-input{flex:1;min-width:min(100%,280px);background:#00000047;border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--ink-text);font-family:var(--font-ui);font-size:.95rem;padding:.65rem .95rem;outline:none;transition:border-color .2s,box-shadow .2s}.library-save-input:focus{border-color:var(--glass-border-bright);box-shadow:0 0 0 3px #f0a8be1f}.library-save-actions{display:flex;gap:.5rem}.library-empty{margin:0;padding:1.25rem 1.35rem;color:var(--ink-muted);font-style:italic;font-size:.92rem}.library-list{list-style:none;margin:0;padding:.4rem}.library-list li{display:flex;align-items:stretch;gap:.35rem;border-radius:var(--radius-sm);transition:background .2s}.library-list li.is-active{background:#f0a8be12;box-shadow:inset 0 0 0 1px #f0a8be26}.library-item{flex:1;text-align:left;background:transparent;border:none;border-radius:var(--radius-sm);padding:.7rem .95rem;cursor:pointer;color:var(--ink-text);font-family:var(--font-ui);transition:background .18s}.library-item:hover:not(:disabled){background:#fff8fc0d}.library-item:disabled{opacity:.4;cursor:not-allowed}.library-item-title{display:block;font-family:var(--font-display);font-size:1.08rem;color:var(--ink-text);margin-bottom:.2rem}.library-item-meta{display:block;font-size:.72rem;font-weight:500;color:var(--ink-faint);letter-spacing:.06em;text-transform:uppercase}.library-item-preview{display:block;margin-top:.35rem;font-family:var(--font-script);font-size:.9rem;font-style:italic;color:var(--ink-muted);line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-delete{align-self:center;min-width:2rem}.library-delete:hover:not(:disabled){color:var(--err);border-color:#ff8f8259;background:var(--err-bg)}.stage{flex:1;display:grid;gap:clamp(18px,2.2vw,28px);align-items:stretch;grid-template-columns:1fr minmax(220px,280px) 1fr;max-width:1320px;margin:0 auto;width:100%;position:relative}.stage-dimmed{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.42;filter:saturate(.75)}.maintenance-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:65;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#06040ac7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.maintenance-card{max-width:28rem;padding:1.75rem 1.9rem;border-radius:var(--radius);border:1px solid rgba(255,196,212,.22);background:linear-gradient(165deg,#24121ef5,#120a16f0);box-shadow:0 24px 60px #00000073;text-align:center}.maintenance-eyebrow{margin:0 0 .55rem;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--rose);opacity:.9}.maintenance-title{margin:0 0 .65rem;font-family:var(--font-display);font-size:clamp(1.35rem,3vw,1.65rem);font-weight:500;color:var(--text)}.maintenance-body{margin:0;font-size:.95rem;line-height:1.55;color:var(--text-muted, rgba(255, 236, 244, .72))}@media (max-width: 960px){.stage{grid-template-columns:1fr;gap:16px}.bloom-column{order:0;gap:.85rem;padding:.3rem 0 .1rem}.bloom-column .presence{width:150px!important;height:150px!important}.bloom-wrap{padding:.4rem}.bloom-column .cta{width:min(100%,420px);padding:.95rem 1.5rem;font-size:1rem}.panel.seed{min-height:clamp(380px,52vh,560px)}.panel.seed .input{min-height:clamp(300px,46vh,480px)}.narrate-step.is-ready{max-width:100%}.cta-narrate-prominent{font-size:1.05rem;padding:1.05rem 1.5rem}.phase-hint{min-height:0}.stars-far,.stars-near{animation:none}.stars-far{opacity:.4}.stars-near{opacity:.25}.mesh,.aurora{animation:none}.grain{display:none}.topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.panel{-webkit-backdrop-filter:blur(12px) saturate(1.1);backdrop-filter:blur(12px) saturate(1.1)}}@media (hover: none){.cta:hover:not(:disabled){transform:none}.cta:hover:not(:disabled):after{animation:none}.ghost:hover:not(:disabled){transform:none}.panel:hover{border-color:var(--glass-border);box-shadow:var(--shadow-panel)}.narrate-step.is-ready{animation:none}.speak-spinner{animation:none;border-top-color:var(--champagne);opacity:.85}}.panel{position:relative;background:linear-gradient(165deg,var(--glass-strong) 0%,var(--glass) 55%,rgba(255,248,252,.02) 100%);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:clamp(18px,2.2vw,28px);display:flex;flex-direction:column;gap:1.1rem;box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(24px) saturate(1.15);backdrop-filter:blur(24px) saturate(1.15);animation:fade-up 1s var(--ease-out) both;overflow:hidden}.panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:linear-gradient(165deg,rgba(255,255,255,.1) 0%,transparent 40%,rgba(255,200,220,.06) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.panel{transition:border-color .4s ease,box-shadow .4s ease,transform .4s var(--ease-out)}.panel:hover{border-color:var(--glass-border-bright);box-shadow:var(--shadow-panel),0 0 60px -30px var(--rose-glow)}.panel.seed{animation-delay:.08s;min-height:clamp(420px,54vh,640px)}.panel.seed .input{flex:1 1 auto;min-height:clamp(280px,40vh,480px)}.direction-field{display:flex;flex-direction:column;gap:.45rem;flex-shrink:0}.direction-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--ink-faint)}.direction-label em{font-style:normal;font-weight:500;text-transform:none;letter-spacing:.02em;opacity:.85}.direction-input{width:100%;min-height:3.6rem;max-height:7rem;resize:vertical;padding:.65rem .85rem;background:#0000002e;border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--ink-text);font-family:var(--font-ui);font-size:.9rem;line-height:1.45;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.direction-input::placeholder{color:var(--ink-faint);opacity:.75}.direction-input:focus{border-color:#f0a8be73;box-shadow:0 0 0 2px #f0a8be1f}.direction-input:disabled{opacity:.55}.panel.result{animation-delay:.16s}.panel.result.is-streaming:before{padding:1.5px;background:conic-gradient(from var(--stream-angle, 0deg),rgba(240,168,190,.65),rgba(232,212,168,.35),rgba(255,240,248,.06),rgba(196,95,130,.5),rgba(240,168,190,.65));animation:stream-border 3.2s linear infinite}@property --stream-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes stream-border{to{--stream-angle: 360deg}}.panel.result.is-streaming .narration-textarea{border-color:#f0a8be59;box-shadow:0 0 32px -12px var(--rose-glow),inset 0 1px #ffffff0a}.narration-stats,.meta-chip{padding:.18rem .65rem;border-radius:var(--radius-pill);border:1px solid rgba(232,212,168,.2);background:#e8d4a80f;color:var(--champagne);font-size:.7rem;font-weight:500;letter-spacing:.06em;font-variant-numeric:tabular-nums;white-space:nowrap;animation:fade-in .4s var(--ease-out) both}.narration-stats{flex:1 1 auto;min-width:0}.meta-chip{border-color:#f0a8be33;background:#f0a8be0f;color:var(--rose)}.result-tools{display:flex;align-items:center;gap:.4rem}.speak-progress{height:3px;border-radius:var(--radius-pill);background:#fff8fc12;overflow:hidden}.speak-progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--rose) 0%,var(--champagne) 100%);box-shadow:0 0 12px var(--rose-glow);transition:width .5s var(--ease-out)}.kbd-hint{display:inline-flex;align-items:center;gap:.25rem;margin-right:auto;font-size:.72rem;color:var(--ink-faint);letter-spacing:.03em;text-transform:none;-webkit-user-select:none;user-select:none}kbd{font-family:var(--font-ui);font-size:.66rem;font-weight:600;color:var(--ink-muted);padding:.1rem .38rem;border-radius:6px;border:1px solid var(--glass-border);border-bottom-width:2px;background:#fff8fc0d}.panel-header{display:flex;align-items:center;gap:.75rem}.panel-header-inline{flex:1}.panel-index{font-size:.68rem;font-weight:600;letter-spacing:.12em;color:var(--rose);opacity:.7;font-variant-numeric:tabular-nums}.panel-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.22em;color:var(--ink-faint)}.panel-label-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.panel-label-tools{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-shrink:0}.input,.output-textarea,.script-readonly{width:100%;background:#00000038;border:1px solid var(--glass-border);border-radius:var(--radius);color:var(--ink-text);outline:none;transition:border-color .22s,box-shadow .22s,background .22s}.input{flex:1;min-height:280px;resize:vertical;font-family:var(--font-script);font-size:1.12rem;line-height:1.72;font-weight:400;padding:1.15rem 1.3rem}.input::placeholder,.output-textarea::placeholder{color:var(--ink-faint);font-style:italic}.input:focus,.output-textarea:focus{border-color:var(--glass-border-bright);background:#00000047;box-shadow:0 0 0 3px #f0a8be1a,inset 0 1px #ffffff0a}.seed-actions{display:flex;gap:.6rem;justify-content:flex-end}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.samples{display:flex;flex-direction:column;gap:.5rem;animation:fade-up .5s var(--ease-out) both}.samples-toggle{align-self:flex-start;display:inline-flex;align-items:center;gap:.4rem;padding:0;border:none;background:none;font-family:var(--font-display);font-style:italic;font-size:.9rem;color:var(--ink-faint);cursor:pointer;transition:color .2s}.samples-toggle:hover{color:var(--rose)}.samples-toggle-chevron{display:inline-block;width:.45em;height:.45em;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-.12em);transition:transform .2s var(--ease-out)}.samples-toggle[aria-expanded=true] .samples-toggle-chevron{transform:rotate(-135deg) translateY(.08em)}.samples-chips{display:flex;flex-wrap:wrap;gap:.45rem;animation:fade-up .35s var(--ease-out) both}.sample-chip{font-family:var(--font-ui);font-size:.8rem;font-weight:500;color:var(--rose);background:#f0a8be0f;border:1px solid rgba(240,168,190,.22);border-radius:var(--radius-pill);padding:.4rem .95rem;cursor:pointer;transition:border-color .2s,color .2s,background .2s,transform .2s var(--ease-spring)}.sample-chip:hover:not(:disabled){color:var(--rose-bright);border-color:#f0a8be80;background:#f0a8be1f;transform:translateY(-1px)}.sample-chip:disabled{opacity:.4;cursor:not-allowed}.voice-script{flex:1;display:flex;flex-direction:column;gap:.9rem;min-height:260px}.script-block{display:flex;flex-direction:column;gap:.45rem}.script-block-header{display:flex;flex-direction:column;align-items:stretch;gap:.45rem}.script-block-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.script-block-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em;color:var(--ink-faint);line-height:1.35}.script-readonly{font-family:var(--font-script);font-size:1.05rem;line-height:1.68;font-style:italic;font-weight:400;color:var(--ink-muted);padding:.9rem 1.15rem}.script-readonly:not(:has(.markdown-content)){white-space:pre-wrap}.script-intro .script-readonly{border-color:#f0a8be2e}.script-outro .script-readonly{border-color:#e8d4a829}.markdown-content{font-family:var(--font-script);font-size:inherit;line-height:1.68;color:inherit}.markdown-content>*:first-child{margin-top:0}.markdown-content>*:last-child{margin-bottom:0}.markdown-content p,.markdown-content ul,.markdown-content ol,.markdown-content blockquote,.markdown-content pre{margin:0 0 .85em}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{font-family:var(--font-display);font-style:normal;font-weight:600;line-height:1.3;margin:0 0 .55em;color:var(--ink-text)}.markdown-content h1{font-size:1.45em}.markdown-content h2{font-size:1.25em}.markdown-content h3{font-size:1.1em}.markdown-content h4{font-size:1em;color:var(--ink-muted)}.markdown-content strong{font-weight:600;color:var(--ink-text)}.markdown-content em{font-style:italic}.markdown-content a{color:var(--rose-bright);text-decoration:underline;text-underline-offset:.15em}.markdown-content a:hover{color:var(--champagne-bright)}.markdown-content ul,.markdown-content ol{padding-left:1.35em}.markdown-content li+li{margin-top:.35em}.markdown-content blockquote{border-left:3px solid rgba(240,168,190,.35);padding-left:1rem;color:var(--ink-muted);font-style:italic}.markdown-content code{font-family:ui-monospace,Cascadia Code,Segoe UI Mono,monospace;font-size:.9em;padding:.12em .38em;border-radius:.35em;background:#00000059;border:1px solid var(--glass-border)}.markdown-content pre{padding:.85rem 1rem;border-radius:var(--radius);background:#00000059;border:1px solid var(--glass-border);overflow-x:auto}.markdown-content pre code{padding:0;border:none;background:transparent;font-size:.88em}.markdown-content hr{border:none;border-top:1px solid var(--glass-border);margin:1em 0}.script-intro .markdown-content,.script-outro .markdown-content{font-style:italic}.script-intro .markdown-content h1,.script-intro .markdown-content h2,.script-intro .markdown-content h3,.script-intro .markdown-content h4,.script-outro .markdown-content h1,.script-outro .markdown-content h2,.script-outro .markdown-content h3,.script-outro .markdown-content h4{color:var(--ink-muted)}.script-narration{flex:1;display:flex;flex-direction:column;min-height:0}.script-narration .script-block-label{color:var(--rose)}.script-block-toolbar .ghost-sm{flex:none}.output-textarea{flex:1;min-height:190px;max-height:38vh;resize:vertical;font-family:var(--font-script);font-size:1.2rem;line-height:1.75;font-weight:400;padding:1.15rem 1.3rem}.narration-textarea{border-color:#f0a8be38;min-height:210px}.output-textarea:read-only{opacity:.88;cursor:default}.bloom-column{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;align-self:center;animation:fade-up 1s var(--ease-out) both;animation-delay:.12s}.bloom-wrap{position:relative;padding:.75rem;border-radius:50%;transition:filter .8s ease}.bloom-wrap:before{content:"";position:absolute;top:-12%;right:-12%;bottom:-12%;left:-12%;border-radius:50%;background:radial-gradient(circle,rgba(240,168,190,.1) 0%,transparent 68%);filter:blur(24px);transition:opacity .8s ease}.bloom-wrap-speaking:before{background:radial-gradient(circle,rgba(240,168,190,.22) 0%,rgba(232,212,168,.08) 45%,transparent 70%)}.bloom-wrap-paused{filter:saturate(.55) brightness(.8)}.presence{display:block;border-radius:50%;transition:transform .6s var(--ease-out),opacity .6s ease}.presence-thinking{transform:scale(.96)}.presence-paused{opacity:.75}.flow-line{position:absolute;top:50%;height:2px;width:clamp(26px,3vw,60px);border-radius:var(--radius-pill);background:linear-gradient(90deg,#f0a8be00,#f0a8be59,#f0a8be00);background-size:200% 100%;opacity:.55;pointer-events:none}.flow-line-left{right:calc(100% - 2px)}.flow-line-right{left:calc(100% - 2px)}.flow-thinking .flow-line-left{opacity:1;background:linear-gradient(90deg,transparent 0%,rgba(240,168,190,.9) 40%,transparent 80%);background-size:60% 100%;background-repeat:no-repeat;animation:flow-pulse 1.1s linear infinite}.flow-speaking .flow-line-right{opacity:1;background:linear-gradient(90deg,transparent 0%,rgba(232,212,168,.9) 40%,transparent 80%);background-size:60% 100%;background-repeat:no-repeat;animation:flow-pulse .8s linear infinite}@keyframes flow-pulse{0%{background-position:-60% 0}to{background-position:160% 0}}@media (max-width: 960px){.flow-line{display:none}}.provider-field{width:100%;max-width:300px;text-align:center;align-items:center}.provider-field>span:first-child{width:100%;text-align:center}.provider-summary{font-family:var(--font-display);font-size:.88rem;font-style:italic;color:var(--ink-muted);letter-spacing:.01em;text-transform:none;text-align:center;min-height:1.25em}.phase-hint{font-family:var(--font-display);font-style:italic;color:var(--ink-muted);font-size:clamp(.8rem,1.75vw,.98rem);min-height:1.5em;text-align:center;line-height:1.45;white-space:nowrap}.narrate-step{display:flex;flex-direction:column;align-items:center;gap:.55rem;width:100%;max-width:420px;border-radius:var(--radius-lg);border:1px solid transparent;padding:.35rem;transition:border-color .35s ease,background .35s ease,box-shadow .35s ease}.narrate-step.is-ready{padding:.85rem 1rem 1rem;border-color:#f0a8be66;background:#f0a8be12;box-shadow:0 0 48px -14px var(--rose-glow);animation:narrate-ready-pulse 2.8s ease-in-out infinite}.narrate-step-label{margin:0;font-size:.66rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--rose)}.cta-narrate-prominent{width:100%;padding:1rem 1.75rem;font-size:1.02rem;box-shadow:0 0 36px -4px var(--rose-glow),0 10px 32px -8px var(--rose-glow),inset 0 1px #ffffff59}@keyframes narrate-ready-pulse{0%,to{border-color:#f0a8be61;box-shadow:0 0 48px -14px var(--rose-glow)}50%{border-color:#f0a8be9e;box-shadow:0 0 64px -10px var(--rose-glow)}}.cta{position:relative;overflow:hidden;font-family:var(--font-ui);font-size:.92rem;font-weight:600;letter-spacing:.02em;color:#1a0a12;background:linear-gradient(165deg,var(--rose-bright) 0%,var(--rose) 45%,var(--rose-deep) 100%);border:none;border-radius:var(--radius-pill);padding:.82rem 1.75rem;cursor:pointer;box-shadow:0 8px 28px -6px var(--rose-glow),inset 0 1px #ffffff59;transition:transform .2s var(--ease-spring),box-shadow .2s,filter .2s}.cta:after{content:"";position:absolute;top:0;bottom:0;left:-80%;width:55%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.5),transparent);transform:skew(-18deg);transition:left 0s;pointer-events:none;opacity:0}.cta:hover:not(:disabled):after{animation:cta-sheen .8s var(--ease-out)}@keyframes cta-sheen{0%{left:-80%;opacity:1}to{left:130%;opacity:1}}.cta:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 36px -8px var(--rose-glow),inset 0 1px #fff6}.cta:active:not(:disabled){transform:translateY(0)}.cta:disabled{opacity:.38;cursor:not-allowed;filter:grayscale(.3)}.cta-sm{padding:.55rem 1.2rem;font-size:.86rem}.cta.speak{color:#1a1408;background:linear-gradient(165deg,var(--champagne-bright) 0%,var(--champagne) 50%,#c9a85e 100%);box-shadow:0 8px 28px -6px var(--champagne-glow),inset 0 1px #ffffff59}.cta.speak:hover:not(:disabled){box-shadow:0 14px 36px -8px var(--champagne-glow),inset 0 1px #fff6}.cta.speak.stopping{color:#fff;background:linear-gradient(165deg,#f0a090,#d07060);box-shadow:0 8px 28px -6px #d0706073}.cta.speak.pause{color:#0e1220;background:linear-gradient(165deg,#c8d4f0,#8a9ec8);box-shadow:0 8px 28px -6px #8a9ec866}.ghost{font-family:var(--font-ui);font-size:.86rem;font-weight:500;color:var(--ink-muted);background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-pill);padding:.48rem 1.1rem;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .2s,color .2s,background .2s,transform .2s}.ghost:hover:not(:disabled){border-color:var(--glass-border-bright);color:var(--ink-text);background:var(--glass-strong);transform:translateY(-1px)}.ghost:disabled{opacity:.35;cursor:not-allowed}.ghost-sm{padding:.32rem .8rem;font-size:.78rem}.voice-bar{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:end;padding-top:.25rem}.field{display:flex;flex-direction:column;gap:.4rem}.field>span:not(.voice-summary){font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}.field.slider{flex:1;min-width:130px}.voice-field{flex:1 1 100%;min-width:min(100%,280px)}.voice-select,.provider-select{width:100%;font-size:.95rem;font-weight:500;line-height:1.35;padding:.78rem 2.5rem .78rem 1rem;border-radius:var(--radius);background-color:#00000057;box-shadow:inset 0 1px #ffffff0d}.voice-select{max-width:380px}.provider-select{text-align:left;text-align-last:left}.voice-summary{font-family:var(--font-display);font-size:.92rem;font-style:italic;color:var(--ink-muted);letter-spacing:.01em;text-transform:none}select,.library-save-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0000004d;color:var(--ink-text);border:1px solid var(--glass-border);border-radius:var(--radius-sm);font-family:var(--font-ui);cursor:pointer;transition:border-color .2s,box-shadow .2s}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23f0a8be' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}select:disabled{opacity:.5;cursor:not-allowed}select optgroup{font-weight:600;letter-spacing:.05em;color:var(--champagne);background:var(--void-elevated)}select option{color:var(--ink-text);background:var(--void-surface);padding:.35rem}select:focus{outline:none;border-color:var(--glass-border-bright);box-shadow:0 0 0 3px #f0a8be1a}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:5px;border-radius:var(--radius-pill);background:linear-gradient(90deg,#f0a8be40,#e8d4a833);cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,var(--rose) 65%);box-shadow:0 0 14px var(--rose-glow),0 2px 6px #0000004d;border:2px solid rgba(255,255,255,.25);transition:transform .15s var(--ease-spring)}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.12)}input[type=range]::-moz-range-thumb{width:18px;height:18px;border:2px solid rgba(255,255,255,.25);border-radius:50%;background:var(--rose);box-shadow:0 0 14px var(--rose-glow)}.speak-actions{display:flex;justify-content:flex-end;align-items:center;gap:.65rem;flex-wrap:wrap}.speak-preparing{flex:1 1 100%;display:flex;align-items:center;justify-content:center;gap:.55rem;margin:0;font-family:var(--font-display);font-size:.9rem;font-style:italic;color:var(--champagne)}.speak-spinner{width:1.1rem;height:1.1rem;border:2px solid rgba(232,212,168,.22);border-top-color:var(--champagne-bright);border-radius:50%;animation:speak-spin .75s linear infinite;flex-shrink:0}.speak-spinner-inline{width:.95rem;height:.95rem;margin-right:.4rem;vertical-align:-.12em}@keyframes speak-spin{to{transform:rotate(360deg)}}.playback-options{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem 1.5rem;margin-top:.15rem;padding-top:.9rem;border-top:1px solid rgba(255,255,255,.05)}.checkbox-field{flex-direction:row!important;align-items:center;gap:.55rem!important;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-field input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1.05rem;height:1.05rem;border-radius:4px;border:1px solid var(--glass-border-bright);background:#00000040;cursor:pointer;position:relative;transition:background .15s,border-color .15s}.checkbox-field input[type=checkbox]:checked{background:linear-gradient(165deg,var(--rose),var(--rose-deep));border-color:transparent}.checkbox-field input[type=checkbox]:checked:after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid #1a0a12;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-field>span{font-size:.84rem!important;letter-spacing:.01em!important;text-transform:none!important;color:var(--ink-muted)!important;font-weight:400!important}.breather-field{min-width:10rem}.playback-option-hint{flex:1 1 100%;margin:-.35rem 0 0;font-size:.82rem;line-height:1.45;color:var(--text-muted, rgba(255, 236, 244, .62))}.breather-field input[type=number]{width:4.5rem;padding:.48rem .6rem;border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:#00000047;color:var(--ink-text);font-family:var(--font-ui);font-size:.9rem}.breather-field input[type=number]:focus{outline:none;border-color:var(--glass-border-bright)}.narration-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:clamp(14px,3vw,32px);background:#06040ac7;-webkit-backdrop-filter:blur(16px) saturate(1.1);backdrop-filter:blur(16px) saturate(1.1);animation:fade-in .3s var(--ease-out) both}.narration-dialog{width:min(940px,100%);max-height:min(90vh,920px);display:flex;flex-direction:column;border-radius:var(--radius-lg);border:1px solid var(--glass-border-bright);background:linear-gradient(168deg,#16101cf7,#0a070efa);box-shadow:var(--shadow-soft),0 0 120px -40px var(--rose-glow),inset 0 1px 0 var(--glass-highlight);-webkit-backdrop-filter:blur(32px);backdrop-filter:blur(32px);animation:dialog-rise .4s var(--ease-out) both;overflow:hidden}.narration-dialog:before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(240,168,190,.45),transparent);pointer-events:none}.narration-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem 1rem;border-bottom:1px solid rgba(255,255,255,.05)}.narration-dialog-header h2{margin:0;font-family:var(--font-display);font-size:1.45rem;font-weight:400;color:var(--rose-bright);letter-spacing:-.01em}.narration-dialog-eyebrow{margin:0 0 .25rem;font-size:.65rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--champagne);opacity:.75}.narration-dialog-sub{margin:.4rem 0 0;font-size:.88rem;color:var(--ink-faint);line-height:1.5}.narration-dialog-body{flex:1;display:flex;flex-direction:column;min-height:0;overflow:auto;padding:1.35rem 1.5rem 1.6rem;background:linear-gradient(180deg,rgba(0,0,0,.12) 0%,transparent 100%)}.narration-dialog-text,.narration-dialog-textarea{margin:0;font-family:var(--font-script);font-size:clamp(1.15rem,1.9vw,1.4rem);line-height:1.82;font-weight:400;color:var(--ink-text);white-space:pre-wrap}.narration-dialog-textarea{width:100%;flex:1;min-height:min(52vh,520px);padding:0;border:none;background:transparent;resize:vertical;outline:none}.narration-dialog-textarea:focus{box-shadow:inset 0 0 0 1px #f0a8be38;border-radius:6px}.narration-dialog-textarea:disabled{opacity:.72;cursor:wait}.narration-dialog-empty{margin:0;color:var(--ink-faint);font-style:italic;font-family:var(--font-display)}.narration-token-spoken{color:#f8f2ef7a;transition:color .15s ease}.narration-token-active{color:var(--ink-text);background:linear-gradient(180deg,#e8d4a861,#f0a8be47);border-radius:6px;box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:.06em .14em;margin:0 -.05em;box-shadow:0 0 20px -4px var(--champagne-glow);animation:token-glow .9s ease-in-out infinite}@keyframes token-glow{0%,to{box-shadow:0 0 16px -5px var(--champagne-glow)}50%{box-shadow:0 0 26px -2px #f0a8be8c}}.narration-dialog-footer{display:flex;flex-direction:column;gap:.75rem;padding:.9rem 1.5rem 1.2rem;border-top:1px solid rgba(255,255,255,.05);background:#00000026}.revise-bar{display:flex;gap:.5rem;align-items:center}.revise-input{flex:1;min-width:0;background:#0000004d;border:1px solid rgba(240,168,190,.2);border-radius:var(--radius-pill);color:var(--ink-text);font-family:var(--font-ui);font-size:.9rem;padding:.6rem 1.1rem;outline:none;transition:border-color .2s,box-shadow .2s}.revise-input::placeholder{color:var(--ink-faint);font-style:italic}.revise-input:focus{border-color:#f0a8be73;box-shadow:0 0 0 3px #f0a8be1f}.revise-error{margin:0;font-size:.84rem;color:var(--err);cursor:pointer}.narration-dialog-revising{width:min(1180px,100%)}.narration-dialog-main{flex:1;display:flex;min-height:0}.narration-dialog-main .narration-dialog-body{flex:1;min-width:0}.narration-dialog-main.has-chat .narration-dialog-body{border-right:1px solid rgba(255,255,255,.05)}.revise-chat{width:min(340px,38%);flex-shrink:0;display:flex;flex-direction:column;gap:.75rem;padding:1.1rem 1.15rem 1.15rem;background:#0000002e}.revise-chat-title{margin:0;font-size:.62rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--champagne);opacity:.75}.revise-chat-messages{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.6rem;padding-right:.25rem}.chat-bubble{max-width:92%;padding:.6rem .85rem;border-radius:14px;font-size:.86rem;line-height:1.5;white-space:pre-wrap;animation:fade-up .3s var(--ease-out) both}.chat-user{align-self:flex-end;color:#1a0a12;background:linear-gradient(165deg,var(--rose-bright) 0%,var(--rose) 100%);border-bottom-right-radius:4px}.chat-emerv{align-self:flex-start;color:var(--ink-text);background:#fff8fc0f;border:1px solid var(--glass-border);border-bottom-left-radius:4px}.chat-md{white-space:normal;font-family:inherit;line-height:inherit}.chat-md.markdown-content{font-family:inherit;line-height:inherit}.chat-md p{margin:0 0 .4em}.chat-md p:last-child{margin-bottom:0}.chat-md ul,.chat-md ol{margin:.3em 0;padding-left:1.3em}.chat-md code{font-size:.82em;background:#ffffff14;padding:.1em .35em;border-radius:4px}.chat-md pre{background:#00000040;padding:.5em .7em;border-radius:6px;overflow-x:auto;margin:.4em 0}.chat-md pre code{background:none;padding:0}.chat-md strong{color:var(--ink)}.chat-md blockquote{border-left:3px solid var(--rose);margin:.4em 0;padding-left:.7em;opacity:.85}.chat-author{display:block;font-size:.66rem;font-weight:600;letter-spacing:.08em;color:var(--rose);margin-bottom:.25rem}.typing-dots{display:inline-flex;gap:4px;align-items:center;height:1em}.typing-dots i{width:5px;height:5px;border-radius:50%;background:var(--rose);animation:typing-bounce 1.1s ease-in-out infinite}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}.revise-chat .revise-bar{flex-shrink:0}@media (max-width: 860px){.narration-dialog-main{flex-direction:column}.narration-dialog-main.has-chat .narration-dialog-body{border-right:none;border-bottom:1px solid rgba(255,255,255,.05)}.revise-chat{width:100%;max-height:42%}.narration-dialog-textarea{min-height:36vh}}.narration-draft{color:var(--champagne-bright)}.narration-draft.is-streaming{color:var(--ink-text)}.draft-caret{display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:text-bottom;background:var(--rose-bright);box-shadow:0 0 8px var(--rose-glow);animation:caret-blink .85s steps(1) infinite}@keyframes caret-blink{0%,60%{opacity:1}61%,to{opacity:0}}.narration-dialog-footer .speak-actions{justify-content:flex-end}.narration-voice-picker{margin-right:auto}.export-menu{position:relative}.export-menu-trigger{list-style:none;cursor:pointer}.export-menu-trigger::-webkit-details-marker{display:none}.export-menu[open] .export-menu-trigger{background:#ffffff14}.export-menu-panel{position:absolute;bottom:calc(100% + .45rem);left:0;z-index:2;display:flex;flex-direction:column;gap:.2rem;min-width:11.5rem;padding:.45rem;border-radius:var(--radius);border:1px solid var(--glass-border-bright);background:linear-gradient(168deg,#1c1422fa,#0c0812fc);box-shadow:var(--shadow-soft)}.export-menu-panel .ghost-sm{justify-content:flex-start;width:100%;text-align:left}.voice-select-compact{width:auto;max-width:200px;font-size:.85rem;padding:.45rem 2rem .45rem .7rem}.speak-actions-panel{justify-content:flex-end}.script-session-actions{display:flex;align-items:center;gap:.65rem;padding-top:.35rem;border-top:1px solid var(--glass-border);margin-top:.25rem}.cta-save{flex:1}.about-dialog{width:min(760px,100%)}.about-body{display:flex;flex-direction:column;gap:1.5rem}.about-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.1rem}.about-step{display:flex;gap:1rem;align-items:flex-start}.about-step-n{font-size:.72rem;font-weight:600;letter-spacing:.12em;color:var(--rose);font-variant-numeric:tabular-nums;padding-top:.3em}.about-step-title{margin:0 0 .25rem;font-family:var(--font-display);font-weight:400;font-size:1.25rem;color:var(--rose-bright)}.about-step-body{margin:0;font-size:.92rem;line-height:1.6;color:var(--ink-muted)}.about-features-heading{margin:0;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.22em;color:var(--champagne);opacity:.8}.about-features{margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.75rem}.about-feature{padding:.75rem .9rem;border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--glass)}.about-feature dt{font-size:.84rem;font-weight:600;color:var(--ink-text);margin-bottom:.25rem}.about-feature dd{margin:0;font-size:.8rem;line-height:1.5;color:var(--ink-muted)}.about-tips{margin:0;padding:0 0 0 1.15rem;display:flex;flex-direction:column;gap:.65rem;list-style:none}.about-tips li{position:relative;font-size:.82rem;line-height:1.55;color:var(--ink-muted)}.about-tips li:before{content:"✦";position:absolute;left:-1.15rem;color:var(--rose);opacity:.75;font-size:.65rem;top:.2em}.about-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.about-privacy-summary{font-size:.82rem;line-height:1.6;color:var(--ink-muted);margin:0}.about-privacy-link{margin-top:.35rem;color:var(--rose)}.about-footer-note{font-family:var(--font-display);font-style:italic;font-size:.9rem;color:var(--ink-muted)}.logs-dialog{width:min(1100px,100%)}.logs-body{padding:1.25rem 1.5rem}.logs-auth-form{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2.5rem 1rem;max-width:360px;margin:0 auto}.logs-auth-hint{margin:0;font-size:.88rem;color:var(--ink-faint);text-align:center}.logs-auth-input{width:100%;padding:.7rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:#0000004d;color:var(--ink);font-size:.95rem;font-family:var(--font-body);outline:none;transition:border-color .2s ease}.logs-auth-input:focus{border-color:var(--rose)}.logs-auth-error{margin:0;font-size:.82rem;color:var(--err);text-align:center}.logs-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.logs-stats{display:flex;gap:.75rem}.logs-stat{font-size:.78rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint)}.logs-stat-ok{color:#6ee7b7}.logs-stat-err{color:var(--err)}.logs-toolbar-actions{display:flex;align-items:center;gap:.6rem}.logs-limit{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--ink-faint)}.logs-limit select{padding:.25rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:#0000004d;color:var(--ink);font-size:.8rem;font-family:var(--font-body);outline:none}.logs-empty{text-align:center;color:var(--ink-faint);padding:2rem;font-size:.9rem}.logs-table-wrap{overflow-x:auto;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.06)}.logs-table{width:100%;border-collapse:collapse;font-size:.82rem;font-family:var(--font-body)}.logs-table thead th{position:sticky;top:0;z-index:1;padding:.6rem .7rem;text-align:left;font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);background:#120c18f2;border-bottom:1px solid rgba(255,255,255,.08);white-space:nowrap}.logs-table tbody td{padding:.5rem .7rem;border-bottom:1px solid rgba(255,255,255,.04);color:var(--ink);white-space:nowrap}.logs-table tbody tr:hover{background:#ffffff08}.logs-row-err{background:#50141626}.logs-row-err:hover{background:#50141640}.logs-cell-time{color:var(--ink-muted);font-variant-numeric:tabular-nums}.logs-cell-muted{color:var(--ink-muted)}.logs-cell-num{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-muted)}.logs-cell-ip{font-size:.76rem;max-width:120px;overflow:hidden;text-overflow:ellipsis}.logs-badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.03em;background:#f0a8be1f;color:var(--rose-bright);border:1px solid rgba(240,168,190,.2)}.logs-status{display:inline-block;padding:.1rem .45rem;border-radius:4px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.logs-status-ok{background:#6ee7b71f;color:#6ee7b7}.logs-status-err{background:#ff8f821f;color:var(--err)}.logs-error-msg{margin-left:.35rem;cursor:help;color:var(--err)}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);z-index:90;padding:.75rem 1.35rem;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;cursor:pointer;box-shadow:var(--shadow-soft);animation:fade-up .35s var(--ease-out) both;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.toast.error{background:#321012eb;border:1px solid rgba(255,143,130,.35);color:var(--err)}.toast.notice{background:#182018eb;border:1px solid rgba(120,220,160,.3);color:#beffd7eb}.footer{margin-top:clamp(28px,4vh,48px);text-align:center;color:var(--ink-faint);font-size:.78rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;display:flex;gap:.75rem;justify-content:center;align-items:center;flex-wrap:wrap}.footer-brand{color:var(--ink-muted)}.footer .kbd-hint{margin-right:0}.footer-sep{width:4px;height:4px;border-radius:50%;background:var(--rose);opacity:.5}.footer-link{color:var(--ink-muted);text-decoration:none;transition:color .2s ease;background:none;border:none;padding:0;font:inherit;cursor:pointer;letter-spacing:inherit;text-transform:inherit}.footer-link:hover{color:var(--rose)}@media (max-width: 640px){.app{padding:12px 12px 28px}.topbar{margin-bottom:14px;padding:.55rem .65rem .5rem;justify-content:center;position:relative}.topbar-brand{display:none}.topbar-actions{width:100%;justify-content:center;gap:.4rem;padding-right:1.1rem}.topbar-actions .status-pill{position:absolute;top:.5rem;right:.65rem;padding:0;gap:0;border:none;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.topbar-actions .status-pill.is-live,.topbar-actions .status-pill.is-down{border:none;background:transparent}.topbar-actions .status-pill .status-label{display:none}.topbar-actions .status-pill .status-dot{width:9px;height:9px}.topbar-actions .ghost{flex:1 1 auto;text-align:center;padding:.5rem .55rem;font-size:.8rem}.masthead{margin-bottom:16px}.wordmark{margin-bottom:.12rem}.wordmark-title{gap:.26em}.wordmark .flower{font-size:.6em}.tagline{margin-top:.22rem;line-height:1.4}.masthead-intro{font-size:.82rem;margin-top:.4rem;max-width:38ch}.trust-line{font-size:.65rem;margin-top:.4rem}.slogan{margin-top:.2rem;font-size:.8rem}.panel{padding:16px 14px;gap:.9rem;border-radius:var(--radius)}.input{font-size:1.02rem;padding:.9rem 1rem}.panel.seed .input{min-height:clamp(300px,48vh,500px)}.output-textarea{min-height:150px;max-height:46vh;font-size:1.05rem;padding:.9rem 1rem}.script-block-toolbar{gap:.4rem}.script-block-label{letter-spacing:.14em;font-size:.62rem}.kbd-hint{display:none}.seed-actions,.speak-actions,.result-tools{justify-content:stretch}.seed-actions .ghost,.speak-actions .cta,.speak-actions .ghost,.result-tools .ghost{flex:1 1 auto;text-align:center}.speak-preparing{font-size:.85rem}.speak-actions .cta{padding:.85rem 1rem}.voice-bar{gap:.75rem 1rem}.voice-bar .field{flex:1 1 45%;min-width:0}.voice-bar .voice-field{flex:1 1 100%}.voice-bar .field select{width:100%}.playback-options{gap:.7rem 1rem}.samples-chips .sample-chip{flex:1 1 auto;text-align:center}}@keyframes fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-rise{0%{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}
