:root{--brand-primary:#007bff;--brand-primary-hover:#0056b3;--brand-privary-active:#004085;--brand-primary-disabled:#9bc4ee;--brand-primary-header:#4a86c5;--brand-primary-sidebar:#002b5c;--brand-accent:#667eea;--brand-accent-hover:#764ba2;--brand-gradient:linear-gradient(135deg,var(--brand-accent) 0%,var(--brand-accent-hover) 100%);--bg-app:#f0f0f0;--bg-surface:#fff;--bg-muted:#f5f5f5;--surface-elevated:#fafafa;--bg-persona-msg:#e9ecef;--bg-secondary-btn:#e0e0e0;--bg-secondary-btn-hover:#cfcfcf;--border:#ddd;--border-accent:#e0d6f5;--text-primary:#333;--text-secondary:#555;--text-muted:#666;--bg-discussion-anchor:#f0ebfa;--bg-grammar:#faf8ff;--text-accent:#6f42c1;--text-accent-strong:#4a3a6b;--bg-error:#fee;--text-error:#c33;--warning-surface:#fff8e1;--warning-border:#ffe082;--warning-text:#8a6d00;color-scheme:light}:root[data-theme=dark]{--bg-app:#15171a;--bg-surface:#22262b;--bg-muted:#1b1d21;--surface-elevated:#2a2f35;--bg-persona-msg:#2f343a;--bg-secondary-btn:#3a3f45;--bg-secondary-btn-hover:#4a5057;--border:#3a3f45;--border-accent:#473a63;--text-primary:#e4e6e9;--text-secondary:#aab1b8;--text-muted:#8b9298;--bg-discussion-anchor:#2c2540;--bg-grammar:#241f33;--text-accent:#b79df0;--text-accent-strong:#cdbaf0;--bg-error:#3a1f24;--text-error:#f0a0a8;--warning-surface:#332b16;--warning-border:#5c4d1f;--warning-text:#e0c264;color-scheme:dark}:root[data-theme=nature]{--brand-primary:#3f9d8b;--brand-primary-hover:#2f7d6f;--brand-privary-active:#235c52;--brand-primary-disabled:#a8d6cd;--brand-primary-header:#6bb4a4;--brand-primary-sidebar:#245c53;--brand-accent:#3f9d8b;--brand-accent-hover:#e08a4c;--brand-gradient:linear-gradient(135deg,#498dc0 0%,var(--brand-accent) 50%,var(--brand-accent-hover) 100%);--bg-app:#edf4f0;--bg-surface:#fff;--bg-muted:#f2f8f4;--surface-elevated:#f7fbf9;--bg-persona-msg:#e3efe9;--bg-secondary-btn:#dbeae3;--bg-secondary-btn-hover:#c9ded5;--border:#d2e2da;--border-accent:#f4dcc6;--text-primary:#2c3b36;--text-secondary:#526760;--text-muted:#6d837b;--bg-discussion-anchor:#e9f3ed;--bg-grammar:#f3faf6;--text-accent:#e08a4c;--text-accent-strong:#b26330;--bg-error:#fdecec;--text-error:#c0453f;--warning-surface:#fdf3e0;--warning-border:#f2d9a8;--warning-text:#8a6320;color-scheme:light}:root[data-theme=nature-dark]{--brand-primary:#52b7a3;--brand-primary-hover:#6cc7b5;--brand-privary-active:#3f9d8b;--brand-primary-disabled:#37554f;--brand-primary-header:#2f6b60;--brand-primary-sidebar:#123f38;--bg-app:#111815;--bg-surface:#1a231f;--bg-muted:#151e1a;--surface-elevated:#212c27;--bg-persona-msg:#26322d;--bg-secondary-btn:#2d3a35;--bg-secondary-btn-hover:#3a4842;--border:#2d3b35;--border-accent:#4a3a2a;--text-primary:#e1e8e4;--text-secondary:#a6b4ae;--text-muted:#85918b;--bg-discussion-anchor:#23302b;--bg-grammar:#1b2621;--text-accent:#f0a463;--text-accent-strong:#f5c391;--bg-error:#3a1f24;--text-error:#f0a0a8;--warning-surface:#332a1a;--warning-border:#5c4a2a;--warning-text:#e5c07a;--brand-accent:#52b7a3;--brand-accent-hover:#e08a4c;--brand-gradient:linear-gradient(135deg,#498dc0 0%,var(--brand-accent) 50%,var(--brand-accent-hover) 100%);color-scheme:dark}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f0f0f0;background-color:var(--bg-app);color:#333;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}.App{background-color:var(--bg-app);display:flex;flex-direction:column;height:100vh}.App__content{align-items:center;display:flex;flex:1 1;justify-content:center;min-height:0}.about-container{background-color:var(--bg-surface);box-shadow:0 0 10px #0000001a;display:flex;flex:1 1;flex-direction:column;height:100%;margin:0 auto;max-width:1200px;min-width:0;width:60vw}.about-header{align-items:center;background-color:var(--brand-primary-header);box-shadow:0 2px 4px #0000001a;color:#fff;display:flex;gap:15px;justify-content:flex-start;padding:20px}.about-header h2{margin:0}.about-back-button{background-color:#fff3;border:1px solid #ffffff80;border-radius:20px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:background-color .3s}.about-back-button:hover{background-color:#ffffff4d}.about-content{background-color:var(--bg-muted);flex:1 1;overflow-y:auto;padding:20px}.about-app{align-items:baseline;background-color:var(--bg-surface);border:1px solid var(--border);border-radius:10px;display:flex;gap:10px;margin-bottom:20px;padding:16px 20px}.about-app-name{color:var(--text-primary);font-size:1.3rem;font-weight:700}.about-version{color:var(--text-muted);font-size:.95rem}.about-notes{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:10px;color:var(--text-primary);line-height:1.55;padding:20px}.about-notes-title{border-bottom:1px solid var(--border);color:var(--text-primary);font-size:1.2rem;margin:0 0 12px;padding-bottom:6px}.about-release{margin-top:18px}.about-release:first-of-type{margin-top:0}.about-release-version{color:var(--text-secondary);font-size:1.05rem;margin:0 0 8px}.about-release-changes{margin:0;padding-left:22px}.about-release-changes li{color:var(--text-secondary);margin:4px 0}.about-release-figure{margin:10px 0}.about-image-toggle{background-color:var(--bg-secondary-btn);border:1px solid var(--border);border-radius:14px;color:var(--text-primary);cursor:pointer;font-size:.85rem;padding:4px 12px;transition:background-color .2s}.about-image-toggle:hover{background-color:var(--bg-secondary-btn-hover)}.about-release-image{border:1px solid var(--border);border-radius:8px;display:block;margin:10px 0 0;max-width:100%}.spending-cap-notice{background:var(--warning-surface);border:1px solid var(--warning-border);border-radius:6px;color:var(--warning-text);font-size:.9rem;margin:0 0 .5rem;padding:.5rem .75rem}.persona-list-item{align-items:flex-start}.persona-list-item-text{display:flex;flex-direction:column;gap:4px;min-width:0}.persona-list-item-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-muted);display:-webkit-box;font-size:.85rem;overflow:hidden}.persona-list-item-badge{background:var(--warning-surface);border:1px solid var(--warning-border);border-radius:20px;color:var(--warning-text);font-size:.7rem;font-weight:600;letter-spacing:.03em;margin-left:8px;padding:1px 8px;text-transform:uppercase;vertical-align:middle}.persona-list-item-action,.persona-list-item-actions{align-items:center;display:flex;flex:none}.persona-list-item-action{background:none;border:1px solid #0000;border-radius:8px;color:var(--text-muted);cursor:pointer;font-size:1rem;height:32px;justify-content:center;margin-left:12px;padding:0;transition:color .2s,border-color .2s,background-color .2s;width:32px}.persona-list-item-action:hover{background-color:var(--bg-surface);border-color:var(--border);color:var(--brand-primary)}.persona-list-item-action:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.persona-list-show-archived{align-items:center;color:var(--text-muted);cursor:pointer;display:flex;font-size:.85rem;gap:8px;margin-bottom:12px}.multi-response-card{background:#0000;background:var(--surface,#0000);border:1px solid var(--border);border-radius:8px;margin-top:8px;padding:8px 10px}.multi-response-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:6px}.multi-response-title{color:var(--text-secondary);font-size:.8rem;font-weight:600}.multi-response-options{display:flex;flex-wrap:wrap;gap:4px 12px}.multi-response-option{align-items:center;cursor:pointer;display:inline-flex;font-size:.8rem;gap:4px}.multi-response-option input{cursor:pointer;margin:0}.multi-response-option-failed{color:var(--text-secondary);cursor:not-allowed;opacity:.6;text-decoration:line-through}.multi-response-option-failed input{cursor:not-allowed}.multi-response-failed-tag{font-style:italic;text-decoration:none}.multi-response-body{white-space:pre-wrap}.multi-response-meta{align-items:baseline;color:var(--text-secondary);display:flex;font-size:.72rem;gap:8px;justify-content:space-between;margin-top:6px}.multi-response-meta-model{font-family:monospace;font-family:var(--font-mono,monospace);overflow-wrap:anywhere}.multi-response-meta-cost{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.feedback-link{background-color:var(--bg-surface);font-size:.8rem;line-height:1.2;padding:0 20px 12px;text-align:right}.feedback-link a{color:var(--text-muted);display:inline-block;padding:4px 0;text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:.2em}.feedback-link a:focus-visible,.feedback-link a:hover{color:var(--text-accent);-webkit-text-decoration-color:currentColor;text-decoration-color:initial}.feedback-link a:focus-visible{border-radius:2px;outline:2px solid var(--brand-primary);outline-offset:2px}.chat-page{background-color:var(--border);flex:1 1;flex-direction:row;gap:1px;width:100%}.chat-container,.chat-page{display:flex;height:100%;min-width:0}.chat-container{background-color:var(--bg-surface);box-shadow:0 0 10px #0000001a;flex:1 1;flex-direction:column}.chat-header{align-items:center;background-color:var(--brand-primary-header);box-shadow:0 2px 4px #0000001a;color:#fff;display:flex;gap:15px;padding:20px}.chat-header h2{margin:0}.chat-back-button{background-color:#fff3;border:1px solid #ffffff80;border-radius:20px;color:#fff;cursor:pointer;font-size:.9rem;padding:6px 14px;transition:background-color .3s}.chat-back-button:hover{background-color:#ffffff4d}.discussion-close-button{margin-left:auto}.discussion-header{background-color:var(--text-accent)}.discussion-section{background-color:var(--bg-discussion-anchor);border-bottom:1px solid var(--border-accent)}.discussion-section-summary{align-items:baseline;cursor:pointer;display:flex;gap:8px;list-style:none;padding:8px 20px;-webkit-user-select:none;user-select:none}.discussion-section-summary::marker{content:""}.discussion-section-summary::-webkit-details-marker{display:none}.discussion-section-summary:before{color:var(--text-accent);content:"▸";font-size:.7rem;transition:transform .15s ease}.discussion-section[open]>.discussion-section-summary:before{transform:rotate(90deg)}.discussion-section-summary:hover{background-color:var(--border-accent)}.discussion-section-summary:focus-visible{outline:2px solid var(--text-accent);outline-offset:-2px}.discussion-section-label{color:var(--text-accent);flex-shrink:0;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.discussion-section-preview{color:var(--text-secondary);flex:1 1;font-size:.8rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.discussion-section-body{border-top:1px solid var(--border-accent)}.grammar-analysis .discussion-section-body{background-color:var(--bg-grammar);max-height:35vh;overflow-y:auto;padding:10px 20px}.grammar-summary-count{font-size:.8rem;font-weight:600}.grammar-summary-count+.grammar-summary-count{margin-left:10px}.grammar-summary-count.correct{color:#2e7d32}.grammar-summary-count.incorrect{color:#e53935}.discussion-anchor{background-color:var(--bg-discussion-anchor);color:var(--text-accent-strong);font-size:.85rem;font-style:italic;padding:10px 20px}.discussion-anchor+.discussion-anchor{border-top:1px solid var(--border-accent)}.grammar-rule{background-color:var(--bg-surface);border-left:3px solid #0000;border-radius:6px;box-shadow:0 1px 2px #0000000f;margin-bottom:8px;padding:8px 10px}.grammar-rule:last-child{margin-bottom:0}.grammar-rule.correct{border-left-color:#2e7d32}.grammar-rule.incorrect{border-left-color:#e53935}.grammar-rule-header{align-items:center;display:flex;gap:8px}.grammar-rule-status{font-weight:700}.grammar-rule.correct .grammar-rule-status{color:#2e7d32}.grammar-rule.incorrect .grammar-rule-status{color:#e53935}.grammar-rule-name{color:var(--text-primary);font-size:.85rem;font-weight:600}.grammar-rule-natural{background-color:var(--bg-discussion-anchor);border-radius:10px;color:var(--text-accent);font-size:.75rem;margin-left:auto;padding:1px 8px}.grammar-rule-element{color:var(--text-secondary);font-size:.85rem;font-style:italic;margin-top:4px}.grammar-rule-explanation{color:var(--text-secondary);font-size:.8rem;margin-top:4px}.chat-messages{background-color:var(--bg-muted);flex:1 1;gap:10px;overflow-y:auto;padding:20px}.chat-messages,.message{display:flex;flex-direction:column}.message{word-wrap:break-word;border-radius:10px;max-width:70%;padding:10px 15px;position:relative}.message.user{align-self:flex-end;background-color:var(--brand-primary);color:#fff}.message.persona{align-self:flex-start;background-color:var(--bg-persona-msg);color:var(--text-primary)}.message.selected{box-shadow:0 0 8px #ffb30099;outline:2px solid #ffb300;outline-offset:2px}.error-message{padding:10px 20px}.message-content{margin-bottom:5px}.message-content .incorrect{background-color:#e53935;border-radius:3px;color:#fff;padding:0 2px;position:relative}.incorrect-mark-button{all:unset;cursor:pointer}.incorrect-mark-button:focus-visible{outline:2px solid var(--text-primary);outline-offset:1px}.annotation-chooser{bottom:auto;color:var(--text-primary);font-weight:400;top:calc(100% + 6px);white-space:normal}.message-translation{font-size:.85rem;font-style:italic;margin-bottom:5px;opacity:.75}.message-correction{font-size:.9rem;font-style:italic;margin-bottom:5px;opacity:.9}.message-timestamp{align-self:flex-end;font-size:.75rem;opacity:.7}.message-comment{background-color:#ffb30026;border-left:3px solid #ffb300;border-radius:4px;font-size:.85rem;line-height:1.4;margin-bottom:5px;padding:6px 10px}.message-status{font-size:.85rem;font-style:italic;opacity:.8}.message-menu{align-self:flex-start;margin-top:6px;position:relative}.message-menu-toggle{align-items:center;background-color:#00000014;border:none;border-radius:50%;color:inherit;cursor:pointer;display:flex;font-size:1.1rem;height:32px;justify-content:center;line-height:1;opacity:.7;padding:0;transition:opacity .2s,background-color .2s;width:32px}.message-menu-toggle:hover{background-color:#0000002e;opacity:1}.message.user .message-menu-toggle{background-color:#ffffff40}.message.user .message-menu-toggle:hover{background-color:#fff6}.message-menu-popup{bottom:calc(100% + 6px)}.message-menu-popdown,.message-menu-popup{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 20px #0000002e;color:var(--text-primary);display:flex;flex-direction:column;left:0;min-width:180px;padding:4px;position:absolute;z-index:20}.message-menu-item{align-items:center;background:none;border:none;border-radius:6px;color:inherit;cursor:pointer;display:flex;font-size:.85rem;gap:8px;padding:8px 10px;text-align:left;white-space:nowrap;width:100%}.message-menu-item-detail{color:var(--text-primary);font-size:.8rem;margin-left:auto;padding-left:12px}.message-menu-item:hover:not(:disabled){background:var(--brand-accent-hover)}.message-menu-item:disabled{cursor:default;opacity:.6}.chat-input-form{--chat-input-padding-y:10px;--chat-input-border:1px;--chat-input-line-height:1.4;--chat-input-max-lines:6;--chat-input-frame:calc((var(--chat-input-padding-y) + var(--chat-input-border))*2);align-items:flex-end;border-top:1px solid var(--border);display:flex;gap:10px;padding:20px}.chat-input,.chat-input-form{background-color:var(--bg-surface)}.chat-input{border:var(--chat-input-border) solid var(--border);border-radius:20px;color:var(--text-primary);flex:5 1;font-family:inherit;font-size:1rem;line-height:var(--chat-input-line-height);max-height:calc(var(--chat-input-max-lines)*var(--chat-input-line-height)*1em + var(--chat-input-frame));outline:none;overflow-y:auto;padding:var(--chat-input-padding-y) 15px;resize:none}.chat-input:focus{border-color:var(--brand-primary)}.chat-send-button{background-color:var(--brand-primary);border:var(--chat-input-border) solid #0000;border-radius:20px;color:#fff;cursor:pointer;flex:0 0 20%;font-size:1rem;line-height:var(--chat-input-line-height);padding:var(--chat-input-padding-y) 25px;transition:background-color .3s}.chat-send-button:hover{background-color:var(--brand-primary-hover)}.chat-send-button:active{background-color:var(--brand-privary-active)}.chat-settings-button{background-color:#fff3;border:1px solid #ffffff80;border-radius:20px;color:#fff;cursor:pointer;font-size:.9rem;padding:6px 14px;transition:background-color .3s}.chat-header h2+.chat-settings-button{margin-left:auto}.chat-settings-button:hover{background-color:#ffffff4d}.chat-settings-overlay{align-items:center;background-color:#0006;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.chat-settings-modal{background-color:var(--bg-surface);border-radius:10px;box-shadow:0 4px 20px #00000040;max-height:90vh;max-width:420px;overflow-y:auto;width:90%}.chat-settings-header{align-items:center;background-color:var(--brand-primary-header);border-radius:10px 10px 0 0;color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.chat-settings-header h3{margin:0}.chat-settings-close{background-color:#fff3;border:1px solid #ffffff80;border-radius:20px;color:#fff;cursor:pointer;font-size:.9rem;padding:4px 10px;transition:background-color .3s}.chat-settings-close:hover{background-color:#ffffff4d}.chat-settings-form{display:flex;flex-direction:column;gap:15px;padding:20px}.chat-settings-form .form-group{display:flex;flex-direction:column;gap:5px}.chat-settings-form label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.chat-settings-form input[type=text],.chat-settings-form select{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:1rem;outline:none;padding:10px}.chat-settings-form input[type=text]:focus,.chat-settings-form select:focus{border-color:var(--brand-primary)}.chat-settings-checkbox{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;flex-direction:row;font-size:.95rem;font-weight:400;gap:8px}.chat-settings-checkbox input{cursor:pointer}.chat-settings-actions{display:flex;gap:10px;justify-content:flex-end}.chat-settings-actions .cancel-button,.chat-settings-actions .create-button{border:none;border-radius:20px;cursor:pointer;font-size:1rem;padding:10px 20px;transition:background-color .3s}.chat-settings-actions .create-button{background-color:var(--brand-primary);color:#fff}.chat-settings-actions .create-button:hover{background-color:var(--brand-primary-hover)}.chat-settings-actions .create-button:disabled{background-color:var(--brand-primary-disabled);cursor:not-allowed}.chat-settings-actions .cancel-button{background-color:var(--bg-secondary-btn);color:var(--text-primary)}.chat-settings-actions .cancel-button:hover{background-color:var(--bg-secondary-btn-hover)}.chat-frozen-notice{font-size:.9rem;opacity:.75;padding:.75rem 1rem;text-align:center}.chat-ask-teacher-button{background-color:var(--text-accent);border:none;border-radius:20px;color:#fff;cursor:pointer;display:block;font-size:.9rem;margin:.5rem auto 0;padding:6px 14px}.message-unheard{opacity:.55}.chat-list-container{background-color:var(--bg-surface);box-shadow:0 0 10px #0000001a;display:flex;flex:1 1;flex-direction:column;height:100%;margin:0 auto;max-width:1200px;min-width:0;width:60vw}.chat-list-header{align-items:center;background-color:var(--brand-primary-header);box-shadow:0 2px 4px #0000001a;color:#fff;display:flex;justify-content:space-between;padding:20px}.chat-list-header h2{margin:0}.logout-button,.new-chat-button{background-color:#fff3;border:1px solid #ffffff80;border-radius:20px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:background-color .3s}.logout-button:hover,.new-chat-button:hover{background-color:#ffffff4d}.create-chat-form{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;gap:15px;margin-bottom:20px;padding:20px}.create-chat-form .form-group{display:flex;flex:1 1;flex-direction:column;gap:5px}.create-chat-form .form-row{display:flex;gap:15px}.create-chat-form label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.create-chat-form input,.create-chat-form select,.create-chat-form textarea{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:1rem;outline:none;padding:10px}.create-chat-form textarea{font-family:inherit;resize:vertical}.create-chat-form .persona-script-editor{border:1px solid var(--border);border-radius:6px;font-size:.95rem;overflow:hidden}.create-chat-form .persona-script-editor .cm-focused{outline:none}.form-page-container{max-width:none;min-width:min(50vw,100%);width:60vw}.form-page-header{gap:15px;justify-content:flex-start}.create-chat-form .persona-search{margin-bottom:8px}.create-chat-form input:focus,.create-chat-form select:focus,.create-chat-form textarea:focus{border-color:var(--brand-primary)}.create-chat-actions{display:flex;gap:10px;justify-content:flex-end}.cancel-button,.create-button{border:none;border-radius:20px;cursor:pointer;font-size:1rem;padding:10px 20px;transition:background-color .3s}.create-button{background-color:var(--brand-primary);color:#fff}.create-button:hover{background-color:var(--brand-primary-hover)}.create-button:disabled{background-color:var(--brand-primary-disabled);cursor:not-allowed}.cancel-button{background-color:var(--bg-secondary-btn);color:var(--text-primary)}.cancel-button:hover{background-color:var(--bg-secondary-btn-hover)}.chat-list-content{background-color:var(--bg-muted);flex:1 1;overflow-y:auto;padding:20px}.chat-list-status{color:var(--text-muted);padding:20px;text-align:center}.chat-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.chat-list-item{align-items:center;background-color:var(--bg-surface);border:1px solid var(--border);border-radius:10px;cursor:pointer;display:flex;justify-content:space-between;padding:15px 20px;transition:box-shadow .2s,border-color .2s}.chat-list-item-persona{margin-left:auto}.chat-list-item:hover{border-color:var(--brand-primary);box-shadow:0 2px 6px #0000001a}.chat-list-item-main{align-items:center;display:flex;gap:10px;min-width:0}.chat-list-item-flag{flex-shrink:0;font-size:1.2rem;line-height:1}.chat-list-item-name{color:var(--text-primary);font-weight:600}.chat-list-item-persona{color:var(--text-muted);font-size:.85rem}.error-message{color:#d32f2f;padding:20px;text-align:center}.feedback{margin:0 auto;max-width:32rem;padding:1.5rem}.feedback-back{color:var(--text-muted);display:inline-block;font-size:.9rem;margin-bottom:.5rem;text-decoration:none}.feedback-back:hover{text-decoration:underline}.feedback-intro{margin-bottom:1.5rem;opacity:.85}.feedback-capped{background:var(--warning-surface);border:1px solid var(--warning-border);border-radius:6px;color:var(--warning-text);margin-bottom:1rem;padding:.75rem 1rem}.feedback-capped p{margin:0}.feedback-capped-reason{font-size:.9em;margin-top:.5rem;opacity:.8}.feedback-form{display:flex;flex-direction:column;gap:.5rem}.feedback-form label{font-weight:600;margin-top:.75rem}.feedback-amount-row{display:flex;gap:.5rem}.feedback-amount-row input{flex:1 1}.feedback-amount-row input:disabled,.feedback-amount-row select:disabled{opacity:.5}.feedback-amount-value{font-feature-settings:"tnum";align-self:center;font-variant-numeric:tabular-nums;min-width:5rem;text-align:right}.feedback-decline{align-items:center;display:flex;font-size:.9rem;font-weight:400;gap:.5rem}.feedback-email-help{font-size:.85rem;margin:.25rem 0 0;opacity:.7}.feedback-submit{align-self:flex-start;margin-top:1.25rem}.feedbacks{margin:0 auto;max-width:32rem;padding:1.5rem}.feedbacks-invitation{margin:2.5rem 0;text-align:center}.feedbacks-invitation-cta{background-color:var(--brand-primary);border-radius:6px;color:#fff;display:inline-block;font-weight:600;margin-top:1rem;padding:.6rem 1.4rem;text-decoration:none;transition:background-color .3s}.feedbacks-invitation-cta:hover{background-color:var(--brand-primary-hover)}.feedbacks-more{color:var(--text-muted);display:inline-block;font-size:.9rem;margin-bottom:1rem;text-decoration:none}.feedbacks-more:hover{text-decoration:underline}.feedback-history-unavailable{color:var(--text-muted);margin-top:1rem}.feedback-history-list{display:flex;flex-direction:column;gap:.75rem;list-style:none;margin:0;padding:0}.feedback-history-entry{border:1px solid var(--border);border-radius:6px;padding:.75rem 1rem}.feedback-history-head{display:flex;font-size:.85rem;gap:.5rem;justify-content:space-between}.feedback-history-head time{color:var(--text-muted)}.feedback-history-amount{font-weight:600}.feedback-history-empty{color:var(--text-muted);font-style:italic;margin:.5rem 0 0}.feedback-history-comment{margin:.5rem 0 0;white-space:pre-wrap}.feedback-invitation-banner{align-items:center;background:var(--surface-elevated);border-bottom:1px solid var(--border-accent);color:var(--text-primary);display:flex;font-size:.9rem;gap:.75rem;padding:.5rem .75rem}.feedback-invitation-banner__message{flex:1 1}.feedback-invitation-banner__cta{color:var(--text-accent);font-weight:600;white-space:nowrap}.feedback-invitation-banner__dismiss{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.1rem;line-height:1;padding:.25rem .5rem}.feedback-invitation-banner__dismiss:hover,.language-select{color:var(--text-primary)}.language-select{appearance:none;-webkit-appearance:none;background-color:var(--bg-surface);background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%2712%27 viewBox=%270 0 12 12%27><path fill=%27%23888%27 d=%27M2 4l4 4 4-4z%27/></svg>");background-position:right 10px center;background-repeat:no-repeat;border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:.9rem;line-height:1.2;padding:8px 32px 8px 12px;transition:border-color .2s}.language-select:hover{border-color:var(--brand-primary)}.language-select:focus-visible{border-color:var(--brand-primary);box-shadow:0 0 0 2px var(--brand-primary-disabled);outline:none}.auth-language-switcher{display:flex;justify-content:flex-end;margin-bottom:8px}.login-container{align-items:center;align-self:stretch;background:var(--brand-gradient);display:flex;flex:1 1;justify-content:center;min-height:100vh;width:100%}.login-box{background:var(--bg-surface);border-radius:10px;box-shadow:0 10px 25px #0003;max-width:400px;padding:40px;width:100%}.auth-logo{border-radius:20px;display:block;height:96px;margin:0 auto 16px;object-fit:contain;width:96px}.login-box h1{color:var(--text-primary);font-size:32px;margin:0 0 10px;text-align:center}.login-box h2{color:var(--text-muted);font-size:20px;font-weight:400;margin:0 0 30px;text-align:center}.form-group{margin-bottom:20px}.form-group label{color:var(--text-primary);display:block;font-weight:500;margin-bottom:5px}.form-group input{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:5px;box-sizing:border-box;color:var(--text-primary);font-size:14px;padding:12px;transition:border-color .3s;width:100%}.form-group input:focus{border-color:var(--brand-accent);outline:none}.form-group input:disabled{background-color:var(--bg-muted);cursor:not-allowed}.password-input-wrapper{position:relative}.password-input-wrapper input{padding-right:44px}.password-toggle{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:color .3s}.password-toggle:hover:not(:disabled){color:var(--text-primary)}.password-toggle:focus-visible{outline:2px solid var(--brand-accent);outline-offset:1px}.password-toggle:disabled{cursor:not-allowed;opacity:.6}.remember-me{align-items:center;color:var(--text-primary);display:flex;flex-direction:row;font-size:14px;gap:8px;margin-bottom:20px}.remember-me,.remember-me input{cursor:pointer}.error-message{background-color:var(--bg-error);border-radius:5px;color:var(--text-error);font-size:14px;margin-bottom:15px;padding:10px}button[type=submit]{background:var(--brand-gradient);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:12px;transition:opacity .3s;width:100%}button[type=submit]:hover:not(:disabled){opacity:.9}button[type=submit]:disabled{cursor:not-allowed;opacity:.6}.persona-builder-intro{color:#555;color:var(--text-secondary,#555);font-size:.95rem;line-height:1.4;margin:0 0 1rem}.persona-builder-messages{min-height:240px}.persona-draft-card{background:var(--surface-elevated);border:1px solid #d0d0d0;border:1px solid var(--border,#d0d0d0);border-radius:8px;margin:.5rem 0 1rem;padding:1rem}.persona-draft-title{font-weight:600;margin-bottom:.75rem}.persona-draft-field{display:flex;font-size:.95rem;gap:.5rem;margin-bottom:.4rem}.persona-draft-label{color:#555;color:var(--text-secondary,#555);flex:0 0 6rem;font-weight:600}.persona-draft-script{background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;font-family:inherit;font-size:.9rem;line-height:1.45;margin:.75rem 0;max-height:320px;overflow-y:auto;padding:.75rem;white-space:pre-wrap;word-break:break-word}.persona-draft-actions{display:flex;gap:.5rem;justify-content:flex-end}.persona-builder-warning{background:var(--warning-surface);border:1px solid var(--warning-border);border-radius:6px;color:var(--warning-text);font-size:.9rem;line-height:1.4;margin:.5rem 0;padding:.6rem .85rem}.register-container{align-items:center;align-self:stretch;background:var(--brand-gradient);display:flex;flex:1 1;justify-content:center;min-height:100vh;width:100%}.register-box{background:var(--bg-surface);border-radius:10px;box-shadow:0 10px 25px #0003;max-width:400px;padding:40px;width:100%}.register-box h1{color:var(--text-primary);font-size:32px;margin:0 0 10px;text-align:center}.register-box h2{font-size:20px;font-weight:400;margin:0 0 30px}.register-box h2,.switch-auth{color:var(--text-muted);text-align:center}.switch-auth{font-size:14px;margin-top:20px}.link-button{background:none;border:none;color:var(--brand-accent);cursor:pointer;font-size:14px;padding:0;text-decoration:underline}.link-button:hover{color:var(--brand-accent-hover)}.theme-select{appearance:none;-webkit-appearance:none;background-color:var(--bg-surface);background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%2712%27 viewBox=%270 0 12 12%27><path fill=%27%23888%27 d=%27M2 4l4 4 4-4z%27/></svg>");background-position:right 10px center;background-repeat:no-repeat;border:1px solid var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:.9rem;line-height:1.2;padding:8px 32px 8px 12px;transition:border-color .2s}.theme-select:hover{border-color:var(--brand-primary)}.theme-select:focus-visible{border-color:var(--brand-primary);box-shadow:0 0 0 2px var(--brand-primary-disabled);outline:none}.settings-page{display:flex;flex-direction:column;gap:24px;max-width:560px}.settings-row{align-items:center;display:flex;gap:16px;justify-content:space-between}.settings-row-label{color:var(--text-secondary);font-weight:600}.settings-row-value{font-feature-settings:"tnum";color:var(--text-primary);font-variant-numeric:tabular-nums}.settings-section{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px;padding-top:20px}.settings-section-title{font-size:1.05rem;margin:0}.settings-section-help{margin:0}.settings-empty,.settings-section-help,.settings-status{color:var(--text-muted);font-size:.9rem}.studied-language-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.studied-language-row{border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:8px;padding:12px 0}.studied-language-head{align-items:center;display:flex;justify-content:space-between}.studied-language-name{font-weight:500}.studied-language-remove{background:#0000;border:none;color:var(--text-muted);cursor:pointer;font-size:1.3rem;line-height:1;padding:0 6px}.studied-language-remove:hover:not(:disabled){color:var(--text-error)}.studied-language-remove:disabled{cursor:default;opacity:.5}.cefr-levels{display:flex;flex-wrap:wrap;gap:8px}.cefr-level{background:var(--bg-surface);border:1px solid var(--border);border-radius:999px;color:var(--text-secondary);cursor:pointer;font-size:.85rem;padding:4px 12px;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.cefr-level:hover:not(:disabled):not(.is-active){border-color:var(--brand-accent);color:var(--text-primary)}.cefr-level:disabled{cursor:default;opacity:.5}.cefr-level.is-active{background:var(--brand-accent);border-color:var(--brand-accent);color:var(--bg-surface);font-weight:700}.settings-add-language{align-self:flex-start;min-width:200px}.settings-delete-tokens{background:none;border:1px solid var(--text-error);border-radius:5px;color:var(--text-error);cursor:pointer;font-size:14px;padding:8px 12px;transition:background-color .2s,color .2s}.settings-delete-tokens:hover{background-color:var(--text-error);color:var(--bg-surface)}.scenario-door-intro{color:var(--text-muted);margin:0 20px 8px}.scenario-door-way button:disabled{cursor:default;opacity:.5}.scenario-door-message{padding:40px 20px;text-align:center}.scenario-door-message button{background:var(--brand-primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font:inherit;padding:10px 18px}.scenario-door-forced{grid-gap:6px;border:1px dashed var(--text-muted);border-radius:6px;display:grid;gap:6px;margin:0 20px 16px;padding:12px 16px}.scenario-door-forced legend{font-size:.85rem;font-weight:700;letter-spacing:.06em;padding:0 6px;text-transform:uppercase}.scenario-door-forced-note{color:var(--text-muted);font-size:.85rem;margin:0 0 4px}.scenario-door-forced label{align-items:center;cursor:pointer;display:flex;gap:8px}.bakery{--shop-sky:#f3e2c7;--shop-wall:#e8d3b0;--shop-counter:#b07d46;--shop-wood:#8b5a2b;--shop-ink:#3b2a17;--shop-ink-soft:#6b5334;--shop-card:#fffaf0;--shop-accent:#a8452c;--scene-backdrop:linear-gradient(var(--shop-sky),var(--shop-wall));--scene-ink:var(--shop-ink);--scene-chrome:var(--shop-wood);--scene-chrome-ink:var(--shop-card);--scene-accent:var(--shop-accent);--scene-accent-ink:var(--shop-card);--scene-font:Georgia,"Times New Roman",serif}.bakery-shop{grid-gap:20px;display:grid;gap:20px;grid-template-columns:minmax(0,2fr) minmax(0,1fr);padding:20px}@media (max-width:720px){.bakery-shop{grid-template-columns:minmax(0,1fr)}}.bakery-counter{background:var(--shop-counter);border-radius:12px;padding:16px}.bakery-counter .voice{gap:16px;padding:16px 0 0}.bakery-counter .voice-record{background:var(--shop-card);color:var(--shop-ink);max-height:16rem;min-height:6rem}.bakery-counter .voice-talk{height:8rem;width:8rem}.bakery-teacher-ask{background:none;border:1px solid var(--shop-wood);border-radius:8px;color:var(--shop-ink);cursor:pointer;display:block;font:inherit;margin:12px auto 0;padding:8px 16px}.bakery-teacher{align-items:center;background-color:#3b2a178c;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.bakery-teacher .voice{background:var(--shop-card);border-radius:12px;color:var(--shop-ink);gap:16px;max-height:85vh;padding:16px;width:min(92vw,30rem)}.bakery-teacher .voice-record{background:var(--shop-wall);color:var(--shop-ink);max-height:16rem;min-height:8rem}.bakery-teacher .voice-talk{height:8rem;width:8rem}.bakery-case{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));list-style:none;margin:0;padding:0}.bakery-case li{grid-gap:2px;align-items:center;background:var(--shop-card);border-radius:10px;display:grid;gap:2px;justify-items:center;padding:10px 6px}.bakery-case-picture{display:block;height:5rem;object-fit:contain;width:5rem}.bakery-case-name{font-size:.9rem;text-align:center}.bakery-case-price{color:var(--shop-ink-soft);font-size:.85rem}.bakery-carrying{grid-gap:16px;align-content:start;display:grid;gap:16px}.bakery-errand,.bakery-panel{background:var(--shop-card);border-radius:12px;padding:16px}.bakery-errand h2,.bakery-panel h2{font-size:1rem;margin:12px 0 6px}.bakery-errand ul{list-style:none;margin:0;padding:0}.bakery-errand li{border-bottom:1px dashed var(--shop-wall);padding:4px 0}.bakery-money{font-size:1.4rem;font-weight:700}.bakery-empty{color:var(--shop-ink-soft);font-style:italic}.bakery-result ul{list-style:none;margin:0;padding:0}.bakery-result li{border-bottom:1px dashed var(--shop-wall);display:flex;gap:12px;justify-content:space-between;padding:6px 0}.bakery-missed{color:var(--shop-accent)}.bakery-tally{font-size:1.1rem;font-weight:700}.bakery-panel{background:#2b2b2b;color:#f0f0f0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.bakery-panel input,.bakery-panel select{display:block;margin:4px 0 10px;width:100%}.bakery-panel-tool{border:1px solid #4a4a4a;border-radius:8px;margin:10px 0;padding:8px 10px}.bakery-panel-brief{margin:0;max-height:12rem;overflow:auto;white-space:pre-wrap}.bakery-panel-explain{color:#b9b9b9}.voice{align-items:center;gap:2rem;justify-content:flex-end;padding:2rem}.voice,.voice-record{display:flex;flex:1 1;flex-direction:column;min-height:0}.voice-record{align-self:stretch;background-color:var(--bg-muted);border-radius:10px;gap:10px;overflow-y:auto;padding:10px}.voice-turn{word-wrap:break-word;border-radius:10px;max-width:70%;padding:10px 15px;white-space:pre-wrap}.voice-turn--student{align-self:flex-end;background-color:var(--brand-primary);color:#fff}.voice-turn--ai{align-self:flex-start;background-color:var(--bg-persona-msg);color:var(--text-primary)}.voice-turn--lost{border:1px dashed;opacity:.5}.voice-turn-unheard{opacity:.55}.voice-turn-waiting:after{animation:voice-waiting 1.2s ease-in-out infinite;content:"···";letter-spacing:.15em}@keyframes voice-waiting{0%,to{opacity:.25}50%{opacity:.9}}.voice-idle{align-self:center;font-style:italic;opacity:.7}.voice-power{cursor:pointer;font-size:1rem;padding:.6rem 2rem}.voice-talk{border-radius:50%;cursor:pointer;font-size:1.1rem;height:12rem;touch-action:none;-webkit-user-select:none;user-select:none;width:12rem}.voice-talk:disabled{cursor:not-allowed;opacity:.4}.voice-talk--held{outline:4px solid currentColor}.bahn{--station-concrete:#d7dbe0;--station-hall:#b9c0c8;--station-steel:#2f3a45;--station-ink:#16202a;--station-ink-soft:#4c5a67;--station-card:#f6f8fa;--station-signal:#c8102e;--station-board:#f2c200;--scene-backdrop:linear-gradient(var(--station-concrete),var(--station-hall));--scene-ink:var(--station-ink);--scene-chrome:var(--station-steel);--scene-chrome-ink:var(--station-card);--scene-accent:var(--station-signal);--scene-accent-ink:var(--station-card);--scene-font:"Helvetica Neue",Arial,sans-serif}.bahn-scene{grid-gap:20px;display:grid;gap:20px;grid-template-columns:minmax(0,2fr) minmax(0,1fr);padding:20px}@media (max-width:720px){.bahn-scene{grid-template-columns:minmax(0,1fr)}}.bahn-board,.bahn-counter,.bahn-kiosk-shelf,.bahn-platform-sign,.bahn-travel-centre{background:var(--station-steel);border-radius:4px;color:var(--station-card);padding:16px}.bahn-place{grid-gap:20px;display:grid;gap:20px}.bahn-look{background:none;border:1px solid;border-radius:4px;color:inherit;cursor:pointer;display:block;font:inherit;margin:0 auto;padding:8px 16px}.bahn-over{align-items:center;background-color:#16202a99;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.bahn-over[hidden]{display:none}.bahn-over-box{max-height:85vh;overflow-y:auto;width:min(92vw,24rem)}.bahn-over-box.bahn-stub{width:min(92vw,34rem)}.bahn-over-close{background:none;border:1px solid;border-radius:4px;color:var(--station-card);cursor:pointer;display:block;font:inherit;margin:16px auto 0;padding:8px 16px}.bahn-kiosk-shelf h2{font-size:.9rem;letter-spacing:.08em;margin:0 0 8px;text-transform:uppercase}.bahn-basket,.bahn-shopping{list-style:none;margin:0 0 16px;padding:0}.bahn-basket li,.bahn-shopping li{padding:4px 0}.bahn-shelf{font-feature-settings:"tnum";border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.bahn-shelf td{padding:4px 0}.bahn-shelf td+td{text-align:right}.bahn-sign{font-size:1.1rem;font-weight:700;letter-spacing:.14em;margin:0 0 12px;text-transform:uppercase}.bahn-counter .voice{gap:16px;padding:8px 0 0}.bahn-counter .voice-record{background:var(--station-card);color:var(--station-ink);max-height:16rem;min-height:6rem}.bahn-teacher-ask{background:none;border:1px solid;border-radius:4px;color:inherit;cursor:pointer;display:block;font:inherit;margin:12px auto 0;padding:8px 16px}.bahn-teacher{align-items:center;background-color:#16202a99;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.bahn-teacher .voice{background:var(--station-card);border-radius:8px;color:var(--station-ink);gap:16px;max-height:85vh;padding:16px;width:min(92vw,30rem)}.bahn-teacher .voice-record{background:var(--station-concrete);color:var(--station-ink);max-height:16rem;min-height:8rem}.bahn-counter .voice-talk,.bahn-teacher .voice-talk{height:8rem;width:8rem}.bahn-board table,.bahn-platform-sign table{font-feature-settings:"tnum";background:var(--station-board);border-collapse:collapse;color:#000;font-variant-numeric:tabular-nums;width:100%}.bahn-board td,.bahn-board th,.bahn-platform-sign td,.bahn-platform-sign th{padding:6px 10px;text-align:left}.bahn-board th,.bahn-platform-sign th{border-bottom:2px solid #000;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}.bahn-board tbody tr+tr td,.bahn-platform-sign tbody tr+tr td{border-top:1px solid #00000040}.bahn-platform{background:#000;border:none;border-radius:4px;color:var(--station-board);cursor:pointer;font:inherit;font-weight:700;min-width:2.5rem;padding:4px 10px}.bahn-gleise-sign{font-size:.9rem;letter-spacing:.08em;margin:16px 0 8px;text-transform:uppercase}.bahn-gleise{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.bahn-found,.bahn-wrong{font-weight:700;margin:12px 0 0}.bahn-wrong{color:var(--station-board)}.bahn-calling{font-size:2.5rem;font-weight:700;letter-spacing:.08em;margin:0 0 8px}.bahn-slip{margin:0 0 4px}.bahn-counters{display:flex;gap:12px;list-style:none;margin:16px 0 0;padding:0}.bahn-counter-door{background:#000;border:none;border-radius:4px;font:inherit;font-size:1.4rem;font-weight:700;min-width:3.5rem;padding:12px 16px}.bahn-counter-door,.bahn-wait{color:var(--station-board);cursor:pointer}.bahn-wait{background:none;border:1px solid var(--station-board);border-radius:4px;font:inherit;margin:12px 0 0;padding:8px 14px}.bahn-gleis{font-size:2.5rem;font-weight:700;letter-spacing:.08em;margin:0 0 8px}.bahn-carrying{grid-gap:16px;align-content:start;display:grid;gap:16px}.bahn-bringing,.bahn-errand,.bahn-ticket{background:var(--station-card);border-radius:4px;padding:16px}.bahn-bringing h2,.bahn-errand h2,.bahn-ticket h2{font-size:1rem;margin:0 0 6px}.bahn-errand ul+h2{margin-top:12px}.bahn-errand ul{list-style:none;margin:0;padding:0}.bahn-errand li{border-bottom:1px dashed var(--station-hall);padding:4px 0}.bahn-errand ul:last-child li:last-child{border-bottom:none}.bahn-money{font-size:1.4rem;font-weight:700;margin:0}.bahn-ticket dl{grid-gap:2px 12px;display:grid;gap:2px 12px;grid-template-columns:auto 1fr;margin:0}.bahn-ticket dt{color:var(--station-ink-soft);font-size:.85rem}.bahn-ticket dd{margin:0}.bahn-departs{margin:12px 0 0}.bahn-departs,.bahn-none{color:var(--station-ink-soft)}.bahn-none{font-style:italic;margin:0}.bahn-result{background:var(--station-card);border-radius:4px;margin:0 auto;max-width:40rem;padding:24px}.bahn-result h1{margin:0 0 16px}.bahn-result ul{list-style:none;margin:0;padding:0}.bahn-result li{border-bottom:1px dashed var(--station-hall);display:flex;gap:12px;justify-content:space-between;padding:6px 0}.bahn-missed{color:var(--station-signal)}.bahn-tally{font-size:1.1rem;font-weight:700}.scenario-list-item{padding:0}.scenario-list-item button{background:none;border:none;color:inherit;cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:4px;padding:15px 20px;text-align:left;width:100%}.scenario-list-item-subtitle{color:var(--text-muted);font-size:.85rem}.player{background:var(--bg-app);background:var(--scene-backdrop,var(--bg-app));color:var(--text-primary);color:var(--scene-ink,var(--text-primary));font-family:inherit;font-family:var(--scene-font,inherit);min-height:100vh;position:relative;width:100%}.player-header{align-items:baseline;background:var(--brand-primary-header);background:var(--scene-chrome,var(--brand-primary-header));color:#fff;color:var(--scene-chrome-ink,#fff);display:flex;gap:16px;padding:12px 20px}.player-header h1{font-size:1.25rem;margin:0}.player-header small{font-size:.8rem;margin-left:8px;opacity:.85}.player-unheard{font-size:.8rem;margin:0;opacity:.85}.player-clock{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-left:auto}.player-secondary,.player-transcript-back,.player-transcript-close,.player-transcript-open,.player-walk-out{background:none;border:1px solid;border-radius:6px;color:inherit;cursor:pointer;font:inherit;padding:4px 12px}.player-way-on{background:var(--brand-primary);background:var(--scene-accent,var(--brand-primary));border:none;border-radius:8px;color:#fff;color:var(--scene-accent-ink,#fff);cursor:pointer;font:inherit;padding:10px 20px}.player-way-on:disabled{cursor:default;opacity:.45}.player-briefing,.player-interstitial,.player-message,.player-result{margin:0 auto;max-width:46rem;padding:24px 20px 48px}.player-message{text-align:center}.player-done{display:flex;flex-wrap:wrap;gap:12px}.player-walk-out-ask{background:var(--bg-app);color:var(--text-primary);display:flex;flex-direction:column;font-family:serif;font-family:initial;gap:8px;inset:0;justify-content:center;padding:24px 20px;position:absolute;text-align:center;z-index:6}.player-walk-out-ask h2{margin:0}.player-walk-out-answers{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.player-primary{background:var(--brand-primary);background:var(--scene-accent,var(--brand-primary));border:none;color:#fff;color:var(--scene-accent-ink,#fff);cursor:pointer;font:inherit}.player-primary,.player-secondary{border-radius:8px;margin-top:16px;padding:10px 20px}.player-transcript{background:var(--bg-app);color:var(--text-primary);display:flex;flex-direction:column;font-family:serif;font-family:initial;inset:0;max-height:100vh;position:absolute;z-index:5}.player-transcript-header{align-items:center;border-bottom:1px solid #0000001f;border-bottom:1px solid var(--border-subtle,#0000001f);display:flex;gap:16px;padding:12px 20px}.player-transcript-header h2{font-size:1.1rem;margin:0}.player-transcript-close{margin-left:auto}.player-transcript-back{align-self:flex-start;margin:16px 20px 0}.player-transcript-list{flex:1 1;list-style:none;margin:0;min-height:0;overflow-y:auto;padding:16px 20px}.player-transcript-list button{background:none;border:none;color:inherit;cursor:pointer;font:inherit;padding:10px 0;text-align:start;width:100%}.player-transcript-list button:hover{text-decoration:underline}.player-transcript-messages{display:flex;flex:1 1;flex-direction:column;gap:8px;min-height:0;overflow-y:auto;padding:16px 20px}.player-transcript-notice{padding:16px 20px}.scene-record{display:flex;flex:1 1;flex-direction:column;height:100%;margin:0 auto;max-width:1200px;min-width:0;overflow-y:auto;padding:1.5rem;width:60vw}.scene-record-title{font-size:1.4rem;margin:0 0 1rem}.scene-record-scenario{margin-bottom:1.5rem}.scene-record-scenario>h2{font-size:1.1rem;margin:0 0 .5rem}.scene-record-run{border-left:2px solid #ddd;border-left:2px solid var(--border-color,#ddd);margin-left:.25rem;padding-left:.75rem}.scene-record-run>h3{font-size:.85rem;font-weight:500;margin:.75rem 0 .25rem;opacity:.7}.scene-record-scene>h4{font-size:.95rem;font-weight:600;margin:.5rem 0 .25rem}.scene-record-scene ul{list-style:none;margin:0;padding:0}.scene-record-conversation{align-items:center;background:none;border:none;border-radius:6px;color:inherit;cursor:pointer;display:flex;font:inherit;gap:.5rem;padding:.5rem;text-align:left;width:100%}.scene-record-conversation:hover{background:#7f7f7f1f;background:var(--hover-background,#7f7f7f1f)}.scene-record-empty{opacity:.7}.scene-voice-language{align-items:flex-start;display:flex;flex-direction:column;gap:.75rem;max-width:26rem;padding:1.5rem}.scene-voice-language select{font:inherit;padding:.4rem}.scene-voice-notice{opacity:.7;padding:1.5rem}.app-layout{display:flex;height:100%}.app-layout--wide{width:100%}.chat-list-sidebar{background-color:var(--brand-primary-sidebar);box-shadow:2px 0 4px #0000001a;display:flex;flex-direction:column;flex-shrink:0;gap:10px;padding:20px;width:200px}.sidebar-logo{display:block;height:64px;margin:0 auto 10px;width:64px}.sidebar-button{align-items:center;background-color:initial;border:1px solid #0000;border-radius:0;color:#fff;cursor:pointer;display:flex;font-size:.9rem;gap:10px;padding:10px 16px;text-align:left;transition:background-color .3s,border-color .3s,border-radius .3s}.sidebar-button-icon{flex-shrink:0;height:1.1em;width:1.1em}.sidebar-button:hover{background-color:#fff3;border-color:#ffffff80;border-radius:20px}.sidebar-settings{display:flex;flex-direction:column;gap:10px;margin-top:auto}
/*# sourceMappingURL=main.0ed3b3a5.css.map*/