/* v0.2.2：参考用户提供的糖果色首页构图；文字与按钮仍为真实可交互元素。 */
body[data-theme="mint"]{background:radial-gradient(ellipse at 90% 8%,#ffe1ee 0,transparent 37%),radial-gradient(ellipse at 30% 8%,#d5f6ff 0,transparent 49%),linear-gradient(180deg,#edfaff 0%,#fffde5 76%,#ffffeb 100%)}
body:not(.in-game) .hill{display:none}
.sky .cloud{opacity:.95;filter:drop-shadow(0 5px 7px #b6d8e012)}
.sky .cloud-a{top:20%;left:37%;transform:scale(.9)}
.sky .cloud-b{right:0;top:42%;transform:scale(.9)}
.sky .sun{width:43px;height:43px;right:5%;top:14%;background:#ffdb68;border:3px solid #ffe895;box-shadow:0 0 0 9px #fff0a84a,0 0 25px #ffe68361}
.sky .sun:after{content:'☀';position:absolute;font:84px/1 Arial,sans-serif;color:#f9cf64;top:50%;left:50%;transform:translate(-50%,-50%);z-index:-1}
.candy-rainbow{position:absolute;right:7%;top:18%;width:230px;height:125px;border-radius:150px 150px 0 0;border:10px solid #ffb6c9;border-bottom:0;transform:rotate(12deg);opacity:.7;box-shadow:inset 0 7px 0 #ffe28a,inset 0 15px 0 #ccebad,inset 0 23px 0 #afe7eb,inset 0 31px 0 #d6c0ee}
.candy-rainbow:before,.candy-rainbow:after{content:'';position:absolute;width:82px;height:33px;border-radius:40px;background:#fffefc;bottom:-11px;box-shadow:15px -13px 0 -1px #fffefc,37px -2px 0 -4px #fffefc}
.candy-rainbow:before{left:-35px}.candy-rainbow:after{right:-23px}
.puff{position:absolute;bottom:-32px;width:180px;height:110px;background:linear-gradient(#fff,#f0faff);border-radius:50%;box-shadow:70px 18px 0 1px #f7fcff,120px 38px 0 -7px #f9fdff}
.puff-left{left:-70px}.puff-right{right:-70px;transform:scaleX(-1)}
.float-decor{position:absolute;filter:drop-shadow(0 3px 2px #c8756020);opacity:.65;animation:candyFloat 5s ease-in-out infinite;pointer-events:none}
.butterfly-one{top:22%;left:4%;font-size:29px;filter:sepia(.4) hue-rotate(300deg) saturate(.65);transform:rotate(-15deg)}
.butterfly-two{top:29%;left:32%;font-size:23px;filter:sepia(.4) hue-rotate(300deg) saturate(.65);animation-delay:-2s}
.heart-one{left:46%;bottom:15%;font-size:31px;color:#f49ab4;transform:rotate(-12deg)}
.heart-two{right:4%;top:66%;font-size:28px;color:#f29ab3;animation-delay:-3s}
.tiny-star{left:51%;top:67%;font-size:29px;color:#f8b8d4}
body:not(.in-game) .topbar{height:var(--bar-height);align-items:center}
.basic-toolbar button{border:2px solid #fff5dcb0;box-shadow:0 3px 0 #d7b88925,0 4px 9px #99aba318;border-radius:18px}
.basic-toolbar button:nth-child(1){background:linear-gradient(#fff9d5,#ffedbc)}
.basic-toolbar button:nth-child(2){background:linear-gradient(#edffe1,#d1efcb)}
.basic-toolbar button:nth-child(3){background:linear-gradient(#ffe8f0,#facddd)}
.basic-toolbar button:nth-child(4){background:linear-gradient(#e4f8ff,#c4e7f4)}
.basic-toolbar button:nth-child(5){background:linear-gradient(#ffe9dd,#f8cabb)}
.basic-toolbar button:nth-child(6){background:linear-gradient(#fff3c9,#ffe09a)}
.home{max-width:1320px;grid-template-columns:1fr 1.08fr;padding-left:5.5%;padding-right:4%;gap:18px}
.home h1{font-weight:1000;font-size:clamp(49px,5.6vw,79px);line-height:1.17;letter-spacing:2px;filter:drop-shadow(0 6px 3px #d29f6a35);margin-bottom:19px}
.home h1 .title-line{color:#fffbe1;display:block;margin:0 0 6px;-webkit-text-stroke:5px #f29a62;paint-order:stroke fill;text-shadow:none;filter:drop-shadow(2px 0 0 white) drop-shadow(-2px 0 0 white) drop-shadow(0 2px 0 white) drop-shadow(0 -2px 0 white) drop-shadow(0 3px 0 #efba8f)}
.home .tagline{position:relative;display:table;background:#fffffff0;border:2px solid #f6d0b8;border-radius:30px;padding:11px 21px;margin:15px 0 30px;color:#a97a60;opacity:1;font-size:clamp(16px,1.6vw,21px);font-weight:800;box-shadow:0 3px 0 #f4dfbf65}
.home .tagline:after{content:'';position:absolute;right:25px;bottom:-8px;width:13px;height:13px;background:#fffefb;border-right:2px solid #f6d0b8;border-bottom:2px solid #f6d0b8;transform:skewY(-35deg)}
.home .start-button{background:linear-gradient(180deg,#fff49d 0%,#ffdc64 28%,#ffb644 75%,#ff983f);border:3px solid #fff2bb;box-shadow:0 5px 0 #f48437,0 9px 0 #ffd080,0 14px 16px #ea9f6040;border-radius:28px;color:#fffdf0;text-shadow:0 2px 1px #b87b3f55;font-size:28px;min-height:76px}
.home .start-button:hover{transform:translateY(-2px);box-shadow:0 7px 0 #f48437,0 11px 0 #ffd080,0 16px 18px #ea9f6040}
.home .start-button:active{transform:translateY(4px);box-shadow:0 1px 0 #f48437,0 5px 0 #ffd080}
.home .play{font-size:27px}.home .password-input-wrap{border-color:#f0d5b5;background:#fffef5}.home .password-gate label{color:#987354}
.scene .orbit{border:0;background:radial-gradient(ellipse,#fffef4 0%,#fffcecdd 59%,#fffdf000 72%);width:105%;height:105%;top:0}
.scene .speech{background:#fffffff2;border:2px solid white;box-shadow:0 4px 12px #b7d2d022;border-radius:22px 22px 22px 5px;color:#5e7378;font-size:18px;padding:13px 21px;left:39%;top:0;z-index:2}
.scene .robot{height:91%;top:0;filter:drop-shadow(0 5px 1px #fff8)}
.scene .word-postcard{border:0;box-shadow:none;background:none;gap:12px;padding:0;transform:translateX(-50%);bottom:0}
.scene .cat-stamp{width:76px;height:88px;justify-content:center;border-radius:18px;background:linear-gradient(#e5ffc6,#b5ecc5);border:3px solid #eaffce;box-shadow:0 5px 0 #96cdae,0 8px 12px #b29c6e25;transform:rotate(-3deg)}
.scene .cat-stamp svg{width:43px;height:43px}.scene .cat-stamp span{font-size:14px;font-weight:800;color:#5d8f78}
.scene .demo-letters{gap:10px}.scene .demo-letters>span{width:76px;height:87px;border-radius:18px;border:3px solid #ffebc9;background:linear-gradient(#ffe0ba,#ffc089);box-shadow:0 5px 0 #e89b72,0 8px 12px #b29c6e25;color:#467481;font-size:51px;text-shadow:0 2px 1px white}
.scene .demo-letters .missing{background:linear-gradient(#ffe2cc,#ffbbac);border:3px solid #fff0d8;box-shadow:0 5px 0 #e8947c;color:#ffeaa8;text-shadow:1px 2px #d99753}
.scene .demo-letters>span:last-child{background:linear-gradient(#d9f2ff,#99d7ef);border-color:#e8f9ff;box-shadow:0 5px 0 #85b6d1;color:#4382a7;transform:rotate(2deg)}
.scene .demo-letters>span:before{content:'♥';position:absolute;font-size:10px;color:#fff4eb;top:7px;right:8px;text-shadow:0 1px #e7b6ac}
.scene .demo-letters>span{position:relative}.scene .postcard-star{display:none}.scene .delivery-path{opacity:.55;bottom:22px;right:-1%}
body.in-game .candy-rainbow,body.in-game .float-decor,body.in-game .puff{display:none}
@keyframes candyFloat{50%{translate:0 -7px;rotate:5deg}}
@media(max-width:1100px){.home{gap:10px;padding-left:5%;padding-right:3%}.home h1{font-size:57px}.home .tagline{font-size:16px;padding:9px 17px}.scene .cat-stamp{width:61px;height:72px}.scene .demo-letters>span{width:61px;height:72px;font-size:42px}.scene .word-postcard{gap:8px}.scene .demo-letters{gap:7px}.candy-rainbow{width:180px;height:100px;right:8%;top:20%}}
@media(max-width:900px) and (orientation:portrait){.home{grid-template-columns:minmax(0,1fr);gap:12px;padding:15px 4% 27px;grid-template-rows:auto auto minmax(0,1fr) auto}.home h1{font-size:clamp(33px,5.9vw,48px);margin:3px 0 4px}.home h1 .title-line{display:inline;margin:0 6px 0 0;-webkit-text-stroke:3px #ee9660}.home .tagline{display:block;margin:0;padding:8px 20px;font-size:17px}.scene .speech{top:1%;font-size:15px;padding:9px 15px}.scene .robot{height:91%;top:0}.scene .orbit{width:100%;height:100%;top:0}.scene .word-postcard{padding:0}.candy-rainbow{top:26%;right:7%;width:170px}.sky .sun{top:18%;right:9%;width:35px;height:35px}.butterfly-one{top:20%;left:5%}.butterfly-two{top:31%;left:16%}.heart-one{bottom:24%;left:11%}.tiny-star{left:auto;right:8%;top:62%}.home .start-button{min-height:72px}.home:has(.password-gate:not([hidden])) .cat-stamp{height:61px;width:52px}.home:has(.password-gate:not([hidden])) .demo-letters>span{height:61px;width:52px;font-size:36px}}
@media(max-height:650px) and (orientation:landscape){.home h1{font-size:49px;margin-bottom:10px}.home .tagline{margin:10px 0 20px;padding:8px 17px}.home .start-button{min-height:64px;font-size:25px}.scene .speech{padding:8px 15px;font-size:15px}.scene .cat-stamp{width:59px;height:66px}.scene .demo-letters>span{width:59px;height:66px;font-size:39px}.candy-rainbow{width:175px;height:100px;top:20%}}
@media(max-width:600px){.home h1{font-size:30px;letter-spacing:0}.home .tagline{font-size:14px;padding:7px 13px}.home .start-button{font-size:25px;min-height:65px}.scene .cat-stamp{height:59px;width:51px}.scene .demo-letters>span{height:59px;width:51px;font-size:35px}.scene .word-postcard{gap:6px}.scene .demo-letters{gap:6px}.scene .cat-stamp svg{width:32px;height:32px}.scene .cat-stamp span{font-size:12px}.candy-rainbow{width:130px;height:80px;top:27%;right:7%;border-width:8px}.float-decor{font-size:20px}}
body.keyboard-open .home h1{font-size:25px;margin:0}.no-motion .float-decor{animation:none}
@media(prefers-reduced-motion:reduce){.float-decor{animation:none}}

.scene .missing span{animation:none;opacity:1}
/* v0.2.3：真正替换为柔和立体插画猫，单独预留对话框及字母块空间。 */
.scene .robot.cat-illustration,.home:has(.password-gate:not([hidden])) .robot.cat-illustration{height:81%;width:90%;max-width:100%;object-fit:contain;top:7%;filter:drop-shadow(0 7px 4px #c58a4220);animation:catWelcome 4s ease-in-out infinite}
@keyframes catWelcome{50%{translate:0 -5px;rotate:1deg}}
@media(max-width:900px) and (orientation:portrait){.scene .robot.cat-illustration,.home:has(.password-gate:not([hidden])) .robot.cat-illustration{height:78%;width:94%;top:8%}}
@media(prefers-reduced-motion:reduce){.scene .robot.cat-illustration{animation:none}}
/* 首页标题保持单行，字号随电脑和平板宽度调整。 */
.home #gameTitle{white-space:nowrap;font-size:clamp(30px,4.2vw,58px);letter-spacing:0}
.home #gameTitle .title-line{display:inline;margin:0}
@media(max-width:1100px) and (orientation:landscape){.home #gameTitle{font-size:clamp(28px,4.1vw,45px)}}
@media(max-width:900px) and (orientation:portrait){.home #gameTitle{font-size:clamp(28px,6vw,48px)}}
body.keyboard-open .home #gameTitle{font-size:25px}
/* 放大首页游戏标题，并给单行标题预留空间。 */
.home #gameTitle{font-size:clamp(60px,8.4vw,116px)}
@media(min-width:901px),(orientation:landscape){.home{max-width:1500px;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);padding-left:3%;padding-right:3%;gap:20px}.home .scene{max-width:100%}}
@media(max-width:1100px) and (orientation:landscape){.home #gameTitle{font-size:clamp(56px,8.2vw,90px)}}
@media(max-width:900px) and (orientation:portrait){.home #gameTitle{font-size:clamp(40px,12vw,96px)}}
body.keyboard-open .home #gameTitle{font-size:clamp(30px,8vw,50px)}
/* 欢迎语与入口表单以标题为中心对齐。 */
@media(min-width:901px),(orientation:landscape){
 .home .invitation{display:grid;justify-items:center;width:max-content;max-width:100%}
 .home .invitation #gameTitle{text-align:center}
 .home .invitation .tagline{margin-left:auto;margin-right:auto;text-align:center}
 .home .invitation .entry-form{margin-left:auto;margin-right:auto}
}
/* v0.2.6 首页比例统一：单行标题、居中入口、左右均衡。 */
.home #gameTitle{font-size:clamp(44px,6.2vw,88px);line-height:1.2;margin:0 0 20px;letter-spacing:0}
.home #gameTitle .title-line{-webkit-text-stroke:3px #f29a62}
@media(min-width:901px),(orientation:landscape){
 .home{max-width:1440px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);padding:12px 5% 32px;gap:clamp(24px,4vw,64px)}
 .home .invitation{width:100%;display:grid;justify-items:center;align-content:center}
 .home .tagline{box-sizing:border-box;width:min(380px,90%);font-size:clamp(16px,1.5vw,21px);padding:12px 15px;margin:4px auto 24px;text-align:center}
 .home .entry-form{width:min(380px,90%);margin-inline:auto}
 .home .start-button{min-height:76px;font-size:28px}
 .home .scene{width:100%;height:min(570px,70dvh);max-width:540px;align-self:center}
 .home .scene .speech{left:29%;font-size:17px}
}
@media(max-width:1100px) and (orientation:landscape){
 .home{padding-inline:4%;gap:24px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
 .home #gameTitle{font-size:clamp(38px,6.1vw,65px)}
 .home .tagline{font-size:16px;padding:9px 12px;margin-bottom:20px}
 .home .entry-form,.home .tagline{width:min(330px,92%)}
 .home .start-button{font-size:25px;min-height:65px}
}
@media(max-height:650px) and (orientation:landscape){.home{padding-top:0;padding-bottom:18px}.home #gameTitle{margin-bottom:12px}.home .tagline{margin-top:0;margin-bottom:15px}.home .scene{height:calc(100dvh - var(--bar-height) - 40px)}}
@media(max-width:900px) and (orientation:portrait){.home #gameTitle{font-size:clamp(35px,8.8vw,70px);margin:0 0 5px}.home .tagline{width:min(380px,92%);margin:0;text-align:center}.home .entry-form{width:min(380px,92%)}}
body.keyboard-open .home #gameTitle{font-size:clamp(28px,7vw,42px)}