:root{--ink: #163b38;--ink-soft: #557471;--paper: #f7faf9;--white: #fff;--green: #009582;--green-dark: #006e63;--green-soft: #e2f4f1;--blue: #176cbb;--blue-soft: #e5f1fb;--orange: #ca9a5f;--orange-soft: #f8efe4;--red: #c6463c;--line: #dfe8e3;--shadow: 0 14px 42px rgba(24, 53, 44, .09);--radius: 16px;--page: min(1200px, calc(100% - 48px) );font-family:Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--paper)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}p{color:var(--ink-soft);line-height:1.75}h1,h2,h3,p{margin-top:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(25,118,210,.28);outline-offset:2px}.icon{display:inline-block;flex:0 0 auto;vertical-align:middle}.eyebrow{display:block;margin-bottom:9px;color:var(--green);font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.button{min-height:42px;padding:0 19px;border:1px solid transparent;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:650;cursor:pointer;transition:.2s ease}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--green);color:#fff;box-shadow:0 6px 16px #00958233}.button.primary:hover{background:var(--green-dark)}.button.ghost{border-color:#b8cbc2;background:#fff;color:var(--ink);box-shadow:none}.button.light{background:#fff;color:var(--green-dark)}.button.blue{background:var(--blue);color:#fff}.button.text{background:transparent;color:var(--ink-soft)}.button.danger{background:#fff0ef;color:var(--red);border-color:#ecc7c3}.button:disabled{background:#dfe5e2;color:#80918a;box-shadow:none;cursor:not-allowed;transform:none}.tag{display:inline-flex;align-items:center;width:max-content;padding:4px 9px;border-radius:99px;font-size:12px;font-weight:650;white-space:nowrap}.tag.success{color:#08704d;background:#def3e8}.tag.blue{color:#1767aa;background:#e4f0fa}.tag.orange{color:#b85a17;background:#ffead8}.tag.danger{color:#b63d34;background:#fce7e5}.tag.muted{color:#667a73;background:#edf1ef}.tag.light{color:var(--ink);background:#ffffffe0}.progress{height:6px;overflow:hidden;border-radius:9px;background:#e4ebe7}.progress i{display:block;height:100%;border-radius:inherit;background:var(--green)}.progress.small{height:4px}.top-note{height:32px;display:flex;align-items:center;justify-content:center;gap:12px;color:#d8f1ed;background:#006e63;font-size:12px;letter-spacing:.03em}.top-note span{padding-left:12px;border-left:1px solid rgba(255,255,255,.25);color:#f0d7b7}.public-header{height:74px;padding:0 max(24px,calc((100% - 1200px)/2));display:flex;align-items:center;gap:34px;background:#fffffff5;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px;flex:0 0 auto}.brand-mark{width:38px;height:38px;border-radius:12px 12px 12px 4px;display:grid;place-items:center;background:var(--green);color:#fff;font-family:"Noto Serif SC",serif;font-size:22px;box-shadow:inset -8px -8px 16px #00000014}.brand>span:nth-child(2){display:flex;flex-direction:column;line-height:1.15}.brand b{font-family:"Noto Serif SC",serif;font-size:15px;letter-spacing:.035em;white-space:nowrap}.brand small{margin-top:3px;color:var(--ink-soft);font-size:9px;letter-spacing:.05em}.public-header nav{height:100%;display:flex;align-items:center;justify-content:center;gap:4px;flex:1}.public-header nav a{height:100%;padding:0 12px;display:grid;place-items:center;color:#38594e;font-size:14px;font-weight:550;position:relative}.public-header nav a.active{color:var(--green);font-weight:700}.public-header nav a.active:after{content:"";position:absolute;height:3px;left:12px;right:12px;bottom:0;background:var(--green);border-radius:3px 3px 0 0}.header-actions{display:flex;align-items:center;gap:9px}.search-button{width:38px;height:38px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;background:#fff}.platform-switcher{min-width:0;position:relative;flex:0 0 auto}.platform-switch-trigger{min-width:0;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.platform-switch-trigger::-webkit-details-marker{display:none}.platform-switch-trigger>.icon{margin-left:1px;color:var(--ink-soft);transform:rotate(90deg);transition:transform .18s ease}.platform-switcher[open] .platform-switch-trigger>.icon{transform:rotate(-90deg)}.platform-menu{width:300px;padding:8px;position:absolute;left:0;top:calc(100% + 12px);z-index:90;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);box-shadow:0 20px 50px #123f322e}.platform-menu:before{content:"";width:10px;height:10px;position:absolute;left:21px;top:-6px;border-left:1px solid var(--line);border-top:1px solid var(--line);background:#fff;transform:rotate(45deg)}.platform-menu-title{padding:7px 9px 8px;display:block;color:var(--ink-soft);font-size:10px;font-weight:650;letter-spacing:.05em}.platform-menu>a{min-height:62px;padding:9px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;border-radius:9px}.platform-menu>a:hover{background:#f2f7f5}.platform-menu>a.active{background:var(--green-soft)}.platform-entry-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#edf3f0;color:var(--green-dark)}.platform-menu>a.active .platform-entry-icon{background:#fff;color:var(--green)}.platform-menu>a>span:nth-child(2){min-width:0;display:flex;flex-direction:column}.platform-menu>a b{font-size:12px}.platform-menu>a small{margin-top:3px;overflow:hidden;color:var(--ink-soft);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.platform-menu .tag{padding:3px 7px;font-size:9px}.platform-switcher.on-dark .platform-switch-trigger>.icon{color:#ffffffa6}.platform-switcher.on-dark .platform-menu{top:calc(100% + 2px)}.public-avatar-image{width:100%;height:100%;display:block;object-fit:cover}.public-avatar-fallback{width:100%;height:100%;display:grid;place-items:center;border-radius:50%;background:#eaf4f0;color:var(--green-dark)}.account-menu{margin-left:3px;position:relative;flex:0 0 auto}.account-menu>summary{list-style:none}.account-menu>summary::-webkit-details-marker{display:none}.account-avatar{width:40px;height:40px;padding:2px;overflow:hidden;display:block;border:1px solid #cbdcd5;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 3px 10px #123f3217}.account-avatar .public-avatar-image{border-radius:50%}.account-avatar .public-avatar-fallback{border:1px solid #dbe9e3}.account-menu[open] .account-avatar{border-color:var(--green);box-shadow:0 0 0 3px #0095821a}.account-menu-panel{width:286px;padding:8px;position:absolute;right:0;top:calc(100% + 11px);z-index:90;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 20px 50px #123f322e}.account-menu-panel:before{content:"";width:10px;height:10px;position:absolute;right:15px;top:-6px;border-left:1px solid var(--line);border-top:1px solid var(--line);background:#fff;transform:rotate(45deg)}.account-menu-panel>header{min-height:62px;padding:8px 9px 10px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.account-menu-panel>header>.public-avatar-image{width:44px;height:44px;flex:0 0 auto;border-radius:50%}.account-menu-panel>header>.public-avatar-fallback{width:44px;height:44px;flex:0 0 auto}.account-menu-panel>header>span{display:flex;flex-direction:column}.account-menu-panel>header b{font-size:13px}.account-menu-panel>header small{margin-top:2px;color:var(--ink-soft);font-size:9px}.account-menu-panel>a{min-height:55px;padding:8px 9px;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:7px;border-radius:8px}.account-menu-panel>a:hover{background:#f2f7f5}.account-menu-panel>a>.icon:first-child{color:var(--green)}.account-menu-panel>a>span{min-width:0;display:flex;flex-direction:column}.account-menu-panel>a b{font-size:11px}.account-menu-panel>a small{margin-top:2px;overflow:hidden;color:var(--ink-soft);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.account-menu-panel>button{width:100%;min-height:42px;padding:0 9px;display:flex;align-items:center;gap:8px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--red);font-size:10px;cursor:pointer}.account-menu-panel>button:hover{background:#fff6f5}.mobile-menu,.mobile-bar{display:none}.hero{min-height:560px;padding:72px max(24px,calc((100% - 1200px)/2));display:grid;grid-template-columns:1.05fr .95fr;align-items:center;overflow:hidden;position:relative;background:linear-gradient(110deg,#eef8f0,#f8faf2 54%,#dfeeee)}.hero:before{content:"";position:absolute;inset:0;opacity:.24;background-image:linear-gradient(rgba(13,107,77,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(13,107,77,.12) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:linear-gradient(90deg,transparent,#000);mask-image:linear-gradient(90deg,transparent,#000)}.hero-content{position:relative;z-index:1}.hero-label{display:inline-flex;align-items:center;gap:8px;margin-bottom:22px;padding:7px 12px;color:var(--green-dark);background:#ffffffbf;border:1px solid #c5dfd3;border-radius:99px;font-size:13px;font-weight:650}.hero-label i{width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px #ffe2cb}.hero h1{margin-bottom:20px;font-family:"Noto Serif SC",serif;font-size:clamp(38px,4.2vw,60px);line-height:1.28;letter-spacing:-.03em}.hero h1 em{color:var(--green);font-style:normal;position:relative}.hero h1 em:after{content:"";height:9px;position:absolute;left:0;right:0;bottom:-2px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='9'%3E%3Cpath d='M2 6C28 2 67 2 118 5' fill='none' stroke='%23e97822' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100%}.hero-content>p{max-width:560px;font-size:17px}.hero-actions{margin:30px 0 32px;display:flex;gap:12px}.hero-proof{display:flex;gap:24px;color:var(--ink-soft);font-size:12px}.hero-proof span{padding-right:22px;border-right:1px solid #bdd2c8}.hero-proof span:last-child{border:0}.hero-proof b{display:block;color:var(--ink);font-size:21px}.hero-visual{height:450px;padding:15px 0 15px 34px;position:relative;z-index:1}.hero-feature-card{height:100%;display:block;overflow:hidden;position:relative;border:0;border-radius:12px;background:#194f3f;color:#fff}.hero-feature-card:after{content:"";position:absolute;inset:34% 0 0;background:linear-gradient(180deg,transparent,rgba(5,37,28,.92));pointer-events:none}.hero-feature-card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s ease}.hero-feature-card:hover img{transform:scale(1.025)}.hero-feature-top{position:absolute;z-index:2;left:20px;right:20px;top:20px;display:flex;justify-content:space-between;align-items:center}.hero-feature-top span,.hero-feature-top b{padding:7px 11px;border-radius:99px;background:#ffffffeb;color:var(--green-dark);font-size:11px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero-feature-top b{background:var(--orange);color:#fff;font-weight:700}.hero-feature-copy{position:absolute;z-index:2;left:28px;right:28px;bottom:24px}.hero-feature-copy>span{color:#c9efdc;font-size:11px;font-weight:700;letter-spacing:.06em}.hero-feature-copy h2{margin:7px 0 5px;font-family:"Noto Serif SC",serif;font-size:30px;line-height:1.25;color:#fff}.hero-feature-copy p{max-width:420px;margin:0 0 17px;color:#ffffffd1;font-size:12px}.hero-feature-copy>div{padding-top:14px;display:flex;justify-content:space-between;gap:16px;border-top:1px solid rgba(255,255,255,.23);font-size:11px}.hero-feature-copy>div span,.hero-feature-copy>div b{display:flex;align-items:center;gap:5px}.hero-feature-copy>div b{color:#f6c27f}.hero-photo-note{position:absolute;right:2px;bottom:1px;z-index:3;color:#6c8076;font-size:8px;letter-spacing:.02em;pointer-events:none}.welcome-strip{width:var(--page);min-height:118px;margin:-25px auto 66px;padding:22px 28px;display:grid;grid-template-columns:auto 1.2fr 1fr auto;align-items:center;gap:22px;position:relative;z-index:2;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.welcome-avatar{width:58px;height:58px;display:grid;place-items:center;border-radius:18px 18px 18px 6px;background:#296d91;color:#fff;font-size:21px;font-weight:700}.welcome-avatar.has-image{padding:2px;overflow:hidden;border:1px solid #c7ddd4;border-radius:50%;background:#fff;box-shadow:0 4px 14px #123f321f}.welcome-avatar.has-image .public-avatar-image{border-radius:50%}.welcome-strip h2{margin:0 0 4px;font-size:20px}.welcome-strip p{margin:0;font-size:13px}.welcome-strip .eyebrow{margin-bottom:3px}.welcome-progress small{display:block;margin-bottom:9px;color:var(--ink-soft);font-size:12px}.page-section{width:var(--page);margin:0 auto;padding:0 0 76px}.vr-page{padding-top:32px}.section-head{margin-bottom:26px;display:flex;align-items:end;justify-content:space-between;gap:20px}.section-head h2{margin:0;font-family:"Noto Serif SC",serif;font-size:28px}.text-link{display:flex;align-items:center;gap:5px;color:var(--green);font-size:13px;font-weight:650}.card-grid{display:grid;gap:20px}.activities-grid{grid-template-columns:repeat(3,1fr)}.course-grid{grid-template-columns:repeat(4,1fr)}.content-card{min-width:0;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--radius);transition:.22s ease}.content-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#b9d0c4}.card-art{height:175px;position:relative;overflow:hidden}.art{width:100%;height:100%;min-height:110px;position:relative;overflow:hidden;background:#dcead7}.art:after{content:"";position:absolute;inset:0;z-index:3;background:linear-gradient(145deg,rgba(255,255,255,.35),transparent 45%);pointer-events:none}.art>img{width:100%;height:100%;position:absolute;inset:0;z-index:2;display:block;object-fit:cover;object-position:center;transition:transform .45s ease}.art.has-image:after{background:linear-gradient(180deg,#07231c08 45%,#07231c52)}.art.has-image .art-grid,.art.has-image .art-sun,.art.has-image .art-hill,.art.has-image .art-leaf{display:none}.content-card:hover .art>img,.news-feature:hover .art>img{transform:scale(1.025)}.demo-image-badge{position:absolute;left:10px;bottom:9px;z-index:4;padding:4px 7px;border:1px solid rgba(255,255,255,.48);border-radius:999px;background:#0a2e25a8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-size:8px;line-height:1;letter-spacing:.04em}.art-grid{position:absolute;inset:0;opacity:.24;background-image:linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px);background-size:22px 22px}.art-sun{width:56px;height:56px;position:absolute;right:16%;top:14%;border:10px solid rgba(255,255,255,.6);border-radius:50%}.art-hill{height:70%;position:absolute;bottom:-28%;border-radius:50% 50% 0 0}.art-hill.one{width:78%;left:-15%;background:#477b56;transform:rotate(8deg)}.art-hill.two{width:75%;right:-16%;background:#72a768;transform:rotate(-11deg)}.art-leaf{position:absolute;left:18%;bottom:7%;z-index:2;color:#e8f5b2;font-size:84px;line-height:1;transform:rotate(-28deg)}.art.field{background:linear-gradient(135deg,#c9e4c0,#e8d78e)}.art.field .art-hill.one{background:#728f4d}.art.field .art-hill.two{background:#b58a45}.art.tech{background:linear-gradient(135deg,#a9d4e3,#b8dfd7)}.art.tech .art-hill.one{background:#326a7d}.art.tech .art-hill.two{background:#579a86}.art.space{background:linear-gradient(135deg,#173a61,#60648f)}.art.space .art-hill.one{background:#1c2d4a}.art.space .art-hill.two{background:#805f76}.art.space .art-leaf{color:#ffd078}.art.mushroom{background:linear-gradient(135deg,#d8c9ad,#b9d5b1)}.art.mushroom .art-hill.one{background:#7b6e50}.art.mushroom .art-hill.two{background:#5d7e58}.art.sun{background:linear-gradient(135deg,#f3cc78,#a9cfca)}.art.sun .art-hill.one{background:#6a8f72}.art.sun .art-hill.two{background:#c28241}.date-tile{width:58px;height:62px;position:absolute;left:14px;top:14px;display:grid;place-items:center;background:#fff;border-radius:10px;line-height:1;box-shadow:0 5px 16px #0000001f}.date-tile b{font-size:16px}.date-tile small{font-size:10px;color:var(--ink-soft)}.card-art>.tag{position:absolute;right:12px;top:12px}.card-body{padding:18px}.category{color:var(--green);font-size:12px;font-weight:700}.card-body h3{min-height:52px;margin:7px 0 13px;font-size:17px;line-height:1.55}.card-body p{margin-bottom:13px;font-size:12px}.meta-lines{display:grid;gap:8px;color:var(--ink-soft);font-size:12px}.meta-lines span{display:flex;align-items:flex-start;gap:6px}.card-foot{margin-top:15px;padding-top:13px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);font-size:12px}.card-foot b{display:flex;align-items:center;color:var(--green)}.urgent{color:var(--orange);font-weight:700}.course-card .card-art{height:150px}.course-card .play{width:42px;height:42px;position:absolute;left:calc(50% - 21px);top:calc(50% - 21px);display:grid;place-items:center;border-radius:50%;background:#ffffffe6;color:var(--green);box-shadow:0 7px 18px #00000029}.course-card .card-body h3{min-height:50px}.course-card .card-body small{display:block;margin-top:7px;color:var(--ink-soft);font-size:11px}.feature-band{width:var(--page);margin:0 auto 76px;display:grid;grid-template-columns:1.7fr .7fr;overflow:hidden;border-radius:20px;box-shadow:var(--shadow)}.map-preview{height:420px;position:relative;overflow:hidden;cursor:pointer}.map-preview .map-canvas{height:100%}.map-overlay{width:52%;padding:34px;position:absolute;left:24px;bottom:24px;z-index:5;background:#fffffff0;border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.map-overlay h2{font-family:"Noto Serif SC";font-size:27px}.map-overlay p{font-size:13px}.feature-side{padding:48px 34px;color:#fff;background:#0c6248}.feature-side .eyebrow{color:#92d4ba}.feature-side h2{margin:16px 0 8px;font-size:54px}.feature-side h2 small{font-size:15px}.feature-side p{color:#c5e2d7;font-size:13px}.mini-stats{margin:28px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.mini-stats span{padding:10px 4px;text-align:center;border:1px solid rgba(255,255,255,.16);border-radius:9px;font-size:10px}.mini-stats b{display:block;font-size:18px}.discovery-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.news-list{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.news-list>div{padding:15px 17px;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.news-list>div:last-child{border:0}.news-index{font-family:serif;font-size:20px;color:#9bad9f}.news-list b{margin-left:6px;font-size:14px}.news-list small{display:block;margin-top:5px;color:var(--ink-soft);font-size:10px}.vr-feature{height:286px;position:relative;overflow:hidden;border-radius:var(--radius)}.vr-feature>.art{position:absolute}.vr-feature>div:last-child{width:65%;padding:24px;position:absolute;left:18px;bottom:18px;background:#ffffffeb;border-radius:13px}.vr-feature h3{margin:8px 0}.vr-feature p{margin-bottom:11px;font-size:11px}.future-services{padding:60px max(24px,calc((100% - 1200px)/2));background:#eaf2ed}.future-services>div:last-child{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.future-services a{padding:18px;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:12px}.future-services a>span{width:34px;height:34px;margin-bottom:14px;display:grid;place-items:center;border-radius:9px;background:var(--blue-soft);color:var(--blue)}.future-services a:nth-child(2)>span{background:var(--orange-soft);color:#b56f29}.future-services a:nth-child(3)>span{background:var(--green-soft);color:var(--green-dark)}.future-services a:nth-child(4)>span{background:#eeeafb;color:#6553b5}.future-services a:nth-child(5)>span{background:#e5f4f5;color:#187b86}.future-services a b{font-size:13px}.future-services a small{margin-top:6px;color:var(--ink-soft);font-size:10px}.footer{padding:50px max(24px,calc((100% - 1200px)/2));display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:70px;color:#c5d5cf;background:#123a2f}.brand.light b{color:#fff}.brand.light small{color:#b8d0c7}.footer p{margin-top:16px;color:#91aaa1;font-size:11px}.footer>div{display:flex;flex-direction:column;gap:10px;font-size:12px}.footer>div>b{margin-bottom:8px;color:#fff}.footer a:hover{color:#fff}.ai-fab{height:52px;padding:0 16px 0 7px;position:fixed;right:24px;bottom:24px;z-index:70;display:flex;align-items:center;gap:8px;border:0;border-radius:28px;background:#103f32;color:#fff;box-shadow:0 12px 34px #07443252;cursor:pointer}.ai-fab>span{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--orange)}.ai-fab b{font-size:13px}.ai-panel{width:min(790px,calc(100vw - 44px));height:min(860px,calc(100dvh - 44px));position:fixed;right:22px;bottom:22px;z-index:90;display:flex;flex-direction:column;background:#fff;border:1px solid rgba(18,63,50,.1);border-radius:20px;box-shadow:0 26px 80px #0e342a4d;overflow:hidden}.ai-panel-header{min-height:82px;padding:16px 20px;display:flex;align-items:center;gap:12px;background:#123f32;color:#fff}.ai-avatar{width:48px;height:48px;display:grid;flex:0 0 auto;place-items:center;border-radius:13px;background:var(--orange);box-shadow:inset 0 0 0 1px #ffffff29}.ai-title{min-width:0;display:flex;flex:1;flex-direction:column}.ai-title>b{font-size:19px;letter-spacing:.02em}.ai-panel-header small{margin-top:3px;color:#c5e5df;font-size:10px}.ai-panel-header small i{display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:#72d6a8}.ai-header-actions{display:flex;align-items:center;gap:6px}.ai-header-actions button{height:36px;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:5px;position:relative;border:0;border-radius:9px;background:#ffffff14;color:#fff;font-size:10px;cursor:pointer}.ai-header-actions button:hover,.ai-header-actions button.active{background:#ffffff29}.ai-header-actions button.ai-close{width:36px;padding:0}.ai-header-actions em{min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;border-radius:9px;background:var(--orange);font-size:9px;font-style:normal;font-weight:700}.ai-workspace{min-height:0;display:block;flex:1;position:relative}.ai-history-panel{width:min(340px,calc(100% - 28px));padding:16px;display:flex;flex-direction:column;position:absolute;top:14px;right:14px;bottom:14px;z-index:8;border:1px solid #c9d9d1;border-radius:14px;background:#fff;box-shadow:0 18px 46px #0d392c33}.ai-history-panel>header{padding-bottom:12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.ai-history-panel>header div{display:flex;flex-direction:column}.ai-history-panel>header b{font-size:14px}.ai-history-panel>header small{margin-top:2px;color:var(--ink-soft);font-size:9px}.ai-history-panel>header button{width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:8px;background:#eff5f2;color:var(--green-dark);cursor:pointer}.ai-history-list{min-height:0;padding:8px 0;display:flex;flex:1;flex-direction:column;gap:6px;overflow:auto}.ai-history-list>button{width:100%;padding:11px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.ai-history-list>button:hover{background:#f3f7f5}.ai-history-list>button.active{border-color:#a9cbbd;background:var(--green-soft)}.ai-history-list>button span{min-width:0;display:flex;flex-direction:column}.ai-history-list>button b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.ai-history-list>button small,.ai-history-list time{margin-top:3px;color:var(--ink-soft);font-size:8px}.ai-history-list time{flex:0 0 auto}.ai-history-empty{margin:auto;padding:24px 8px;display:flex;align-items:center;flex-direction:column;color:#8ba096;text-align:center}.ai-history-empty b{margin:9px 0 3px;color:var(--ink);font-size:12px}.ai-history-empty small{font-size:9px}.ai-history-new{min-height:40px;display:flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:9px;background:var(--green);color:#fff;font-size:11px;font-weight:700;cursor:pointer}.ai-capability-intro{margin:2px 0 18px}.ai-capability-intro>div:first-child{margin-bottom:10px;display:flex;align-items:baseline;justify-content:space-between}.ai-capability-intro>div:first-child b{font-size:12px}.ai-capability-intro>div:first-child small{color:var(--ink-soft);font-size:9px}.ai-capability-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.ai-capability-grid>button{min-height:64px;padding:10px 11px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;border:1px solid #cadbd3;border-radius:10px;background:#fff;color:var(--green-dark);text-align:left;cursor:pointer}.ai-capability-grid>button:hover{border-color:#83b5a4;background:#f9fcfa;box-shadow:0 5px 15px #1945380f}.ai-capability-grid>button>span:first-child{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--green-soft);color:var(--green)}.ai-capability-grid>button>span:nth-child(2){min-width:0;display:flex;flex-direction:column}.ai-capability-grid>button b{font-size:11px}.ai-capability-grid>button small{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft);font-size:9px}.ai-capability-grid>button>.icon{color:#8ca198}.ai-conversation{height:100%;min-width:0;min-height:0;display:flex;flex-direction:column;background:#f6f9f7}.ai-body{padding:20px 22px;overflow:auto;flex:1;scrollbar-color:#b9cbc2 transparent}.ai-message,.ai-user{max-width:88%;margin-bottom:14px;padding:14px 16px;border-radius:13px;font-size:12px;line-height:1.75}.ai-message{background:#fff;border:1px solid var(--line);box-shadow:0 4px 16px #1d44380a}.ai-user{margin-left:auto;background:var(--green);color:#fff}.ai-message-title{margin-bottom:6px;display:flex;align-items:center;gap:6px;color:var(--green);font-size:10px;font-weight:750}.ai-suggestions{margin-top:6px;padding-top:5px}.ai-suggestions>div:first-child{margin-bottom:10px;display:flex;align-items:baseline;justify-content:space-between}.ai-suggestions b{font-size:12px}.ai-suggestions small{color:var(--ink-soft);font-size:9px}.quick-questions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-questions button{min-height:39px;padding:7px 10px;display:flex;align-items:center;justify-content:space-between;border:1px solid #cadbd3;border-radius:9px;background:#fff;color:var(--green-dark);font-size:10px;text-align:left;cursor:pointer}.quick-questions button:hover{border-color:#83b5a4;background:#f9fcfa}.quick-questions .icon{flex:0 0 auto;color:#8ba097}.ai-result{width:100%;margin-top:12px;padding:0;display:grid;grid-template-columns:112px 1fr;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:#fbfdfc;color:var(--ink);text-align:left;cursor:pointer}.ai-result:hover{border-color:#8eb9a9;box-shadow:0 6px 18px #184f3d17}.ai-result .art{min-height:120px}.ai-result-content{padding:11px 13px;display:flex;flex-direction:column;align-items:flex-start}.ai-result-content b{margin:7px 0 4px;font-size:12px}.ai-result-content small{color:var(--ink-soft);font-size:9px}.ai-result-content em{margin-top:auto;display:flex;align-items:center;gap:3px;color:var(--green);font-size:10px;font-style:normal;font-weight:700}.ai-conversation>form{margin:0 18px;padding:8px 8px 8px 12px;display:flex;align-items:center;gap:8px;border:1px solid #bdd0c7;border-radius:12px;background:#fff;box-shadow:0 7px 22px #1a453814}.ai-conversation>form>.icon{color:var(--green)}.ai-conversation>form input{min-width:0;flex:1;border:0;outline:0;padding:7px 3px;font-size:12px}.ai-conversation>form .button{min-width:92px}.ai-disclaimer{padding:8px 20px 10px;color:#8a9b93;font-size:8px;text-align:center}.toast{max-width:420px;padding:12px 18px;position:fixed;top:22px;left:50%;z-index:200;transform:translate(-50%);display:flex;align-items:center;gap:9px;color:#fff;background:#173d33;border-radius:10px;box-shadow:var(--shadow);font-size:13px}.toast-check{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#3e9d76}.page-hero{min-height:250px;padding:48px max(24px,calc((100% - 1200px)/2));display:flex;align-items:center;justify-content:space-between;gap:40px;background:linear-gradient(120deg,#e7f4eb,#f5f8ec);border-bottom:1px solid var(--line)}.page-hero h1{margin-bottom:10px;font-family:"Noto Serif SC";font-size:40px}.page-hero p{margin:0}.hero-search{width:500px;height:56px;padding:5px 5px 5px 15px;display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #c9ddd3;border-radius:12px;box-shadow:var(--shadow)}.hero-search input{min-width:0;flex:1;border:0;outline:0}.list-page{padding-top:28px}.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.filter-bar>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.filter-bar button,.result-row button,.tabs-row button{padding:7px 11px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink-soft);font-size:12px;cursor:pointer}.filter-bar button.active,.result-row button.active,.tabs-row button.active{color:var(--green);background:var(--green-soft);font-weight:700}.filter-actions>button{border-color:var(--line);background:#fff;display:flex;align-items:center;gap:5px}.view-toggle{padding:3px;display:flex;background:#edf2ef;border-radius:9px}.view-toggle button{padding:5px 9px!important}.view-toggle button.active{background:#fff;box-shadow:0 2px 6px #00000012}.result-row{margin:22px 0;display:flex;align-items:center;justify-content:space-between;color:var(--ink-soft);font-size:12px}.result-row b{color:var(--green)}.result-row>div{display:flex}.empty-state{padding:70px 20px;text-align:center;background:#fff;border:1px dashed #bdcec5;border-radius:var(--radius)}.empty-state>span{width:58px;height:58px;margin:0 auto 14px;display:grid;place-items:center;border-radius:50%;background:#edf4f0;color:#81978d}.empty-state p{font-size:12px}.calendar-view{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.calendar-view>header{padding:15px;display:flex;justify-content:center;align-items:center;gap:18px;border-bottom:1px solid var(--line)}.calendar-view h3{margin:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-grid>b{padding:12px;text-align:center;color:var(--ink-soft);font-size:12px;background:#f5f8f6}.calendar-grid>div{min-height:104px;padding:9px;border-top:1px solid var(--line);border-right:1px solid var(--line)}.calendar-grid>div:nth-child(7n){border-right:0}.calendar-grid .outside{background:#fafcfb}.calendar-grid span{font-size:12px}.calendar-grid a{margin-top:9px;padding:7px;display:block;border-radius:7px;background:var(--green-soft);color:var(--green-dark);font-size:10px}.calendar-grid a i{display:inline-block;width:5px;height:5px;margin-right:4px;border-radius:50%;background:var(--green)}.breadcrumb{width:var(--page);margin:0 auto;padding:18px 0;display:flex;gap:8px;align-items:center;overflow:hidden;color:var(--ink-soft);font-size:11px}.breadcrumb b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.detail-hero{width:var(--page);margin:0 auto 42px;display:grid;grid-template-columns:.95fr 1.05fr;gap:42px}.detail-art{min-height:390px;position:relative;overflow:hidden;border-radius:18px}.detail-art>.tag{position:absolute;left:20px;top:20px}.detail-summary{padding:24px 0}.detail-summary h1,.course-detail-head h1,.reward-detail h1{font-family:"Noto Serif SC";font-size:36px;line-height:1.35}.detail-summary>p{font-size:14px}.detail-meta{margin-top:26px;display:grid;gap:14px}.detail-meta>div{display:flex;gap:11px;align-items:flex-start}.detail-meta .icon{color:var(--green)}.detail-meta span{display:flex;flex-direction:column}.detail-meta small{color:var(--ink-soft);font-size:10px}.detail-meta b{margin-top:3px;font-size:13px}.detail-meta button{padding:0;border:0;background:transparent;color:var(--blue);font-size:11px;text-align:left;cursor:pointer}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:34px}.detail-content,.booking-box,.practice-card{padding:30px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.detail-content h2{font-family:"Noto Serif SC";font-size:25px}.detail-content h3{margin-top:28px}.detail-content p,.detail-content li{font-size:13px;line-height:1.8}.experience-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.experience-list span{padding:15px;display:flex;flex-direction:column;background:#edf6f1;border-radius:9px;font-size:12px}.experience-list b{margin-bottom:8px;color:var(--green);font-size:20px}.organizer{margin-top:26px;padding-top:20px;display:flex;align-items:center;gap:11px;border-top:1px solid var(--line)}.organizer div{display:flex;flex-direction:column}.organizer small{color:var(--ink-soft);font-size:10px}.booking-box{height:max-content;position:sticky;top:94px}.capacity{display:flex;align-items:center;justify-content:space-between}.capacity small{display:block;color:var(--ink-soft)}.capacity b{font-size:34px}.capacity em{font-size:14px;color:var(--ink-soft);font-style:normal}.ring{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--orange) var(--value),#edf1ef 0);position:relative}.ring:after{content:"";width:48px;height:48px;position:absolute;border-radius:50%;background:#fff}.ring span{z-index:1;font-size:10px}.booking-box>.progress{margin:18px 0 9px}.booking-box>p{font-size:11px}.booking-box>.button{width:100%;margin-top:10px}.reason{display:block;margin-top:12px;text-align:center;color:var(--ink-soft);font-size:10px}.modal-backdrop{padding:20px;position:fixed;inset:0;z-index:180;display:grid;place-items:center;background:#0a1f198f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{width:min(460px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:22px;background:#fff;border-radius:16px;box-shadow:0 28px 70px #00000047}.modal.wide{width:min(760px,100%)}.modal>header{margin-bottom:18px;display:flex;align-items:center;justify-content:space-between}.modal>header h2{margin:0;font-size:20px}.modal>header button{border:0;background:transparent;cursor:pointer}.modal>p{font-size:13px}.modal-actions{margin-top:22px;display:flex;justify-content:flex-end;gap:9px}.narrow-page{width:min(760px,calc(100% - 32px));margin:42px auto 80px}.steps{display:flex;align-items:center;justify-content:center;margin-bottom:25px;color:#87978f;font-size:11px}.steps span{padding:7px 10px;border-radius:20px}.steps span.done,.steps span.active{color:var(--green);background:var(--green-soft);font-weight:700}.steps i{width:60px;height:1px;background:#cbd7d1}.checkout-card{padding:36px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.checkout-card>h1{font-family:"Noto Serif SC"}.checkout-item{margin:25px 0;padding:14px;display:grid;grid-template-columns:150px 1fr;gap:18px;background:#f3f7f5;border-radius:12px}.checkout-item .art{border-radius:9px}.checkout-item h3{margin:7px 0}.checkout-item p{margin:2px 0;font-size:11px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label,.profile-form label,.settings-form label,.admin-card>label{display:flex;flex-direction:column;gap:7px;color:var(--ink-soft);font-size:12px}.form-grid .wide,.profile-form .wide,.settings-form .wide{grid-column:1/-1}input,select,textarea{border:1px solid #cad8d1;border-radius:8px;background:#fff;padding:10px 11px;color:var(--ink)}textarea{min-height:84px;resize:vertical}.check-line{margin:18px 0;display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;color:var(--ink-soft);font-size:11px!important}.check-line input{accent-color:var(--green)}.check-line a{color:var(--blue)}.checkout-actions{display:flex;justify-content:flex-end;gap:9px}.success-page{text-align:center}.success-icon{width:70px;height:70px;margin:0 auto 18px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--green)}.success-page h1{font-family:"Noto Serif SC"}.voucher-card{width:390px;max-width:100%;margin:24px auto;padding:22px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.voucher-card header{display:flex;align-items:center;justify-content:space-between}.voucher-card header small,.voucher-card>small{color:var(--ink-soft);font-size:9px}.qr-code-image{width:168px;height:168px;margin:22px auto 13px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #173d3314}.qr-code-image.compact{width:112px;height:112px;margin:12px auto;padding:5px;border-radius:8px}.qr-code-image img{width:100%;height:100%;display:block;object-fit:contain}.digital-code{display:block;font-size:25px;letter-spacing:.15em}.voucher-info{margin-top:18px;padding-top:13px;display:grid;grid-template-columns:1fr 1fr;border-top:1px dashed #bdccc5}.voucher-info span{display:flex;flex-direction:column;color:var(--ink-soft);font-size:9px}.voucher-info b{margin-top:4px;color:var(--ink);font-size:12px}.success-actions{display:flex;justify-content:center;gap:9px}.map-page{height:calc(100vh - 106px);min-height:650px;display:flex;flex-direction:column}.map-topbar{padding:17px max(24px,calc((100% - 1200px)/2));display:grid;grid-template-columns:220px 1fr 180px;align-items:center;gap:24px;background:#fff;border-bottom:1px solid var(--line)}.map-topbar h1{margin:0;font-family:"Noto Serif SC";font-size:25px}.map-search{height:45px;padding-left:12px;display:flex;align-items:center;gap:8px;border:1px solid #bdd0c6;border-radius:10px}.map-search input{min-width:0;flex:1;border:0}.map-count{display:flex;align-items:center;gap:9px}.map-count b{font-size:32px;color:var(--green)}.map-count span{color:var(--ink-soft);font-size:10px}.map-canvas{min-height:300px;flex:1;position:relative;overflow:hidden;background:#e8edf0}.sim-map-base{position:absolute;inset:-5%;overflow:hidden;background:linear-gradient(145deg,#eef2f4,#e6ecef)}.map-district{position:absolute;border:1px solid #cbd4d9;border-radius:8px;background-color:#dde5e9;background-image:repeating-linear-gradient(90deg,transparent 0 22px,rgba(255,255,255,.3) 22px 24px),repeating-linear-gradient(0deg,transparent 0 17px,rgba(255,255,255,.26) 17px 19px);box-shadow:inset 0 0 0 2px #ffffff2e}.district-1{left:2%;top:5%;width:22%;height:20%;transform:rotate(-2deg)}.district-2{left:26%;top:3%;width:20%;height:18%;transform:rotate(1deg)}.district-3{left:48%;top:4%;width:22%;height:21%;transform:rotate(-1deg)}.district-4{left:72%;top:2%;width:17%;height:24%;transform:rotate(2deg)}.district-5{left:4%;top:30%;width:19%;height:22%;transform:rotate(1deg)}.district-6{left:26%;top:27%;width:23%;height:25%;transform:rotate(-2deg)}.district-7{left:52%;top:29%;width:18%;height:21%;transform:rotate(2deg)}.district-8{left:73%;top:31%;width:15%;height:23%;transform:rotate(-1deg)}.district-9{left:1%;top:58%;width:24%;height:23%;transform:rotate(-2deg)}.district-10{left:29%;top:58%;width:20%;height:27%;transform:rotate(2deg)}.district-11{left:52%;top:58%;width:18%;height:28%;transform:rotate(-1deg)}.district-12{left:74%;top:60%;width:14%;height:25%;transform:rotate(2deg)}.map-water{position:absolute;z-index:1;background:#93d2e5;box-shadow:0 0 0 5px #ffffff8c}.main-river{width:76px;height:130%;right:5%;top:-15%;border-radius:45% 35% 48% 42%;transform:rotate(7deg)}.city-canal{width:112%;height:28px;left:-5%;top:79%;border-radius:50%;transform:rotate(-7deg)}.map-park{position:absolute;z-index:1;border:1px solid #a8cf9f;background:#bfe2b4;box-shadow:inset 0 0 0 8px #fff3}.park-west{left:8%;top:16%;width:16%;height:26%;border-radius:48% 36% 45% 38%;transform:rotate(-8deg)}.park-central{left:42%;top:35%;width:13%;height:18%;border-radius:40% 55% 42% 51%;transform:rotate(12deg)}.park-south{left:60%;top:71%;width:15%;height:20%;border-radius:53% 40% 48% 37%;transform:rotate(-9deg)}.map-road{position:absolute;z-index:2;display:block;background:#f5f7f8;box-shadow:0 0 0 1px #a6b4bb80}.map-road.arterial{height:13px;background:linear-gradient(#f8fafb 0 45%,#dfb965 45% 55%,#f8fafb 55%)}.road-east-west{width:108%;left:-4%;top:52%;transform:rotate(-1deg)}.road-north-south{width:106%;left:8%;top:49%;transform:rotate(84deg)}.map-road.secondary{height:7px;background:#f3f6f7;box-shadow:0 0 0 1px #b0bdc361}.road-s1{width:55%;left:-3%;top:28%;transform:rotate(1deg)}.road-s2{width:52%;left:45%;top:68%;transform:rotate(-1deg)}.map-area-label,.map-street-label,.map-landmark{position:absolute;z-index:2;pointer-events:none;text-shadow:0 1px 0 rgba(255,255,255,.9)}.map-area-label{color:#6e7e84;font-size:11px;letter-spacing:.08em}.label-sheshan{left:8%;top:11%}.label-university{left:28%;top:38%}.label-new-city{left:59%;top:31%}.map-street-label{padding:1px 4px;border-radius:4px;background:#ffffffb8;color:#738087;font-size:9px}.street-w{left:36%;top:49%;transform:rotate(-1deg)}.street-e{left:48%;top:29%;transform:rotate(84deg)}.street-s{left:70%;top:65%;transform:rotate(-1deg)}.map-landmark{padding:3px 6px;border:1px solid rgba(107,145,127,.25);border-radius:5px;background:#f5faf7e0;color:#527064;font-size:9px}.landmark-park{left:14%;top:22%}.landmark-g60{left:67%;top:40%}.landmark-college{left:38%;top:72%}.map-pin{width:32px;height:32px;margin:-16px 0 0 -16px;position:absolute;z-index:4;border:3px solid white;border-radius:50% 50% 50% 12%;transform:rotate(-45deg);background:var(--green);box-shadow:0 4px 11px #0d413147;cursor:pointer}.map-pin span{display:grid;place-items:center;transform:rotate(45deg);color:#fff;font-size:10px}.map-pin.museum{background:#2779bf}.map-pin.base{background:#009b80}.map-pin.school{background:#755cb5}.map-pin.event{background:#d38d44}.map-pin.selected{width:42px;height:42px;margin:-21px 0 0 -21px;z-index:5;box-shadow:0 0 0 8px #0e745424}.map-canvas.mini .map-pin{width:19px;height:19px;border-width:2px}.map-canvas.mini .map-area-label{font-size:8px}.map-canvas.mini .map-street-label,.map-canvas.mini .map-landmark{display:none}.map-canvas.mini .map-district{background-size:65% 65%}.map-simulation-note{padding:4px 7px;position:absolute;left:18px;bottom:16px;z-index:5;border:1px solid rgba(112,132,123,.25);border-radius:5px;background:#ffffffd1;color:#687a72;font-size:8px}.map-filters{padding:7px;position:absolute;left:20px;top:20px;z-index:5;display:flex;gap:5px;background:#ffffffeb;border-radius:10px;box-shadow:var(--shadow)}.map-filters button{padding:7px 10px;border:0;border-radius:7px;background:transparent;font-size:10px;cursor:pointer}.map-filters button.active{background:var(--green);color:#fff}.map-tools{position:absolute;right:20px;bottom:20px;z-index:5;display:flex;flex-direction:column;background:#fff;border-radius:9px;box-shadow:var(--shadow);overflow:hidden}.map-tools button{width:38px;height:38px;border:0;border-bottom:1px solid var(--line);background:#fff;font-size:18px}.map-drawer-scrim{position:absolute;inset:0;z-index:8;border:0;background:#1c302b0f;cursor:default}.poi-drawer{width:355px;max-height:calc(100% - 35px);padding:16px;position:absolute;right:18px;top:18px;z-index:10;overflow:auto;background:#fff;border-radius:15px;box-shadow:0 20px 50px #16382f38}.poi-drawer>.art{height:140px;margin-bottom:14px;border-radius:10px}.drawer-close{width:32px;height:32px;position:absolute;right:24px;top:24px;z-index:2;display:grid;place-items:center;border:0;border-radius:50%;background:#fff}.poi-drawer h2{margin:9px 0;font-size:19px}.poi-drawer>p{font-size:11px}.poi-info{display:grid;gap:8px}.poi-info span{display:flex;align-items:flex-start;gap:7px;color:var(--ink-soft)}.poi-info b{font-size:11px;font-weight:500}.poi-actions{margin:17px 0;display:flex;gap:8px}.related{padding-top:13px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);font-size:11px}.related a{display:flex;align-items:center;color:var(--green)}.hero-stat{display:flex;align-items:center;gap:12px;padding:15px 20px;background:#fff;border-radius:12px;border:1px solid var(--line)}.hero-stat b{font-size:23px}.hero-stat span{color:var(--ink-soft);font-size:10px}.hero-stat i{height:30px;width:1px;background:var(--line)}.course-detail-head{width:var(--page);margin:0 auto 42px;display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}.course-cover{height:380px;position:relative;overflow:hidden;border-radius:18px}.play.large{width:68px;height:68px;position:absolute;left:calc(50% - 34px);top:calc(50% - 34px);display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--green);box-shadow:var(--shadow);font-size:22px}.course-detail-head .eyebrow{display:inline-block;margin-left:10px}.course-detail-head>div:last-child>p{font-size:13px}.course-numbers{margin:22px 0;display:flex;gap:20px}.course-numbers span{color:var(--ink-soft);font-size:10px}.course-numbers b{display:block;color:var(--ink);font-size:17px}.teacher-row{margin:18px 0;display:flex;align-items:center;gap:9px}.teacher-row>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#296d91;color:#fff}.teacher-row div{display:flex;flex-direction:column}.teacher-row small{color:var(--ink-soft);font-size:9px}.teacher-row b{font-size:12px}.chapter-list{display:grid}.chapter-list>div{padding:13px 0;display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.chapter-list>div>span{font-family:serif;color:#99aaa2}.chapter-list div div{display:flex;flex-direction:column}.chapter-list small{color:var(--ink-soft);font-size:9px}.practice-card{height:max-content;background:#edf6f1}.practice-meta{display:grid;gap:9px}.practice-meta>span{padding:11px;display:grid;grid-template-columns:22px 1fr;align-items:center;border:1px solid #d3e4dc;border-radius:9px;background:#ffffffb3}.practice-meta .icon{grid-row:1/3;color:var(--green)}.practice-meta small{color:var(--ink-soft);font-size:9px}.practice-meta b{font-size:11px;line-height:1.5}.practice-card ul{padding-left:18px;color:var(--ink-soft);font-size:12px}.practice-card .button{width:100%}.learn-shell{min-height:100vh;background:#eff3f1}.learn-shell>header{height:62px;padding:0 24px;display:grid;grid-template-columns:180px 1fr 180px;align-items:center;background:#14392f;color:#fff;font-size:12px}.learn-shell>header b{text-align:center}.learn-shell>header span{text-align:right;color:#b8cfc6}.learn-grid{display:grid;grid-template-columns:310px minmax(0,1fr);min-height:calc(100vh - 62px)}.learn-grid>main{min-width:0}.lesson-stage-title{height:58px;padding:0 22px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);background:#fff}.lesson-stage-title span{padding:5px 8px;border-radius:6px;background:var(--green-soft);color:var(--green);font-size:10px;font-weight:700}.lesson-stage-title b{font-size:14px}.mock-player{height:55vh;min-height:380px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;background:#183f34;position:relative}.mock-player.tech{background:#183b55}.mock-player.space{background:#18233e}.player-shape{text-align:center}.player-shape p{color:#c4d9d1;font-size:12px}.player-controls{height:54px;padding:0 20px;position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:12px;background:linear-gradient(transparent,#000000ad)}.player-controls button{border:0;background:transparent;color:#fff}.player-controls span{font-size:10px}.player-controls .progress{flex:1;background:#ffffff4d}.player-controls .progress i{background:var(--orange)}.lesson-notes{padding:30px max(30px,calc((100% - 850px)/2));background:#fff}.lesson-notes h1{margin-top:10px;font-size:25px}.lesson-notes>p{font-size:13px}.rule-note{margin:20px 0;padding:15px;display:flex;gap:11px;background:#fff8e9;border:1px solid #f0d9a3;border-radius:9px}.rule-note .icon{color:var(--orange)}.rule-note b{font-size:12px}.rule-note p{margin:3px 0 0;font-size:10px}.lesson-notes>.button{margin-right:8px}.learn-grid>aside{padding:22px;background:#f7faf8;border-right:1px solid var(--line)}.learn-grid>aside>p{font-size:10px}.learn-grid>aside>button{width:100%;padding:12px 7px;display:grid;grid-template-columns:28px 1fr;gap:7px;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;cursor:pointer}.learn-grid>aside>button.active{background:var(--green-soft);border-radius:8px}.learn-grid>aside>button>span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#e4ebe7;font-size:10px}.learn-grid>aside>button div{display:flex;flex-direction:column}.learn-grid>aside>button b{font-size:11px}.learn-grid>aside>button small{color:var(--ink-soft);font-size:9px}.learn-practical{margin-top:28px;padding:20px;display:grid;grid-template-columns:.8fr 1.2fr;gap:20px;align-items:center;border:1px solid #d3e4dc;border-radius:12px;background:#f3f8f5}.learn-practical h2{margin:7px 0 0;font-size:17px}.course-completion-voucher{margin-top:22px;padding:22px;display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:24px;align-items:center;border:1px solid #bcd9cc;border-radius:14px;background:linear-gradient(135deg,#eff9f4,#fff)}.course-completion-voucher h2{margin:10px 0 7px;font-size:20px}.course-completion-voucher p{max-width:560px;color:var(--ink-soft);font-size:11px;line-height:1.7}.course-completion-voucher dl{margin:16px 0 0;display:flex;gap:28px}.course-completion-voucher dl div{display:flex;flex-direction:column}.course-completion-voucher dt{color:var(--ink-soft);font-size:9px}.course-completion-voucher dd{margin:3px 0 0;font-size:11px;font-weight:700}.course-completion-voucher>div:last-child{text-align:center}.course-completion-voucher .qr-code-image{margin:0 auto 9px}.course-completion-voucher .digital-code{font-size:20px}.course-completion-voucher>div:last-child>small{display:block;margin-top:5px;color:var(--ink-soft);font-size:8px}.points-balance{min-width:210px;padding:18px 24px;border-radius:14px;background:#0e6d50;color:#fff}.points-balance small,.points-balance a{display:block;color:#c5e2d7;font-size:10px}.points-balance b{display:block;font-size:39px}.points-balance a{margin-top:5px}.points-page{padding-top:32px}.points-rule{margin-bottom:50px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.points-rule>div{padding:20px;display:grid;grid-template-columns:44px 1fr;column-gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px}.points-rule>div>span{width:42px;height:42px;grid-row:1/3;display:grid;place-items:center;border-radius:11px;background:var(--green-soft);color:var(--green)}.points-rule b{font-size:13px}.points-rule small{color:var(--ink-soft);font-size:10px}.rewards-grid{grid-template-columns:repeat(3,1fr)}.reward-card{padding:15px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.reward-card>.art{height:190px;margin-bottom:15px;border-radius:11px}.reward-card h3{margin:9px 0}.reward-card p{min-height:48px;font-size:11px}.reward-card>div:last-child{padding-top:12px;display:flex;align-items:end;justify-content:space-between;border-top:1px solid var(--line)}.reward-card>div b{color:var(--orange);font-size:22px}.reward-card>div b small,.reward-card>div span{font-size:10px;color:var(--ink-soft)}.reward-detail{width:var(--page);margin:0 auto 80px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.reward-detail>div:first-child{height:480px;overflow:hidden;border-radius:18px}.reward-detail>div:first-child .art{height:100%}.reward-detail>div:last-child>p{font-size:13px}.reward-cost{margin:24px 0;padding:15px;background:#fff5ea;border-radius:10px;color:var(--orange)}.reward-cost b{font-size:38px}.reward-cost span{margin-left:5px}.reward-cost small{float:right;margin-top:18px;color:var(--ink-soft)}.stock-line{padding:11px 0;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);font-size:12px}.reward-detail .button{width:100%;margin-top:22px}.mini-voucher{padding:20px;text-align:center;background:#fff6ec;border:1px dashed #e2a56e;border-radius:12px}.mini-voucher b{display:block;margin:12px;font-size:28px;letter-spacing:.12em}.mini-voucher small{color:var(--ink-soft)}.order-list{display:grid;gap:12px}.order-card{padding:14px;display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:18px;background:#fff;border:1px solid var(--line);border-radius:12px}.order-card>.art{height:90px;border-radius:9px}.order-card h3{margin:8px 0}.order-card p{margin:0;font-size:10px}.order-code{padding-left:25px;display:flex;flex-direction:column;border-left:1px dashed #bfcfc7}.order-code small,.order-code span{color:var(--ink-soft);font-size:9px}.order-code b{font-size:22px;letter-spacing:.12em}.notice{margin-bottom:24px;padding:16px 20px;display:flex;gap:12px;background:#e9f3fa;border:1px solid #bed7e8;border-radius:11px;color:var(--blue)}.notice b{font-size:13px}.notice p{margin:2px 0 0;font-size:10px}.notice.slim{margin-top:16px}.news-page{padding-top:34px}.news-feature{margin-bottom:28px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;background:#153e33;border-radius:17px}.news-feature>.art{min-height:310px}.news-feature>div:last-child{padding:40px;color:#fff}.news-feature h2{margin:14px 0;font-family:"Noto Serif SC";font-size:27px}.news-feature p{color:#c7dbd4;font-size:12px}.news-feature small{display:block;margin-bottom:18px;color:#9fb9af;font-size:10px}.news-table{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.news-table>header{padding:17px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.news-table>header span{color:var(--ink-soft);font-size:10px}.news-table article{padding:17px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;border-bottom:1px solid var(--line)}.news-table article>span{font-size:22px;color:#9eafa7;font-family:serif}.news-table h3{display:inline;margin:0 6px;font-size:14px}.news-table p{margin:5px 0 0;font-size:10px}.news-table article>button{border:0;background:transparent;color:var(--blue);font-size:11px}.vr-list{display:grid;gap:22px}.vr-list article{min-height:280px;display:grid;grid-template-columns:1fr 1.25fr;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.vr-list article>div:last-child{padding:32px;display:flex;flex-direction:column;align-items:flex-start}.vr-list h2{margin:12px 0;font-family:"Noto Serif SC"}.vr-list p{font-size:12px}.vr-list article>div>span:not(.tag){margin-bottom:5px;color:var(--ink-soft);font-size:10px}.vr-list article a{color:var(--blue)}.vr-list .button{margin-top:auto}.profile-head{padding:34px max(24px,calc((100% - 1200px)/2));display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;color:#fff;background:linear-gradient(105deg,#15483a,#246e5b)}.profile-avatar{width:68px;height:68px;display:grid;place-items:center;border-radius:20px 20px 20px 6px;background:#e1a05a;color:#fff;font-size:25px;font-weight:700}.profile-avatar.has-image{padding:3px;overflow:hidden;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:#fff;box-shadow:0 7px 18px #0000001f}.profile-avatar.has-image .public-avatar-image{border-radius:50%}.profile-head h1{margin:6px 0 2px}.profile-head p{margin:0;color:#bdd6cc;font-size:11px}.profile-head>div:last-child{text-align:right}.profile-head>div:last-child small{display:block;color:#bdd6cc}.profile-head>div:last-child b{font-size:34px}.profile-layout{padding-top:30px;display:grid;grid-template-columns:190px 1fr;gap:24px}.profile-mobile-home,.profile-mobile-detail-head{display:none}.profile-layout>aside{height:max-content;padding:7px;background:#fff;border:1px solid var(--line);border-radius:12px;position:sticky;top:94px}.profile-layout>aside button{width:100%;padding:10px 12px;display:flex;justify-content:space-between;border:0;border-radius:7px;background:transparent;color:var(--ink-soft);font-size:12px;text-align:left;cursor:pointer}.profile-layout>aside button.active{background:var(--green-soft);color:var(--green);font-weight:700}.profile-layout>main{min-width:0}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.profile-stats>div{padding:18px;display:grid;grid-template-columns:38px 1fr;background:#fff;border:1px solid var(--line);border-radius:11px}.profile-stats span{width:34px;height:34px;grid-row:1/3;display:grid;place-items:center;border-radius:9px;background:var(--green-soft);color:var(--green)}.profile-stats b{font-size:21px}.profile-stats small{color:var(--ink-soft)}.profile-layout main>h3{margin-top:28px}.continue-card{padding:13px;display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-radius:12px}.continue-card>.art{height:95px;border-radius:9px}.continue-card h3{margin:7px 0}.continue-card small{color:var(--ink-soft);font-size:9px}.profile-activity-list,.profile-course-list{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.timeline{padding-left:15px}.timeline>div{padding:0 0 24px 26px;position:relative;border-left:1px solid #b8cbc1;display:grid;grid-template-columns:95px 1fr}.timeline>div>i{width:11px;height:11px;position:absolute;left:-6px;top:4px;border:3px solid white;border-radius:50%;background:var(--green);box-shadow:0 0 0 1px var(--green)}.timeline>div>small{color:var(--ink-soft)}.timeline>div>span{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px}.timeline em{font-style:normal;color:var(--green);font-size:11px}.timeline.compact{margin-top:15px}.passport{overflow:hidden;background:#f8f1df;border:1px solid #dfcfa8;border-radius:17px;box-shadow:var(--shadow)}.passport>header{padding:28px;display:flex;gap:15px;color:#143d32;background:#e7dbbb}.passport>header small{letter-spacing:.12em}.passport>header h2{margin:5px 0}.passport>header p{margin:0;font-size:10px}.passport-map{padding:35px;display:flex;justify-content:space-around;gap:16px}.stamp{width:100px;height:100px;display:grid;place-items:center;text-align:center;border:3px double #2d735c;border-radius:50%;color:#25664f;font-family:"Noto Serif SC";transform:rotate(-8deg)}.stamp:nth-child(2){color:#a95a24;border-color:#a95a24;transform:rotate(6deg)}.stamp:nth-child(3){color:#3e5d90;border-color:#3e5d90}.stamp.locked{border-style:dashed;color:#a99d81;border-color:#bdb296}.passport>footer{padding:16px;display:flex;justify-content:center;gap:30px;background:#eee4ca;font-size:11px}.passport>footer b{font-size:18px}.helper-text{font-size:10px}.balance-card{margin-bottom:22px;padding:24px;color:#fff;background:#0e6d50;border-radius:13px}.balance-card span{display:block;color:#c5dfd5;font-size:10px}.balance-card b{font-size:38px}.balance-card a{float:right;margin-top:17px;font-size:11px}.record-table{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:11px}.record-table>div{padding:13px;display:grid;grid-template-columns:1.1fr 1.4fr .8fr .5fr;align-items:center;gap:10px;border-bottom:1px solid var(--line);font-size:11px}.record-table .table-head{background:#f0f4f2;color:var(--ink-soft);font-size:9px}.voucher-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.voucher-tabs article{padding:20px;background:#fff;border:1px solid var(--line);border-radius:12px}.voucher-tabs h3{min-height:42px;margin:12px 0}.voucher-tabs article>b{display:block;padding:10px;background:#f2f6f4;border-radius:7px;text-align:center;font-size:21px;letter-spacing:.12em}.voucher-tabs article>small{display:block;margin-top:10px;color:var(--ink-soft);font-size:9px}.profile-form,.settings-form{padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#fff;border:1px solid var(--line);border-radius:12px}.profile-form .button,.settings-form .button{width:max-content}.settings-list{display:grid;gap:10px}.settings-list>div{padding:17px;display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px}.settings-list span{display:flex;flex-direction:column}.settings-list small{color:var(--ink-soft)}.planned-page{width:min(650px,calc(100% - 32px));min-height:600px;margin:0 auto;padding:100px 20px;text-align:center}.planned-icon{width:90px;height:90px;margin:0 auto 20px;display:grid;place-items:center;border-radius:28px 28px 28px 8px;background:var(--green-soft);color:var(--green);font-size:25px}.planned-page h1{margin:15px 0;font-family:"Noto Serif SC";font-size:36px}.planned-page>p{font-size:14px}.planned-page>div{width:240px;margin:28px auto;padding:14px;display:flex;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:10px}.planned-page>small{display:block;margin-top:18px;color:var(--ink-soft)}.legal-page{width:min(820px,calc(100% - 40px));margin:50px auto 80px;padding:45px;background:#fff;border:1px solid var(--line);border-radius:16px}.legal-page h1{font-family:"Noto Serif SC"}.legal-page>p{font-size:13px}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#fff}.auth-visual{padding:42px max(40px,calc((100vw - 1200px)/2));padding-right:60px;position:relative;overflow:hidden;display:flex;flex-direction:column;color:#fff;background:#123f32}.auth-visual>div:nth-child(2){margin:auto 0;position:relative;z-index:2}.auth-visual .eyebrow{color:#8ed2b7}.auth-visual h1{font-family:"Noto Serif SC";font-size:42px;line-height:1.45}.auth-visual p{color:#c0d8cf}.auth-visual>.art{height:40%;position:absolute;left:0;right:0;bottom:0;opacity:.55}.auth-form{width:min(480px,calc(100% - 50px));margin:auto;padding:38px}.auth-form>h1{clear:both;padding-top:25px;margin-bottom:6px;font-family:"Noto Serif SC"}.auth-form>p{font-size:12px}.auth-form form{margin-top:26px;display:grid;gap:14px}.auth-form form>label{display:flex;flex-direction:column;gap:6px;font-size:11px}.auth-form form>.button{width:100%}.verify-input{position:relative}.verify-input .button{position:absolute;right:4px;bottom:4px;min-height:35px}.auth-links{margin-top:14px;display:flex;justify-content:space-between;color:var(--blue);font-size:11px}.admin-shell{min-height:100vh;background:#f2f5f4}.admin-sidebar{width:238px;padding:18px 13px 12px;position:fixed;left:0;top:0;bottom:0;z-index:40;display:flex;flex-direction:column;background:#123b31;color:#bfd2cb;transition:.2s}.admin-sidebar .platform-switcher{z-index:5}.admin-sidebar .brand{padding:2px 8px 20px}.admin-sidebar .brand-mark{background:var(--orange)}.role-label{margin:0 6px 10px;padding:9px 10px;border:1px solid rgba(255,255,255,.1);border-radius:8px;font-size:9px}.role-label b{display:block;margin-top:2px;color:#fff;font-size:11px}.admin-sidebar nav{overflow:auto;display:grid;gap:2px}.admin-sidebar nav a{padding:9px 11px;display:grid;grid-template-columns:24px 1fr auto;align-items:center;border-radius:7px;font-size:11px}.admin-sidebar nav a>span{font-size:15px;text-align:center}.admin-sidebar nav a.active,.admin-sidebar nav a:hover{color:#fff;background:#ffffff1a}.admin-sidebar nav a em{min-width:18px;height:18px;display:grid;place-items:center;border-radius:9px;background:var(--orange);color:#fff;font-size:8px;font-style:normal}.collapse-btn{margin-top:auto;padding:10px;border:0;border-top:1px solid rgba(255,255,255,.1);background:transparent;color:#a9c1b8;text-align:left}.admin-main{margin-left:238px;transition:.2s}.admin-main>header{height:62px;padding:0 22px;display:flex;align-items:center;gap:15px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.admin-main>header>button:first-child{display:none}.admin-search{width:360px;height:36px;padding:0 10px;display:flex;align-items:center;gap:7px;background:#f2f5f4;border-radius:8px}.admin-search input{width:100%;border:0;background:transparent;padding:0;font-size:11px}.admin-tools{margin-left:auto;display:flex;align-items:center;gap:9px}.admin-tools>button{border:0;background:transparent;font-size:10px;position:relative}.admin-tools>button>i{width:15px;height:15px;position:absolute;right:-3px;top:-5px;display:grid;place-items:center;border-radius:50%;background:var(--red);color:#fff;font-size:7px}.mobile-work-link{padding:7px 10px;border-radius:7px;background:var(--blue-soft);color:var(--blue);font-size:10px;font-weight:650}.admin-user{display:flex!important;align-items:center;gap:6px}.admin-user>span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#296d91;color:#fff}.admin-main>main{padding:24px}.admin-shell.collapsed .admin-sidebar{width:68px}.admin-shell.collapsed .admin-sidebar .brand>span:nth-child(2),.admin-shell.collapsed .admin-sidebar .platform-switch-trigger>.icon,.admin-shell.collapsed .role-label,.admin-shell.collapsed .admin-sidebar nav a b,.admin-shell.collapsed .admin-sidebar nav a em,.admin-shell.collapsed .collapse-btn span{display:none}.admin-shell.collapsed .admin-sidebar .brand{padding-left:1px}.admin-shell.collapsed .admin-sidebar .platform-menu{left:48px;top:0}.admin-shell.collapsed .admin-sidebar nav a{grid-template-columns:1fr}.admin-shell.collapsed .admin-main{margin-left:68px}.admin-page-head{margin-bottom:20px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.admin-page-head h1{margin:7px 0 4px;font-size:25px}.admin-page-head p{margin:0;font-size:11px}.admin-page-head>div:last-child{display:flex;gap:8px}.admin-bread{width:auto;margin:0;padding:0}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.kpi{padding:17px;display:grid;grid-template-columns:46px 1fr;background:#fff;border:1px solid var(--line);border-radius:11px}.kpi>span{width:40px;height:40px;grid-row:1/4;display:grid;place-items:center;border-radius:10px}.kpi>span.blue{background:var(--blue-soft);color:var(--blue)}.kpi>span.green{background:var(--green-soft);color:var(--green)}.kpi>span.orange{background:var(--orange-soft);color:var(--orange)}.kpi>span.purple{background:#eee9f8;color:#7652a5}.kpi small{color:var(--ink-soft);font-size:9px}.kpi b{font-size:23px}.kpi em{color:#348262;font-size:8px;font-style:normal}.kpi-grid.six{grid-template-columns:repeat(6,1fr)}.kpi-grid.six .kpi{display:block}.admin-dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px}.admin-card{padding:18px;background:#fff;border:1px solid var(--line);border-radius:11px}.admin-card.wide{grid-column:1/-1}.card-title{margin-bottom:15px;display:flex;align-items:center;justify-content:space-between}.card-title>div{display:flex;align-items:center;gap:8px}.card-title h3{margin:0;font-size:14px}.card-title span{padding:3px 7px;border-radius:6px;background:#f0f4f2;color:var(--ink-soft);font-size:8px}.card-title button{border:0;background:transparent;color:var(--blue);font-size:9px}.chart{height:240px;padding-left:28px;position:relative}.chart svg{width:calc(100% - 15px);height:195px;overflow:visible;border-bottom:1px solid var(--line);background:repeating-linear-gradient(#fff,#fff 48px,#edf1ef 49px)}.y-labels{position:absolute;left:0;top:0;height:200px;display:flex;flex-direction:column;justify-content:space-between;color:#8da096;font-size:8px}.x-labels{margin-left:0;display:flex;justify-content:space-between;color:#8da096;font-size:8px}.todo-card>a{padding:10px 0;display:grid;grid-template-columns:34px 1fr auto auto;align-items:center;gap:8px;border-bottom:1px solid var(--line)}.todo-card>a:last-child{border:0}.todo-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:var(--blue-soft);color:var(--blue)}.todo-icon.t1{background:var(--green-soft);color:var(--green)}.todo-icon.t2{background:var(--orange-soft);color:var(--orange)}.todo-icon.t3{background:#eee9f8;color:#7652a5}.todo-card a div{display:flex;flex-direction:column}.todo-card a b{font-size:10px}.todo-card a small{color:var(--ink-soft);font-size:8px}.todo-card a em{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#f2f5f3;font-style:normal;font-size:8px}.rank-card>div{padding:8px 0;display:grid;grid-template-columns:20px 1.4fr 1fr 32px;align-items:center;gap:7px;font-size:9px}.rank-card>div>span{width:18px;height:18px;display:grid;place-items:center;border-radius:5px;background:#edf2ef}.rank-card>div:nth-child(2)>span,.rank-card>div:nth-child(3)>span,.rank-card>div:nth-child(4)>span{background:#fff0e2;color:var(--orange)}.rank-bar{height:5px;background:#edf1ef;border-radius:5px}.rank-bar i{display:block;height:100%;background:var(--blue);border-radius:inherit}.rank-bar.green i{background:var(--green)}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-filters{margin-bottom:14px;padding:12px;display:flex;gap:8px;background:#fff;border:1px solid var(--line);border-radius:10px}.admin-toolbar .admin-filters{flex:1}.admin-filters label{width:280px;display:flex;align-items:center;gap:6px;padding:0 8px;border:1px solid var(--line);border-radius:7px}.admin-filters label input{min-width:0;width:100%;padding:7px 0;border:0}.admin-filters select{padding:7px 28px 7px 9px;font-size:10px}.admin-filters .button{min-height:34px;padding:0 14px;font-size:10px}.reset{border:0;background:transparent;color:var(--ink-soft);font-size:10px}.admin-table{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px}.admin-table-head,.admin-table-row{min-width:900px;padding:11px 14px;display:grid;grid-template-columns:2.2fr 1.1fr 1fr .8fr .8fr .8fr 1.2fr;gap:12px;align-items:center}.admin-table-head{position:sticky;top:0;z-index:2;background:#edf2ef;color:var(--ink-soft);font-size:9px;font-weight:650}.admin-table-row{border-bottom:1px solid var(--line);font-size:9px}.admin-table-row:hover{background:#fafcfb}.admin-table-row>span{min-width:0;display:flex;flex-direction:column;gap:4px}.admin-table-row b{overflow:hidden;text-overflow:ellipsis;font-size:10px}.admin-table-row small{color:var(--ink-soft);font-size:8px}.title-cell{display:grid!important;grid-template-columns:42px 1fr;align-items:center;gap:8px}.thumb{width:42px;height:34px;border-radius:6px;background:#9fc5ad}.thumb.tech{background:#7fb3c8}.thumb.space{background:#596b92}.thumb.field{background:#b5be79}.thumb.mushroom{background:#aa9a77}.thumb.sun{background:#d0a05e}.title-cell>span{min-width:0;display:flex;flex-direction:column}.row-actions{flex-direction:row!important}.row-actions button{padding:0;border:0;background:transparent;color:var(--blue);font-size:9px}.admin-table footer{padding:11px 14px;display:flex;justify-content:space-between;color:var(--ink-soft);font-size:9px}.admin-table footer button{width:25px;height:25px;border:1px solid var(--line);background:#fff;font-size:9px}.admin-table footer button.active{background:var(--green);color:#fff}.tabs-row{margin-bottom:14px;display:flex;gap:4px;border-bottom:1px solid var(--line)}.tabs-row button{padding:9px 13px;border-radius:7px 7px 0 0}.tabs-row button.active{border-bottom:2px solid var(--green);background:#fff}.tabs-row em{padding:1px 5px;border-radius:8px;background:var(--orange);color:#fff;font-size:8px;font-style:normal}.admin-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px}.admin-map-mini{padding:14px;background:#fff;border:1px solid var(--line);border-radius:10px}.admin-map-mini .map-canvas{height:300px;border-radius:8px}.admin-map-mini p{font-size:9px}.user-cell{flex-direction:row!important;align-items:center!important}.user-cell i{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#296d91;color:#fff;font-style:normal}.config-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin-card>label{margin-bottom:12px}.config-line{padding:9px 0;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.config-line span{display:flex;align-items:center;gap:8px}.config-line i{width:22px;height:22px;display:grid;place-items:center;border-radius:6px;background:#edf2ef;font-size:8px;font-style:normal}.config-line b{font-size:10px}.config-line button{border:0;background:transparent;color:var(--blue);font-size:9px}.rule-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rule-cards>div{padding:15px;border:1px solid var(--line);border-radius:9px}.rule-cards b{display:block;margin:10px 0 3px;font-size:11px}.rule-cards p{margin:0;font-size:9px}.analytics-filter{margin-bottom:14px;padding:10px 14px;display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:9px;font-size:9px}.analytics-filter button{padding:6px 9px;border:0;border-radius:6px;background:transparent;font-size:9px}.analytics-filter button.active{background:var(--green-soft);color:var(--green)}.analytics-filter input{padding:6px;font-size:9px}.analytics-filter .button{margin-left:auto;min-height:32px}.analysis-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:14px}.bar-chart{height:240px;padding:20px 0 0;display:flex;align-items:flex-end;justify-content:space-around;background:repeating-linear-gradient(#fff,#fff 54px,#edf1ef 55px)}.bar-chart>div{height:100%;display:flex;align-items:flex-end;gap:3px;position:relative}.bar-chart i{width:9px;background:var(--blue);border-radius:3px 3px 0 0}.bar-chart i:nth-child(2){background:var(--green)}.bar-chart span{position:absolute;bottom:-16px;left:0;color:var(--ink-soft);font-size:7px}.donut-wrap{height:240px;display:flex;align-items:center;justify-content:center;gap:25px}.donut{width:150px;height:150px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--green) 0 72%,var(--blue) 72% 92%,#e1e8e4 92%);position:relative}.donut:after{content:"";width:100px;height:100px;position:absolute;border-radius:50%;background:#fff}.donut>span{z-index:1;text-align:center;color:var(--ink-soft);font-size:8px}.donut b{display:block;color:var(--ink);font-size:21px}.donut-wrap>div:last-child{display:grid;gap:10px}.donut-wrap>div:last-child span{font-size:9px}.donut-wrap>div:last-child i{width:7px;height:7px;margin-right:7px;display:inline-block;border-radius:50%;background:var(--green)}.donut-wrap>div:last-child .c2{background:var(--blue)}.donut-wrap>div:last-child .c3{background:#e1e8e4}.donut-wrap>div:last-child b{margin-left:8px}.simple-bars{display:grid;gap:8px}.simple-bars>div{display:grid;grid-template-columns:280px 1fr 35px;align-items:center;gap:12px;font-size:9px}.simple-bars>div>div{height:7px;background:#edf2ef;border-radius:6px}.simple-bars i{display:block;height:100%;background:var(--blue);border-radius:inherit}.settings-admin-layout{display:grid;grid-template-columns:180px 1fr;gap:14px}.settings-admin-layout>aside{height:max-content;padding:7px;background:#fff;border:1px solid var(--line);border-radius:9px}.settings-admin-layout>aside button{width:100%;padding:9px;border:0;border-radius:6px;background:transparent;text-align:left;font-size:10px}.settings-admin-layout>aside button.active{background:var(--green-soft);color:var(--green)}.interface-status{padding:12px;display:flex;gap:16px;align-items:center;background:#f3f6f4;border-radius:8px;font-size:9px}.interface-status i{width:7px;height:7px;margin-right:4px;display:inline-block;border-radius:50%}.interface-status i.ok{background:var(--green)}.interface-status i.warn{background:var(--orange)}.extension-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.extension-grid>div{padding:20px;background:#fff;border:1px solid var(--line);border-radius:11px}.extension-grid>div>span:first-child{width:40px;height:40px;margin-bottom:14px;display:grid;place-items:center;border-radius:10px;background:var(--blue-soft);color:var(--blue)}.extension-grid h3{margin:10px 0}.extension-grid p{min-height:45px;font-size:10px}.extension-grid small{color:var(--ink-soft);font-size:9px}.workbench-status{margin-bottom:14px;padding:11px 14px;display:flex;align-items:center;gap:20px;background:#fff;border:1px solid var(--line);border-radius:9px;font-size:9px;color:var(--ink-soft)}.workbench-kpis{margin-bottom:14px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.workbench-kpis>div{padding:17px;background:#fff;border:1px solid var(--line);border-radius:9px}.workbench-kpis small{display:block;color:var(--ink-soft)}.workbench-kpis b{font-size:24px}.workbench-kpis em{font-size:9px;color:var(--ink-soft);font-style:normal}.workbench-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:14px}.funnel{display:flex;flex-direction:column;align-items:center;gap:8px}.funnel div{padding:11px;display:flex;justify-content:space-between;color:#fff;background:var(--blue);clip-path:polygon(4% 0,96% 0,100% 100%,0 100%);font-size:10px}.funnel div:nth-child(2){background:#398c72}.funnel div:nth-child(3){background:#e08a3e}.quick-admin-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-admin-actions button,.quick-admin-actions a{padding:13px;border:1px solid var(--line);border-radius:8px;background:#f8faf9;font-size:9px;text-align:left}.audit-list{display:grid;gap:11px}.audit-list span{display:flex;align-items:center;gap:8px;font-size:9px;color:var(--ink-soft)}.audit-list i{width:7px;height:7px;border-radius:50%;background:var(--green)}.edit-form section{padding:15px 0;border-top:1px solid var(--line)}.edit-form section h3{font-size:13px}.upload-box{padding:25px;display:flex;flex-direction:column;align-items:center;border:1px dashed #b8cbc2;border-radius:9px;background:#f8faf9}.upload-box b{margin:8px 0;font-size:11px}.upload-box small{color:var(--ink-soft);font-size:9px}.toolbar-actions{display:flex;gap:8px;flex-shrink:0}.section-toolbar{margin:0 0 14px;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--line);border-radius:9px}.section-toolbar h3{margin:0 0 4px;font-size:13px}.section-toolbar p{margin:0;color:var(--ink-soft);font-size:9px}.detail-kpis{margin-bottom:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.detail-kpis>div{padding:15px;border:1px solid var(--line);border-radius:9px;background:#f8faf9}.detail-kpis small,.detail-kpis span{display:block;color:var(--ink-soft);font-size:9px}.detail-kpis b{display:block;margin:5px 0;font-size:24px}.coordinate-preview{position:relative;overflow:hidden;border-radius:8px}.coordinate-preview>span{position:absolute;left:10px;right:10px;bottom:10px;padding:8px;display:flex;align-items:center;gap:6px;border-radius:7px;background:#ffffffeb;font-size:9px}.coordinate-picker{width:100%;height:260px;padding:0;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#edf4ef;cursor:crosshair}.coordinate-picker .map-canvas{height:100%;pointer-events:none}.coordinate-picker>i{width:18px;height:18px;position:absolute;transform:translate(-50%,-100%);border:3px solid white;border-radius:50% 50% 50% 0;background:var(--blue);box-shadow:0 2px 8px #173d3650}.coordinate-picker>i:after{content:"";width:4px;height:4px;position:absolute;left:4px;top:4px;border-radius:50%;background:#fff}.upload-box input[type=file]{max-width:100%;margin-top:12px;font-size:9px}.user-detail-head{margin-bottom:14px;padding:14px;display:flex;align-items:center;gap:12px;border-radius:10px;background:#f1f7f4}.user-detail-head h3,.user-detail-head p{margin:0}.user-detail-head p{color:var(--ink-soft);font-size:9px}.user-detail-head .tag{margin-left:auto}.user-avatar-large{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:#fff;font-size:18px}.record-list{display:grid;border:1px solid var(--line);border-radius:9px;overflow:hidden}.record-list>div{padding:12px 14px;display:grid;grid-template-columns:32px 1fr auto;gap:10px;border-bottom:1px solid var(--line);font-size:10px}.record-list>div:last-child{border-bottom:0}.record-list>div>span,.record-list>div>small{color:var(--ink-soft)}.adjust-user-summary{margin-bottom:14px;padding:12px 14px;display:flex;justify-content:space-between;border-radius:8px;background:var(--green-soft)}.admin-goods-thumb{width:42px;height:34px;object-fit:cover;border-radius:6px}.activity-summary-strip{margin-bottom:12px;padding:10px 14px;display:flex;align-items:center;gap:22px;border:1px solid #cfe1d8;border-radius:9px;background:#f7fbf9;color:var(--ink-soft);font-size:10px}.activity-summary-strip b{margin-right:3px;color:var(--green-dark);font-size:14px}.activity-summary-strip span:last-child{margin-left:auto}.activity-filters{margin-bottom:14px}.workbench-kpis .text-kpi{margin-top:6px;font-size:14px}.activity-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.activity-info-grid span{display:flex;flex-direction:column;gap:5px}.activity-info-grid span.wide{grid-column:1/-1}.activity-info-grid small{color:var(--ink-soft);font-size:9px}.activity-info-grid b{font-size:11px;font-weight:550;line-height:1.7}.reservation-panel{padding:16px;background:#fff;border:1px solid var(--line);border-radius:10px}.reservation-toolbar{margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:20px}.reservation-toolbar h3{margin:0 0 4px;font-size:14px}.reservation-toolbar p{margin:0;color:var(--ink-soft);font-size:9px}.reservation-toolbar>div:last-child{display:flex;gap:8px}.reservation-panel>.admin-table{border-radius:8px}.reservation-row,.reservation-panel .admin-table-head{grid-template-columns:.45fr 1fr 1fr 1.35fr .8fr .8fr .8fr}.reservation-row.cancelled{background:#fafafa;color:#8a9892}.row-actions .danger-link{color:var(--red)}.activity-metric-list{display:grid;gap:12px}.activity-metric-list span{padding:11px 0;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);font-size:10px}.activity-metric-list b{font-size:15px}.upload-box.compact{padding:16px;position:relative}.upload-box.compact input{max-width:230px;margin-top:10px;padding:5px;font-size:9px}.form-grid.single{grid-template-columns:1fr}.form-help{margin:14px 0 0;color:var(--ink-soft);font-size:9px}.activity-edit-form section:first-child{border-top:0;padding-top:0}.activity-edit-form input[type=date],.activity-edit-form input[type=time],.activity-edit-form input[type=datetime-local]{min-height:39px}.admin-shell,.admin-sidebar .brand b{font-size:14px}.admin-sidebar .brand small{font-size:11px}.role-label{font-size:12px;line-height:1.6}.role-label b{font-size:14px}.admin-sidebar nav a{min-height:42px;padding:10px 11px;font-size:14px}.admin-sidebar nav a em{font-size:10px}.collapse-btn,.admin-search input{font-size:13px}.admin-tools>button,.mobile-work-link{font-size:12px}.admin-user b{font-size:13px}.admin-main>main{padding:26px}.admin-page-head h1{font-size:29px}.admin-page-head p{font-size:14px}.admin-bread{font-size:12px}.admin-shell .button{min-height:36px;padding:0 14px;border-radius:8px;font-size:12px;font-weight:600}.admin-shell .admin-page-head .button{min-height:38px;padding:0 16px}.admin-shell .reservation-toolbar .button,.admin-shell .toolbar-actions .button{min-height:34px;padding:0 12px}.admin-filters{padding:10px}.admin-filters label{min-height:36px}.admin-filters label input,.admin-filters select,.admin-filters .button,.reset{font-size:13px}.admin-filters .button{min-height:34px}.admin-table-head{font-size:12px}.admin-table-row{min-height:52px;font-size:13px}.admin-table.cols-8 .admin-table-head,.admin-table.cols-8 .admin-table-row{min-width:950px;grid-template-columns:2.2fr 1.1fr .65fr .8fr .9fr .75fr .75fr 1.3fr}.admin-table.cols-6 .admin-table-head,.admin-table.cols-6 .admin-table-row{grid-template-columns:2fr 1fr 1.4fr 1.1fr .85fr 1.25fr}.admin-table.cols-5 .admin-table-head,.admin-table.cols-5 .admin-table-row{grid-template-columns:2fr .8fr 1fr 1fr 1.4fr}.admin-table-row b{font-size:13px}.admin-table-row small{font-size:11px;line-height:1.45}.row-actions{gap:9px}.row-actions button,.row-actions a{font-size:12px;white-space:nowrap}.admin-table footer{font-size:12px}.admin-table footer button{font-size:12px}.tabs-row button{font-size:13px}.tabs-row em{font-size:10px}.kpi small{font-size:12px}.kpi b{font-size:25px}.kpi em{font-size:10px}.card-title h3{font-size:16px}.card-title span{font-size:11px}.card-title button,.todo-card a b{font-size:12px}.todo-card a small{font-size:10px}.todo-card a em{font-size:9px}.rank-card>div{font-size:11px}.workbench-status,.workbench-kpis small{font-size:12px}.workbench-kpis em{font-size:11px}.workbench-kpis .text-kpi{font-size:16px}.activity-summary-strip{font-size:12px}.activity-summary-strip b,.reservation-toolbar h3{font-size:16px}.reservation-toolbar p,.activity-info-grid small{font-size:12px}.activity-info-grid b{font-size:14px}.activity-metric-list span{font-size:13px}.quick-admin-actions button,.quick-admin-actions a,.audit-list span{font-size:12px}.section-toolbar h3{font-size:15px}.section-toolbar p,.admin-map-mini p{font-size:12px}.detail-kpis small,.detail-kpis span{font-size:11px}.coordinate-preview>span{font-size:11px}.config-line b{font-size:13px}.config-line button{font-size:12px}.rule-cards b{font-size:13px}.rule-cards p{font-size:11px}.analytics-filter,.analytics-filter button,.analytics-filter input{font-size:12px}.simple-bars>div{font-size:12px}.settings-admin-layout>aside button{font-size:13px}.interface-status,.extension-grid p{font-size:12px}.extension-grid small{font-size:10px}.edit-form section h3{font-size:14px}.admin-shell .form-grid label,.admin-shell .form-grid input,.admin-shell .form-grid select,.admin-shell .form-grid textarea{font-size:13px}.upload-box b{font-size:12px}.upload-box small,.form-help{font-size:10px}.user-detail-head p{font-size:11px}.record-list>div{font-size:12px}.settings-status-list span,.settings-status-list b{font-size:12px}.settings-status-list small,.reserve-meta small{font-size:10px}.reserve-meta b,.reserved-fields>b{font-size:12px}.reserved-fields span,.setting-note-list span{font-size:11px}.attendance-progress{display:grid;gap:22px}.attendance-stages{display:grid;grid-template-columns:1fr 24px 1fr 24px 1fr;align-items:center}.attendance-stages>div{min-width:0;padding:14px 16px;border-left:3px solid #bdd8cb;background:#f7faf8}.attendance-stages>div.highlight{border-left-color:var(--orange);background:#fff8f0}.attendance-stages small{display:block;color:var(--ink-soft);font-size:12px}.attendance-stages b{display:block;margin:4px 0 2px;color:var(--green-dark);font-size:27px;line-height:1}.attendance-stages span{color:var(--ink-soft);font-size:11px}.attendance-stages>i{color:#91a69e;font-size:16px;font-style:normal;text-align:center}.attendance-bars{display:grid;grid-template-columns:1fr 1fr;gap:24px}.attendance-bars>div>span{margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;gap:12px}.attendance-bars b{font-size:12px}.attendance-bars em{color:var(--ink-soft);font-size:11px;font-style:normal}.metric-progress{height:9px;overflow:hidden;border-radius:5px;background:#e4ebe7}.metric-progress i{height:100%;display:block;border-radius:inherit;background:var(--green)}.metric-progress.orange i{background:var(--orange)}.verify-shell{min-height:100vh;background:#edf3ef}.verify-shell>header{height:62px;padding:0 max(16px,calc((100% - 520px)/2));display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:#fff;background:#123f32}.verify-shell>header>a{font-size:10px}.verify-shell>header>div{text-align:center;display:flex;flex-direction:column}.verify-shell>header small{color:#aac6bb;font-size:8px}.verify-shell>header>span{text-align:right;color:#93cdb7;font-size:9px}.verify-shell>main{width:min(520px,100%);margin:0 auto;padding:16px}.verify-tabs{padding:4px;display:grid;grid-template-columns:1fr 1fr;background:#dce7e1;border-radius:10px}.verify-tabs button{height:40px;border:0;border-radius:8px;background:transparent;font-size:12px}.verify-tabs button.active{background:#fff;color:var(--green);font-weight:700;box-shadow:0 3px 8px #0000000f}.scan-card,.verify-result,.verify-records{margin-top:14px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:13px}.scan-button{width:100%;min-height:220px;padding:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #91b6a5;border-radius:11px;background:#edf7f2;color:var(--green)}.scan-button .qr-code-image{width:124px;height:124px;margin:0 auto 8px}.scan-button b{margin:4px 0}.scan-button small{color:var(--ink-soft);font-size:9px}.or{margin:13px 0;display:flex;align-items:center;gap:10px;color:var(--ink-soft);font-size:9px}.or span{height:1px;flex:1;background:var(--line)}.scan-card form{display:flex;gap:8px}.scan-card form input{min-width:0;flex:1;text-align:center;font-size:18px;letter-spacing:.15em}.demo-codes{margin-top:12px;display:flex;flex-wrap:wrap;gap:5px}.demo-codes small{width:100%;color:var(--ink-soft)}.demo-codes button{padding:4px 7px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:8px}.verify-result{text-align:center;border-top:4px solid var(--blue)}.verify-result.success{border-top-color:var(--green)}.verify-result.orange{border-top-color:var(--orange)}.verify-result.danger{border-top-color:var(--red)}.result-icon{width:52px;height:52px;margin:0 auto 10px;display:grid;place-items:center;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-size:24px}.verify-result.success .result-icon{background:var(--green-soft);color:var(--green)}.verify-result h2{margin:10px 0;font-size:14px}.verify-person{margin:15px 0;padding:13px;display:flex;gap:11px;text-align:left;background:#f2f6f4;border-radius:9px}.verify-person .profile-avatar{width:45px;height:45px;border-radius:50%;font-size:15px}.verify-person>div:last-child{display:flex;flex-direction:column}.verify-person small{color:var(--ink-soft);font-size:8px}.verify-person b{font-size:11px}.verify-person p{margin:3px 0 0;font-size:9px}.verify-result>.button{width:100%}.verify-records>header{display:flex;justify-content:space-between}.verify-records h3{font-size:13px}.verify-records header button,.manual-add{border:0;background:transparent;color:var(--blue);font-size:9px}.verify-records p{padding:8px 0;display:flex;gap:7px;border-bottom:1px solid var(--line);font-size:9px}.verify-records p .icon{color:var(--green)}.manual-add{padding-top:10px}.login-role-select{min-width:0;margin:0 0 2px;padding:0;border:0}.login-role-select legend{padding:0;color:var(--ink);font-size:11px;font-weight:700}.login-role-select legend{margin-bottom:9px}.login-entry-groups{display:grid;gap:11px}.login-entry-group{padding:10px;border:1px solid var(--line);border-radius:11px;background:#fafcfb}.login-entry-group>header{margin-bottom:8px;display:flex;align-items:baseline;justify-content:space-between;gap:8px}.login-entry-group>header b{color:var(--green-dark);font-size:10px}.login-entry-group>header small{color:var(--ink-soft);font-size:8px}.login-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.login-role-grid button{min-height:58px;padding:8px 10px;position:relative;display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);text-align:left;cursor:pointer;transition:.18s ease}.login-role-grid button>span{width:30px;height:30px;grid-row:1 / 3;display:grid;place-items:center;border-radius:8px;background:#edf3f0;color:var(--ink-soft)}.login-role-grid button>b{font-size:10px}.login-role-grid button>small{color:var(--ink-soft);font-size:8px}.login-role-grid button>i{width:18px;height:18px;position:absolute;right:-5px;top:-5px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;opacity:0;transform:scale(.7);transition:.18s ease}.login-role-grid button:hover{border-color:#8fc8bd;background:#fbfefd}.login-role-grid button.active{border-color:var(--green);background:var(--green-soft);box-shadow:0 0 0 2px #00958214}.login-role-grid button.active>span{background:var(--green);color:#fff}.login-role-grid button.active>i{opacity:1;transform:scale(1)}.auth-form form>.button:disabled{border-color:transparent;background:#d8e3df;color:#71827c;cursor:not-allowed;box-shadow:none}.admin-sidebar nav a>span{display:grid;place-items:center;line-height:0}.admin-sidebar nav a>span .icon{width:18px;height:18px}.collapse-btn{display:flex;align-items:center;gap:5px}.collapse-btn .icon{transform:rotate(180deg)}.admin-shell.collapsed .collapse-btn .icon{transform:none}.role-label small{display:block;margin-top:4px;color:#ffffff9e;font-size:10px;font-weight:400}.role-scope-banner{min-height:46px;margin-bottom:14px;padding:10px 14px;display:flex;align-items:center;gap:10px;border:1px solid #b7ddd4;border-radius:9px;background:#f0f8f5;color:#315f56;font-size:12px}.admin-access-denied{min-height:68vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center}.admin-access-denied h1{margin:0;font-size:26px}.admin-access-denied p{max-width:560px;margin:0 0 8px;color:var(--ink-soft);line-height:1.8}.guest-actions{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:650}.guest-actions>a:first-child{padding:9px 10px;color:var(--green-dark)}.guest-actions .button{min-height:36px;padding:0 14px}.auth-context{margin:10px 0 0;color:var(--green-dark);font-size:10px}.ai-panel>header,.auth-visual,.admin-sidebar,.verify-shell>header{background:var(--green-dark)}.ai-panel>header small,.verify-shell>header small{color:#c5e5df}.verify-shell>header>div b{font-size:11px}.verify-shell>header>span{color:#f0d7b7}.admin-sidebar .brand b{font-size:11px;letter-spacing:0}@media(max-width:1380px){.admin-map-layout{grid-template-columns:1fr}.admin-map-mini{display:none}}@media(max-width:1100px){.public-header{gap:15px}.public-header nav a{padding:0 7px;font-size:12px}.hero{min-height:520px}.hero-visual{padding-left:18px}.hero-feature-copy h2{font-size:26px}.activities-grid{grid-template-columns:repeat(2,1fr)}.course-grid{grid-template-columns:repeat(3,1fr)}.admin-search{width:240px}.kpi-grid.six{grid-template-columns:repeat(3,1fr)}}@media(max-width:820px){:root{--page: calc(100% - 30px) }.top-note{display:none}.public-header{height:64px;padding:0 15px}.public-header nav{display:none;width:100%;height:auto;padding:10px;position:absolute;left:0;top:64px;align-items:stretch;flex-direction:column;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.public-header nav.open{display:flex}.public-header nav a{height:42px;display:flex}.public-header nav a.active:after{width:3px;height:auto;inset:8px auto 8px 0}.search-button{display:none}.guest-actions{gap:3px}.guest-actions .button{min-height:34px;padding:0 10px}.guest-actions>a:first-child{padding:7px}.mobile-menu{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:#fff}.header-actions{margin-left:auto}.mobile-bar.four-items{grid-template-columns:repeat(4,1fr)}.account-menu-panel{width:min(286px,calc(100vw - 24px));right:0}.hero{min-height:760px;padding:50px 20px;grid-template-columns:1fr;align-content:start}.hero h1{font-size:40px}.hero-visual{height:350px;margin-top:28px;padding:0 0 14px}.hero-feature-card{border-radius:10px}.hero-feature-copy{left:20px;right:20px;bottom:19px}.hero-feature-copy h2{font-size:25px}.hero-feature-copy p{margin-bottom:12px}.hero-feature-top{left:16px;right:16px;top:16px}.hero-photo-note{bottom:1px}.welcome-strip{margin-top:-35px;grid-template-columns:auto 1fr}.welcome-progress{grid-column:1/-1}.welcome-strip>.button{grid-column:1/-1}.activities-grid,.course-grid,.rewards-grid{grid-template-columns:repeat(2,1fr)}.feature-band{grid-template-columns:1fr}.map-preview{height:380px}.feature-side{padding:30px}.discovery-grid{grid-template-columns:1fr}.future-services{padding-bottom:calc(112px + env(safe-area-inset-bottom))}.future-services>div:last-child{grid-template-columns:repeat(3,1fr)}.footer{display:none}.mobile-bar{height:62px;display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 24px #00000012}.mobile-bar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--ink-soft);font-size:9px}.mobile-bar a.active{color:var(--green)}.ai-fab{right:14px;bottom:75px}.ai-fab b{display:none}.ai-fab{width:48px;height:48px;padding:4px}.ai-fab>span{width:40px;height:40px}.ai-panel{width:calc(100% - 16px);height:calc(100dvh - 16px);right:8px;bottom:8px;border-radius:16px}.ai-body{padding:16px}.ai-conversation>form{margin:0 12px}.page-hero{padding:36px 20px;flex-direction:column;align-items:flex-start}.hero-search{width:100%}.vr-page{padding-top:20px}.detail-hero,.course-detail-head,.reward-detail{grid-template-columns:1fr}.detail-art,.course-cover{min-height:300px}.detail-layout{grid-template-columns:1fr}.booking-box{position:static}.experience-list,.map-topbar{grid-template-columns:1fr}.map-topbar>.map-count{display:none}.map-page{height:calc(100dvh - 126px - env(safe-area-inset-bottom));min-height:0}.map-filters{max-width:calc(100% - 40px);overflow-x:auto}.poi-drawer{width:calc(100% - 24px);right:12px;top:auto;bottom:12px;max-height:70%}.points-rule{grid-template-columns:repeat(2,1fr)}.profile-head-detail{display:none}.profile-layout{padding-top:16px;padding-bottom:calc(112px + env(safe-area-inset-bottom));grid-template-columns:1fr}.profile-layout.detail{padding-top:12px}.profile-layout>aside{display:none}.profile-layout.overview>main{display:none}.profile-mobile-home{display:grid;gap:14px}.profile-mobile-home>section{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:#fff}.profile-mobile-home h2{margin:0;padding:13px 15px;border-bottom:1px solid var(--line);font-size:13px}.profile-mobile-home nav a{min-height:62px;padding:9px 13px;display:grid;grid-template-columns:38px 1fr 18px;align-items:center;gap:10px;border-bottom:1px solid #edf1ef}.profile-mobile-home nav a:last-child{border-bottom:0}.profile-mobile-home nav a>span:first-child{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:var(--green-soft);color:var(--green)}.profile-mobile-home nav a>span:nth-child(2){min-width:0;display:flex;flex-direction:column}.profile-mobile-home nav a b{font-size:12px}.profile-mobile-home nav a small{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft);font-size:9px}.profile-mobile-home nav a>.icon{color:#93a69d}.profile-mobile-detail-head{min-height:62px;padding:9px 3px 13px;display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--line)}.profile-mobile-detail-head>a{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--green)}.profile-mobile-detail-head>a .icon{transform:rotate(180deg)}.profile-mobile-detail-head div{display:flex;flex-direction:column}.profile-mobile-detail-head small{color:var(--ink-soft);font-size:9px}.profile-mobile-detail-head h2{margin:2px 0 0;font-size:17px}.profile-layout.detail>main>.section-head:first-child{display:none}.profile-stats{grid-template-columns:repeat(2,1fr)}.passport-map{flex-wrap:wrap}.voucher-tabs,.profile-activity-list,.profile-course-list{grid-template-columns:1fr}.order-card{grid-template-columns:90px 1fr}.order-code{grid-column:1/-1;padding:12px 0 0;border-left:0;border-top:1px dashed var(--line)}.vr-list article,.news-feature{grid-template-columns:1fr}.news-feature>.art{min-height:220px}.learn-grid{grid-template-columns:1fr}.learn-grid>aside{display:none}.learn-shell>header{grid-template-columns:100px 1fr}.learn-shell>header>span{display:none}.lesson-stage-title{height:auto;min-height:54px;padding:10px 15px}.mock-player{height:46vh;min-height:320px}.learn-practical,.course-completion-voucher{grid-template-columns:1fr}.course-completion-voucher dl{gap:14px;flex-direction:column}.course-completion-voucher>div:last-child{padding-top:18px;border-top:1px dashed #bfd5cb}.auth-shell{grid-template-columns:1fr}.auth-visual{min-height:300px;padding:28px}.auth-visual h1{font-size:30px}.auth-form{padding:30px 0}.admin-sidebar{transform:translate(-100%)}.admin-main,.admin-shell.collapsed .admin-main{margin-left:0}.admin-main>header>button:first-child{display:block;border:0;background:transparent}.admin-main>main{padding:15px}.admin-search{display:none}.admin-user b,.admin-tools>button:last-child{display:none}.kpi-grid{grid-template-columns:repeat(2,1fr)}.admin-dashboard-grid,.analysis-grid,.config-grid,.workbench-grid{grid-template-columns:1fr}.admin-card.wide{grid-column:auto}.admin-filters{overflow:auto}.admin-filters label{min-width:220px}.rule-cards{grid-template-columns:1fr}.extension-grid{grid-template-columns:repeat(2,1fr)}.settings-admin-layout{grid-template-columns:1fr}.settings-admin-layout>aside{display:flex;overflow:auto}.settings-admin-layout>aside button{min-width:max-content}.workbench-kpis,.kpi-grid.six{grid-template-columns:repeat(2,1fr)}.activity-summary-strip{overflow:auto}.activity-summary-strip span{min-width:max-content}.activity-summary-strip span:last-child{margin-left:0}.reservation-toolbar{align-items:flex-start;flex-direction:column}.workbench-tabs{overflow:auto}.workbench-tabs button{min-width:max-content}.activity-info-grid{grid-template-columns:1fr}.activity-info-grid span.wide{grid-column:auto}}@media(max-width:520px){.ai-panel-header{min-height:70px;padding:11px 13px}.ai-avatar{width:42px;height:42px}.ai-title>b{font-size:17px}.ai-title small{display:none}.ai-header-actions{gap:4px}.ai-header-actions button{width:34px;padding:0}.ai-header-actions button span{display:none}.ai-header-actions em{min-width:14px;height:14px;padding:0 3px;position:absolute;right:-2px;top:-3px;font-size:7px}.ai-workspace{min-height:0}.ai-history-panel{width:auto;inset:8px;padding:13px}.ai-conversation{height:100%}.ai-body{padding:14px 12px}.ai-message,.ai-user{max-width:94%;padding:12px 13px}.ai-capability-intro>div:first-child small{display:none}.ai-capability-grid>button{min-height:62px;padding:8px;grid-template-columns:30px 1fr}.ai-capability-grid>button>span:first-child{width:30px;height:30px}.ai-capability-grid>button>.icon:last-child{display:none}.quick-questions{grid-template-columns:1fr}.ai-result{grid-template-columns:88px 1fr}.ai-result .art{min-height:108px}.ai-result-content{padding:9px}.ai-conversation>form{margin:0 8px;padding:7px}.ai-conversation>form>.icon{display:none}.ai-conversation>form .button{min-width:72px}.ai-disclaimer{padding:7px 12px 9px}.brand b{font-size:12px}.brand small{display:none}.hero{min-height:760px}.hero h1{font-size:34px}.hero-content>p{font-size:14px}.hero-actions{display:grid}.hero-proof{gap:10px}.hero-proof span{padding-right:10px}.hero-proof b{font-size:17px}.hero-visual{height:320px;margin-top:24px}.hero-feature-card img{object-position:52% center}.hero-feature-copy p{display:none}.hero-feature-copy>div{font-size:9px}.hero-feature-copy>div span{max-width:58%}.hero-feature-copy h2{font-size:22px}.welcome-strip{padding:18px}.welcome-avatar{width:46px;height:46px}.welcome-strip h2{font-size:16px}.activities-grid,.course-grid,.rewards-grid{grid-template-columns:1fr}.card-art{height:190px}.section-head h2{font-size:23px}.section-head .text-link{font-size:10px}.map-overlay{width:auto;left:12px;right:12px;bottom:12px;padding:20px}.map-overlay h2{font-size:22px}.future-services>div:last-child{grid-template-columns:1fr 1fr}.feature-side h2{font-size:42px}.form-grid,.profile-form,.settings-form{grid-template-columns:1fr}.form-grid .wide,.profile-form .wide,.settings-form .wide{grid-column:auto}.checkout-card{padding:22px}.checkout-item{grid-template-columns:1fr}.checkout-item>.art{height:130px}.steps i{width:18px}.page-hero h1{font-size:34px}.detail-summary h1,.course-detail-head h1,.reward-detail h1{font-size:29px}.course-numbers{display:grid;grid-template-columns:1fr 1fr}.detail-content,.booking-box,.practice-card{padding:21px}.reward-detail>div:first-child{height:320px}.points-page{padding-top:22px}.points-rule{grid-template-columns:1fr}.points-rule>div{padding:14px}.profile-head{grid-template-columns:auto 1fr}.profile-head>div:last-child{grid-column:1/-1;text-align:left}.profile-stats{grid-template-columns:1fr 1fr}.continue-card{grid-template-columns:1fr}.continue-card>.art{height:130px}.timeline>div{grid-template-columns:1fr}.timeline>div>small{margin-bottom:6px}.timeline>div>span{grid-template-columns:auto 1fr}.timeline em{grid-column:2}.passport-map{padding:22px}.stamp{width:80px;height:80px;font-size:12px}.record-table{overflow:auto}.record-table>div{min-width:620px}.news-table article{grid-template-columns:35px 1fr}.news-table article>button{grid-column:2;text-align:left}.news-feature>div:last-child{padding:25px}.vr-list article>div:last-child{padding:22px}.extension-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:1fr 1fr}.kpi{display:block}.kpi>span{display:none}.admin-tools .mobile-work-link{font-size:0}.admin-tools .mobile-work-link:after{content:"签到/核销";font-size:9px}.workbench-kpis{grid-template-columns:1fr 1fr}.analytics-filter{overflow:auto}.simple-bars>div{grid-template-columns:140px 1fr 30px}.donut-wrap{gap:10px}.donut{width:120px;height:120px}.donut:after{width:78px;height:78px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.classroom-shell{min-height:100vh;display:grid;grid-template-columns:138px 1fr;background:#fff;color:#202020;font-family:Microsoft YaHei,PingFang SC,Arial,sans-serif}.classroom-sidebar{min-height:100vh;position:relative;z-index:3;background:#f4fbff;border-right:1px solid #e4e8ec}.university-seal{width:86px;height:86px;margin:9px auto 12px;position:relative;display:grid;place-items:center;border:2px solid #e62838;border-radius:50%;color:#e62838;text-align:center}.university-seal:before,.university-seal:after{content:"";position:absolute;border:1px solid #e62838;border-radius:50%}.university-seal:before{inset:5px}.university-seal:after{inset:12px}.university-seal span{position:absolute;top:9px;z-index:1;font-size:7px;font-weight:700;letter-spacing:.08em}.university-seal b{z-index:1;font-family:serif;font-size:31px;line-height:1}.university-seal small{position:absolute;bottom:12px;z-index:1;font-size:7px;font-weight:800}.classroom-sidebar nav{display:grid;gap:6px;padding:0 4px}.classroom-sidebar nav>a,.classroom-sidebar .nav-group>button{min-height:27px;padding:0 8px;display:flex;align-items:center;gap:8px;border:0;border-radius:5px;color:#5d4037;background:linear-gradient(90deg,#edf6ff,#fbf0e6);font-size:11px;text-align:left;text-decoration:none}.classroom-sidebar nav>a b{margin-left:auto;font-size:12px}.classroom-sidebar .nav-group>button{width:100%;justify-content:space-between;background:linear-gradient(100deg,#dbeeff,#d8d0ff,#ffc07b)}.classroom-sidebar .nav-group>button>span{display:flex;align-items:center;gap:8px}.classroom-nav-icon{width:17px;height:17px;display:grid;place-items:center;border-radius:4px;color:#8b97f5;background:linear-gradient(145deg,#ffd59d,#b8cbff);font-size:11px}.classroom-sidebar .sub-active{height:27px;margin-top:6px;display:flex;align-items:center;justify-content:center!important;border-radius:5px;color:#8d83e8!important;background:linear-gradient(90deg,#dcecff,#f4e9e3)!important;font-size:11px;font-weight:700;text-decoration:none}.sidebar-collapse{width:30px;height:30px;position:absolute;left:50%;bottom:0;transform:translate(-50%);border:1px solid #96684f;border-bottom:0;border-radius:18px 18px 0 0;background:#fff;color:#78513e;font-size:15px}.classroom-workspace{min-width:0;position:relative}.classroom-header{height:36px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e4e4e4;background:#fff}.course-brand{display:flex;align-items:center;gap:10px;color:#60453b;font-size:14px}.course-thumb{width:31px;height:23px;display:grid;place-items:center;color:#348bd3;background:linear-gradient(145deg,#d9efff,#fff);font-size:8px;font-weight:800}.classroom-header>div:last-child{display:flex;align-items:center;gap:13px}.classroom-header a{display:flex;align-items:center;gap:5px;color:#5d4037;font-size:10px;text-decoration:none}.student-avatar{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:#91a7c4;background:#eaf2ff;border-bottom:6px solid #9db0ca;font-size:15px}.classroom-main{padding:13px 14px 50px}.classroom-filters{min-height:38px;display:flex;align-items:center;gap:15px}.classroom-filters label{display:flex;align-items:center;gap:5px;color:#707070;font-size:12px}.classroom-filters select{height:34px;min-width:116px;padding:0 34px 0 11px;border:1px solid #d5d8dc;border-radius:4px;background:#fff;color:#222;font:inherit;cursor:pointer}.classroom-filters label:nth-child(2) select{min-width:126px}.filter-result{color:#9a9a9a;font-size:10px}.task-phase{border-bottom:1px solid #e4e4e4}.phase-heading{width:100%;height:44px;padding:0 8px;display:flex;align-items:center;gap:5px;border:0;background:transparent;color:#111;font-size:12px;text-align:left}.phase-heading .chevron{width:20px;margin-right:5px;display:inline-block;transform:rotate(180deg);font-size:15px;transition:transform .18s ease}.phase-heading .chevron.open{transform:rotate(0)}.phase-heading b{font-size:12px;font-weight:500}.classroom-task-grid{padding:8px 7px 12px;display:grid;grid-template-columns:repeat(4,minmax(230px,1fr));gap:8px}.classroom-task-card{height:168px;padding:9px 10px 8px 9px;position:relative;overflow:hidden;border-left:4px solid #ff454d;border-radius:9px;background:#fff;box-shadow:0 3px 10px #0000003b}.classroom-task-card.grading{border-left-color:#ef9f3c}.classroom-task-card.completed{border-left-color:#55ad7d}.task-kind-mark{width:28px;height:30px;position:absolute;right:5px;top:5px;display:grid;place-items:center;border-radius:7px;color:#fff;background:#ffbd00;font-size:21px;transform:rotate(5deg)}.task-kind-mark.resource{color:#8177dd;background:#d8d8ff}.task-kind{display:block;margin-bottom:4px;color:#ffb500;font-size:14px}.task-kind.resource{color:#8d83ed}.classroom-task-card h3{height:32px;margin:0;padding-right:30px;overflow:hidden;font-size:11px;line-height:1.4}.task-meta{display:grid;gap:3px;color:#777}.task-meta p{margin:0;display:flex;align-items:center;gap:6px;font-size:9px;line-height:1.15}.task-meta svg{flex:none}.task-meta .urgent,.task-status-line{color:#ff3944}.task-status-line.grading{color:#d88928}.task-status-line.completed{color:#419469}.task-status-line span{color:#737373}.task-status-line strong{font-weight:500}.task-action{height:26px;position:absolute;left:0;right:0;bottom:5px;display:flex;align-items:center;justify-content:center;gap:7px;border:0;background:transparent;color:#694b3d;font-size:10px;cursor:pointer}.task-action span{color:#9c9c9c;font-size:18px}.task-action:hover{color:#e34f48}.phase-empty{height:58px;margin:0 8px 12px;display:grid;place-items:center;border:1px dashed #dfe3e7;border-radius:8px;color:#a1a5a9;background:#fafcfd;font-size:10px}.classroom-ai{width:48px;height:48px;position:fixed;right:14px;bottom:12px;display:grid;place-items:center;border:0;border-radius:50%;background:radial-gradient(circle at 50% 38%,#17204d 0 25%,transparent 26%),linear-gradient(145deg,#f9dcff,#b8cfff);box-shadow:0 6px 18px #4d50a22e}.classroom-ai:before,.classroom-ai:after{content:"";width:4px;height:4px;position:absolute;top:19px;border-radius:50%;background:#fff}.classroom-ai:before{left:18px}.classroom-ai:after{right:18px}.classroom-ai span{display:none}@media(max-width:1280px){.classroom-task-grid{grid-template-columns:repeat(3,minmax(230px,1fr))}}@media(max-width:960px){.classroom-shell{grid-template-columns:74px 1fr}.university-seal{width:58px;height:58px}.university-seal span{display:none}.university-seal b{font-size:22px}.university-seal small{bottom:7px}.classroom-sidebar nav>a,.classroom-sidebar .nav-group>button{padding:5px;justify-content:center;font-size:0}.classroom-sidebar .nav-group>button>span{gap:0}.classroom-sidebar nav>a b,.classroom-sidebar .nav-group>button>b{display:none}.classroom-sidebar .sub-active{font-size:9px!important}.classroom-task-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media(max-width:620px){.classroom-shell{display:block}.classroom-sidebar{display:none}.classroom-header{padding:0 10px}.classroom-main{padding:8px 10px 40px}.classroom-filters{align-items:stretch;flex-direction:column;gap:7px;padding:8px 0}.classroom-filters label{justify-content:space-between}.classroom-filters select{width:72%}.filter-result{text-align:right}.classroom-task-grid{grid-template-columns:1fr}.classroom-task-card{height:175px}.classroom-ai{width:44px;height:44px}}.classroom-sidebar nav>a.imooc-nav-active{color:#fff;background:linear-gradient(100deg,#8abaff,#c9a8e8,#ffad72);font-weight:700}.imooc-overview{height:calc(100vh - 36px);padding:74px 18px 60px;overflow:auto;background:#fff}.imooc-chapter-summary{border-bottom:1px solid #e5edf3}.imooc-summary-heading,.imooc-section-summary{min-height:46px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7eef3}.imooc-summary-heading h2{margin:0;font-size:13px}.imooc-summary-heading>div,.imooc-section-summary>div{display:flex;align-items:center;gap:10px}.count-pill{min-width:82px;height:27px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border:1px solid;border-radius:6px;background:#fff;font-size:10px;text-decoration:none}.count-pill.resource{border-color:#6bc7e4;color:#4db8dc}.count-pill.exercise{border-color:#d6aee1;color:#b981ca}.count-pill:hover{filter:brightness(.96)}.summary-chevron{width:18px;color:#75818a;text-align:center}.imooc-section-summary{padding-left:16px;color:#44515e}.imooc-section-summary>b{margin-right:auto;font-size:11px;font-weight:500}.summary-dot{width:6px;height:6px;margin-right:10px;border-radius:50%;background:#c5d0dc}.summary-dot.blue{background:#61c0dd}.imooc-learning{height:calc(100vh - 36px);display:grid;grid-template-columns:260px minmax(0,1fr);background:#fff}.learning-outline{min-width:0;display:flex;flex-direction:column;border-right:1px solid #e4e8ec;background:#fff}.learning-back{padding:10px 14px 5px;color:#58badc;font-size:10px;text-decoration:none}.learning-outline>h1{margin:2px 14px 10px;font-size:13px}.learning-filter{margin:0 12px 5px;padding:3px;display:grid;grid-template-columns:repeat(3,1fr);border-radius:7px;background:#f2f5f8}.learning-filter button{height:28px;border:0;border-radius:5px;background:transparent;color:#68737f;font-size:10px;cursor:pointer}.learning-filter button.active{color:#7163c8;background:#fff;font-weight:700;box-shadow:0 2px 6px #3140501f}.exercise-status-filter{display:grid;grid-template-columns:.8fr 1.15fr 1.15fr;gap:5px;margin:0 12px 7px}.exercise-status-filter button{height:26px;border:1px solid #e2e6eb;border-radius:13px;background:#fff;color:#6e747b;font-size:9px;display:flex;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:.18s ease}.exercise-status-filter button:hover{border-color:#c8baf0;color:#7465be}.exercise-status-filter button.active{border-color:#c9bdf0;background:#f6f3ff;color:#6e5fbd;font-weight:700;box-shadow:0 2px 6px #715fbe1a}.exercise-filter-icon{width:14px;height:14px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:9px;font-weight:700}.exercise-filter-icon.done{background:#5a8}.exercise-filter-icon.pending{background:#ed9c47}.learning-chapters{flex:1;overflow:auto}.learning-chapter{border-top:1px solid #edf0f3}.learning-chapter h2{min-height:42px;margin:0;padding:0 14px;display:flex;align-items:center;justify-content:space-between;font-size:11px}.learning-section h3{min-height:34px;margin:0;padding:0 15px;display:flex;align-items:center;justify-content:space-between;color:#68737f;background:#fafbfc;font-size:10px;font-weight:500}.learning-item{width:calc(100% - 20px);min-height:32px;margin:2px 10px;padding:6px 8px;display:grid;grid-template-columns:36px minmax(0,1fr) 18px;align-items:center;gap:5px;border:0;border-radius:6px;background:#fff;color:#4e5965;text-align:left;cursor:pointer}.learning-item.active{background:#f2edf5}.learning-item:hover{background:#f7f4f8}.learning-item b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:500}.learning-type{padding:2px 4px;border-radius:3px;font-size:8px;text-align:center}.learning-type.resource{color:#58badc;background:#e8f8fc}.learning-type.exercise{color:#be83cb;background:#f8eef9}.exercise-state-icon{width:17px;height:17px;display:grid;place-items:center}.exercise-state-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.exercise-state-icon.done{color:#49ad77}.exercise-state-icon.pending{color:#ec9b4a}.learning-stage{min-width:0;min-height:0;display:flex;flex-direction:column}.learning-stage>header{height:42px;flex:none;padding:0 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0f2}.learning-stage>header h2{margin:0;font-size:12px}.learning-stage>header span{color:#96a0aa;font-size:9px}.lesson-player{margin:8px 10px;position:relative;overflow:hidden;flex:1;min-height:480px;background:#0e0f10;border:1px solid #222}.slide-window{width:min(72%,1000px);height:calc(100% - 30px);margin:0 auto;padding:0 4% 30px;background:#f1f1ef;position:relative;overflow:hidden}.slide-title{height:22%;margin:0 -6%;display:grid;place-items:center;color:#fff;background:linear-gradient(#1269ca,#1a62ad);font-family:serif;font-size:clamp(24px,3.2vw,58px)}.slide-window>p{margin:5% 0 2%;display:flex;align-items:flex-start;gap:10px;font-family:serif;font-size:clamp(15px,1.7vw,32px);font-weight:700}.slide-window>p i{width:18px;height:18px;margin-top:5px;flex:none;border-radius:50%;background:#ee2d18}.reactor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5% 8%;text-align:center}.reactor-grid>div{min-width:0}.reactor{height:95px;position:relative;display:block;margin-bottom:5px;border:4px solid #659a43;border-radius:44% 44% 25% 25%;background:linear-gradient(90deg,#edd745 0 45%,#96bada 45% 60%,#eee 60%)}.reactor:before,.reactor:after{content:"";position:absolute;background:#7ca159}.reactor:before{width:45%;height:5px;right:-35%;top:35%}.reactor:after{width:5px;height:60%;right:-20%;top:34%;border-radius:5px}.reactor i{width:5px;height:62%;position:absolute;top:-8px;background:#457847}.reactor i:nth-child(1){left:30%}.reactor i:nth-child(2){left:48%}.reactor i:nth-child(3){left:66%}.reactor-grid b{color:#d9211e;font-family:serif;font-size:clamp(10px,1vw,19px);font-weight:500}.player-play{width:54px;height:54px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:0;border-radius:50%;color:#fff;background:#ffffffa6;font-size:22px}.player-controls{height:30px;padding:0 10px;position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:10px;color:#fff;background:linear-gradient(transparent,#161616);font-size:10px}.player-controls i{height:3px;flex:1;background:#777}.exercise-workspace{min-height:0;flex:1;display:flex;flex-direction:column;background:#f7f8fa}.exercise-scroll{min-height:0;flex:1;overflow:auto;padding:10px 12px 16px}.exercise-question-card{margin:0 0 10px;padding:12px 12px 13px;border:1px solid #e5e8ec;border-radius:12px;background:#fff;box-shadow:0 2px 8px #2b37440d}.question-meta{display:flex;align-items:center;gap:10px;margin-bottom:9px;color:#687482;font-size:10px}.question-meta span{padding:3px 7px;border-radius:4px;color:#b681c6;background:#f7eff9}.question-meta b{font-weight:500}.exercise-question-card>p{margin:0 0 12px;color:#4e5965;font-size:10px;line-height:1.7}.exercise-question-card>p strong{margin-right:5px}.formula-question{display:block;text-align:center;font-family:Georgia,serif;font-size:15px}.blank-answer{display:flex;align-items:center;gap:14px;color:#687482;font-size:10px}.blank-answer input{width:min(240px,70%);height:32px;padding:0 10px;border:1px solid #dce1e6;border-radius:4px;color:#4e5965;background:#fff;font:inherit;outline:none}.blank-answer input:focus{border-color:#8f7bd4;box-shadow:0 0 0 3px #8f7bd41f}.answer-options{margin:0;padding:0;border:0;display:grid;gap:6px}.answer-options label{min-height:31px;padding:0 9px;display:flex;align-items:center;border:1px solid #e3e7eb;border-radius:5px;color:#56616e;font-size:10px;cursor:pointer}.answer-options label:hover,.answer-options label.selected{border-color:#c9bcec;background:#f8f5ff;color:#6f60b8}.answer-options input,.judgement-options input{position:absolute;opacity:0;pointer-events:none}.science-illustration{width:126px;height:102px;margin:2px 0 10px 6px;position:relative;display:flex;align-items:flex-end;justify-content:center;gap:4px;overflow:hidden;border-radius:7px;color:#4e8fe8;background:linear-gradient(135deg,#fff6c9,#fffdf0);font-size:63px}.science-illustration span:last-of-type{font-size:48px}.science-illustration i{width:48px;height:9px;position:absolute;left:37px;bottom:17px;border-radius:50%;background:#4fcf72;opacity:.65}.judgement-options{margin:0;padding:0;border:0;display:flex;gap:7px}.judgement-options label{min-width:58px;height:31px;display:grid;place-items:center;border:1px solid #e1e6ea;border-radius:5px;color:#5f6975;background:#fff;font-size:10px;cursor:pointer}.judgement-options label:hover,.judgement-options label.selected{border-color:#8d7bd0;color:#6f60b8;background:#f7f4ff}.exercise-action-bar{height:48px;flex:none;padding:0 12px;display:flex;align-items:center;justify-content:flex-end;gap:8px;border-top:1px solid #e3e7eb;background:#fff;box-shadow:0 -3px 10px #2a37440d}.exercise-action-bar button{min-width:70px;height:31px;border:1px solid #dfe4e8;border-radius:5px;color:#66717d;background:#fff;font-size:10px;cursor:pointer}.exercise-action-bar button.primary{border-color:#65bfd7;color:#fff;background:#65bfd7}.exercise-action-bar button:hover{filter:brightness(.97)}.submit-feedback{margin-right:auto;color:#4a9d76;font-size:10px;opacity:0}.submit-feedback.show{opacity:1}.sr-only{width:1px;height:1px;padding:0;position:absolute;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.imooc-learning+.classroom-ai{bottom:62px}@media(max-width:960px){.imooc-learning{grid-template-columns:230px minmax(0,1fr)}.imooc-overview{padding-top:40px}.slide-window{width:88%}}@media(max-width:620px){.imooc-overview{height:calc(100vh - 36px);padding:24px 10px}.imooc-summary-heading{align-items:flex-start;gap:8px;flex-direction:column;padding:10px 0}.imooc-summary-heading>div{width:100%;justify-content:flex-end}.imooc-section-summary{padding-left:8px}.imooc-learning{height:calc(100vh - 36px);display:block;overflow:auto}.learning-outline{height:auto;max-height:52vh;border-right:0;border-bottom:1px solid #e4e8ec}.learning-chapters{max-height:34vh}.learning-stage{min-height:55vh}.lesson-player{min-height:380px}.slide-window{width:100%}.reactor-grid{gap:4%}.reactor{height:70px}}.map-filters button{min-height:38px;padding:8px 13px;font-size:13px;font-weight:550}@media(max-width:720px){.map-filters button{min-height:36px;padding:7px 11px;font-size:12px}}.ai-panel{background:#f6f9f7;border:0}.ai-suggestions+.ai-user{margin-top:24px}.knowledge-layout{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);gap:16px}.knowledge-upload{min-height:180px;margin:0!important;padding:22px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px dashed #9ebfb1;border-radius:10px;background:#f7faf8;color:var(--green);text-align:center;cursor:pointer}.knowledge-upload:hover{border-color:var(--green);background:#f1f8f4}.knowledge-upload input{position:absolute;opacity:0;pointer-events:none}.knowledge-upload>span{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:var(--green-soft)}.knowledge-upload b{max-width:100%;margin-top:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:12px}.knowledge-upload small{margin-top:5px;color:var(--ink-soft);font-size:9px}.knowledge-upload em{margin-top:14px;padding:7px 13px;border:1px solid #a8c7ba;border-radius:7px;background:#fff;color:var(--green-dark);font-size:9px;font-style:normal;font-weight:700}.knowledge-status{padding:17px;border:1px solid var(--line);border-radius:10px;background:#fff}.knowledge-status>div:first-child{display:flex;align-items:center;gap:10px}.knowledge-status>div:first-child b{font-size:12px}.knowledge-status>p{margin:12px 0 15px;font-size:10px;line-height:1.75}.knowledge-status dl{margin:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.knowledge-status dl>div{padding:11px 10px 0;border-right:1px solid var(--line)}.knowledge-status dl>div:last-child{border-right:0}.knowledge-status dt{color:var(--ink-soft);font-size:8px}.knowledge-status dd{margin:4px 0 0;color:var(--ink);font-size:10px;font-weight:700}.knowledge-note{margin:11px 0 0;color:var(--ink-soft);font-size:9px}@media(max-width:900px){.knowledge-layout{grid-template-columns:1fr}.knowledge-upload{min-height:150px}}.settings-panel{min-height:440px}.logo-config-row{padding:14px;display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:14px;border:1px solid var(--line);border-radius:10px;background:#f7faf8}.logo-preview{width:58px;height:58px;display:grid;place-items:center;border-radius:14px 14px 14px 5px;background:var(--green);color:#fff;font-family:"Noto Serif SC";font-size:27px;font-weight:700}.logo-config-row b{font-size:11px}.logo-config-row p{margin:4px 0 2px;font-size:9px}.logo-config-row small{color:var(--ink-soft);font-size:8px}.logo-config-row .logo-change-button{min-height:32px;padding:0 12px;border-radius:7px;font-size:9px;font-weight:600}.settings-status-list{display:grid;gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}.settings-status-list>div{min-height:66px;padding:12px 14px;display:grid;grid-template-columns:1fr 120px 1.2fr;align-items:center;gap:14px;border-bottom:1px solid var(--line)}.settings-status-list>div:last-child{border-bottom:0}.settings-status-list span{font-size:10px;font-weight:700}.settings-status-list i{width:7px;height:7px;margin-right:7px;display:inline-block;border-radius:50%}.settings-status-list i.ok{background:var(--green)}.settings-status-list i.warn{background:var(--orange)}.settings-status-list b{font-size:10px}.settings-status-list small{color:var(--ink-soft);font-size:9px}.reserve-notice{padding:18px;display:flex;align-items:flex-start;gap:14px;border:1px solid #d5e4dc;border-radius:11px;background:linear-gradient(105deg,#eef7f2,#f9fbfa)}.reserve-notice>span{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:11px;background:#fff;color:var(--green)}.reserve-notice h3{margin:9px 0 5px;font-size:14px}.reserve-notice p{margin:0;max-width:720px;font-size:10px}.reserve-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.reserve-meta>div{padding:14px;border:1px solid var(--line);border-radius:9px;background:#fafcfb}.reserve-meta small{display:block;margin-bottom:5px;color:var(--ink-soft);font-size:8px}.reserve-meta b{font-size:11px}.reserved-fields{padding:15px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-top:1px solid var(--line)}.reserved-fields>b{width:100%;margin-bottom:3px;font-size:11px}.reserved-fields span{padding:6px 9px;border-radius:6px;background:#eef3f0;color:var(--ink-soft);font-size:9px}.setting-note-list{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.setting-note-list span{padding:12px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;font-size:10px}.setting-note-list .icon{color:var(--green)}.settings-demo-note{margin-top:8px;color:var(--ink-soft)}@media(max-width:720px){.logo-config-row{grid-template-columns:52px 1fr}.logo-config-row .button{grid-column:1/-1}.settings-status-list>div{grid-template-columns:1fr}.reserve-meta{grid-template-columns:repeat(2,1fr)}.setting-note-list{grid-template-columns:1fr}}
