.lantern-city-loading[data-v-ac441ecc],.lantern-city-error[data-v-ac441ecc],.lantern-city-caption[data-v-ac441ecc],.lantern-city-view[data-v-ac441ecc]{z-index:4}.lantern-city[data-v-ac441ecc]{height:100%;min-height:0;position:relative;background:transparent;overflow:hidden;pointer-events:none}.lantern-city iframe[data-v-ac441ecc]{border:0;width:100%;height:100%;display:block}.lantern-city-caption[data-v-ac441ecc]{position:absolute;left:20px;top:18px;display:flex;align-items:center;gap:8px;background:#fffdf4df;border:1px solid #fff8;padding:9px 13px;border-radius:22px;color:#4d6354;font-size:12px;pointer-events:none}.lantern-city-dot[data-v-ac441ecc]{width:6px;height:6px;background:#608269;border-radius:50%}.lantern-city-view[data-v-ac441ecc]{pointer-events:auto;position:absolute;right:16px;bottom:16px;border:1px solid #fefcf088;background:#fffdf1e8;color:#455e4c;border-radius:12px;min-height:44px;padding:0 16px;font:inherit;font-size:12px}.lantern-city-error[data-v-ac441ecc]{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;background:#e8e9dadf;color:#576c5c}.lantern-city-error button[data-v-ac441ecc]{pointer-events:auto;min-height:44px;padding:0 18px;border:1px solid #c3ccba;border-radius:10px;background:#fffcf0;color:inherit}.lantern-city-loading[data-v-ac441ecc]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;padding:20px;background:linear-gradient(transparent 45%,#203a3b55),url(/codecity/song-city.webp) center/cover;color:#355746}.lantern-city-load-card[data-v-ac441ecc]{width:min(290px,100%);padding:14px 18px;background:#fffffff0;border:1px solid #fff;border-radius:10px;box-shadow:0 5px 22px #203a3b18;display:grid;gap:9px}.lantern-city-load-card strong[data-v-ac441ecc]{font-size:13px;font-weight:600}.lantern-city-load-card progress[data-v-ac441ecc]{width:100%;height:5px;border:0;border-radius:4px;overflow:hidden;accent-color:#4c8068}.lantern-city-load-card progress[data-v-ac441ecc]::-webkit-progress-bar{background:#e0e8e2}.lantern-city-load-card progress[data-v-ac441ecc]::-webkit-progress-value{background:#4c8068}.lantern-city-load-card p[data-v-ac441ecc],.lantern-city-error p[data-v-ac441ecc]{font-size:11px;margin:0;color:#6b8073;font-variant-numeric:tabular-nums}.lantern-city-loading[data-v-ac441ecc]{align-items:center;pointer-events:none}.lantern-city-embedded .lantern-city-load-card[data-v-ac441ecc]{position:absolute;top:34%;left:calc(50% + 70px);transform:translate(-50%,-50%)}.lantern-city-embedded .lantern-city-error[data-v-ac441ecc]{place-content:start center;padding-top:160px;padding-left:280px;padding-right:120px;gap:12px}@media(max-width:760px){.lantern-city-embedded .lantern-city-load-card[data-v-ac441ecc]{top:420px;left:50%;max-width:calc(100% - 36px)}.lantern-city-embedded .lantern-city-error[data-v-ac441ecc]{padding:365px 20px 20px}}.codecity-world{min-height:100dvh;background:#0c171c;color:#f4eee2;font-family:Microsoft YaHei,sans-serif;padding:0 clamp(18px,3.05vw,60px) 22px}.codecity-world button{box-shadow:none;font-family:inherit;color:inherit}.codecity-world button:focus-visible,.world-showcase:focus-visible{outline:2px solid #efd097;outline-offset:4px}.world-header{display:flex;align-items:center;gap:42px;min-height:90px;border-bottom:1px solid #e4e3d71f}.world-brand{display:flex;gap:10px;align-items:center;font:32px Georgia,serif;color:#f2ebdb;text-decoration:none;letter-spacing:-1.5px}.world-brand svg{width:36px;height:42px}.world-header nav{display:flex;gap:26px}.world-header nav button{border:0;background:transparent;min-height:44px;padding:10px 0;border-radius:0;color:#b4bfc1;font-size:13px}.world-header nav button[aria-current]{color:#f5dcad}.world-account{margin-left:auto;display:flex;gap:16px;align-items:center;font-size:12px;color:#ccd8d5}.world-account button{border:1px solid #f4eee02e;background:transparent;min-height:44px;padding:8px 14px;border-radius:3px}.world-heading{display:flex;justify-content:space-between;align-items:end;padding:26px 0 24px}.world-heading p{margin:0 0 9px;font-size:11px;letter-spacing:2px;color:#b8a47f}.world-heading h1{font:28px SimSun,serif;letter-spacing:3px;margin:0}.world-heading>span{font-size:11px;color:#8f9fa5;letter-spacing:2px}.world-showcase{position:relative;isolation:isolate;width:100%;min-width:0;height:clamp(460px,40vw,760px);overflow:hidden;border:1px solid #d9d1b522;background:#14252b;border-radius:3px}.world-poster{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;z-index:-2}.world-poster-shade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,#031018c4,transparent 63%),linear-gradient(0deg,#041219b8,transparent 47%,#05151c30)}.world-poster-top{position:absolute;inset:24px 28px auto;display:flex;justify-content:space-between;align-items:center;font:13px Georgia,serif;letter-spacing:2px}.world-state{padding:7px 12px;border:1px solid #d8d8c451;background:#0a161dc4;font:11px Microsoft YaHei,sans-serif;letter-spacing:2px}.world-state.is-open{color:#f2d397;border-color:#d5b57e7a}.world-destination{position:absolute;left:clamp(25px,4vw,64px);bottom:35px;width:min(390px,48%);text-shadow:0 2px 14px #00101588}.world-subject{color:#dfc9a6;font-size:11px;letter-spacing:4px;margin:0 0 14px}.world-destination h2{font:clamp(35px,4vw,60px) "SimSun",serif;letter-spacing:7px;margin:0 0 21px}.world-description{font-size:12px;line-height:2;color:#e0e5e1;max-width:340px;margin:0 0 20px}.world-progress{display:flex;align-items:center;gap:14px;font-size:11px;color:#ccd6d1}.world-progress progress{width:80px;height:3px;accent-color:#d5b776}.world-enter{display:flex;justify-content:space-between;align-items:center;width:225px;min-height:48px;margin-top:18px;background:#dbc397!important;color:#16272d!important;border:1px solid #e8d3a6;border-radius:2px;font-size:13px;padding:10px 18px}.world-enter:hover{background:#eed8ae!important}.world-enter span{font-size:22px}.world-planning{font-size:11px;color:#cad2cd;border-top:1px solid #b9c4ba55;padding-top:15px;margin-bottom:0}.world-concept-label{position:absolute;right:28px;bottom:23px;font-size:10px;color:#d5d8d2;letter-spacing:2px;text-shadow:0 1px 5px #000}.world-poster-error{position:absolute;right:24px;top:70px;font-size:12px}.world-gallery-bar{display:flex;align-items:center;justify-content:space-between;margin:16px 0 12px;font-size:11px;color:#a9b6b9;letter-spacing:2px}.world-paging{display:flex;align-items:center;gap:14px}.world-paging span{font:12px Georgia,serif;letter-spacing:2px}.world-paging button{min-width:44px;min-height:44px;border:1px solid #bec9c32f;background:transparent;border-radius:2px;padding:6px;font-size:18px}.world-paging button:disabled{opacity:.3;cursor:default}.world-city-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;list-style:none;margin:0;padding:0}.world-city-list li{min-width:0}.world-city-list button{position:relative;width:100%;padding:0;overflow:hidden;display:block;aspect-ratio:2.15;min-height:112px;border:1px solid #d9d1b52b;border-radius:2px;background:#17282d;text-align:left}.world-city-list button[aria-pressed=true]{border-color:#e5c68e;box-shadow:0 0 0 1px #e5c68e}.world-city-list button:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(transparent 15%,#041119d9)}.world-city-list img{display:block;width:100%;height:100%;object-fit:cover;opacity:.78;transition:opacity .2s}.world-city-list button:hover img,.world-city-list button[aria-pressed=true] img{opacity:1}.world-city-caption{position:absolute;bottom:17px;left:18px;right:16px;z-index:1;display:flex;gap:11px;align-items:baseline;white-space:nowrap}.world-city-caption small{font:12px Georgia,serif;color:#d3bb96}.world-city-caption strong{font:19px SimSun,serif;letter-spacing:2px}.world-city-caption em{font:10px Microsoft YaHei,sans-serif;color:#c0ccc7;margin-left:auto;font-style:normal}.world-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:23px;padding-top:14px;border-top:1px solid #e4e3d71f;font-size:11px;color:#8e9ea4}.world-training{background:transparent;border:0;min-height:44px;font-size:12px;color:#d6d9c9!important;letter-spacing:2px}.world-training span{margin-left:18px}.welcome-art:before{background-image:url(/codecity/posters-v1/river.webp);background-position:65% center}.welcome-art:after{background:linear-gradient(180deg,#10252e66,#10252e11 40%,#10252ef0)}.welcome-city-name h1{font-size:clamp(30px,3.3vw,52px);line-height:1.6;letter-spacing:4px}.welcome-art{background:#102a31}@media(max-width:1050px){.world-header{gap:24px}.world-header nav{gap:16px}.world-account>span{display:none}.world-city-caption{left:12px;right:10px;gap:8px;flex-wrap:wrap;bottom:13px}.world-city-caption strong{font-size:17px}.world-city-caption em{width:100%;margin-left:22px}.world-city-list{gap:12px}.world-destination{width:42%}}@media(max-width:700px){.world-header{flex-wrap:wrap;gap:8px;padding:16px 0 8px;min-height:0}.world-brand{font-size:28px}.world-brand svg{width:29px;height:34px}.world-header nav{order:3;width:100%;justify-content:space-between;gap:8px}.world-header nav button{font-size:12px}.world-account{margin-left:auto}.world-heading{padding:24px 0 20px}.world-heading h1{font-size:24px}.world-heading>span{display:none}.world-showcase{height:570px}.world-poster{object-position:66% center}.world-poster-shade{background:linear-gradient(0deg,#041119fa 3%,#041119c9 35%,transparent 75%,#04111955)}.world-poster-top{inset:18px 18px auto}.world-destination{left:24px;right:24px;bottom:40px;width:auto}.world-destination h2{font-size:39px;margin-bottom:16px;letter-spacing:5px}.world-description{font-size:12px;line-height:1.9;max-width:310px;margin-bottom:16px}.world-subject{margin-bottom:12px}.world-concept-label{font-size:9px;bottom:13px;right:17px}.world-enter{width:100%;margin-top:16px}.world-gallery-bar{letter-spacing:1px;margin-top:13px}.world-city-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.world-city-list button{aspect-ratio:1.6;min-height:105px}.world-city-caption strong{font-size:17px;letter-spacing:1px}.world-city-caption{bottom:12px}.world-footer{flex-wrap:wrap;margin-top:20px;gap:2px}.world-footer>span{font-size:10px}.world-training{padding-left:0}.world-poster-error{left:20px;right:20px;top:68px}.world-paging{gap:10px}}@media(prefers-reduced-motion:reduce){.world-city-list img{transition:none}}.city-scene-host[data-v-59c40dc6]{position:fixed;z-index:1;overflow:hidden;pointer-events:auto;background:#243d3d}.city-scene-host iframe[data-v-59c40dc6]{display:block;width:100%;height:100%;border:0}.class-tasks[data-v-9ca9cee0]{margin-top:30px}.class-tasks>h2[data-v-9ca9cee0]{font-size:21px;margin:0 0 18px}.class-task-grid[data-v-9ca9cee0]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.class-task-grid article[data-v-9ca9cee0]{background:#fff;border:1px solid #dce6f3;border-radius:16px;padding:22px}.class-task-grid header[data-v-9ca9cee0]{display:flex;gap:12px;align-items:start;justify-content:space-between}.class-task-grid h3[data-v-9ca9cee0]{font-size:17px;margin:0;overflow-wrap:anywhere}.class-task-grid header>span[data-v-9ca9cee0]{white-space:nowrap;font-size:12px;color:#6680a1}.class-task-grid p[data-v-9ca9cee0],.task-empty[data-v-9ca9cee0]{color:#7b8fa8;font-size:12px}.class-task-levels[data-v-9ca9cee0]{display:grid;gap:8px;margin-top:18px}.class-task-levels button[data-v-9ca9cee0]{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;padding:12px 14px;min-height:46px;background:#f5f8fd;border:1px solid #e4ebf5;border-radius:9px}.class-task-levels span[data-v-9ca9cee0]{font-size:13px}.class-task-levels small[data-v-9ca9cee0]{font-size:11px;color:#3777c9;white-space:nowrap}.class-task-levels small.done[data-v-9ca9cee0]{color:#39806b}@media(max-width:760px){.class-task-grid[data-v-9ca9cee0]{grid-template-columns:1fr}.class-task-grid article[data-v-9ca9cee0]{padding:18px}}.world-room[data-v-d354cd73]{max-width:1300px;margin:auto;color:#214559}.world-room header[data-v-d354cd73]{display:flex;align-items:center;gap:24px;margin-bottom:32px}.world-room h1[data-v-d354cd73]{font-size:28px}.world-room h2[data-v-d354cd73]{font-size:22px;margin:28px 0 16px}.world-room p[data-v-d354cd73]{line-height:1.8;color:#627986}.world-room button[data-v-d354cd73]{min-height:44px;padding:10px 18px;border-radius:12px;border:1px solid #c6dce0;background:#f5faf9;color:#245669;cursor:pointer}.world-room button[data-v-d354cd73]:disabled{opacity:.6;cursor:default}.display-stand[data-v-d354cd73]{display:flex;gap:40px;align-items:center;border:1px solid #bdd7d9;border-radius:28px;padding:35px;background:radial-gradient(ellipse at 20% 40%,#e5f5ef,#d3e9eb)}.stand-pedestal[data-v-d354cd73]{width:210px;flex-shrink:0}.stand-pedestal svg[data-v-d354cd73]{width:100%;fill:#5b8c90;stroke:#e9f8f4;stroke-width:3}.stand-pedestal rect[data-v-d354cd73]{fill:#244c63}.stand-pedestal path[data-v-d354cd73]:last-child{fill:none;stroke:#dfc683;stroke-width:4}.display-stand button+button[data-v-d354cd73]{margin-left:12px}.room-muted[data-v-d354cd73]{font-size:13px}.room-projects[data-v-d354cd73]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.room-projects article[data-v-d354cd73],.room-assignment[data-v-d354cd73]{padding:24px;border:1px solid #d6e4e7;border-radius:20px;background:#fff}.room-projects h3[data-v-d354cd73]{overflow-wrap:anywhere}.room-projects ul[data-v-d354cd73]{padding:0;list-style:none}.room-projects li[data-v-d354cd73]{margin:6px 0}.room-projects li button[data-v-d354cd73]{width:100%;text-align:left}.room-assignment[data-v-d354cd73]{margin-bottom:16px}@media(max-width:850px){.room-projects[data-v-d354cd73]{grid-template-columns:1fr 1fr}}@media(max-width:600px){.room-projects[data-v-d354cd73]{grid-template-columns:1fr}.display-stand[data-v-d354cd73]{flex-direction:column;padding:20px;gap:8px}.stand-pedestal[data-v-d354cd73]{width:150px}}.world-mission[data-v-cc1dac31]{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,1.6fr);gap:30px;margin:20px 0 28px;padding:28px;border:1px solid #cddcd4;border-radius:24px;background:#fffef7;color:#244a5b}.mission-intro[data-v-cc1dac31]{border-right:1px solid #dfe5d9;padding-right:28px}.mentor-name[data-v-cc1dac31]{font-size:13px;color:#657d69}.world-mission h2[data-v-cc1dac31]{font-size:23px;line-height:1.4;margin:12px 0}.world-mission p[data-v-cc1dac31]{font-size:14px;line-height:1.85;margin:10px 0;color:#5c7380}.world-mission button[data-v-cc1dac31]{min-height:44px;padding:10px 17px;border-radius:10px;font:inherit;cursor:pointer}.world-mission button[data-v-cc1dac31]:disabled{opacity:.55;cursor:default}.world-mission button[data-v-cc1dac31]:focus-visible,.world-mission textarea[data-v-cc1dac31]:focus-visible{outline:3px solid #ba9a52;outline-offset:3px}.mission-work[data-v-cc1dac31]{min-width:0}.mission-work ol[data-v-cc1dac31]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:0 0 22px;gap:10px}.mission-work li[data-v-cc1dac31]{border-top:3px solid #dbe4dd;padding-top:10px;line-height:1.6;color:#6f828a;font-size:13px}.mission-work li span[data-v-cc1dac31]{display:block;margin-bottom:3px;font-size:12px}.mission-work li.current[data-v-cc1dac31]{border-color:#bf9557;color:#70511f}.mission-work li.finished[data-v-cc1dac31]{border-color:#518d78;color:#386854}.mission-primary[data-v-cc1dac31]{border:0;background:#315e69;color:#fff}.mission-work form label[data-v-cc1dac31]{display:block;font-size:15px;font-weight:600;margin:18px 0 10px}.mission-work textarea[data-v-cc1dac31]{display:block;box-sizing:border-box;width:100%;resize:vertical;min-height:95px;border:1px solid #c6d7d6;border-radius:10px;padding:12px;color:#244a5b;font:inherit;font-size:14px;line-height:1.8;background:#fff}.reflection-footer[data-v-cc1dac31]{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:10px}.reflection-footer small[data-v-cc1dac31]{color:#73868b;font-size:12px}.mission-hints[data-v-cc1dac31]{margin-top:15px}.hint-toggle[data-v-cc1dac31]{border:0;background:transparent;color:#55777e;padding-left:0!important;font-size:13px!important}.mission-hints article[data-v-cc1dac31]{border-left:3px solid #c4b27e;background:#f4f5eb;padding:12px 16px;margin-top:8px;border-radius:0 10px 10px 0}.mission-hints h3[data-v-cc1dac31]{font-size:14px;margin:0}.mission-hints p[data-v-cc1dac31]{margin-bottom:0}.completion-mark[data-v-cc1dac31]{display:inline-block;margin-top:14px;padding:8px 14px;background:#e4efe4;border-radius:9px;color:#3c6d56;font-size:14px}.mission-evidence h3[data-v-cc1dac31]{font-size:18px;margin:0}.mission-evidence blockquote[data-v-cc1dac31]{white-space:pre-wrap;overflow-wrap:anywhere;margin:16px 0;padding:14px 18px;border-left:3px solid #b9cbb9;background:#f0f5ee;font-size:14px;line-height:1.8}.mission-evidence time[data-v-cc1dac31],.mission-note[data-v-cc1dac31]{font-size:12px!important;color:#76868c!important}.selected-evidence strong[data-v-cc1dac31]{overflow-wrap:anywhere}@media(max-width:850px){.world-mission[data-v-cc1dac31]{grid-template-columns:1fr;gap:20px;padding:22px}.mission-intro[data-v-cc1dac31]{border:0;padding:0}.mission-intro p[data-v-cc1dac31]{margin-bottom:0}}@media(max-width:480px){.mission-work ol[data-v-cc1dac31]{grid-template-columns:1fr 1fr}.reflection-footer[data-v-cc1dac31]{align-items:start;flex-direction:column}}*{box-sizing:border-box}body{margin:0;background:#f6f7f2;color:#273b32;font:15px/1.55 Microsoft YaHei,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;min-height:44px;border:1px solid #d9e1d8;background:#fff;border-radius:10px;padding:9px 17px;color:inherit}button:disabled{opacity:.55;cursor:default}button:hover:not(:disabled){border-color:#397965}button:focus-visible,a:focus-visible{outline:3px solid #cfaa58;outline-offset:3px}input:not([type=checkbox]):not([type=radio]),select,textarea{padding:11px;border:1px solid #cdd8ce;border-radius:8px;width:100%;background:#fff;color:inherit}label{display:grid;gap:8px}h1{font-size:30px;letter-spacing:1px}h2{font-size:22px}h1,h2,h3{line-height:1.35}p{color:#627269}.primary{background:#356f59;color:#fff;border-color:#356f59}.brand{font-size:28px;font-weight:700;letter-spacing:4px;text-decoration:none;color:#2e604c;background:none;border:0;text-align:left;padding:0}.welcome{display:grid;grid-template-columns:1.4fr 1fr;min-height:100vh}.welcome-art{padding:48px;background:#e9efdf;display:flex;flex-direction:column;justify-content:center}.welcome-art img{width:100%;max-height:50vh;object-fit:cover;border-radius:24px;margin-top:32px}.welcome-art h1{max-width:500px}.welcome-features{display:flex;gap:24px}.login{align-self:center;width:min(440px,100%);padding:40px;margin:auto}.login form{display:grid;gap:20px}.text-button{border:0;background:none;margin-top:20px}.shell{display:flex;min-height:100vh}.sidebar{width:220px;flex-shrink:0;background:#fff;border-right:1px solid #e0e6dd;padding:32px 22px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar nav{display:grid;gap:8px;margin-top:46px}.sidebar nav button{text-align:left;border:0;background:none}.sidebar nav button.active{background:#eaf1e6;color:#306b53;font-weight:700}.account{margin-top:auto;display:grid;gap:7px}.account span{font-size:13px;color:#788579}.workspace{width:calc(100% - 220px);max-width:1600px;padding:35px 48px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.page-heading h1{margin:0}.page-heading>div{display:flex;gap:8px;flex-wrap:wrap}.hero{display:grid;grid-template-columns:1fr 1.4fr;align-items:center;border-radius:22px;background:#e5ecda;overflow:hidden;min-height:300px}.hero>div{padding:35px}.hero h2{font-size:32px}.hero img{width:100%;height:310px;object-fit:cover}.stats,.creation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:24px 0}.stats article{display:flex;gap:20px;align-items:center;padding:22px;background:#fff;border-radius:12px}.stats strong{font-size:32px}.stats span{color:#778277}.creation-grid button{display:grid;text-align:left;padding:28px;gap:14px;background:#fff}.creation-grid b{font-size:23px}.creation-grid span{color:#6e7b70}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.project-grid>button,.project-grid>article{background:#fff;border:1px solid #e1e7dc;border-radius:12px;padding:26px;text-align:left}.project-grid time,.project-grid>button>span{color:#71806e;font-size:13px}.empty{padding:32px;grid-column:1/-1}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.course-grid article{background:#fff;border-radius:16px;overflow:hidden}.course-grid img{width:100%;height:210px;object-fit:cover}.course-grid article>div{padding:24px}.course-grid ul{list-style:none;padding:0}.course-grid li button{border:0;padding-left:0;min-height:44px}.inline-form{display:flex;gap:20px;align-items:end;margin-bottom:25px}.inline-form label{flex:1;max-width:480px}.error{background:#fff0e8;color:#9e432a;padding:16px;border-radius:10px}.loading{padding:20vh 10vw}.code-studio{height:100vh;display:flex;flex-direction:column}.code-studio>header{display:flex;gap:12px;align-items:center;padding:14px 22px;background:#fff;border-bottom:1px solid #ddd}.code-studio>header input{max-width:350px}.studio-status{margin:0;padding:6px 22px;min-height:36px}.code-layout{display:grid;grid-template-columns:2fr 1fr;flex:1;min-height:0}.code-layout>aside{padding:24px;overflow:auto;border-left:1px solid #ddd}.code-layout textarea{height:130px;resize:vertical}.code-layout pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;padding:20px;min-height:200px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#14231e66;display:grid;place-items:center;z-index:50}.modal section{background:#fff;padding:32px;border-radius:16px}.modal button{margin-right:10px}@media(max-width:900px){.sidebar{width:170px;padding:24px 12px}.workspace{width:calc(100% - 170px);padding:25px}.hero{grid-template-columns:1fr}.hero img{height:220px}.project-grid,.course-grid{grid-template-columns:1fr 1fr}.creation-grid{gap:10px}.creation-grid button{padding:16px}}@media(max-width:600px){.welcome{grid-template-columns:1fr}.welcome-art{padding:24px}.welcome-art img{max-height:210px}.welcome-art h1{font-size:25px}.login{padding:24px}.shell{display:block}.sidebar{position:static;width:100%;height:auto;padding:16px}.sidebar nav{display:flex;overflow:auto;margin-top:18px}.sidebar nav button{white-space:nowrap}.account{display:flex;align-items:center;gap:12px;margin-top:10px}.workspace{width:100%;padding:20px}.page-heading{align-items:start;flex-wrap:wrap}.stats{gap:8px}.stats article{display:grid;padding:14px;gap:0}.creation-grid,.project-grid,.course-grid{grid-template-columns:1fr}.code-studio>header{flex-wrap:wrap;padding:10px}.code-layout{grid-template-columns:1fr;overflow:auto}.code-layout>div{min-height:50vh}.inline-form{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:18px;margin:0;padding:0;accent-color:#527750}:root{--city-ink:#2b443f;--city-paper:#fff9e9;--city-gold:#bc9250;--city-green:#315f50;--city-line:#dcd2b9}body{background:#eee9dc;color:var(--city-ink);font-family:Microsoft YaHei,PingFang SC,sans-serif}button{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #be8540;outline-offset:4px}.primary{background:var(--city-green);border-color:var(--city-green);color:#fff9e9;box-shadow:0 3px #213f35}.primary:hover:not(:disabled){background:#3f7360;border-color:#3f7360}.brand{display:flex;align-items:center;gap:10px;letter-spacing:-1px;color:var(--city-ink);font-family:Georgia,serif;font-size:27px}.brand svg{width:40px;height:40px;flex-shrink:0}.codecity-loading{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:18px;background:#eee9dc}.codecity-loading svg{width:70px;height:70px}.codecity-loading strong{font:38px Georgia,serif}.codecity-loading span{font-size:13px}.welcome{min-height:100dvh;grid-template-columns:minmax(0,1fr) 440px;background:#eee9dc}.welcome-art{position:relative;isolation:isolate;min-height:650px;padding:40px 48px;justify-content:space-between;overflow:hidden;color:#fff9e9;background:#769b80}.welcome-art:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background:url(/codecity/song-city.webp) center/cover no-repeat;transform:scale(1.02)}.welcome-art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(180deg,#203b3975,transparent 40%,#203b39e8)}.welcome-art .brand{color:#fff9e9;width:max-content;text-shadow:0 2px 12px #203b39}.welcome-city-name{margin-top:auto;padding:180px 0 24px}.welcome-city-name>span{font-size:13px;letter-spacing:3px}.welcome-city-name h1{font-family:"Noto Serif SC",SimSun,serif;font-size:clamp(40px,5vw,74px);letter-spacing:8px;margin:16px 0}.welcome-city-name p{color:#f0ead7;font-size:16px}.welcome-features{gap:0;font-size:12px;border-top:1px solid #f7efcb44;padding-top:24px}.welcome-features span+span{margin-left:20px;padding-left:20px;border-left:1px solid #f7efcb55}.login{width:100%;max-width:440px;padding:40px}.login h2{font-family:SimSun,serif;font-size:28px;margin-bottom:30px}.login form{gap:20px}.login label{font-size:13px}.login input,.login select{background:#fffcf2!important;border-color:#d6cfbc!important;min-height:48px}.login .primary{margin-top:8px;min-height:50px}.login .text-button{padding-left:0;color:#52655b}.login [role=alert]{color:#a33e2c;line-height:1.7}.city-hub{height:100dvh;min-height:720px;position:relative;isolation:isolate;overflow:hidden;background:#a8b49c}.city-hub-scene{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2}.city-hub:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-1;background:linear-gradient(#213c3944,transparent 25%,transparent 68%,#213c3980)}.city-interacting .city-districts,.city-interacting .city-location,.city-interacting .city-travel-help,.city-interacting .city-commission{visibility:hidden}.city-hud-top{position:absolute;inset:24px 28px auto;display:flex;justify-content:space-between;gap:24px;pointer-events:none}.city-hud-top>*{pointer-events:auto}.city-identity,.city-player{display:flex;align-items:center;background:#fff9e9f0;border:1px solid #fffdf0;box-shadow:0 5px 24px #203b3926;border-radius:14px;gap:12px;padding:12px 18px}.city-identity>svg{width:43px;height:43px;color:#3b6152}.city-identity strong{display:block;font:700 27px Georgia,serif;letter-spacing:-.8px}.city-identity span{display:block;font-size:11px;letter-spacing:1px;margin-top:4px;color:#667366}.city-identity i{font-style:normal;padding:0 6px;color:#ad9b77}.city-player{padding:10px 12px;gap:10px;align-self:flex-start}.city-avatar{display:grid;place-items:center;flex:none;width:40px;height:44px;background:#dce5cf;border:1px solid #aec19f;border-radius:12px 12px 8px 8px;font:22px SimSun,serif}.city-player strong{display:block;font-size:13px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.city-player div>span{font-size:10px;color:#6b7968}.city-player button{border:0;background:transparent;font-size:12px;padding:8px 10px}.city-location{position:absolute;top:148px;left:32px;width:245px;pointer-events:none;text-shadow:0 1px 8px #fffae8,0 1px 15px #fffae8}.city-location-rule{display:block;width:32px;height:3px;background:#7d643d;margin-bottom:15px}.city-location h1{font-family:SimSun,serif;font-size:42px;letter-spacing:8px;margin:0 0 12px}.city-location p{font-size:12px;line-height:1.9;color:#304e43;max-width:230px;margin-bottom:10px}.city-location button{pointer-events:auto;background:#fff9e9ed}.city-activity-note{font-size:11px;color:#3c564a}.city-districts{position:absolute;right:28px;top:140px;display:grid;gap:5px;width:106px;padding:12px 9px;border:1px solid #fff8d6b3;background:#fffaeceb;border-radius:14px;box-shadow:0 8px 30px #294e3b1a}.city-districts>span{font-size:10px;color:#8a7757;text-align:center;padding:3px 0 8px;letter-spacing:1px}.city-districts button{border:1px solid transparent;background:transparent;display:flex;align-items:center;gap:10px;padding:8px 12px;font-size:13px}.city-districts button i{width:6px;height:6px;border:1px solid #89947a;transform:rotate(45deg)}.city-districts button[aria-pressed=true]{background:#315f50;color:#fff8e6;border-color:#315f50}.city-districts button[aria-pressed=true] i{background:#e8ca8d;border-color:#e8ca8d}.city-commission{position:absolute;left:28px;bottom:124px;width:300px;padding:20px 22px;background:#fff9e9f5;border:1px solid #fff9e9;border-radius:3px 20px 20px;box-shadow:0 12px 32px #193c3629}.city-commission:before{content:"";position:absolute;width:34px;height:5px;top:0;left:22px;background:#bc9250}.city-commission-heading{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#7b795f}.city-commission-heading>span{letter-spacing:2px}.city-commission-heading strong{font-weight:400}.city-commission progress{display:block;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;margin:12px 0 18px;border:0;border-radius:4px;overflow:hidden;background:#e4dfcb}.city-commission progress::-webkit-progress-bar{background:#e4dfcb}.city-commission progress::-webkit-progress-value{background:#638363}.city-commission progress::-moz-progress-bar{background:#638363}.city-task-number{display:block;font-size:10px;letter-spacing:.6px;color:#827654;margin-top:14px}.city-commission h2{font-family:SimSun,serif;font-size:23px;line-height:1.45;margin:9px 0}.city-commission p{font-size:12px;line-height:1.8;margin:0 0 16px}.city-commission>button{width:100%;display:flex;justify-content:space-between;align-items:center;font-size:13px;min-height:46px}.city-travel-help{position:absolute;bottom:120px;left:50%;transform:translate(-50%);font-size:11px;white-space:nowrap;background:#24443cd6;border:1px solid #ffffff33;color:#f2edd9;border-radius:22px;padding:9px 18px;pointer-events:none}.city-travel-help span{padding:0 6px;color:#b4c2a7}.city-dock{position:absolute;bottom:24px;left:50%;transform:translate(-50%);display:flex;gap:6px;padding:10px 15px;border:1px solid #fff9e9;background:#fffaebf5;border-radius:20px;box-shadow:0 8px 32px #163b3838}.city-dock button{display:grid;justify-items:center;gap:6px;border:1px solid transparent;background:transparent;min-width:96px;min-height:67px;padding:7px 12px;font-size:12px}.city-dock button:hover:not(:disabled){background:#e5e9d9;border-color:#d0d8bf}.city-dock svg{height:23px;width:23px;fill:none;stroke:#426754;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.city-journal{color:var(--city-ink);border:1px solid #e0d3b4;border-radius:20px;background:#fff9e9;width:min(640px,calc(100% - 32px));max-height:85dvh;padding:26px 30px;box-shadow:0 24px 100px #102d3855}.city-journal::backdrop{background:#17372b80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.city-journal header{display:flex;align-items:center;justify-content:space-between;gap:20px}.city-journal header span{font-size:11px;color:#897a5d;letter-spacing:1px}.city-journal h2{font:26px SimSun,serif;margin:8px 0}.city-journal header button{background:transparent;font-size:12px}.city-journal>p{font-size:12px;line-height:1.8;border-bottom:1px solid #ddd5bf;padding-bottom:18px}.city-journal ol{padding:0;list-style:none;margin:0}.city-journal li{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid #e6ddc7}.journal-number{font:italic 24px Georgia,serif;color:#9c8963;flex:none;width:32px}.city-journal li>div{flex:1;min-width:0}.city-journal h3{font-size:15px;margin:0 0 5px}.city-journal li p{font-size:11px;margin:0 0 6px}.city-journal small{font-size:11px;color:#8d7354}.city-journal li.done small{color:#397052}.city-journal li button{font-size:12px;background:#ecf0df;border-color:#ced7bc;flex:none}.city-journal li.locked button{background:#eae5d7}.city-journal li.done .journal-number{color:#397052}.shell{display:block;min-height:100dvh;background:radial-gradient(ellipse at 95% 0,#d1ddc7,transparent 45%),#eee9dc}.sidebar{position:relative;top:auto;height:auto;width:100%;padding:18px 32px;flex-direction:row;align-items:center;gap:32px;border:0;border-bottom:1px solid #d7d4bd;background:#fffaed}.sidebar nav{display:flex;margin:0;gap:6px;flex:1;overflow:auto}.sidebar nav button{white-space:nowrap;font-size:13px;border:1px solid transparent}.sidebar nav button.active{background:#e5ebd8;color:#315f50;border-color:#ccd7bc}.account{display:flex;margin:0;gap:10px;align-items:center}.account strong{font-size:12px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account span{font-size:11px}.account button{background:transparent;font-size:11px;border:0;padding:8px}.workspace{width:100%;max-width:1420px;margin:auto;padding:38px 40px 60px}.page-heading{border-bottom:1px solid #d7d1bb;padding-bottom:24px;margin-bottom:28px}.page-heading h1{font-family:SimSun,serif;font-size:30px}.page-heading button{background:#fff9e9;border-color:#d4ceb8;font-size:12px}.project-grid>button,.project-grid>article{position:relative;background:#fffaed;border:1px solid #ded5bd;border-radius:5px 18px 18px;box-shadow:0 4px 16px #3c584508;padding:26px}.project-grid>button:before{content:"";display:block;width:28px;height:3px;background:#ad8a4d;margin-bottom:20px}.project-grid>button:hover{border-color:#a0b18d;background:#fffdf4}.project-grid h2{font:23px/1.5 SimSun,serif}.project-grid>button>span{background:#e8eddc;color:#536b50;padding:5px 9px;border-radius:5px;font-size:11px}.project-grid time{font-size:11px;color:#847e68}.empty{background:#fffaed;border:1px dashed #cfc5a9;border-radius:16px;text-align:center;padding:50px 24px}.course-seal{font:44px Georgia,serif;color:#a88c5a;background:#e5ead8;padding:24px!important}.inline-form{background:#fffaed;border:1px solid #ded5bd;padding:24px;border-radius:14px}.inline-form label{font-size:13px}.workspace .error{background:#fff0e5;color:#903f2b}.room-view{background:#fffaed!important}@media(min-width:1600px){.city-commission{left:40px;bottom:135px;width:330px}.city-location{left:44px}.city-dock{bottom:32px}}@media(max-width:1100px){.sidebar{gap:16px;padding:16px 22px;flex-wrap:wrap}.sidebar nav{order:3;flex-basis:100%}.account{margin-left:auto}.city-travel-help{left:auto;right:24px;transform:none;bottom:130px}.city-commission{width:275px}.welcome{grid-template-columns:minmax(0,1fr) 390px}.login,.welcome-art{padding:32px}.city-location{width:215px}}@media(max-width:760px){.city-hub{height:auto;min-height:100dvh;display:flex;flex-direction:column;padding:14px;overflow:visible}.city-hub-scene{height:580px}.city-hud-top{position:relative;inset:auto;gap:10px}.city-identity{padding:10px;gap:7px}.city-identity>svg{width:32px}.city-identity strong{font-size:22px}.city-identity span{font-size:10px}.city-player{padding:8px;gap:6px}.city-avatar{display:none}.city-player strong{max-width:72px}.city-player button{padding:8px}.city-location{position:relative;top:auto;left:auto;padding:20px 4px;width:calc(100% - 85px);min-height:352px;pointer-events:none}.city-location h1{font-size:32px}.city-location-rule{margin-bottom:10px}.city-location p{max-width:190px}.city-location button{font-size:12px}.city-districts{top:112px;right:14px;width:87px;padding:8px 4px}.city-districts button{font-size:12px;padding:8px}.city-districts>span{font-size:9px}.city-commission{position:relative;inset:auto;width:100%;padding:18px 20px;z-index:1;margin-top:28px}.city-commission h2{font-size:23px}.city-commission p{margin-bottom:12px}.city-dock{position:relative;left:auto;bottom:auto;transform:none;display:flex;justify-content:space-around;gap:0;padding:8px 3px;margin-top:14px;border-radius:15px}.city-dock button{min-width:0;flex:1;font-size:10px;padding:8px 3px}.city-dock svg{width:21px;height:21px}.city-travel-help{position:absolute;top:444px;bottom:auto;left:20px;right:auto;font-size:9px;padding:7px 10px}.city-journal{padding:20px}.city-journal li{gap:10px}.city-journal h3{font-size:13px}.city-journal li button{padding:8px 12px}.welcome{display:block}.welcome-art{min-height:340px;padding:24px}.welcome-city-name{padding:72px 0 12px}.welcome-city-name h1{font-size:40px;letter-spacing:5px;margin:12px 0}.welcome-city-name p{font-size:13px}.welcome-features{padding-top:16px}.login{max-width:500px;padding:32px 24px}.login h2{font-size:25px}.sidebar{padding:14px 18px;gap:12px}.sidebar .brand{font-size:24px}.sidebar .brand svg{width:33px}.sidebar nav{gap:3px}.sidebar nav button{padding:8px 12px}.account span{display:none}.workspace{padding:25px 18px 40px}.page-heading{gap:16px;flex-wrap:wrap;align-items:start}.page-heading h1{font-size:27px}.project-grid{grid-template-columns:1fr}.inline-form{padding:18px}.city-player div>span{font-size:9px}}.city-hub{min-height:560px}.city-hub:after{background:linear-gradient(#243e3626,transparent 20%,transparent 78%,#243e3633)}.city-hud-top{inset:20px 24px auto}.city-identity,.city-player{background:#fcfaefef;border-color:#fffffff0;box-shadow:0 4px 20px #203b3917;border-radius:12px}.city-identity{padding:10px 14px}.city-identity strong{font-size:25px}.city-identity>svg{width:35px;height:35px}.city-location{top:116px;left:24px;width:220px;padding:16px 18px;background:linear-gradient(110deg,#fffaf0f2,#fffaf0da);border:1px solid #fff9;border-radius:10px;text-shadow:none;box-shadow:0 4px 20px #203b3910}.city-location-rule{width:24px;height:2px;margin-bottom:10px;background:#b58d55}.city-location h1{font-size:28px;letter-spacing:4px;margin-bottom:8px}.city-location p{font-size:12px;line-height:1.8;margin:0;color:#4c6655}.city-districts{top:120px;right:24px;width:98px;padding:9px 6px;background:#fcfaeff0;border-radius:12px}.city-districts button{padding:8px 9px}.city-districts>span{color:#736d58}.city-commission{left:24px;bottom:112px;width:272px;padding:17px 18px;background:#fcfaeff5;border-radius:12px;box-shadow:0 6px 24px #203b391c}.city-commission h2{font-size:21px;margin:8px 0}.city-commission p{color:#526451;font-size:12px;margin-bottom:12px}.city-commission-heading{color:#66765f}.city-task-number{color:#7d704f;margin-top:12px}.city-dock{bottom:20px;padding:6px 9px;border-radius:14px;background:#fcfaeff5;box-shadow:0 5px 22px #203b3926;gap:2px}.city-dock button{min-width:88px;min-height:62px;gap:5px;padding:7px 10px;font-size:12px}.city-dock svg{width:21px;height:21px}.city-travel-help{bottom:110px;background:#284d40db;font-size:11px;padding:8px 14px;border:1px solid #ffffff40}@media(min-width:1600px){.city-commission{left:32px;bottom:116px;width:290px}.city-location{left:32px}.city-hud-top{left:32px;right:32px}.city-districts{right:32px}}@media(max-width:1100px){.city-travel-help{right:24px;bottom:110px}.city-commission{width:250px}}@media(max-width:760px){.city-hub{min-height:100dvh}.city-hud-top{inset:auto}.city-identity{padding:9px}.city-identity strong{font-size:21px}.city-identity>svg{width:28px;height:32px}.city-location{position:relative;top:auto;left:auto;margin-top:16px;padding:12px;width:calc(100% - 96px);min-height:0;align-self:flex-start}.city-location h1{font-size:26px}.city-location p{font-size:12px}.city-districts{top:106px;right:14px;width:86px}.city-commission{position:relative;inset:auto;width:100%;margin-top:270px;padding:18px}.city-travel-help{top:458px;bottom:auto;left:20px;right:auto}.city-dock{position:relative;bottom:auto;margin-top:12px;padding:6px 3px}.city-dock button{min-width:0;font-size:10px;padding:7px 3px}.city-player,.city-player button{padding:8px}.city-interacting .city-location{visibility:hidden}}.city-hub{height:100dvh;min-height:640px;display:grid;grid-template-columns:272px minmax(0,1fr) 106px;grid-template-rows:auto minmax(150px,1fr) auto auto;gap:16px 24px;padding:20px 24px;pointer-events:none}.city-hub-scene{z-index:0;height:auto;pointer-events:auto}.city-hub:after{z-index:1}.city-hud-top,.city-location,.city-districts,.city-commission,.city-dock,.city-travel-help{position:relative;inset:auto;z-index:2;transform:none;margin:0}.city-hud-top{grid-column:1/-1;grid-row:1;pointer-events:none}.city-location{grid-column:1;grid-row:2;width:100%;align-self:start}.city-districts{grid-column:3;grid-row:2/4;width:100%;align-self:start;pointer-events:auto}.city-districts button:disabled{opacity:.6}.city-commission{grid-column:1;grid-row:3;width:100%;align-self:end;pointer-events:auto}.city-travel-help{grid-column:2;grid-row:3;justify-self:center;align-self:end;white-space:normal;text-align:center}.city-dock{grid-column:1/-1;grid-row:4;justify-self:center;max-width:100%;pointer-events:auto}.city-journal{pointer-events:auto}@media(min-width:1600px){.city-hub{grid-template-columns:290px minmax(0,1fr) 106px;padding-inline:32px}}@media(min-width:761px)and (max-width:1100px){.city-hub{grid-template-columns:250px minmax(0,1fr) 98px;gap:12px 16px;padding:16px}.city-travel-help{font-size:10px;padding:8px}.city-commission{padding:14px}.city-dock button{min-width:82px}}@media(max-width:760px){.city-hub{height:auto;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto minmax(210px,1fr) auto auto;gap:12px;padding:14px;overflow:hidden}.city-hub-scene{height:100%}.city-hud-top{grid-column:1;grid-row:1;gap:8px}.city-identity{padding:8px}.city-identity strong{font-size:21px}.city-player{padding:6px;gap:5px}.city-location{grid-column:1;grid-row:3;width:100%;padding:12px;min-height:0}.city-location h1{font-size:24px;margin-bottom:4px}.city-location p{max-width:none}.city-location-rule{display:none}.city-districts{grid-column:1;grid-row:2;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:6px}.city-districts>span{grid-column:1/-1;padding:2px}.city-districts button{min-height:44px;justify-content:center;padding:7px;font-size:12px}.city-commission{grid-column:1;grid-row:5;width:100%;padding:16px;margin:0}.city-travel-help{grid-column:1;grid-row:4;justify-self:center;align-self:end;font-size:10px;padding:7px 10px}.city-dock{grid-column:1;grid-row:6;justify-self:stretch;padding:5px 2px;margin:0;gap:0}.city-dock button{min-width:0;flex:1;padding:7px 2px;font-size:10px;min-height:62px}.city-journal{width:calc(100% - 24px);padding:18px}.city-journal header{gap:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.city-hub{isolation:auto}.city-hub-scene{z-index:auto;pointer-events:none}.city-hub:after{z-index:2}.city-hud-top,.city-location,.city-districts,.city-commission,.city-dock,.city-travel-help{z-index:3}.city-world-back{padding:0;width:44px;min-width:44px;font-size:22px;border:0;background:transparent}.lantern-city{border-radius:inherit}.city-identity,.city-player,.city-location,.city-commission,.city-districts,.city-dock{background:#132e35eb;border:1px solid #c4c5ae44;border-radius:5px;color:#eee7d5;box-shadow:0 8px 30px #06171e29;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.city-hub{grid-template-columns:240px minmax(0,1fr) 94px;gap:12px 20px;padding:18px 22px}.city-location{padding:14px 16px;background:#142532b8;border-color:#bbc4cb33;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.city-location h1{font:28px/1.25 SimSun,serif;letter-spacing:3px;margin:0 0 8px}.city-location p{font-size:12px;line-height:1.65;margin:0}.city-location-rule{display:none}.city-commission{padding:14px 16px;background:#142532de}.city-commission h2{font-size:18px;line-height:1.4;margin:8px 0 12px}.city-commission .city-task-number{display:none}.city-commission p:not([role=alert]){display:none}.city-commission-heading{font-size:11px;letter-spacing:1px}.city-commission .primary{min-height:44px;padding:10px 12px}.city-districts{padding:6px}.city-districts button{min-height:44px;font-size:12px;padding:8px}.city-districts>span{font-size:10px;padding:7px 3px}.city-identity{padding:8px 12px 8px 4px}.city-identity strong{font-size:23px}.city-identity>svg{width:28px;height:32px}.city-dock{padding:5px 8px;background:#142532e0}.city-dock button{min-width:96px;min-height:56px;padding:7px 12px;font-size:11px}.city-dock svg{width:20px;height:20px}.city-travel-help{font-size:11px;padding:7px 12px}@media(max-width:760px){.city-hub{height:100dvh;min-height:760px;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(230px,1fr) auto auto;gap:9px;padding:12px}.city-hud-top{grid-row:1}.city-districts{grid-row:2;padding:4px;gap:2px}.city-districts>span{display:none}.city-location{grid-row:3;align-self:start;justify-self:start;width:auto;max-width:72%;padding:10px 12px;background:#142532b8}.city-location h1{font-size:21px;margin:0}.city-location p{display:none}.city-location .city-activity-note{font-size:10px;margin-top:5px}.city-commission{grid-row:4;padding:11px 13px;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;align-items:center}.city-commission-heading{grid-column:1;grid-row:1}.city-commission h2{grid-column:1;grid-row:2;font-size:15px;margin:5px 0}.city-commission>button{grid-column:2;grid-row:1/3;max-width:135px;font-size:12px;min-height:44px}.city-commission>progress{grid-column:1/-1;grid-row:3}.city-commission>[role=alert]{grid-column:1/-1}.city-travel-help{display:none}.city-dock{grid-row:5;padding:4px 2px}.city-dock button{min-width:0;min-height:54px;padding:5px 2px;font-size:10px}.city-identity{padding:6px 8px 6px 2px;gap:4px}.city-identity strong{font-size:20px}.city-identity>svg{display:none}.city-player{padding:5px;gap:5px}.city-player button{padding:6px;min-height:44px}.city-player div>strong{max-width:66px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}}.city-identity strong,.city-player strong,.city-location h1,.city-commission h2{color:#eee7d5}.city-identity span,.city-player div>span,.city-location p,.city-commission p,.city-task-number{color:#b6c6c1}.city-identity svg{color:#c9b785}.city-location-rule{background:#c3a16c}.city-player button,.city-world-back{color:#dae1d7}.city-player button{background:transparent;border-color:#cbd1bf44}.city-avatar{background:#40584e;border-color:#6e8267;color:#e1dbc0}.city-districts>span{color:#a5b8b3}.city-districts button{color:#c3d0c8}.city-districts button[aria-pressed=true]{background:#cbb487;color:#1b3338;border-radius:3px}.city-commission-heading,.city-commission-heading strong{color:#d0ba8f}.city-commission .primary{background:#cfb888;color:#183037;border-color:#dac697;border-radius:3px;box-shadow:none}.city-commission .primary:hover:not(:disabled){background:#e6cc97;color:#183037}.city-dock button{color:#d5ddcf;border-radius:4px}.city-dock svg{stroke:#c6bf98}.city-dock button:hover:not(:disabled){background:#314b4c;border-color:#b7bd9755}.city-travel-help{background:#142e35d9;color:#c6d4ca;border:1px solid #b9c5ae33;border-radius:4px}
