/* A small companion at the edge of the world; independent of chapter layouts. */
/* Reserve a quiet lane for the floating companion below the footer copy. */
.invitation-section footer{padding-bottom:120px}
.invitation-section footer .filing{bottom:86px}
.mc-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.mc-launcher[hidden]{display:none}
.mc-launcher,.mc-panel button,.mc-form textarea{font-family:inherit}
.mc-launcher{position:fixed;right:26px;bottom:max(22px,env(safe-area-inset-bottom));z-index:70;display:flex;align-items:center;gap:10px;border:2px solid #244438;border-radius:30px 27px 32px 26px;background:#fff8e8;color:#244438;padding:7px 17px 7px 9px;box-shadow:3px 4px 0 #24443822;cursor:pointer;font:inherit;font-size:13px;line-height:1.4;font-weight:600;transition:transform .2s,box-shadow .2s}
.mc-launcher:hover{transform:translateY(-3px) rotate(-2deg);box-shadow:4px 7px 0 #24443822}.mc-launcher svg{width:42px;height:40px}.mc-launcher small{display:block;font-size:10px;font-weight:400;letter-spacing:.08em;margin-top:2px}.mc-launcher[aria-expanded=true]{background:#e3eddf}
.mc-launcher.mc-compact:not(:focus-visible):not(:hover){gap:0;padding:8px}.mc-launcher.mc-compact:not(:focus-visible):not(:hover)>span{display:none}
.mc-panel{position:fixed;z-index:71;right:26px;bottom:max(99px,calc(env(safe-area-inset-bottom) + 84px));width:408px;height:min(630px,calc(100dvh - 128px));min-height:300px;display:flex;flex-direction:column;isolation:isolate;border:2px solid #244438;border-radius:23px 27px 20px 25px;background:#fffaf0;color:#244438;box-shadow:6px 7px 0 #24443818,0 16px 50px #193d3224;overflow:hidden;animation:mc-unfold .26s cubic-bezier(.2,.8,.2,1);font-family:inherit;text-align:left}
.mc-panel[hidden],.mc-panel [hidden]{display:none!important}.mc-header{padding:18px 17px 15px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #24443824;background:#e8efdf}.mc-mascot{width:49px;height:49px;flex:none;background:#fffbef;border:1px solid #24443827;border-radius:17px 19px 16px 18px;display:grid;place-items:center}.mc-mascot svg{width:41px;height:41px}.mc-header h2{font:inherit;font-size:16px;line-height:1.5;font-weight:700;margin:0;letter-spacing:.02em}.mc-header h2 span{font-size:10px;font-weight:500;padding:2px 5px;border:1px solid #24443866;border-radius:5px;margin-left:4px;vertical-align:middle}.mc-header p{font-size:11px;line-height:1.6;margin:3px 0 0;opacity:.8}.mc-close{margin-left:auto;align-self:flex-start;width:36px;height:36px;flex:none;border:1px solid #24443855;border-radius:50%;color:inherit;background:transparent;font-size:24px;cursor:pointer;line-height:1}.mc-close:hover{background:#fffaf0}
.mc-thread{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:21px 18px 14px;scrollbar-width:thin;scrollbar-color:#24443855 transparent;background:radial-gradient(#24443809 .6px,transparent .7px) 0 0/8px 8px}.mc-welcome{margin:0 0 22px}.mc-eyebrow{font:10px/1.7 ui-monospace,monospace;letter-spacing:.13em;opacity:.6}.mc-welcome h3{font-size:24px;font-weight:600;line-height:1.55;margin:9px 0}.mc-welcome>p:last-child{font-size:12px;line-height:1.9;opacity:.78;margin:0}.mc-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.mc-suggestions button{border:1px solid #24443855;background:#fffdf6;color:inherit;border-radius:13px 10px 14px 11px;padding:9px 11px;font:inherit;font-size:12px;line-height:1.5;cursor:pointer}.mc-suggestions button:hover{background:#f7edba;transform:rotate(-1deg)}
.mc-message{position:relative;display:table;max-width:90%;margin:0 0 15px;padding:12px 14px;border:1px solid #24443835;border-radius:3px 16px 14px 17px;background:#fffef8;font-size:13px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;animation:mc-arrive .2s ease-out}.mc-user{margin-left:auto;background:#e4ecd9;border-radius:15px 4px 16px 15px}.mc-system{display:block;margin:0 3px 16px;max-width:none;padding:9px 0;border:0;border-top:1px dashed #24443835;border-radius:0;background:none;font-size:11px;opacity:.7;text-align:center}.mc-thinking{font-size:12px;border-style:dashed;color:#627969}.mc-thinking:after{content:' · · ·';letter-spacing:3px;animation:mc-thinking 1.4s ease-in-out infinite}.mc-bottom{padding:10px 16px 13px;border-top:1px solid #24443824;background:#fffaf0}.mc-status{margin:0 0 8px;font-size:10px;line-height:1.65;min-height:17px;color:#587260}.mc-retry{display:block;font:inherit;font-size:11px;line-height:1.7;color:#244438;background:#f6edc2;border:1px solid #24443855;border-radius:6px;padding:5px 10px;margin:0 0 8px;cursor:pointer}.mc-form{display:flex;align-items:flex-end;gap:8px;border:1.5px solid #24443888;border-radius:12px 15px 13px 10px;padding:9px;background:#fffdf8}.mc-form:focus-within{outline:2px solid #a89cc088;outline-offset:2px}.mc-form textarea{resize:none;border:0;outline:0!important;background:transparent;color:#244438;font:inherit;font-size:13px;line-height:1.65;padding:3px 2px;min-width:0;width:100%;height:48px;max-height:96px;box-shadow:none}.mc-form textarea::placeholder{color:#627969}.mc-send{flex:none;width:42px;height:42px;border:1px solid #244438;border-radius:12px 10px 13px 11px;background:#244438;color:#fff8e7;font-size:23px;cursor:pointer}.mc-panel button:disabled{cursor:default;opacity:.45;transform:none}.mc-panel textarea:disabled{opacity:.6}.mc-footnote{font-size:9px;line-height:1.7;margin:8px 0 0;color:#718071}.mc-launcher:focus-visible,.mc-panel button:focus-visible{outline:3px solid #9477b9;outline-offset:3px}.mc-replied .mc-mascot svg{animation:mc-nod .7s ease-in-out}.mc-open .mc-launcher small{display:none}
@keyframes mc-unfold{from{opacity:0;transform:translateY(15px) rotate(1deg);transform-origin:bottom right}to{opacity:1;transform:none}}
@keyframes mc-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes mc-thinking{50%{opacity:.3}}@keyframes mc-nod{30%{transform:rotate(-8deg) translateY(-3px)}60%{transform:rotate(6deg)}100%{transform:none}}
@media(max-width:600px){.mc-launcher{right:15px;bottom:max(16px,env(safe-area-inset-bottom));padding:7px 13px 7px 8px;gap:7px}.mc-launcher svg{width:35px;height:34px}.mc-launcher small{display:none}.mc-panel{right:10px;left:10px;bottom:max(10px,env(safe-area-inset-bottom));width:auto;height:min(710px,calc(100dvh - 20px));min-height:240px;border-radius:23px 22px 17px 20px;box-shadow:0 0 0 100vmax #183a324d,3px 5px 0 #24443828}.mc-open{overflow:hidden}.mc-open .mc-launcher{visibility:hidden}.mc-header{padding:14px}.mc-thread{padding:17px 14px 10px}.mc-form textarea{font-size:16px;line-height:1.5}.mc-message{font-size:14px}.mc-close{width:42px;height:42px}.mc-suggestions button{min-height:42px}.mc-bottom{padding:10px 12px 12px}}
@media(prefers-reduced-motion:reduce){.mc-panel,.mc-message,.mc-thinking:after,.mc-replied .mc-mascot svg{animation:none}.mc-launcher{transition:none}}
@media(max-width:600px){.mc-panel{height:min(710px,calc(var(--mc-viewport,100dvh) - 20px));bottom:max(10px,calc(var(--mc-keyboard,0px) + env(safe-area-inset-bottom)))}}
.mc-header h2{font-family:inherit;font-size:16px;line-height:1.5;font-weight:700}.mc-launcher{font-size:13px;line-height:1.4;font-weight:600}.mc-suggestions button{font-size:12px;line-height:1.5}.mc-retry{font-size:11px;line-height:1.7}.mc-form textarea{font-size:13px;line-height:1.65}
@media(max-width:600px){.mc-form textarea{font-size:16px;line-height:1.5}}
@media(max-height:520px){.mc-panel{bottom:max(10px,calc(var(--mc-keyboard,0px) + env(safe-area-inset-bottom)));height:calc(var(--mc-viewport,100dvh) - 20px);min-height:200px}.mc-header{padding:9px 12px}.mc-header p{display:none}.mc-welcome h3{font-size:20px}.mc-welcome{margin-bottom:12px}.mc-bottom{padding:7px 12px}.mc-footnote{margin-top:4px}.mc-form textarea{height:35px}.mc-form{padding:5px 8px}.mc-status{margin-bottom:4px}}
