@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";:root{color:#16181b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--text:#16181b;--muted:#6f7883;--muted-strong:#30363d;--surface:#ffffffdb;--surface-strong:#f8fafcf5;--surface-soft:#fffffff5;--surface-softer:#f5f8fbfa;--field-bg:#fffffffa;--field-bg-alt:#f3f6f9f5;--user-message-bg:linear-gradient(135deg, #178f7214, #ecf4f1fa);--border:#14181d1a;--accent:#178f72;--accent-strong:#0f6d57;--pill-bg:#178f721a;--button-muted-bg:#178f721a;--button-muted-text:#0f6d57;--button-primary-bg:linear-gradient(135deg, #0f6d57, #178f72);--button-primary-text:#f7fbfa;--ring:#178f7229;--shadow-soft:0 20px 50px #151a2114;background:radial-gradient(circle at 0 0,#3ec8a51a,#0000 24%),radial-gradient(circle at 85% 12%,#546dd614,#0000 22%),linear-gradient(#f6f7f9 0%,#eceff3 100%);font-family:Plus Jakarta Sans,Segoe UI,sans-serif;font-weight:400;line-height:1.6}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:0 0;min-width:320px;min-height:100dvh;margin:0}body,button,input,select,textarea{font-family:inherit}button,select,textarea{touch-action:manipulation}main{width:min(1480px,100% - 1.5rem);margin:0 auto}h1,h2,p{margin:0}h1,h2,strong{color:var(--text)}h1{letter-spacing:-.045em;max-width:11ch;font-family:Plus Jakarta Sans,Segoe UI,sans-serif;font-size:clamp(3rem,6vw,5rem);font-weight:800;line-height:1.02}h2{font-size:clamp(1.3rem,2vw,1.75rem);font-weight:700;line-height:1.2}p{color:var(--muted-strong)}@media (width<=720px){main{width:min(100% - .75rem,1480px)}}.required-star{color:#ef4444;font-weight:700}.randomize-top-button{font-size:.95rem;min-height:2.6rem!important;padding:0 1.5rem!important}.app-shell{grid-template-rows:auto minmax(0,1fr);min-height:100dvh;display:grid}.topbar{justify-content:space-between;align-items:center;gap:1rem;margin-top:.35rem;padding:1rem 0 .5rem;display:flex}.topbar__brand{align-items:center;display:inline-flex}.topbar__language-switch{color:var(--button-muted-text);border:1px solid var(--border);background:var(--button-muted-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;align-items:center;gap:.6rem;min-height:2.75rem;padding:.3rem .35rem .3rem .8rem;font-size:.9rem;display:inline-flex}.topbar__actions{align-items:center;gap:.75rem;display:inline-flex}.setup-shell{place-items:center;padding:.75rem 0 1.5rem;display:grid}.setup-card,.chat-sidebar,.chat-main,.composer,.message,.sidebar-card,.setup-section,.preview-card{border:1px solid var(--border);box-shadow:var(--shadow-soft)}.field__label,.eyebrow,.section-kicker,.message__role,.status-pill,.mode-pill,.sidebar-card span,.sidebar-card__row span,.checkbox-field{align-items:center;gap:.55rem;display:inline-flex}.sidebar-card__row strong{color:var(--text)}.setup-card__footer p,.sidebar-card p,.sidebar-card pre,.chat-header__meta,.chat-sidebar p,.setup-section__header p,.preview-card pre{color:var(--muted)}.setup-card,.chat-sidebar,.chat-main{background:linear-gradient(180deg, var(--surface-soft), var(--surface));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:1.5rem}.setup-card{width:min(820px,100%);padding:1.25rem}.setup-card__header,.setup-card__footer,.chat-header,.sidebar-card__row,.composer{justify-content:space-between;align-items:center;gap:1rem;display:flex}.setup-card__header,.chat-header{margin-bottom:.75rem}.setup-card__header{align-items:center}.status-pill,.message__role,.section-kicker,.eyebrow{letter-spacing:.12em;text-transform:uppercase;border-radius:999px;width:fit-content;padding:.5rem .8rem;font-size:.76rem;font-weight:700}.status-pill,.message__role{background:var(--pill-bg)}.status-pill--wide{text-align:center;justify-content:center;min-width:8.5rem}.eyebrow,.section-kicker{color:var(--accent-strong)}.setup-section{background:var(--surface-strong);border-radius:1rem;margin-top:.6rem;padding:.85rem}.setup-section--inline-row{align-items:flex-end;gap:.75rem;display:flex}.setup-section--inline-row .field{flex:1;min-width:0}.setup-section__header{margin-bottom:.6rem}.setup-section__header h2{font-size:.95rem}.setup-section__header p{margin-top:.2rem;font-size:.82rem}.setup-section__header--actions{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.field-grid{gap:.65rem;display:grid}.field-grid--double{grid-template-columns:repeat(2,minmax(0,1fr))}.field{gap:.35rem;display:grid}.field--span-2,.field--full{grid-column:1/-1}.field__label,.sidebar-card span,.sidebar-card__row span{color:var(--muted-strong);letter-spacing:.04em;font-size:.84rem;font-weight:700}.field__label-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.select-wrap{position:relative}.select-wrap--small select{min-height:2.5rem;box-shadow:none;background:0 0;border:none;border-radius:999px;outline:none;padding:.55rem 2rem .55rem .8rem}.select-wrap--small svg{right:.6rem}.topbar__language-switch .select-wrap--small{background:0 0;border:none}.select-wrap svg{pointer-events:none;color:var(--muted);display:block;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.select-wrap select,.field textarea,.field input,.composer textarea,.setup-card button,.secondary-button,.composer button{font:inherit}.select-wrap select,.field textarea,.field input,.composer textarea{width:100%;color:var(--text);border:1px solid var(--border);background:var(--field-bg);box-sizing:border-box;border-radius:1rem;transition:border-color .18s,box-shadow .18s,transform .18s}.field input,.select-wrap select{min-height:2.6rem;padding:.55rem .85rem;line-height:1.2}.select-wrap select{appearance:none;padding-right:2.75rem}.field textarea{resize:vertical;min-height:4.5rem;padding:.55rem .85rem;line-height:1.5}.checkbox-grid,.trait-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.trait-group{border:1px solid var(--border);background:var(--surface-soft);border-radius:.75rem;margin:0;padding:.7rem}.trait-group legend{color:var(--text);padding:0 .25rem;font-size:.84rem;font-weight:600}.trait-group__header{justify-content:space-between;align-items:center;gap:1rem;margin-top:.35rem;display:flex}.trait-group__count{color:var(--muted);font-size:.78rem}.trait-add-button{border:1px solid var(--border);background:var(--button-muted-bg);min-height:2.4rem;color:var(--button-muted-text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;padding:0 .9rem}.trait-selected-list,.talent-selected-list{flex-wrap:wrap;gap:.6rem;margin-top:.85rem;display:flex}.talent-selected-list{min-height:2.1rem}.trait-chip{border:1px solid var(--border);background:var(--button-muted-bg);min-height:2.1rem;color:var(--button-muted-text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;align-items:center;gap:.45rem;padding:0 .75rem;display:inline-flex}.trait-chip--custom{border-style:dashed}.trait-picker{border-top:1px solid var(--border);gap:.9rem;margin-top:.9rem;padding-top:.9rem;display:grid}.talent-picker__meta{color:var(--muted);font-size:.88rem}.talent-group-list{gap:1rem;max-height:min(20rem,42vh);padding-right:.2rem;display:grid;overflow:auto}.talent-group-section{gap:.7rem;display:grid}.talent-group-section h3{color:var(--muted-strong);margin:0;font-size:.92rem}.talent-picker-inline .trait-options{grid-template-columns:1fr;max-height:none;padding-right:0;overflow:visible}.trait-group--talent-compact{padding-top:.85rem}.talent-picker-inline .trait-option{align-items:center}.talent-picker-inline .trait-option input{margin-top:0}.trait-custom-card{border:1px solid var(--border);background:var(--field-bg);border-radius:.9rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.75rem;display:grid}.trait-custom-card input{border:1px solid var(--border);background:var(--surface-strong);width:100%;min-height:2.75rem;color:var(--text);border-radius:.8rem;padding:.75rem .9rem}.trait-custom-stack{gap:.7rem;display:grid}.trait-custom-add{border:1px dashed var(--border);background:var(--button-muted-bg);min-height:2.75rem;color:var(--button-muted-text);text-align:left;border-radius:.9rem;padding:0 .9rem}.trait-custom-remove{border:1px solid var(--border);background:var(--button-muted-bg);width:2.4rem;height:2.4rem;color:var(--button-muted-text);border-radius:.8rem;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.trait-custom-remove svg{stroke-width:2.4px;width:.95rem;height:.95rem}.trait-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.5rem;display:grid}.trait-option{border:1px solid var(--border);background:var(--field-bg);color:var(--muted-strong);cursor:pointer;border-radius:.65rem;align-items:flex-start;gap:.5rem;padding:.55rem .7rem;font-size:.84rem;display:flex}.trait-option input{accent-color:var(--accent);margin:.2rem 0 0}.trait-custom-input{gap:.5rem;display:grid}.trait-custom-input span{color:var(--muted-strong);font-size:.84rem;font-weight:700}.trait-custom-input input{border:1px solid var(--border);background:var(--surface-strong);width:100%;min-height:2.75rem;color:var(--text);border-radius:.8rem;padding:.75rem .9rem}.trait-option:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:var(--pill-bg)}.trait-modal-overlay{z-index:100;background:#00000059;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.trait-modal{background:var(--surface-soft);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:14px;grid-template-rows:auto auto auto minmax(0,1fr);gap:.75rem;width:100%;max-width:560px;max-height:80vh;padding:1.25rem;display:grid;overflow:hidden}.trait-modal__header{justify-content:space-between;align-items:center;display:flex}.trait-modal__header h3{margin:0;font-size:1.05rem}.trait-modal__options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding-right:.25rem;display:grid;overflow-y:auto}.checkbox-field{background:var(--field-bg-alt);color:var(--muted-strong);border-radius:.75rem;align-items:flex-start;padding:.6rem .75rem;font-size:.85rem}.checkbox-field input{accent-color:var(--accent);margin:.15rem 0 0}.preview-card pre,.sidebar-card pre{white-space:pre-wrap;word-break:break-word;margin:0;font-family:IBM Plex Sans,Segoe UI,sans-serif;font-size:.9rem;line-height:1.55}.setup-card button,.secondary-button,.composer button{cursor:pointer;border:none;transition:transform .18s,opacity .18s,background-color .18s}.setup-card button,.secondary-button{border-radius:999px;justify-content:center;align-items:center;gap:.45rem;min-height:2.5rem;padding:0 1rem;font-size:.88rem;display:inline-flex}.setup-card button:not(.secondary-button):not(.trait-add-button):not(.trait-chip):not(.trait-custom-add):not(.trait-custom-remove):not(.mini-action-button):not(.education-remove-button){color:#f7fbfa;background:linear-gradient(135deg, var(--accent-strong), var(--accent))}.secondary-button{color:var(--button-muted-text);background:var(--button-muted-bg);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.trait-add-button,.trait-chip,.trait-custom-add,.trait-custom-remove,.mini-action-button,.education-remove-button{color:var(--button-muted-text)!important;background:var(--button-muted-bg)!important}.mini-action-button{border:1px solid var(--border);background:var(--button-muted-bg);min-height:2.35rem;color:var(--button-muted-text);border-radius:999px;justify-content:center;align-items:center;gap:.45rem;padding:0 .85rem;display:inline-flex}.education-stack{gap:.5rem;display:grid}.education-card{border:1px solid var(--border);background:var(--field-bg);border-radius:.75rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:.5rem;padding:.6rem;display:grid}.education-remove-button{border:1px solid var(--border);background:var(--button-muted-bg);width:2.5rem;height:2.5rem;color:var(--button-muted-text);border-radius:.8rem;align-self:end}.primary-button{color:var(--button-primary-text)!important;background:var(--button-primary-bg)!important}.setup-card__footer{margin-top:.75rem}.setup-card__footer--spaced{padding-top:1rem}.setup-card__footer--actions{justify-content:flex-end}.setup-card button:disabled,.composer button:disabled{opacity:.45;cursor:not-allowed}.chat-shell{grid-template-columns:260px minmax(0,1fr);gap:.9rem;height:calc(100dvh - 4.25rem);min-height:0;padding:.75rem 0 1rem;display:grid;overflow:hidden}.chat-shell--full{grid-template-columns:minmax(0,1fr)}.chat-main{height:100%;min-height:0}.chat-sidebar{align-content:start;gap:.85rem;padding:1rem;display:grid;overflow:auto}.sidebar-block{gap:.8rem;display:grid}.sidebar-card{background:var(--surface-strong);border-radius:1rem;gap:.85rem;padding:.9rem;display:grid}.sidebar-card--text p,.message__body p{white-space:pre-wrap}.sidebar-card--json{max-height:20rem;overflow:auto}.chat-main{grid-template-rows:auto minmax(0,1fr) auto auto;padding:1rem 1.1rem;display:grid;overflow:hidden}.chat-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.2rem;padding-bottom:.9rem;display:flex}.chat-header__actions{justify-items:end;gap:.6rem;display:grid}.settings-summary-bar{border:1px solid var(--border);background:var(--surface-soft);border-radius:10px;margin-bottom:1rem;overflow:hidden}.settings-summary-toggle{width:100%;color:var(--accent-strong);cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.85rem;font-weight:600;display:flex}.settings-summary-toggle svg{transition:transform .2s}.settings-summary-toggle .chevron-open{transform:rotate(180deg)}.settings-summary-content{padding:0 1rem .8rem}.settings-summary-grid{color:var(--text);grid-template-columns:1fr 1fr;gap:.35rem 1.5rem;font-size:.82rem;line-height:1.5;display:grid}.settings-summary-grid strong{color:var(--muted-strong)}.settings-summary-span{grid-column:1/-1}.chat-header__buttons{gap:.5rem;display:flex}.feedback-overlay{z-index:100;background:#00000059;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.feedback-modal{background:var(--surface-soft);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:14px;gap:.8rem;width:100%;max-width:540px;padding:1.5rem;display:grid}.feedback-modal__header{justify-content:space-between;align-items:center;display:flex}.feedback-modal__header h3{margin:0;font-size:1.1rem}.feedback-modal__close{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25rem}.feedback-modal__close:hover{color:var(--text);background:var(--field-bg-alt)}.feedback-modal__hint{color:var(--muted);margin:0;font-size:.82rem;line-height:1.5}.feedback-modal__textarea{resize:vertical;border:1px solid var(--border);background:var(--field-bg);width:100%;min-height:100px;color:var(--text);border-radius:8px;padding:.75rem;font-family:inherit;font-size:.9rem;line-height:1.5}.feedback-modal__textarea:focus{outline:2px solid var(--ring);border-color:var(--accent)}.feedback-modal__footer{gap:.5rem;display:grid}.feedback-modal__send{width:100%;min-height:2.8rem;font:inherit;cursor:pointer;color:var(--button-primary-text);background:var(--button-primary-bg);border:none;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;padding:0 1.2rem;font-size:.92rem;font-weight:600;transition:opacity .18s,transform .18s;display:flex}.feedback-modal__send:hover:not(:disabled){transform:translateY(-1px)}.feedback-modal__send:disabled{opacity:.45;cursor:not-allowed}.feedback-modal__success{color:var(--accent-strong);text-align:center;font-size:.85rem;font-weight:600}.feedback-modal__error{color:#dc2626;text-align:center;font-size:.85rem;font-weight:600}.chat-request-id{text-align:right;justify-items:end;gap:.25rem;display:grid}.chat-request-id span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}.chat-request-id strong{color:var(--muted-strong);font-family:IBM Plex Sans,Segoe UI,sans-serif;font-size:.88rem}.chat-request-text{color:var(--muted);margin-top:.35rem;font-family:IBM Plex Sans,Segoe UI,sans-serif;font-size:.88rem}.chat-request-text--meta{text-align:right;margin-top:0;font-size:.8rem}.message-list{flex-direction:column;align-items:stretch;gap:.8rem;min-height:0;padding:.9rem 0 1rem;display:flex;overflow:auto}.chat-empty-state{text-align:center;place-items:center;min-height:100%;padding:2rem 1rem;display:grid}.chat-empty-state p{color:var(--text);border:2px dashed var(--border);background:var(--field-bg-alt);border-radius:1rem;max-width:420px;padding:1.5rem 2rem;font-size:1.15rem;font-weight:600;line-height:1.6}.message{background:var(--surface-softer);border-radius:1rem;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.9rem;width:fit-content;max-width:min(80%,900px);padding:.95rem 1rem;display:grid}.message--user{background:var(--user-message-bg);grid-template-columns:minmax(0,1fr) auto;place-self:flex-end end}.message--assistant{align-self:flex-start}.message--user .message__avatar{order:2}.message--user .message__body{text-align:right;order:1}.message__avatar{background:var(--pill-bg);width:2rem;height:2rem;color:var(--accent-strong);border-radius:.8rem;flex-shrink:0;place-items:center;display:grid}.message__body{gap:.55rem;display:grid}.message__body p{color:var(--text)}.typing-indicator{align-items:center;gap:.35rem;min-height:1.5rem;padding:.3rem 0;display:inline-flex}.typing-indicator span{background:var(--muted-strong);opacity:.35;border-radius:999px;width:.42rem;height:.42rem;animation:1.1s ease-in-out infinite typing-bounce}.typing-indicator span:nth-child(2){animation-delay:.15s}.typing-indicator span:nth-child(3){animation-delay:.3s}.message--loading{position:relative;overflow:visible}.message--loading:after{display:none}.composer{background:var(--surface-strong);border-radius:1rem;padding:.7rem .75rem}.composer textarea{resize:none;background:0 0;border:none;min-height:3rem;max-height:10rem;padding:.55rem .7rem;line-height:1.55}.composer button{color:#f7fbfa;background:linear-gradient(135deg, var(--accent-strong), var(--accent));border-radius:999px;place-items:center;width:3rem;height:3rem;display:grid}.select-wrap select:focus-visible,.field textarea:focus-visible,.field input:focus-visible,.composer textarea:focus-visible,.setup-card button:focus-visible,.secondary-button:focus-visible,.composer button:focus-visible{box-shadow:0 0 0 4px var(--ring);outline:none}.setup-card button:not(:disabled):hover,.secondary-button:hover,.composer button:not(:disabled):hover{transform:translateY(-1px)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.logs-shell{gap:1rem;padding:1rem 0 1.5rem;display:grid}.logs-header{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.logs-title{max-width:none;font-size:clamp(2rem,3vw,2.8rem)}.logs-actions{align-items:end;gap:.75rem;display:flex}.logs-filter{min-width:320px}.logs-list{gap:1rem;display:grid}.log-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:1rem;gap:.9rem;padding:1rem;display:grid}.log-card__meta{justify-content:space-between;align-items:center;gap:1rem;display:flex}.log-card__meta span{color:var(--muted);font-size:.9rem}.log-card__block{gap:.45rem;display:grid}.log-card__block span{color:var(--muted-strong);font-size:.84rem;font-weight:700}.log-card__block pre{background:var(--field-bg);color:var(--text);border-radius:.85rem;margin:0;padding:.9rem;font-family:IBM Plex Sans,Segoe UI,sans-serif;font-size:.86rem;overflow:auto}.log-card__block--error pre{color:#ffb4b4}@keyframes shimmer{to{transform:translate(100%)}}@keyframes typing-bounce{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.message--loading:after{animation:none}.typing-indicator span{opacity:.65;animation:none}.select-wrap select,.field textarea,.field input,.composer textarea,.setup-card button,.secondary-button,.composer button{transition:none}}@media (width<=980px){.chat-shell,.field-grid--double,.checkbox-grid,.trait-options,.trait-sections{grid-template-columns:1fr}.chat-shell{gap:1rem;height:auto;overflow:visible}.chat-sidebar,.chat-main{height:auto;min-height:auto}.logs-header,.logs-actions{flex-direction:column;align-items:stretch}.logs-filter{min-width:0}}@media (width<=720px){.topbar{flex-direction:column;align-items:stretch}.topbar__actions{flex-wrap:wrap}.topbar__language-switch{justify-content:space-between}.chat-shell{gap:1rem}.setup-shell{padding:1rem 0}.setup-card{padding:1rem}.setup-card__footer,.chat-header,.composer,.setup-card__header,.setup-section__header--actions,.trait-group__header,.field__label-row{flex-direction:column;align-items:stretch}.education-card{grid-template-columns:1fr;align-items:stretch}.composer button,.setup-card button,.secondary-button,.status-pill--wide{width:100%}}
