.rumi-launch{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:1100;display:flex;align-items:center;gap:9px;padding:12px 19px;border:1px solid #8cbcff;border-radius:32px;background:#123f86;color:#fff!important;box-shadow:0 6px 22px #123f8630;text-decoration:none!important;font:700 14px/1.5 sans-serif}
.rumi-launch::before{content:'✦';font-size:22px;color:#b8edff}.rumi-launch:hover{background:#0b306b}.rumi-launch:focus-visible,.rumi-dialog :focus-visible{outline:3px solid #38bdf8;outline-offset:3px}
.rumi-dialog{box-sizing:border-box;position:fixed;inset:auto 20px 84px auto;margin:0;width:440px;max-width:calc(100vw - 32px);height:min(720px,calc(100dvh - 110px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #cbddf1;border-radius:20px;background:#fff;color:#172b45;box-shadow:0 18px 65px #102d6240;font:15px/1.65 -apple-system,BlinkMacSystemFont,'Noto Sans JP',sans-serif;overflow:hidden}
.rumi-dialog::backdrop{background:#102b4445}.rumi-dialog *{box-sizing:border-box}.rumi-dialog [hidden]{display:none!important}.rumi-shell{display:flex;flex-direction:column;height:100%;min-height:0}.rumi-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;background:#eff6ff;border-bottom:1px solid #dce7f4;flex-shrink:0}.rumi-top h2{margin:0;font-size:18px;color:#173e73}.rumi-top p{margin:2px 0 0;font-size:12px;color:#466281}.rumi-dialog button,.rumi-dialog textarea,.rumi-dialog input{font:inherit}.rumi-dialog button{cursor:pointer}.rumi-close{border:0;background:transparent;font-size:24px!important;width:40px;height:40px;color:#294661;border-radius:8px}.rumi-content{padding:20px;overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1}.rumi-intro{font-size:20px;font-weight:700;line-height:1.6;margin:0 0 12px}.rumi-sub{font-size:13px;color:#55677e;margin:8px 0 18px}.rumi-choice{width:100%;display:block;text-align:left;padding:15px 16px;margin:0 0 12px;border:1px solid #cddced;border-radius:12px;background:#fff;color:#173e73}.rumi-choice:hover{background:#f0f7ff;border-color:#8ab7ef}.rumi-choice strong{display:block;font-size:15px}.rumi-choice span{display:block;margin-top:4px;color:#5d718a;font-size:12px}.rumi-consent{display:flex;gap:9px;align-items:flex-start;font-size:12px;color:#53667c;padding:12px;background:#f6f8fb;border-radius:8px;margin:16px 0}.rumi-consent input{margin-top:4px;min-width:17px;width:17px;height:17px}.rumi-dialog a{color:#175dab;text-decoration:underline}.rumi-notice{margin:0;padding:0 20px 10px;color:#335373;font-size:12px;flex-shrink:0}.rumi-error{color:#97351d;background:#fff4ee;border-top:1px solid #f1d5c8;padding:10px 16px;font-size:13px;flex-shrink:0}.rumi-messages{display:flex;flex-direction:column;gap:14px}.rumi-message{max-width:95%;align-self:flex-start;overflow-wrap:anywhere}.rumi-message[data-role=user]{align-self:flex-end}.rumi-message small{font-size:11px;color:#60738a;display:block;margin-bottom:4px}.rumi-message p{margin:0;padding:11px 13px;border-radius:12px;background:#f0f5fb;white-space:pre-wrap;font-size:14px}.rumi-message[data-role=user] p{background:#164684;color:white}.rumi-message[data-role=system] p{background:#fff7e4;color:#67541f}.rumi-composer{padding:12px 16px;border-top:1px solid #dce7f4;flex-shrink:0}.rumi-send-row{display:flex;align-items:flex-end;gap:8px}.rumi-dialog textarea,.rumi-dialog input[type=text],.rumi-dialog input[type=email]{display:block;width:100%;padding:10px;border:1px solid #a8bdd5;border-radius:8px;color:#172b45;background:white;min-width:0;font-size:16px}.rumi-dialog textarea{resize:vertical;max-height:140px}.rumi-dialog button:disabled{cursor:wait;opacity:.55}.rumi-primary{background:#164684;color:#fff;border:0;border-radius:9px;padding:11px 16px;white-space:nowrap;min-height:44px}.rumi-secondary{background:#fff;color:#164684;border:1px solid #a8bdd5;border-radius:9px;padding:9px 12px;min-height:42px}.rumi-text-button{border:0;background:transparent;color:#456688;text-decoration:underline;padding:6px;font-size:12px!important}.rumi-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin-top:10px}.rumi-mic{width:100%;padding:15px}.rumi-mic[data-recording=true]{background:#aa3429}.rumi-help{font-size:12px;color:#53667c;margin:7px 0}.rumi-review label{display:block;font-size:13px;font-weight:700;margin:15px 0 5px}.rumi-review .rumi-consent{font-weight:400;display:flex}.rumi-review h3{font-size:18px;margin:0}.rumi-review button[type=submit]{width:100%;margin-top:10px}.rumi-review-fields{margin-bottom:16px}.rumi-success{padding:16px;border:1px solid #afd6c2;border-radius:12px;background:#f0faf4;color:#24613f}.rumi-footer{padding:8px 16px;border-top:1px solid #edf1f5;font-size:11px;color:#6d7b8b;text-align:center;flex-shrink:0}
@media(max-width:600px){.rumi-launch{right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));padding:10px 15px;font-size:13px}.rumi-dialog{inset:8px 8px auto;width:calc(100vw - 16px);max-width:none;height:calc(100dvh - 16px);max-height:none;border-radius:14px}.rumi-top{padding:12px 14px}.rumi-content{padding:16px}.rumi-footer{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}}
@media print{.rumi-launch,.rumi-dialog{display:none!important}}
/* Rumi's original illustration is cropped only for display, never redrawn. */
.rumi-dialog{border-color:#dce6fa;border-radius:24px;background:#f8faff;box-shadow:0 20px 70px #294a7533}
.rumi-top{padding:16px 18px;background:linear-gradient(120deg,#eef7ff,#f4f0ff);border-color:#e2e9f6}
.rumi-identity{display:flex;align-items:center;gap:12px}
.rumi-avatar{display:block;flex:0 0 38px;width:38px;height:38px;border-radius:50%;overflow:hidden;border:2px solid #fff;box-shadow:0 2px 7px #557aa51a}
.rumi-avatar--ai{background-color:#e9f1ff;background-image:url('/lumi_ouen.png');background-size:154% auto;background-position:center 3%;background-repeat:no-repeat}
.rumi-top .rumi-avatar{width:52px;height:52px;flex-basis:52px;box-shadow:0 3px 10px #6789b82b}
.rumi-avatar--user{display:grid;place-items:center;color:#6b61a1;background:#efeaff}
.rumi-avatar--user svg{width:24px;height:24px}
.rumi-close{background:#ffffff80;border-radius:50%;color:#617aa0}.rumi-close:hover{background:#fff}
.rumi-choices>.rumi-consent{margin-top:0;background:#f0f4fa;border-radius:14px}
.rumi-choice{display:flex;align-items:center;gap:12px;min-height:68px;padding:16px;border:1px solid #dce5f4;border-radius:18px;background:#fff;box-shadow:0 3px 10px #3d639407;color:#284a76;transition:background .15s,border-color .15s}
.rumi-choice svg{flex:0 0 23px;width:23px;height:23px;fill:none;stroke:#668bc1;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.rumi-choice[data-kind=setup_voice]{background:#f3efff;border-color:#e3dafa}.rumi-choice[data-kind=setup_voice] svg{stroke:#8c74bd}
.rumi-choice:hover{background:#edf5ff;border-color:#a6c4ed}.rumi-choice[data-kind=setup_voice]:hover{background:#ece5ff;border-color:#c3afe6}
.rumi-contact-link{display:block;text-align:center;margin-top:18px;font-size:12px}
.rumi-messages{gap:20px}.rumi-message{display:flex;align-items:flex-start;gap:8px;max-width:100%;width:100%}
.rumi-bubble{min-width:0;max-width:calc(100% - 46px)}
.rumi-message[data-role=user]{flex-direction:row-reverse}.rumi-message[data-role=user] small{text-align:right}
.rumi-message small{font-size:11px;color:#61738d;margin:0 3px 5px}
.rumi-message p{background:#fff;border:1px solid #e1e9f5;border-radius:4px 18px 18px 18px;padding:12px 14px;box-shadow:0 3px 10px #43648a05;line-height:1.75}
.rumi-message[data-role=user] p{background:#e8edff;border-color:#dce3fa;border-radius:18px 4px 18px 18px;color:#30496e}
.rumi-message[data-role=system] .rumi-bubble{max-width:100%;width:100%}.rumi-message[data-role=system] p{border-radius:16px;background:#fff8e9;border-color:#f0e5ca}
.rumi-composer{background:#fff;border-color:#e5ebf6}.rumi-primary{background:#426da5;border-radius:14px}.rumi-primary:hover{background:#355d91}.rumi-secondary{border-radius:13px}
.rumi-dialog textarea,.rumi-dialog input[type=text],.rumi-dialog input[type=email]{border-color:#ccd8ec;border-radius:14px}
.rumi-footer{background:#fff;border-color:#edf0f7}.rumi-success{border-radius:16px}
@media(max-width:600px){.rumi-dialog{border-radius:20px}.rumi-top{padding:12px 14px}.rumi-content{padding:16px 12px}.rumi-top .rumi-avatar{width:46px;height:46px;flex-basis:46px}.rumi-choice{gap:10px;padding:14px 12px}.rumi-choice strong{font-size:14px}.rumi-message{gap:7px}.rumi-avatar{width:34px;height:34px;flex-basis:34px}.rumi-bubble{max-width:calc(100% - 41px)}.rumi-message p{padding:10px 12px}}
@media(prefers-reduced-motion:reduce){.rumi-choice{transition:none}}
