.cp-shell{position:fixed;inset:0;z-index:1000;color:#37593f;background:#e7eddb;font:14px HanweiVietnamese,'Segoe UI',sans-serif;overflow:hidden;overscroll-behavior:contain}.cp-shell[hidden]{display:none}.cp-shell *{box-sizing:border-box}.cp-shell button,.cp-shell input{font:inherit}.cp-shell button{border:1px solid #c5d2b1;border-radius:11px;padding:10px 14px;color:#496b45;background:#eef2e1;cursor:pointer}.cp-shell button:hover{background:#e1ebd0}.cp-shell button:focus-visible,.cp-shell a:focus-visible,.cp-shell input:focus-visible{outline:3px solid #8ca973;outline-offset:3px}.cp-shell button:disabled{cursor:default;opacity:.45}.cp-shell .cp-primary{background:#426b50;color:#fffdf2;border-color:#426b50}.cp-shell .cp-primary:hover{background:#325a40}.cp-shell small{font-size:10px;letter-spacing:.03em;color:#859671}.cp-shell h1,.cp-shell h2,.cp-shell h3{color:#3d5d3f;line-height:1.5;font-weight:600}.cp-shell h1{font-size:24px;margin:6px 0}.cp-shell h2{font-size:19px;margin:9px 0}.cp-shell h3{font-size:15px}.cp-shell p{line-height:1.85}.cp-shell a{color:#6d8b5d}.cp-world{position:relative;width:100%;height:100%;overflow:hidden}.cp-land{position:absolute;inset:0;background-position:center;background-size:cover}.cp-land:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(#f5f4e520,transparent 60%,#e4e8cd35)}.cp-building{position:absolute;left:50%;bottom:44%;width:min(48vw,650px);height:55%;transform:translateX(-50%)}.cp-building>img,.cp-building>svg{height:100%;width:100%;object-fit:contain;object-position:center bottom}.cp-tree{position:absolute;left:1%;top:21%;height:37%;opacity:.8}.cp-top{position:absolute;z-index:10;top:17px;left:20px;right:20px;display:flex;align-items:flex-start;gap:8px;pointer-events:none}.cp-top>*{pointer-events:auto}.cp-top>div{background:#fffaf0ee;border:1px solid #d0d9bd;border-radius:18px;padding:12px 20px;max-width:650px}.cp-top h1{font-size:20px;margin:3px 0}.cp-top>div>span{color:#8b9a78;font-size:10px}.cp-top>button:first-of-type{margin-left:auto}.cp-top>button{background:#fffaf0e8;font-size:11px}.cp-person,.cp-goat,.cp-resident{position:absolute;z-index:5;transform:translate(-50%,-90%);pointer-events:none}.cp-person{width:106px;height:150px}.cp-person>.player-rig,.cp-resident>.player-rig{width:100%;height:100%;overflow:visible}.cp-goat{width:125px;height:144px}.cp-resident{left:58%;top:54%;height:138px;width:98px}.cp-resident>span{display:block;text-align:center;background:#fff9e8cb;border-radius:7px;color:#6f845b;padding:3px;font-size:9px;white-space:nowrap}.cp-route{position:absolute;inset:0;z-index:4;pointer-events:none}.cp-route>svg{position:absolute;width:100%;height:100%;opacity:.3}.cp-route path{stroke:#d9ddbb;stroke-width:.6;fill:none;stroke-dasharray:1 1}.cp-route>button{position:absolute;transform:translate(-50%,15px);pointer-events:auto;white-space:nowrap;padding:5px 10px;border-radius:15px;background:#fff9e8c9;color:#7c9166;font-size:9px}.cp-route>button.here{border-color:#8ca36c;background:#e6efd5}.cp-objective{position:absolute;left:22px;top:145px;width:180px;background:#fffaf0e8;border:1px solid #d7dfc7;border-radius:16px;padding:15px}.cp-objective p{font-size:12px;margin:6px 0}.cp-objective>span{font-size:10px;color:#91a078}.cp-device{position:absolute;left:22px;bottom:25px;z-index:25;display:flex;flex-direction:column;gap:6px;min-width:180px;text-align:left;background:#fffbefed!important}.cp-device>b{font-size:11px;font-weight:500}.cp-panel{position:absolute;z-index:20;right:22px;bottom:24px;width:365px;max-height:calc(100% - 128px);overflow:auto;overscroll-behavior:contain;padding:22px;background:#fffaf1f5;border:1px solid #c8d5b8;border-radius:20px;box-shadow:0 7px 0 #6b825014;scrollbar-width:thin}.cp-panel>button.cp-primary,.cp-panel>button.cp-next{display:block;width:100%;margin:14px 0 0}.cp-panel p{font-size:12px}.cp-speaker{display:flex;align-items:center;gap:8px;justify-content:space-between;font-size:11px;color:#82946e}.cp-speaker button{font-size:9px;padding:5px 9px}.cp-cn{font:22px/1.8 'Noto Sans SC','Microsoft YaHei',sans-serif!important;color:#375a3d;background:#eef2df;border:1px solid #dde4cd;padding:12px 14px;border-radius:12px}.cp-translation{color:#7d9269;font-size:11px!important;border-left:2px solid #afc095;padding-left:10px}.cp-panel>.cp-feedback{min-height:18px;margin:10px 0 0;color:#b27949;font-size:11px}.cp-panel>.cp-feedback.correct{color:#6c8b54}.cp-tabs{display:flex;gap:7px;margin-bottom:18px}.cp-tabs button{flex:1;padding:8px}.cp-tabs [aria-pressed=true]{background:#dce9ca;border-color:#a5bb8d}.cp-listen{display:block;width:100%;font-size:15px!important;padding:18px!important}.cp-choices{border:0;padding:0;margin:12px 0;display:grid;gap:7px}.cp-choices>label{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border:1px solid #d4dfc4;border-radius:11px;background:#f5f5e9;cursor:pointer;font-size:12px;line-height:1.65}.cp-choices input{accent-color:#6d8c53;flex-shrink:0;margin-top:4px}.cp-choices label:has(input:checked){background:#e4edd5;border-color:#91ab76}.cp-access{font-size:10px;margin:13px 0;color:#8a9c74}.cp-access summary{cursor:pointer}.cp-access p{font-family:'Microsoft YaHei',sans-serif}.cp-pinyin{font-size:12px!important;color:#859b6d}.cp-record-row{display:flex;gap:6px;margin:12px 0}.cp-record-row button{font-size:11px;flex:1}.cp-help{font-size:10px!important;color:#8d9c7c}.cp-check{font-size:11px;line-height:1.8;display:flex;align-items:flex-start;gap:8px;margin:14px 0}.cp-check input{margin-top:4px;accent-color:#6e8b59}.cp-panel audio{width:100%;margin:10px 0}.cp-reading{font:17px/2 'Microsoft YaHei',sans-serif;background:#eef2df;padding:15px;border-radius:13px;color:#4f7047}.cp-token-answer{display:flex;gap:5px;flex-wrap:wrap;min-height:65px;background:#eaf0dc;padding:10px;border:1px dashed #a7bb8d;border-radius:12px;margin:15px 0}.cp-token-answer button,.cp-token-bank button{font:16px 'Microsoft YaHei',sans-serif;padding:8px 10px}.cp-token-bank{display:flex;flex-wrap:wrap;gap:6px}.cp-cp-item{border-top:1px solid #dbe3cc;padding:12px 0}.cp-cp-item h3{font-size:13px;margin:3px 0 12px}.cp-cp-item p[lang]{font:16px/1.9 'Microsoft YaHei',sans-serif}.cp-cp-item input[type=text],#cp-final-writing{width:100%;border:1px solid #afc29a;border-radius:11px;background:#fffff8;padding:13px;color:#3d5d42}.cp-result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:15px 0}.cp-result-grid span{padding:12px;background:#e8efdb;border-radius:12px;font-size:11px;color:#849771}.cp-result-grid b{display:block;color:#4e7046;font-weight:500;font-size:14px;margin-top:5px}.cp-word-panel{position:absolute;z-index:30;left:22px;bottom:100px;width:330px;max-height:65%;overflow:auto;padding:18px;background:#fffbf1f5;border:1px solid #c2d0af;border-radius:18px}.cp-word-panel>header{display:flex;align-items:center;justify-content:space-between;gap:8px}.cp-word-panel h2{font-size:16px}.cp-word-panel>p{font-size:10px;color:#8da077}.cp-words{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:13px 0}.cp-words>button{display:flex;flex-direction:column;align-items:flex-start;padding:10px;gap:5px}.cp-words b{font:20px 'Microsoft YaHei',sans-serif}.cp-words span{font-size:11px;color:#718b60}.cp-words small{font-size:10px;color:#849572}.cp-words em{font-style:normal;font-size:8px;color:#9bab89}.cp-note{position:absolute;left:50%;bottom:18px;z-index:35}.cp-library-mode{overflow:auto;background:linear-gradient(#e4ebd9ed,#f4f4e8ed),url('assets/town/atlas-ground.webp') center/cover fixed}.cp-library{max-width:1180px;margin:auto;padding:30px 24px 70px}.cp-library>header{display:flex;justify-content:space-between;align-items:flex-start;gap:25px;margin-bottom:28px}.cp-library>header p{font-size:12px;color:#8b9a79}.cp-library .cp-close{white-space:nowrap;font-size:12px}.cp-library-hero{display:flex;gap:32px;align-items:center;padding:25px 40px;background:#fffaf0d9;border:1px solid #d3dec1;border-radius:24px}.cp-library-hero img{width:150px;height:180px;object-fit:contain}.cp-library-hero h2{font-size:24px}.cp-library-hero p{font-size:13px;color:#7d926b;max-width:700px}.cp-library-hero a{display:inline-block;font-size:11px;margin:15px}.cp-scope{font-size:11px;margin:20px 8px;color:#879a73;line-height:1.9}.cp-act{margin:40px 0}.cp-act>header{display:flex;align-items:center;gap:40px;margin:15px 5px}.cp-act>header>div{flex:1}.cp-act>header p{font-size:12px;color:#8a9d75;max-width:450px}.cp-act h2{font-size:22px}.cp-episodes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.cp-episodes>article{display:flex;flex-direction:column;padding:22px;border:1px solid #d7e1c6;border-radius:18px;background:#fffaf0dc}.cp-episodes article.open{border-color:#9fb982;background:#f5f9e9}.cp-episodes article.done{background:#e9f1dc}.cp-episodes article.locked{background:#f5f4e9c9}.cp-episodes h3{font-size:17px;margin:10px 0 8px}.cp-episodes article>p{font-size:12px;color:#8b9b79;flex:1}.cp-episodes article>span{font-size:10px;color:#8c9d77}.cp-episodes article>div{display:flex;align-items:center;gap:4px;margin-top:16px}.cp-episodes button{font-size:11px;padding:8px 10px}.cp-shell .cp-text-btn{background:transparent;border-color:transparent;font-size:10px}.cp-library footer{font-size:11px;text-align:center;color:#91a17e;margin-top:50px}.cp-preview{max-width:850px;height:100%;overflow:auto;margin:auto;padding:45px 30px 100px;scrollbar-width:thin}.cp-preview blockquote{font:20px/1.8 'Microsoft YaHei',sans-serif;border-left:3px solid #a6ba8f;padding:10px 20px;background:#f8faed;border-radius:0 12px 12px 0;margin:20px 0}.cp-preview blockquote small{display:block;font:12px/1.8 HanweiVietnamese,sans-serif}.cp-preview>h2{margin-top:35px}.cp-preview>p{line-height:1.9;color:#7c9469}.cp-preview .cp-words{grid-template-columns:repeat(3,1fr)}.cp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1100px){.cp-world .cp-route{width:100%}.cp-building{left:43%}.cp-resident{left:55%}}
@media(max-width:1099px){.cp-panel{left:50%;right:auto;bottom:96px;transform:translateX(-50%);width:min(600px,calc(100% - 26px));max-height:35%;padding:18px}.cp-world>.cp-device{bottom:20px;left:20px}.cp-person{width:90px;height:127px}.cp-goat{width:105px;height:121px}.cp-resident{height:115px;width:81px;left:88%;top:45%}.cp-building{bottom:52%;width:70vw;height:43%}.cp-route>button{font-size:8px;padding:4px 7px}.cp-objective{top:135px;width:155px;padding:12px}.cp-top h1{font-size:17px}.cp-top>div{max-width:65%}.cp-top button{font-size:10px;padding:8px}.cp-episodes{grid-template-columns:repeat(2,1fr)}}
@media(max-width:699px){.cp-top{top:12px;left:12px;right:12px;gap:5px;flex-wrap:wrap}.cp-top>div{max-width:none;width:100%;padding:10px 14px;border-radius:15px}.cp-top h1{font-size:16px}.cp-top>button:first-of-type{margin-left:auto}.cp-top>button{padding:6px 10px;font-size:9px}.cp-top small{font-size:8px}.cp-top>div>span{font-size:9px}.cp-panel{bottom:90px;max-height:36%;border-radius:17px;padding:16px}.cp-panel h2{font-size:16px}.cp-panel p{font-size:11px}.cp-panel>.cp-feedback{font-size:10px}.cp-panel .cp-cn{font-size:19px!important;padding:10px}.cp-panel button{font-size:11px;padding:9px 11px}.cp-panel .cp-choices label{font-size:11px;padding:9px}.cp-objective{top:177px;left:12px;width:130px;padding:9px;opacity:.92}.cp-objective p{font-size:10px;margin:3px 0}.cp-objective small{font-size:7px}.cp-objective span{font-size:8px}.cp-person{width:81px;height:115px}.cp-goat{width:85px;height:100px}.cp-resident{height:100px;width:70px;top:45%;left:88%}.cp-resident>span{font-size:7px}.cp-building{bottom:52%;height:37%;width:85vw}.cp-tree{top:25%;left:-8%;height:25%}.cp-world>.cp-device{left:12px;bottom:16px;min-width:0;width:calc(100% - 24px);border-radius:14px;padding:10px 14px;flex-direction:row;align-items:center;justify-content:space-between}.cp-device small{font-size:8px}.cp-device b{font-size:9px}.cp-route>button{padding:4px 5px;font-size:7px;transform:translate(-50%,12px)}.cp-word-panel{left:12px;right:12px;width:auto;bottom:70px;max-height:62%}.cp-library{padding:20px 14px 70px}.cp-library>header{gap:10px}.cp-library h1{font-size:23px}.cp-library>header p{font-size:11px}.cp-library .cp-close{font-size:9px;padding:8px}.cp-library-hero{padding:18px;gap:12px;border-radius:18px;align-items:flex-start}.cp-library-hero img{width:75px;height:100px}.cp-library-hero h2{font-size:18px}.cp-library-hero p{font-size:11px}.cp-library-hero .cp-primary{font-size:11px}.cp-library-hero a{font-size:9px;margin:12px 0}.cp-act>header{display:block}.cp-act>header p{font-size:11px}.cp-act h2{font-size:20px}.cp-episodes{grid-template-columns:1fr;gap:10px}.cp-episodes article{padding:18px}.cp-episodes article>p{margin:3px 0 12px}.cp-episodes h3{font-size:16px}.cp-preview{padding:25px 18px 80px}.cp-preview h1{font-size:24px}.cp-preview .cp-words{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){.cp-shell *{animation:none!important;transition:none!important}}

.tx-episodes h3{font-size:12px;color:#6c875a}.tx-episodes .g-btn{line-height:1.7;text-align:left}.tx-episodes small{font-size:8px;color:#8fa279}

.cp-world{animation:cp-arrive .5s ease-out}.cp-gift{background:#e8efd9;border-left:3px solid #a0b986;padding:12px;border-radius:0 10px 10px 0;color:#688850;font-size:11px!important}.cp-town-memory{fill:#6a8b50;font:30px HanweiVietnamese,sans-serif;paint-order:stroke;stroke:#fff9e8;stroke-width:5px}@keyframes cp-arrive{from{opacity:.15}to{opacity:1}}@media(prefers-reduced-motion:reduce){.cp-world{animation:none}}

.cp-resident{z-index:3}

.cp-ink{font-size:11px;color:#82966e;margin-top:20px}.cp-ink summary{cursor:pointer}.cp-ink-model{font:22px/1.8 Microsoft YaHei,sans-serif!important;color:#527448;letter-spacing:3px}.cp-ink canvas{display:block;width:100%;height:auto;border:1px solid #bdcda9;border-radius:10px;touch-action:none;margin:10px 0;background:#fffdf5}.cp-ink>div{display:flex;gap:8px}.cp-ink>div button{font-size:10px;padding:7px 10px}
