:root{
  --accent:#21c063;
  --accent-dark:#12924a;
  --ink:#17211b;
  --muted:#718078;
  --line:#e6ebe8;
  --surface:#fff;
  --bubble:#edf1ef;
  --shadow:0 24px 70px rgba(18,65,38,.18);
}
*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#d9f4e3}
button,input,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
.page-accent{position:fixed;inset:0;background-color:#dfe7e3;background-image:
  radial-gradient(circle at 18% 20%,rgba(255,255,255,.72),transparent 30%),
  radial-gradient(circle at 85% 78%,rgba(115,139,126,.16),transparent 32%),
  linear-gradient(rgba(238,243,240,.72),rgba(225,234,229,.72)),
  url("chat-pattern.svg");background-size:auto,auto,auto,320px 320px;background-position:center;z-index:-1}
.app-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:18px;padding:28px}
.chat-card{width:min(87.5vw,1280px);height:min(900px,calc(100vh - 56px));min-height:650px;background:var(--surface);border-radius:26px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;position:relative}
.chat-header{min-height:84px;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);z-index:5}
.identity{display:flex;align-items:center;gap:13px;min-width:0}
.header-avatar{width:54px;height:54px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px #daf6e5}
.identity div{min-width:0}
.identity h1{font-size:16px;line-height:1.25;margin:0 0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.identity p{font-size:13px;color:var(--muted);margin:0;display:flex;align-items:center;gap:6px}
.online-dot{width:8px;height:8px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent)}
.phone-button{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:#e8f9ef;color:var(--accent-dark);text-decoration:none;font-size:22px}
.hero-banner{height:190px;flex:0 0 190px;position:relative;overflow:hidden;background:#17211b;border-bottom:1px solid #dce6df}
.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,17,13,.96) 0%,rgba(10,17,13,.83) 31%,rgba(10,17,13,.28) 62%,rgba(10,17,13,.05) 100%)}
.hero-content{position:relative;z-index:1;height:100%;max-width:690px;padding:22px 28px;color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.hero-kicker{display:inline-flex;padding:5px 9px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.1);font-size:10px;font-weight:750;letter-spacing:.055em;text-transform:uppercase;margin-bottom:10px}
.hero-content strong{font-size:26px;line-height:1.16;letter-spacing:-.025em;max-width:620px}
.hero-content p{font-size:13px;line-height:1.45;color:rgba(255,255,255,.8);max-width:590px;margin:8px 0 10px}
.hero-tag{font-size:11px;font-weight:700;color:#9ff0bc}
.video-case-button{position:absolute;z-index:3;right:7%;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.5);border-radius:999px;padding:9px 15px 9px 9px;background:rgba(255,255,255,.94);color:#173d28;font-weight:800;box-shadow:0 10px 34px rgba(0,0,0,.3);cursor:pointer;animation:videoFloat 2.1s ease-in-out infinite}
.video-case-button:hover{background:#fff;animation-play-state:paused;transform:translateY(-52%) scale(1.04)}
.video-case-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;box-shadow:0 0 0 0 rgba(33,192,99,.45);animation:videoIconBreathe 1.8s ease-in-out infinite}
.video-case-icon svg{width:22px;height:22px;fill:currentColor}.video-case-icon img{width:100%;height:100%;border-radius:50%;object-fit:cover}
@keyframes videoFloat{0%,100%{transform:translateY(-50%)}50%{transform:translateY(calc(-50% - 7px))}}
@keyframes videoIconBreathe{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(33,192,99,.42)}50%{transform:scale(1.09);box-shadow:0 0 0 9px rgba(33,192,99,0)}}
.video-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px}.video-modal-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(8,17,12,.78);backdrop-filter:blur(5px);cursor:pointer}.video-modal-card{position:relative;z-index:1;width:min(920px,94vw);background:#0d1410;border-radius:18px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.48);animation:videoModalIn .2s ease-out}.video-modal-header{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 14px 0 20px;color:#fff}.video-modal-close{width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:26px;line-height:1;cursor:pointer}.video-frame{position:relative;width:100%;aspect-ratio:16/9;background:#000}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}@keyframes videoModalIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}body.video-modal-open{overflow:hidden}
.messages{flex:1;overflow-y:auto;padding:20px 18px 12px;scroll-behavior:smooth;background:
  linear-gradient(rgba(249,251,250,.94),rgba(249,251,250,.94)),
  radial-gradient(circle at 10px 10px,#bfd0c4 1px,transparent 1.5px);background-size:auto,22px 22px}
.loading-state{height:100%;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:14px}
.spinner{width:18px;height:18px;border:2px solid #d5ddd8;border-top-color:var(--accent);border-radius:50%;animation:spin .75s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.message-row{display:flex;gap:8px;align-items:flex-end;margin:0 0 12px;animation:pop .22s ease-out}
.message-row.user{justify-content:flex-end}
.message-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.bubble{max-width:min(76%,720px);padding:11px 13px;border-radius:17px 17px 17px 5px;background:var(--bubble);font-size:14px;line-height:1.45;box-shadow:0 1px 1px rgba(0,0,0,.03);white-space:pre-wrap;word-break:break-word}
.message-row.user .bubble{background:var(--accent);color:#fff;border-radius:17px 17px 5px 17px}
.message-row.operator .bubble{background:#dcf3e5;border:1px solid #bde8cd}
.message-row.system{justify-content:center}
.message-row.system .bubble{background:#e8ecea;color:#66736c;border-radius:12px;padding:7px 12px;font-size:12px}
.bubble time{display:block;font-size:10px;opacity:.58;text-align:right;margin-top:5px}
.quiz-card{margin:8px 0 16px 40px;max-width:min(78%,720px);animation:pop .24s ease-out}
.quiz-question{background:#fff;padding:15px 16px;border-radius:18px 18px 18px 5px;border:1px solid var(--line);box-shadow:0 8px 24px rgba(23,55,35,.08)}
.quiz-question strong{display:block;font-size:15px;line-height:1.4;margin-bottom:12px}
.quiz-options{display:grid;gap:8px}
.quiz-option{width:100%;border:1px solid #cfe9d9;background:#f3fbf6;color:#166d3c;padding:11px 12px;border-radius:12px;text-align:left;font-weight:650;cursor:pointer;transition:.15s}
.quiz-option:hover{background:#e3f7eb;border-color:#9cdbb5;transform:translateY(-1px)}
.quiz-card-answered .quiz-option:disabled{opacity:1;cursor:default;transform:none;color:#617069;background:#f5f7f6;border-color:#dde5e0}
.quiz-card-answered .quiz-option.selected{position:relative;padding-right:40px;color:#126b3a;background:#eaf8f0;border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.quiz-card-answered .quiz-option.selected::after{content:"✓";position:absolute;right:13px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--accent);color:#fff;font-size:12px;font-weight:800}
.quiz-answer-value{padding:11px 12px;border:1px solid var(--accent);border-radius:12px;background:#eaf8f0;color:#126b3a;font-weight:650;overflow-wrap:anywhere}
.quiz-answer-time{display:block;margin-top:9px;text-align:right;color:var(--muted);font-size:10px}
.quiz-text{display:flex;gap:8px}
.quiz-text input{min-width:0;flex:1;border:1px solid #ced9d2;border-radius:12px;padding:12px;outline:none;background:#fff}
.quiz-text input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(33,192,99,.12)}
.quiz-text button{border:0;border-radius:12px;padding:0 16px;background:var(--accent);color:#fff;font-weight:700;cursor:pointer}
.quiz-skip{margin-top:8px;border:0;background:transparent;color:var(--muted);padding:5px;cursor:pointer;text-decoration:underline}
.step-counter{font-size:11px;color:var(--muted);margin-bottom:8px}
.typing{display:flex;align-items:center;gap:8px;padding:2px 18px 8px;background:#f9fbfa}
.typing img{width:28px;height:28px;border-radius:50%;object-fit:cover}
.typing span{background:var(--bubble);border-radius:14px;padding:9px 12px;display:flex;gap:4px}
.typing i{display:block;width:5px;height:5px;background:#7e8d84;border-radius:50%;animation:typing 1.1s infinite}
.typing i:nth-child(2){animation-delay:.16s}.typing i:nth-child(3){animation-delay:.32s}
@keyframes typing{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}
.chat-input{display:flex;gap:8px;align-items:flex-end;padding:12px 15px;border-top:1px solid var(--line);background:#fff}
.composer-field{flex:1;min-width:0;position:relative}
.chat-input textarea{width:100%;resize:none;max-height:110px;border:0;background:#f0f3f1;border-radius:20px;padding:11px 15px;outline:none;font-size:14px;line-height:1.4;display:block}
.chat-input textarea:focus{box-shadow:0 0 0 2px rgba(33,192,99,.16)}
.chat-input button{width:43px;height:43px;flex:0 0 43px;border:0;border-radius:50%;display:grid;place-items:center;cursor:pointer}
.chat-input .send-button{background:var(--accent);color:#fff;box-shadow:0 5px 14px rgba(15,145,71,.3)}
.chat-input .tool-button{background:#eef3f0;color:#526259;box-shadow:none}
.chat-input .tool-button:hover{background:#e2eee7;color:var(--accent-dark)}
.chat-input .tool-button.recording{background:#ffe8e8;color:#d73535;animation:recordingPulse 1.2s infinite}
.chat-input button:disabled{opacity:.45}
.chat-input svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.upload-status{font-size:11px;color:var(--muted);padding:5px 10px 0}
.attachment{display:flex;flex-direction:column;gap:8px;min-width:min(300px,62vw)}
.attachment-title{font-weight:650}
.attachment-meta{font-size:11px;opacity:.68}
.attachment-link{display:flex;align-items:center;gap:9px;color:inherit;text-decoration:none;background:rgba(255,255,255,.38);border:1px solid rgba(44,86,60,.13);border-radius:11px;padding:10px}
.attachment-link svg{width:22px;height:22px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.7}
.attachment audio{width:min(360px,62vw);height:38px}
@keyframes recordingPulse{50%{box-shadow:0 0 0 7px rgba(215,53,53,.12)}}
.privacy-note{font-size:10px;text-align:center;color:#87938c;margin:0;padding:0 14px 9px;background:#fff}
.privacy-note a{color:inherit}
.fit-note{width:min(87.5vw,1280px);padding:20px 24px;background:rgba(250,251,250,.92);border:1px solid rgba(77,96,86,.13);border-radius:18px;color:#39463f;box-shadow:0 12px 34px rgba(44,63,53,.07);font-size:14px;line-height:1.5}
.fit-note p{margin:0 0 10px;font-size:15px}
.fit-note strong{display:inline-block;background:#ef5252;color:#fff;border-radius:4px;padding:0 5px;font-weight:800}
.fit-note ul{margin:0;padding-left:21px;display:grid;gap:6px}
.fit-note li::marker{color:#ef5252}
.hidden{display:none!important}
.error-note{margin:12px 40px;padding:12px;background:#fff0f0;color:#9f3030;border-radius:12px;font-size:13px}
@keyframes pop{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:700px){
  body{background:#fff}
  .page-accent{display:none}
  .app-shell{display:block;padding:0}
  .chat-card{width:100%;height:100dvh;min-height:560px;border-radius:0;box-shadow:none}
  .fit-note{width:calc(100% - 24px);margin:12px;padding:17px 18px;border-radius:15px;font-size:13px}
  .fit-note p{font-size:14px}
  .chat-header{padding-top:max(12px,env(safe-area-inset-top))}
  .hero-banner{height:168px;flex-basis:168px}
  .hero-media{object-position:64% center}
  .hero-shade{background:linear-gradient(90deg,rgba(10,17,13,.93),rgba(10,17,13,.65) 60%,rgba(10,17,13,.18))}
  .hero-content{padding:17px 18px;max-width:90%}
  .hero-kicker{font-size:9px;margin-bottom:8px}
  .hero-content strong{font-size:21px}
  .hero-content p{font-size:12px;line-height:1.35;margin:7px 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .video-case-button{right:12px;top:auto;bottom:12px;padding:7px 11px 7px 7px;font-size:11px}.video-case-icon{width:32px;height:32px}.video-case-icon svg{width:18px;height:18px}
  .messages{padding-inline:12px}
  .quiz-card{margin-left:39px;max-width:calc(100% - 45px)}
  .bubble{max-width:86%}
  .identity h1{font-size:15px;max-width:calc(100vw - 145px)}
  .chat-input{gap:6px;padding-inline:10px}
  .chat-input button{width:40px;height:40px;flex-basis:40px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important}}
