:root { --mh-ink:#352e31; --mh-muted:#75696d; --mh-rose:#8f6468; --mh-deep:#68484e; --mh-oat:#f8efec; --mh-paper:#f5efed; }
.my-home-page { position:absolute; inset:0; z-index:80; overflow:hidden; color:var(--mh-ink); background:radial-gradient(circle at 68% 16%,rgba(255,255,255,.92),transparent 26%),linear-gradient(155deg,#e7d9d4,#f5efed 45%,#d8c4c0); font-family:Inter,"PingFang SC",sans-serif; }
.my-home-page[hidden], .my-home-page [hidden] { display:none!important; }
.my-home-header { position:absolute; z-index:4; top:0; left:0; right:0; display:grid; grid-template-columns:44px 1fr auto 44px 44px; gap:7px; align-items:center; padding:max(14px,env(safe-area-inset-top)) 18px 12px; background:linear-gradient(#f5efedee,#f5efed00); }
.my-home-header h1,.my-home-wizard h2,.my-home-corner h2,.my-home-building h2,.my-home-error h2,.my-home-call-teaser h2 { margin:1px 0 0; font-family:"Songti SC",STSong,Georgia,serif; font-weight:500; }
.my-home-header small,.my-home-corner header small { display:block; color:var(--mh-muted); font-size:9px; letter-spacing:.17em; }
.my-home-icon-button,.my-home-wizard header button,.my-home-corner header button { min-width:44px; min-height:44px; border:1px solid #fff9; border-radius:15px; color:var(--mh-ink); background:#fff8; box-shadow:inset 0 1px #fff,0 8px 22px #6d50501a; }
.my-home-demo-badge { padding:7px 9px; border:1px solid #8f646844; border-radius:99px; color:var(--mh-deep); background:#fff7; font-size:10px; }
.my-home-content { height:100%; overflow:auto; padding:96px 18px 150px; }
.my-home-residence { display:grid; gap:16px; max-width:680px; margin:auto; perspective:900px; }
.mh-room { position:relative; min-height:220px; padding:22px 18px 18px; overflow:hidden; border:1px solid #fff9; border-radius:28px; background:linear-gradient(145deg,#fff8,#cfb7b04d); box-shadow:inset 0 1px #fff,0 25px 55px #70565a22; transform:rotateX(2deg); }
.mh-room::before { content:""; position:absolute; inset:46px 18px 18px; border:1px solid #fff8; border-radius:18px; background:linear-gradient(130deg,#9f7c6f1f 0 40%,#fff7 40% 61%,#735a6422 61%); transform:skewY(-2deg); }
.mh-room-heading { position:relative; z-index:1; display:flex; justify-content:space-between; align-items:end; }
.mh-room-heading h2 { margin:0; font:500 22px/1.2 "Songti SC",serif; }.mh-room-heading span{color:var(--mh-muted);font-size:11px}
.mh-corners { position:relative; z-index:1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:54px; }
.mh-corner { position:relative; min-height:90px; padding:13px; border:1px solid #fff9; border-radius:19px; text-align:left; color:var(--mh-ink); background:#fff9; box-shadow:0 10px 24px #5f44451c; }
.mh-corner strong,.mh-corner small { display:block; }.mh-corner small{margin-top:6px;color:var(--mh-muted)}
.mh-corner.is-here { border-color:#8f646877; box-shadow:0 0 0 3px #fff7,0 14px 32px #8f64683d; }
.mh-corner.is-here::after { content:"他在这里"; position:absolute; top:-9px; right:10px; padding:4px 8px; border-radius:99px; color:#fff; background:var(--mh-rose); font-size:9px; }
.my-home-footnote { max-width:680px; margin:16px auto; color:var(--mh-muted); text-align:center; font-size:11px; }
.my-home-create { position:absolute; z-index:5; left:18px; right:18px; bottom:max(20px,env(safe-area-inset-bottom)); display:grid; grid-template-columns:42px 1fr; grid-template-rows:auto auto; align-items:center; max-width:620px; min-height:72px; margin:auto; padding:10px 18px; border:1px solid #fff7; border-radius:22px; color:#fff; text-align:left; background:linear-gradient(135deg,#9c7478,#68484e); box-shadow:inset 0 1px #fff5,0 18px 35px #68484e4d; }
.my-home-create>span { grid-row:1/3; font-size:28px; }.my-home-create small{font-size:9px;letter-spacing:.14em;opacity:.72}.my-home-create strong{font-size:16px}
.my-home-wizard,.my-home-scan,.my-home-building,.my-home-error,.my-home-corner,.my-home-call-teaser { position:absolute; z-index:8; inset:0; overflow:auto; background:linear-gradient(160deg,#f7f0ed,#dfceca); }
.my-home-wizard header,.my-home-corner header { position:sticky; z-index:3; top:0; display:flex; align-items:center; gap:12px; padding:max(14px,env(safe-area-inset-top)) 18px 12px; background:#f5efede8; backdrop-filter:blur(18px); }
.my-home-wizard-body { display:grid; gap:14px; max-width:620px; margin:auto; padding:24px 20px 48px; }
.my-home-step { margin:8px 0 0; color:var(--mh-rose); font-size:10px; font-weight:700; letter-spacing:.14em; }
.my-home-wizard fieldset { display:flex; flex-wrap:wrap; gap:8px; padding:0; border:0; }.my-home-wizard legend{width:100%;margin-bottom:8px;font:500 20px "Songti SC",serif}
.mh-choice,.my-home-scope button { min-height:58px; padding:10px 14px; border:1px solid #8f64682e; border-radius:17px; color:var(--mh-ink); background:#fff8; }
.mh-choice.is-selected,.my-home-scope button.is-selected { border-color:var(--mh-rose); background:#fff; box-shadow:0 8px 22px #8f646824; }
.my-home-field { display:grid; gap:7px; font-size:12px; }.my-home-field input{min-height:50px;padding:0 14px;border:1px solid #8f646844;border-radius:15px;color:var(--mh-ink);background:#fff9;font:inherit}
.my-home-scope { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.my-home-scope strong,.my-home-scope small{display:block}.my-home-scope small{margin-top:4px;color:var(--mh-muted)}
.my-home-disclosure { padding:16px; border-radius:18px; background:#68484e0d; }.my-home-disclosure p{margin:6px 0 0;color:var(--mh-muted);font-size:12px;line-height:1.7}
.my-home-primary { min-height:54px; padding:0 20px; border:1px solid #fff6; border-radius:18px; color:#fff; background:linear-gradient(135deg,var(--mh-rose),var(--mh-deep)); box-shadow:inset 0 1px #fff5,0 12px 28px #68484e38; font-weight:700; }
.my-home-scan { display:grid; grid-template-rows:1fr auto; color:#fff; background:#171316; }.scan-camera{position:relative;min-height:520px;overflow:hidden;background:radial-gradient(circle at 65% 40%,#8c7970,#2d2628 60%,#161215)}
.scan-grid{position:absolute;inset:0;background-image:linear-gradient(#fff1 1px,transparent 1px),linear-gradient(90deg,#fff1 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(transparent,#000 20% 80%,transparent)}
.scan-target{position:absolute;inset:23% 12%;display:grid;place-items:center;border:1px solid #fff8;border-radius:25px;text-align:center}.scan-target i{width:68px;height:68px;border:2px solid #d8c4c0;border-radius:50%;box-shadow:0 0 38px #d8c4c088}.scan-target strong,.scan-target small{display:block}.scan-target small{opacity:.7}
.scan-camera>b{position:absolute;left:20px;bottom:20px;font-size:12px}.scan-actions{display:grid;grid-template-columns:1fr 2fr 1fr;gap:8px;padding:14px 18px max(18px,env(safe-area-inset-bottom));background:#171316}.scan-actions>button:not(.my-home-primary){border:0;color:#fff9;background:transparent}
.my-home-building,.my-home-error,.my-home-call-teaser { display:grid; align-content:center; justify-items:center; gap:12px; padding:38px 24px; text-align:center; }.build-orbit{position:relative;width:150px;height:150px;border:1px solid #8f646855;border-radius:50%;animation:mh-spin 7s linear infinite}.build-orbit i,.build-orbit span,.build-orbit b{position:absolute;border-radius:50%;background:var(--mh-rose)}.build-orbit i{width:14px;height:14px;top:12px;left:68px}.build-orbit span{width:8px;height:8px;right:12px;top:68px}.build-orbit b{width:6px;height:6px;bottom:20px;left:34px}
@keyframes mh-spin{to{transform:rotate(360deg)}}.my-home-building p,.my-home-error p,.my-home-call-teaser p{max-width:320px;color:var(--mh-muted);line-height:1.7}.my-home-building ol{display:grid;gap:8px;width:min(320px,100%);padding:0;list-style:none;text-align:left}.my-home-building li{padding:10px 14px;border-radius:12px;color:var(--mh-muted);background:#fff6}.my-home-building li.is-active{color:var(--mh-deep);background:#fff}.my-home-building>button:not(.my-home-primary),.my-home-error>button:not(.my-home-primary){border:0;color:var(--mh-muted);background:transparent}
.my-home-corner { color:#fff; background:#1b1618; }.my-home-corner header{color:var(--mh-ink)}.my-home-corner header div{flex:1}
.corner-scene{position:relative;min-height:calc(100svh - 176px);overflow:hidden;background:radial-gradient(circle at 55% 28%,#efd5c7,#9b7376 50%,#302326 92%)}.corner-depth{position:absolute;inset:0;transition:transform 1.1s ease,filter 1.1s}.corner-depth i{position:absolute;border:1px solid #fff3;background:#fff1}.corner-depth i:nth-child(1){inset:12% 8% 34% 52%}.corner-depth i:nth-child(2){inset:57% 4% 8% 8%}.corner-depth i:nth-child(3){inset:20% 58% 45% 7%}
.corner-character{position:absolute;z-index:2;inset:8% 14% 4%;display:grid;place-items:end center;background:url('./assets/flow/cheng.07554bc137c7e269.png') center bottom/contain no-repeat;opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}.corner-character::before{content:"";position:absolute;z-index:-1;inset:8% 8% 3%;border-radius:50% 50% 30% 30%;background:radial-gradient(circle at 50% 25%,#f5d8c499,transparent 34%),radial-gradient(ellipse at 50% 75%,#9d70704d,transparent 62%);filter:blur(8px)}.corner-character img{position:absolute;width:1px;height:1px;opacity:0}.corner-character span{position:absolute;z-index:1;left:50%;bottom:8%;width:46%;height:10%;border-radius:50%;background:#0005;filter:blur(14px);transform:translateX(-50%)}
.corner-scene.is-composite .corner-depth{transform:scale(1.08);filter:blur(1px)}.corner-scene.is-composite .corner-character{opacity:1;transform:none}.corner-caption{position:absolute;z-index:4;left:18px;right:18px;bottom:20px;padding:14px 16px;border:1px solid #fff3;border-radius:17px;background:#1d1719a8;backdrop-filter:blur(14px)}.corner-caption small,.corner-caption strong{display:block}.corner-caption small{font-size:9px;letter-spacing:.15em;opacity:.65}.corner-caption strong{margin-top:4px;font:500 18px "Songti SC",serif}
.corner-controls{position:sticky;z-index:5;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;padding:10px 10px max(10px,env(safe-area-inset-bottom));background:#211a1de8;backdrop-filter:blur(14px)}.corner-controls button{min-height:48px;border:0;border-radius:13px;color:#fff;background:#fff1;font-size:11px}.corner-candidate{position:absolute;z-index:6;top:92px;left:14px;width:150px;padding:12px;border:1px solid #fff4;border-radius:17px;background:#251e21d9;box-shadow:0 14px 30px #0004}.corner-candidate span{font-size:8px;letter-spacing:.16em;color:#d8c4c0}.corner-candidate p{margin:5px 0 10px}.corner-candidate button{margin:3px 3px 0 0;border:0;border-radius:10px;padding:7px;color:var(--mh-ink);background:var(--mh-oat)}
.call-closeup{width:220px;height:290px;overflow:hidden;border:1px solid #fff8;border-radius:110px 110px 36px 36px;background:radial-gradient(circle,#d8c4c0,#6b535b);box-shadow:0 24px 54px #68484e45}.call-closeup img{width:100%;height:100%;object-fit:contain;transform:scale(1.35) translateY(8%)}
.my-home-toast{position:absolute;z-index:20;left:50%;bottom:max(96px,calc(env(safe-area-inset-bottom) + 86px));padding:10px 14px;border-radius:99px;color:#fff;background:#2b2225e8;transform:translateX(-50%);white-space:nowrap;font-size:12px}
.my-home-page button:focus-visible,.my-home-page input:focus-visible,.corner-character:focus-visible{outline:3px solid #fff;outline-offset:3px}.my-home-page button:active{transform:scale(.98)}
@media (min-width:700px){.my-home-residence{grid-template-columns:1fr 1fr}.my-home-wizard-body{padding-top:50px}}
@media (prefers-reduced-motion: reduce){.my-home-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.corner-scene.is-composite .corner-character{opacity:1;transform:none}}
