:root{--ink:#263e58;--muted:#738196;--cream:#f8f6ef;--blue:#507ba6;--gold:#c39850}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Microsoft YaHei","PingFang SC",sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #b38336;outline-offset:4px}a{color:inherit;text-decoration:none}header{max-width:1440px;margin:auto;padding:23px 48px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dedfd9}.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:19px}.brand-moon{font-size:40px;font-weight:400;line-height:1}.brand small{display:block;font-size:9px;letter-spacing:3px;margin-top:4px}.back{font-size:12px;color:var(--muted)}main{max-width:1440px;margin:auto;padding:34px 48px 0}.title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted);margin:0 0 10px}h1{font-family:Georgia,"Songti SC","SimSun",serif;font-size:34px;font-weight:500;margin:0;letter-spacing:2px}h1 span{font-family:"Microsoft YaHei",sans-serif;font-size:10px;letter-spacing:1px;margin-left:20px;vertical-align:middle;color:var(--muted)}.wallet{display:flex;align-items:center;gap:12px}.wallet>span{color:var(--gold);font-size:31px}.wallet strong{font-size:27px;font-weight:500;font-variant-numeric:tabular-nums}.wallet small{font-size:11px;color:var(--muted)}.game-shell{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(300px,1fr);background:#eeeee7;animation:arrive .7s ease both}.scene-wrap{position:relative;background:#172840;overflow:hidden;min-width:0;display:flex;align-items:center}canvas{display:block;width:100%;height:auto;image-rendering:pixelated}.scene-top{position:absolute;top:20px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;z-index:1;color:#d2dfef;font-size:11px;letter-spacing:1px}.scene-top i{display:inline-block;background:#b7d4c9;width:5px;height:5px;border-radius:50%;margin-right:8px}.scene-top button{background:#ffffff0b;border:1px solid #ffffff20;color:#d2dfef;padding:7px 11px;font-size:11px}.scene-caption{position:absolute;bottom:16px;left:24px;right:24px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;color:#a4b4cc}.scene-caption span:last-child{font-size:8px}.character-hit{position:absolute;left:44%;top:39%;width:18%;height:43%;background:transparent;border:0;border-radius:40%;cursor:pointer}.character-hit:hover{background:#ffffff08}.companion{padding:28px 28px 20px;display:flex;flex-direction:column}.profile{display:flex;gap:12px;align-items:center}.profile img{width:47px;height:47px;border-radius:50%;object-fit:cover;object-position:65% 42%}.profile small{color:var(--muted);font-size:10px}.profile h2{font-size:20px;margin:4px 0;font-weight:500}.profile h2 span{color:var(--gold)}.level{margin-left:auto;color:var(--gold);font-size:12px}.bond{margin-top:18px}.bond>div:first-child{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.meter{height:3px;background:#d9dfde;margin-top:9px}.meter i{display:block;background:var(--gold);height:3px;width:0;transition:width .6s}.dialogue{margin:23px 0 18px;min-height:111px}.dialogue>span{font-size:10px;color:var(--blue)}.dialogue p{font-size:14px;line-height:1.9;margin:9px 0 10px;min-height:52px}.dialogue small{font-size:10px;color:var(--muted)}.actions{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#d9ded8;border:1px solid #d9ded8}.actions button{border:0;background:#f6f6f0;padding:12px 10px;font-size:12px;text-align:left;transition:background .2s,transform .2s}.actions button:hover{background:#fff}.actions button:active{transform:scale(.97)}.actions button>span{font-size:18px;margin-right:7px;color:var(--blue)}.actions small{display:block;font-size:9px;color:var(--muted);margin:5px 0 0 25px}.sing-button{border:0;background:var(--ink);color:#fff;width:100%;padding:15px;text-align:left;font-size:12px;margin-top:15px;transition:background .2s}.sing-button:hover{background:#3c5978}.sing-button span{float:right;font-size:10px;color:#c8d7e9}.gentle-note{text-align:center;font-size:9px;color:var(--muted);margin:13px 0 0}.lower{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(300px,1fr);gap:0;padding-top:31px}.collection{padding-right:32px}.section-title{display:flex;justify-content:space-between;align-items:center}h2{font-size:19px;font-weight:500;margin:0}.section-title>span{font-size:10px;color:var(--muted)}.shop{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.item{background:transparent;border:0;padding:0;text-align:left}.item-picture{background:#eaece5;height:88px;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s}.item:hover .item-picture{background:#e1e6df;transform:translateY(-3px)}.item-picture svg{width:70px;height:65px;image-rendering:pixelated}.item strong{display:block;font-size:11px;font-weight:400;margin:10px 0 5px}.item small{font-size:10px;color:var(--gold)}.item.equipped small{color:var(--blue)}.journal{border-left:1px solid #dce0d8;padding:0 28px}.journal h2 span{float:right;color:var(--gold)}.journal>p:not(.eyebrow){font-size:12px;line-height:1.9;min-height:47px;margin-top:18px}.journal>span{color:var(--muted);font-size:10px}.save-actions{display:flex;gap:20px;margin-top:18px}.save-actions button,footer button{border:0;padding:0;background:none;font-size:10px;color:var(--muted)}footer{display:flex;justify-content:space-between;align-items:center;padding:28px 0 22px;margin-top:27px;border-top:1px solid #dedfd9;font-size:11px;color:var(--muted)}footer small{font-size:9px}dialog{border:0;background:var(--cream);color:var(--ink);width:min(480px,calc(100% - 28px));padding:30px;max-height:95dvh;overflow:auto}dialog::backdrop{background:#101e38cc;backdrop-filter:blur(5px)}dialog[open]{animation:arrive .25s ease}.close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:25px}.music-help{font-size:12px;line-height:1.9;color:var(--muted)}kbd{border:1px solid #ccd2d3;padding:1px 5px}.music-status{display:flex;justify-content:space-between;font-size:11px;margin:18px 0 10px}.lanes{position:relative;background:#1b2e49;height:250px;display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;touch-action:manipulation}.lanes button{background:transparent;border:0;border-right:1px solid #ffffff12;position:relative;z-index:2;color:#b4c7e0}.lanes button span{position:absolute;bottom:9px;left:0;right:0}.lanes button.flash{background:#d9be7c33}.hit-line{position:absolute;top:79%;height:3px;left:0;right:0;background:#e6c988;box-shadow:0 0 13px #e6c98880}.note{position:absolute;width:14%;height:10px;background:#d2e8ff;box-shadow:0 0 10px #bddbff60;pointer-events:none}.music-note{display:block;text-align:center;color:var(--muted);font-size:9px;margin-top:13px}#music-feedback{text-align:center;font-size:12px;min-height:18px}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,15px);background:#263e58;color:#fff;padding:12px 22px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:10;max-width:90%;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1500px){main{padding-top:45px}}@media(max-width:1050px){header{padding:20px 24px}main{padding:26px 24px 0}.companion{padding:22px 20px}.game-shell,.lower{grid-template-columns:minmax(0,1.6fr) minmax(285px,1fr)}h1 span{display:block;margin:8px 0 0}.dialogue{margin:17px 0 12px}.journal{padding:0 20px}.scene-caption span:last-child{display:none}}@media(max-width:760px){header{padding:16px 20px}.brand{font-size:16px}.brand-moon{font-size:31px}main{padding:23px 16px 0}h1{font-size:27px;letter-spacing:1px}.eyebrow{font-size:8px;letter-spacing:1.5px}.title-row{margin-bottom:19px}.wallet{gap:7px}.wallet strong{font-size:22px}.game-shell,.lower{grid-template-columns:1fr}.scene-wrap{min-height:0}.scene-top{top:14px;left:16px;right:16px}.scene-caption{bottom:12px;left:16px;font-size:8px}.companion{padding:23px}.dialogue{min-height:0;margin:18px 0}.dialogue p{min-height:0}.actions button{padding:13px}.collection{padding:0}.journal{border-left:0;border-top:1px solid #dce0d8;margin-top:26px;padding:23px 0 0}.shop{gap:9px}.item-picture{height:76px}.item strong{font-size:10px}.section-title>span{font-size:9px}footer{gap:16px;flex-wrap:wrap}footer small{order:3;width:100%}dialog{padding:26px 21px}.music-help{font-size:11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
