@import url('data:text/css,');
:root{--accent:#d17886;--ink:#584a48;--muted:#988785;--cream:#fffaf4;--line:#efdfd5;--rose:#f7e6e6;--green:#839a78;--shadow:0 18px 60px #8e645a0b;font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:var(--ink);background:#faf4ed;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #a7b996;outline-offset:4px}input:focus,textarea:focus,select:focus{outline:2px solid #d99da6;outline-offset:1px}button{color:inherit}::selection{background:#f1d4da}.shell{max-width:1180px;margin:auto;padding:0 40px}.topbar{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:700;letter-spacing:1px}.brand-icon{height:40px;width:40px;display:grid;place-items:center;border:1px solid #dfc5bb;border-radius:14px;background:#fff9f1;color:var(--accent);font-size:25px;transform:rotate(-7deg)}.nav{display:flex;align-items:center;gap:30px;font-size:13px}.nav>a{position:relative;padding:8px 0}.nav>a:hover{color:var(--accent)}.nav .login-button{border:1px solid #dec7bf;border-radius:30px;padding:11px 20px;background:transparent;font-size:12px}.eyebrow{font-size:10px;letter-spacing:3px;color:var(--accent);font-weight:600}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:510px;padding:50px 0 30px;position:relative}.hero h1{font-family:"STSong","SimSun",serif;font-size:49px;line-height:1.45;font-weight:500;letter-spacing:2px;margin:23px 0 17px}.hero h1 span{color:var(--accent);position:relative;display:inline-block}.hero h1 span:after{content:"";position:absolute;bottom:5px;left:0;right:0;height:7px;background:#ebbec34d;border-radius:50%;z-index:-1}.hero-sub{font-size:13px;line-height:2;color:var(--muted);max-width:370px}.tiny-label{display:inline-flex;align-items:center;gap:8px;border:1px solid #e7d7ca;padding:7px 12px;border-radius:20px;font-size:11px;color:#9c8e77;background:#fffaf5}.tiny-label i{height:5px;width:5px;background:#9bae85;border-radius:50%}.hero-actions{display:flex;align-items:center;gap:22px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:13px 22px;color:white;background:var(--accent);border:1px solid var(--accent);border-radius:10px;font-size:12px;box-shadow:0 6px 14px #b8738012;transition:transform .2s,filter .2s}.button:hover{transform:translateY(-2px);filter:brightness(1.04)}.button.secondary{background:transparent;color:var(--accent);box-shadow:none}.text-button{background:none;border:0;font-size:12px;padding:10px 0;color:var(--muted)}.hero-art{position:relative;min-height:385px}.hero-art>img{width:110%;max-width:none;position:absolute;left:-5%;top:-30px;filter:drop-shadow(0 20px 28px #bca48715)}.art-note{position:absolute;right:-6px;bottom:10px;background:#fffdf9d9;padding:12px 16px;transform:rotate(5deg);border:1px solid #eaded2;border-radius:8px;font-size:11px;box-shadow:var(--shadow);letter-spacing:1px}.art-note span{color:var(--accent)}.ribbon{display:flex;align-items:center;justify-content:space-between;padding:17px 24px;border:1px solid #e8d9ce;border-radius:13px;background:#fffaf2;margin:5px 0 56px;font-size:11px;color:#9a8b7d}.ribbon-item{display:flex;align-items:center;gap:10px}.ribbon-item b{font-weight:400;color:#7a7168}.ribbon-heart{color:var(--accent);font-size:16px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:25px}.section-head h2{font-family:"STSong","SimSun",serif;font-size:27px;font-weight:500;letter-spacing:2px;margin:9px 0}.section-head p{font-size:11px;color:var(--muted);margin:0 0 8px}.section-counter{font-size:11px;color:var(--muted);border:1px solid var(--line);padding:8px 12px;border-radius:20px}.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.game-card{background:#fffdf9;border:1px solid #ebddd2;border-radius:18px;overflow:hidden;transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column}.game-card:hover{transform:translateY(-6px);box-shadow:0 20px 35px #aa827416}.card-art{position:relative;height:214px;overflow:hidden;background:#eceddc}.card-art.hotel{background:#e9efdf}.card-art.story{background:#f3e5d9}.card-art.pig{background:#f4e0e4}.card-art img{width:100%;height:100%;object-fit:contain;position:relative;z-index:1;transition:transform .4s}.game-card:hover img{transform:scale(1.035)}.card-art:before{content:"";position:absolute;width:160px;height:160px;border-radius:50%;background:#fff6;top:30px;left:calc(50% - 80px)}.card-tag{position:absolute;top:14px;left:14px;padding:5px 9px;border-radius:5px;background:#ffffffb0;color:#877566;font-size:9px;z-index:2}.card-content{padding:20px 22px 21px;flex:1;display:flex;flex-direction:column}.card-content h3{font-size:17px;letter-spacing:1px;margin:0 0 10px}.card-content p{font-size:11px;line-height:1.9;color:var(--muted);margin:0 0 22px;min-height:42px}.card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:15px;border-top:1px dashed #e5d9cf;font-size:9px;color:#a29b8d}.play-button{background:transparent;border:0;padding:0;color:var(--accent);font-size:11px}.play-button span{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#f8eded;margin-left:8px}.below{display:grid;grid-template-columns:1.12fr 1fr;gap:24px;margin:45px 0 65px}.letter{background:#f5ebe1;border:1px solid #e8dacb;border-radius:15px;padding:27px 30px;position:relative}.letter:before{content:"♡";position:absolute;right:25px;top:20px;font-size:30px;color:#d5a7a4;transform:rotate(-15deg)}.letter h3,.notice-board h3{font-family:"STSong","SimSun",serif;font-size:20px;font-weight:500;margin:8px 0 18px;letter-spacing:1px}.letter-body{font-family:"STKaiti","KaiTi",serif;font-size:14px;line-height:2.1;white-space:pre-wrap;max-height:85px;overflow:hidden;transition:max-height .4s}.letter.expanded .letter-body{max-height:1000px}.signature{text-align:right;color:#a48b7d;font-size:11px;margin-top:15px}.notice-board{border:1px solid var(--line);border-radius:15px;padding:27px 28px;background:#fffbf7}.notice{border-top:1px dashed var(--line);padding:14px 0}.notice time{font-size:9px;color:#a9988c}.notice h4{margin:6px 0;font-size:12px;font-weight:500}.notice p{font-size:11px;line-height:1.8;color:var(--muted);margin:0;white-space:pre-wrap}.empty-note{font-size:12px;line-height:2.1;color:var(--muted)}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:24px 0 35px;font-size:10px;color:#ab9c90}footer a:hover{color:var(--accent)}.heart{color:var(--accent)}dialog{border:1px solid var(--line);background:var(--cream);color:var(--ink);border-radius:22px;padding:36px;max-width:440px;width:calc(100% - 36px);box-shadow:0 30px 150px #634a4540}dialog::backdrop{background:#59443d45;backdrop-filter:blur(5px)}.auth-dialog{text-align:center}.auth-dialog h2{font-size:23px}.auth-dialog .muted{font-size:12px;line-height:1.9}.modal-icon{font-size:40px;color:var(--accent)}.close{position:absolute;right:16px;top:10px;border:0;background:none;font-size:25px;color:#b7a49b}.auth-dialog form{text-align:left;margin-top:24px}label{display:block;font-size:12px;line-height:1.6;margin-bottom:16px}input,select,textarea{display:block;width:100%;padding:11px 13px;margin-top:6px;background:#fffefb;border:1px solid #e5d8cd;border-radius:8px;color:var(--ink);min-width:0;font-size:13px}textarea{resize:vertical;min-height:90px;line-height:1.8}input[type=checkbox]{width:auto;display:inline;margin:0 8px 0 0;accent-color:var(--accent)}.wide{width:100%}.form-error{min-height:15px;font-size:12px;color:#bb5c68}.toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%,20px);padding:14px 23px;border-radius:12px;background:#65745e;color:white;z-index:10000;opacity:0;pointer-events:none;transition:.2s;font-size:13px;max-width:90vw}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.bad{background:#a56067}.muted{color:var(--muted)}.hidden{display:none!important}.checkline{display:flex;align-items:center}.no-motion *{scroll-behavior:auto!important}html{scroll-behavior:smooth;scroll-padding-top:25px}
@media(max-width:850px){.shell{padding:0 25px}.hero h1{font-size:38px}.nav{gap:18px}.hero-art>img{top:10px}.game-grid{gap:14px}.card-content{padding:18px 16px}.card-art{height:180px}.ribbon{margin-bottom:40px}.below{gap:16px}.letter,.notice-board{padding:23px}.hero{min-height:460px}.art-note{font-size:9px;right:0;bottom:35px}}
@media(max-width:620px){.shell{padding:0 21px}.topbar{height:78px}.brand{font-size:13px;gap:9px}.brand-icon{width:32px;height:32px;font-size:22px}.nav>a{display:none}.nav .login-button{font-size:10px;padding:9px 13px}.hero{grid-template-columns:1fr;padding-top:35px;min-height:auto;gap:0}.hero h1{font-size:38px;margin:18px 0 13px}.hero-sub{font-size:12px}.hero-actions{margin-top:22px}.hero-art{min-height:305px;margin-top:10px;max-width:420px;width:100%;justify-self:center}.hero-art>img{top:-8px;width:100%;left:0}.art-note{bottom:13px;right:5px}.ribbon{gap:10px;padding:15px;margin:0 0 35px;flex-wrap:wrap}.ribbon-item{font-size:9px;gap:6px}.ribbon-item:last-child{display:none}.section-head h2{font-size:25px}.section-head p{font-size:10px}.game-grid{grid-template-columns:1fr;gap:19px}.card-art{height:225px}.card-content{padding:20px 22px}.card-content p{min-height:0;margin-bottom:15px;font-size:12px}.card-content h3{font-size:18px}.card-bottom{font-size:10px}.play-button{font-size:12px}.below{grid-template-columns:1fr;margin:30px 0 40px}.letter,.notice-board{padding:26px}.section-counter{font-size:9px}.hero h1 br{display:block}footer{font-size:9px;gap:15px}.hero .eyebrow{font-size:9px;letter-spacing:2px}.card-art img{max-width:360px;display:block;margin:auto}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.hero-art>img{top:0;left:0;width:100%;border-radius:32px;aspect-ratio:3/2;object-fit:cover;box-shadow:0 16px 50px #ab927118}.hero-art{min-height:365px}.card-art img{object-fit:cover;max-width:none}.card-art:before{display:none}.side-art{border-radius:18px;opacity:.85!important}@media(max-width:850px){.hero-art{min-height:285px}}@media(max-width:620px){.hero-art{min-height:260px;margin-top:30px}.hero-art>img{position:relative}.art-note{bottom:0}.card-art{height:auto;aspect-ratio:3/2}.card-art img{display:block}}
