*{box-sizing:border-box}body{margin:0;background:#eef2f6;color:#213449;font-family:Segoe UI,Arial,sans-serif;font-size:15px}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #2e92d5;outline-offset:2px}button:disabled{cursor:default;opacity:.45}.workspace{max-width:1000px;margin:24px auto;display:grid;grid-template-columns:280px minmax(340px,460px);gap:32px;justify-content:center;padding:0 20px}.lab{padding:16px 4px;min-width:0}.lab-title{display:flex;gap:12px;align-items:center}.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#d8ebf8;color:#3087c2;font-size:30px}.lab h1{font-size:19px;margin:0 0 3px;font-weight:650;letter-spacing:-.3px}.lab-title p{margin:0;color:#778799;font-size:14px}.demo-label{color:#778b9b;font-size:12px;font-weight:650;letter-spacing:1.1px;margin:32px 0 20px}.field-label{display:block;font-weight:600;font-size:14px;margin:19px 0 9px}.role-tabs{display:flex;background:#e0e7ee;padding:4px;border-radius:11px;gap:2px}.role-tabs button{border:0;padding:10px 5px;background:transparent;color:#66788a;flex:1;border-radius:8px;font-weight:600;font-size:14px}.role-tabs button.selected{background:white;color:#2d85bd;box-shadow:0 2px 5px #25426012}.lab select,.lab input{width:100%;padding:10px;border:1px solid #d7e0e8;border-radius:9px;background:#fff;color:#354b60;min-width:0}.actor-summary{font-size:13px;color:#6e8394;line-height:1.5;margin-top:9px}hr{border:0;border-top:1px solid #dbe3ea;margin:25px 0}.date-row{display:grid;grid-template-columns:1.45fr 1fr;gap:7px}.time-shortcuts{display:flex;gap:6px;margin:10px 0}.time-shortcuts button{border:1px solid #d6e0e8;border-radius:7px;padding:7px;background:#f7f9fb;font-size:12px;flex:1;color:#5a7286}.lab-button{background:#e0edf7;border:0;border-radius:8px;color:#297aaf;padding:11px 10px;width:100%;font-weight:600;font-size:14px}.lab details{margin-top:23px;font-size:14px;color:#5f778b}.lab summary{cursor:pointer;padding:8px 0}.invite-item{background:white;border:1px solid #dce5ed;border-radius:9px;padding:11px;margin-top:8px;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.invite-item button{margin-top:8px;border:0;background:#e3eff8;color:#297fae;border-radius:6px;padding:7px;width:100%;font-size:13px}.lab-footer{margin-top:30px}.lab-footer p{font-size:13px;line-height:1.55;color:#81909e;margin:8px 0}.reset{border:0;background:none;padding:8px 0;color:#6e8292;text-decoration:underline;text-underline-offset:3px;font-size:13px}.lab-footer .version{font-size:12px;color:#a1adb7}
.chat-shell{height:calc(100dvh - 48px);min-height:570px;max-height:950px;display:flex;flex-direction:column;overflow:hidden;border:1px solid #2a3947;border-radius:12px;background:#0e1621;box-shadow:0 12px 42px #20324625;color:#f0f3f5}
.chat-header{height:63px;flex-shrink:0;display:flex;align-items:center;padding:9px 15px;gap:11px;background:#17212b;border-bottom:1px solid #0b141d}
.bot-avatar{width:40px;height:40px;display:grid;place-items:center;background:#5288b5;border-radius:50%;color:white;font-size:29px}
.chat-header h2{font-size:16px;line-height:1.35;margin:0;font-weight:600}.chat-header p{font-size:13px;margin:1px 0 0;color:#718599}
.header-menu{margin-left:auto;border:0;background:transparent;color:#8597a5;font-size:25px;padding:8px 10px}
.chat-area{flex:1;min-height:0;overflow-y:auto;padding:16px 10px 10px;background:#0e1621;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:#304354 transparent}
.day-divider{width:fit-content;margin: auto auto 9px;background:#1e2c3a;color:#f0f4f8;border-radius:14px;padding:4px 12px;font-size:12px;line-height:1.2;font-weight:600;flex-shrink:0}
#notifications:empty,#conversation:empty{display:none}#notifications,#conversation{flex-shrink:0}
.bot-message{background:transparent;border:0;box-shadow:none;padding:0;width:min(370px,calc(100% - 22px));max-width:100%;margin:0 0 8px;overflow-wrap:break-word;flex-shrink:0;display:block}
.message-bubble{background:#182533;border-radius:16px 16px 5px 5px;padding:9px 11px 5px;display:block;min-width:0;color:#f1f4f7}
.bot-message h3{font-size:15px;font-weight:600;line-height:1.3;margin:0 0 5px}
.bot-message p{font-size:15px;margin:3px 0;line-height:1.4}.bot-message .muted{color:#9baebd;font-size:14px;line-height:1.4}
.bot-message .eyebrow{font-size:13px;color:#8aa4ba;margin:0 0 4px;text-transform:none;letter-spacing:0}
.bot-message .score{font-size:18px;font-weight:600;color:#f3f6f9;line-height:1.4;margin:6px 0}.score small{font-size:15px;font-weight:400;color:inherit}
.bot-message .month-total{color:#70bbef;font-weight:600;font-size:15px}.bot-message .separator{height:0;margin:8px 0}
.keyboard{display:grid;grid-template-columns:minmax(0,1fr);gap:3px;margin:3px 0 0;width:100%}.keyboard.row{grid-template-columns:repeat(2,minmax(0,1fr))}
.keyboard button{min-width:0;max-width:100%;width:100%;height:37px;line-height:1.2;padding:8px 7px;border:0;border-radius:4px;background:#1f2d3b;color:#eef3f7;font-family:Segoe UI,Arial,sans-serif;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;transition:background .12s}
.keyboard button:hover{background:#2a3c4e}.keyboard button:active{background:#344b60}
.keyboard .primary,.keyboard .danger,.keyboard .subtle{background:#1f2d3b;color:#eef3f7}.keyboard .primary:hover,.keyboard .danger:hover,.keyboard .subtle:hover{background:#2a3c4e}.keyboard .wide{grid-column:1/-1}
.keyboard:last-child{border-radius:0 0 12px 12px;overflow:hidden}
.message-time{text-align:right;margin:2px 0 0;font-size:12px;line-height:1.15;color:#6589a4;white-space:nowrap}
.user-message{margin:5px 0 7px auto;max-width:75%;width:fit-content;padding:8px 12px;background:#2b5278;color:#f2f6fa;border-radius:12px 12px 4px 12px;font-size:15px;line-height:1.35}
.composer{display:flex;gap:8px;padding:8px 10px;align-items:center;background:#17212b;border-top:1px solid #0b141d;flex-shrink:0}
.composer input{flex:1;min-width:0;min-height:32px;border:0;background:transparent;padding:7px 1px;outline:0;font-size:15px;color:#f2f4f6;caret-color:#6bb8ed}.composer input::placeholder{color:#617586}
.menu-toggle{border:0;background:transparent;color:#8499a9;border-radius:5px;width:28px;height:33px;font-size:23px;padding:0}
.send-button{border:0;background:transparent;border-radius:50%;width:33px;height:33px;color:#61a9db;display:grid;place-items:center;padding:0}
.metric-row{display:flex;justify-content:space-between;gap:8px;padding:3px 0;border:0;font-size:14px;line-height:1.35}.metric-row .metric-value{white-space:nowrap;color:#a5c6df}
.meta-grid{display:grid;grid-template-columns:80px minmax(0,1fr);gap:4px 7px;font-size:14px;margin:5px 0;line-height:1.35}.meta-grid dt{color:#f0f3f5}.meta-grid dd{margin:0;color:#75b9e9;overflow-wrap:anywhere}
.bot-message .step-progress{display:block;font-size:13px;color:#809bad;margin:4px 0 8px}
.tag{display:inline;color:#82b5d9;font-size:13px}.notice{border:0;padding:0;color:#9eb3c2;font-size:14px!important}
.error{color:#ffb5a8;font-size:14px;margin:8px 0;line-height:1.4}.notification{border:0}
#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,16px);opacity:0;background:#263d50;color:#f0f4f7;border-radius:9px;padding:12px 18px;max-width:min(500px,90vw);font-size:14px;pointer-events:none;transition:.2s;z-index:10}#toast.visible{opacity:1;transform:translate(-50%,0)}
@media(max-width:760px){.workspace{margin:0;display:flex;flex-direction:column;gap:0;padding:0;max-width:none}.lab{padding:9px 12px;background:#edf2f6}.lab-title,.demo-label,.actor-summary,.lab hr,.lab-footer,.lab details,.lab>.field-label,.lab .date-row,.time-shortcuts,.lab-button{display:none}.lab .role-tabs{margin-bottom:6px}.lab .role-tabs button{padding:7px 5px}.lab select{font-size:13px;padding:6px}.chat-shell{height:calc(100dvh - 96px);min-height:450px;max-height:none;border:0;border-radius:0;box-shadow:none}.chat-header{height:59px;padding:8px 12px}.chat-area{padding:13px 7px 8px}.bot-message{width:min(350px,calc(100% - 18px))}.lab:focus-within .actor-summary{display:none}.message-bubble{padding:9px 10px 5px}.keyboard button{font-size:14px;height:37px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
