.robin-launcher{position:fixed;right:20px;bottom:18px;z-index:30;display:flex;align-items:center;gap:5px;padding:4px 13px 4px 5px;border:1px solid #d7c9ae;border-radius:40px;background:#fffaf0;color:#3f4e35;box-shadow:0 4px 18px #342a2226;font-weight:600;font-size:12px}
.robin-launcher img{width:40px;height:40px;object-fit:contain}.robin-launcher:hover{background:#fff1d8;transform:translateY(-1px)}
dialog.robin-guide{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;padding:0;margin:0;border:0;border-radius:0;background:transparent;overflow:hidden;box-shadow:none;color:#304833}
dialog.robin-guide::backdrop{background:#17251b38;backdrop-filter:none}
.robin-highlight{position:fixed;pointer-events:none;border:2px solid #eac171;border-radius:10px;box-shadow:0 0 0 100vmax #17251b30,0 0 0 4px #fff5cd55}
.robin-card{position:fixed;display:flex;align-items:flex-end;gap:0;width:480px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);animation:robin-appear 160ms ease-out;filter:drop-shadow(0 10px 20px #17251b22)}
.robin-character{width:115px;max-width:25%;height:155px;object-fit:contain;flex-shrink:0;align-self:flex-end;pointer-events:none;margin-right:-4px;margin-bottom:4px}
.robin-bubble{position:relative;min-width:0;flex:1;background:#fffcf5;border:1px solid #d8c9aa;border-radius:19px 19px 19px 5px;padding:21px;max-height:calc(100dvh - 32px);overflow-y:auto}
.robin-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.robin-meta>span{font-size:9px;letter-spacing:1.35px;font-weight:700;color:#797958;line-height:1.6}.robin-meta button{font-size:21px;line-height:1;padding:2px 6px;border:0;background:none;color:#62715b}
.robin-bubble h2{font-size:23px;line-height:1.2;margin:0 0 13px;font-weight:600;color:inherit;letter-spacing:-.5px}.robin-bubble h2:focus{outline:none}.robin-bubble p{font-size:14px;line-height:1.65;color:#53624b;margin:0 0 20px}
.robin-bubble button{font-size:12px;cursor:pointer}.robin-bubble button:focus-visible,.robin-launcher:focus-visible{outline:3px solid #c58526;outline-offset:3px}.robin-progress{height:3px;background:#ece9db;border-radius:3px;margin:4px 0 18px}.robin-progress span{display:block;height:100%;background:#97ac75;border-radius:3px}
.robin-controls{display:flex;justify-content:space-between;gap:8px;align-items:center}.robin-controls>div{display:flex;gap:6px}.robin-controls button{padding:8px 11px;white-space:nowrap}.robin-text-button{background:none!important;border:0!important;color:#687751;padding:5px 0!important}.robin-tour-start{display:flex;justify-content:space-between;width:100%;margin-bottom:13px}
.robin-topics{display:grid;gap:7px;margin-bottom:16px}.robin-topics button{display:flex;justify-content:space-between;text-align:left;background:#f6f4e9;border-color:#e5e2d2;color:#42583c;padding:10px 12px}.robin-bubble button:disabled{opacity:.4;cursor:default}
[data-theme=dark] .robin-launcher{background:#2b382b;color:#f3e7ce;border-color:#667456}
[data-theme=dark] .robin-bubble{background:#263428;color:#f5e9cd;border-color:#657450}
[data-theme=dark] .robin-bubble p{color:#d6ddca}[data-theme=dark] .robin-meta>span,[data-theme=dark] .robin-text-button{color:#c7cdad}[data-theme=dark] .robin-topics button{background:#344333;color:#e2e7d6;border-color:#52654a}[data-theme=dark] .robin-progress{background:#45513e}
@keyframes robin-appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.robin-guide[data-reduced=true] .robin-card{animation:none}
@media(prefers-reduced-motion:reduce){.robin-card{animation:none}.robin-launcher:hover{transform:none}}
@media(max-width:520px){.robin-character{width:68px;height:105px}.robin-bubble{padding:17px 14px}.robin-bubble h2{font-size:21px}.robin-bubble p{font-size:13px}.robin-controls{flex-wrap:wrap}.robin-launcher{right:12px;bottom:12px}.robin-card{width:calc(100vw - 24px);max-width:calc(100vw - 24px)}}
@media print{.robin-launcher,dialog.robin-guide{display:none!important}}
.camera-controls #fit{width:auto;padding:0 10px;font-size:12px;white-space:nowrap}
#robin-practice{display:flex;align-items:center;gap:12px;margin:0 16px 10px;padding:12px 16px;border:1px solid #d8c9aa;border-radius:12px;background:#fffcf5;color:#304833;flex-shrink:0}
#robin-practice>img{width:62px;height:76px;object-fit:contain}#robin-practice .practice-copy{flex:1;min-width:0}#robin-practice small{font-size:10px;letter-spacing:.7px}#robin-practice h3{font-size:16px;margin:4px 0}#robin-practice p{font-size:12px;line-height:1.5;margin:0}#robin-practice .practice-actions{display:flex;flex-wrap:wrap;gap:6px;max-width:185px}#robin-practice button{font-size:12px;padding:8px 10px}
.robin-practice-target{outline:3px solid #c98a20!important;outline-offset:3px}
[data-theme=dark] #robin-practice{background:#263428;color:#f5e9cd;border-color:#657450}
@media(max-width:800px){#robin-practice{margin:0 8px 8px;padding:10px;flex-wrap:wrap;gap:8px}#robin-practice>img{width:45px;height:60px}#robin-practice .practice-actions{max-width:none;width:100%}}
@media print{#robin-practice{display:none!important}}

/* Keep the companion visible when highlighted controls scroll the planner. */
#robin-practice{position:sticky;top:0;z-index:12;box-shadow:0 3px 12px #20352012}

@media(max-width:800px){.robin-launcher.robin-in-header{position:static;flex:none;box-shadow:none;min-height:40px}.robin-launcher.robin-in-header img{width:30px;height:30px}}
