#game-world[hidden],#game-shell[hidden],.game-shell [hidden]{display:none!important}body.shell-open{overflow:hidden!important}.shell-open #pocket-wallet,.shell-open #camp-prop-tip,.shell-open #item-toast{display:none!important}
.game-shell{position:fixed;inset:0;z-index:1800;isolation:isolate;overflow:auto;background:#deeee5;color:#3d625c;font-family:'Noto Sans SC','Microsoft YaHei',sans-serif;letter-spacing:0}.game-shell *{box-sizing:border-box}.game-shell button,.game-shell input{font:inherit}.game-shell button{cursor:pointer}.game-shell button:disabled{cursor:default;opacity:.42}.game-shell button:focus-visible,.game-shell input:focus-visible{outline:3px solid #558d85;outline-offset:5px}.game-shell button{transition:background .2s,transform .2s,box-shadow .2s}.title-scene{position:fixed;inset:0;background:url('assets/cloud-island.png') center/cover;z-index:-3;transform:scale(1.035);animation:title-arrive 2s ease-out both}.title-wash{position:fixed;inset:0;background:linear-gradient(90deg,#fbf6e6e8 0%,#f8f4e1b5 35%,#eef5dd08 70%),linear-gradient(0deg,#e7f2df9c,transparent 30%);z-index:-2}.title-motes{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:-1}.title-motes i{position:absolute;left:var(--x);bottom:-40px;color:#fff9ce;font-size:21px;font-style:normal;text-shadow:0 0 15px #d6ae64;animation:title-mote var(--t) var(--d) infinite linear}.title-home{position:relative;min-height:100dvh;overflow:hidden}.title-logo{position:absolute;left:10%;top:20%;z-index:2;text-align:center;animation:title-copy-in 1.4s both}.title-logo>small{font:12px Georgia,serif;letter-spacing:4px;color:#7d987d}.title-emblem{color:#cba25c;font-size:28px;margin:25px 0 -8px;text-shadow:0 2px #fff8d1}.title-logo h1{font-family:'Noto Serif SC','Songti SC','SimSun',serif;font-size:clamp(60px,6.4vw,96px);font-weight:500;letter-spacing:16px;margin:8px -16px 15px 0;color:#3e726b;text-shadow:0 2px #fffef6,0 6px 25px #f9ffeb}.title-logo>p{display:flex;align-items:center;justify-content:center;gap:20px;font-size:19px;letter-spacing:9px;color:#927444;margin:0}.title-logo>p span{display:inline-block;width:34px;height:1px;background:#bba776}.title-logo>i{display:block;font-style:normal;font-size:13px;letter-spacing:4px;color:#85957a;margin-top:24px}.title-character{position:absolute;right:10%;bottom:-10%;height:88dvh;width:35%;pointer-events:none;animation:title-character-in 1.6s both}.title-character>div{position:absolute;left:10%;right:10%;bottom:7%;height:20%;background:radial-gradient(ellipse,#4e7c6e33,transparent 70%);filter:blur(10px)}.title-character img{position:relative;width:100%;height:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 14px 20px #61776230);animation:title-character-float 6s ease-in-out 1.6s infinite}.title-reveal{position:absolute;inset:0;z-index:5;background:none;border:0;border-radius:0;color:#56796f}.title-reveal>span{position:absolute;left:50%;bottom:12%;transform:translateX(-50%);text-align:center;font-size:14px;letter-spacing:5px;white-space:nowrap;text-shadow:0 1px #fff;animation:title-hint 2.7s infinite ease-in-out}.title-reveal>span>span{display:block;font:12px Georgia,serif;letter-spacing:4px;margin-top:12px;color:#7c927a}.title-reveal i{display:block;font-style:normal;margin-top:15px;font-size:17px;color:#bb985d}.title-menu{position:absolute;left:12%;top:55%;width:320px;display:grid;gap:12px;z-index:4;animation:title-menu-in .6s both}.title-menu>button{position:relative;display:flex;align-items:center;gap:21px;text-align:left;min-height:70px;border:1px solid #b8c4a780;border-radius:5px 30px 30px 5px;background:linear-gradient(105deg,#fffdf1d9,#faffeb66);color:#426c63;padding:12px 25px 12px 18px;box-shadow:0 4px 15px #7c987512,0 1px #fff9;backdrop-filter:blur(8px)}.title-menu>button:before{content:'';position:absolute;left:-1px;top:12px;bottom:12px;width:3px;background:#b6a16f}.title-menu>button>small{font:14px Georgia,serif;color:#b4a47c}.title-menu>button>span{font:20px Georgia,serif;letter-spacing:4px}.title-menu em{display:block;font:12px 'Microsoft YaHei',sans-serif;letter-spacing:3px;font-style:normal;margin-top:6px;color:#849580}.title-menu>button>i{margin-left:auto;font-style:normal;font-size:20px;color:#b5a472}.title-menu>button:hover{background:linear-gradient(100deg,#fffff2,#f8ffebd9);transform:translateX(8px);box-shadow:0 8px 25px #6179571a}.title-footer{position:absolute;left:4%;right:4%;bottom:24px;display:flex;justify-content:space-between;font-size:12px;letter-spacing:2px;color:#6d8975;text-shadow:0 1px #ffffe6}.is-revealed .title-logo{top:12%;transition:top .65s}.is-revealed .title-character{right:8%;transition:right 1s}
.system-panel{position:relative;max-width:1050px;margin:clamp(20px,5dvh,64px) auto;min-height:650px;width:calc(100% - 70px);background:linear-gradient(135deg,#fffdf4ed,#f4f6e8f2);border:1px solid #fffdf1;border-radius:26px;padding:30px 38px 20px;box-shadow:0 25px 100px #2f625c38,inset 0 0 0 7px #d1c6a229;backdrop-filter:blur(22px);animation:system-panel-in .35s both}.game-shell:has(.system-panel:not([hidden])) .title-wash{background:#dce9d5a8;backdrop-filter:blur(9px)}.game-shell[data-context=game] .title-scene{opacity:.7}.system-panel-header{display:flex;align-items:center;gap:19px;padding-bottom:23px;border-bottom:1px solid #bac6ad70;color:#51786a;background:none;position:static;box-shadow:none;border-radius:0}.system-panel-header>button{width:42px;height:42px;border:1px solid #b9c8b1;border-radius:50%;background:#fffff34d;color:#71917f;font-size:20px}.system-panel-header small{display:block;font:12px Georgia,serif;letter-spacing:4px;color:#a58d59}.system-panel-header h2{font-weight:500;letter-spacing:5px;font-size:25px;margin:7px 0 0;color:#426c61}.panel-star{font-size:26px;color:#b4a471;margin-left:auto}.system-content{padding-top:23px;min-width:0}.system-note{font-size:14px;min-height:20px;color:#9e764d;line-height:1.7;margin:13px 0 0}.system-primary{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #6a9382;border-radius:12px;background:linear-gradient(115deg,#719b87,#4e7b6b);color:#fffcea;padding:13px 21px;min-height:46px;font-size:14px;letter-spacing:2px;box-shadow:0 3px #426858}.system-primary:hover{filter:brightness(1.06);transform:translateY(-1px)}.system-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:25px 0}.system-menu-grid>button{display:grid;grid-template-columns:55px 1fr;gap:7px 18px;padding:28px 28px;text-align:left;border:1px solid #bfcab28c;border-radius:18px;background:linear-gradient(135deg,#fffef3,#f1f6e5);color:#53776a;box-shadow:0 6px 16px #5b7d5d0c}.system-menu-grid>button:hover{transform:translateY(-3px);box-shadow:0 10px 20px #5b7d5d18}.system-menu-grid i{grid-row:span 2;font:37px Georgia,serif;align-self:center;color:#b5a16b;text-align:center}.system-menu-grid strong{font:19px Georgia,serif;letter-spacing:4px}.system-menu-grid span{font-size:13px;letter-spacing:3px;color:#8b9a7d}.system-menu-caption{font-size:14px;letter-spacing:2px;text-align:center;margin-top:32px;color:#77917e}.system-menu-caption>span{display:block;font-size:12px;color:#97a38a;margin-top:10px}
.save-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.save-toolbar>span{font:14px Georgia,serif;color:#9aa789;letter-spacing:3px}.save-tabs{display:flex;gap:8px}.save-tabs>button{border:1px solid transparent;border-radius:22px;background:none;color:#91a18a;padding:9px 17px;font-size:14px;letter-spacing:2px}.save-tabs>button.is-current{color:#4f7868;background:#e2ead4;border-color:#b5c3a3}.save-tabs small{font:12px Georgia,serif;margin-left:7px;color:#9aaa8d}.save-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-height:310px}.save-card{padding:0;display:flex;align-items:stretch;min-width:0;text-align:left;background:#fffef5b8;border:1px solid #bdc9af;border-radius:15px;min-height:146px;overflow:hidden;color:#536f5e;box-shadow:0 3px 0 #bdc6ad22}.save-card.is-selected{border-color:#61917d;box-shadow:0 0 0 2px #91b09a55,0 7px 16px #597f6014;background:#fffef5}.save-card:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 5px 12px #597f6019}.save-cover{position:relative;width:34%;flex-shrink:0;overflow:hidden;background:#bed8c9}.save-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 50%,#173d3cb5)}.save-cover>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.save-cover>span{position:absolute;left:10px;top:8px;color:#fff7d4;font:17px Georgia,serif;text-shadow:0 1px 4px #0005}.save-cover>small{position:absolute;left:11px;bottom:12px;z-index:1;color:#fffce7;font-size:13px;letter-spacing:2px;text-shadow:0 1px 5px #0007}.save-card-copy{padding:14px 13px;min-width:0;flex:1}.save-card-copy>div{display:flex;justify-content:space-between;align-items:center;gap:5px}.save-card-copy>div>small{font:12px Georgia,serif;letter-spacing:2px;color:#a49570;white-space:nowrap}.save-card time{font-size:12px;color:#9fa78e;white-space:nowrap}.save-card-copy>strong{display:block;margin:10px 0 6px;font-size:15px;font-weight:500;letter-spacing:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.save-card-copy>p{font-size:12px;color:#7d9580;margin:0 0 9px}.save-card-copy>span{font-size:12px;line-height:1.6;color:#a1a78f;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.save-card.is-empty{display:flex;align-items:center;justify-content:center;gap:20px;background:#f5f7eb80;border-style:dashed}.save-blank-mark{font-size:35px;color:#bec7ab}.save-card.is-empty>div{display:grid;gap:9px}.save-card.is-empty small{font:12px Georgia,serif;letter-spacing:3px;color:#a5b093}.save-card.is-empty strong{font-size:14px;font-weight:500;letter-spacing:3px;color:#8c9b7f}.save-card.is-empty div>span{font-size:12px;color:#a9b298}.save-empty{grid-column:1/-1;min-height:310px;display:grid;justify-items:center;align-content:center;gap:20px;color:#92a386;border:1px dashed #c3cdb6;border-radius:18px;background:#f8faed88}.save-empty>span{font-size:48px;color:#baac77}.save-empty strong{font-size:16px;font-weight:500;letter-spacing:3px;text-align:center}.save-empty p{font-size:13px;letter-spacing:1px;margin:0;text-align:center}.save-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:17px 0 19px}.save-pages{display:flex;align-items:center;gap:14px}.save-pages>button{width:33px;height:30px;border:1px solid #c4cdb7;border-radius:9px;background:#faffed;color:#7e947b}.save-pages>span{font:13px Georgia,serif;letter-spacing:2px;color:#98a188}.save-hint{font-size:12px;letter-spacing:2px;color:#99a68a}.save-detail{border-top:1px solid #bec9af70;padding-top:19px;min-height:103px;display:flex;justify-content:space-between;align-items:center;gap:25px}.save-selection-hint{font-size:14px;letter-spacing:3px;color:#9eab8d}.save-detail-copy{min-width:0;flex:1}.save-detail-copy>strong{display:block;font-size:14px;font-weight:500;letter-spacing:2px;color:#638170}.save-detail-copy>small{display:block;font-size:12px;color:#94a084;margin:9px 0}.save-detail-copy>p{font-size:13px;line-height:1.8;color:#8d9a7e;max-width:550px;margin:7px 0}.save-detail-copy label{display:flex;align-items:center;gap:13px;font-size:13px;color:#8c997c}.save-detail-copy input{width:min(100%,270px);padding:7px 10px;background:#fefff5;border:1px solid #c5d0b7;border-radius:7px;color:#627e67;font-size:14px;min-width:0}.save-detail-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.save-overwrite-note{flex-basis:100%;text-align:right;font-size:13px;color:#a78052}.save-detail-actions>button:not(.system-primary){border:0;background:none;color:#92a084;font-size:13px}
.settings-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:45px}.settings-controls{padding-top:4px}.setting-row{display:grid;grid-template-columns:103px minmax(80px,1fr) 47px;align-items:center;gap:16px;padding:17px 0;border-bottom:1px solid #c0cdb043}.setting-row>label strong{display:block;color:#658571;font-size:14px;font-weight:500;letter-spacing:2px}.setting-row>label small{font:11px Georgia,serif;letter-spacing:1.5px;color:#acaa88;display:block;margin-top:7px}.setting-row output{font:15px Georgia,serif;text-align:right;color:#aa955f}.setting-row input[type=range]{appearance:none;width:100%;height:4px;background:#cbd5b9;border-radius:5px;cursor:pointer;accent-color:#7a9c84;margin:0}.setting-row input[type=range]::-webkit-slider-thumb{appearance:none;width:17px;height:17px;background:#fff8e1;border:3px solid #7c9d83;border-radius:50%;box-shadow:0 2px 4px #68806a30}.setting-row input[type=range]::-moz-range-thumb{width:12px;height:12px;background:#fff8e1;border:3px solid #7c9d83;border-radius:50%}.setting-mute{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:21px 0;color:#728b74;font-size:14px;letter-spacing:2px;cursor:pointer}.setting-mute small{display:block;font-size:12px;letter-spacing:1px;color:#a3ad91;margin-top:6px}.setting-mute input{position:absolute;opacity:0;width:1px;height:1px}.setting-mute i{width:39px;height:22px;border-radius:20px;background:#ccd6bc;position:relative;transition:background .2s}.setting-mute i:after{content:'';position:absolute;left:3px;top:3px;height:16px;width:16px;border-radius:50%;background:#fffdf0;box-shadow:0 1px 4px #58745d33;transition:transform .2s}.setting-mute input:checked+i{background:#729782}.setting-mute input:checked+i:after{transform:translateX(17px)}.setting-mute input:focus-visible+i{outline:3px solid #83a495;outline-offset:4px}.settings-tools{display:flex;justify-content:space-between;gap:15px;margin-top:24px}.settings-tools>button{border:1px solid #bdc9ae;border-radius:10px;color:#819377;background:#faffed80;padding:9px 13px;font-size:13px;letter-spacing:1px}.settings-preview{position:relative;min-height:390px;overflow:hidden;border:1px solid #cbcfb4;border-radius:120px 120px 22px 22px;background:linear-gradient(#edf7e85c,#f5edcc73),url('assets/cloud-island.png') center/cover;box-shadow:inset 0 0 0 5px #ffffe733}.preview-art{height:340px;padding-top:20px}.preview-art img{height:100%;width:100%;object-fit:contain;filter:drop-shadow(0 6px 10px #799a7140)}.preview-dialogue{position:absolute;left:15px;right:15px;bottom:17px;background:#fffff0ee;border:1px solid #c6c9a4;border-radius:15px;padding:25px 16px 12px;min-height:123px;box-shadow:0 5px 15px #5778481c}.preview-dialogue>small{position:absolute;left:15px;top:-12px;background:#93b39b;border:1px solid #e1edd2;color:#fffbed;border-radius:8px;padding:5px 18px;font-size:13px;letter-spacing:2px}.preview-dialogue p{font-size:17px;line-height:1.8;color:#69826d;min-height:64px;margin:0}.preview-dialogue>span{display:block;text-align:right;color:#b2b28f;font-size:11px;letter-spacing:2px;margin-top:8px}.settings-footnote{border-top:1px solid #c3ccb074;margin-top:24px;padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:15px}.settings-footnote>span{color:#9ba68b;font-size:12px;letter-spacing:2px}
#avg-text{font-size:calc(20px * var(--dialogue-scale,1))}.game-shell .title-menu>button{font-weight:400}.shell-open #game-world{pointer-events:none}#system-menu,#avg-menu{white-space:nowrap}
@keyframes title-arrive{from{transform:scale(1.12);filter:blur(4px)}to{transform:scale(1.035);filter:blur(0)}}@keyframes title-copy-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes title-character-in{from{opacity:0;transform:translateX(35px)}to{opacity:1;transform:translateX(0)}}@keyframes title-character-float{50%{transform:translateY(-10px)}}@keyframes title-hint{50%{opacity:.45}}@keyframes title-mote{0%{transform:translateY(0) rotate(0);opacity:0}20%,80%{opacity:.6}100%{transform:translateY(-110dvh) rotate(90deg);opacity:0}}@keyframes title-menu-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes system-panel-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1700px){.title-logo{left:14%;top:21%}.title-menu{left:16%}.title-character{right:12%}.is-revealed .title-logo{top:16%}}
@media(max-width:1000px){.title-logo{left:7%}.title-logo h1{font-size:76px}.title-menu{left:8%;width:285px}.title-character{right:1%;width:45%}.title-logo>small{font-size:11px;letter-spacing:3px}.system-panel{padding:25px 27px 18px;width:calc(100% - 42px)}.settings-layout{gap:25px}.setting-row{grid-template-columns:86px minmax(65px,1fr) 43px;gap:10px}.save-cover{width:30%}.save-card-copy{padding:12px 10px}.save-card time{font-size:11px}.save-card-copy>div>small{letter-spacing:1px}}
@media(max-width:700px){.title-wash{background:linear-gradient(#fffbe9a6,#ffffeb05 45%,#ecf3dbb8),linear-gradient(90deg,#f8f3ded1,transparent 75%)}.title-logo{left:5%;right:5%;top:12%;width:90%}.title-logo>small{font-size:10px;letter-spacing:2.5px}.title-emblem{margin-top:18px;font-size:22px}.title-logo h1{font-size:68px;letter-spacing:12px;margin-right:-12px;margin-top:5px}.title-logo>p{font-size:16px;letter-spacing:7px;gap:14px}.title-logo>i{font-size:12px;letter-spacing:2px;margin-top:16px}.title-character{right:-15%;bottom:6%;width:75%;height:65dvh;opacity:.93}.title-reveal>span{bottom:12%;font-size:14px;letter-spacing:4px;background:#ffffe6ac;border:1px solid #fffceb88;border-radius:20px;padding:14px 27px;backdrop-filter:blur(5px)}.title-reveal>span>span{font-size:10px;letter-spacing:3px;margin-top:10px}.title-reveal i{font-size:13px;margin-top:10px}.is-revealed .title-logo{top:7%}.is-revealed .title-character{right:-21%;bottom:3%;height:61dvh;opacity:.8}.title-menu{left:7%;top:49%;width:65%;gap:12px}.title-menu>button{min-height:64px;padding:11px 18px 11px 13px;gap:13px;border-radius:4px 24px 24px 4px;background:linear-gradient(100deg,#fffef2ed,#fcffeed9)}.title-menu>button>span{font-size:18px;letter-spacing:3px}.title-menu em{font-size:12px;letter-spacing:2px}.title-menu>button>small{font-size:12px}.title-menu>button>i{font-size:17px}.title-footer{bottom:17px;left:6%;right:6%;font-size:10px;letter-spacing:1px;gap:12px}.title-footer>span:last-child{max-width:180px;text-align:right;line-height:1.6}.system-panel{width:calc(100% - 22px);min-height:0;margin:12px auto;padding:22px 17px 13px;border-radius:22px;box-shadow:0 18px 60px #2f625c38,inset 0 0 0 4px #d1c6a229}.system-panel-header{gap:13px;padding-bottom:18px}.system-panel-header>button{width:35px;height:35px;font-size:17px;flex-shrink:0}.system-panel-header h2{font-size:21px;letter-spacing:4px}.system-panel-header small{font-size:11px;letter-spacing:3px}.panel-star{font-size:22px}.system-content{padding-top:17px}.system-note{font-size:12px;margin-top:10px}.system-menu-grid{gap:12px;margin:13px 0}.system-menu-grid>button{padding:22px 12px;grid-template-columns:30px 1fr;gap:7px 10px;border-radius:13px}.system-menu-grid i{font-size:28px}.system-menu-grid strong{font-size:16px;letter-spacing:2px}.system-menu-grid span{font-size:12px;letter-spacing:1px}.system-menu-caption{margin-top:22px;font-size:13px}.save-toolbar{margin-bottom:14px}.save-tabs{gap:4px}.save-tabs>button{padding:8px 12px;font-size:13px;letter-spacing:1px}.save-tabs small{font-size:12px;margin-left:4px}.save-toolbar>span{font-size:12px;letter-spacing:1px}.save-cards{grid-template-columns:minmax(0,1fr);gap:11px;min-height:0}.save-card{min-height:115px;border-radius:12px}.save-cover{width:29%}.save-cover>small{font-size:12px;letter-spacing:1px;left:8px;bottom:10px}.save-cover>span{left:8px;top:7px;font-size:15px}.save-card-copy{padding:10px 12px}.save-card-copy>div>small{font-size:11px;letter-spacing:2px}.save-card time{font-size:11px}.save-card-copy>strong{font-size:14px;letter-spacing:2px;margin:8px 0 5px}.save-card-copy>p{font-size:12px;margin-bottom:6px}.save-card-copy>span{font-size:12px;line-height:1.6;-webkit-line-clamp:1}.save-card.is-empty{min-height:105px}.save-blank-mark{font-size:30px}.save-card.is-empty>div{gap:6px}.save-card.is-empty small{font-size:11px}.save-card.is-empty strong{font-size:14px}.save-card.is-empty div>span{font-size:12px}.save-bottom{margin:15px 0;gap:10px}.save-pages{gap:11px}.save-pages>button{width:29px;height:27px}.save-hint{font-size:11px;letter-spacing:0;text-align:right;line-height:1.6;max-width:150px}.save-detail{display:block;padding-top:15px;min-height:75px}.save-detail-copy>strong{font-size:14px;letter-spacing:1px}.save-detail-copy>small{font-size:12px;line-height:1.8}.save-detail-copy>p{font-size:12px}.save-detail-copy input{font-size:13px;max-width:230px}.save-detail-actions{margin-top:14px;gap:12px}.save-detail-actions .system-primary{flex:1}.system-primary{min-height:43px;padding:11px 15px;font-size:13px;letter-spacing:2px}.save-empty{min-height:330px;padding:20px 10px}.save-empty strong{font-size:14px;letter-spacing:1px}.save-empty p{font-size:12px;line-height:1.9}.settings-layout{grid-template-columns:minmax(0,1fr);gap:25px}.setting-row{grid-template-columns:86px minmax(80px,1fr) 42px;gap:11px;padding:14px 0}.setting-row>label strong{font-size:14px;letter-spacing:1px}.setting-row>label small{font-size:10px;letter-spacing:1px}.setting-row output{font-size:14px}.setting-mute{margin-top:17px;font-size:13px}.setting-mute small{font-size:11px}.settings-tools{margin-top:19px}.settings-tools>button{font-size:12px;padding:9px 12px}.settings-preview{height:245px;min-height:245px;border-radius:55px 55px 17px 17px}.preview-art{height:230px;padding-top:8px}.preview-dialogue{left:11px;right:11px;bottom:12px;min-height:96px;padding:20px 14px 10px}.preview-dialogue p{font-size:15px;min-height:47px}.preview-dialogue>small{font-size:12px;left:13px;padding:4px 14px}.preview-dialogue>span{font-size:10px;margin-top:3px}.settings-footnote{margin-top:20px;padding-top:17px;gap:10px}.settings-footnote>span{font-size:11px;letter-spacing:1px;max-width:140px;line-height:1.8}.settings-footnote>.system-primary{padding-inline:13px}.system-menu-caption>span{font-size:12px}#avg-text{font-size:calc(16px * var(--dialogue-scale,1))}.avg-layer.is-tutorial #avg-text{font-size:calc(14px * var(--dialogue-scale,1))}.avg-layer.is-aside #avg-text{font-size:calc(12px * var(--dialogue-scale,1))}.header-right{gap:8px}#system-menu{font-size:12px}.avg-tools{gap:5px}}
@media(max-width:400px){.header-right #replay{display:none}.title-logo h1{font-size:59px}.title-logo>small{letter-spacing:1.8px}.title-menu{width:69%}.title-menu>button{gap:10px}.title-menu>button>span{font-size:17px;letter-spacing:3px}.title-logo>i{font-size:12px}.system-panel{padding-inline:14px}.system-menu-grid>button{padding-inline:10px;grid-template-columns:26px 1fr;gap:7px 7px}.system-menu-grid strong{font-size:15px}}
@media(max-height:650px) and (min-width:701px){.title-logo{top:10%}.title-logo h1{font-size:65px}.title-emblem{margin-top:12px}.title-logo>i{margin-top:15px}.is-revealed .title-logo{top:5%}.title-menu{top:51%;gap:8px}.title-menu>button{min-height:59px;padding-block:9px}.title-menu em{margin-top:4px}.title-character{height:100dvh;bottom:-10%}.system-panel{margin:15px auto}}
@media(prefers-reduced-motion:reduce){.game-shell *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.title-motes{display:none}}

.title-character{bottom:0;width:38%;height:88dvh}.is-revealed .title-character{right:8%}
@media(max-width:700px){.title-character{bottom:3%;right:-5%;width:68%;height:65dvh}.is-revealed .title-character{right:-7%;bottom:3%;width:66%;height:61dvh}}

@media(max-width:700px){.title-character{right:-24%;bottom:0;width:90%;height:78dvh}.is-revealed .title-character{right:-24%;bottom:0;width:90%;height:78dvh}}

/* Five title entries share the same space on short and narrow screens. */
.album-card.is-locked:disabled{opacity:1;color:#9aa58f;cursor:default}.album-lock{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;aspect-ratio:16/9;background:linear-gradient(135deg,#e3e9d9,#f1efdd);color:#a9b297}.album-lock b{font-size:32px;font-weight:400}.album-lock span{font-size:12px;letter-spacing:3px}.album-card.is-portrait .album-lock{aspect-ratio:4/5}
.is-revealed .title-home{min-height:max(100dvh,720px)}
.is-revealed .title-logo{top:6%}.is-revealed .title-logo h1{font-size:72px}.is-revealed .title-emblem{margin-top:10px}.is-revealed .title-logo>i{margin-top:16px}
.title-menu{top:39%;gap:9px}.title-menu>button{min-height:61px;padding-block:9px}
.album-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.album-toolbar>span{font-size:12px;letter-spacing:2px;color:#87967d}.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.album-card{padding:0;overflow:hidden;text-align:left;border:1px solid #bdc9af;border-radius:14px;background:#fffdf2;color:#4d7264;box-shadow:0 3px 10px #5b7d5d12}.album-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #5b7d5d25}.album-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:linear-gradient(135deg,#d9e7d3,#f9f3d9)}.album-card.is-portrait img{aspect-ratio:4/5;object-fit:contain;padding:10px 6px 0}.album-card>span{display:grid;gap:7px;padding:13px 15px}.album-card small{font:12px Georgia,serif;letter-spacing:2px;color:#a28f64}.album-card strong{font-size:14px;letter-spacing:1px;font-weight:500}.album-preview-heading,.album-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:#89967c}.album-preview button{border:1px solid #bcc8ac;border-radius:20px;padding:10px 16px;background:#fffff380;color:#567b68;font-size:14px}.album-preview figure{margin:20px 0}.album-preview figure img{display:block;width:100%;height:min(58dvh,620px);object-fit:contain;background:linear-gradient(135deg,#dae7d3,#f7efd7);border-radius:14px}.album-preview figcaption{text-align:center;padding:15px 0 2px;font-size:15px;letter-spacing:3px}.album-navigation>span{font-size:12px;letter-spacing:1px}
.music-room{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:12px 0 25px}.music-art{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:390px;border:1px solid #cad3b5;border-radius:110px 110px 18px 18px;background:radial-gradient(circle at 50% 35%,#fff9d9bf,#cde3d3a6),url('assets/cloud-island.png') center/cover;text-align:center}.music-art>span{display:grid;place-items:center;width:145px;height:145px;margin-bottom:35px;border:1px solid #adbc98;border-radius:50%;box-shadow:0 0 0 10px #fffbe34d,0 0 0 11px #bec7a580,inset 0 0 0 27px #fdf8dc80;background:#e3e7c8b3;font:58px Georgia,serif;color:#8ca685}.music-art small{font:12px Georgia,serif;letter-spacing:3px;color:#8b906c}.music-art h3{font-size:23px;letter-spacing:6px;font-weight:500;margin:18px 0 10px}.music-art p{font-size:12px;letter-spacing:2px;color:#899479}.music-player{align-self:center;min-width:0}.music-track-list{display:grid;gap:13px}.music-track-list>button{display:flex;align-items:center;gap:20px;text-align:left;border:1px solid #c6ceb6;border-radius:14px;padding:20px;background:#fffff366;color:#6a8570}.music-track-list>button.is-current{border-color:#7e9e81;background:#e5edd8;box-shadow:inset 3px 0 #8aab8d}.music-track-list small{font:14px Georgia,serif;color:#aa9870}.music-track-list strong{display:block;font:19px Georgia,'Microsoft YaHei',serif;font-weight:400}.music-track-list em{display:block;margin-top:7px;font:12px Georgia,serif;letter-spacing:2px;color:#98a080}.music-track-list i{margin-left:auto;font-size:24px;font-style:normal;color:#a99566}.music-status{min-height:20px;font-size:13px;line-height:1.7;color:#8c9a7f;margin:20px 0 12px}.music-player>.system-primary{width:100%;justify-content:center}.music-volume{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;color:#7f927a;margin-top:25px}.music-volume input{width:100%;accent-color:#6c9980;cursor:pointer}.music-hint{font-size:12px;line-height:1.9;color:#9aa58b;margin-top:16px}
@media(max-width:700px){.is-revealed .title-home{min-height:max(100dvh,720px)}.is-revealed .title-logo{top:4%}.is-revealed .title-logo h1{font-size:59px}.is-revealed .title-logo>i{margin-top:12px}.title-menu{top:37%;gap:9px}.title-menu>button{min-height:61px}.album-toolbar{align-items:flex-start;flex-direction:column;gap:10px}.album-toolbar .save-tabs>button{padding-inline:11px}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.album-card>span{padding:11px 10px}.album-card strong{font-size:13px;line-height:1.5}.album-card small{font-size:11px;letter-spacing:1px}.album-navigation>span{display:none}.album-preview button{font-size:13px;padding:9px 12px}.album-preview figure img{height:52dvh}.music-room{grid-template-columns:1fr;gap:23px;margin-top:0}.music-art{min-height:240px;border-radius:70px 70px 15px 15px}.music-art>span{width:85px;height:85px;font-size:38px;box-shadow:0 0 0 7px #fffbe34d,0 0 0 8px #bec7a580,inset 0 0 0 17px #fdf8dc80;margin:22px 0}.music-art h3{font-size:20px;margin:12px 0 6px}.music-art p{margin-bottom:22px}.music-track-list>button{padding:17px}.music-track-list strong{font-size:17px}}
.music-track-list>button.is-locked{opacity:.7;background:#f0f1e5;border-color:#d7ddc9;box-shadow:none;cursor:not-allowed}
.music-track-list>button.is-locked strong{color:#77846d;font-size:17px}
.music-track-list>button.is-locked i{display:flex;color:#87967e}
/* Three auto-save slots: one row on desktop, stacked on phones. The system menu
   now has three entries, so the last one spans the two-column grid. */
.system-menu-grid.is-three>button:last-child{grid-column:1/-1}
.save-cards.is-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.save-cards.is-three .save-card{min-height:180px}
@media(max-width:700px){.save-cards.is-three{grid-template-columns:1fr}}

/* Save metadata: cycle, wallet, affection and play time on every slot. */
.save-card-copy .save-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;margin:8px 0;padding:7px 8px;border:1px solid #d4dcc6;border-radius:9px;background:#fbfcf0ad}
.save-stats>span{display:flex;align-items:baseline;gap:5px;min-width:0;white-space:nowrap;overflow:hidden}
.save-stats i{flex:0 0 auto;font-style:normal;font-size:11px;letter-spacing:1px;color:#a49a78}
.save-stats b{font-size:12px;font-weight:500;color:#557467;overflow:hidden;text-overflow:ellipsis;letter-spacing:0}
.save-stats .is-bond b{color:#b97986}
.save-cover-clear{position:absolute;right:8px;top:8px;z-index:1;border-radius:8px;padding:3px 6px;background:#fff4cfdf;color:#9a773e;font:11px Georgia,serif;letter-spacing:1.5px;box-shadow:0 1px 5px #0003}
.save-card[data-cleared=true]{border-color:#cbbd91}
.save-card[data-cleared=true] .save-cover:after{background:linear-gradient(transparent 35%,#4d491fb8)}
.save-detail-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 6px;max-width:660px}
.save-detail-stats>span{display:grid;gap:2px;padding:8px 10px;border:1px solid #d3dcc6;border-radius:9px;background:#fbfcf0b8;min-width:0}
.save-detail-stats i{font-style:normal;font-size:11px;letter-spacing:1.5px;color:#a49a78}
.save-detail-stats b{font-size:13px;font-weight:500;color:#557467;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.save-detail-stats .is-bond b{color:#b97986}
.save-detail-copy>p.save-clear-note{color:#9b7c4e;background:#fff8dfa8;border-left:2px solid #d9bf84;padding:7px 10px;border-radius:0 7px 7px 0}
/* New Game+ confirmation and in-game callout. */
.cycle-callout{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:16px;margin:0 0 20px;padding:16px 18px;border:1px solid #d7c69a;border-radius:16px;background:linear-gradient(110deg,#fff9e2,#eef4dc);box-shadow:0 4px 16px #6e76401a}
.cycle-callout-mark{display:grid;place-items:center;width:44px;height:44px;border:1px solid #dccda0;border-radius:50%;background:#fffdf1;color:#bf9a51;font-size:21px;box-shadow:inset 0 0 0 5px #fff8df}
.cycle-callout small{display:block;font:11px Georgia,serif;letter-spacing:2px;color:#a58c55}
.cycle-callout strong{display:block;margin:5px 0 3px;font-size:14px;font-weight:500;letter-spacing:1px;color:#5b7160}
.cycle-callout p{margin:0;font-size:12px;color:#8c997d}
.cycle-callout>button{flex:0 0 auto;border:1px solid #7d9780;border-radius:10px;background:#fffdf1;color:#587a68;padding:11px 14px;font-size:13px;letter-spacing:1.5px;white-space:nowrap}
.cycle-sheet{display:grid;grid-template-columns:180px minmax(0,1fr);gap:32px;align-items:center;margin:8px 0 24px;padding:26px;border:1px solid #d5cfae;border-radius:20px;background:radial-gradient(circle at 16% 20%,#fffbdf,#f1f5e4 65%);box-shadow:inset 0 0 0 5px #fffdf2a8}
.cycle-emblem{display:grid;place-items:center;gap:12px;min-height:180px;border-right:1px solid #dbd4b5;color:#b5924f}
.cycle-emblem span{display:grid;place-items:center;width:112px;height:112px;border:1px solid #cfc196;border-radius:50%;background:#fffdf0;font-size:44px;box-shadow:0 0 0 9px #fff8d88c,inset 0 0 0 14px #f7f0cfa8}
.cycle-emblem small{font:11px Georgia,serif;letter-spacing:3px;color:#a79a73}
.cycle-copy>small{font:11px Georgia,serif;letter-spacing:2px;color:#a58d59}
.cycle-copy h3{margin:8px 0 10px;font-family:'Noto Serif SC','Songti SC','SimSun',serif;font-size:30px;font-weight:500;letter-spacing:5px;color:#4b7264}
.cycle-copy>p{font-size:13px;line-height:1.9;color:#83917b;margin:0 0 15px;max-width:640px}
.cycle-inherit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 15px}
.cycle-inherit>span{display:grid;gap:3px;padding:12px 14px;border:1px solid #d6dec8;border-radius:12px;background:#fffff5c4;min-width:0}
.cycle-inherit i{font-style:normal;font-size:12px;letter-spacing:1.5px;color:#a49a78}
.cycle-inherit b{font-size:16px;font-weight:500;color:#557467;letter-spacing:.5px}
.cycle-inherit .is-bond b{color:#b97986}
.cycle-inherit small{font-size:12px;color:#a1a98f}
.cycle-copy>p.cycle-note{font-size:12px;line-height:1.8;color:#9a8760;margin:0}
.cycle-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px}
.cycle-actions>button:not(.system-primary){border:0;background:none;color:#93a085;font-size:13px;letter-spacing:1px;padding:10px 6px;text-decoration:underline;text-underline-offset:4px}
.cycle-actions .system-primary{min-width:230px;justify-content:space-between}
/* Seven title choices: lift the menu and keep EXIT clear of the footer. */
#title-menu{top:40%;gap:7px}#title-menu>button{min-height:56px;padding-block:7px}
@media(max-width:700px){#title-menu{top:33%;gap:7px}#title-menu>button{min-height:54px}}
@media(max-height:760px) and (min-width:701px){.is-revealed .title-home{min-height:100dvh}.is-revealed .title-logo{top:4%}.is-revealed .title-logo h1{font-size:56px;margin-bottom:10px}.is-revealed .title-emblem{font-size:20px;margin-top:5px}.is-revealed .title-logo>p{font-size:16px}.is-revealed .title-logo>i{font-size:12px;margin-top:10px}#title-menu{top:36%;gap:5px}#title-menu>button{min-height:44px;padding-block:5px}#title-menu em{margin-top:3px}}
@media(max-width:700px){.cycle-callout{grid-template-columns:36px minmax(0,1fr);padding:13px 14px}.cycle-callout-mark{width:36px;height:36px;font-size:17px}.cycle-callout>button{grid-column:1/-1;width:100%}.cycle-sheet{grid-template-columns:1fr;padding:18px;gap:16px}.cycle-emblem{grid-template-columns:auto auto;justify-content:center;min-height:0;border-right:0;border-bottom:1px solid #dbd4b5;padding-bottom:16px}.cycle-emblem span{width:70px;height:70px;font-size:28px}.cycle-inherit{grid-template-columns:1fr}.cycle-copy h3{font-size:25px}.save-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cycle-actions{flex-direction:column-reverse;align-items:stretch}.cycle-actions .system-primary{width:100%}}

/* 隐藏的 GM 解锁提示：只在标题页点满柚柚十次后短暂出现，不拦截点击。 */
.gm-unlock-note{position:absolute;left:50%;top:calc(env(safe-area-inset-top,0px) + 20px);z-index:8;transform:translateX(-50%);max-width:min(440px,calc(100% - 32px));padding:10px 20px;border:1px solid #c8c49b;border-radius:999px;background:#fffdf0f2;color:#5b7561;font-size:13px;letter-spacing:1.5px;line-height:1.6;text-align:center;box-shadow:0 8px 24px #45604b21,inset 0 0 0 3px #fffef8a8;backdrop-filter:blur(10px);pointer-events:none;animation:gm-note-in .35s both}
@keyframes gm-note-in{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}
@media(max-width:700px){.gm-unlock-note{top:calc(env(safe-area-inset-top,0px) + 12px);padding:9px 15px;font-size:12px;letter-spacing:1px}}
