:root{--color-primary: #1e40af;--color-primary-strong: #16308a;--color-on-primary: #ffffff;--color-secondary: #3b82f6;--color-accent: #16a34a;--color-background: #eef4ff;--color-foreground: #1e3a8a;--color-text: #0f1d47;--color-card: #ffffff;--color-muted: #e6eefb;--color-muted-foreground: #475569;--color-border: #c9dbfb;--color-destructive: #b91c1c;--color-ring: #1e40af;--color-bot: #ffffff;--grad-user: linear-gradient(135deg, #2148c7 0%, #1a37a0 100%);--color-user-text: #ffffff;--panel-bg: #f7faff;--font-head: "Lexend", system-ui, sans-serif;--font-body: "Source Sans 3", system-ui, sans-serif;--r-md: 12px;--r-lg: 18px;--shadow-1: 0 1px 2px rgba(15, 29, 71, .06), 0 1px 1px rgba(15, 29, 71, .04);--shadow-2: 0 6px 20px rgba(15, 29, 71, .09);--shadow-3: 0 24px 60px rgba(15, 29, 71, .18);--dur-in: .24s;--dur-out: .16s}@media (prefers-color-scheme: dark){:root{--color-primary: #93b4ff;--color-primary-strong: #b7ccff;--color-on-primary: #0b1a45;--color-secondary: #3b82f6;--color-accent: #4ade80;--color-background: #070d1b;--color-foreground: #e6ecff;--color-text: #e6ecff;--color-card: #121b30;--color-muted: #18233b;--color-muted-foreground: #a7b4cc;--color-border: #26324a;--color-destructive: #f87171;--color-ring: #93b4ff;--color-bot: #121b30;--grad-user: linear-gradient(135deg, #a8c1ff 0%, #86a8ff 100%);--color-user-text: #0b1a45;--panel-bg: #0d1526;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 6px 20px rgba(0, 0, 0, .4);--shadow-3: 0 24px 60px rgba(0, 0, 0, .55)}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font:400 16px/1.6 var(--font-body);color:var(--color-text);background:radial-gradient(1000px 500px at 85% -10%,rgba(59,130,246,.18),transparent 60%),radial-gradient(800px 500px at -10% 110%,rgba(30,64,175,.14),transparent 60%),var(--color-background);background-attachment:fixed;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit;color:inherit}a{color:var(--color-primary)}:focus-visible{outline:3px solid var(--color-ring);outline-offset:2px}.muted{color:var(--color-muted-foreground)}.small{font-size:14px}.center{text-align:center}.skip-link{position:absolute;left:8px;top:-60px;background:var(--color-primary);color:var(--color-on-primary);padding:10px 14px;border-radius:var(--r-md);z-index:100}.skip-link:focus{top:8px}.layout{height:100dvh;display:flex;justify-content:center}.shell{display:flex;flex-direction:column;height:100dvh;width:100%;max-width:720px;background:var(--panel-bg)}.stage{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 16px 20px}.stage--center{display:grid;place-content:center;gap:16px;text-align:center}.hero{display:none}@media (min-width: 960px){.layout{padding:28px;gap:28px;align-items:stretch;justify-content:center}.hero{display:block;flex:0 1 440px;border-radius:28px;color:#fff;background:radial-gradient(420px 320px at 100% 0%,rgba(96,165,250,.45),transparent 65%),radial-gradient(360px 300px at 0% 100%,rgba(37,99,235,.5),transparent 65%),linear-gradient(160deg,#1e40af,#142f87 55%,#0b2058);box-shadow:var(--shadow-3);overflow:hidden;position:relative}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1.2px);background-size:22px 22px;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 45%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 45%,transparent 100%);pointer-events:none}.hero__inner{position:relative;z-index:1;height:100%;padding:40px 36px;display:flex;flex-direction:column;gap:20px;overflow-y:auto}.shell{height:100%;max-height:calc(100dvh - 56px);flex:0 1 640px;border-radius:28px;border:1px solid var(--color-border);box-shadow:var(--shadow-3);overflow:hidden}.brand,.back-link{display:none}.app-header__row{justify-content:flex-end}}.hero__brand{display:flex;align-items:center;gap:12px}.hero__mark{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#ffffff29;border:1px solid rgba(255,255,255,.28);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hero__org{font:500 15px/1.3 var(--font-head);letter-spacing:.01em;opacity:.95}.hero__title{margin:12px 0 0;font:700 clamp(28px,3vw,36px) / 1.2 var(--font-head);text-wrap:balance}.hero__lead{margin:0;font-size:17px;line-height:1.6;opacity:.92;max-width:38ch}.hero__points{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:16px}.hero__points li{display:flex;gap:14px;align-items:flex-start}.hero__icon{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:12px;background:#ffffff24}.hero__points strong{display:block;font:600 16px/1.3 var(--font-head)}.hero__text{display:block;font-size:15px;opacity:.85;margin-top:2px}.hero__link{margin-top:auto;color:#fff;font-weight:600;text-decoration:none;opacity:.9;min-height:44px;display:inline-flex;align-items:center}.hero__link:hover{text-decoration:underline;opacity:1}.app-header{flex:none;padding:12px 16px;background:color-mix(in srgb,var(--panel-bg) 88%,transparent);border-bottom:1px solid var(--color-border)}.app-header__row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:8px}.back-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;text-decoration:none;font-weight:600;font-size:15px}.back-link:hover{text-decoration:underline}.privacy-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:var(--color-muted);color:var(--color-foreground);font-size:14px;font-weight:600;border:1px solid var(--color-border)}.brand{display:flex;align-items:center;gap:12px}.brand__mark{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#2a55d8,#16308a);color:#fff;box-shadow:0 6px 14px #1e40af59}.brand__title{margin:0;font:600 20px/1.2 var(--font-head);color:var(--color-foreground)}.brand__sub{margin:2px 0 0;font-size:14px;color:var(--color-muted-foreground)}.progress{margin-top:12px}@media (min-width: 960px){.progress{margin-top:0}.app-header{min-height:64px}}.progress__meta{display:flex;justify-content:space-between;gap:8px;font-size:14px;color:var(--color-muted-foreground);margin-bottom:6px}.progress__section{font-weight:600;color:var(--color-foreground)}.progress__track{height:8px;border-radius:999px;background:var(--color-muted);overflow:hidden}.progress__bar{height:100%;background:linear-gradient(90deg,var(--color-secondary),var(--color-primary));border-radius:999px;transition:width var(--dur-in) ease-out}.log{display:flex;flex-direction:column;gap:8px;padding-top:14px}.row{display:flex;align-items:flex-end;gap:8px;animation:rise var(--dur-in) ease-out both}.row--user{justify-content:flex-end}.avatar{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:linear-gradient(145deg,#2a55d8,#16308a);color:#fff;box-shadow:var(--shadow-1)}.avatar--ghost{background:transparent;box-shadow:none}.bubble{max-width:min(84%,520px);padding:11px 16px;border-radius:var(--r-lg);box-shadow:var(--shadow-1);overflow-wrap:anywhere;white-space:pre-wrap}.bubble--bot{background:var(--color-bot);border:1px solid var(--color-border);border-bottom-left-radius:6px}.bubble--user{background:var(--grad-user);color:var(--color-user-text);border-bottom-right-radius:6px;box-shadow:0 4px 12px #1e40af40}.bubble--error{border-color:var(--color-destructive);display:flex;gap:8px}.bubble__icon{color:var(--color-destructive);flex:none;margin-top:3px}.bubble--typing{display:inline-flex;gap:5px;padding:15px 16px}.dot{width:7px;height:7px;border-radius:50%;background:var(--color-muted-foreground);animation:blink 1s infinite ease-in-out}.dot:nth-child(2){animation-delay:.15s}.dot:nth-child(3){animation-delay:.3s}.section-chip{align-self:center;margin:14px 0 4px;padding:5px 16px;border-radius:999px;background:var(--color-muted);border:1px solid var(--color-border);color:var(--color-foreground);font:600 14px/1.4 var(--font-head)}.review,.done{background:var(--color-card);border:1px solid var(--color-border);border-radius:22px;box-shadow:var(--shadow-2);padding:18px;margin-top:6px;animation:rise var(--dur-in) ease-out both}.review__title,.done__title{margin:0 0 8px;font:600 19px/1.3 var(--font-head);color:var(--color-foreground)}.review__list{margin:0}.review__item{display:flex;justify-content:space-between;gap:8px;padding:10px 0;border-top:1px solid var(--color-border)}.review__text{min-width:0}.review__item dt{font-size:14px;color:var(--color-muted-foreground)}.review__item dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.review__files{list-style:none;margin:0;padding:0}.done{text-align:center;padding:28px 20px}.done__icon{color:var(--color-accent);filter:drop-shadow(0 6px 12px rgba(22,163,74,.3))}.done__ref-label{margin:14px 0 0;font-size:14px;color:var(--color-muted-foreground)}.done__ref{margin:4px auto 12px;padding:8px 20px;display:inline-block;font:700 26px/1.3 var(--font-head);letter-spacing:.06em;color:var(--color-foreground);background:var(--color-muted);border:1px dashed var(--color-border);border-radius:var(--r-md);font-variant-numeric:tabular-nums}.dock{flex:none;max-height:60dvh;overflow-y:auto;padding:12px 16px calc(14px + env(safe-area-inset-bottom));background:var(--color-card);border-top:1px solid var(--color-border);box-shadow:0 -8px 24px #0f1d470d}.composer{display:flex;flex-direction:column;gap:8px}.composer--choices,.composer--stack{gap:10px}.composer__row{display:flex;gap:8px;align-items:flex-end}.composer__actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.hint{margin:0;font-size:14px;color:var(--color-muted-foreground)}.input{flex:1;min-width:0;min-height:50px;padding:11px 16px;border:1.5px solid var(--color-border);border-radius:16px;background:var(--panel-bg);transition:border-color var(--dur-out) ease,box-shadow var(--dur-out) ease}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-primary) 18%,transparent);outline:none}.input--area{resize:vertical;max-height:40vh}.input[aria-invalid=true]{border-color:var(--color-destructive)}.field-error{margin:0;padding:0;list-style:none;color:var(--color-destructive);font-size:15px;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 20px;border-radius:14px;border:1px solid transparent;font-weight:600;cursor:pointer;transition:background-color var(--dur-out) ease,transform var(--dur-out) ease,box-shadow var(--dur-out) ease,filter var(--dur-out) ease;touch-action:manipulation}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn--primary{background:linear-gradient(135deg,#2a55d8,#1a37a0);color:#fff;box-shadow:0 6px 16px #1e40af4d}@media (prefers-color-scheme: dark){.btn--primary{background:linear-gradient(135deg,#a8c1ff,#86a8ff);color:#0b1a45;box-shadow:0 6px 16px #86a8ff40}}.btn--primary:not(:disabled):hover{filter:brightness(1.07);box-shadow:0 8px 20px #1e40af61}.btn--outline{background:var(--color-card);border-color:var(--color-primary);color:var(--color-primary)}.btn--outline:hover{background:var(--color-muted)}.btn--ghost{background:transparent;color:var(--color-primary);min-height:44px}.btn--ghost:not(:disabled):hover{background:var(--color-muted)}.btn--icon{width:50px;min-height:50px;padding:0;flex:none;border-radius:16px}.btn--wide{width:100%}.icon-btn{display:grid;place-items:center;width:44px;height:44px;flex:none;border:0;border-radius:var(--r-md);background:transparent;color:var(--color-primary);cursor:pointer}.icon-btn:hover:not(:disabled){background:var(--color-muted)}.icon-btn--small{width:32px;height:32px}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .8s linear infinite}.choice{display:flex;align-items:center;gap:14px;width:100%;min-height:72px;padding:14px 16px;text-align:left;border:1.5px solid var(--color-border);border-radius:20px;background:var(--color-card);color:var(--color-text);box-shadow:var(--shadow-1);cursor:pointer;transition:transform var(--dur-out) ease,border-color var(--dur-out) ease,box-shadow var(--dur-out) ease;touch-action:manipulation}.choice:hover{transform:translateY(-2px);border-color:var(--color-primary);box-shadow:var(--shadow-2)}.choice:active{transform:scale(.99)}.choice__icon{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:14px;background:var(--color-muted);color:var(--color-primary)}.choice__body{display:flex;flex-direction:column;min-width:0;flex:1}.choice__title{font:600 17px/1.3 var(--font-head);color:var(--color-foreground)}.choice__blurb{font-size:15px;line-height:1.4;color:var(--color-muted-foreground);margin-top:2px}.choice__caret{flex:none;color:var(--color-muted-foreground)}.dropzone{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 16px;border:2px dashed var(--color-border);border-radius:20px;background:var(--panel-bg);text-align:center;color:var(--color-primary)}.dropzone--over{border-color:var(--color-primary);background:var(--color-muted)}.dropzone__title{margin:0;font-weight:600;color:var(--color-text)}.chips{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.chip{display:flex;align-items:center;gap:8px;padding:4px 4px 4px 12px;border:1px solid var(--color-border);border-radius:var(--r-md);background:var(--panel-bg)}.chip__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes rise{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}@keyframes blink{0%,80%,to{opacity:.3}40%{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media (min-width: 960px){.brand,.back-link{display:none}.app-header__row{justify-content:flex-end;margin-bottom:0}.app-header{display:flex;flex-direction:column;justify-content:center;gap:10px;min-height:64px}.progress{margin-top:0}}@media (min-width: 960px) and (max-height: 820px){.hero__inner{padding:28px 30px;gap:14px}.hero__title{font-size:27px;margin-top:4px}.hero__lead{font-size:15px}.hero__points{gap:10px;margin-top:0}.hero__text{display:none}.hero__icon{width:36px;height:36px}}
