body.letters-mode{background:#d8d9b8;color:#3a4e39}body.letters-mode>header{display:none!important}body.letters-mode main{max-width:none;margin:0;padding:0}body.letters-mode main>:not(#lettersRoot){display:none!important}#lettersRoot[hidden]{display:none!important}.letters-top{display:flex!important;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;padding:12px 24px!important;background:#344e3b!important;border-bottom:3px solid #acb080!important;color:#fff0ca;gap:12px}.letters-top button{background:#ede0af;border:2px solid #677b52;color:#42573c;min-height:42px;padding:8px 15px;font-size:14px;border-radius:0;cursor:pointer}.letters-top>span{font-size:15px;letter-spacing:3px}.letters-layout{display:grid;grid-template-columns:40% 1fr;min-height:calc(100svh - 135px);max-width:1440px;margin:auto}.letters-scene{position:sticky;top:69px;align-self:start;height:calc(100svh - 135px);min-height:500px;background:#6c8b63 url('assets/pixel-harbour-lobby-v3.png') 12% 50%/cover;image-rendering:pixelated;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;padding:35px;color:#ffefd0}.letters-scene:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(transparent 20%,#203e2be8)}.letters-place{position:absolute;top:20px;left:20px;background:#2d493ddd;padding:9px 12px;font-size:12px;line-height:1.7;max-width:80%}.letters-chapter-tag{font-size:13px;color:#ecdba9;margin-bottom:12px}.letters-scene h1{font:700 32px/1.5 'Microsoft YaHei',sans-serif;letter-spacing:2px;color:#fff1cc;margin:15px 0}.letters-scene small{font-size:10px;letter-spacing:2px}.letters-scene p{font-size:14px;line-height:1.9;color:#e4e5c7}.letters-portrait{width:70px;height:70px;background:#a3b583;border:3px solid #e6cf95;background-size:cover;image-rendering:pixelated;margin:23px 0 10px}.letters-scene-copy>span{font-size:11px}.letters-page{padding:42px 48px;background:#fff0c7;border-left:4px solid #b1ac78;min-width:0}.letters-page h2{font:700 27px/1.6 'Microsoft YaHei',sans-serif;color:#43583b;margin:20px 0}.letters-page p{font:16px/2 'Microsoft YaHei',sans-serif;color:#4a5741;white-space:pre-wrap}.letters-narrative{min-height:210px}.letters-note{border-left:4px solid #829867;background:#e7e9c0;padding:18px;color:#4b633f;font-size:14px;line-height:1.9;margin:20px 0}.letters-eyebrow{font-size:11px;letter-spacing:3px;color:#8b875d}.letters-primary{background:#698359;color:#fff1cf;border:2px solid #45623e;box-shadow:3px 3px #c6b783;padding:13px 18px;min-height:48px;font:700 14px/1.6 'Microsoft YaHei',sans-serif;cursor:pointer;border-radius:0;margin:12px 8px 12px 0}.letters-audio{background:#f0e3b6;color:#5e754d;border:2px solid #a4ac79;padding:10px 14px;min-height:44px;cursor:pointer;margin:12px 10px 12px 0}.letters-story-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:2px dashed #c2b786;padding-top:18px;margin-top:24px}.letters-story-actions>button:first-child{background:transparent;border:0;color:#77815a;min-height:44px;cursor:pointer}.letters-fine{display:block;font-size:11px!important;line-height:1.8!important;color:#8b8661!important;margin:12px 0}.letters-reading-head{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#8a8d64}.letters-progress{height:4px;background:#e3d8ac;margin-top:15px}.letters-progress i{display:block;background:#8da471;height:4px;transition:width .25s}.letters-tools{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 20px;background:#344e3b;position:sticky;bottom:0;z-index:8}.letters-tools button{background:transparent;border:1px solid #a2b180;color:#f0e9c7;padding:9px 13px;min-height:38px;font-size:12px;cursor:pointer}.letters-tools>span{font-size:10px;color:#c5d0b4;margin-left:15px}.letters-source{background:#fff7dc;border:2px solid #b3b384;padding:20px;font:17px/1.9 Georgia,serif;color:#41523c;margin:20px 0}.letters-options{display:grid;gap:12px;margin:20px 0}.letters-options button{display:flex;align-items:center;gap:13px;text-align:left;padding:15px;background:#f9eecb;border:2px solid #a5ae79;color:#455c3e;font-size:15px;line-height:1.7;cursor:pointer}.letters-options b{color:#7d8f5b}.letters-options button:hover{background:#e3eac1}.letters-feedback{background:#f1dfb9;border-left:4px solid #af845c;padding:16px;margin:16px 0}.letters-feedback.correct{background:#e1e9be;border-color:#75945c}.letters-review{padding:18px;margin:18px 0;background:#fff4d4;border:2px solid #b9b88a;font-size:14px;line-height:1.8}.letters-review small{color:#8a8058}.letters-review button{min-height:42px;background:#e0e8bd;border:2px solid #839b68;color:#4e6b45;padding:8px 14px}.letters-chapter-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.letters-chapter-list button{display:flex;align-items:center;gap:12px;padding:18px;background:#fff0c5;border:2px solid #aab582;text-align:left;color:#495e40;cursor:pointer}.letters-chapter-list button>span{font:24px Georgia;color:#9aa76f}.letters-chapter-list b{font-size:14px}.letters-chapter-list small{display:block;font-size:10px;margin-top:6px;line-height:1.6}.letters-chapter-list em{font-style:normal;font-size:10px;margin-left:auto;white-space:nowrap;color:#8b8f65}.letters-chapter-list button:disabled{opacity:.5;cursor:default}.letters-summary-stars{color:#c59c4d;font-size:30px;letter-spacing:6px}#lettersDraft{display:block;width:100%;box-sizing:border-box}.letters-mode button:focus-visible{outline:3px solid #406e68;outline-offset:3px}.letters-mode button:active{transform:translateY(2px)}
@media(max-width:760px){.letters-top{padding:9px 12px!important}.letters-top>span{font-size:13px;letter-spacing:1px}.letters-top button{padding:8px 10px;font-size:13px}.letters-layout{display:block}.letters-scene{position:relative;top:auto;height:200px;min-height:0;padding:20px;justify-content:end}.letters-place{top:12px;left:14px;padding:5px 8px;font-size:10px}.letters-scene h1{font-size:23px;margin:7px 0}.letters-scene small{display:none}.letters-scene p{font-size:12px;margin:5px 0}.letters-portrait,.letters-scene-copy>span{display:none}.letters-chapter-tag{font-size:10px;margin-bottom:3px}.letters-page{border:0;border-top:3px solid #b5b084;padding:24px 21px;min-height:390px}.letters-page h2{font-size:23px;margin-top:15px}.letters-page p{font-size:16px;line-height:1.95}.letters-narrative{min-height:0}.letters-tools{padding:9px 10px;gap:8px;flex-wrap:wrap}.letters-tools button{font-size:11px;padding:7px 10px}.letters-tools>span{font-size:9px;margin-left:0}.letters-chapter-list{grid-template-columns:1fr}.letters-source{font-size:17px;padding:15px}.letters-options button{font-size:14px}.letters-story-actions .letters-primary{margin-right:0}.letters-primary{font-size:14px}.anime-resources{display:none!important}.anime-left,.anime-events{top:125px}.anime-mission{bottom:153px;width:calc(100% - 34px);max-width:340px}.anime-mission>b{font:700 19px/1.5 'Microsoft YaHei',sans-serif}.anime-mission>span{line-height:1.8;max-width:270px}.anime-adventure b{font-size:20px}.anime-profile em{font-size:9px}.anime-hall button,.letters-mode button{font-family:'Microsoft YaHei',sans-serif}.town-location span{font-family:'Microsoft YaHei',sans-serif}}
@media(prefers-reduced-motion:no-preference){.letters-page{animation:letters-enter .25s ease-out}@keyframes letters-enter{from{opacity:.5;transform:translateY(7px)}to{opacity:1;transform:none}}}
.letters-lamps{margin:20px 0;padding:18px;background:#e2d9ad;border:2px solid #aab17c}.letters-lamps button{min-height:45px;padding:10px 14px;margin:8px;background:#788a70;color:#fff3ce;border:2px solid #4b6648;cursor:pointer}.letters-lamps .lit{background:#f0cf7b;color:#6c552c;box-shadow:0 0 18px #f4ca6477}.letters-last-letter textarea{display:block;width:100%;box-sizing:border-box;background:#fff6d4;border:2px solid #a5ad7b;font:16px/1.8 sans-serif;color:#40553b;padding:14px;margin-top:14px}.letters-primary:disabled{opacity:.5;cursor:default}

.town-audio{padding:16px;border:2px solid #a98d5c;background:#203c3b;color:#fff0cc;margin:12px 0}.town-audio audio{display:block;width:100%;margin:14px 0}.town-audio select{font:inherit;background:#f2e4bd;color:#263b38;padding:8px;border:2px solid #ad8b53}.town-audio details{margin-top:12px}.town-audio summary{cursor:pointer;padding:10px 0}.town-audio .letters-source{white-space:pre-line;line-height:1.8}.town-audio p{line-height:1.7}
