/* Rovi by RoadReady | V51.3 single-panel conversational onboarding. */
.rr51-body{background:#eef5f9;color:#18354a}
.rr51-main{max-width:1000px;padding-top:22px}
.rr51-main [hidden]{display:none!important}
.rr51-hero{border-radius:24px;background:linear-gradient(116deg,#071d37,#123d5a 65%,#0b756f);padding:clamp(22px,4vw,38px);color:#fff;box-shadow:0 12px 28px #09324b22}
.rr51-kicker{font-size:.75rem;font-weight:800;letter-spacing:.15em;color:#a5f4dc}
.rr51-hero h1{font-size:clamp(2rem,4.8vw,3.2rem);margin:12px 0;letter-spacing:-.045em;line-height:1.12;color:#fff}
.rr51-hero h1 span{color:#79e7ce}.rr51-hero h1 small{display:block;font-size:.52em;font-weight:600;letter-spacing:-.018em;margin-top:8px;color:#d7e9f2}
.rr51-hero p{font-size:1rem;line-height:1.55;max-width:700px;color:#e5f0f7;margin:0}
.rr51-hero-badges{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.rr51-hero-badges span{border:1px solid #b9f3de46;background:#ffffff14;border-radius:99px;padding:6px 12px;font-size:.81rem}
.rr51-workspace{margin:20px auto 0;display:block;max-width:920px}
.rr51-chat-panel{border:1px solid #cbdfe9;border-radius:22px;background:#fff;box-shadow:0 12px 30px #15385314;overflow:hidden;display:flex;flex-direction:column;min-height:480px}
.rr51-chat-head{padding:18px 22px;border-bottom:1px solid #e1ecf1;display:flex;align-items:center;justify-content:space-between;gap:12px}
.rr51-chat-brand{display:flex;gap:12px;align-items:center}
.rr51-rovi-icon{border-radius:14px;background:linear-gradient(145deg,#d5fcf1,#b3e2fc);width:46px;height:46px;display:grid;place-items:center;color:#006d66;font-size:1.7rem;flex:0 0 46px}
.rr51-chat-brand strong{display:block;font-size:1.14rem;color:#103b59}
.rr51-chat-brand strong span{font-weight:500;font-size:.79rem;color:#50718a}
.rr51-chat-brand p{margin:3px 0 0;color:#58748a;font-size:.82rem}
.rr51-status{font-size:.76rem;font-weight:800;padding:8px 12px;border-radius:100px;border:1px solid #edd5a0;background:#fff6e4;color:#7f570f;white-space:nowrap}
.rr51-status.ready{color:#076f53;border-color:#b6ead8;background:#ebfcf4}.rr51-status.error{color:#963d38;border-color:#ecc1bd;background:#fff0ed}
.rr51-setup-stage{padding:clamp(20px,4vw,35px);flex:1;background:linear-gradient(150deg,#f7fcff,#f4fbf9)}
.rr51-setup-message{display:flex;gap:12px;max-width:725px;margin:0 auto;align-items:flex-start}
.rr51-avatar{display:grid;place-items:center;width:35px;height:35px;flex:0 0 35px;border-radius:12px;background:#d6f8e9;color:#067459;font-size:1.3rem}
.rr51-setup-card{flex:1;min-width:0;background:white;border:1px solid #d9e9ee;border-radius:19px 19px 19px 5px;padding:clamp(20px,4vw,30px);box-shadow:0 5px 15px #0c526410}
.rr51-step{display:inline-block;font-size:.72rem;letter-spacing:.1em;font-weight:900;color:#0c857a}
.rr51-setup-card h2{font-size:clamp(1.45rem,4vw,1.95rem);line-height:1.2;margin:9px 0 8px;color:#103e5c}
.rr51-setup-card>p{font-size:.97rem;line-height:1.6;color:#446377;margin:0}
.rr51-setup-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:23px}
.rr51-setup-fields label{font-size:.84rem;font-weight:800;color:#294d60;display:flex;flex-direction:column;gap:8px}
.rr51-setup-fields select,.rr51-answer-length select{appearance:auto;max-width:100%;min-height:48px;border:1px solid #bad3e2;border-radius:12px;background:#fbfeff;padding:8px 12px;font-size:1rem;color:#173b55}
.rr51-setup-fields select:focus-visible,.rr51-answer-length select:focus-visible,.rr51-setup-form button:focus-visible,.rr51-composer button:focus-visible,.rr51-suggestions button:focus-visible,.rr51-context-change:focus-visible{outline:3px solid #5ccbb6;outline-offset:2px}
.rr51-setup-form>button#tutor-start{margin-top:20px;min-height:48px;background:#087c70;color:#fff;border:0;border-radius:12px;padding:10px 24px;font-size:1rem;font-weight:800;cursor:pointer}
.rr51-setup-form>button#tutor-start:disabled{opacity:.5;cursor:not-allowed}
.rr51-setup-form>button#tutor-setup-cancel{background:transparent;border:1px solid #a8c4d3;border-radius:10px;padding:10px 18px;margin-left:12px;cursor:pointer;color:#19465b}
.rr51-setup-card .rr51-setup-footnote{font-size:.78rem;margin-top:16px;color:#607b8c}
.rr51-context-bar{padding:10px 17px;border-bottom:1px solid #e1eaf0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;background:#f8fcfd}
.rr51-context-left{display:flex;align-items:center;gap:9px}.rr51-context-chip{background:#e4f7f0;color:#135a4e;padding:7px 11px;border-radius:99px;font-size:.85rem;font-weight:800}
.rr51-context-change{border:0;background:none;color:#106b82;cursor:pointer;font-size:.85rem;font-weight:700;text-decoration:underline}
.rr51-answer-length{display:flex;align-items:center;gap:8px;color:#425f71;font-size:.8rem;font-weight:700}
.rr51-answer-length select{min-height:35px;padding:5px 9px;font-size:.81rem}
.rr51-messages{min-height:310px;max-height:580px;overflow-y:auto;padding:22px;display:flex;flex-direction:column;gap:16px;background:linear-gradient(#fbfdff,#f6fbfb)}
.rr51-message{display:flex;align-items:flex-start;gap:10px;max-width:90%}.rr51-message.rr51-user{align-self:flex-end;flex-direction:row-reverse}
.rr51-user .rr51-avatar{background:#dcecfb;color:#1b5c8a}
.rr51-bubble{min-width:0;max-width:650px;padding:14px 18px;border:1px solid #deebef;background:#fff;border-radius:17px 17px 17px 5px;color:#1f394b;line-height:1.55;font-size:.99rem;overflow-wrap:anywhere;box-shadow:0 3px 9px #173c5110}
.rr51-user .rr51-bubble{border-radius:17px 17px 5px 17px;background:#e5f3ff;border-color:#d0e6f9}
.rr51-bubble p{white-space:pre-line;margin:0}.rr51-bubble strong{color:#173e58}.rr51-message.pending .rr51-bubble{font-style:italic;color:#546c7a}
.rr51-sources{margin-top:10px}.rr51-sources summary{color:#155f66;font-size:.8rem;font-weight:800;cursor:pointer;list-style:revert}.rr51-source-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.rr51-source-links a{font-size:.76rem;font-weight:700;background:#e7f6f2;color:#095b50;padding:7px 9px;border-radius:8px;text-decoration:none}
.rr51-suggestions{border-top:1px solid #e8f0f4;padding:11px 18px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.rr51-suggestions>span{font-size:.8rem;color:#527183;font-weight:750;margin-right:4px}
.rr51-suggestions button{border:1px solid #d5e7ee;border-radius:99px;background:#f6fbfd;color:#235167;cursor:pointer;padding:7px 10px;font-size:.78rem;font-weight:750}
.rr51-suggestions button:hover{background:#e0f7f0;border-color:#6ac8ae}
.rr51-resources{display:flex;gap:16px;padding:9px 19px 0;background:#fff;flex-wrap:wrap}
.rr51-resources a{font-size:.79rem;color:#126576;font-weight:750;text-decoration:none}.rr51-resources a:hover{text-decoration:underline}
.rr51-composer{display:flex;gap:10px;align-items:end;padding:13px 18px 8px;background:#fff}
.rr51-composer textarea{flex:1;min-width:0;resize:vertical;min-height:64px;max-height:125px;border:2px solid #c7dfe7;border-radius:14px;padding:11px 13px;line-height:1.4;font:inherit;color:#163c4e}
.rr51-composer textarea:focus-visible{outline:3px solid #88e4d4;border-color:#0b8171}
.rr51-composer button{height:51px;border:0;border-radius:12px;padding:0 20px;background:#087c70;color:#fff;cursor:pointer;font-size:.92rem;font-weight:800;white-space:nowrap}
.rr51-composer button:disabled{opacity:.48;cursor:not-allowed}
.rr51-fineprint{font-size:.75rem;line-height:1.5;color:#60788a;padding:8px 19px 16px;margin:0}
.rr51-bottom{text-align:center;padding:27px 10px}.rr51-bottom h2{color:#163d54;font-size:1.35rem}.rr51-bottom p{color:#5a7182}.rr51-bottom-links{display:flex;gap:15px;flex-wrap:wrap;justify-content:center}.rr51-bottom-links a{color:#076b65;font-weight:750}
@media(max-width:650px){.rr51-main{padding-left:12px;padding-right:12px}.rr51-hero{border-radius:16px}.rr51-chat-panel{border-radius:16px}.rr51-chat-head{padding:13px}.rr51-chat-brand strong{font-size:1.05rem}.rr51-chat-brand strong span{font-size:.69rem}.rr51-chat-brand p{font-size:.73rem}.rr51-status{padding:7px;font-size:.7rem}.rr51-setup-stage{padding:17px 11px}.rr51-setup-message{gap:7px}.rr51-setup-card{padding:18px}.rr51-setup-fields{grid-template-columns:1fr}.rr51-message{max-width:100%}.rr51-messages{padding:14px;min-height:290px}.rr51-bubble{padding:12px 14px}.rr51-context-bar{align-items:start}.rr51-composer{display:grid;grid-template-columns:1fr;padding:10px 12px}.rr51-composer button{width:100%;height:45px}.rr51-suggestions{padding:10px}.rr51-resources{padding:10px 12px 0}.rr51-fineprint{padding:8px 12px 14px}}
@media(prefers-reduced-motion:reduce){.rr51-chat-panel *{scroll-behavior:auto}}
