:root{--cream:#fbf4e8;--paper:#fffaf2;--ink:#4b342a;--muted:#79675e;--caramel:#b8663c;--caramel-dark:#8f4429;--peach:#f3c7ad;--butter:#f6dda0;--sage:#cbd9b3;--line:#e7d7c4;--shadow:0 12px 0 rgba(112,76,52,.09),0 18px 40px rgba(91,61,43,.08);--radius:28px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Noto Sans SC","Microsoft YaHei",sans-serif;line-height:1.65;background-image:radial-gradient(#e4d2bb 1px,transparent 1px);background-size:24px 24px}a{color:inherit}button,input,textarea{font:inherit}.topbar{max-width:1180px;height:82px;margin:auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;font-size:1.05rem}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:14px 14px 16px 16px;background:var(--caramel);color:white;font-family:"Ma Shan Zheng",serif;transform:rotate(-5deg)}.nav-pill{padding:9px 16px;border:1px solid var(--line);border-radius:999px;background:rgba(255,250,242,.85);text-decoration:none;font-weight:700;transition:background .2s,border-color .2s;cursor:pointer}.nav-pill:hover{background:#fff;border-color:var(--caramel)}main{width:min(1120px,calc(100% - 40px));margin:auto;padding:36px 0 72px}.hero-card{min-height:510px;padding:clamp(34px,7vw,76px);border:1px solid var(--line);border-radius:42px;background:var(--paper);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:center;gap:42px;box-shadow:var(--shadow);overflow:hidden;position:relative}.hero-card:before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:#f8dfc7;right:-85px;top:-110px}.hero-copy{position:relative;z-index:1}.kicker{display:inline-block;color:var(--caramel-dark);font-weight:800;font-size:.78rem;letter-spacing:.18em}.hero-card h1,.form-heading h1,.state-card h1{font-family:"Ma Shan Zheng","KaiTi",serif;font-weight:400;font-size:clamp(3.4rem,7vw,6rem);line-height:1.06;margin:.18em 0;color:#503225}.hero-card h1 em{color:var(--caramel);font-style:normal}.hero-copy>p{max-width:610px;font-size:1.05rem;color:var(--muted)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border:2px solid var(--caramel);border-radius:16px;background:var(--caramel);color:white;text-decoration:none;font-weight:800;box-shadow:0 5px 0 var(--caramel-dark);cursor:pointer;transition:background .2s,box-shadow .2s,transform .2s}.button:hover{background:#a95332;transform:translateY(-1px);box-shadow:0 6px 0 var(--caramel-dark)}.button:active{transform:translateY(3px);box-shadow:0 2px 0 var(--caramel-dark)}.button.secondary{background:transparent;color:var(--caramel-dark);box-shadow:none}.button.secondary:hover{background:#fff2e5}.mascot-stage{position:relative;display:grid;place-items:center;z-index:1}.mascot-stage img{width:min(100%,330px);filter:drop-shadow(0 14px 12px rgba(94,58,37,.13));animation:arrive .7s ease both}.speech{position:absolute;top:-22px;right:0;background:white;border:2px solid var(--ink);border-radius:20px 20px 20px 5px;padding:10px 15px;font-weight:700;transform:rotate(3deg)}.cheese{position:absolute;width:42px;height:32px;background:var(--butter);clip-path:polygon(0 100%,100% 100%,80% 0);opacity:.8}.cheese-one{left:3%;bottom:12%;transform:rotate(-16deg)}.cheese-two{right:1%;bottom:3%;transform:rotate(19deg)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.feature-card{min-height:195px;padding:26px;border-radius:var(--radius);border:1px solid rgba(93,61,40,.1);box-shadow:0 9px 24px rgba(91,61,43,.06);transition:transform .2s,box-shadow .2s}.feature-card:hover{transform:translateY(-3px);box-shadow:0 13px 28px rgba(91,61,43,.1)}.feature-card.peach{background:#f6d5c3}.feature-card.sage{background:#dce5ca}.feature-card.butter{background:#f7e6b9}.step{font-family:"Fredoka",sans-serif;font-weight:700;color:var(--caramel-dark)}.feature-card h2{font-size:1.35rem;margin:25px 0 6px}.feature-card p{color:#635249;margin:0;font-size:.93rem}.device-note{display:flex;align-items:center;gap:18px;margin-top:28px;padding:21px 25px;background:#fff8eb;border:1px dashed #c9976f;border-radius:22px}.note-icon,.mail-mark{flex:0 0 auto;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--caramel);color:white;font-family:"Fredoka",sans-serif;font-size:1.35rem;font-weight:700}.device-note p{margin:2px 0;color:var(--muted);font-size:.9rem}footer{width:min(1120px,calc(100% - 40px));margin:0 auto 34px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.78rem}
.form-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;padding:10px 24px}.form-heading>div{max-width:720px}.form-heading h1{font-size:clamp(2.8rem,6vw,5rem)}.form-heading p{color:var(--muted);margin:0}.form-heading img{width:150px;align-self:end}.card-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.form-card{padding:28px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 25px rgba(91,61,43,.06)}.form-card:first-of-type{grid-row:span 2}.form-card header{display:flex;align-items:center;gap:14px;margin-bottom:24px}.form-card header>span{display:grid;place-items:center;width:43px;height:43px;border-radius:15px;background:var(--peach);font-family:"Fredoka",sans-serif;font-weight:700}.room-card header>span{background:var(--sage)}.contact-card header>span{background:var(--butter)}.form-card h2{font-size:1.2rem;margin:0}.form-card header p{font-size:.8rem;color:var(--muted);margin:0}.field-grid{display:grid;gap:17px}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid .wide{grid-column:1/-1}.form-card label{display:grid;gap:7px;font-size:.86rem;font-weight:700}.form-card label small{color:var(--muted);font-weight:400}.form-card input,.form-card textarea,.email-card input,.cleanup input{width:100%;border:1.5px solid #d8c4ae;border-radius:13px;background:#fffefa;padding:11px 13px;color:var(--ink);outline:none}.form-card textarea{resize:vertical;min-height:120px}.form-card input:focus,.form-card textarea:focus,.email-card input:focus{border-color:var(--caramel);box-shadow:0 0 0 4px rgba(184,102,60,.13)}.consent-card{grid-column:1/-1;display:flex;align-items:flex-start;gap:13px;padding:20px 22px;border:1px dashed #b7a188;border-radius:20px;background:#fff8e9;cursor:pointer}.consent-card input{margin-top:6px;accent-color:var(--caramel);width:18px;height:18px}.consent-card span{display:grid;font-size:.84rem;color:var(--muted)}.consent-card strong{color:var(--ink);font-size:.95rem}.submit-button{grid-column:1/-1;width:100%;font-size:1rem}.error{grid-column:1/-1;padding:15px 18px;background:#f8dfdb;border-left:5px solid #a94b42;border-radius:12px;color:#74302a;font-weight:700}
.room-banner{position:relative;min-height:260px;padding:42px 46px;border-radius:38px;background:#f2c8aa;border:1px solid #dbad8b;display:flex;align-items:center;justify-content:space-between;overflow:hidden}.room-banner:after{content:"";position:absolute;width:270px;height:270px;border:35px solid rgba(255,255,255,.25);border-radius:50%;right:-30px;top:-82px}.room-banner span{font-weight:700;color:#71422f}.room-banner h1{font-family:"Ma Shan Zheng",serif;font-size:clamp(4rem,9vw,7rem);font-weight:400;line-height:1;margin:.12em 0}.room-banner p{margin:0}.room-banner img{width:225px;align-self:flex-end;z-index:1;margin-bottom:-56px}.member-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:19px;margin-top:26px}.member-card{padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:26px;box-shadow:0 8px 24px rgba(91,61,43,.06)}.member-card.me{border:2px solid var(--caramel)}.member-top{display:flex;align-items:flex-start;justify-content:space-between}.avatar{width:68px;height:68px;border-radius:22px;background:#f6dfc5;overflow:hidden}.avatar img{width:74px;margin:-5px 0 0 -3px}.bed-tag{padding:6px 11px;background:var(--sage);border-radius:999px;font-size:.76rem;font-weight:800}.member-card h2{font-size:1.25rem;margin:14px 0 5px}.member-card h2 small{margin-left:7px;padding:3px 8px;border-radius:999px;background:var(--peach);font-size:.65rem;color:#6d3e2e}.bio{min-height:52px;color:var(--muted);font-size:.88rem}.contacts{margin-top:18px;padding-top:14px;border-top:1px dashed var(--line)}.contacts div{display:grid;gap:2px;margin-top:10px}.contacts span{font-size:.72rem;color:var(--muted)}.contacts code{font-family:"Noto Sans SC",sans-serif;font-weight:700;user-select:all}.contacts small{color:var(--muted)}.email-card{margin-top:26px;padding:26px 28px;background:#e4ead5;border:1px solid #c6d0af;border-radius:26px;display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:center}.email-card h2{margin:10px 0 2px;font-size:1.15rem}.email-card p{margin:0;color:var(--muted);font-size:.84rem}.email-forms{display:grid;gap:9px}.email-forms form{display:flex;gap:8px}.email-card button{border:0;border-radius:12px;background:#63734f;color:white;padding:9px 14px;font-weight:700;cursor:pointer;white-space:nowrap}.email-card button:hover{background:#50613e}.exit{text-align:center;margin-top:34px}.text-button{border:0;background:transparent;color:#9b4d3c;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.state-card{max-width:650px;margin:30px auto;padding:50px;text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:36px;box-shadow:var(--shadow)}.state-card img{width:180px}.state-card h1{font-size:3.4rem}.danger{color:#984638}
.admin{max-width:960px}.stats{display:flex;gap:15px;flex-wrap:wrap}.stats b{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:20px;font-size:2rem}.stats small{display:block;font-size:.75rem}.admin-row{display:flex;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.admin button{border:0;border-radius:10px;background:var(--caramel);color:white;padding:9px 12px;cursor:pointer}.cleanup{max-width:420px}.cleanup label{display:grid;gap:6px}.cleanup button{margin-top:10px;background:#984638}
@keyframes arrive{from{opacity:0;transform:translateY(18px) rotate(-3deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@media(max-width:820px){.hero-card{grid-template-columns:1fr;min-height:0}.mascot-stage{max-width:300px;margin:auto}.feature-grid{grid-template-columns:1fr}.card-form{grid-template-columns:1fr}.form-card:first-of-type{grid-row:auto}.email-card{grid-template-columns:1fr}.room-banner{padding:34px}.room-banner img{width:180px}.admin-row{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){main{width:min(100% - 28px,1120px);padding-top:18px}.topbar{height:68px;padding:0 14px}.brand{font-size:.92rem}.brand-mark{width:34px;height:34px}.nav-pill{font-size:.8rem;padding:7px 11px}.hero-card{padding:30px 22px;border-radius:28px}.hero-card h1{font-size:3.25rem}.hero-copy>p{font-size:.94rem}.actions{flex-direction:column}.speech{font-size:.76rem;top:-10px}.feature-card{min-height:auto}.device-note{align-items:flex-start}.form-heading{padding:0 5px}.form-heading h1{font-size:3rem}.form-heading img{display:none}.form-card{padding:22px 18px}.field-grid.two{grid-template-columns:1fr}.field-grid .wide{grid-column:auto}.room-banner{min-height:220px;padding:28px 22px;align-items:flex-start}.room-banner h1{font-size:4.2rem}.room-banner img{position:absolute;right:-15px;bottom:0;width:145px;margin:0}.member-grid{grid-template-columns:1fr}.email-forms form{flex-direction:column}.email-card button{width:100%}.state-card{padding:32px 20px}.state-card h1{font-size:2.7rem}footer{flex-direction:column;gap:5px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.combo{position:relative;width:100%;font-weight:400}.combo input{padding-right:46px;cursor:pointer}.combo.is-custom input{cursor:text;background:#fff7e9;border-color:var(--caramel)}.combo-toggle{position:absolute;right:5px;top:5px;width:36px;height:36px;border:0;border-radius:10px;background:transparent;cursor:pointer}.combo-toggle:before{content:"";position:absolute;left:10px;top:9px;width:9px;height:9px;border-right:2px solid var(--caramel-dark);border-bottom:2px solid var(--caramel-dark);transform:rotate(45deg);transition:transform .2s}.combo.is-open .combo-toggle:before{top:14px;transform:rotate(225deg)}.combo-toggle:hover{background:#f8eadb}.combo-menu{position:absolute;z-index:20;left:0;top:calc(100% + 7px);display:grid;width:100%;max-height:245px;overflow-y:auto;padding:7px;background:var(--paper);border:1.5px solid #d8c4ae;border-radius:15px;box-shadow:0 14px 32px rgba(75,52,42,.16)}.combo-menu[hidden]{display:none!important}.combo-menu button{width:100%;border:0;border-radius:10px;background:transparent;padding:10px 12px;text-align:left;color:var(--ink);cursor:pointer}.combo-menu button:hover,.combo-menu button:focus{outline:none;background:#f6dfc5}.combo-menu .custom-choice{margin-top:5px;border-top:1px dashed var(--line);border-radius:0 0 10px 10px;color:var(--caramel-dark);font-weight:700}.number-menu{grid-template-columns:repeat(4,1fr)}.number-menu .custom-choice{grid-column:1/-1}.combo:focus-within>input{border-color:var(--caramel);box-shadow:0 0 0 4px rgba(184,102,60,.13)}
@media(max-width:560px){.number-menu{grid-template-columns:repeat(3,1fr)}.combo-menu{max-height:220px}}
.mascot-stage .home-mouse{width:min(100%,300px);aspect-ratio:1;object-fit:cover;border:9px solid #fff8eb;border-radius:36% 36% 44% 44%;box-shadow:0 16px 0 rgba(184,102,60,.14);image-rendering:auto}.room-banner .room-mouse{width:240px;height:235px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 12px 12px rgba(75,52,42,.15))}.avatar img[src$="room-mouse.png"]{width:100%;height:100%;margin:0;object-fit:cover;object-position:center 30%}
@media(max-width:560px){.mascot-stage .home-mouse{width:245px}.room-banner .room-mouse{width:155px;height:160px}}
.form-heading .form-mouse{width:156px;height:156px;object-fit:cover;border:7px solid #fff8eb;border-radius:34% 34% 42% 42%;box-shadow:0 10px 0 rgba(184,102,60,.13);transform:rotate(2deg)}
.room-banner .room-mouse{align-self:center;margin-bottom:0}
@media(max-width:560px){.room-banner .room-mouse{top:50%;bottom:auto;transform:translateY(-50%);margin:0}}
.header-actions{display:flex;align-items:center;gap:8px}.header-actions button{color:var(--ink)}.mouse-stat{display:flex;align-items:center;justify-content:center;gap:9px;width:max-content;max-width:100%;margin:0 auto 20px;padding:11px 20px;border:1px solid #d9c2a8;border-radius:999px;background:#fff8eb;box-shadow:0 6px 18px rgba(91,61,43,.07);font-size:.9rem;font-weight:700}.mouse-stat strong{font-family:"Fredoka",sans-serif;font-size:1.6rem;line-height:1;color:var(--caramel-dark)}.mouse-stat i{width:9px;height:9px;border-radius:50%;background:#7c9a62;box-shadow:0 0 0 5px rgba(124,154,98,.15)}.friend-link{display:flex;align-items:center;justify-content:center;gap:10px;margin:28px auto 0;padding:11px 18px;border:0;border-bottom:1px dashed var(--caramel);background:transparent;color:var(--caramel-dark);font-weight:800;cursor:pointer}.friend-link span{padding:3px 8px;border-radius:999px;background:var(--butter);color:var(--ink);font-size:.72rem}.friend-link:hover{color:#6f2f1d}.mouse-dialog{width:min(540px,calc(100% - 28px));max-height:calc(100vh - 40px);overflow:auto;padding:34px;border:1px solid var(--line);border-radius:28px;background:var(--paper);color:var(--ink);box-shadow:0 26px 80px rgba(49,31,21,.27)}.mouse-dialog::backdrop{background:rgba(57,39,30,.46);backdrop-filter:blur(3px)}.mouse-dialog h2{margin:7px 0 5px;font-family:"Ma Shan Zheng","KaiTi",serif;font-size:2.35rem;font-weight:400}.mouse-dialog>p{margin:4px 0 20px;color:var(--muted)}.dialog-close{position:absolute;right:16px;top:15px;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:#f4e5d5;color:var(--ink);font-size:1.45rem;line-height:1;cursor:pointer}.dialog-close:hover{background:var(--peach)}.reward-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.reward-code{display:grid;justify-items:center;gap:9px;padding:14px;border:1px solid var(--line);border-radius:20px;background:#fffdf8}.qr-placeholder{display:grid;place-items:center;align-content:center;gap:4px;width:100%;aspect-ratio:1;border:2px dashed #c9ad90;border-radius:15px;background:repeating-linear-gradient(45deg,#fff8e9,#fff8e9 8px,#f8edda 8px,#f8edda 16px);text-align:center;color:var(--caramel-dark)}.qr-placeholder span{font-weight:800}.qr-placeholder small{max-width:110px;color:var(--muted);font-size:.68rem}.safe-tip{display:block;padding:10px 12px;border-radius:12px;background:#edf2e4;color:#586148;text-align:center}.single-placeholder{width:190px;margin:20px auto}.friend-placeholder{padding:22px;border:1px dashed #c9ad90;border-radius:18px;background:#fff8e9;text-align:center;color:var(--muted)}
@media(max-width:720px){.topbar{height:auto;min-height:76px;gap:10px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}.header-actions{width:100%;justify-content:flex-end;gap:6px}.header-actions .nav-pill{font-size:.75rem;padding:7px 10px}.mouse-stat{margin-top:4px}}
@media(max-width:430px){.header-actions{justify-content:space-between}.reward-grid{grid-template-columns:1fr}.mouse-dialog{padding:28px 20px}.mouse-stat{width:100%;padding:10px 12px}.mouse-stat strong{font-size:1.4rem}}
.qr-image{display:block;width:100%;height:auto;max-height:310px;object-fit:contain;border-radius:13px;background:white}.reward-code .qr-image{aspect-ratio:1;object-fit:contain}.single-placeholder .qr-image{aspect-ratio:1;object-fit:contain;border:1px solid var(--line)}.dialog-note{text-align:center}
.qr-image{cursor:zoom-in;transition:box-shadow .2s,opacity .2s}.qr-image:hover,.qr-image:focus{outline:none;box-shadow:0 0 0 5px rgba(184,102,60,.22);opacity:.96}.qr-viewer{width:min(92vw,820px);height:min(92vh,820px);padding:54px 24px 24px;border:0;border-radius:26px;background:#fff;box-shadow:0 28px 90px rgba(31,20,14,.36);overflow:hidden}.qr-viewer::backdrop{background:rgba(35,24,18,.78);backdrop-filter:blur(5px)}.qr-viewer>img{display:block;width:100%;height:100%;object-fit:contain;background:#fff;border-radius:14px}.qr-viewer .dialog-close{z-index:2}
.friend-dialog{border-top:7px solid var(--peach)}.friend-hero{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:15px;margin:8px 0 22px}.friend-dialog h2{margin:0 0 4px}.friend-role{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:0!important;color:var(--caramel-dark)!important;font-size:.79rem;font-weight:800;line-height:1.65}.friend-role i{width:4px;height:4px;border-radius:50%;background:var(--caramel)}.friend-avatar-frame{width:76px;height:76px;padding:3px;border:1px solid #d7af91;border-radius:18px;background:#fff8eb;box-shadow:0 10px 24px rgba(99,52,35,.14)}.friend-avatar{display:block;width:100%;height:100%;border-radius:14px;object-fit:cover;object-position:center center}.friend-profile{display:grid;grid-template-columns:1.12fr .88fr;gap:13px}.friend-intro{display:grid;align-content:center;gap:10px;padding:13px;border:1px solid #e3c9ae;border-radius:22px;background:#fff7e9;box-shadow:inset 0 0 0 4px rgba(255,255,255,.45)}.friend-intro-item{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;padding:11px;border-radius:15px;background:rgba(255,255,255,.64)}.friend-intro-item+.friend-intro-item{border-top:1px dashed #dfc0a3}.friend-icon,.friend-contact-icon{display:grid;place-items:center;flex:0 0 auto}.friend-icon{width:42px;height:42px;border-radius:14px;background:#f3ddc7;color:var(--caramel-dark);transform:rotate(-2deg)}.friend-icon svg,.friend-contact-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.friend-intro-item:nth-child(2) .friend-icon{background:#e4ead7;color:#62734d;transform:rotate(2deg)}.friend-intro-item p{display:grid;gap:2px;margin:0;line-height:1.45}.friend-intro-item strong{font-size:.86rem}.friend-intro-item small{color:var(--muted);font-size:.74rem}.friend-find{position:relative;display:grid;gap:7px;padding:25px 11px 11px;border:1px solid #cbd6b7;border-radius:22px;background:#eef3e5;box-shadow:inset 0 0 0 4px rgba(255,255,255,.4)}.friend-find-label{position:absolute;top:-11px;left:50%;padding:4px 14px;border-radius:999px;background:#6f7f59;color:white;font-size:.72rem;font-weight:800;letter-spacing:.12em;transform:translateX(-50%)}.friend-contact{display:flex;align-items:center;gap:9px;min-width:0;padding:8px 9px;border-radius:13px;background:rgba(255,255,255,.64);text-align:left;transition:background .2s,box-shadow .2s}.friend-contact:hover{background:#fff;box-shadow:0 5px 13px rgba(72,89,55,.08)}.friend-contact-icon{width:30px;height:30px;border-radius:10px;background:#dce5ce;color:#60704d}.friend-contact-icon svg{width:17px;height:17px}.friend-contact>span:last-child{display:grid;min-width:0;line-height:1.3}.friend-contact strong{color:var(--ink);font-size:.78rem}.friend-contact small{color:#667451;font-size:.66rem;font-weight:700}.friend-contact-wechat{padding-top:10px;padding-bottom:10px;background:#fff}.friend-contact-wechat .friend-contact-icon{background:#6f7f59;color:#fff}.friend-contact-wechat strong{font-size:.88rem;overflow-wrap:anywhere;user-select:all}.notice-friend-link,.footer-friend-link{border:0;border-bottom:1px dashed var(--caramel);background:transparent;color:var(--caramel-dark);font:inherit;font-weight:800;cursor:pointer}.notice-friend-link{display:block;margin:15px auto 0;padding:4px 2px;font-size:.82rem}.notice-friend-link:hover,.notice-friend-link:focus-visible,.footer-friend-link:hover,.footer-friend-link:focus-visible{color:#6f2f1d;border-bottom-style:solid;outline:none}.footer-friend-link{padding:0 2px;font-size:.78rem}
@media(max-width:560px){.friend-hero{grid-template-columns:64px minmax(0,1fr);gap:12px}.friend-avatar-frame{width:64px;height:64px;padding:3px;border-radius:16px}.friend-avatar{border-radius:12px}.friend-profile{grid-template-columns:1fr;gap:18px}.friend-intro{padding:11px}.friend-role{font-size:.72rem}.friend-dialog h2{font-size:2.05rem}.friend-find{grid-template-columns:1fr 1fr}.friend-find-label{grid-column:1/-1}.friend-contact-wechat{grid-column:1/-1}.friend-contact-wechat strong{font-size:.95rem}.footer-friend-link{align-self:flex-start;padding:3px 0}}
@media(max-width:560px){.room-banner{padding:28px 132px 28px 22px}.room-banner h1{font-size:3.55rem;overflow-wrap:anywhere}.room-banner .room-mouse{right:0;width:132px;height:145px}}
.site-notice{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;width:min(760px,100%);margin:0 auto 22px;padding:13px 16px;border:1px solid #d5ae7e;border-radius:18px;background:#fff5df;color:var(--ink);text-align:left;box-shadow:0 6px 18px rgba(91,61,43,.06);cursor:pointer;transition:border-color .2s,background .2s}.site-notice:hover,.site-notice:focus-visible{border-color:var(--caramel);background:#fff0d1;outline:none}.notice-copy{display:grid;line-height:1.45}.notice-copy strong{color:var(--caramel-dark);font-size:.9rem}.notice-copy small{color:var(--muted);font-size:.78rem}.notice-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:var(--butter);color:var(--caramel-dark);font-weight:900}.notice-arrow{color:var(--caramel-dark);font-size:.78rem;font-weight:800}.notice-dialog{border-top:7px solid var(--butter)}.notice-body{display:grid;gap:12px;margin:18px 0 24px;padding:18px 20px;border:1px solid #e4cfaf;border-radius:18px;background:#fff7e8;color:var(--muted)}.notice-body p{margin:0}.notice-body strong{color:#7e3427}.notice-confirm{width:100%}
.home-stats{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin:0 auto 20px}.home-stats .mouse-stat{margin:0}.visit-stat i{background:var(--caramel);box-shadow:0 0 0 5px rgba(184,102,60,.15)}
.friend-view-stat{width:max-content;margin:2px 0 12px;padding:6px 11px;border:1px solid #e4cfaf;border-radius:999px;background:#fff7e8;color:var(--muted);font-size:.75rem;font-weight:700}.friend-view-stat strong{color:var(--caramel-dark);font-family:"Fredoka",sans-serif;font-size:1rem}
@media(max-width:560px){.site-notice{grid-template-columns:42px minmax(0,1fr) 30px;gap:11px;margin-bottom:18px;padding:12px 12px 12px 10px;border-color:#e1c7a7;border-radius:21px;background:var(--paper);box-shadow:0 6px 0 rgba(184,102,60,.09),0 12px 24px rgba(91,61,43,.05)}.site-notice:hover,.site-notice:focus-visible{background:#fff8eb}.notice-mark{width:42px;height:42px;border-radius:15px 15px 17px 17px;background:var(--caramel);color:#fff8eb;font-size:1.05rem;box-shadow:0 4px 0 var(--caramel-dark);transform:rotate(-3deg)}.notice-copy{gap:1px;min-width:0}.notice-copy strong{font-size:.88rem}.notice-copy small{overflow:hidden;color:var(--muted);font-size:.72rem;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.notice-arrow{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#f4e4cf;color:transparent;font-size:0}.notice-arrow:before{content:"›";color:var(--caramel-dark);font-family:serif;font-size:1.35rem;line-height:1;transform:translateY(-1px)}.notice-body{padding:16px}.notice-dialog h2{padding-right:32px;font-size:2rem}}
.nav-home{background:#f2f6e8;border-color:#ccd7b7}.nav-home:hover{background:#e8f0da;border-color:#8fa171}
@media(max-width:720px){.header-actions{justify-content:flex-start;overflow-x:auto;padding:1px 1px 5px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.header-actions::-webkit-scrollbar{display:none}.header-actions .nav-pill{flex:0 0 auto;white-space:nowrap}}
@media(max-width:430px){.header-actions{justify-content:flex-start;margin-right:-14px;padding-right:14px}}
.restart-dialog{border-top:7px solid var(--peach)}.restart-warning{margin:18px 0 24px;padding:18px 20px;border:1px solid #e5c9b8;border-radius:18px;background:#fff3e8}.restart-warning strong{display:block;margin-bottom:4px;color:#8a3e2c}.restart-warning p{margin:0;color:var(--muted);font-size:.9rem}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:11px}.confirm-actions form,.confirm-actions .button{width:100%;height:100%}
@media(max-width:430px){.confirm-actions{grid-template-columns:1fr}.confirm-actions form{order:-1}}
.business-dialog{border-top:7px solid var(--sage)}.business-email{display:grid;gap:3px;margin-top:22px;padding:17px 19px;border:1px solid #cbd6b7;border-radius:18px;background:#f2f6e8;color:var(--ink);text-decoration:none;overflow-wrap:anywhere;transition:border-color .2s,background .2s}.business-email:hover,.business-email:focus-visible{border-color:#8fa171;background:#eaf1dd;outline:none}.business-email span{color:#667451;font-size:.75rem;font-weight:800;letter-spacing:.08em}.business-email strong{font-size:1.05rem}.business-email small{color:var(--muted)}
.first-mouse-dialog{border-top:7px solid var(--sage);text-align:center}.first-mouse-mark{display:grid;place-items:center;width:66px;height:66px;margin:0 auto 14px;border-radius:22px 22px 26px 26px;background:var(--sage);color:#566746;box-shadow:0 7px 0 rgba(99,115,79,.16);transform:rotate(-2deg)}.first-mouse-mark svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.first-mouse-dialog h2{max-width:410px;margin:8px auto 10px;font-size:2rem;line-height:1.25}.first-mouse-dialog>p{max-width:410px;margin:0 auto 23px;line-height:1.75}.first-mouse-confirm{width:100%;cursor:pointer}
@media(max-width:560px){.first-mouse-dialog h2{font-size:1.65rem}.first-mouse-mark{width:58px;height:58px;border-radius:19px}.first-mouse-mark svg{width:30px;height:30px}}
