:root{color-scheme:light;--bg:#eef3f8;--panel:#fff;--panel-border:rgba(15,23,42,.12);--text:#0f172a;--muted:#475569;--accent:#00b5e2;--accent-strong:#09c;--accent-solid:#00718f;--error:#b91c1c;--success:#15803d;--warning:#ca8a04;--shadow:0 4px 16px rgba(15,23,42,.1);--radius-xl:28px;--radius-lg:22px;--radius-md:18px;--radius-sm:14px;--space-1:8px;--space-2:12px;--space-3:16px;--space-4:20px;--space-5:24px;--space-6:28px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;overflow:hidden;color:var(--text);font-family:Plus Jakarta Sans,Avenir Next,Segoe UI,sans-serif;background:var(--bg)}button,textarea{font:inherit}.chat-shell{height:100dvh;min-height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr);justify-items:center;grid-gap:14px;gap:14px;padding:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.brand-bar{width:min(860px,100%);padding:2px 4px;justify-content:space-between}.brand-bar,.brand-inline{display:flex;align-items:center;gap:12px}.brand-inline{flex:1 1 auto;min-width:0}.start-over-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--panel-border);background:#fff;color:var(--muted);border-radius:999px;padding:10px 16px;min-height:40px;font-size:.95rem;font-weight:600;cursor:pointer;flex-shrink:0;transition:border-color .14s ease,color .14s ease,background .14s ease}.start-over-btn:hover:not(:disabled){border-color:rgba(0,181,226,.38);color:var(--accent-strong);background:#fff}.start-over-btn:disabled{opacity:.5;cursor:not-allowed}.chat-frame{width:min(860px,100%);height:100%;min-height:0;display:flex;flex-direction:column;border:1px solid var(--panel-border);border-radius:var(--radius-xl);background:var(--panel);box-shadow:var(--shadow);overflow:hidden}.brand-inline h1{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.15rem,2.6vw,1.4rem);letter-spacing:-.01em;font-weight:700}.brand-logo{height:26px;width:auto;display:block;flex-shrink:0}.chat-progress,.message-meta{display:inline-flex;align-items:center;gap:10px}.messages-list{flex:1 1 auto;min-height:0;overflow-y:auto;display:grid;align-content:start;grid-gap:20px;gap:20px;padding:18px 16px;scrollbar-width:thin;scrollbar-color:rgba(100,116,139,.42) transparent}.messages-list::-webkit-scrollbar{width:8px}.messages-list::-webkit-scrollbar-thumb{background:rgba(100,116,139,.42);border-radius:999px}.composer button:focus-visible,.composer textarea:focus-visible,.csat-emoji:focus-visible,.prompt-chip:focus-visible{outline:3px solid rgba(0,181,226,.26);outline-offset:2px}.prompt-chip:disabled{opacity:.6;cursor:not-allowed}.message{max-width:min(640px,92%);border-radius:var(--radius-lg);padding:18px 20px;border:1px solid transparent;animation:rise .22s ease}.message-user{justify-self:end;background:var(--accent-solid);color:#fff;border-bottom-right-radius:var(--space-1)}.message-assistant{justify-self:start;background:#fff;border-color:var(--panel-border);border-bottom-left-radius:var(--space-1)}.message-loading{opacity:.95}.tone-positive{border-color:rgba(21,128,61,.2)}.tone-warning{border-color:rgba(202,138,4,.18)}.tone-error{border-color:rgba(185,28,28,.22)}.message-meta{justify-content:space-between;font-size:.9rem;opacity:.86}.message-meta-left{gap:10px}.message-meta-left,.tone-badge{display:inline-flex;align-items:center}.tone-badge{gap:4px;font-size:.85rem;font-weight:700;padding:4px 10px;border-radius:999px}.tone-badge-positive{color:var(--success);background:rgba(21,128,61,.12)}.tone-badge-warning{color:var(--warning);background:rgba(202,138,4,.14)}.tone-badge-error{color:var(--error);background:rgba(185,28,28,.12)}.message-confirm{border-left:6px solid var(--accent-strong)}.confirm-badge{margin-top:8px;font-size:.9rem;font-weight:700;color:var(--accent-strong)}.confirm-badge,.loading-inline{display:inline-flex;align-items:center;gap:6px}.message-content{margin-top:10px;font-size:1.05rem;line-height:1.7}.message-content p{margin:0}.message-content p+p{margin-top:10px}.message-content ol,.message-content ul{margin:8px 0 0 18px;padding:0}.message-content li+li{margin-top:4px}.message-content strong{font-weight:700}.message-content code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.92em;background:rgba(15,23,42,.08);padding:.1em .35em;border-radius:6px}.message-content table{display:block;width:100%;overflow-x:auto;margin-top:10px;border-collapse:collapse;border-radius:6px}.message-content td,.message-content th{border:1px solid rgba(15,23,42,.12);padding:6px 10px;text-align:left;line-height:1.6}.message-content th{background:rgba(15,23,42,.06);font-weight:700}.message-content tr:nth-child(2n) td{background:rgba(15,23,42,.03)}.composer-dock{flex:0 0 auto;width:100%;max-width:820px;margin:0 auto;padding:10px 16px 16px;display:grid;grid-gap:10px;gap:10px}.quick-prompts{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.prompt-chip{border:1px solid rgba(0,181,226,.3);background:#fff;color:var(--accent-strong);border-radius:999px;padding:12px 18px;min-height:44px;cursor:pointer;font-weight:600;font-size:1rem;transition:transform .14s ease,border-color .14s ease,background .14s ease}.prompt-chip:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(0,181,226,.5);background:rgba(0,181,226,.06)}.csat-rating{display:flex;flex-direction:column;gap:8px;margin-top:10px;border:0;padding:0}.csat-rating-legend{font-size:.95rem;font-weight:700;color:var(--text);padding:0}.csat-emoji-row{display:flex;gap:12px}.csat-emoji{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:56px;min-height:56px;border:1px solid rgba(0,181,226,.3);background:#fff;border-radius:14px;padding:12px 16px;font-size:1.9rem;cursor:pointer;transition:transform .14s ease,border-color .14s ease}.csat-emoji-num{font-size:.85rem;font-weight:700;color:var(--accent-strong)}.csat-emoji:hover:not(:disabled){transform:translateY(-2px);border-color:rgba(0,181,226,.5)}.csat-emoji:disabled{opacity:.5;cursor:default}.csat-emoji-selected{border-color:var(--accent-strong);background:rgba(0,181,226,.12);opacity:1}.composer{display:grid;grid-gap:8px;gap:8px;border:1px solid var(--panel-border);border-radius:var(--radius-lg);background:#fff;box-shadow:0 4px 14px rgba(15,23,42,.1);padding:10px}.composer-label{font-size:.95rem;color:var(--muted);padding-left:4px}.composer-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:stretch}.composer textarea{width:100%;resize:none;height:auto;min-height:56px;max-height:160px;padding:14px 16px;border-radius:var(--radius-md);border:1px solid rgba(15,23,42,.12);background:#fff;color:var(--text);outline:none;font-size:1.05rem;line-height:1.4;overflow-y:auto}.composer textarea:focus{border-color:rgba(0,181,226,.48);box-shadow:0 0 0 4px rgba(0,181,226,.15)}.composer button{border:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:56px;min-height:56px;padding:0 26px;border-radius:var(--radius-sm);background:var(--accent-solid);color:#fff;cursor:pointer;font-weight:600;font-size:1.05rem;box-shadow:0 2px 6px rgba(15,23,42,.15);transition:transform .14s ease,box-shadow .14s ease}.composer button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 10px rgba(15,23,42,.18)}.composer button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.chat-progress{color:var(--muted);font-size:.95rem;justify-self:center;text-align:center}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:980px){.chat-shell{padding:12px}}@media (max-width:640px){.chat-shell{padding:8px;gap:6px}.chat-frame{border-radius:var(--radius-lg)}.messages-list{padding:12px 10px}.brand-inline{gap:8px}.brand-logo{height:22px}.brand-inline h1{font-size:1.05rem}.composer-dock{padding:8px 10px 12px}.quick-prompts{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.prompt-chip{flex:0 0 auto}.csat-emoji-row{overflow-x:auto;padding-bottom:2px}.csat-emoji{flex:0 0 auto;min-width:48px;min-height:48px;padding:10px 12px;font-size:1.6rem}.composer-row{grid-template-columns:1fr}.composer button{width:100%}}@media (max-width:380px){.brand-bar,.brand-inline{gap:6px}.start-over-btn{padding:8px 10px;font-size:.85rem}}