/* AI doctor visit: scoped to the existing scenario and session screens. */
body.visit-mode{background:#050b1b;color:#eaf6ff;--line:#16304a;--forest:#071326;--gold:#39d7f1}
.visit-mode .sidebar{background:linear-gradient(180deg,#06101f,#071629 70%,#07111f);border-color:#1a3650}
.visit-mode .brand,.visit-mode .device-card strong{color:#e9f8ff}.visit-mode .brand-mark,.visit-mode .device-symbol,.visit-mode .brand-bottom b{color:#2bdaf5}
.visit-mode .brand-bottom b,.visit-mode .workspace,.visit-mode .workspace-icon{border-color:#1d536b}.visit-mode .workspace,.visit-mode .nav-item,.visit-mode .track-link,.visit-mode .account-button{color:#a1bad1}
.visit-mode .nav-label,.visit-mode .device-card p,.visit-mode .workspace small{color:#6486a5}.visit-mode .nav-item.active{background:#0c2c40;color:#ecfbff;border-color:#164c66}.visit-mode .track-link.selected{background:#102d44;color:#fff}.visit-mode .track-symbol{color:#55dff4}
.visit-mode .main-shell{background:radial-gradient(circle at 75% 0%,#142441 0,#080f22 31%,#050b19 78%)}
.visit-mode .topbar{border-color:#173048}.visit-mode .breadcrumbs,.visit-mode .breadcrumbs strong,.visit-mode .pill{color:#8caac3}.visit-mode .button-small{background:#183550;color:#e5fbff;border:1px solid #285e79}.visit-mode footer{border-color:#183047;color:#7e9bb3}.visit-mode footer strong,.visit-mode footer button{color:#8caac3}
.visit-mode main{max-width:1650px}.visit-mode .mobile-nav{background:#071324ed;border-color:#17364e}.visit-mode .mobile-nav button{color:#80a1bc}.visit-mode .mobile-nav button.active{color:#37e0fb}
.visit-mode button:focus-visible,.visit-mode input:focus-visible,.visit-mode textarea:focus-visible{outline-color:#4ae7fd}
.visit-app{max-width:1330px;margin:0 auto;color:#e8f5ff}.visit-back{display:inline-flex;gap:9px;align-items:center;background:none;border:0;padding:0;color:#80a8c8;font-size:11px;margin-bottom:25px}.visit-back:hover{color:#47e6fb}.visit-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.visit-overline,.visit-section-label{font-size:9px;font-weight:750;letter-spacing:1.9px;color:#5fdae9;text-transform:uppercase;line-height:1.5}.visit-overline{display:flex;gap:9px;align-items:center}.visit-overline>span,.scene-tag>span{width:7px;height:7px;background:#31e1f4;box-shadow:0 0 14px #31e1f4;border-radius:50%}.visit-overline b{color:#44647c}.visit-heading h1{font-size:clamp(32px,4vw,48px);line-height:1.13;letter-spacing:-1.8px;margin:13px 0 8px;font-weight:800}.visit-heading h1 em{font-style:normal;background:linear-gradient(90deg,#d5faff,#4eddf9 48%,#a697ff);color:transparent;background-clip:text}.visit-heading p{color:#92acc6;font-size:12px;line-height:1.7;margin:0}.visit-heading-mark{display:grid;place-items:center;width:49px;height:49px;border:1px solid #28516d;border-radius:50%;color:#54e0f4;font-size:24px;box-shadow:0 0 26px #18bde22e}
.visit-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(315px,.75fr);gap:20px;align-items:start}.visit-briefing,.visit-settings,.session-chat,.session-doctor{background:#0b1729;border:1px solid #1c3853;border-radius:15px;overflow:hidden;box-shadow:0 20px 65px #01061744}.doctor-scene{position:relative;min-height:300px;background:#081425;isolation:isolate;overflow:hidden}.doctor-scene-portrait{background-image:linear-gradient(90deg,#071223 0%,#071223d6 25%,#07122335 71%),linear-gradient(0deg,#08172d 0%,transparent 42%),url('/visit-doctor.webp');background-size:cover;background-position:center}.doctor-scene-abstract{background:radial-gradient(ellipse at 73% 48%,#24729b77 0%,#29255b7d 20%,transparent 54%),linear-gradient(125deg,#07172c,#102b49 57%,#241d49)}.doctor-scene-abstract:after{content:'';position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(90deg,transparent 0 74px,#8ae2ff0b 75px),repeating-linear-gradient(0deg,transparent 0 74px,#8ae2ff0b 75px)}.scene-content{position:absolute;inset:0;padding:22px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between}.scene-tag,.scene-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid #60ddf655;background:#06182cb8;border-radius:4px;padding:8px 10px;color:#9deefa;font-size:9px;font-weight:700;letter-spacing:1px}.scene-tag>span{width:6px;height:6px}.scene-bottom{max-width:58%;padding-bottom:2px}.scene-kicker{font-size:9px;letter-spacing:1.6px;font-weight:750;color:#64ddef}.scene-bottom h2{font-size:30px;font-weight:750;letter-spacing:-1px;margin:9px 0 4px;color:white}.scene-bottom p{font-size:12px;line-height:1.6;color:#d3eafa;margin:0 0 14px}.scene-badge{font-size:9px;letter-spacing:0;color:#d3f8ff;padding:7px 10px}.abstract-avatar{position:absolute;right:11%;top:13%;width:190px;height:190px;border:1px solid #62d8ff90;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 18px #3391c41a,0 0 0 37px #8b77ff12,0 0 70px #24c3f25a;background:radial-gradient(circle,#193e63,#08192e)}.abstract-avatar span{font-size:62px;color:#65e8fb;text-shadow:0 0 30px #44dbfc}
.visit-scenario{padding:27px}.visit-section-label span{color:#82a9c4;margin-right:8px}.visit-scenario h2{font-size:22px;font-weight:750;line-height:1.3;letter-spacing:-.4px;margin:12px 0}.visit-scenario>p{font-size:12px;line-height:1.8;color:#a9bfd1;margin:0}.goal-card{display:flex;gap:14px;align-items:flex-start;margin-top:22px;padding:16px;background:linear-gradient(90deg,#0d2b43,#0d2035);border:1px solid #1c5169;border-radius:9px}.goal-icon{display:grid;place-items:center;flex-shrink:0;width:33px;height:33px;border:1px solid #33d7ef;border-radius:50%;color:#61eeff;font-size:20px}.goal-card b{font-size:11px;color:#d9f8ff}.goal-card p{font-size:11px;line-height:1.7;color:#a8c8d8;margin:5px 0 0}
.visit-settings{padding:26px}.settings-top{display:flex;justify-content:space-between;gap:10px;padding-bottom:21px;border-bottom:1px solid #20364e}.settings-top h2{font-size:21px;font-weight:750;letter-spacing:-.5px;margin:10px 0 5px}.settings-top p{font-size:11px;line-height:1.6;color:#90a9bf;margin:0}.settings-orb{display:grid;place-items:center;width:37px;height:37px;flex-shrink:0;border:1px solid #397090;border-radius:10px;color:#4ce0f9;font-size:20px;background:#13334b}.visit-settings h3{font-size:11px;margin:23px 0 11px;color:#d7eafa}.visit-modes{display:grid;gap:8px}.visit-mode-option{position:relative;display:flex;gap:11px;align-items:center;padding:12px;border:1px solid #294057;border-radius:9px;background:#101e30;cursor:pointer}.visit-mode-option:has(input:checked){border-color:#31d3ee;background:linear-gradient(90deg,#10374b,#10263d);box-shadow:0 0 16px #22cae722}.visit-mode-option input{position:absolute;opacity:0}.visit-mode-option:has(input:focus-visible){outline:3px solid #4ae7fd;outline-offset:3px}.mode-symbol{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#10475b;color:#51e9fb;font-size:17px}.mode-symbol.purple{background:#2f2859;color:#c9a7ff}.visit-mode-option b,.visit-mode-option small{display:block}.visit-mode-option b{font-size:11px;color:#e8f7ff}.visit-mode-option small{font-size:9px;color:#9bb1c5;margin-top:5px;line-height:1.4}.visit-mode-option i{margin-left:auto;width:13px;height:13px;border:1px solid #54718a;border-radius:50%}.visit-mode-option:has(input:checked) i{border:4px solid #54dff5;background:#0f3347}.visit-settings h3.difficulty-heading{margin-top:24px}.visit-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.visit-levels button{min-width:0;border:1px solid #294057;background:#0b1b2c;color:#a9bdcc;padding:10px 3px;border-radius:7px;font-size:9px}.visit-levels button span{display:block;color:#688da5;font-size:9px;margin-bottom:5px}.visit-levels button.active{border-color:#b18cff;background:#302954;color:#fff;box-shadow:0 0 14px #a784fa30}.visit-levels button.active span{color:#d5c6ff}.visit-primary,.visit-secondary{display:flex;align-items:center;justify-content:center;gap:15px;border-radius:8px;font-size:11px;font-weight:750;line-height:1.4;min-height:47px;padding:11px 16px}.visit-primary{border:1px solid #46dff4;background:linear-gradient(105deg,#24d8ef,#60e0fa);color:#032134;box-shadow:0 4px 24px #1bcbe538}.visit-primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.visit-primary span,.visit-secondary span{margin-left:auto;font-size:16px}.visit-secondary{border:1px solid #2b526d;background:#10243a;color:#cae8f9}.visit-secondary:hover{background:#163149}.visit-settings>.visit-primary,.visit-settings>.visit-secondary{width:100%;margin-top:18px}.visit-settings>.visit-secondary{margin-top:9px}.visit-note{font-size:10px;line-height:1.6;color:#90aac0;margin:15px 0 0}.visit-footer{display:flex;justify-content:space-between;gap:20px;color:#688da8;font-size:9px;margin-top:18px;letter-spacing:.4px}.visit-footer span:last-child{font-size:8px;letter-spacing:1.3px}
.session-heading{margin:0 0 23px}.session-grid{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);gap:18px}.session-doctor{min-height:520px;background-position:64% center}.session-doctor .scene-bottom{max-width:90%}.session-chat{display:flex;flex-direction:column}.session-chat-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:20px 22px;border-bottom:1px solid #203b51}.session-chat-head h2{font-size:16px;font-weight:700;margin:7px 0 0}.turn-count{font-size:10px;color:#a2c3d7;border:1px solid #30516a;background:#112a40;border-radius:30px;padding:8px 10px;white-space:nowrap}.session-chat .message-list{flex:1;height:340px;min-height:280px;padding:22px}.session-chat .message{background:#14283d;border-color:#2a5269;color:#dfedf7;font-size:12px}.session-chat .message.user{background:#16495c;border-color:#2aa9bf;color:#e8fcff}.session-chat .message.hint{background:#30274d;border-color:#7058a2;color:#f1e8ff}.session-chat .speaker{color:#68d7e9}.session-chat .notice{color:#a4bfd1;font-size:12px;line-height:1.7}.session-chat .composer{border-color:#203b51;background:#0a192b}.session-chat .composer textarea{background:#101f31;border:1px solid #2b5066;color:#edfaff;font-size:12px}.session-chat .composer textarea::placeholder{color:#7d9cb0}.session-chat .composer .visit-primary{height:50px}.session-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 0}.session-actions p{font-size:10px;line-height:1.7;color:#8eaabd;margin:0}.session-actions>div{display:flex;gap:9px}.session-actions button{min-height:42px;white-space:nowrap}
@media(max-width:1100px){.visit-grid{grid-template-columns:minmax(0,1fr) minmax(285px,.8fr)}.visit-settings{padding:20px}.doctor-scene{min-height:285px}.abstract-avatar{width:140px;height:140px;right:10%;top:18%}}
@media(max-width:900px){.visit-grid{grid-template-columns:1fr}.doctor-scene{min-height:330px}.visit-settings{padding:25px}.session-grid{grid-template-columns:1fr}.session-doctor{min-height:310px}.session-chat .message-list{height:300px}.session-actions{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.visit-heading-mark{display:none}.visit-heading h1{font-size:35px}.visit-heading p{font-size:11px}.visit-back{margin-bottom:22px}.doctor-scene{min-height:285px}.doctor-scene-portrait{background-position:60% center}.scene-content{padding:17px}.scene-bottom{max-width:65%}.scene-bottom h2{font-size:25px}.scene-bottom p{font-size:11px}.visit-scenario{padding:21px}.visit-scenario h2{font-size:19px}.visit-settings{padding:21px}.visit-levels button{font-size:9px}.visit-footer span:last-child{display:none}.session-doctor{min-height:280px}.session-chat .composer{flex-wrap:wrap}.session-chat .composer textarea{flex-basis:100%}.session-chat .composer .visit-primary{margin-left:auto}.session-actions>div{width:100%;display:grid;grid-template-columns:1fr 1fr}.session-actions button{white-space:normal;font-size:10px}}
.visit-preview-notice{padding:11px 15px;margin:0 0 15px;border:1px solid #305674;border-radius:8px;background:#11283c;color:#b8daea;font-size:11px;line-height:1.5}
.session-doctor.doctor-scene-portrait{background-position:90% center}
