.mr-m-dock[hidden],.mr-m-dialog:not([open]) { display:none; }
.mr-m-dock { position:fixed; right:22px; bottom:22px; z-index:45; }
.mr-m-launch { display:flex; align-items:center; gap:9px; min-height:52px; padding:4px 17px 4px 5px; background:#fff; color:#171818; border:1px solid #c4c4bf; box-shadow:0 4px 18px #0002; border-radius:30px; font-size:14px; font-weight:500; line-height:1.2; cursor:pointer; }
.mr-m-avatar { display:block; width:42px; height:42px; overflow:hidden; border-radius:50%; background:#fff; flex-shrink:0; position:relative; }
.mr-m-avatar img { position:absolute; width:78px; max-width:none; height:117px; left:-18px; top:-25px; }
.mr-m-dialog { position:fixed; inset:auto 22px 22px auto; padding:0; margin:0; width:min(420px,calc(100vw - 32px)); height:min(740px,calc(100dvh - 44px)); max-width:none; max-height:none; border:1px solid #cecfca; border-radius:14px; color:#1b1c1a; background:#fbfcf9; box-shadow:0 20px 90px #0004; overflow:hidden; font-family:inherit; }
.mr-m-dialog[open] { display:flex; flex-direction:column; }
.mr-m-dialog::backdrop { background:#1114; }
.mr-m-dialog * { box-sizing:border-box; }
.mr-m-dialog button,.mr-m-dialog select,.mr-m-dialog textarea,.mr-m-launch { font-family:inherit; }
.mr-m-dialog button,.mr-m-dialog select { cursor:pointer; }
.mr-m-dialog :focus-visible,.mr-m-launch:focus-visible,.mr-m-introduction button:focus-visible { outline:3px solid #946e00; outline-offset:3px; }
.mr-m-header { position:relative; z-index:2; display:flex; gap:10px; align-items:center; padding:15px 18px 11px; background:#fff; border-bottom:1px solid #e2e4dc; flex-shrink:0; }
.mr-m-header h2 { font-size:20px; font-weight:600; line-height:1.2; letter-spacing:0; margin:0 0 3px; }
.mr-m-identity { min-width:0; }
.mr-m-guide summary { display:inline-flex; align-items:center; gap:6px; list-style:none; color:#555b50; font-size:13px; line-height:1.4; cursor:pointer; }
.mr-m-guide summary::-webkit-details-marker { display:none; }
.mr-m-guide summary:hover span:first-child { text-decoration:underline; text-underline-offset:3px; }
.mr-m-guide-icon { display:grid; place-items:center; width:16px; height:16px; border:1px solid #8a9084; border-radius:50%; font-family:Georgia,serif; font-size:11px; font-weight:600; line-height:1; }
.mr-m-guide[open] .mr-m-guide-icon { background:#313d2a; border-color:#313d2a; color:#fff; }
.mr-m-guide-note { position:absolute; top:100%; left:0; right:0; z-index:3; max-height:min(260px,calc(100dvh - 120px)); overflow-y:auto; margin:0; padding:13px 18px 15px; border-bottom:1px solid #d8dcd2; background:#fff; box-shadow:0 10px 18px #0002; color:#555b50; font-size:12px; line-height:1.5; }
.mr-m-close { margin-left:auto; background:transparent; border:0; width:44px; height:44px; font-size:29px; color:#272923; }
.mr-m-controls { display:flex; align-items:center; gap:7px; padding:7px 16px; font-size:12px; flex-shrink:0; }
.mr-m-controls label { color:#555b50; }
.mr-m-controls select { border:1px solid #c5c9bf; background:#fff; color:#252823; border-radius:5px; min-height:36px; padding:3px 5px; font-size:13px; }
.mr-m-controls button { margin-left:auto; border:0; background:none; padding:8px 0 8px 8px; min-height:36px; font-size:12px; text-decoration:underline; color:#50574b; }
.mr-m-scroll { flex:1; min-height:60px; overflow-y:auto; overscroll-behavior:contain; padding:8px 18px 12px; }
.mr-m-welcome { display:flex; gap:16px; align-items:center; }
.mr-m-welcome img { flex-shrink:0; width:78px; height:117px; object-fit:contain; border-radius:8px; }
.mr-m-welcome p { font-size:17px; line-height:1.5; margin:0; }
.mr-m-starters { display:grid; gap:7px; margin:14px 0 6px; }
.mr-m-starters button { text-align:left; padding:12px 14px; font-size:14px; color:#30382d; background:#fff; border:1px solid #d0d5c9; border-radius:7px; }
.mr-m-starters button:hover { border-color:#5d7153; }
.mr-m-dialog[data-started] .mr-m-welcome,.mr-m-dialog[data-started] .mr-m-starters { display:none; }
.mr-m-message { padding:12px 14px; border-radius:9px; margin:8px 0 13px; font-size:15px; line-height:1.55; overflow-wrap:anywhere; }
.mr-m-message p { font-size:inherit; line-height:inherit; white-space:pre-wrap; margin:4px 0 0; }
.mr-m-message strong { font-size:12px; font-weight:600; }
.mr-m-message[data-role="user"] { margin-left:28px; background:#e8eddc; }
.mr-m-message[data-role="assistant"] { margin-right:10px; background:#fff; border:1px solid #e0e3db; }
.mr-m-sources { display:flex; flex-wrap:wrap; gap:6px 12px; margin-top:10px; }
.mr-m-sources a { font-size:13px; text-decoration:underline; text-underline-offset:3px; color:#44533a; }
.mr-m-status { padding:0 18px; margin:0; font-size:13px; line-height:1.45; color:#66521e; flex-shrink:0; }
.mr-m-status:not(:empty) { padding-top:6px; padding-bottom:8px; }
.mr-m-voice-status { padding:0 18px; margin:0; font-size:12px; line-height:1.45; color:#66521e; flex-shrink:0; }
.mr-m-voice-status:not([hidden]) { padding-top:6px; padding-bottom:4px; }
.mr-m-form { display:flex; align-items:flex-end; gap:8px; padding:9px 14px; flex-shrink:0; border-top:1px solid #dde1d6; }
.mr-m-form textarea { flex:1; width:100%; min-width:0; resize:none; min-height:44px; max-height:96px; border:1px solid #bdc5b7; border-radius:7px; padding:11px 10px; font-size:16px; line-height:1.35; background:#fff; color:#1b2118; }
.mr-m-compose-actions { display:flex; align-items:center; gap:6px; flex:0 0 auto; }
.mr-m-form button { min-width:64px; min-height:44px; border:0; border-radius:7px; background:#313d2a; color:#fff; font-size:14px; padding:9px; }
.mr-m-form .mr-m-voice { display:grid; place-items:center; width:44px; min-width:44px; height:44px; padding:0; border:1px solid #bdc5b7; border-radius:50%; background:#fff; color:#313d2a; }
.mr-m-form .mr-m-voice[hidden] { display:none; }
.mr-m-form .mr-m-voice:hover { border-color:#5d7153; background:#f1f4ea; }
.mr-m-form .mr-m-voice[aria-pressed="true"] { border-color:#313d2a; background:#313d2a; color:#fff; box-shadow:0 0 0 4px #313d2a1f; }
.mr-m-form button:disabled { opacity:.55; cursor:wait; }
.mr-m-listen { display:inline-flex; align-items:center; min-height:36px; margin-top:9px; padding:5px 9px; border:1px solid #bdc5b7; border-radius:999px; background:#fbfcf9; color:#38432e; font-size:12px; cursor:pointer; }
.mr-m-listen:hover { border-color:#5d7153; background:#f1f4ea; }
.mr-m-listen[aria-pressed="true"] { border-color:#313d2a; background:#313d2a; color:#fff; }
.mr-m-links { display:flex; flex-wrap:wrap; gap:8px 14px; padding:3px 16px 8px; font-size:12px; flex-shrink:0; }
.mr-m-links a { text-decoration:underline; text-underline-offset:3px; color:#38432e; line-height:1.6; }
.mr-m-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.mr-m-introduction { border-top:1px solid #c8ccbf; margin-top:20px; padding-top:17px; max-width:32rem; }
.mr-m-introduction strong { font-size:15px; font-weight:600; }
.mr-m-introduction p { font-size:14px; margin:6px 0 10px; line-height:1.55; }
.mr-m-introduction button { cursor:pointer; background:none; border:0; font-family:inherit; padding:0; color:inherit; }
body.nav-open .mr-m-dock { visibility:hidden; }
@media(max-width:1000px) {
 body:has(.mr-m-dock:not([hidden])) { padding-bottom:calc(var(--mobile-action-height,58px) + env(safe-area-inset-bottom)); }
 body:has(.mr-m-dock:not([hidden])) .mobile-actions { height:calc(var(--mobile-action-height,58px) + env(safe-area-inset-bottom)); padding-right:25%; padding-bottom:env(safe-area-inset-bottom); grid-template-columns:repeat(3,minmax(0,1fr)); background:var(--paper-light); }
 body:has(.mr-m-dock:not([hidden])) .mobile-actions a { min-height:var(--mobile-action-height,58px); font-size:10px; letter-spacing:.04em; color:var(--ink); }
 body:has(.mr-m-dock:not([hidden])) .mobile-actions a.is-primary { background:var(--ink); color:var(--paper-light); }
 .mr-m-dock { left:auto; right:0; bottom:env(safe-area-inset-bottom); width:25%; height:var(--mobile-action-height,58px); z-index:91; padding:0; background:var(--paper-light); border-top:1px solid #d5d9ce; }
 .mr-m-launch { width:100%; height:var(--mobile-action-height,58px); min-height:44px; padding:3px 1px; flex-direction:column; justify-content:center; gap:1px; border:0; border-left:1px solid #d5d9ce; border-radius:0; box-shadow:none; background:transparent; font-size:10px; white-space:nowrap; }
 .mr-m-launch .mr-m-avatar { width:24px; height:24px; }
 .mr-m-launch .mr-m-avatar img { width:45px; height:68px; left:-10px; top:-14px; }
}
@media(max-width:640px) {
 .mr-m-dialog { inset:auto 0 0; width:100%; height:min(740px,100dvh); max-height:100dvh; border-radius:12px 12px 0 0; padding-bottom:env(safe-area-inset-bottom); }
 .mr-m-header { padding:9px 12px; }
 .mr-m-guide-note { padding:12px; }
 .mr-m-controls { padding-top:4px; padding-bottom:4px; }
}
@media(max-width:360px) { .mr-m-form { display:grid; grid-template-columns:minmax(0,1fr); } .mr-m-compose-actions { justify-content:flex-end; } }
@media(max-height:520px) { .mr-m-guide-note { max-height:calc(100dvh - 90px); } .mr-m-header { padding:4px 10px; } .mr-m-controls { padding:2px 12px; } }

.mr-m-recommendations{display:flex;gap:8px;overflow-x:auto;margin:11px -2px 2px;padding:2px 2px 7px;scroll-snap-type:x proximity}.mr-m-recommendation{flex:0 0 138px;scroll-snap-align:start;overflow:hidden;border:1px solid #dfe3d8;border-radius:8px;background:#fbfcf9}.mr-m-recommendation picture,.mr-m-recommendation img{display:block;width:100%}.mr-m-recommendation img{height:92px;object-fit:cover;background:#eef0e8}.mr-m-recommendation>div{display:grid;gap:3px;padding:8px}.mr-m-recommendation strong{font-size:12px;line-height:1.3}.mr-m-recommendation span{font-size:12px;color:#596151}.mr-m-recommendation a{font-size:12px;color:#44533a;text-decoration:underline;text-underline-offset:3px}.mr-m-handoff{margin-top:10px;border:1px solid #cad2c1;border-radius:8px;background:#f4f6ef;padding:0 10px}.mr-m-handoff summary{cursor:pointer;padding:10px 0;font-size:13px;font-weight:600;color:#35402f}.mr-m-handoff p{white-space:pre-wrap;margin:2px 0 7px;font-size:13px;line-height:1.45}.mr-m-handoff small{display:block;margin:0 0 9px;color:#62695a;font-size:11px;line-height:1.4}.mr-m-handoff a{display:inline-block;margin:0 0 10px;padding:8px 10px;border-radius:6px;background:#313d2a;color:#fff;font-size:12px;text-decoration:none}.mr-m-handoff a:focus-visible,.mr-m-recommendation a:focus-visible{outline:3px solid #946e00;outline-offset:2px}
