/* ================================================================
   慧工坊 高职数学 · 首页样式
   纯白底 + 丝绸质感的多巴胺色块，首屏就能看到大部分功能。
   ----------------------------------------------------------------
   只覆盖样式，页面结构和业务逻辑都不改动。
   全部规则限定在 html:not(.legacy-browser) 下，旧浏览器仍走 legacy-home.css。
   ================================================================ */

html:not(.legacy-browser) body.gaosh-home-page {
    --a-ink: #1d1d1f;
    --a-ink-2: #6e6e73;
    --a-fill: #f5f5f7;
    --a-fill-2: #e8e8ed;
    --a-hair: rgba(0, 0, 0, .08);
    --a-font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans CJK SC", "Segoe UI", sans-serif;
    --a-ease: cubic-bezier(.16, 1, .3, 1);
    --a-spring: cubic-bezier(.22, 1.12, .36, 1);
    --a-radius: 26px;
    --a-max: 1320px;
    --a-gap: 12px;
    --a-pad: 28px;

    /* 多巴胺丝绸色：白字配深色，黑字配亮色 */
    --m-cobalt: radial-gradient(85% 90% at 92% 2%, #79d8ff 0%, transparent 68%), radial-gradient(80% 95% at 4% 100%, #3418c9 0%, transparent 72%), radial-gradient(70% 70% at 62% 68%, #4d3cff 0%, transparent 70%), linear-gradient(#2f5bff,#2f5bff);
    --m-flamingo: radial-gradient(85% 90% at 92% 2%, #ff9a6a 0%, transparent 68%), radial-gradient(80% 95% at 4% 100%, #960c9e 0%, transparent 72%), radial-gradient(70% 70% at 62% 68%, #d3127e 0%, transparent 70%), linear-gradient(#de1270,#de1270);
    --m-grape: radial-gradient(85% 90% at 92% 2%, #ff86dc 0%, transparent 68%), radial-gradient(80% 95% at 4% 100%, #3c1cc2 0%, transparent 72%), radial-gradient(70% 70% at 62% 68%, #8a3cff 0%, transparent 70%), linear-gradient(#7a35f5,#7a35f5);
    --m-ultra: radial-gradient(85% 90% at 92% 2%, #d65cff 0%, transparent 68%), radial-gradient(80% 95% at 4% 100%, #261ab0 0%, transparent 72%), radial-gradient(70% 70% at 62% 68%, #4a2bea 0%, transparent 70%), linear-gradient(#5230ea,#5230ea);
    --m-aqua: radial-gradient(85% 90% at 92% 2%, #d3ff7a 0%, transparent 68%), radial-gradient(80% 95% at 4% 100%, #19c6ee 0%, transparent 72%), radial-gradient(70% 70% at 62% 68%, #2be8d2 0%, transparent 70%), linear-gradient(#20e3c2,#20e3c2);
    --m-tangerine: radial-gradient(85% 90% at 92% 2%, #ffe24a 0%, transparent 68%), radial-gradient(80% 95% at 4% 100%, #ff6a3d 0%, transparent 72%), radial-gradient(70% 70% at 62% 68%, #ff9a2e 0%, transparent 70%), linear-gradient(#ff8a1f,#ff8a1f);
    --m-sun: radial-gradient(85% 90% at 92% 2%, #fff59a 0%, transparent 68%), radial-gradient(80% 95% at 4% 100%, #ffab00 0%, transparent 72%), radial-gradient(70% 70% at 62% 68%, #ffc400 0%, transparent 70%), linear-gradient(#ffd21f,#ffd21f);
    --m-lime: radial-gradient(85% 90% at 92% 2%, #f4ff85 0%, transparent 68%), radial-gradient(80% 95% at 4% 100%, #3fe08a 0%, transparent 72%), radial-gradient(70% 70% at 62% 68%, #7fe84a 0%, transparent 70%), linear-gradient(#a6f03a,#a6f03a);
    --m-bubble: radial-gradient(85% 90% at 92% 2%, #ffd9ae 0%, transparent 68%), radial-gradient(80% 95% at 4% 100%, #ff66a8 0%, transparent 72%), radial-gradient(70% 70% at 62% 68%, #ff9ccb 0%, transparent 70%), linear-gradient(#ff8dc2,#ff8dc2);
    --m-sky: radial-gradient(85% 90% at 92% 2%, #bdfff0 0%, transparent 68%), radial-gradient(80% 95% at 4% 100%, #4d9dff 0%, transparent 72%), radial-gradient(70% 70% at 62% 68%, #5fc4ff 0%, transparent 70%), linear-gradient(#56c7ff,#56c7ff);
    --m-coral: radial-gradient(85% 90% at 92% 2%, #ffcb8f 0%, transparent 68%), radial-gradient(80% 95% at 4% 100%, #ff5180 0%, transparent 72%), radial-gradient(70% 70% at 62% 68%, #ff7a66 0%, transparent 70%), linear-gradient(#ff6f61,#ff6f61);
    --m-panel: radial-gradient(52% 62% at 102% 50%, #63c8ff 0%, transparent 72%), radial-gradient(80% 95% at 4% 100%, #3418c9 0%, transparent 72%), linear-gradient(#2c49f2, #2c49f2);
    --silk-a: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 420' preserveAspectRatio='xMidYMid slice'%3E%3Cg fill='none' stroke='white' stroke-opacity='.62' stroke-width='1'%3E%3Cpath d='M-20 382C12 389 45 398 77 397C110 397 142 387 174 366C207 345 239 314 271 285C304 256 336 230 369 216C401 201 433 199 466 203C498 208 530 218 563 222C595 226 628 222 660 207'/%3E%3Cpath d='M-20 375C12 382 45 390 77 387C110 384 142 369 174 346C207 323 239 291 271 263C304 235 336 211 369 200C401 189 433 189 466 195C498 201 530 211 563 213C595 215 628 207 660 189'/%3E%3Cpath d='M-20 368C12 375 45 380 77 374C110 368 142 351 174 325C207 300 239 268 271 241C304 214 336 194 369 186C401 177 433 181 466 188C498 194 530 203 563 203C595 202 628 191 660 170'/%3E%3Cpath d='M-20 360C12 367 45 370 77 361C110 352 142 331 174 304C207 277 239 245 271 220C304 195 336 178 369 172C401 167 433 173 466 180C498 188 530 195 563 192C595 188 628 174 660 150'/%3E%3Cpath d='M-20 353C12 358 45 358 77 346C110 334 142 310 174 282C207 253 239 222 271 199C304 176 336 163 369 161C401 158 433 166 466 173C498 180 530 186 563 179C595 173 628 155 660 130'/%3E%3Cpath d='M-20 344C12 348 45 345 77 330C110 315 142 288 174 259C207 230 239 200 271 179C304 159 336 150 369 150C401 150 433 159 466 166C498 172 530 175 563 166C595 157 628 135 660 108'/%3E%3Cpath d='M-20 335C12 337 45 331 77 313C110 295 142 266 174 236C207 207 239 179 271 161C304 144 336 138 369 140C401 143 433 153 466 158C498 164 530 163 563 151C595 139 628 114 660 86'/%3E%3Cpath d='M-20 325C12 325 45 315 77 294C110 273 142 243 174 214C207 185 239 158 271 144C304 129 336 127 369 131C401 136 433 146 466 150C498 154 530 150 563 135C595 119 628 92 660 63'/%3E%3Cpath d='M-20 314C12 312 45 298 77 274C110 251 142 219 174 191C207 163 239 140 271 128C304 117 336 117 369 123C401 129 433 139 466 141C498 143 530 136 563 117C595 99 628 70 660 40'/%3E%3Cpath d='M-20 302C12 296 45 279 77 254C110 228 142 196 174 169C207 142 239 122 271 114C304 105 336 109 369 116C401 122 433 131 466 131C498 130 530 119 563 98C595 77 628 47 660 18'/%3E%3Cpath d='M-20 289C12 280 45 259 77 232C110 205 142 173 174 148C207 123 239 106 271 100C304 95 336 101 369 108C401 116 433 123 466 120C498 116 530 102 563 79C595 55 628 23 660 -5'/%3E%3Cpath d='M-20 274C12 262 45 238 77 210C110 182 142 150 174 127C207 104 239 91 271 88C304 86 336 94 369 101C401 108 433 114 466 107C498 101 530 83 563 58C595 32 628 -0 660 -27'/%3E%3Cpath d='M-20 258C12 243 45 216 77 187C110 158 142 128 174 108C207 87 239 78 271 78C304 78 336 87 369 94C401 100 433 103 466 94C498 85 530 63 563 36C595 9 628 -23 660 -48'/%3E%3Cpath d='M-20 241C12 223 45 194 77 164C110 135 142 107 174 89C207 72 239 66 271 68C304 70 336 81 369 86C401 92 433 91 466 79C498 67 530 42 563 14C595 -14 628 -46 660 -69'/%3E%3Cpath d='M-20 222C12 201 45 171 77 142C110 113 142 87 174 72C207 57 239 55 271 59C304 64 336 74 369 78C401 82 433 78 466 63C498 47 530 20 563 -9C595 -38 628 -68 660 -88'/%3E%3Cpath d='M-20 202C12 179 45 147 77 119C110 91 142 68 174 56C207 45 239 45 271 51C304 57 336 67 369 69C401 71 433 64 466 45C498 27 530 -2 563 -31C595 -61 628 -89 660 -106'/%3E%3C/g%3E%3C/svg%3E");
    --silk-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 420' preserveAspectRatio='xMidYMid slice'%3E%3Cg fill='none' stroke='white' stroke-opacity='.62' stroke-width='1'%3E%3Cpath d='M-20 379C12 391 45 404 77 412C110 420 142 422 174 417C207 412 239 398 271 380C304 361 336 336 369 313C401 289 433 267 466 251C498 236 530 226 563 225C595 224 628 230 660 241'/%3E%3Cpath d='M-20 374C12 386 45 398 77 404C110 411 142 411 174 404C207 396 239 381 271 360C304 340 336 315 369 292C401 269 433 248 466 234C498 220 530 214 563 215C595 216 628 224 660 235'/%3E%3Cpath d='M-20 369C12 381 45 392 77 397C110 401 142 399 174 389C207 380 239 362 271 340C304 319 336 294 369 271C401 249 433 230 466 218C498 206 530 202 563 205C595 208 628 218 660 230'/%3E%3Cpath d='M-20 364C12 376 45 385 77 388C110 391 142 386 174 374C207 362 239 342 271 320C304 298 336 272 369 251C401 230 433 212 466 203C498 193 530 192 563 197C595 202 628 213 660 225'/%3E%3Cpath d='M-20 359C12 370 45 378 77 378C110 379 142 372 174 358C207 344 239 322 271 299C304 276 336 251 369 231C401 211 433 196 466 189C498 182 530 182 563 189C595 196 628 208 660 220'/%3E%3Cpath d='M-20 353C12 363 45 369 77 368C110 366 142 357 174 341C207 324 239 302 271 278C304 255 336 231 369 212C401 193 433 181 466 176C498 171 530 174 563 182C595 190 628 203 660 215'/%3E%3Cpath d='M-20 347C12 356 45 360 77 356C110 352 142 340 174 322C207 305 239 281 271 257C304 234 336 211 369 194C401 177 433 166 466 164C498 161 530 166 563 176C595 185 628 199 660 210'/%3E%3Cpath d='M-20 340C12 348 45 350 77 344C110 337 142 323 174 304C207 284 239 260 271 236C304 213 336 191 369 176C401 161 433 153 466 153C498 152 530 159 563 170C595 180 628 194 660 204'/%3E%3Cpath d='M-20 333C12 339 45 338 77 330C110 321 142 305 174 284C207 263 239 238 271 215C304 193 336 172 369 159C401 146 433 141 466 143C498 144 530 153 563 165C595 176 628 189 660 198'/%3E%3Cpath d='M-20 325C12 329 45 326 77 315C110 304 142 286 174 264C207 242 239 217 271 195C304 173 336 154 369 144C401 133 433 130 466 133C498 137 530 148 563 159C595 171 628 184 660 191'/%3E%3Cpath d='M-20 316C12 318 45 312 77 299C110 286 142 266 174 243C207 221 239 196 271 175C304 154 336 137 369 129C401 120 433 120 466 125C498 131 530 143 563 154C595 166 628 178 660 184'/%3E%3Cpath d='M-20 306C12 306 45 298 77 283C110 268 142 246 174 223C207 199 239 175 271 155C304 136 336 121 369 115C401 109 433 111 466 118C498 125 530 138 563 150C595 161 628 172 660 176'/%3E%3Cpath d='M-20 295C12 292 45 282 77 265C110 248 142 225 174 202C207 178 239 154 271 136C304 118 336 106 369 102C401 98 433 102 466 111C498 120 530 133 563 144C595 156 628 165 660 167'/%3E%3Cpath d='M-20 283C12 278 45 265 77 247C110 228 142 204 174 181C207 157 239 134 271 118C304 102 336 92 369 91C401 89 433 95 466 105C498 115 530 128 563 139C595 150 628 157 660 157'/%3E%3Cpath d='M-20 270C12 263 45 248 77 228C110 207 142 183 174 160C207 136 239 115 271 101C304 87 336 80 369 80C401 81 433 89 466 99C498 110 530 124 563 133C595 143 628 149 660 146'/%3E%3Cpath d='M-20 256C12 246 45 229 77 208C110 186 142 161 174 139C207 116 239 97 271 85C304 72 336 68 369 70C401 73 433 83 466 94C498 106 530 119 563 127C595 136 628 139 660 134'/%3E%3C/g%3E%3C/svg%3E");
    --g-blue: var(--m-cobalt);
    --g-pink: var(--m-flamingo);
    --g-mint: var(--m-aqua);
    --g-flow: linear-gradient(90deg, #ff2f86, #a635f0, #2f5bff, #a635f0, #ff2f86);

    --font-body: var(--a-font);
    --font-display: var(--a-font);
    --font-math: var(--a-font);
    --radius-sm: 14px;
    --radius: 22px;
    --radius-lg: 32px;
    --blue: #2f5bff;
    --blue-deep: #1f47e0;
    --blue-tint: #eaf0ff;
    --blue-ghost: rgba(47, 91, 255, .12);
    --red: #e0185f;
    --green: #05a57e;
    --ink: var(--a-ink);
    --ink-soft: #424245;
    --muted: var(--a-ink-2);
    --line: var(--a-hair);
    --line-strong: #d2d2d7;

    overflow: visible;
    background: #fff;
    background-image: none;
    color: var(--a-ink);
    font-family: var(--a-font);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home { background: #fff; }

html:not(.legacy-browser) body.gaosh-home-page.modal-active { overflow: hidden; }

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .content-scroll-area,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-shell {
    height: auto;
    overflow: visible;
    background: #fff;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .module-card[hidden],
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home [data-dashboard-nav][hidden] {
    display: none !important;
}

/* ================= 顶栏：只留品牌、搜索和身份 ================= */

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .portal-header {
    min-height: 56px;
    padding: 8px max(var(--a-pad), calc((100vw - var(--a-max)) / 2));
    border-bottom: 0;
    background: rgba(255, 255, 255, .78);
    box-shadow: 0 .5px 0 rgba(0, 0, 0, .1);
    -webkit-backdrop-filter: saturate(180%) blur(22px);
    backdrop-filter: saturate(180%) blur(22px);
}

/* 顶部导航已移除，应用市场、学情大屏继续使用主体功能卡片 */
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .portal-nav {
    display: none !important;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .brand-mark {
    width: 30px;
    height: 30px;
    border-radius: 9px;
    background: var(--a-ink);
    box-shadow: none;
    font-family: var(--a-font);
    font-size: 17px;
    font-weight: 600;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .brand-name {
    color: var(--a-ink);
    font-family: var(--a-font);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -.01em;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .portal-actions { gap: 6px; }

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-search {
    flex: 0 1 300px;
    height: 36px;
    padding: 0 4px 0 13px;
    border: 0;
    border-radius: 999px;
    background: var(--a-fill);
    box-shadow: none;
    color: var(--a-ink-2);
    transition: background-color .35s var(--a-ease), box-shadow .35s var(--a-ease);
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-search:focus-within {
    background: #fff;
    box-shadow: 0 0 0 1px rgba(47, 91, 255, .55), 0 0 0 5px rgba(47, 91, 255, .15);
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-search input { font-size: 14px; }
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-search input::placeholder { color: var(--a-ink-2); }

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-search button {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--a-ink);
    transform: none;
    transition: scale .5s var(--a-spring);
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-search button:hover {
    background: var(--a-ink);
    scale: 1.08;
    transform: none;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .teacher-chip,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .mode-switch-action,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .chrome-download-action {
    min-height: 36px;
    height: 36px;
    border: 0;
    border-radius: 999px;
    background: var(--a-fill);
    box-shadow: none;
    color: var(--a-ink);
    transition: background-color .35s var(--a-ease);
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .chrome-download-action {
    width: 36px;
    color: var(--a-ink);
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .teacher-chip:hover,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .mode-switch-action:hover,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .chrome-download-action:hover {
    border-color: transparent;
    background: var(--a-fill-2);
    box-shadow: none;
    color: var(--a-ink);
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .teacher-chip-avatar {
    width: 28px;
    height: 28px;
    box-shadow: none;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .teacher-chip-name,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .mode-switch-label {
    color: var(--a-ink);
    font-size: 14px;
    font-weight: 500;
}

/* ================= 首屏：问候 + 下一节课 + 进度 + 时钟 ================= */

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-hero {
    position: relative;
    border: 0;
    background: #fff;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-hero::before { content: none; }

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-hero .home-wrap {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: minmax(128px, 1fr) minmax(128px, 1fr);
    gap: var(--a-gap);
    width: 100%;
    max-width: calc(var(--a-max) + var(--a-pad) * 2);
    margin: 0 auto;
    padding: 22px var(--a-pad) 0;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-meta-row { display: contents; }

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-date {
    position: relative;
    z-index: 1;
    grid-column: 1 / span 5;
    grid-row: 1 / span 2;
    align-self: start;
    display: block;
    margin: 0;
    color: var(--a-ink-2);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-date::before { content: none; }

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .hero-copy {
    grid-column: 1 / span 5;
    grid-row: 1 / span 2;
    flex: none;
    min-width: 0;
    max-width: none;
    padding: 30px 12px 4px 0;
    text-align: left;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .hero-title {
    max-width: none;
    color: var(--a-ink);
    font-family: var(--a-font);
    font-size: clamp(30px, 3.05vw, 46px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.022em;
    word-break: keep-all;
    overflow-wrap: anywhere;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .hero-title em {
    padding: 0;
    border-radius: 0;
    background: var(--g-flow);
    background-size: 260% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-style: normal;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-sub {
    margin-top: 10px;
    color: var(--a-ink-2);
    font-size: 15px;
    font-weight: 400;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .hero-actions {
    justify-content: flex-start;
    gap: 8px;
    margin-top: 18px;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-btn {
    height: 42px;
    padding: 0 20px;
    border: 0;
    border-radius: 999px;
    box-shadow: none;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -.005em;
    transform: none;
    transition: scale .6s var(--a-spring), background-color .3s var(--a-ease);
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-btn:active {
    scale: .97;
    transition-duration: .15s;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-btn-primary {
    background: var(--a-ink);
    color: #fff;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-btn-primary:hover {
    background: #000;
    box-shadow: none;
    scale: 1.025;
    transform: none;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-btn-ghost {
    background: var(--a-fill);
    color: var(--a-ink);
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-btn-ghost:hover {
    border-color: transparent;
    background: var(--a-fill-2);
    box-shadow: none;
    color: var(--a-ink);
    scale: 1.025;
    transform: none;
}

/* 下一节课 */
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .curve-box,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .curve-box.is-schedule {
    position: relative;
    display: flex;
    flex: none;
    grid-column: 6 / span 4;
    grid-row: 1 / span 2;
    align-items: stretch;
    align-self: stretch;
    justify-content: center;
    width: 100%;
    min-width: 0;
    max-width: none;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: var(--a-radius);
    overflow: hidden;
    background: var(--a-fill);
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .curve-box::before { display: none; }

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .curve-box.is-schedule .curve-img,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .curve-box.is-schedule .curve-img[hidden] {
    display: none !important;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .curve-box:not(.is-schedule) {
    align-items: center;
    padding: 16px;
    background: var(--a-fill);
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .curve-box:not(.is-schedule) .curve-img {
    position: static;
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 220px;
    margin: auto;
    opacity: 1;
    filter: none;
    animation: none;
    mix-blend-mode: multiply;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .teacher-schedule-panel {
    --w-fg: #fff;
    --w-fg-2: rgba(255, 255, 255, .95);
    --w-line: rgba(255, 255, 255, .28);
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    width: 100%;
    min-height: 100%;
    padding: 18px 22px 20px;
    border: 0;
    background-color: transparent;
    background-image: var(--m-panel);
    color: var(--w-fg);
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .teacher-schedule-panel::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background: var(--silk-a) center / cover no-repeat;
    opacity: .5;
    -webkit-mask-image: radial-gradient(70% 62% at 100% 52%, #000 25%, transparent 100%);
    mask-image: radial-gradient(70% 62% at 100% 52%, #000 25%, transparent 100%);
    pointer-events: none;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .teacher-schedule-panel[data-state="live"] { background-image: var(--m-flamingo); }

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .teacher-schedule-panel[data-state="complete"] {
    --w-fg: var(--a-ink);
    --w-fg-2: var(--a-ink-2);
    --w-line: var(--a-hair);
    background-image: none;
    background-color: var(--a-fill);
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .teacher-schedule-panel[data-state="complete"]::before { content: none; }

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .schedule-head { margin-bottom: 10px; }

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .schedule-state,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .teacher-schedule-panel[data-state="live"] .schedule-state,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .teacher-schedule-panel[data-state="complete"] .schedule-state {
    color: var(--w-fg);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .schedule-state-dot {
    width: 7px;
    height: 7px;
    background: currentColor;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .teacher-schedule-panel[data-state="live"] .schedule-state-dot {
    animation: a-pulse 1.8s var(--a-ease) infinite;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .schedule-week {
    color: var(--w-fg-2);
    font-size: 13px;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .schedule-week-button {
    padding: 5px 12px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, .22);
    color: var(--w-fg);
    font-size: 12.5px;
    font-weight: 600;
    transition: background-color .35s var(--a-ease);
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .schedule-week-button:hover,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .schedule-week-button:focus-visible {
    border-color: transparent;
    background: rgba(255, 255, 255, .36);
    color: var(--w-fg);
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .teacher-schedule-panel[data-state="complete"] .schedule-week-button { background: var(--a-fill-2); }

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .schedule-date {
    color: var(--w-fg-2);
    font-size: 13.5px;
    letter-spacing: 0;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .schedule-core {
    display: block;
    margin-top: 4px;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .schedule-time {
    display: block;
    color: var(--w-fg);
    font-family: var(--a-font);
    font-size: clamp(32px, 3.1vw, 44px);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -.03em;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .schedule-course-line {
    margin-top: 4px;
    padding: 0;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .schedule-course,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .teacher-schedule-panel[data-state="live"] .schedule-course,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .teacher-schedule-panel[data-course-kind="career"]:not([data-state="live"]) .schedule-course {
    color: var(--w-fg);
    font-family: var(--a-font);
    font-size: 17px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: -.01em;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .schedule-course-kind {
    border-left: 0;
    border-radius: 999px;
    padding: 2px 9px;
    background: #fff;
    color: #c2410c;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .schedule-meta,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .curve-box.is-schedule .schedule-meta {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
    margin-top: auto;
    padding: 12px 0 0;
    border: 0;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .schedule-meta-row {
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 6px;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .schedule-meta-label {
    color: var(--w-fg-2);
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .schedule-meta-value {
    color: var(--w-fg);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.45;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .schedule-next-row {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 6px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--w-line);
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .schedule-next-label,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .schedule-next-copy strong {
    color: var(--w-fg);
    font-size: 13px;
    letter-spacing: 0;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .schedule-next-copy span { color: var(--w-fg-2); }

/* 学期进度与时钟：浅色面板，与白色页面保持一致 */
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .term-ring,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-clock {
    position: relative;
    grid-column: 10 / span 3;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 16px;
    min-width: 0;
    margin: 0;
    padding: 14px 18px;
    border: 0;
    border-radius: var(--a-radius);
    background: var(--a-fill);
    box-shadow: none;
    color: var(--a-ink);
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .term-ring { grid-row: 1; }
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-clock { grid-row: 2; }

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .term-ring-dial {
    position: relative;
    flex: none;
    width: 96px;
    aspect-ratio: 1;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .term-ring-dial svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
    rotate: -90deg;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .term-ring-track {
    fill: none;
    stroke: rgba(255, 45, 135, .2);
    stroke-width: 15;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .term-ring-fill {
    fill: none;
    stroke-width: 15;
    stroke-linecap: round;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .term-ring-center {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .term-ring-center b {
    color: var(--a-ink);
    font-size: 26px;
    font-weight: 700;
    letter-spacing: -.03em;
    font-variant-numeric: tabular-nums;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .term-ring-center b.is-text {
    font-size: 12px;
    letter-spacing: 0;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .term-ring figcaption {
    min-width: 0;
    color: var(--a-ink-2);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.35;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .term-ring figcaption strong {
    display: block;
    margin-top: 2px;
    color: var(--a-ink);
    font-size: 19px;
    font-weight: 600;
    letter-spacing: -.015em;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-clock-face {
    flex: none;
    width: 96px;
    height: auto;
    aspect-ratio: 1;
    filter: none;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-clock-face .clock-face {
    fill: #fff;
    stroke: none;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-clock-face .clock-hour {
    stroke: var(--a-ink);
    stroke-width: 4.4;
    stroke-linecap: round;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-clock-face .clock-minute {
    stroke: var(--a-ink);
    stroke-width: 3;
    stroke-linecap: round;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-clock-face .clock-second {
    stroke: #ff2f86;
    stroke-width: 1.4;
    stroke-linecap: round;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-clock-face .clock-pin { fill: #ff2f86; }

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-clock-readout {
    display: block;
    min-width: 0;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-clock-label {
    display: block;
    color: var(--a-ink-2);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-clock-readout time {
    display: block;
    margin-top: 2px;
    color: var(--a-ink);
    font-family: var(--a-font);
    font-size: 19px;
    font-weight: 600;
    letter-spacing: -.015em;
    font-variant-numeric: tabular-nums;
}

/* ================= 功能色块 ================= */

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .smart-layout {
    display: block;
    width: 100%;
    max-width: calc(var(--a-max) + var(--a-pad) * 2);
    margin: 0 auto;
    padding: 26px var(--a-pad) 56px;
    border: 0;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .resource-center {
    min-width: 0;
    container-type: inline-size;
    container-name: wall;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .main-stack {
    display: flex;
    flex-direction: column;
    gap: 26px;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .zone-h,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .zone-h.sm {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 11px;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .zone-no,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .zone-h.sm .zone-no {
    flex: none;
    color: var(--a-ink-2);
    font-family: var(--a-font);
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: 0;
    font-variant-numeric: tabular-nums;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .zone-no::before,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .zone-no::after { content: none; }

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .zone-h h2,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .zone-h.sm h2 {
    color: var(--a-ink);
    font-size: 19px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -.015em;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .zone-h .rule {
    flex: 1;
    height: 0;
    background: none;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .zone-h .count {
    flex: none;
    margin-left: auto;
    color: var(--a-ink-2);
    font-size: 13px;
    font-weight: 400;
}

/* —— 色块共同部分 —— */

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .module-grid .home-card,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .grid-4 .home-card,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card-more,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .chip {
    --fg: #fff;
    --fg-2: rgba(255, 255, 255, .97);
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 0;
    border: 0;
    border-radius: var(--a-radius);
    background-color: transparent;
    background-image:
        radial-gradient(420px circle at var(--mx, 50%) var(--my, 0%), rgba(255, 255, 255, var(--sheen, 0)), rgba(255, 255, 255, 0) 72%),
        var(--grad, var(--m-cobalt));
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14), inset 0 1px 0 rgba(255, 255, 255, .28);
    color: var(--fg);
    text-align: left;
    transform: none;
    transition: translate .7s var(--a-spring), scale .7s var(--a-spring), box-shadow .7s var(--a-ease);
    -webkit-tap-highlight-color: transparent;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card:hover,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card-more:hover,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .chip:hover {
    border-color: transparent;
    background-color: transparent;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .2), inset 0 1px 0 rgba(255, 255, 255, .34), 0 26px 48px -22px var(--glow, rgba(0, 0, 0, .4));
    color: var(--fg);
    translate: 0 -3px;
    scale: 1.012;
    transform: none;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card:active,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .chip:active {
    scale: .988;
    translate: 0 0;
    transition-duration: .16s;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card:focus-visible,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .chip:focus-visible {
    border-radius: var(--a-radius);
    outline: 3px solid var(--a-ink);
    outline-offset: 3px;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .is-tilting.is-tilting {
    transform: perspective(1100px) rotateX(calc(var(--rx, 0) * 1deg)) rotateY(calc(var(--ry, 0) * 1deg));
}

/* 卡面丝线：一组函数曲线，随指针轻移 */
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card::before,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .chip::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: -12px;
    background: var(--silk, var(--silk-a)) var(--silk-pos, center) / var(--silk-size, cover) no-repeat;
    opacity: var(--silk-o, .55);
    -webkit-mask-image: linear-gradient(var(--silk-dir, 215deg), #000 12%, transparent 66%);
    mask-image: linear-gradient(var(--silk-dir, 215deg), #000 12%, transparent 66%);
    pointer-events: none;
    translate: calc(var(--px, 0) * -7px) calc(var(--py, 0) * -7px);
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card::after { content: none; }

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card .go {
    top: 16px;
    right: 16px;
    color: var(--fg);
    font-size: 18px;
    opacity: 0;
    transform: translate(-5px, 5px);
    transition: opacity .45s var(--a-ease), transform .7s var(--a-spring);
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card:hover .go {
    opacity: 1;
    transform: none;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card .tile,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card-s .tile,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card-more .tile,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .chip .mini {
    display: grid;
    flex: none;
    place-items: center;
    overflow: hidden;
    border-radius: 23%;
    background: linear-gradient(160deg, #fff 40%, rgba(255, 255, 255, .9));
    box-shadow: 0 10px 22px -12px rgba(0, 0, 0, .4), inset 0 0 0 .5px rgba(255, 255, 255, .9);
    color: var(--a-ink);
    translate: calc(var(--px, 0) * 4px) calc(var(--py, 0) * 4px);
    transition: scale .7s var(--a-spring);
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card:hover .tile,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .chip:hover .mini { scale: 1.05; }

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-icon-img,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-icon-svg {
    display: block;
    object-fit: contain;
    filter: none;
    mix-blend-mode: normal;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card .name,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card:hover .name,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card-more .name,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .chip:hover .chip-title,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .chip .chip-title { color: var(--fg); }

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card .name {
    font-weight: 600;
    letter-spacing: -.015em;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card .desc {
    color: var(--fg-2);
    font-weight: 400;
}

/* —— 课堂教学：一大五小的拼贴 —— */

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .module-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    grid-auto-rows: clamp(152px, 20.6vh, 200px);
    gap: var(--a-gap);
    background: none;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .home-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 18px;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .home-card:nth-child(1) {
    grid-column: span 2;
    grid-row: span 2;
    padding: 26px;
    --silk-o: .75;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .home-card:nth-child(6) { grid-column: span 2; }

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .home-card .tile {
    width: 64px;
    height: 64px;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .home-icon-img {
    width: 52px;
    height: 52px;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .home-card:nth-child(1) .tile {
    width: 116px;
    height: 116px;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .home-card:nth-child(1) .home-icon-img {
    width: 96px;
    height: 96px;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .home-card .name {
    margin-top: auto;
    font-size: 20px;
    line-height: 1.25;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .home-card:nth-child(1) .name {
    font-size: 44px;
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -.03em;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .home-card .desc {
    margin-top: 3px;
    font-size: 13.5px;
    line-height: 1.4;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .home-card:nth-child(1) .desc {
    margin-top: 8px;
    font-size: 18px;
}

/* —— 教学资源 / 课程管理 —— */

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c2 .grid-4 {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--a-gap);
    background: none;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c2 .grid-4 > :nth-child(1) { grid-column: span 2; }

/* 用弹性换行：学生身份少两张卡时自动铺满，不留空洞 */
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c3 .grid-4 {
    display: flex;
    flex-wrap: wrap;
    gap: var(--a-gap);
    background: none;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c3 .grid-4 > * {
    flex: 1 1 180px;
    min-width: 0;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card-s,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .grid-4 .home-card-s {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    min-height: 160px;
    padding: 16px 18px;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card-more {
    width: 100%;
    font: inherit;
    cursor: pointer;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card-s .tile {
    width: 56px;
    height: 56px;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card-s .home-icon-img {
    width: 46px;
    height: 46px;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card-s > div {
    margin-top: auto;
    padding-top: 12px;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card-s .name {
    font-size: 18px;
    line-height: 1.25;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card-s .desc {
    margin-top: 2px;
    font-size: 13px;
    line-height: 1.4;
}

/* —— 三个小分区：7 张并排 —— */

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .grid-explore {
    display: grid;
    grid-template-columns: 2fr 2fr 3fr;
    gap: 22px;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .chips {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--a-gap);
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c6 .chips { grid-template-columns: repeat(3, minmax(0, 1fr)); }

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .chip {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    min-height: 132px;
    padding: 14px 15px;
    font-size: 15.5px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -.01em;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .chip .mini {
    width: 52px;
    height: 52px;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .chip .home-icon-img {
    width: 42px;
    height: 42px;
}

/* ================= 22 张色块的配色 ================= */

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .module-grid > :nth-child(1) { --grad: var(--m-cobalt); --glow: rgba(60,70,255,.75); --silk: var(--silk-a); }
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .module-grid > :nth-child(2) { --grad: var(--m-flamingo); --glow: rgba(235,30,140,.7); --silk: var(--silk-b); }
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .module-grid > :nth-child(3) { --grad: var(--m-aqua); --glow: rgba(30,205,215,.8); --silk: var(--silk-a); --fg: #1d1d1f; --fg-2: rgba(29, 29, 31, .9); --silk-o: .8; }
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .module-grid > :nth-child(4) { --grad: var(--m-grape); --glow: rgba(130,50,240,.7); --silk: var(--silk-b); }
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .module-grid > :nth-child(5) { --grad: var(--m-tangerine); --glow: rgba(255,125,50,.8); --silk: var(--silk-a); --fg: #1d1d1f; --fg-2: rgba(29, 29, 31, .9); --silk-o: .8; }
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .module-grid > :nth-child(6) { --grad: var(--m-sun); --glow: rgba(255,190,20,.85); --silk: var(--silk-b); --fg: #1d1d1f; --fg-2: rgba(29, 29, 31, .9); --silk-o: .8; }
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c2 .grid-4 > :nth-child(1) { --grad: var(--m-lime); --glow: rgba(110,225,70,.85); --silk: var(--silk-a); --fg: #1d1d1f; --fg-2: rgba(29, 29, 31, .9); --silk-o: .8; }
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c2 .grid-4 > :nth-child(2) { --grad: var(--m-bubble); --glow: rgba(255,110,170,.8); --silk: var(--silk-b); --fg: #1d1d1f; --fg-2: rgba(29, 29, 31, .9); --silk-o: .8; }
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c2 .grid-4 > :nth-child(3) { --grad: var(--m-sky); --glow: rgba(75,170,255,.8); --silk: var(--silk-a); --fg: #1d1d1f; --fg-2: rgba(29, 29, 31, .9); --silk-o: .8; }
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c2 .grid-4 > :nth-child(4) { --grad: var(--m-ultra); --glow: rgba(80,45,235,.75); --silk: var(--silk-b); }
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c3 .grid-4 > :nth-child(1) { --grad: var(--m-tangerine); --glow: rgba(255,125,50,.8); --silk: var(--silk-b); --fg: #1d1d1f; --fg-2: rgba(29, 29, 31, .9); --silk-o: .8; }
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c3 .grid-4 > :nth-child(2) { --grad: var(--m-flamingo); --glow: rgba(235,30,140,.7); --silk: var(--silk-a); }
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c3 .grid-4 > :nth-child(3) { --grad: var(--m-grape); --glow: rgba(130,50,240,.7); --silk: var(--silk-a); }
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c3 .grid-4 > :nth-child(4) { --grad: var(--m-aqua); --glow: rgba(30,205,215,.8); --silk: var(--silk-b); --fg: #1d1d1f; --fg-2: rgba(29, 29, 31, .9); --silk-o: .8; }
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c3 .grid-4 > :nth-child(5) { --grad: var(--m-cobalt); --glow: rgba(60,70,255,.75); --silk: var(--silk-b); }
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c4 .chips > :nth-child(1) { --grad: var(--m-ultra); --glow: rgba(80,45,235,.75); --silk: var(--silk-a); }
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c4 .chips > :nth-child(2) { --grad: var(--m-bubble); --glow: rgba(255,110,170,.8); --silk: var(--silk-a); --fg: #1d1d1f; --fg-2: rgba(29, 29, 31, .9); --silk-o: .8; }
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c5 .chips > :nth-child(1) { --grad: var(--m-sky); --glow: rgba(75,170,255,.8); --silk: var(--silk-b); --fg: #1d1d1f; --fg-2: rgba(29, 29, 31, .9); --silk-o: .8; }
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c5 .chips > :nth-child(2) { --grad: var(--m-lime); --glow: rgba(110,225,70,.85); --silk: var(--silk-b); --fg: #1d1d1f; --fg-2: rgba(29, 29, 31, .9); --silk-o: .8; }
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c6 .chips > :nth-child(1) { --grad: var(--m-coral); --glow: rgba(255,95,110,.8); --silk: var(--silk-a); --fg: #1d1d1f; --fg-2: rgba(29, 29, 31, .9); --silk-o: .8; }
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c6 .chips > :nth-child(2) { --grad: var(--m-sun); --glow: rgba(255,190,20,.85); --silk: var(--silk-a); --fg: #1d1d1f; --fg-2: rgba(29, 29, 31, .9); --silk-o: .8; }
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c6 .chips > :nth-child(3) { --grad: var(--m-cobalt); --glow: rgba(60,70,255,.75); --silk: var(--silk-a); }


/* ================= 随内容宽度调整，色块始终全部显示 ================= */

@container wall (max-width: 1020px) {
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .module-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .home-card:nth-child(1) {
        grid-column: span 2;
        grid-row: span 1;
        padding: 18px;
    }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .home-card:nth-child(1) .tile {
        width: 64px;
        height: 64px;
    }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .home-card:nth-child(1) .home-icon-img {
        width: 52px;
        height: 52px;
    }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .home-card:nth-child(1) .name { font-size: 30px; }
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .home-card:nth-child(1) .desc { font-size: 14px; }
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .home-card:nth-child(6) { grid-column: span 3; }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c2 .grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c2 .grid-4 > :nth-child(1) { grid-column: auto; }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c3 .grid-4 > * { flex-basis: 240px; }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .grid-explore { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .grid-explore .c6 { grid-column: 1 / -1; }
}

@container wall (max-width: 620px) {
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .module-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: auto;
    }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .home-card {
        min-height: 158px;
        padding: 15px;
    }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .home-card:nth-child(1),
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .home-card:nth-child(6) {
        grid-column: span 2;
        min-height: 150px;
        padding: 15px;
    }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .home-card .name { padding-top: 12px; }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c2 .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c3 .grid-4 > * { flex-basis: 40%; }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card-s,
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .grid-4 .home-card-s {
        min-height: 140px;
        padding: 15px;
    }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card-s .name { font-size: 17px; }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .grid-explore {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }
}

/* ================= 页脚 ================= */

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-foot {
    border-top: 1px solid var(--a-hair);
    background: #fff;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-foot .home-wrap {
    max-width: calc(var(--a-max) + var(--a-pad) * 2);
    padding-inline: var(--a-pad);
    color: var(--a-ink-2);
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-foot-mark {
    color: var(--a-ink);
    font-family: var(--a-font);
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .foot-links {
    flex-wrap: wrap;
    gap: 6px 18px;
}

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .foot-links a { transition: color .3s var(--a-ease); }
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .foot-links a:hover { color: var(--a-ink); }
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .beian-link { color: #424245; }

html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .beian-system-link,
html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .subject-home-links a { color: var(--a-ink-2); }

/* ================= 窄屏 ================= */

@media (max-width: 1100px) {
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-hero .home-wrap {
        grid-template-rows: auto minmax(120px, auto) minmax(120px, auto);
    }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-date {
        grid-column: 1 / -1;
        grid-row: 1;
    }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .hero-copy {
        grid-column: 1 / -1;
        grid-row: 1;
        padding-bottom: 12px;
    }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .curve-box,
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .curve-box.is-schedule {
        grid-column: 1 / span 7;
        grid-row: 2 / span 2;
    }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .term-ring,
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-clock { grid-column: 8 / span 5; }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .term-ring { grid-row: 2; }
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-clock { grid-row: 3; }
}

@media (max-width: 720px) {
    html:not(.legacy-browser) body.gaosh-home-page {
        --a-pad: 16px;
        --a-gap: 10px;
        --a-radius: 22px;
    }

    /* 手机顶栏：两行放下品牌、身份和搜索，不再占用滚动空间 */
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .portal-header {
        position: relative;
        top: 0 !important;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto auto;
        gap: 8px 6px;
        padding: 8px var(--a-pad) 10px;
    }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .portal-brand {
        width: auto;
        grid-column: 1;
        grid-row: 1;
    }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .portal-actions { display: contents; }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .mode-switch-action {
        grid-column: 2;
        grid-row: 1;
    }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .chrome-download-action {
        grid-column: 3;
        grid-row: 1;
    }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .teacher-chip {
        grid-column: 1;
        grid-row: 2;
        justify-self: start;
        max-width: 148px;
    }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-search {
        display: flex;
        grid-column: 1 / -1;
        grid-row: 3;
        min-width: 0;
        max-width: none;
    }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-hero .home-wrap {
        grid-template-rows: auto auto auto;
        padding-top: 16px;
    }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .hero-title {
        font-size: clamp(27px, 7.6vw, 36px);
    }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .hero-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .hero-actions .home-btn,
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .hero-actions .home-btn:first-child {
        grid-column: auto;
        width: 100%;
        justify-content: center;
        padding: 0 8px;
        font-size: 14.5px;
    }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .hero-actions .home-btn[hidden] { display: none !important; }
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .hero-actions .home-btn:only-child { grid-column: 1 / -1; }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .curve-box,
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .curve-box.is-schedule {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .curve-box:not(.is-schedule) .curve-img { max-height: 140px; }

    /* 窄屏文字更靠右，把光晕收小，保证班级信息清晰 */
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .teacher-schedule-panel {
        background-image:
            radial-gradient(42% 34% at 104% 40%, #4f9dff 0%, transparent 74%),
            radial-gradient(80% 95% at 4% 100%, #3418c9 0%, transparent 72%),
            linear-gradient(#2c49f2, #2c49f2);
    }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .term-ring,
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-clock {
        grid-row: 3;
        flex-direction: column;
        gap: 8px;
        padding: 14px 10px;
        text-align: center;
    }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .term-ring { grid-column: 1 / span 6; }
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-clock { grid-column: 7 / span 6; }
}

/* ================= 身份入口页 ================= */

html:not(.legacy-browser) body.gaosh-home-page .modal-overlay {
    background: rgba(255, 255, 255, .6);
    -webkit-backdrop-filter: saturate(180%) blur(30px);
    backdrop-filter: saturate(180%) blur(30px);
    transition: opacity .3s var(--a-ease);
}

html:not(.legacy-browser) body.gaosh-home-page #portalOverlay.modal-overlay.portal-modal {
    background: #fff;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

html:not(.legacy-browser) body.gaosh-home-page .modal-overlay > * {
    animation: a-modal .7s var(--a-ease) both;
}

html:not(.legacy-browser) body.gaosh-home-page .modal-overlay > .portal-compliance {
    animation: none;
}

html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-container {
    width: min(1080px, 100%);
    max-height: none;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
    text-align: center;
}

html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-container::before {
    content: none;
}

html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-brand-tag {
    display: block;
    height: auto;
    padding: 0;
    background: none;
    color: var(--a-ink-2);
    font-size: clamp(15px, 1.5vw, 19px);
    font-weight: 500;
    letter-spacing: 0;
}

html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-title {
    margin: 8px 0 10px;
    color: var(--a-ink);
    font-family: var(--a-font);
    font-size: clamp(42px, 7vw, 88px);
    font-weight: 700;
    line-height: 1.14;
    letter-spacing: -.03em;
}

html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-subtitle {
    color: var(--a-ink-2);
    font-size: clamp(15px, 1.5vw, 19px);
}

html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-options {
    border: 0;
    gap: 16px;
    margin-top: clamp(26px, 3.4vw, 44px);
}

html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    --fg: #fff;
    --fg-2: rgba(255, 255, 255, .96);
    position: relative;
    isolation: isolate;
    overflow: hidden;
    gap: 8px;
    min-height: clamp(220px, 24vw, 292px);
    padding: 26px;
    border: 0;
    border-radius: 32px;
    background-image:
        radial-gradient(520px circle at var(--mx, 50%) var(--my, 0%), rgba(255, 255, 255, var(--sheen, 0)), rgba(255, 255, 255, 0) 72%),
        var(--grad);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14), inset 0 1px 0 rgba(255, 255, 255, .28);
    color: var(--fg);
    text-align: left;
    transform: none;
    transition: translate .8s var(--a-spring), scale .8s var(--a-spring), box-shadow .8s var(--a-ease);
}

html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card.is-tilting {
    transform: perspective(1100px) rotateX(calc(var(--rx, 0) * 1deg)) rotateY(calc(var(--ry, 0) * 1deg));
}

html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card:nth-child(1) { --grad: var(--g-blue); --glow: rgba(70, 70, 255, .7); --mark: #2a6cff; }
html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card:nth-child(2) { --grad: var(--g-pink); --glow: rgba(225, 30, 150, .7); --mark: #ec1b78; }
html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card:nth-child(3) { --grad: var(--g-mint); --glow: rgba(30, 200, 210, .75); --fg: #1d1d1f; --fg-2: rgba(29, 29, 31, .82); --mark: #00a889; }

html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card:hover {
    border-color: transparent;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .2), inset 0 1px 0 rgba(255, 255, 255, .34), 0 26px 48px -22px var(--glow);
    translate: 0 -3px;
    scale: 1.012;
    transform: none;
}

html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card:active {
    scale: .985;
    translate: 0 0;
    transition-duration: .18s;
}

html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card::before {
    content: none;
}

html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card .portal-card-icon,
html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card:last-child .portal-card-icon,
html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card.portal-demo-card .portal-card-icon {
    width: 72px;
    height: 72px;
    margin-bottom: auto;
    border-radius: 23%;
    background: #fff;
    box-shadow: 0 12px 24px -12px rgba(0, 0, 0, .34), 0 1px 2px rgba(0, 0, 0, .08);
    color: var(--mark);
    translate: calc(var(--px, 0) * 5px) calc(var(--py, 0) * 5px);
}

html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card-icon .modal-symbol {
    --symbol-size: 30px;
}

html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card h4 {
    color: var(--fg);
    font-size: clamp(22px, 2.2vw, 28px);
    font-weight: 700;
    letter-spacing: -.02em;
}

html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card p {
    color: var(--fg-2);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.45;
}

html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card .portal-card-action,
html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card.portal-demo-card .portal-card-action {
    margin-top: 6px;
    color: var(--fg);
    font-size: 15px;
    font-weight: 600;
}

html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .teacher-onboarding-entry {
    width: auto;
    min-height: 44px;
    margin-top: 20px;
    padding: 0 22px;
    border: 0;
    border-radius: 999px;
    background: var(--a-fill);
    color: var(--a-ink);
    font-size: 15px;
    font-weight: 600;
    transition: background-color .35s var(--a-ease), scale .6s var(--a-spring);
}

html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .teacher-onboarding-entry:hover {
    border-color: transparent;
    background: var(--a-fill-2);
    box-shadow: none;
    scale: 1.035;
}

html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .teacher-onboarding-entry .modal-symbol {
    color: var(--a-ink);
}

html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-compliance a {
    color: var(--a-ink-2);
}

html:not(.legacy-browser) body.gaosh-home-page #portalOverlay.modal-overlay.portal-modal {
    padding-top: 64px;
}

@media (max-width: 760px) {
    html:not(.legacy-browser) body.gaosh-home-page #portalOverlay.modal-overlay.portal-modal {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        padding: 60px 16px 20px;
    }

    html:not(.legacy-browser) body.gaosh-home-page #portalOverlay.modal-overlay.portal-modal > .portal-container {
        margin: 0 auto;
    }

    html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-compliance {
        position: static;
        margin: 28px 0 0 !important;
    }

    html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card {
        min-height: 0;
        padding: 20px;
        border-radius: 26px;
    }

    html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card .portal-card-icon,
    html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card:last-child .portal-card-icon,
    html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card.portal-demo-card .portal-card-icon {
        width: 56px;
        height: 56px;
        margin-bottom: 12px;
    }

    html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card-icon .modal-symbol {
        --symbol-size: 24px;
    }
}

/* ================= 其它弹窗 ================= */

html:not(.legacy-browser) body.gaosh-home-page .selector-modal,
html:not(.legacy-browser) body.gaosh-home-page .system-modal,
html:not(.legacy-browser) body.gaosh-home-page .semantic-modal,
html:not(.legacy-browser) body.gaosh-home-page .feedback-modal,
html:not(.legacy-browser) body.gaosh-home-page .guide-modal,
html:not(.legacy-browser) body.gaosh-home-page .teacher-week-modal {
    border: 0;
    border-radius: 32px;
    box-shadow: 0 50px 110px -34px rgba(0, 0, 0, .32), 0 0 0 .5px rgba(0, 0, 0, .1);
}

html:not(.legacy-browser) body.gaosh-home-page .selector-header h3,
html:not(.legacy-browser) body.gaosh-home-page .form-title,
html:not(.legacy-browser) body.gaosh-home-page .semantic-modal-header h3,
html:not(.legacy-browser) body.gaosh-home-page .guide-modal-header h3,
html:not(.legacy-browser) body.gaosh-home-page .feedback-modal h3,
html:not(.legacy-browser) body.gaosh-home-page .teacher-week-title {
    font-size: clamp(24px, 2.6vw, 30px);
    font-weight: 700;
    letter-spacing: -.02em;
}

html:not(.legacy-browser) body.gaosh-home-page .btn-close {
    width: 32px;
    height: 32px;
    border: 0;
    background: var(--a-fill);
    box-shadow: none;
    color: #424245;
    transform: none;
    transition: background-color .3s var(--a-ease), scale .6s var(--a-spring);
}

html:not(.legacy-browser) body.gaosh-home-page .btn-close:hover {
    border-color: transparent;
    background: var(--a-fill-2);
    color: var(--a-ink);
    scale: 1.1;
    transform: none;
}

html:not(.legacy-browser) body.gaosh-home-page .btn-submit,
html:not(.legacy-browser) body.gaosh-home-page .solid-action,
html:not(.legacy-browser) body.gaosh-home-page .semantic-open-link.primary,
html:not(.legacy-browser) body.gaosh-home-page .browser-compat-download {
    border: 0;
    border-radius: 999px;
    background-image: none;
    background-color: var(--a-ink);
    box-shadow: none;
    color: #fff;
    letter-spacing: 0;
    transform: none;
    transition: scale .6s var(--a-spring), background-color .3s var(--a-ease);
}

html:not(.legacy-browser) body.gaosh-home-page .btn-submit:hover,
html:not(.legacy-browser) body.gaosh-home-page .solid-action:hover,
html:not(.legacy-browser) body.gaosh-home-page .semantic-open-link.primary:hover,
html:not(.legacy-browser) body.gaosh-home-page .browser-compat-download:hover {
    background-image: none;
    background-color: #000;
    color: #fff;
    scale: 1.015;
    transform: none;
}

html:not(.legacy-browser) body.gaosh-home-page .btn-submit:disabled {
    opacity: .5;
    scale: 1;
}

html:not(.legacy-browser) body.gaosh-home-page .btn-danger,
html:not(.legacy-browser) body.gaosh-home-page .outline-action,
html:not(.legacy-browser) body.gaosh-home-page .semantic-open-link,
html:not(.legacy-browser) body.gaosh-home-page .semantic-query-summary button,
html:not(.legacy-browser) body.gaosh-home-page .browser-compat-dismiss,
html:not(.legacy-browser) body.gaosh-home-page .teacher-week-controls button {
    border: 0;
    border-radius: 999px;
    background: var(--a-fill);
    color: var(--a-ink);
    transition: background-color .3s var(--a-ease), scale .6s var(--a-spring);
}

html:not(.legacy-browser) body.gaosh-home-page .btn-danger {
    color: var(--red);
}

html:not(.legacy-browser) body.gaosh-home-page .btn-danger:hover,
html:not(.legacy-browser) body.gaosh-home-page .outline-action:hover,
html:not(.legacy-browser) body.gaosh-home-page .semantic-open-link:not(.primary):hover,
html:not(.legacy-browser) body.gaosh-home-page .semantic-query-summary button:hover,
html:not(.legacy-browser) body.gaosh-home-page .browser-compat-dismiss:hover,
html:not(.legacy-browser) body.gaosh-home-page .teacher-week-controls button:hover {
    border-color: transparent;
    background: var(--a-fill-2);
    box-shadow: none;
    color: var(--a-ink);
    scale: 1.03;
}

html:not(.legacy-browser) body.gaosh-home-page .btn-danger:hover {
    color: var(--red);
}

html:not(.legacy-browser) body.gaosh-home-page .input-wrapper,
html:not(.legacy-browser) body.gaosh-home-page .feedback-modal textarea,
html:not(.legacy-browser) body.gaosh-home-page .teacher-select {
    border: 0;
    border-radius: 14px;
    background: var(--a-fill);
    transition: box-shadow .35s var(--a-ease), background-color .35s var(--a-ease);
}

html:not(.legacy-browser) body.gaosh-home-page .input-wrapper:focus-within,
html:not(.legacy-browser) body.gaosh-home-page .feedback-modal textarea:focus,
html:not(.legacy-browser) body.gaosh-home-page .teacher-select:focus-visible {
    border-color: transparent;
    background: #fff;
    box-shadow: 0 0 0 1px rgba(42, 108, 255, .55), 0 0 0 5px rgba(42, 108, 255, .16);
}

html:not(.legacy-browser) body.gaosh-home-page .modal-sidebar {
    border: 0;
    background-color: transparent;
    background-image: var(--m-cobalt);
    background-size: auto;
    color: #fff;
}

html:not(.legacy-browser) body.gaosh-home-page .modal-sidebar-title,
html:not(.legacy-browser) body.gaosh-home-page .feature-text h5 {
    color: #fff;
}

html:not(.legacy-browser) body.gaosh-home-page .modal-sidebar-title {
    font-size: 26px;
    font-weight: 700;
    letter-spacing: -.02em;
}

html:not(.legacy-browser) body.gaosh-home-page .modal-sidebar-desc,
html:not(.legacy-browser) body.gaosh-home-page .feature-text p {
    color: rgba(255, 255, 255, .9);
}

html:not(.legacy-browser) body.gaosh-home-page .feature-icon {
    border: 0;
    border-radius: 23%;
    background: #fff;
    color: var(--a-ink);
}

html:not(.legacy-browser) body.gaosh-home-page .school-option {
    border-radius: 24px;
    transition: background-color .35s var(--a-ease), scale .6s var(--a-spring);
    transform: none;
}

html:not(.legacy-browser) body.gaosh-home-page .school-option:hover {
    scale: 1.02;
    transform: none;
}

html:not(.legacy-browser) body.gaosh-home-page .teacher-picker {
    border-top: 0;
}

html:not(.legacy-browser) body.gaosh-home-page .semantic-kicker,
html:not(.legacy-browser) body.gaosh-home-page .guide-kicker {
    height: auto;
    padding: 0;
    margin-bottom: 6px;
    background: none;
    color: var(--a-ink-2);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0;
}

html:not(.legacy-browser) body.gaosh-home-page .semantic-query-summary,
html:not(.legacy-browser) body.gaosh-home-page .semantic-route-list,
html:not(.legacy-browser) body.gaosh-home-page .guide-role-panel,
html:not(.legacy-browser) body.gaosh-home-page .guide-access-item,
html:not(.legacy-browser) body.gaosh-home-page .feedback-item,
html:not(.legacy-browser) body.gaosh-home-page .status-panel {
    border: 0;
    border-radius: 22px;
    background: var(--a-fill);
    box-shadow: none;
}

html:not(.legacy-browser) body.gaosh-home-page .semantic-resource-row {
    border-bottom: 0;
    border-radius: 18px;
    transition: background-color .3s var(--a-ease);
}

html:not(.legacy-browser) body.gaosh-home-page .semantic-resource-row:hover {
    background: var(--a-fill);
}

html:not(.legacy-browser) body.gaosh-home-page .semantic-resource-row.is-priority {
    background: linear-gradient(90deg, rgba(42, 108, 255, .09), rgba(236, 27, 120, .05));
    box-shadow: none;
}

html:not(.legacy-browser) body.gaosh-home-page .guide-role-title .modal-symbol {
    border-radius: 23%;
    background: #fff;
    color: var(--a-ink);
}

html:not(.legacy-browser) body.gaosh-home-page .guide-step-icon {
    background: var(--a-ink);
    color: #fff;
}

html:not(.legacy-browser) body.gaosh-home-page .guide-chip-row a {
    border: 0;
    background: #fff;
    color: var(--a-ink);
    transition: scale .6s var(--a-spring);
}

html:not(.legacy-browser) body.gaosh-home-page .guide-chip-row a:hover {
    border-color: transparent;
    background: #fff;
    scale: 1.05;
}

html:not(.legacy-browser) body.gaosh-home-page .teacher-week-head {
    border-bottom: 0;
}

html:not(.legacy-browser) body.gaosh-home-page .teacher-week-grid {
    border: 0;
    border-radius: 22px;
    background: var(--a-fill);
}

html:not(.legacy-browser) body.gaosh-home-page .teacher-week-table {
    background: transparent;
}

html:not(.legacy-browser) body.gaosh-home-page .teacher-week-table th,
html:not(.legacy-browser) body.gaosh-home-page .teacher-week-table td {
    border-color: rgba(255, 255, 255, .9);
    border-width: 2px;
}

html:not(.legacy-browser) body.gaosh-home-page .teacher-week-table thead th,
html:not(.legacy-browser) body.gaosh-home-page .teacher-week-table .period-label {
    background: transparent;
    color: var(--a-ink);
}

html:not(.legacy-browser) body.gaosh-home-page .teacher-week-course {
    border: 0;
    border-radius: 14px;
    background: var(--m-cobalt);
}

html:not(.legacy-browser) body.gaosh-home-page .teacher-week-course-name {
    color: #fff;
}

html:not(.legacy-browser) body.gaosh-home-page .teacher-week-course-meta {
    color: rgba(255, 255, 255, .9);
}


/* ================= 入口页和弹窗里的图标 ================= */

html:not(.legacy-browser) body.gaosh-home-page .a-ic.a-ic {
    display: grid;
    place-items: center;
    font-size: 0 !important;
}

html:not(.legacy-browser) body.gaosh-home-page .a-ic.a-ic::before {
    content: "";
    display: block;
    width: var(--a-ic-size, 28px);
    height: var(--a-ic-size, 28px);
    background: var(--a-ic) center / contain no-repeat;
}

html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card-icon .a-ic { --a-ic-size: 60px; }
html:not(.legacy-browser) body.gaosh-home-page .feature-icon.a-ic { --a-ic-size: 30px; }
html:not(.legacy-browser) body.gaosh-home-page .guide-role-title .a-ic { --a-ic-size: 34px; }

html:not(.legacy-browser) body.gaosh-home-page .guide-access-item .a-ic {
    --a-ic-size: 38px;
    justify-content: start;
    margin-bottom: 8px;
}

@media (max-width: 720px) {
    html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card-icon .a-ic { --a-ic-size: 46px; }
}

/* ================= iOS 式连续曲率圆角：新版 Chrome / Edge 生效，其它浏览器是普通圆角 ================= */

@supports (corner-shape: squircle) {
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card,
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .module-grid .home-card,
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .grid-4 .home-card,
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card-more,
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .chip,
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .curve-box,
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .curve-box.is-schedule,
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .term-ring,
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-clock {
        border-radius: calc(var(--a-radius) * 1.5);
        corner-shape: superellipse(1.7);
    }

    html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card {
        border-radius: 46px;
        corner-shape: superellipse(1.7);
    }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card .tile,
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card-s .tile,
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card-more .tile,
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .chip .mini,
    html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card .portal-card-icon {
        border-radius: 34%;
        corner-shape: superellipse(1.7);
    }
}

/* ================= 动效：全部可被系统“减少动态效果”关闭 ================= */

@keyframes a-rise {
    from { opacity: 0; translate: 0 22px; }
    to { opacity: 1; translate: 0 0; }
}

@keyframes a-tile {
    from { opacity: 0; translate: 0 30px; scale: .95; }
    to { opacity: 1; translate: 0 0; scale: 1; }
}

@keyframes a-modal {
    from { opacity: 0; scale: .95; translate: 0 16px; }
    to { opacity: 1; scale: 1; translate: 0 0; }
}

@keyframes a-flow {
    from { background-position: 0 0; }
    to { background-position: 162.5% 0; }
}

@keyframes a-pulse {
    0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, .7); }
    70%, 100% { box-shadow: 0 0 0 9px rgba(255, 255, 255, 0); }
}


@media (prefers-reduced-motion: no-preference) {
    /* 进页面时拼贴依次落位，只发生这一次 */
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .hero-copy { animation: a-rise 1.1s var(--a-ease) .02s backwards; }
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-date { animation: a-rise 1.1s var(--a-ease) .02s backwards; }
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .curve-box { animation: a-tile 1.1s var(--a-ease) .08s backwards; }
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .term-ring { animation: a-tile 1.1s var(--a-ease) .14s backwards; }
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-clock { animation: a-tile 1.1s var(--a-ease) .2s backwards; }
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .zone-h { animation: a-rise 1s var(--a-ease) .18s backwards; }
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .home-card { animation: a-tile 1.1s var(--a-ease) backwards; }
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .home-card:nth-child(1) { animation-delay: .22s; }
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .home-card:nth-child(2) { animation-delay: .28s; }
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .home-card:nth-child(3) { animation-delay: .34s; }
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .home-card:nth-child(4) { animation-delay: .4s; }
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .home-card:nth-child(5) { animation-delay: .46s; }
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .c1 .home-card:nth-child(6) { animation-delay: .52s; }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .hero-title em {
        animation: a-flow 18s linear infinite;
    }

    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-hero.is-away .hero-title em,
    html:not(.legacy-browser) body.gaosh-home-page.modal-active .hero-title em {
        animation-play-state: paused;
    }

    html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card {
        animation: a-tile 1.2s var(--a-ease) backwards;
    }

    html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card:nth-child(1) { animation-delay: .1s; }
    html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card:nth-child(2) { animation-delay: .17s; }
    html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card:nth-child(3) { animation-delay: .24s; }


}

@media (prefers-reduced-motion: reduce) {
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card,
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .chip,
    html:not(.legacy-browser) body.gaosh-home-page #portalOverlay .portal-card {
        transition-duration: .01s;
    }

    html:not(.legacy-browser) body.gaosh-home-page .modal-overlay > * {
        animation: none;
    }
}

@media print {
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .home-card,
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .chip,
    html:not(.legacy-browser) body.gaosh-home-page .gaosh-home .zone-h {
        animation: none !important;
        opacity: 1 !important;
        translate: none !important;
        scale: none !important;
    }
}
