@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300..700;1,9..40,300..700&display=swap";*{box-sizing:border-box}html{scroll-behavior:smooth;height:100%;min-height:100%}body{font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#e4ecf4;letter-spacing:.005em;background:#0b1520;height:100%;min-height:100%;margin:0;font-family:DM Sans,ui-sans-serif,system-ui,-apple-system,sans-serif;position:relative}body:before{content:"";z-index:-2;background:linear-gradient(155deg,#081220f2 0%,#122a44e6 35%,#2a2018d1 68%,#0a1826eb 100%),url(https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=2000&q=80) 50%/cover no-repeat;position:fixed;inset:0}body:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(110% 55% at 50% -18%,#ffffff1f,#0000 52%),radial-gradient(circle at 82% 18%,#a0d2ff17,#0000 38%),radial-gradient(circle at 12% 78%,#ffb98212,#0000 36%);position:fixed;inset:0}#root{z-index:0;max-width:none;height:100%;min-height:100%;margin:0;padding:0;position:relative}h1,h2,h3,h4{letter-spacing:-.01em;margin-top:0;font-weight:600}p{line-height:1.6}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.fullscreen-flow{flex-direction:column;min-height:100vh;display:flex;overflow:hidden}.flow-header{color:#f0f8fff2;background:0 0;flex-shrink:0;padding:clamp(.6rem,1.6vw,.9rem) clamp(1rem,3vw,2.75rem) clamp(.3rem,.8vw,.45rem)}.flow-header-top{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem;display:flex}.flow-header-brand{max-width:min(52ch,90vw)}.flow-tagline{color:#d2e4f8b8;margin:.3rem 0 0;font-size:.86rem;font-weight:400;line-height:1.5}.flow-header-stats{color:#dcebfccc;flex-wrap:wrap;justify-content:flex-end;gap:.55rem 1rem;font-size:.77rem;display:flex}.flow-header-stats strong{color:#fff;font-size:.92rem}.flow-progress-rail{background:#ffffff14;border-radius:999px;height:2px;margin-bottom:.55rem;overflow:hidden}.flow-progress-rail-fill{background:linear-gradient(90deg,#3eb5a6,#4aacde);border-radius:999px;height:100%;transition:width .6s cubic-bezier(.22,1,.36,1)}.flow-step-heading{margin-top:.45rem}.flow-step-title{color:#fff;letter-spacing:-.015em;margin:0;font-size:clamp(1.12rem,2vw,1.45rem);font-weight:600}.flow-header-solo{padding:.2rem 0}.flow-header-solo .flow-step-title{margin-top:.3rem}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:#d2e4f8b3;margin:0;font-size:.68rem;font-weight:500}.step-count{color:#c8daf099;margin:0 0 .3rem;font-size:.82rem}.section-nav-outer{box-shadow:none;background:0 0;border:none;border-radius:0;margin-bottom:0;position:relative}.section-nav-outer:before,.section-nav-outer:after{display:none}.section-nav{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity;flex-wrap:nowrap;align-items:center;gap:.35rem;padding:.35rem 0;display:flex;overflow:auto hidden}.section-nav::-webkit-scrollbar{display:none}.section-chip{color:#dcebffb3;cursor:pointer;scroll-snap-align:center;-webkit-tap-highlight-color:transparent;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:999px;outline:none;flex-shrink:0;align-items:center;gap:.35rem;padding:.32rem .6rem .32rem .38rem;font-size:.74rem;font-weight:500;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .3s,background .3s,color .2s;display:inline-flex}.section-chip:hover{color:#fff;background:#ffffff1a;border-color:#ffffff38;transform:translateY(-1px)}.section-chip:active{transform:scale(.97)}.section-chip-index{color:#dcebffcc;background:#ffffff1a;border-radius:999px;justify-content:center;align-items:center;width:20px;height:20px;font-size:.68rem;font-weight:700;transition:inherit;display:inline-flex}.section-chip-label{white-space:nowrap}.section-chip.active{color:#fff;background:#48b2d226;border-color:#48b2d28c;box-shadow:0 0 0 1px #48b2d233}.section-chip.active .section-chip-index{color:#fff;background:linear-gradient(145deg,#3eb5a6,#4aacde)}.section-chip.done:not(.active){color:#b4f0d2d9;background:#64c8a014;border-color:#64c8a059}.flow-main{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.flow-form{flex-direction:column;flex:1;min-height:0;display:flex}.flow-scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:clamp(.5rem,1.5vw,1rem) clamp(1rem,3vw,2.75rem);overflow:hidden auto}.flow-scroll--solo{padding-bottom:clamp(2rem,5vh,3.5rem)}.flow-footer{background:0 0;flex-shrink:0;padding:.55rem clamp(1rem,3vw,2.75rem) clamp(.6rem,1.5vh,1rem)}.flow-footer .actions{margin-top:0}.step-panel,.flow-panel,.results-card{-webkit-backdrop-filter:blur(20px)saturate(1.4);color:#1a2d42;background:#ffffffd1;border:1px solid #ffffff59;border-radius:20px;max-width:1100px;margin-left:auto;margin-right:auto;padding:clamp(1rem,2.5vw,1.5rem);box-shadow:0 8px 32px #06101e29,inset 0 1px #ffffff8c}.step-panel{animation:.45s cubic-bezier(.22,1,.36,1) both stepEnter}.flow-panel-title,.results-card h2,.flow-panel h2{color:#0f2438}@keyframes stepEnter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.step-panel{animation:none}.section-chip,.choice-card,.btn,.progress-fill{transition:none}}form label{color:#2c4054;flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:500;display:flex}input,textarea{letter-spacing:.005em;color:#1a2d42;background:#fcfefff2;border:1px solid #aac3dab3;border-radius:10px;padding:.7rem .85rem;font-family:inherit;font-size:.95rem;line-height:1.55;transition:border-color .2s,box-shadow .2s}input::placeholder,textarea::placeholder{color:#6482a08c;font-weight:400}input:focus,textarea:focus{border-color:#4aacde;outline:none;box-shadow:0 0 0 3px #4aacde26}textarea{resize:vertical}.grid-1{gap:.85rem;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.stack{gap:1rem;display:grid}.tile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.tile-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.group-heading{color:#1a3048;margin:0 0 .5rem;font-size:.98rem}.choice-card{text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;appearance:none;background:linear-gradient(168deg,#fffffff7,#f6fafff2);border:1px solid #b9d0e6d9;border-radius:14px;outline:none;min-height:136px;padding:1rem;transition:transform .35s cubic-bezier(.22,1,.36,1),border-color .3s,box-shadow .35s cubic-bezier(.22,1,.36,1),background .3s}.choice-card:focus-visible{box-shadow:0 0 0 3px #4aacde59,0 6px 20px #143c6414}.choice-card-content{grid-template-columns:auto 1fr;align-items:flex-start;gap:.75rem;display:grid}.tile-icon{color:#fff;background:linear-gradient(145deg,#2b6da0,#38a19a);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.1rem;display:inline-flex;box-shadow:0 3px 10px #28648238}.choice-card:hover{border-color:#5a96c8a6;transform:translateY(-2px);box-shadow:0 8px 24px #143c641a}.choice-card h3{color:#12283e;margin:0 0 .25rem;font-size:.96rem;font-weight:600}.choice-card p{color:#4d6880;margin:0;font-size:.88rem;line-height:1.45}.choice-card.active{background:linear-gradient(168deg,#fff,#eef8f6);border-color:#3eb5a6b3;box-shadow:0 0 0 2px #3eb5a633,0 10px 28px #1e50781a}.badge-chip{color:#2a5b8f;background:linear-gradient(135deg,#e6f3ff,#dce8f8);border-radius:999px;margin-top:.45rem;padding:.15rem .5rem;font-size:.69rem;font-weight:600;display:inline-flex}.review-block{background:linear-gradient(145deg,#f5fbfff7,#eef6fff2);border:1px solid #aac8e4cc;border-radius:14px;padding:1rem 1.1rem}.review-block h3{color:#12283e;font-size:1rem}.review-block p{color:#34556e;font-size:.92rem}.inline-note{color:#3a5f7e;background:#f5fafff2;border:1px solid #aac8e4b3;border-radius:10px;margin:0;padding:.7rem .9rem;font-size:.88rem;font-weight:400}.markdown-preview{background:#fafdfffa;border:1px dashed #8cb2d799;border-radius:10px;padding:.7rem .9rem}.preview-label{text-transform:uppercase;letter-spacing:.12em;color:#6088a8;margin:0 0 .35rem;font-size:.72rem;font-weight:500}.actions{justify-content:space-between;gap:.65rem;margin-top:1rem;display:flex}.btn{cursor:pointer;-webkit-tap-highlight-color:transparent;border:1px solid #0000;border-radius:10px;outline:none;padding:.62rem 1.1rem;font-family:inherit;font-size:.92rem;font-weight:600;transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s,filter .2s}.btn.primary{color:#fff;background:linear-gradient(125deg,#2d7dae,#38a19a);box-shadow:0 4px 16px #2d7dae4d}.btn.primary:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 8px 24px #2d7dae61}.btn.ghost{color:#2a4560;background:#ffffffd1;border-color:#aac3dacc}.btn.ghost:hover:not(:disabled){background:#fff;border-color:#9bbbd8}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-link{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.flow-error{z-index:50;max-width:min(520px,100vw - 2rem);position:fixed;bottom:1rem;left:50%;transform:translate(-50%);box-shadow:0 10px 36px #0003}.error-banner{color:#7a2424;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffebebf2;border:1px solid #e8a8a8;border-radius:12px;padding:.8rem 1rem;font-size:.9rem}.result-actions{flex-wrap:wrap;gap:.6rem;margin-bottom:.85rem;display:flex}.result-highlights{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-bottom:1rem;display:grid}.highlight-card{border:1px solid #b4d2eb99;border-radius:14px;padding:.85rem 1rem;box-shadow:0 4px 16px #0c28460f}.highlight-label{letter-spacing:.12em;text-transform:uppercase;color:#5a7a96;margin:0;font-size:.7rem;font-weight:500}.highlight-value{color:#0f2438;margin:.3rem 0 0;font-size:1.2rem;font-weight:700}.accent-teal{background:linear-gradient(145deg,#dafaf2f2,#e8fff8eb);border-color:#50c3aa59}.accent-teal .highlight-value{color:#166050}.accent-blue{background:linear-gradient(145deg,#def0fff2,#eef8ffeb);border-color:#50a0dc59}.accent-blue .highlight-value{color:#1a4a70}.accent-violet{background:linear-gradient(145deg,#ebe4fff2,#f6f2ffeb);border-color:#8c6ed24d}.accent-violet .highlight-value{color:#3a2878}.result-subtitle{color:#3e5870;margin-top:0;font-size:.92rem}.stream-status{color:#2c5478;background:#ebf5fff2;border:1px solid #aacdebb3;border-radius:10px;margin:0 0 .75rem;padding:.6rem .8rem;font-size:.88rem}.stream-checklist{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-bottom:.85rem;display:grid}.stream-checklist p{color:#3c5870;background:#f8fcfff2;border:1px solid #bed4e8cc;border-radius:8px;margin:0;padding:.5rem .6rem;font-size:.84rem;font-weight:500}.stream-checklist p.done{color:#1a6558;background:#e8faf2f2;border-color:#50be9b8c}.result-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-bottom:.85rem;display:grid}.result-grid article{background:#fcfefff2;border:1px solid #bed4e8bf;border-radius:14px;padding:.9rem}.result-grid article h3{color:#12283e;margin-bottom:.5rem;font-size:.92rem}.result-grid ul{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.result-grid li{justify-content:space-between;gap:.6rem;font-size:.9rem;display:flex}.big-value{color:#166050;margin:.15rem 0 .4rem;font-size:1.55rem;font-weight:700}.emphasis{color:#12283e;font-weight:700}.render-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-top:.5rem;display:grid}.render-grid figure{background:#fff;border:1px solid #bed4e8bf;border-radius:14px;margin:0;transition:transform .3s;overflow:hidden}.render-grid figure:hover{transform:scale(1.02)}.render-grid img{object-fit:cover;aspect-ratio:1;width:100%;display:block}.render-grid figcaption{color:#2a4560;padding:.5rem .7rem;font-size:.85rem;font-weight:500}.route-switch{gap:.35rem;margin-bottom:.5rem;display:inline-flex}.route-link{color:#dcebffbf;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:999px;justify-content:center;align-items:center;padding:.3rem .65rem;font-size:.74rem;font-weight:500;text-decoration:none;transition:background .25s,border-color .25s,color .2s;display:inline-flex}.route-link:hover{color:#fff;background:#ffffff1a}.route-link.active{color:#fff;background:#48b2d226;border-color:#48b2d280}.chat-layout{gap:.85rem;display:grid}.chat-thread{gap:.55rem;display:grid}.chat-bubble{background:#fafdfff2;border:1px solid #b9d0e6cc;border-radius:12px;padding:.7rem .85rem}.chat-bubble.user{background:#ecfcf4f2;border-color:#64be9b8c}.chat-role{letter-spacing:.1em;text-transform:uppercase;color:#3e6282;margin:0 0 .2rem;font-size:.7rem;font-weight:600}.chat-bubble p{color:#1a2d42;margin:0;font-size:.92rem}.chat-bubble.streaming{opacity:.9;border-style:dashed}.chat-thinking{color:#4d6880;align-items:center;gap:.5rem;padding:.5rem 0;font-size:.84rem;display:flex}.thinking-dot{background:linear-gradient(135deg,#3eb5a6,#4aacde);border-radius:999px;width:8px;height:8px;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}.thinking-label{font-weight:500}.chat-info-bar{border-radius:10px;align-items:flex-start;gap:.5rem;padding:.6rem .8rem;font-size:.86rem;line-height:1.5;display:flex}.chat-info-bar.missing{color:#6a4e1e;background:#fff5e6f2;border:1px solid #dcb4788c}.chat-info-bar.ready{color:#1a5c4a;background:#e6faf2f2;border:1px solid #50be9b73}.info-bar-icon{flex-shrink:0;margin-top:1px;font-size:1.05rem}.chat-compose{gap:.55rem;display:grid}.chat-action-row{align-items:center;gap:.5rem;display:flex}.chat-generate-btn{flex:1}.result-panel{margin-top:.85rem}.markdown-content :is(p,ul,ol){margin:0}.markdown-content ul,.markdown-content ol{padding-left:1rem}.markdown-content p+p,.markdown-content p+ul,.markdown-content ul+p{margin-top:.3rem}@media (width<=1040px){.tile-grid,.grid-3,.result-highlights,.result-grid,.render-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.grid-2,.grid-3,.tile-grid,.result-highlights,.result-grid,.render-grid,.stream-checklist{grid-template-columns:1fr}.flow-header-top{flex-direction:column}}
