@charset "UTF-8";:root{--font-heading: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-body: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-weight-heading: 600;--font-weight-body: 400}*,*:before,*:after{box-sizing:border-box}html,body{font-family:sans-serif;margin:0;height:100%;-webkit-tap-highlight-color:transparent}.app{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1;padding:1rem}body{font-family:var(--font-body);font-weight:var(--font-weight-body)}h1,h2,h3{font-family:var(--font-heading);font-weight:var(--font-weight-heading)}:root{--font-body: "Inter", system-ui, sans-serif;--font-heading: "Inter", system-ui, sans-serif;--content-max-width: 640px;--content-padding: 2rem;--color-text: #1a1a1a;--color-text-muted: #6b6b6b;--color-bg: #ffffff;--color-bg-subtle: #f7f7f5;--color-border: #e0e0dc;--color-border-hover: #b0b0a8;--line-height-body: 1.65;--line-height-heading: 1.3;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem}@font-face{font-family:Inter;src:url(/mosaic/assets/Inter-Italic-VariableFont_opsz_wght-B-9PvMw6.ttf) format("truetype");font-style:italic;font-display:swap}@font-face{font-family:Inter;src:url(/mosaic/assets/Inter-VariableFont_opsz_wght-c8O0ljhh.ttf) format("truetype");font-style:normal;font-display:swap}.screen{max-width:var(--content-max-width);margin:0 auto;padding:var(--content-padding)}.app-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--content-padding);max-width:var(--content-max-width);margin:0 auto}.app-header h1{font-size:1rem;font-weight:600;color:var(--color-text);margin:0}.header-auth{display:flex;align-items:center;gap:var(--space-sm)}.header-auth__email{font-size:.8rem;color:var(--color-text-muted)}.header-auth__logout{padding:0;margin:0;background:none;border:none;font-family:var(--font-body);font-size:.8rem;color:var(--color-text-muted);cursor:pointer;transition:color .15s ease}.header-auth__logout:hover{color:var(--color-text)}.screen__error{color:#8b3a3a;padding:var(--space-lg);text-align:center}.loading-spinner{display:flex;justify-content:center;padding:var(--space-2xl) 0}.spinner{width:24px;height:24px;border:2px solid var(--color-border);border-top-color:var(--color-text-muted);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.home-choice{padding-top:var(--space-2xl)}.home-choice__heading{font-size:1.25rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-sm)}.home-choice__description{font-size:.95rem;color:var(--color-text-muted);line-height:var(--line-height-body);margin-bottom:var(--space-xl)}.home-choice__actions{display:flex;gap:var(--space-md)}.home-choice__btn{padding:.6rem 1.25rem;border-radius:6px;font-family:var(--font-body);font-size:.9rem;font-weight:500;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.home-choice__btn:disabled{opacity:.6;cursor:not-allowed}.home-choice__btn--primary{background:var(--color-text);color:var(--color-bg);border:1px solid var(--color-text)}.home-choice__btn--primary:hover:not(:disabled){background:#333}.home-choice__btn--secondary{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border)}.home-choice__btn--secondary:hover:not(:disabled){border-color:var(--color-border-hover)}.config-chooser{padding-top:var(--space-2xl)}.config-chooser__heading{font-size:1.25rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-xl)}.config-chooser__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-md)}.config-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-xs);padding:var(--space-lg);background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;cursor:pointer;text-align:left;font-family:var(--font-body);transition:border-color .15s ease,box-shadow .15s ease}.config-card:hover:not(:disabled){border-color:var(--color-border-hover);box-shadow:0 1px 4px #0000000f}.config-card:disabled{opacity:.6;cursor:not-allowed}.config-card__label{font-size:1rem;font-weight:600;color:var(--color-text)}.config-card__description{font-size:.85rem;color:var(--color-text-muted);line-height:var(--line-height-body)}.login-form{padding-top:var(--space-2xl);max-width:320px}.login-form__heading{font-size:1.25rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-xl)}.login-form__field{margin-bottom:var(--space-md)}.login-form__label{display:block;font-size:.8rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-xs)}.login-form__input{width:100%;padding:var(--space-sm) var(--space-md);font-family:var(--font-body);font-size:1rem;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;box-sizing:border-box;transition:border-color .15s ease}.login-form__input:focus{outline:none;border-color:var(--color-border-hover)}.login-form__error{color:#8b3a3a;font-size:.85rem;margin-bottom:var(--space-md)}.login-form__error[hidden]{display:none}.login-form__submit{width:100%;padding:.6rem 1.25rem;background:var(--color-text);color:var(--color-bg);border:1px solid var(--color-text);border-radius:6px;font-family:var(--font-body);font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .15s ease}.login-form__submit:hover:not(:disabled){background:#333}.login-form__submit:disabled{opacity:.6;cursor:not-allowed}.conversation-opening{padding-top:var(--space-xl)}.opening-text{margin-bottom:var(--space-2xl)}.opening-text p{font-size:1.05rem;line-height:var(--line-height-body);color:var(--color-text);margin-bottom:var(--space-lg);max-width:62ch}.opening-text p:last-child{margin-bottom:0}.route-selector{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-xl)}.route-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-xs);padding:var(--space-lg);background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;cursor:pointer;text-align:left;font-family:var(--font-body);transition:border-color .15s ease}.route-card:hover:not(:disabled){border-color:var(--color-border-hover)}.route-card:disabled{opacity:.6;cursor:not-allowed}.route-card__label{font-size:1rem;font-weight:500;color:var(--color-text)}.route-card__description{font-size:.875rem;color:var(--color-text-muted)}.conversation-prompting{padding-top:var(--space-xl)}.prompt-placeholder__theme{font-size:.8rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-sm)}.prompt-placeholder__text{font-size:1.1rem;line-height:var(--line-height-body);color:var(--color-text);margin-bottom:var(--space-lg)}.prompt-placeholder__examples{padding:var(--space-lg);background:var(--color-bg-subtle);border-radius:6px;margin-bottom:var(--space-lg)}.prompt-placeholder__examples-heading{font-size:.85rem;font-weight:500;color:var(--color-text-muted);margin-bottom:var(--space-sm)}.prompt-placeholder ul{margin:0;padding-left:var(--space-lg)}.prompt-placeholder ul li{font-size:.9rem;color:var(--color-text-muted);line-height:1.5;margin-bottom:var(--space-xs);font-style:italic}.conversation-prompting__notice{margin-top:var(--space-xl);padding:var(--space-lg);background:var(--color-bg-subtle);border-radius:6px;font-size:.85rem;color:var(--color-text-muted);text-align:center}.prompt-display{margin-bottom:var(--space-xl)}.prompt-display__theme{font-size:.8rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-sm)}.prompt-display__text{font-size:1.1rem;line-height:var(--line-height-body);color:var(--color-text);margin-bottom:var(--space-lg)}.prompt-display__examples{padding:var(--space-lg);background:var(--color-bg-subtle);border-radius:6px}.prompt-display__examples-heading{font-size:.85rem;font-weight:500;color:var(--color-text-muted);margin-bottom:var(--space-sm)}.prompt-display ul{margin:0;padding-left:var(--space-lg)}.prompt-display ul li{font-size:.9rem;color:var(--color-text-muted);line-height:1.5;margin-bottom:var(--space-xs);font-style:italic}.response-form{position:sticky;bottom:0;z-index:10;background:var(--color-bg);padding-top:var(--space-lg);padding-bottom:var(--space-lg)}.response-form:before{content:"";position:absolute;bottom:100%;left:-2rem;right:-2rem;height:32px;background:linear-gradient(to bottom,transparent,var(--color-bg));pointer-events:none}.response-form__textarea{width:100%;min-height:140px;padding:var(--space-md);font-family:var(--font-body);font-size:1rem;line-height:var(--line-height-body);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;resize:vertical;box-sizing:border-box;transition:border-color .15s ease}.response-form__textarea:focus{outline:none;border-color:var(--color-border-hover)}.response-form__textarea:disabled{opacity:.6;cursor:not-allowed}.response-form__textarea::placeholder{color:var(--color-text-muted);opacity:.6}.response-form__hint{font-size:.8rem;color:var(--color-text-muted);margin-top:var(--space-xs);margin-bottom:0}.response-form__hint[hidden]{display:none}.response-form__footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-md)}.response-form__word-count{font-size:.85rem;color:var(--color-text-muted)}.response-form__submit{padding:.6rem 1.25rem;background:var(--color-text);color:var(--color-bg);border:1px solid var(--color-text);border-radius:6px;font-family:var(--font-body);font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .15s ease}.response-form__submit:hover:not(:disabled){background:#333}.response-form__submit:disabled{opacity:.6;cursor:not-allowed}.response-form__submit--thinking{display:inline-flex;align-items:center;gap:var(--space-sm)}.response-form__submit--thinking:disabled{opacity:1;cursor:wait}.response-form__submit-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#ffffffe6;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.response-form__submit-label{white-space:nowrap}.response-form__error{color:#8b3a3a;font-size:.85rem;margin-top:var(--space-sm);text-align:right}.route-offer{padding-top:var(--space-xl)}.route-offer__message{font-size:1.05rem;line-height:var(--line-height-body);color:var(--color-text);margin-bottom:var(--space-xl)}.route-offer__actions{display:flex;gap:var(--space-md)}.route-offer__btn{padding:.6rem 1.25rem;border-radius:6px;font-family:var(--font-body);font-size:.9rem;font-weight:500;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.route-offer__btn:disabled{opacity:.6;cursor:not-allowed}.route-offer__btn--primary{background:var(--color-text);color:var(--color-bg);border:1px solid var(--color-text)}.route-offer__btn--primary:hover:not(:disabled){background:#333}.route-offer__btn--secondary{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border)}.route-offer__btn--secondary:hover:not(:disabled){border-color:var(--color-border-hover)}.conversation-complete{padding-top:var(--space-2xl)}.conversation-complete__heading{font-size:1.25rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-sm)}.conversation-complete__summary{font-size:.95rem;color:var(--color-text-muted);line-height:var(--line-height-body);margin-bottom:var(--space-xl)}.conversation-complete__synthesis{padding:var(--space-xl);background:var(--color-bg-subtle);border-radius:6px;margin-bottom:var(--space-xl)}.conversation-complete__action{padding:.6rem 1.25rem;background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:6px;font-family:var(--font-body);font-size:.9rem;font-weight:500;cursor:pointer;transition:border-color .15s ease}.conversation-complete__action:hover{border-color:var(--color-border-hover)}.synthesis__heading{font-size:1rem;font-weight:600;color:var(--color-text);margin:0 0 var(--space-lg)}.synthesis__summary{font-size:.95rem;line-height:var(--line-height-body);color:var(--color-text);margin:0 0 var(--space-xl)}.synthesis__section{margin-bottom:var(--space-lg);padding-left:var(--space-md);border-left:2px solid var(--color-border)}.synthesis__section-heading{font-size:.85rem;font-weight:600;color:var(--color-text);margin:0 0 var(--space-xs)}.synthesis__section-narrative{font-size:.9rem;line-height:var(--line-height-body);color:var(--color-text);margin:0}.synthesis__block{margin-bottom:var(--space-lg)}.synthesis__block-heading{font-size:.85rem;font-weight:600;color:var(--color-text);margin:0 0 var(--space-sm)}.synthesis__list{margin:0;padding-left:var(--space-lg)}.synthesis__list li{font-size:.9rem;line-height:var(--line-height-body);color:var(--color-text);margin-bottom:var(--space-xs)}.synthesis__closing{font-size:.9rem;line-height:var(--line-height-body);color:var(--color-text-muted);font-style:italic;padding-top:var(--space-md);border-top:1px solid var(--color-border);margin:0}.synthesis__text p{font-size:.9rem;line-height:var(--line-height-body);color:var(--color-text);margin:0 0 var(--space-md)}.synthesis__text p:last-child{margin-bottom:0}.synthesis__placeholder{font-size:.9rem;color:var(--color-text-muted);line-height:var(--line-height-body);margin:0}.reinforcement{display:flex;align-items:flex-start;gap:var(--space-sm)}.reinforcement__indicator{font-size:.7rem;color:var(--color-text-muted);line-height:1.65;flex-shrink:0}.reinforcement__message{font-size:.85rem;color:var(--color-text);line-height:var(--line-height-body);margin:0}.reinforcement--toast{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);max-width:500px;width:calc(100% - 2rem);z-index:80;padding:var(--space-md) var(--space-lg);background:var(--color-bg-subtle);border-left:3px solid var(--color-border-hover);border-radius:6px;box-shadow:0 4px 16px #00000014;animation:reinforcement-enter .4s ease-out}.reinforcement--exiting{animation:reinforcement-exit .4s ease-in forwards}@keyframes reinforcement-enter{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes reinforcement-exit{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(12px)}}.theme-progress{margin-bottom:var(--space-xl)}.theme-progress__heading{font-size:.7rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-sm)}.theme-progress__track{display:flex;justify-content:space-between;align-items:flex-start;position:relative}.theme-progress__track:before{content:"";position:absolute;top:5px;left:5px;right:5px;height:1px;background:var(--color-border)}.theme-progress__item{display:flex;flex-direction:column;align-items:center;position:relative;z-index:1}.theme-progress__dot{width:10px;height:10px;border-radius:50%;background:var(--color-bg);border:1.5px solid var(--color-border);margin-bottom:var(--space-xs);transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.theme-progress__item--completed .theme-progress__dot{background:var(--color-text);border-color:var(--color-text)}.theme-progress__item--active .theme-progress__dot{border-color:var(--color-text-muted);box-shadow:0 0 0 3px var(--color-bg),0 0 0 4.5px var(--color-border)}.theme-progress__item--completed.theme-progress__item--active .theme-progress__dot{background:var(--color-text);border-color:var(--color-text);box-shadow:0 0 0 3px var(--color-bg),0 0 0 4.5px var(--color-text-muted)}.theme-progress__label{font-size:.7rem;color:var(--color-text-muted);text-align:center;opacity:.5;transition:opacity .2s ease,color .2s ease}.theme-progress__item--completed .theme-progress__label,.theme-progress__item--active .theme-progress__label{opacity:1}.theme-progress__item--active .theme-progress__label{color:var(--color-text);font-weight:500}.turn-history{margin-bottom:var(--space-lg)}.turn-history__toggle{display:inline-flex;align-items:center;padding:0;margin:0;background:none;border:none;font-family:var(--font-body);font-size:.8rem;font-weight:500;color:var(--color-text-muted);cursor:pointer;transition:color .15s ease}.turn-history__toggle:hover{color:var(--color-text)}.turn-history__heading{font-size:.8rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-md)}.turn-history__list{margin-top:var(--space-md);border-left:2px solid var(--color-border);padding-left:var(--space-lg)}.turn-history__loading{font-size:.85rem;color:var(--color-text-muted);font-style:italic}.turn-history--readonly .turn-history__list{margin-top:0}.turn-entry{margin-bottom:var(--space-lg)}.turn-entry:last-child{margin-bottom:0}.turn-entry__prompt{font-size:.85rem;font-weight:500;color:var(--color-text-muted);margin-bottom:var(--space-xs);line-height:var(--line-height-body)}.turn-entry__response{font-size:.9rem;color:var(--color-text);line-height:var(--line-height-body);padding:var(--space-sm) var(--space-md);background:var(--color-bg-subtle);border-radius:4px}.shortcut-hint{position:fixed;bottom:1rem;right:1rem;z-index:50;display:flex;align-items:center;justify-content:center;padding:0;width:24px;height:24px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;font-family:var(--font-body);font-size:.75rem;color:var(--color-text-muted);cursor:pointer;opacity:.35;transition:opacity .15s ease,border-color .15s ease}.shortcut-hint:hover{opacity:1;border-color:var(--color-border-hover)}.shortcut-hint kbd{font-family:inherit;font-size:inherit}.shortcut-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#00000040;animation:shortcut-modal-enter .15s ease-out}.shortcut-modal__card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;padding:var(--space-xl);max-width:340px;width:90vw;box-shadow:0 8px 32px #0000001f}.shortcut-modal__heading{font-size:.95rem;font-weight:600;color:var(--color-text);margin:0 0 var(--space-lg)}.shortcut-modal__list{display:flex;flex-direction:column;gap:var(--space-sm)}.shortcut-modal__row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xs) 0}.shortcut-modal__keys{display:flex;align-items:center;gap:var(--space-xs)}.shortcut-modal__separator{font-size:.7rem;color:var(--color-text-muted)}.shortcut-modal__kbd{display:inline-flex;align-items:center;justify-content:center;min-width:24px;padding:2px 6px;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:4px;font-family:var(--font-body);font-size:.75rem;font-weight:500;color:var(--color-text);line-height:1.4}.shortcut-modal__desc{font-size:.85rem;color:var(--color-text-muted)}@keyframes shortcut-modal-enter{0%{opacity:0}to{opacity:1}}.context-capture{margin-top:var(--space-xl)}.context-capture__prompt{font-size:1rem;line-height:var(--line-height-body);color:var(--color-text);margin-bottom:var(--space-lg)}.context-capture__grid{display:flex;flex-direction:column;gap:var(--space-sm)}.context-capture__skip{margin-top:var(--space-lg);padding:.5rem 1rem;background:none;border:none;font-family:var(--font-body);font-size:.85rem;color:var(--color-text-muted);cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:color .15s ease}.context-capture__skip:hover:not(:disabled){color:var(--color-text)}.context-capture__skip:disabled{opacity:.6;cursor:not-allowed}.context-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-xs);padding:var(--space-md) var(--space-lg);background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;cursor:pointer;text-align:left;font-family:var(--font-body);transition:border-color .15s ease}.context-card:hover:not(:disabled){border-color:var(--color-border-hover)}.context-card:disabled{opacity:.6;cursor:not-allowed}.context-card__label{font-size:.95rem;font-weight:500;color:var(--color-text)}.context-card__note{font-size:.8rem;color:var(--color-text-muted);line-height:1.45}.conversation-upload{padding-top:var(--space-xl)}.conversation-upload__message{font-size:1rem;line-height:var(--line-height-body);color:var(--color-text);margin-bottom:var(--space-lg)}.conversation-upload__skip{display:block;margin-top:var(--space-lg);padding:.5rem 0;background:none;border:none;font-family:var(--font-body);font-size:.85rem;color:var(--color-text-muted);cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:color .15s ease}.conversation-upload__skip:hover{color:var(--color-text)}.document-upload__message{font-size:1.05rem;line-height:var(--line-height-body);color:var(--color-text);margin-bottom:var(--space-sm)}.document-upload__hint{font-size:.8rem;color:var(--color-text-muted);margin-bottom:var(--space-lg)}.document-upload__dropzone{display:flex;align-items:center;justify-content:center;min-height:140px;border:2px dashed var(--color-border);border-radius:6px;background:var(--color-bg-subtle);cursor:pointer;transition:border-color .15s,background-color .15s}.document-upload__dropzone:hover{border-color:var(--color-border-hover)}.document-upload__dropzone--active{border-color:var(--color-border-hover);background:#f0f0ec}.document-upload__dropzone-label{font-size:.9rem;color:var(--color-text-muted);pointer-events:none}.document-upload__file-input{display:none}.document-upload__file-list{list-style:none;margin:var(--space-lg) 0 0;padding:0}.document-upload__file-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:6px;margin-bottom:var(--space-sm);font-size:.85rem;background:var(--color-bg)}.document-upload__file-item--uploading{opacity:.7}.document-upload__file-item--done{border-color:#b0c8a0;background:#f6faf3}.document-upload__file-item--error{border-color:#d4a0a0;background:#faf3f3}.document-upload__file-name{flex:1;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-upload__file-size{color:var(--color-text-muted);flex-shrink:0}.document-upload__file-status{color:var(--color-text-muted);flex-shrink:0;font-size:.8rem}.document-upload__file-status--error{color:#a04040}.document-upload__file-remove{background:none;border:none;color:var(--color-text-muted);font-size:.8rem;cursor:pointer;padding:0;flex-shrink:0}.document-upload__file-remove:hover{color:var(--color-text)}.document-upload__error{color:#a04040;font-size:.85rem;min-height:1.2em;margin:var(--space-sm) 0}.document-upload__error:empty{display:none}.document-upload__submit{display:block;width:100%;padding:var(--space-md) var(--space-lg);margin-top:var(--space-md);background:var(--color-text);color:var(--color-bg);border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:opacity .15s}.document-upload__submit:hover:not(:disabled){opacity:.85}.document-upload__submit:disabled{opacity:.4;cursor:not-allowed}.processing-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl) var(--space-lg);text-align:center;min-height:240px}.processing-indicator__dots{display:flex;gap:8px;margin-bottom:var(--space-xl)}.processing-indicator__dot{width:10px;height:10px;border-radius:50%;background:var(--color-border-hover);animation:processing-pulse 1.4s ease-in-out infinite}@keyframes processing-pulse{0%,80%,to{opacity:.2;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.processing-indicator__stage{font-size:1.1rem;font-weight:500;color:var(--color-text);margin-bottom:var(--space-sm);transition:opacity .3s ease}.processing-indicator__stage--fading{opacity:0}.processing-indicator__subtitle{font-size:.8rem;color:var(--color-text-muted)}.app--wide .app-header{max-width:none}.app--wide .app-main{padding:0}.sandbox{display:grid;grid-template-columns:minmax(28px,1fr) minmax(420px,1fr) 440px;height:calc(100vh - 48px);overflow:hidden;transition:grid-template-columns .35s cubic-bezier(.4,0,.2,1)}.sandbox--left-collapsed{grid-template-columns:minmax(28px,0fr) minmax(420px,1fr) 440px}.sandbox--right-collapsed{grid-template-columns:minmax(28px,1fr) minmax(420px,1fr) 28px}.sandbox--left-collapsed.sandbox--right-collapsed{grid-template-columns:minmax(28px,0fr) minmax(420px,1fr) 28px}.sandbox__panel{overflow-y:auto;overflow-x:hidden;padding:var(--space-md);position:relative;min-width:0}.sandbox__panel--editor{background:var(--color-bg-subtle);border-right:1px solid var(--color-border)}.sandbox__panel--preview{background:var(--color-bg);border-right:1px solid var(--color-border)}.sandbox__panel--inspector{background:var(--color-bg-subtle);font-size:.85rem}.sandbox__panel-content{opacity:1;transition:opacity .2s ease}.sandbox--left-collapsed .sandbox__panel--editor{padding:0;overflow:hidden}.sandbox--left-collapsed .sandbox__panel--editor .sandbox__panel-content{opacity:0;pointer-events:none}.sandbox--right-collapsed .sandbox__panel--inspector{padding:0;overflow:hidden}.sandbox--right-collapsed .sandbox__panel--inspector .sandbox__panel-content{opacity:0;pointer-events:none}.sandbox__toggle{position:absolute;top:var(--space-sm);width:22px;height:22px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;font-size:.6rem;color:var(--color-text-muted);cursor:pointer;z-index:5;transition:color .15s ease,border-color .15s ease}.sandbox__toggle:hover{color:var(--color-text);border-color:var(--color-border-hover)}.sandbox__toggle--left{right:var(--space-xs)}.sandbox--left-collapsed .sandbox__toggle--left{right:3px}.sandbox__toggle--right{left:var(--space-xs)}.sandbox--right-collapsed .sandbox__toggle--right{left:3px}.sandbox__mobile-toolbar,.sandbox__backdrop{display:none}@media(max-width:900px){.sandbox{display:block;position:relative;height:calc(100vh - 48px);overflow:hidden;transition:none}.sandbox__panel--preview{width:100%;height:100%;overflow-y:auto;border-right:none}.sandbox__panel--editor,.sandbox__panel--inspector{position:fixed;top:48px;bottom:0;width:100%;z-index:20;transition:transform .35s cubic-bezier(.4,0,.2,1);overflow-y:auto}.sandbox__panel--editor{left:0;transform:translate(0);border-right:none}.sandbox--left-collapsed .sandbox__panel--editor{transform:translate(-100%);padding:var(--space-md);overflow-y:auto}.sandbox--left-collapsed .sandbox__panel--editor .sandbox__panel-content{opacity:1;pointer-events:auto}.sandbox__panel--inspector{right:0;left:auto;transform:translate(0)}.sandbox--right-collapsed .sandbox__panel--inspector{transform:translate(100%);padding:var(--space-md);overflow-y:auto}.sandbox--right-collapsed .sandbox__panel--inspector .sandbox__panel-content{opacity:1;pointer-events:auto}.sandbox__toggle{top:var(--space-md);width:32px;height:32px;font-size:.75rem}.sandbox__toggle--left,.sandbox--left-collapsed .sandbox__toggle--left{right:var(--space-md)}.sandbox__toggle--right,.sandbox--right-collapsed .sandbox__toggle--right{left:var(--space-md)}.sandbox__backdrop{display:none;position:fixed;inset:48px 0 0;background:#0000004d;z-index:15;opacity:0;transition:opacity .3s ease}.sandbox:not(.sandbox--left-collapsed) .sandbox__backdrop,.sandbox:not(.sandbox--right-collapsed) .sandbox__backdrop{display:block;opacity:1}.sandbox.sandbox--left-collapsed.sandbox--right-collapsed .sandbox__backdrop{display:none}.sandbox__mobile-toolbar{display:flex;gap:var(--space-sm);padding-bottom:var(--space-sm);margin-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.sandbox__mobile-btn{padding:var(--space-xs) var(--space-sm);background:none;border:1px solid var(--color-border);border-radius:4px;font-family:var(--font-body);font-size:.8rem;color:var(--color-text-muted);cursor:pointer;transition:border-color .15s ease,color .15s ease}.sandbox__mobile-btn:hover{border-color:var(--color-border-hover);color:var(--color-text)}.trigger-form__conditions{grid-template-columns:1fr}}.screen--sandbox-chooser{max-width:480px;margin:0 auto;padding:var(--content-padding)}.config-chooser__heading{font-size:1.25rem;font-weight:600;margin-bottom:var(--space-lg)}.config-chooser__actions{display:flex;gap:var(--space-sm);margin-bottom:var(--space-xl)}.config-chooser__btn{padding:.5rem 1rem;border-radius:6px;font-family:var(--font-body);font-size:.85rem;font-weight:500;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.config-chooser__btn:disabled{opacity:.6;cursor:not-allowed}.config-chooser__btn--primary{background:var(--color-text);color:var(--color-bg);border:1px solid var(--color-text)}.config-chooser__btn--primary:hover:not(:disabled){background:#333}.config-chooser__btn--secondary{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border)}.config-chooser__btn--secondary:hover:not(:disabled){border-color:var(--color-border-hover)}.config-chooser__list{display:flex;flex-direction:column;gap:var(--space-sm)}.config-chooser__item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;cursor:pointer;text-align:left;font-family:var(--font-body);transition:border-color .15s ease}.config-chooser__item:hover{border-color:var(--color-border-hover)}.config-chooser__item-label{font-size:.9rem;font-weight:500}.config-chooser__item-meta{font-size:.75rem;color:var(--color-text-muted)}.config-chooser__empty,.config-chooser__error{font-size:.9rem;color:var(--color-text-muted);padding:var(--space-md) 0}.config-chooser__error{color:#8b3a3a}.config-editor__header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-md)}.config-editor__title{font-size:1rem;font-weight:600;margin:0}.config-editor__version{font-size:.75rem;color:var(--color-text-muted)}.config-editor__tabs{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.config-editor__tab{padding:var(--space-xs) var(--space-sm);background:none;border:none;border-bottom:2px solid transparent;font-family:var(--font-body);font-size:.8rem;font-weight:500;color:var(--color-text-muted);cursor:pointer;transition:color .15s ease,border-color .15s ease}.config-editor__tab:hover{color:var(--color-text)}.config-editor__tab--active{color:var(--color-text);border-bottom-color:var(--color-text)}.editor-intro{font-size:.8rem;line-height:1.55;color:var(--color-text-muted);margin:0 0 var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-bg);border-left:3px solid var(--color-border);border-radius:0 4px 4px 0}.editor-hint{font-size:.75rem;line-height:1.45;color:var(--color-text-muted);margin:-2px 0 var(--space-sm);padding:0}.sandbox-editor__add{display:block;width:100%;padding:var(--space-xs) var(--space-sm);margin-bottom:var(--space-md);background:none;border:1px dashed var(--color-border);border-radius:6px;font-family:var(--font-body);font-size:.8rem;color:var(--color-text-muted);cursor:pointer;transition:border-color .15s ease,color .15s ease}.sandbox-editor__add:hover{border-color:var(--color-border-hover);color:var(--color-text)}.sandbox-editor__item{border:1px solid var(--color-border);border-radius:6px;margin-bottom:var(--space-sm);background:var(--color-bg)}.sandbox-editor__item-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);cursor:pointer;-webkit-user-select:none;user-select:none}.sandbox-editor__item-header:hover{background:var(--color-bg-subtle)}.sandbox-editor__item-title{flex:1;font-size:.85rem;font-weight:500}.sandbox-editor__item-badge{font-size:.7rem;color:var(--color-text-muted);background:var(--color-bg-subtle);padding:2px 6px;border-radius:3px}.sandbox-editor__item-toggle{background:none;border:none;font-size:.7rem;color:var(--color-text-muted);cursor:pointer;padding:0}.sandbox-editor__save{display:block;width:100%;padding:var(--space-sm);margin-top:var(--space-md);background:var(--color-text);color:var(--color-bg);border:1px solid var(--color-text);border-radius:6px;font-family:var(--font-body);font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color .15s ease}.sandbox-editor__save:hover{background:#333}.sandbox-editor__remove{background:none;border:none;font-size:1.1rem;color:var(--color-text-muted);cursor:pointer;padding:0 4px;line-height:1}.sandbox-editor__remove:hover{color:#8b3a3a}.sandbox-editor__theme-row{display:flex;gap:var(--space-xs);align-items:center;margin-bottom:var(--space-sm)}.sandbox-editor__input{padding:var(--space-xs) var(--space-sm);font-family:var(--font-body);font-size:.85rem;border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);background:var(--color-bg);flex:1;min-width:0}.sandbox-editor__input:focus{outline:none;border-color:var(--color-border-hover)}.sandbox-editor__input--sm{max-width:100px}.sandbox-editor__subheading{font-size:.85rem;font-weight:600;margin-bottom:var(--space-sm)}.sandbox-editor__group,.sandbox-editor__budget-group{margin-bottom:var(--space-lg)}.sandbox-editor__section-toggle{display:flex;gap:var(--space-xs);margin-bottom:var(--space-md)}.sandbox-editor__section-btn{flex:1;padding:var(--space-xs) var(--space-sm);background:none;border:1px solid var(--color-border);border-radius:4px;font-family:var(--font-body);font-size:.8rem;color:var(--color-text-muted);cursor:pointer;transition:border-color .15s ease,color .15s ease}.sandbox-editor__section-btn:hover{border-color:var(--color-border-hover)}.sandbox-editor__section-btn--active{border-color:var(--color-text);color:var(--color-text);font-weight:500}.sandbox-editor__budget-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.item-form{padding:var(--space-sm) var(--space-md) var(--space-md);border-top:1px solid var(--color-border)}.item-form__field{margin-bottom:var(--space-sm)}.item-form__field--inline{display:flex;align-items:center;gap:var(--space-sm)}.item-form__label{display:block;font-size:.75rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.item-form__label--inline{margin-bottom:0;text-transform:none}.item-form__input,.item-form__select{width:100%;padding:var(--space-xs) var(--space-sm);font-family:var(--font-body);font-size:.85rem;border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);background:var(--color-bg);box-sizing:border-box}.item-form__input:focus,.item-form__select:focus{outline:none;border-color:var(--color-border-hover)}.item-form__input--sm,.item-form__select--sm{max-width:120px}.item-form__textarea{width:100%;padding:var(--space-xs) var(--space-sm);font-family:var(--font-body);font-size:.85rem;border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);background:var(--color-bg);box-sizing:border-box;resize:vertical;line-height:1.5}.item-form__textarea:focus{outline:none;border-color:var(--color-border-hover)}.item-form__textarea--sm{font-size:.8rem}.item-form__textarea--error{border-color:#8b3a3a}.item-form__checkbox{margin:0}.item-form__examples{margin-bottom:var(--space-sm)}.item-form__examples-list{display:flex;flex-direction:column;gap:var(--space-xs)}.item-form__example-row{display:flex;gap:var(--space-xs);align-items:flex-start}.item-form__remove{background:none;border:none;font-size:1.1rem;color:var(--color-text-muted);cursor:pointer;padding:2px;line-height:1}.item-form__remove:hover{color:#8b3a3a}.item-form__add-example{background:none;border:none;font-family:var(--font-body);font-size:.8rem;color:var(--color-text-muted);cursor:pointer;padding:var(--space-xs) 0}.item-form__add-example:hover{color:var(--color-text)}.item-form__actions{display:flex;gap:var(--space-sm);margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.item-form__save{padding:var(--space-xs) var(--space-md);background:var(--color-text);color:var(--color-bg);border:1px solid var(--color-text);border-radius:4px;font-family:var(--font-body);font-size:.8rem;font-weight:500;cursor:pointer}.item-form__save:hover{background:#333}.item-form__delete{padding:var(--space-xs) var(--space-md);background:none;color:#8b3a3a;border:1px solid #d4a0a0;border-radius:4px;font-family:var(--font-body);font-size:.8rem;cursor:pointer}.item-form__delete:hover{background:#fdf2f2;border-color:#8b3a3a}.trigger-form{padding:var(--space-sm) var(--space-md) var(--space-md);border-top:1px solid var(--color-border)}.trigger-form__conditions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xs)}.trigger-form__condition-row{display:flex;align-items:center;gap:var(--space-xs)}.trigger-form__condition-label{font-size:.8rem;color:var(--color-text-muted);min-width:90px}.trigger-form__followup{margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px dashed var(--color-border)}.conversation-preview__toolbar{display:flex;justify-content:flex-end;padding-bottom:var(--space-sm);margin-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.conversation-preview__restart{padding:var(--space-xs) var(--space-sm);background:none;border:1px solid var(--color-border);border-radius:4px;font-family:var(--font-body);font-size:.8rem;color:var(--color-text-muted);cursor:pointer;transition:border-color .15s ease,color .15s ease}.conversation-preview__restart:hover{border-color:var(--color-border-hover);color:var(--color-text)}.conversation-preview__error{color:#8b3a3a;font-size:.9rem;text-align:center;padding:var(--space-lg) 0}.conversation-preview__complete{text-align:center;padding:var(--space-xl) 0}.conversation-preview__complete h3{font-size:1.1rem;font-weight:600;margin-bottom:var(--space-sm)}.conversation-preview__complete-reason{font-size:.85rem;color:var(--color-text-muted);margin-bottom:var(--space-lg)}.conversation-preview .response-form{position:static;background:var(--color-bg)}.conversation-preview .response-form:before{display:none}.metadata-inspector__heading{font-size:1rem;font-weight:600;margin-bottom:var(--space-md)}.metadata-inspector__placeholder{color:var(--color-text-muted);font-size:.85rem;padding:var(--space-lg) 0;text-align:center}.metadata-inspector__turn-info{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm);background:var(--color-bg);border-radius:4px;margin-bottom:var(--space-md)}.metadata-inspector__turn-label{font-weight:600;font-size:.85rem}.metadata-inspector__action-label{font-size:.75rem;color:var(--color-text-muted);background:var(--color-bg-subtle);padding:2px 6px;border-radius:3px}.metadata-inspector__section{margin-bottom:var(--space-lg)}.metadata-inspector__section-heading{font-size:.85rem;font-weight:600;margin-bottom:var(--space-sm);padding-bottom:var(--space-xs);border-bottom:1px solid var(--color-border)}.metadata-inspector__subsection{margin-top:var(--space-sm);margin-bottom:var(--space-sm)}.metadata-inspector__subsection-heading{font-size:.8rem;font-weight:500;color:var(--color-text-muted);margin-bottom:var(--space-xs)}.metadata-inspector__detail{font-size:.8rem;color:var(--color-text);margin-bottom:var(--space-xs)}.metadata-inspector__detail--warn{color:#8b6b3a}.metadata-inspector__error{font-size:.8rem;color:#8b3a3a}.metadata-inspector__pre{font-family:SF Mono,Monaco,Menlo,monospace;font-size:.75rem;background:var(--color-bg);padding:var(--space-sm);border-radius:4px;border:1px solid var(--color-border);overflow-x:auto;white-space:pre-wrap;word-break:break-word}.metadata-inspector__quote{font-size:.8rem;font-style:italic;padding:var(--space-sm);margin:0;border-left:3px solid var(--color-border);background:var(--color-bg);border-radius:0 4px 4px 0}.metadata-inspector__kv{display:flex;flex-direction:column;gap:2px}.metadata-inspector__kv-row{display:flex;justify-content:space-between;padding:2px var(--space-sm);border-radius:2px}.metadata-inspector__kv-row:nth-child(odd){background:var(--color-bg)}.metadata-inspector__kv-key{font-size:.8rem;color:var(--color-text-muted)}.metadata-inspector__kv-value{font-size:.8rem;font-weight:500;font-family:SF Mono,Monaco,Menlo,monospace}.score-bar{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.score-bar__label{width:70px;font-size:.8rem;color:var(--color-text-muted);text-transform:capitalize}.score-bar__track{flex:1;height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.score-bar__fill{height:100%;background:var(--color-text-muted);border-radius:4px;transition:width .3s ease}.score-bar__fill--low{background:#b85c5c}.score-bar__fill--high{background:#5c8b5c}.score-bar__value{width:16px;font-size:.8rem;font-weight:600;text-align:right}.signal-list{list-style:none;padding:0;margin:var(--space-xs) 0}.signal-list__item{font-size:.8rem;padding:2px 0;padding-left:var(--space-md);position:relative}.signal-list__item:before{content:"";position:absolute;left:4px;top:8px;width:6px;height:6px;border-radius:50%}.signal-list--positive .signal-list__item:before{background:#5c8b5c}.signal-list--negative .signal-list__item:before{background:#b85c5c}.score-badge{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.score-badge__label{width:120px;font-size:.8rem;color:var(--color-text-muted)}.score-badge__value{font-size:.75rem;font-weight:500;padding:2px 8px;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text)}.skill-tags{display:flex;flex-direction:column;gap:var(--space-xs)}.skill-tag{display:flex;align-items:center;gap:var(--space-sm);font-size:.8rem}.skill-tag__category{flex:1;color:var(--color-text)}.skill-tag__evidence{font-size:.7rem;font-weight:500;padding:1px 6px;border-radius:8px;text-transform:uppercase;letter-spacing:.03em}.skill-tag__evidence--current{background:#5c8b5c26;color:#5c8b5c}.skill-tag__evidence--aptitude{background:#5c6b8b26;color:#5c6b8b}.skill-tag__strength{width:16px;text-align:right;font-weight:600;color:var(--color-text)}
