#moonlight-visitor{--mv-paper:light-dark(#faf7ed,#202c32);--mv-ink:light-dark(#263c3b,#f4efd9);--mv-muted:light-dark(#5b6b64,#bec8ba);--mv-edge:light-dark(#dedfcf,#43524f);--mv-sky:light-dark(#294954,#162f3d);--mv-ground:light-dark(#34565a,#24434a);--mv-wall:light-dark(#afc6ba,#839e95);--mv-door:light-dark(#356867,#2a565b);--mv-yellow:#f4db91;--mv-gold-ink:#313b32;--mv-room:light-dark(#eed5a0,#c7aa72);--mv-flesh:#e5ad8f;--mv-hair:#d5d7c4;--mv-coat:#5c7770;--mv-cape:#815365;--mv-char-ink:#263839;--mv-choice:light-dark(#fffdf7,#2c3c3f);--mv-choice-hover:light-dark(#eeeeda,#3e504a);font-family:"Avenir Next","PingFang SC",system-ui,sans-serif;color:var(--mv-ink);width:100%;box-sizing:border-box}
    #moonlight-visitor *,#moonlight-visitor *:before,#moonlight-visitor *:after{box-sizing:border-box}
    #moonlight-visitor [hidden]{display:none!important}
    #moonlight-visitor .mv-window{background:var(--mv-paper);border:1px solid var(--mv-edge);border-radius:22px;overflow:hidden}
    #moonlight-visitor .mv-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 20px;flex-wrap:wrap}
    #moonlight-visitor .mv-brand{display:flex;align-items:center;gap:10px}
    #moonlight-visitor .mv-brand b{font-weight:500}
    #moonlight-visitor .mv-brand span{color:var(--mv-muted)}
    #moonlight-visitor button{font:inherit;cursor:pointer;touch-action:manipulation}
    #moonlight-visitor button:disabled{cursor:wait;opacity:.6}
    #moonlight-visitor .mv-small{display:flex;align-items:center;gap:6px;padding:9px 10px;border:0;background:transparent;color:var(--mv-muted);min-height:40px;border-radius:10px}
    #moonlight-visitor .mv-small:hover{background:var(--mv-choice-hover);color:var(--mv-ink)}
    #moonlight-visitor .mv-scene{height:330px;position:relative;overflow:hidden;isolation:isolate;background:var(--mv-sky)}
    #moonlight-visitor .mv-scene:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 -55px 70px -65px #03131e;z-index:12}
    #moonlight-visitor .mv-stars{position:absolute;inset:0;background-image:radial-gradient(circle at 11% 19%,#f4ebc4 0 1px,transparent 2px),radial-gradient(circle at 31% 11%,#f4ebc4 0 1px,transparent 2px),radial-gradient(circle at 8% 58%,#f4ebc4 0 1px,transparent 2px),radial-gradient(circle at 87% 16%,#f4ebc4 0 1px,transparent 2px),radial-gradient(circle at 95% 37%,#f4ebc4 0 1px,transparent 2px),radial-gradient(circle at 26% 38%,#f4ebc4 0 1px,transparent 2px)}
    #moonlight-visitor .mv-moon{position:absolute;left:14%;top:41px;width:50px;height:50px;background:var(--mv-yellow);border-radius:50%;box-shadow:0 0 42px #f4db911b}
    #moonlight-visitor .mv-moon:after{content:"";position:absolute;left:14px;top:-7px;width:45px;height:45px;border-radius:50%;background:var(--mv-sky)}
    #moonlight-visitor .mv-floor{position:absolute;bottom:-64px;left:-8%;width:120%;height:144px;border-radius:50% 40% 0 0;background:var(--mv-ground)}
    #moonlight-visitor .mv-path{position:absolute;left:38%;bottom:-50px;width:190px;height:125px;background:#b5bca82b;transform:skewX(-30deg);border-radius:20px}
    #moonlight-visitor .mv-house{position:absolute;left:41%;bottom:45px;width:42%;height:244px;background:var(--mv-wall);border-radius:110px 110px 7px 7px;box-shadow:10px 8px 0 #152d3433}
    #moonlight-visitor .mv-house:before{content:"";position:absolute;inset:13px 12px -10px;border:2px solid #547b7745;border-radius:100px 100px 8px 8px;pointer-events:none}
    #moonlight-visitor .mv-roof{position:absolute;top:-10px;left:-8px;right:-8px;height:66px;border:9px solid var(--mv-door);border-bottom:0;border-radius:130px 130px 0 0}
    #moonlight-visitor .mv-sign{position:absolute;top:34px;left:50%;transform:translateX(-50%);font-weight:500;letter-spacing:4px;color:#2e4b49}
    #moonlight-visitor .mv-porch{position:absolute;left:15%;right:12%;height:16px;bottom:-10px;background:var(--mv-room);border-radius:50% 50% 8px 8px;box-shadow:0 7px 0 #294448}
    #moonlight-visitor .mv-doorway{position:absolute;left:25%;right:21%;bottom:0;height:181px;perspective:750px}
    #moonlight-visitor .mv-inside{position:absolute;inset:0;background:var(--mv-room);border-radius:55px 55px 0 0;overflow:hidden;box-shadow:inset 0 0 0 6px #243c4129}
    #moonlight-visitor .mv-inside:after{content:"";position:absolute;left:14px;top:50px;width:25px;height:36px;border:3px solid #8c70497d;border-radius:14px 14px 0 0;transform:rotate(-7deg)}
    #moonlight-visitor .mv-door{position:absolute;inset:0;background:var(--mv-door);border:5px solid #274948;border-radius:55px 55px 0 0;transform-origin:left center;transform:rotateY(0deg);transition:transform .7s cubic-bezier(.2,.7,.15,1);z-index:4;backface-visibility:hidden}
    #moonlight-visitor .mv-door:before{content:"";position:absolute;left:15%;top:17%;width:68%;height:35%;border:2px solid #a2bf9c55;border-radius:35px 35px 3px 3px}
    #moonlight-visitor .mv-door:after{content:"";position:absolute;right:10%;top:62%;width:10px;height:10px;border-radius:50%;background:var(--mv-yellow);box-shadow:0 1px 0 2px #223c3d55}
    #moonlight-visitor[data-door="ajar"] .mv-door{transform:rotateY(-65deg)}
    #moonlight-visitor[data-door="open"] .mv-door{transform:rotateY(-110deg)}
    #moonlight-visitor[data-door="closed"] .mv-owner{opacity:0;transform:translateY(9px)}
    #moonlight-visitor .mv-owner{position:absolute;left:42%;bottom:-6px;width:60px;height:151px;transition:opacity .35s,transform .45s;z-index:2}
    #moonlight-visitor .mv-bun{position:absolute;top:0;left:30px;width:26px;height:26px;border-radius:50%;background:var(--mv-hair)}
    #moonlight-visitor .mv-hair{position:absolute;left:2px;top:14px;width:58px;height:66px;background:var(--mv-hair);border-radius:28px 30px 18px 18px}
    #moonlight-visitor .mv-head{position:absolute;left:8px;top:25px;width:49px;height:52px;border-radius:21px 24px 22px 22px;background:var(--mv-flesh);transform:rotate(-5deg);transition:transform .4s}
    #moonlight-visitor .mv-eyes{position:absolute;left:5px;right:5px;top:18px;display:flex;gap:5px}
    #moonlight-visitor .mv-eye{position:relative;width:18px;height:17px;border:2px solid var(--mv-char-ink);border-radius:50%}
    #moonlight-visitor .mv-eye:before{content:"";position:absolute;left:4px;top:5px;width:4px;height:5px;background:var(--mv-char-ink);border-radius:50%;transition:transform .3s}
    #moonlight-visitor .mv-eyes:before{content:"";position:absolute;left:17px;top:7px;width:6px;height:2px;background:var(--mv-char-ink)}
    #moonlight-visitor .mv-mouth{position:absolute;left:21px;top:39px;width:11px;height:2px;background:var(--mv-char-ink);border-radius:50%;transition:transform .3s,height .3s}
    #moonlight-visitor .mv-nose{position:absolute;left:23px;top:27px;width:5px;height:8px;border-right:2px solid #ae7253;border-radius:50%}
    #moonlight-visitor .mv-gown{position:absolute;left:0;bottom:0;width:70px;height:82px;border-radius:28px 30px 4px 4px;background:radial-gradient(circle,#bacfb657 1px,transparent 2px) 0 0/13px 14px,var(--mv-coat);transform:rotate(-3deg)}
    #moonlight-visitor .mv-hand{position:absolute;left:-6px;bottom:48px;width:21px;height:15px;background:var(--mv-flesh);border-radius:10px;transform:rotate(20deg)}
    #moonlight-visitor .mv-tea{position:absolute;left:-16px;bottom:56px;width:21px;height:19px;border-radius:0 0 8px 8px;background:var(--mv-yellow);transform:rotate(-5deg);transition:transform .4s}
    #moonlight-visitor .mv-tea:after{content:"";position:absolute;left:-8px;top:3px;width:10px;height:10px;border:3px solid var(--mv-yellow);border-radius:50%}
    #moonlight-visitor[data-mood="happy"] .mv-mouth{height:6px;background:transparent;border-bottom:2px solid var(--mv-char-ink);transform:translateY(-2px)}
    #moonlight-visitor[data-mood="happy"] .mv-head{transform:rotate(7deg)}
    #moonlight-visitor[data-mood="happy"] .mv-tea{transform:translateY(-9px) rotate(12deg)}
    #moonlight-visitor[data-mood="suspicious"] .mv-head{transform:rotate(-13deg)}
    #moonlight-visitor[data-mood="suspicious"] .mv-eye:before{transform:translateX(2px)}
    #moonlight-visitor .mv-lamp{position:absolute;right:9%;top:87px;width:20px;height:28px;background:var(--mv-yellow);border:4px solid #38534d;border-radius:4px;box-shadow:0 0 30px 12px #f4db9138}
    #moonlight-visitor .mv-lamp:after{content:"";position:absolute;top:-11px;left:5px;width:4px;height:8px;background:#38534d}
    #moonlight-visitor .mv-plant{position:absolute;right:7%;bottom:41px;width:30px;height:41px;background:#b2876b;border-radius:0 0 10px 10px;transform:rotate(5deg);z-index:4}
    #moonlight-visitor .mv-plant:before,#moonlight-visitor .mv-plant:after{content:"";position:absolute;width:20px;height:57px;bottom:33px;left:-4px;background:#648575;border-radius:80% 5% 80% 5%;transform:rotate(-27deg)}
    #moonlight-visitor .mv-plant:after{left:12px;height:49px;transform:rotate(19deg);background:#8da681}
    #moonlight-visitor .mv-player{position:absolute;left:21%;bottom:33px;width:73px;height:124px;transform:rotate(-4deg);z-index:5;transition:transform .6s,left .7s,opacity .45s}
    #moonlight-visitor .mv-shadow{position:absolute;bottom:-4px;left:-5px;width:86px;height:16px;border-radius:50%;background:#071c2833}
    #moonlight-visitor .mv-cape{position:absolute;bottom:5px;left:-4px;width:85px;height:87px;background:var(--mv-cape);clip-path:polygon(36% 0,69% 0,100% 91%,77% 100%,57% 96%,26% 100%,0 90%);border-radius:30% 30% 0 0}
    #moonlight-visitor .mv-player-head{position:absolute;top:1px;left:17px;width:41px;height:51px;background:#ddd7bd;border-radius:21px 19px 17px 18px;transform:rotate(10deg)}
    #moonlight-visitor .mv-player-head:before{content:"";position:absolute;top:-1px;left:-1px;right:0;height:21px;border-radius:20px 20px 0 0;background:var(--mv-char-ink);clip-path:polygon(0 0,100% 0,100% 79%,76% 60%,53% 100%,32% 60%,0 84%)}
    #moonlight-visitor .mv-player-head:after{content:"";position:absolute;top:29px;right:7px;width:4px;height:4px;background:var(--mv-char-ink);border-radius:50%;box-shadow:-14px 0 var(--mv-char-ink)}
    #moonlight-visitor .mv-fangs{position:absolute;bottom:4px;right:12px;border-left:3px solid transparent;border-right:3px solid transparent;border-top:5px solid #faf5e0}
    #moonlight-visitor .mv-scarf{position:absolute;left:13px;top:48px;width:48px;height:9px;background:#bc8c87;transform:rotate(5deg);border-radius:4px}
    #moonlight-visitor[data-door="open"] .mv-player{left:39%;transform:translateY(-8px) rotate(2deg)}
    #moonlight-visitor .mv-cat-button{position:absolute;left:34%;bottom:24px;width:69px;height:60px;border:0;padding:0;background:transparent;z-index:10;border-radius:25px}
    #moonlight-visitor .mv-cat{position:absolute;left:13px;bottom:5px;width:35px;height:29px;border-radius:65% 45% 30% 35%;background:#d3b78a;transition:transform .3s}
    #moonlight-visitor .mv-cat:before{content:"";position:absolute;left:17px;top:-14px;width:24px;height:25px;background:#d3b78a;clip-path:polygon(0 0,37% 18%,64% 18%,100% 0,95% 90%,62% 100%,13% 86%)}
    #moonlight-visitor .mv-cat:after{content:"";position:absolute;left:-15px;bottom:0;width:24px;height:29px;border:7px solid #d3b78a;border-top-color:transparent;border-right-color:transparent;border-radius:50%;transform:rotate(-15deg)}
    #moonlight-visitor .mv-cat-eye{position:absolute;right:-1px;top:-3px;width:3px;height:4px;border-radius:50%;background:#293c39;box-shadow:-9px 0 #293c39;z-index:1}
    #moonlight-visitor .mv-cat-collar{position:absolute;right:0;top:9px;width:15px;height:4px;background:#bc6771;transform:rotate(-9deg)}
    #moonlight-visitor .mv-cat-button:hover .mv-cat{transform:translateY(-4px) rotate(-5deg)}
    #moonlight-visitor .mv-scene-caption{position:absolute;left:18px;bottom:11px;color:#e6eadb;z-index:12;font-size:12px;pointer-events:none}
    #moonlight-visitor .mv-note{position:absolute;left:16px;top:15px;max-width:calc(100% - 32px);padding:9px 13px;background:#f9edcc;color:#3c4840;border-radius:8px;z-index:14;font-size:14px;box-shadow:0 4px 16px #132d3526}
    #moonlight-visitor .mv-hero-copy{position:absolute;left:22px;top:133px;width:31%;color:#f0ead6}
    #moonlight-visitor .mv-hero-copy h2{margin:0 0 5px;font-weight:500;font-size:25px;letter-spacing:1px}
    #moonlight-visitor .mv-hero-copy p{margin:0;font-size:12px;letter-spacing:2px;color:#c5d6c9}
    #moonlight-visitor .mv-dialogue{padding:20px 22px 10px}
    #moonlight-visitor .mv-speaker{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:var(--mv-muted);margin-bottom:10px;font-size:13px}
    #moonlight-visitor .mv-speaker:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--mv-door)}
    #moonlight-visitor .mv-npc{margin:0;font-weight:500;font-size:21px;line-height:1.4;letter-spacing:-.3px;overflow-wrap:anywhere}
    #moonlight-visitor .mv-translation{color:var(--mv-muted);font-size:14px;margin:8px 0 0;line-height:1.6}
    #moonlight-visitor .mv-last-line{font-size:13px;color:var(--mv-muted);margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--mv-edge);overflow-wrap:anywhere}
    #moonlight-visitor .mv-choices{display:grid;gap:8px;padding:6px 22px 18px}
    #moonlight-visitor .mv-choice{display:grid;grid-template-columns:25px 1fr 16px;align-items:center;gap:10px;text-align:left;background:var(--mv-choice);color:var(--mv-ink);border:1px solid var(--mv-edge);border-radius:12px;padding:12px 13px;transition:background .15s,transform .15s;min-height:50px;overflow-wrap:anywhere}
    #moonlight-visitor .mv-choice:hover{background:var(--mv-choice-hover);transform:translateX(2px)}
    #moonlight-visitor .mv-choice-letter{color:var(--mv-muted);font-size:13px}
    #moonlight-visitor .mv-choice small{display:block;color:var(--mv-muted);font-size:13px;margin-top:4px}
    #moonlight-visitor .mv-choice-arrow{color:var(--mv-muted)}
    #moonlight-visitor .mv-start{display:flex;justify-content:center;gap:9px;align-items:center;background:var(--mv-yellow);color:var(--mv-gold-ink);border-color:transparent;font-weight:500}
    #moonlight-visitor .mv-start:hover{background:#e6cc80}
    #moonlight-visitor .mv-footer{display:flex;justify-content:space-between;align-items:center;gap:6px;flex-wrap:wrap;border-top:1px solid var(--mv-edge);padding:7px 13px}
    #moonlight-visitor .mv-footer span{font-size:12px;color:var(--mv-muted);padding:5px 7px}
    #moonlight-visitor .mv-actions{display:flex;gap:4px;flex-wrap:wrap}
    #moonlight-visitor .mv-keepsake{margin:0 22px 18px;border-left:3px solid var(--mv-door);padding:3px 0 3px 13px}
    #moonlight-visitor .mv-keepsake p{margin:4px 0;overflow-wrap:anywhere}
    #moonlight-visitor .mv-keepsake-label{font-size:12px;color:var(--mv-muted)}
    #moonlight-visitor .mv-host-error{color:var(--mv-muted);padding:0 22px 12px;font-size:14px;margin:0}
    #moonlight-visitor[data-palette="plum"]{--mv-sky:light-dark(#514658,#282237);--mv-ground:light-dark(#665567,#39304a);--mv-wall:light-dark(#c5b4bc,#a092a7);--mv-door:light-dark(#6e5270,#624e73);--mv-coat:#806f92;--mv-cape:#496b6b}
    #moonlight-visitor[data-subtitles="off"] .mv-translation,#moonlight-visitor[data-subtitles="off"] .mv-choice small{display:none}
    #moonlight-visitor .mv-jiggle{animation:mv-knock .35s ease 1}
    @keyframes mv-knock{0%,100%{margin-left:0}30%{margin-left:3px}60%{margin-left:-2px}}
    @media(max-width:460px){#moonlight-visitor .mv-top{padding:12px 14px}#moonlight-visitor .mv-brand span{display:none}#moonlight-visitor .mv-scene{height:283px}#moonlight-visitor .mv-house{left:42%;width:48%;height:222px}#moonlight-visitor .mv-doorway{left:18%;right:17%;height:166px}#moonlight-visitor .mv-owner{left:34%;transform:scale(.86);transform-origin:bottom center}#moonlight-visitor .mv-player{left:15%;width:65px;transform:scale(.88);transform-origin:bottom center}#moonlight-visitor .mv-hero-copy{top:124px;left:15px}#moonlight-visitor .mv-hero-copy h2{font-size:20px}#moonlight-visitor .mv-hero-copy p{font-size:11px;letter-spacing:1px}#moonlight-visitor .mv-plant{right:4%;transform:scale(.8)}#moonlight-visitor .mv-moon{left:13%;top:32px;width:43px;height:43px}#moonlight-visitor .mv-cat-button{left:30%;bottom:22px}#moonlight-visitor .mv-dialogue{padding:16px 15px 10px}#moonlight-visitor .mv-npc{font-size:18px}#moonlight-visitor .mv-choices{padding:4px 15px 15px}#moonlight-visitor .mv-choice{padding:10px;gap:7px;grid-template-columns:19px 1fr 12px}#moonlight-visitor .mv-keepsake{margin-left:15px;margin-right:15px}}
    #moonlight-visitor .mv-hero-copy{top:105px;width:34%}
    #moonlight-visitor .mv-hero-copy h2{font-size:21px;line-height:1.25}
    #moonlight-visitor .mv-hero-copy p{display:none}
    #moonlight-visitor .mv-price-tag{position:absolute;right:0;bottom:12px;width:13px;height:19px;border-radius:2px;background:var(--mv-yellow);transform:rotate(-19deg);border-top:2px solid var(--mv-char-ink)}
    #moonlight-visitor .mv-price-tag:after{content:"";position:absolute;top:5px;left:3px;width:6px;height:1px;background:var(--mv-char-ink);box-shadow:0 3px var(--mv-char-ink),0 6px var(--mv-char-ink)}
    #moonlight-visitor .mv-pigeon{position:absolute;left:26px;top:-18px;width:23px;height:17px;border-radius:70% 50% 60% 50%;background:#a6b2b4;opacity:0;transform:translateY(-28px);transition:opacity .4s,transform .6s}
    #moonlight-visitor .mv-pigeon:before{content:"";position:absolute;right:-3px;top:-7px;width:12px;height:14px;border-radius:50%;background:#9bb3ad;border-right:3px solid var(--mv-yellow)}
    #moonlight-visitor .mv-pigeon:after{content:"";position:absolute;right:0;top:-3px;width:3px;height:3px;border-radius:50%;background:var(--mv-char-ink)}
    #moonlight-visitor[data-outcome="pigeon"] .mv-pigeon{opacity:1;transform:translateY(0)}
    #moonlight-visitor[data-outcome="cat"] .mv-cat{transform:translateX(25px) rotate(8deg)}
    #moonlight-visitor .mv-small{min-height:44px}
    @media(max-width:460px){#moonlight-visitor .mv-hero-copy{top:89px}#moonlight-visitor .mv-hero-copy h2{font-size:18px}}
    @media(prefers-reduced-motion:reduce){#moonlight-visitor *,#moonlight-visitor *:before,#moonlight-visitor *:after{animation:none!important;transition:none!important}}
