.member-unlock-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.member-unlock-card{position:relative;width:min(420px,100%);max-height:min(90vh,640px);overflow-y:auto;padding:28px 24px 32px;border-radius:16px;background:#fff;box-shadow:0 20px 60px #0f172a40;text-align:center}.member-unlock-close{position:absolute;top:10px;right:12px;width:32px;height:32px;border:none;border-radius:8px;background:#f1f5f9;color:#475569;font-size:1.4rem;line-height:1;cursor:pointer}.member-unlock-close:hover{background:#e2e8f0;color:#0f172a}.member-unlock-title{margin:0 0 12px;padding-right:28px;font-size:1.25rem;color:#0f172a}.member-unlock-tier{margin:0 0 10px;font-size:.88rem;color:#b45309}.member-unlock-message{margin:0 0 20px;font-size:1rem;line-height:1.6;color:#334155}.member-unlock-qr-wrap{display:flex;flex-direction:column;align-items:center;gap:10px}.member-unlock-qr{width:min(240px,70vw);height:auto;border-radius:12px;border:1px solid #e2e8f0;background:#fff}.member-unlock-qr-caption{margin:0;font-size:.82rem;color:#64748b}.member-unlock-no-qr,.member-unlock-loading,.member-unlock-error{margin:0;font-size:.9rem;color:#64748b}.member-unlock-error{color:#b91c1c}.level-select-page.level-select-page--road{box-sizing:border-box;min-height:calc(100vh - var(--app-header-offset, 70px));padding:20px 20px 48px;margin-top:var(--app-header-offset, 70px);font-family:Microsoft YaHei,Segoe UI,system-ui,sans-serif;color:var(--home-text);background:radial-gradient(ellipse 95% 55% at 50% 35%,rgba(218,242,160,.42),transparent 58%),var(--home-bg)}[data-accent=starry] .level-select-page.level-select-page--road{color:var(--home-text);background:radial-gradient(ellipse 95% 55% at 50% 35%,rgba(200,235,150,.22),transparent 58%),linear-gradient(168deg,#0c1222,#0f172a 48%,#0a0f1c)}.level-select-header.level-select-header--road{display:flex;align-items:center;gap:16px;margin-bottom:24px;max-width:min(70vw,calc(100% - 32px));margin-left:auto;margin-right:auto;flex-wrap:wrap}.level-select-header--road .back-button{padding:10px 20px;background:color-mix(in srgb,var(--home-card) 82%,transparent);border:2px solid color-mix(in srgb,var(--theme-primary) 45%,var(--home-card-border));border-radius:10px;color:var(--home-text);cursor:pointer;font-size:15px;font-weight:500;transition:all .25s ease;outline:none;box-shadow:0 0 14px color-mix(in srgb,var(--theme-primary) 22%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.level-select-header--road .back-button:hover{background:color-mix(in srgb,var(--theme-primary) 14%,var(--home-card));border-color:var(--theme-primary);color:var(--home-text);transform:translate(-2px);box-shadow:0 0 22px color-mix(in srgb,var(--theme-primary) 38%,transparent)}[data-accent=starry] .level-select-header--road .back-button{background:color-mix(in srgb,var(--home-card) 88%,transparent);color:var(--home-text);border-color:color-mix(in srgb,var(--theme-primary) 55%,var(--home-card-border))}.level-select-header--road .module-title{font-size:1.75rem;font-weight:700;color:var(--home-text);margin:0;letter-spacing:.02em;text-shadow:0 0 12px color-mix(in srgb,var(--theme-primary) 45%,transparent),0 0 28px color-mix(in srgb,var(--theme-primary) 22%,transparent)}.level-select-header--road .level-count-badge{margin-left:auto;padding:6px 14px;background:color-mix(in srgb,var(--theme-primary) 16%,var(--home-card));border:1px solid color-mix(in srgb,var(--theme-primary) 38%,var(--home-card-border));border-radius:20px;font-size:.875rem;font-weight:600;color:var(--home-text);box-shadow:0 0 14px color-mix(in srgb,var(--theme-primary) 18%,transparent)}.level-difficulty-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:min(70vw,calc(100% - 32px));margin:-8px auto 20px}.level-difficulty-tab{padding:8px 18px;border-radius:999px;border:1px solid color-mix(in srgb,var(--theme-primary) 32%,var(--home-card-border));background:color-mix(in srgb,var(--home-card) 88%,transparent);color:var(--home-text);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.level-difficulty-tab:hover{border-color:color-mix(in srgb,var(--theme-primary) 55%,var(--home-card-border));background:color-mix(in srgb,var(--theme-primary) 10%,var(--home-card))}.level-difficulty-tab.is-active{border-color:var(--theme-primary);background:color-mix(in srgb,var(--theme-primary) 22%,var(--home-card));box-shadow:0 0 16px color-mix(in srgb,var(--theme-primary) 28%,transparent)}[data-accent=starry] .level-difficulty-tab{background:color-mix(in srgb,var(--home-card) 92%,transparent)}@media (max-width: 900px){.level-difficulty-tabs{max-width:min(92vw,calc(100% - 20px))}}@media (max-width: 600px){.level-difficulty-tabs{max-width:calc(100% - 16px);gap:8px}.level-difficulty-tab{padding:7px 14px;font-size:.85rem}}.level-road-viewport{--road-local-header: 96px;position:relative;box-sizing:border-box;width:min(70vw,calc(100% - 32px));max-width:none;height:min(70vh,calc(100vh - var(--app-header-offset, 70px) - var(--road-local-header) - 56px));min-height:280px;margin-left:auto;margin-right:auto;overflow:hidden;border-radius:20px;border:1px solid color-mix(in srgb,var(--theme-primary) 28%,rgba(255,255,255,.12));box-shadow:0 0 40px color-mix(in srgb,var(--theme-primary) 22%,transparent),0 12px 40px #0000002e;cursor:default;touch-action:manipulation;user-select:none;-webkit-user-select:none}@media (max-width: 900px){.level-select-header.level-select-header--road,.levels-empty.levels-empty--road{max-width:min(92vw,calc(100% - 20px))}.level-road-viewport{width:min(92vw,calc(100% - 20px));height:min(62vh,calc(100vh - var(--app-header-offset, 70px) - var(--road-local-header) - 40px));min-height:240px}}@media (max-width: 600px){.level-select-header.level-select-header--road,.levels-empty.levels-empty--road{max-width:calc(100% - 16px)}.level-road-viewport{width:calc(100% - 16px);height:min(58vh,calc(100vh - var(--app-header-offset, 70px) - var(--road-local-header) - 32px));min-height:220px;border-radius:16px}}.level-road-viewport:active,.level-road-viewport.level-road-viewport--fit-frame,.level-road-viewport.level-road-viewport--fit-frame:active{cursor:default}.level-road-map{--road-node-scale: 1;position:relative;overflow:hidden;will-change:transform;background-color:#d4e87c;background-image:linear-gradient(180deg,rgba(255,255,255,.06) 0%,transparent 40%,rgba(0,0,0,.04) 100%),url(/level-roadmap-cozy-grass.png);background-size:100% 100%,auto;background-position:center,center;background-repeat:no-repeat}[data-accent=starry] .level-road-map,[data-accent=starry] .level-road-map--cozy{background-color:#d4e87c;background-image:linear-gradient(180deg,rgba(255,255,255,.05) 0%,transparent 45%,rgba(0,0,0,.05) 100%),url(/level-roadmap-cozy-grass.png);background-size:100% 100%,auto;background-position:center,center;background-repeat:no-repeat}.level-road-map:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 85% 75% at 50% 45%,transparent 35%,rgba(0,0,0,.06) 100%)}.level-road-map:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:0;background-image:none}.level-road-map .level-road-canvas{opacity:.52;filter:drop-shadow(0 1px 0 rgba(0,0,0,.12))}.level-road-map .node-title{text-shadow:0 1px 2px rgba(0,0,0,.78),0 0 10px rgba(0,0,0,.32),0 0 12px color-mix(in srgb,var(--theme-primary) 45%,transparent)}.level-select-page.level-select-page--synthesis-cozy.level-select-page--road{background:radial-gradient(ellipse 95% 55% at 50% 35%,rgba(218,242,160,.42),transparent 58%),var(--home-bg)}.level-road-map.level-road-map--synthesis-cozy{background-color:#d4e87c;background-image:linear-gradient(180deg,rgba(255,255,255,.06) 0%,transparent 40%,rgba(0,0,0,.04) 100%),url(/level-roadmap-cozy-grass.png);background-size:100% 100%,auto;background-position:center,center;background-repeat:no-repeat}.level-road-map.level-road-map--synthesis-cozy:before{background:radial-gradient(ellipse 85% 75% at 50% 45%,transparent 35%,rgba(0,0,0,.06) 100%)}.level-road-map.level-road-map--synthesis-cozy:after{opacity:0;background-image:none}.level-road-map.level-road-map--synthesis-cozy .level-road-canvas{opacity:.52;filter:drop-shadow(0 1px 0 rgba(0,0,0,.12))}.level-road-map.level-road-map--synthesis-cozy .node-title{text-shadow:0 1px 2px rgba(0,0,0,.78),0 0 10px rgba(0,0,0,.32),0 0 12px color-mix(in srgb,var(--theme-primary) 45%,transparent)}[data-accent=starry] .level-select-page.level-select-page--synthesis-cozy.level-select-page--road{background:radial-gradient(ellipse 95% 55% at 50% 35%,rgba(200,235,150,.22),transparent 58%),linear-gradient(168deg,#0c1222,#0f172a 48%,#0a0f1c)}[data-accent=starry] .level-road-map.level-road-map--synthesis-cozy{background-color:#d4e87c;background-image:linear-gradient(180deg,rgba(255,255,255,.05) 0%,transparent 45%,rgba(0,0,0,.05) 100%),url(/level-roadmap-cozy-grass.png);background-size:100% 100%,auto;background-position:center,center;background-repeat:no-repeat}.level-road-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2}.level-road-node{position:absolute;transform:translate(-50%,-50%);z-index:10;text-align:center;cursor:pointer;border:none;padding:0;margin:0;background:transparent;font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}.level-road-node:focus-visible{outline:2px solid var(--theme-primary);outline-offset:6px;border-radius:10px}.node-title{display:flex;flex-direction:column;align-items:center;gap:calc(4px * var(--road-node-scale));color:#f8fafc;font-size:calc(14px * var(--road-node-scale));font-weight:700;text-shadow:0 0 10px color-mix(in srgb,var(--theme-primary) 85%,transparent),0 0 20px color-mix(in srgb,var(--theme-primary) 35%,transparent);margin-bottom:calc(8px * var(--road-node-scale));letter-spacing:1px;max-width:calc(240px * var(--road-node-scale))}.node-title-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.node-difficulty{padding:calc(2px * var(--road-node-scale)) calc(8px * var(--road-node-scale));border-radius:999px;font-size:calc(11px * var(--road-node-scale));font-weight:700;letter-spacing:0;line-height:1.3;text-shadow:none}.node-difficulty--easy{background:#4caf50eb;color:#fff}.node-difficulty--medium{background:#ff9800eb;color:#fff}.node-difficulty--hard{background:#f44336eb;color:#fff}.node-img{width:calc(60px * var(--road-node-scale));height:calc(60px * var(--road-node-scale));border-radius:calc(12px * var(--road-node-scale));object-fit:cover;border:calc(3px * var(--road-node-scale)) solid color-mix(in srgb,var(--theme-primary) 65%,rgba(255,255,255,.2));margin:0 auto calc(8px * var(--road-node-scale));display:block;box-shadow:0 0 14px color-mix(in srgb,var(--theme-primary) 50%,transparent),0 0 26px color-mix(in srgb,var(--theme-primary) 22%,transparent);transition:transform .3s ease,box-shadow .3s ease}.level-road-node:hover .node-img{transform:scale(1.08);box-shadow:0 0 22px color-mix(in srgb,var(--theme-primary) 65%,transparent),0 0 36px color-mix(in srgb,var(--theme-primary) 28%,transparent)}.node-img.node-img--placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,color-mix(in srgb,var(--theme-primary) 38%,rgba(40,36,72,.9)),color-mix(in srgb,var(--theme-primary) 12%,rgba(24,22,48,.95)));object-fit:none}.node-img-emoji{font-size:calc(26px * var(--road-node-scale));line-height:1}.node-dot{width:calc(45px * var(--road-node-scale));height:calc(45px * var(--road-node-scale));margin:0 auto;background:linear-gradient(145deg,var(--theme-primary),var(--theme-primary-hover));border-radius:50%;border:calc(2px * var(--road-node-scale)) solid color-mix(in srgb,var(--theme-primary) 72%,#fff);box-shadow:0 0 18px color-mix(in srgb,var(--theme-primary) 55%,transparent),inset 0 0 8px #ffffff38;display:flex;align-items:center;justify-content:center;color:var(--home-text-on-bg);font-size:calc(18px * var(--road-node-scale));font-weight:700}[data-accent=teal] .node-dot,[data-accent=blue] .node-dot,[data-accent=red] .node-dot,[data-accent=purple] .node-dot{color:#fff}.node-stars{display:flex;gap:calc(6px * var(--road-node-scale));justify-content:center;margin-top:calc(8px * var(--road-node-scale))}.star{width:calc(16px * var(--road-node-scale));height:calc(16px * var(--road-node-scale));clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:color-mix(in srgb,var(--home-card) 35%,rgba(20,24,40,.92));box-shadow:none}.star.star--earned{background:gold;box-shadow:0 0 10px #ffd700e6}.level-road-node--locked{cursor:not-allowed}.level-road-node--locked:hover .node-img{transform:none}.node-lock-badge{position:absolute;right:calc(-4px * var(--road-node-scale));top:calc(52px * var(--road-node-scale));font-size:calc(16px * var(--road-node-scale));line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45));pointer-events:none}.level-road-node--locked .node-lock-badge{top:calc(48px * var(--road-node-scale))}.level-road-node--hub{pointer-events:none;cursor:default;opacity:.92}.level-road-node--hub .node-title-text{color:#b45309;font-weight:700}.level-road-node--hub-level .node-dot--hub,.level-road-node--hub .node-dot--hub{width:auto;min-width:calc(45px * var(--road-node-scale));padding:0 calc(10px * var(--road-node-scale));border-radius:calc(22px * var(--road-node-scale));font-size:calc(14px * var(--road-node-scale));background:linear-gradient(145deg,#f59e0b,#d97706);border-color:#ffedb4d9;color:#fff}.level-road-node--hub-level:hover .node-img{transform:scale(1.08)}.node-img.node-img--hub{border-color:#f59e0ba6;box-shadow:0 0 14px #f59e0b73,0 0 26px #f59e0b33}.levels-empty.levels-empty--road{max-width:min(70vw,calc(100% - 32px));margin:0 auto;text-align:center;padding:80px 24px;color:var(--home-text-muted)}.levels-empty--road .levels-empty-icon{font-size:4rem;margin-bottom:20px;filter:drop-shadow(0 0 14px color-mix(in srgb,var(--theme-primary) 45%,transparent))}.levels-empty--road .levels-empty-text{font-size:1.25rem;font-weight:600;color:var(--home-text);margin-bottom:8px}.levels-empty--road .levels-empty-hint{font-size:.95rem;color:var(--home-text-muted)}.brand-logo{display:inline-flex;align-items:center;gap:.1em;line-height:1;vertical-align:middle}.brand-logo__mark{display:block;width:auto;flex-shrink:0;object-fit:contain}.brand-logo__suffix{font-weight:inherit;letter-spacing:inherit;color:inherit}.brand-logo--header{font-size:28px;font-weight:700;letter-spacing:2px}.brand-logo--header .brand-logo__mark{height:1.08em}.brand-logo--landing{font-size:clamp(2.25rem,5.5vw,3.5rem);font-weight:800;letter-spacing:.12em;color:#0f2d44;text-shadow:0 1px 0 rgba(255,255,255,.5)}.brand-logo--landing .brand-logo__mark{height:1.15em;filter:drop-shadow(0 1px 0 rgba(255,255,255,.35))}.brand-logo--large{font-size:36px;font-weight:700;letter-spacing:3px}.brand-logo--large .brand-logo__mark{height:1em}.brand-logo--large .brand-logo__suffix{background:linear-gradient(135deg,var(--theme-primary) 0%,var(--theme-primary-hover) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media (max-width: 720px){.brand-logo--landing{font-size:1.95rem;letter-spacing:.08em}}.header{position:fixed;top:0;left:0;right:0;height:var(--app-header-offset, calc(88 * var(--rpx, .5px)));min-height:var(--app-header-offset, calc(88 * var(--rpx, .5px)));max-height:var(--app-header-offset, calc(88 * var(--rpx, .5px)));background:var(--home-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:2px solid var(--theme-primary-muted);z-index:1000;display:flex;align-items:center;padding:0 calc(24 * var(--rpx, .5px));box-shadow:0 2px 16px var(--theme-primary-muted);box-sizing:border-box;max-width:100%;overflow:visible}.header-content{width:100%;max-width:min(var(--app-content-max, 1180px),100%);margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:clamp(8px,1vw,16px);flex-wrap:nowrap;min-width:0;box-sizing:border-box;padding-block:0;height:100%}.header-brand{display:flex;align-items:center;gap:clamp(8px,1vw,16px);flex-shrink:0;min-width:0;overflow:visible}.logo{display:flex;align-items:center;min-width:0}.header-editor-mode-wrap{position:relative;flex-shrink:0;overflow:visible;z-index:1300}.header-editor-mode-trigger{display:inline-flex;align-items:center;gap:8px;padding:clamp(5px,.4vw + 4px,7px) clamp(10px,.8vw + 6px,14px);border-radius:10px;border:1px solid color-mix(in srgb,var(--theme-primary) 45%,var(--home-card-border));background:color-mix(in srgb,var(--theme-primary) 10%,var(--home-card));color:var(--home-text);font-size:clamp(12px,.7rem + .35vw,14px);font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.header-editor-mode-trigger:hover,.header-editor-mode-trigger.is-open{border-color:color-mix(in srgb,var(--theme-primary) 65%,transparent);background:color-mix(in srgb,var(--theme-primary) 18%,var(--home-card));box-shadow:0 0 12px color-mix(in srgb,var(--theme-primary) 25%,transparent)}.header-editor-mode-trigger__chev{font-size:.75rem;opacity:.75;transition:transform .2s ease}.header-editor-mode-trigger.is-open .header-editor-mode-trigger__chev{transform:rotate(180deg)}.header-editor-mode-panel{position:absolute;top:calc(100% + 8px);left:0;right:auto;z-index:1300;min-width:10rem;width:max-content;max-width:min(16rem,calc(100vw - 1rem))}.header--navbar-template .header-editor-mode-trigger{font-size:clamp(13px,.75rem + .35vw,15px);padding:clamp(6px,.4vw + 4px,8px) clamp(10px,.8vw + 6px,14px)}.logo-text{font-size:clamp(1.15rem,.95rem + .9vw,1.75rem);font-weight:700;color:var(--home-text);letter-spacing:2px}.header-nav{display:flex;align-items:center;gap:clamp(3px,.2vw + 1px,6px);margin-right:auto;margin-left:clamp(8px,1.5vw,30px);flex:1 1 12rem;min-width:0;max-width:100%;flex-wrap:wrap;justify-content:flex-start}.nav-button{display:inline-flex;align-items:center;gap:4px;padding:clamp(3px,.2vw + 2px,6px) clamp(6px,.35vw + 4px,10px);background:transparent;border:1px solid var(--theme-primary);color:var(--home-text);border-radius:6px;cursor:pointer;transition:all .25s ease;font-size:clamp(10px,.52rem + .22vw,12px);font-weight:500;line-height:1.25;white-space:nowrap;flex:0 1 auto;max-width:100%;box-sizing:border-box}.nav-button:hover{background:var(--theme-primary-muted);border-color:var(--theme-primary-hover);color:var(--theme-primary-text)}.home-nav-link__label{overflow:hidden;text-overflow:ellipsis}.home-nav-link__badge{min-width:1.1rem;padding:0 4px;border-radius:999px;background:var(--theme-primary);color:#fff;font-size:10px;font-weight:700;line-height:1.4;text-align:center}.header-actions{display:flex;align-items:center;gap:clamp(6px,.8vw,15px);flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;min-width:0;max-width:100%}.user-name{color:var(--home-text);font-size:clamp(12px,.7rem + .25vw,14px);margin-right:5px;max-width:8em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-button{display:flex;align-items:center;gap:6px;padding:clamp(5px,.3vw + 4px,8px) clamp(8px,.5vw + 6px,16px);background:var(--home-card);border:2px solid var(--theme-primary);border-radius:8px;color:var(--home-text);cursor:pointer;transition:all .25s ease;font-size:clamp(12px,.7rem + .3vw,14px);white-space:nowrap}.icon-button:hover{background:var(--theme-primary-muted);border-color:var(--theme-primary-hover);color:var(--theme-primary-text);box-shadow:0 2px 8px var(--theme-primary-muted)}.icon-button .icon{flex-shrink:0}@media (max-width: 1480px){.header-content{align-items:center}.header-brand{order:1}.header-actions{order:3;margin-left:0;flex-shrink:0}.header-nav{order:2;flex:1 1 auto;width:auto;min-width:0;margin-left:0;margin-right:0;padding-top:0;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}}@media (max-width: 900px){.header{padding:0 max(.45rem,env(safe-area-inset-left,0px)) 0 max(.45rem,env(safe-area-inset-right,0px));align-items:center;height:var(--app-header-offset, calc(88 * var(--rpx, .5px)));min-height:var(--app-header-offset, calc(88 * var(--rpx, .5px)));max-height:var(--app-header-offset, calc(88 * var(--rpx, .5px)))}.header-content{width:100%;max-width:100%;row-gap:0;column-gap:.35rem;align-items:center;padding-block:0}.logo{order:1;flex-shrink:0}.logo-text{font-size:.95rem;letter-spacing:.5px}.header-brand{order:1;gap:.35rem;min-width:0}.header-editor-mode-trigger{padding:.25rem .45rem;font-size:.72rem;border-radius:6px;gap:.2rem;min-height:1.85rem}.header-editor-mode-trigger__label{max-width:4.5em;overflow:hidden;text-overflow:ellipsis}.header-actions{order:3;margin-left:auto;gap:.3rem;flex-wrap:nowrap}.header-nav{order:2;flex:1 1 auto;width:auto;min-width:0;margin-left:0;margin-right:0;gap:.3rem;overflow-x:auto;flex-wrap:nowrap}.nav-button{padding:.25rem .45rem;font-size:.72rem}.icon-button .label,.action-btn .label,.logout-btn .label,.header-editor-mode-trigger__chev,.user-name,.header--navbar-template .user-name--navbar-tpl{display:none!important}.icon-button,.action-btn,.logout-btn,.header--navbar-template .action-btn{padding:0;min-width:1.85rem;min-height:1.85rem;width:1.85rem;height:1.85rem;justify-content:center;align-items:center;gap:0;font-size:.78rem;border-width:1px;border-radius:999px}.icon-button .icon,.action-btn .icon,.logout-btn .icon,.action-btn.logout-action .icon{font-size:.9rem;line-height:1}.header-editor-mode-trigger__label{font-size:.72rem}.brand-logo__mark{height:1em!important}.header--cyber-home.header--navbar-template{height:var(--app-header-offset, calc(88 * var(--rpx, .5px)));min-height:var(--app-header-offset, calc(88 * var(--rpx, .5px)));max-height:var(--app-header-offset, calc(88 * var(--rpx, .5px)));padding:0 max(.45rem,env(safe-area-inset-left,0px)) 0 max(.45rem,env(safe-area-inset-right,0px));box-sizing:border-box}.header--navbar-template .header-content{width:100%;max-width:100%;flex-wrap:nowrap;row-gap:0;gap:.35rem}.header--navbar-template .header-brand{order:1;flex-wrap:nowrap;gap:.35rem}.header--navbar-template .logo-text{font-size:.95rem;letter-spacing:.5px;text-shadow:none}.header--navbar-template .brand-logo__mark{height:1em}.header--navbar-template .user-actions{order:3;margin-left:auto;flex-wrap:nowrap;justify-content:flex-end;gap:.3rem}.header--navbar-template .nav-links{order:2;flex:1 1 auto;justify-content:flex-start;gap:.3rem .45rem;overflow-x:auto;flex-wrap:nowrap}.header--navbar-template .nav-links__btn{padding:.25rem .45rem;font-size:.72rem}.header--navbar-template .header-editor-mode-trigger{font-size:.72rem;padding:.25rem .45rem}}@media (max-width: 480px){.header-nav{gap:.2rem}.nav-button{padding:.2rem .35rem;font-size:.68rem}.header-editor-mode-trigger{padding:.2rem .35rem}}.icon-button .icon{font-size:18px}.logout-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:clamp(5px,.3vw + 4px,8px) clamp(12px,.8vw + 8px,20px);background:#ff525233;border:1px solid rgba(255,82,82,.4);border-radius:8px;color:#ff5252;cursor:pointer;transition:all .3s ease;font-size:clamp(12px,.7rem + .3vw,14px);white-space:nowrap}.logout-btn .icon{flex-shrink:0;line-height:1}.header--navbar-template .action-btn.logout-action{border-color:#ff525273;background:#ff52521f;color:#ff5252}.header--navbar-template .action-btn.logout-action:hover{background:#ff525247;color:#fff;box-shadow:0 0 12px #ff525259}.logout-btn:hover{background:#ff52524d;border-color:#ff525299}@media (min-width: 901px){.logout-btn .icon,.header--navbar-template .action-btn .icon{display:none}}.settings-wrap{position:relative}.settings-panel{position:absolute;top:100%;right:0;margin-top:8px;min-width:260px;max-width:min(320px,calc(100vw - 1rem));max-height:min(70vh,calc(100dvh - var(--app-header-offset, 70px) - 1.5rem));overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:12px 14px;background:var(--home-card);border:2px solid var(--theme-primary-muted);border-radius:12px;box-shadow:0 8px 24px var(--theme-primary-muted);z-index:1001;box-sizing:border-box}.settings-panel.header-editor-mode-panel,.settings-panel.blockly-mode-panel{right:auto;left:0;min-width:10rem;width:max-content;max-width:min(16rem,calc(100vw - 1rem));max-height:none;overflow:visible;display:flex;flex-direction:column;gap:.35rem;z-index:1300}.blockly-mode-panel .settings-accent-btn{width:100%;justify-content:flex-start;white-space:nowrap;color:var(--home-text);font-size:.875rem;min-height:2.25rem;padding:.5rem .75rem}.settings-panel-title{font-size:12px;color:var(--home-text-muted);margin:0 0 10px;text-transform:uppercase;letter-spacing:.05em}.settings-panel-title--spaced{margin-top:16px}.settings-personal-center-link{display:flex;align-items:center;justify-content:center;width:100%;margin:0 0 .75rem;padding:.55rem .75rem;border-radius:8px;border:1px solid color-mix(in srgb,var(--theme-primary) 40%,transparent);background:color-mix(in srgb,var(--theme-primary) 12%,var(--home-card));color:var(--theme-primary-text);font-size:.9rem;font-weight:700;font-family:inherit;cursor:pointer;transition:background .2s ease,border-color .2s ease}.settings-personal-center-link:hover{background:color-mix(in srgb,var(--theme-primary) 22%,var(--home-card));border-color:var(--theme-primary)}.settings-accent-options{display:flex;flex-direction:column;gap:6px}.settings-accent-btn{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--home-card);border:1px solid var(--theme-primary-muted);border-radius:8px;color:var(--home-text);font-size:14px;cursor:pointer;transition:all .2s ease}.settings-accent-btn:hover{border-color:var(--user-accent);background:var(--theme-primary-muted)}.settings-accent-btn.active{border-color:var(--user-accent);background:var(--theme-primary-muted);color:var(--theme-primary-text)}.accent-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0}.accent-dot--ip{width:18px;height:18px;box-shadow:inset 0 0 0 1px #ffffff59}.settings-password-form{display:flex;flex-direction:column;gap:8px}.settings-password-input{width:100%;padding:8px 10px;border:1px solid var(--theme-primary-muted);border-radius:8px;font-size:13px;background:var(--home-card);color:var(--home-text);box-sizing:border-box}.settings-password-input::placeholder{color:var(--home-text-muted)}.settings-password-error{margin:0;font-size:12px;color:#ef4444}.settings-password-success{margin:0;font-size:12px;color:#22c55e}.settings-password-actions{display:flex;gap:8px;margin-top:4px}.settings-password-submit{padding:8px 14px;background:var(--theme-primary);color:var(--home-text-on-bg);border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer}.settings-password-submit:hover{background:var(--theme-primary-hover)}.settings-password-cancel{padding:8px 14px;background:transparent;color:var(--home-text-muted);border:1px solid var(--theme-primary-muted);border-radius:8px;font-size:13px;cursor:pointer}.settings-password-cancel:hover{color:var(--home-text);border-color:var(--theme-primary)}@media (max-width: 900px){.settings-wrap>.settings-panel{right:0;left:auto;margin-top:.4rem;min-width:0;width:min(16.5rem,calc(100vw - .75rem));max-width:calc(100vw - .75rem);max-height:min(72dvh,calc(100dvh - var(--app-header-offset, 70px) - .75rem));padding:.55rem .6rem;border-width:1px;border-radius:10px;box-shadow:0 6px 18px #0f172a2e}.settings-panel-title{font-size:.65rem;margin-bottom:.4rem;letter-spacing:.04em}.settings-panel-title--spaced{margin-top:.65rem}.settings-personal-center-link{margin-bottom:.55rem;padding:.45rem .6rem;font-size:.78rem;border-radius:6px}.settings-accent-options{display:grid;grid-template-columns:1fr 1fr;gap:.3rem}.settings-wrap .settings-accent-btn{gap:.35rem;padding:.35rem .4rem;border-radius:6px;font-size:.72rem;line-height:1.25;min-width:0}.accent-dot{width:.7rem;height:.7rem}.accent-dot--ip{width:.85rem;height:.85rem}.settings-password-form{gap:.35rem}.settings-password-input{padding:.4rem .5rem;border-radius:6px;font-size:.74rem}.settings-password-error,.settings-password-success{font-size:.68rem}.settings-password-actions{gap:.35rem;margin-top:.15rem}.settings-password-submit,.settings-password-cancel{flex:1 1 auto;padding:.4rem .55rem;border-radius:6px;font-size:.72rem}.settings-panel.header-editor-mode-panel,.settings-panel.blockly-mode-panel{left:0!important;right:auto!important;width:max-content!important;min-width:9.5rem;max-width:min(14rem,calc(100vw - .75rem));padding:.5rem .55rem;margin-top:.35rem;gap:.3rem}.blockly-mode-panel .settings-panel-title{margin-bottom:.25rem}.blockly-mode-panel .settings-accent-btn{width:100%;min-height:2rem;padding:.4rem .65rem;font-size:.8rem;font-weight:600;color:var(--home-text);white-space:nowrap}.blockly-mode-panel .settings-accent-btn.active{color:var(--theme-primary-text)}.blockly-mode-panel__options,.blockly-mode-panel .settings-accent-options{display:flex;flex-direction:column;gap:.3rem;grid-template-columns:none}}.icon-button.blockly-btn.active{border-color:var(--theme-primary-hover);background:var(--theme-primary-muted)}.header--navbar-template .action-btn.blockly-btn.active{border-color:var(--theme-primary-hover);background:color-mix(in srgb,var(--theme-primary) 18%,var(--home-card))}.header--landing{background:#ffffffb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(148,163,184,.25)}.header--landing .logo-text{color:#1a3a52}.header--cyber-home.header--navbar-template{height:auto;min-height:64px;padding:1rem 2rem;background:color-mix(in srgb,var(--home-card) 78%,rgba(16,32,56,.45));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid color-mix(in srgb,var(--theme-primary) 28%,var(--home-card-border));box-shadow:0 0 12px color-mix(in srgb,var(--theme-primary) 32%,transparent)}.header--navbar-template .header-content{align-items:center;gap:1rem 1.5rem}.header--cyber-home.header--navbar-template .user-actions{margin-left:auto}.header--navbar-template .logo-text{font-size:2rem;font-weight:700;letter-spacing:.04em;color:var(--theme-primary);text-shadow:0 0 10px color-mix(in srgb,var(--theme-primary) 55%,transparent)}.header--navbar-template .brand-logo__mark{height:1.2em}.header--navbar-template .nav-links{flex:1 1 auto;min-width:0;max-width:100%;margin-left:0;margin-right:0;justify-content:center;gap:clamp(.5rem,.35rem + .6vw,1.5rem);flex-wrap:wrap}.header--navbar-template .nav-links__btn{padding:clamp(.25rem,.18rem + .22vw,.4rem) clamp(.4rem,.28rem + .35vw,.75rem);border:none;border-radius:4px;background:transparent;color:var(--home-text-muted);font-size:clamp(10px,.52rem + .22vw,12px);font-weight:500;line-height:1.25;cursor:pointer;white-space:nowrap;max-width:100%;transition:color .25s ease,background .25s ease,box-shadow .25s ease}.header--navbar-template .nav-links__btn:hover{color:var(--theme-primary);background:color-mix(in srgb,var(--theme-primary) 10%,transparent);box-shadow:0 0 8px color-mix(in srgb,var(--theme-primary) 28%,transparent)}.header--navbar-template .user-actions{gap:1rem;flex-shrink:0}.header--navbar-template .action-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:clamp(.35rem,.25rem + .3vw,.5rem) clamp(.55rem,.4rem + .5vw,1rem);border-radius:4px;font-size:clamp(12px,.7rem + .3vw,14px);font-weight:500;cursor:pointer;border:1px solid var(--theme-primary);background:color-mix(in srgb,var(--theme-primary) 10%,transparent);color:var(--theme-primary);white-space:nowrap;transition:background .3s ease,color .3s ease,box-shadow .3s ease}.header--navbar-template .action-btn .icon{flex-shrink:0;font-size:1em;line-height:1}.header--navbar-template .action-btn:hover{background:var(--theme-primary);color:var(--home-text-on-bg);box-shadow:0 0 15px color-mix(in srgb,var(--theme-primary) 48%,transparent)}.header--navbar-template .user-name--navbar-tpl{font-size:13px;color:var(--home-text-muted);margin-right:0;max-width:8em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 1480px){.header--navbar-template .nav-links{order:2;flex:1 1 auto;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}}@media (max-width: 1100px) and (min-width: 901px){.header--navbar-template{padding:.65rem 1.25rem}.header--navbar-template .logo-text{font-size:clamp(1.35rem,1.1rem + .8vw,1.75rem)}.header--navbar-template .action-btn{padding:6px 12px;font-size:13px}.header--navbar-template .nav-links__btn{padding:4px 8px;font-size:11px}}.ip-avatar-3d{width:100%;height:100%;border-radius:inherit;overflow:hidden;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.12),transparent 70%)}.ip-avatar-3d canvas{display:block;width:100%!important;height:100%!important}.avatar-container--corner .ip-avatar-3d{border-radius:50%}.settings-ip-preview{width:44px;height:44px;border-radius:10px;flex-shrink:0;border:1px solid var(--theme-primary-muted);background:var(--home-card)}.user-profile-panel{background:linear-gradient(160deg,#1a234299,#0f162dbf);border:1px solid rgba(255,213,79,.4);border-radius:18px;padding:24px;box-shadow:0 8px 32px #0003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.profile-content{display:flex;flex-direction:column;gap:20px}.avatar-section{display:flex;flex-direction:column;align-items:center;gap:15px}.avatar-container{position:relative;width:120px;height:120px}.avatar{width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,#64b5f6,#42a5f5);display:flex;align-items:center;justify-content:center;font-size:60px;border:3px solid #ffd54f;box-shadow:0 0 20px #ffd54f80;position:relative;z-index:2}.avatar-frame{position:absolute;top:-5px;left:-5px;right:-5px;bottom:-5px;border-radius:50%;border:2px solid rgba(100,150,255,.5);z-index:1}.user-info{display:flex;flex-direction:column;gap:12px}.stars-rating{display:flex;gap:5px;justify-content:center;margin-bottom:5px}.stars-rating .star{font-size:20px;filter:drop-shadow(0 0 5px rgba(255,213,79,.8))}.stars-earned-count{font-size:1.35rem;font-weight:800;color:#ffd54f;line-height:1.2;align-self:center}.info-buttons{display:flex;flex-direction:column;gap:10px}.info-btn{padding:12px 20px;background:linear-gradient(135deg,#ffd54f33,#ffd54f1a);border:1px solid rgba(255,213,79,.4);border-radius:8px;color:#ffd54f;font-weight:600;text-align:center;cursor:pointer;transition:all .3s ease}.info-btn:hover{background:linear-gradient(135deg,#ffd54f4d,#ffd54f33);border-color:#ffd54f99;transform:translate(5px)}.welcome-btn{padding:12px 20px;background:linear-gradient(135deg,#ffd54f26,#ffd54f0d);border:1px solid rgba(255,213,79,.3);border-radius:8px;color:#ffd54f;font-weight:500;text-align:center;cursor:pointer;transition:all .3s ease;margin-top:5px}.welcome-btn:hover{background:linear-gradient(135deg,#ffd54f40,#ffd54f26);border-color:#ffd54f80}.user-profile-strip{display:flex;align-items:center;gap:14px;padding:12px 18px;background:#1e293b;border:1px solid rgba(51,65,85,.6);border-radius:12px;box-shadow:0 4px 16px #0003}.strip-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--theme-primary) 0%,var(--theme-primary-hover) 100%);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;border:2px solid rgba(1,161,142,.4)}.strip-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.strip-name{font-size:1rem;font-weight:600;color:#f1f5f9}.strip-meta{font-size:.8rem;color:#94a3b8}.strip-badges{display:flex;align-items:center;gap:8px;flex-shrink:0}.strip-badge{padding:6px 12px;background:#01a18e40;border:1px solid rgba(1,161,142,.4);border-radius:8px;color:var(--theme-primary-text);font-size:.8rem;font-weight:600}.user-profile-panel--corner{max-width:100%;padding:16px 18px;border-radius:14px}.profile-content--corner{display:flex;flex-direction:row;align-items:center;gap:18px}.corner-avatar-block{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;width:88px}.avatar-container--corner{width:76px;height:76px}.avatar--corner{font-size:38px;border-width:2px;box-shadow:0 2px 12px #0000001f}.avatar--ip{padding:0;font-size:0;overflow:hidden;background:radial-gradient(circle at 50% 30%,#64b5f659,#42a5f526)}.strip-avatar--ip{width:40px;height:40px;border-radius:50%;overflow:hidden;font-size:0;flex-shrink:0}.avatar-frame--corner{top:-3px;left:-3px;right:-3px;bottom:-3px}.user-info--corner{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px;justify-content:center}.stars-rating--corner{justify-content:flex-start;margin:0;gap:6px}.stars-rating--corner .star{font-size:18px}.user-info--corner .stars-earned-count{font-size:1.15rem}.corner-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.corner-meta-name{font-size:1rem;font-weight:700;line-height:1.3;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.corner-meta-detail{font-size:.8125rem;line-height:1.45;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-hud-box{box-sizing:border-box;border:1px solid rgba(15,23,42,.12);border-radius:10px;padding:8px 10px;background:#ffffff73}.profile-hud-box--avatar{display:flex;align-items:center;justify-content:center;padding:10px 12px}.profile-hud-box--corner-name{padding:10px 12px}.profile-hud-box--corner-name .corner-meta-name--above-stars{margin:0}.corner-name-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;min-width:0}.corner-name-header .corner-meta-name--above-stars{flex:1 1 auto;min-width:0}.profile-hud-box--entitlements{padding:8px 12px}.corner-entitlements{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0}.corner-vip-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:800;letter-spacing:.04em;line-height:1.3}.corner-vip-badge--on{color:#92400e;background:linear-gradient(135deg,#fde68a,#fbbf24);border:1px solid rgba(217,119,6,.45)}.corner-vip-badge--off{color:#64748b;background:#94a3b82e;border:1px solid rgba(148,163,184,.35)}.corner-product-tag{display:inline-flex;max-width:100%;padding:2px 8px;border-radius:6px;font-size:.7rem;font-weight:700;color:#b91c1c;background:#fee2e2f2;border:1px solid rgba(248,113,113,.45);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.corner-product-tag--empty{color:#94a3b8;background:transparent;border-color:transparent;font-weight:600}.corner-role-badge{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:4px 11px 4px 9px;border-radius:999px;font-size:.6875rem;font-weight:700;line-height:1.2;letter-spacing:.06em;text-transform:none;color:#fff;border:1px solid transparent;box-shadow:0 1px 3px #0f172a14;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.corner-role-badge__dot{width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 8px #ffffffd9;flex-shrink:0}.corner-role-badge--student{background:linear-gradient(135deg,#3b82f6e0,#2563ebb8);border-color:#93c5fd73}.corner-role-badge--teacher{background:linear-gradient(135deg,#14b8a6e6,#0d9488bf);border-color:#5eead473}.corner-role-badge--school{background:linear-gradient(135deg,#f59e0beb,#d97706c7);border-color:#fcd34d73}.corner-role-badge--admin{background:linear-gradient(135deg,#7c3aede6,#6d28d9c2);border-color:#c4b5fd73}.corner-role-badge--default{background:linear-gradient(135deg,#64748be0,#475569bd);border-color:#cbd5e159}.strip-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0}.strip-name-row .strip-name{min-width:0}.strip-name-row .corner-role-badge{font-size:.625rem;padding:3px 9px 3px 7px}.profile-hud-box--stars{padding:8px 12px}.profile-hud-box--meta,.profile-hud-box--action{padding:10px 12px}.profile-hud-box--action .welcome-btn--corner{width:100%;margin-top:0}.welcome-btn--corner{margin-top:0;padding:9px 12px;font-size:.8rem;line-height:1.35;border-radius:8px;width:100%;white-space:normal;text-align:center;font-weight:600;cursor:pointer;transition:opacity .2s ease}@media (min-width: 900px){.user-profile-panel--corner{padding:18px 20px}.profile-content--corner{gap:20px}.corner-avatar-block{width:96px}.avatar-container--corner{width:84px;height:84px}.avatar--corner{font-size:42px}.stars-rating--corner .star{font-size:19px}.user-info--corner .stars-earned-count{font-size:1.22rem}.corner-meta-name{font-size:1.05rem}.corner-meta-detail{font-size:.84rem}.welcome-btn--corner{font-size:.82rem;padding:10px 14px}}@media (max-width: 420px){.profile-content--corner{flex-direction:column;align-items:center;text-align:center}.corner-avatar-block{width:auto}.user-info--corner{width:100%;align-items:center}.stars-rating--corner{justify-content:center}.corner-meta{align-items:center}.corner-meta-name,.corner-meta-detail{white-space:normal;text-align:center}.corner-name-header{justify-content:center}}.home-bulletin{min-width:0;min-height:300px;padding:48px 44px;border-radius:20px;display:flex;flex-direction:column;gap:10px;justify-content:center;box-sizing:border-box}.home-bulletin__head{font-size:.68rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--theme-primary-text);opacity:.85}.home-bulletin__body{margin:0;font-size:.95rem;line-height:1.55;color:var(--home-text);flex:1}@media (max-width: 640px){.home-bulletin{min-height:180px;padding:28px 22px}}.home-sidebar-menu{min-width:0;padding:.65rem 0;border-radius:12px;background:color-mix(in srgb,var(--theme-primary) 88%,#0d4a3f);border:1px solid color-mix(in srgb,var(--theme-primary) 55%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--theme-primary) 32%,transparent);--sidebar-menu-pad-x: 1rem;--sidebar-menu-indent: 2em}.home-sidebar-menu__list{list-style:none;margin:0;padding:.35rem 0}.home-sidebar-menu__list>li{margin:0}.home-sidebar-menu__link,.home-sidebar-menu__group-btn{display:flex;align-items:center;justify-content:space-between;width:100%;box-sizing:border-box;padding:.72rem var(--sidebar-menu-pad-x);border:none;background:transparent;color:#ffffffeb;font-size:1rem;font-weight:500;text-align:left;text-decoration:none;cursor:pointer;transition:background .2s ease,color .2s ease}.home-sidebar-menu__link--depth-1,.home-sidebar-menu__group-btn--depth-1{padding-left:calc(var(--sidebar-menu-pad-x) + var(--sidebar-menu-indent));font-size:.9375rem;font-weight:400;color:#ffffffd1}.home-sidebar-menu__link--depth-2,.home-sidebar-menu__group-btn--depth-2{padding-left:calc(var(--sidebar-menu-pad-x) + var(--sidebar-menu-indent) * 2);font-size:.875rem;font-weight:400;color:#ffffffd1}.home-sidebar-menu__link:hover,.home-sidebar-menu__group-btn:hover{background:#ffffff1f;color:#fff}.home-sidebar-menu__link.is-active,.home-sidebar-menu__group.is-active>.home-sidebar-menu__group-btn{background:#fff3;color:#fff;font-weight:600}.home-sidebar-menu__label-row{display:inline-flex;align-items:center;gap:.45rem;min-width:0}.home-sidebar-menu__badge{flex-shrink:0;min-width:1.35rem;padding:.1rem .4rem;border-radius:999px;background:#ffffff38;color:#fff;font-size:.75rem;font-weight:700;line-height:1.35;text-align:center}.home-sidebar-menu__link.is-active .home-sidebar-menu__badge,.home-sidebar-menu__group.is-active .home-sidebar-menu__badge{background:#ffffff52}.home-sidebar-menu__chevron{flex-shrink:0;width:1.25rem;text-align:center;font-size:1.1rem;font-weight:700;line-height:1;opacity:.9}.home-sidebar-menu__sublist{list-style:none;margin:0;padding:0 0 .35rem;background:#0000001f}.home-sidebar-menu__sublist .home-sidebar-menu__sublist{background:#00000014}.home-sidebar-menu__link--sub.is-active{color:#fff;background:#ffffff24}@media (max-width: 640px){.home-sidebar-menu{--sidebar-menu-pad-x: .65rem}.home-sidebar-menu__link,.home-sidebar-menu__group-btn{font-size:.8125rem;padding-top:.45rem;padding-bottom:.45rem}.home-sidebar-menu__link--depth-1,.home-sidebar-menu__group-btn--depth-1{font-size:.75rem}.home-sidebar-menu__link--depth-2,.home-sidebar-menu__group-btn--depth-2{font-size:.72rem}}.main-content.home-page.home-page--cyber{box-sizing:border-box;width:100%;max-width:100%;margin-left:auto;margin-right:auto;padding-top:calc(var(--app-header-offset, calc(88 * var(--rpx, .5px))) + calc(24 * var(--rpx, .5px)));padding-bottom:calc(32 * var(--rpx, .5px));padding-left:var(--app-page-pad-x, calc(24 * var(--rpx, .5px)));padding-right:var(--app-page-pad-x, calc(24 * var(--rpx, .5px)))}@media (min-width: 901px){.main-content.home-page.home-page--cyber{padding-top:calc(var(--app-header-offset, 64px) + 14px);padding-bottom:22px;padding-left:clamp(1rem,2.2vw,1.75rem);padding-right:clamp(1rem,2.2vw,1.75rem)}}.main-content.home-page.home-page--cyber.training-shell:has(.training-shell__content--dashboard--compact){display:flex;flex-direction:column;height:auto;max-height:none;min-height:0;overflow:visible;padding-bottom:max(calc(24 * var(--rpx, .5px)),env(safe-area-inset-bottom,0px));padding-left:max(var(--app-page-pad-x, calc(24 * var(--rpx, .5px))),env(safe-area-inset-left,0px));padding-right:max(var(--app-page-pad-x, calc(24 * var(--rpx, .5px))),env(safe-area-inset-right,0px));padding-top:calc(var(--app-header-offset, calc(88 * var(--rpx, .5px))) + calc(16 * var(--rpx, .5px)))}@media (min-width: 901px){.main-content.home-page.home-page--cyber.training-shell:has(.training-shell__content--dashboard--compact){height:100vh;max-height:100vh;overflow:hidden;padding-bottom:clamp(.35rem,.8vh,.75rem);padding-left:clamp(.65rem,1.4vw,1.5rem);padding-right:clamp(.65rem,1.4vw,1.5rem);padding-top:calc(var(--app-header-offset, 70px) + clamp(6px,.8vh,12px))}}.main-content.home-page.home-page--cyber.training-shell:has(.training-shell__content--dashboard--compact)>.training-shell__layout{flex:1 1 auto;min-height:0;width:100%;max-width:100%;align-self:stretch}@media (max-width: 900px){.main-content.home-page.home-page--cyber.training-shell:has(.training-shell__content--dashboard--compact)>.training-shell__layout{grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important}.main-content.home-page.home-page--cyber.training-shell .training-shell__main{width:100%!important;max-width:100%!important}}@media (max-width: 1024px){.main-content.home-page.home-page--cyber{padding-left:clamp(.75rem,2vw,1.25rem);padding-right:clamp(.75rem,2vw,1.25rem);padding-bottom:18px}}@media (max-width: 720px){.main-content.home-page.home-page--cyber.training-shell:has(.training-shell__content--dashboard--compact){height:auto!important;max-height:none!important;overflow:visible!important;padding-left:max(10px,env(safe-area-inset-left,0px));padding-right:max(10px,env(safe-area-inset-right,0px));padding-bottom:max(12px,env(safe-area-inset-bottom,0px))}.main-content.home-page.home-page--cyber.training-shell:has(.training-shell__content--dashboard--compact)>.training-shell__layout{flex:1 1 auto;height:auto;max-height:none;min-height:calc(100dvh - var(--app-header-offset, calc(88 * var(--rpx, .5px))) - calc(24 * var(--rpx, .5px)));width:100%;max-width:100%}}.home-page--cyber .home-page-atmos__grid--cyber{background-image:linear-gradient(color-mix(in srgb,var(--theme-primary) 14%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--theme-primary) 14%,transparent) 1px,transparent 1px);background-size:50px 50px;-webkit-mask-image:none;mask-image:none;opacity:.9}@media (prefers-reduced-motion: no-preference){.home-page--cyber .home-page-atmos__grid--cyber{animation:cyber-grid-move 20s linear infinite}}@keyframes cyber-grid-move{0%{transform:translate(0)}to{transform:translate(50px,50px)}}@media (prefers-reduced-motion: reduce){.home-page--cyber .home-page-atmos__grid--cyber{animation:none}}.home-page--cyber .home-page-atmos__bloom{opacity:.22;background:radial-gradient(ellipse 80% 90% at 50% 0%,color-mix(in srgb,var(--theme-primary) 22%,transparent),transparent 70%)}.home-page--cyber .home-page-atmos__scan{background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--theme-primary) 12%,transparent),transparent);opacity:.45}.home-layout--cyber{display:grid;grid-template-columns:minmax(280px,400px) minmax(0,1fr) minmax(220px,320px);gap:1.25rem clamp(1rem,2vw,1.5rem);align-items:start;width:100%}.home-cyber-sidebar--left{display:flex;flex-direction:column;gap:1.25rem;min-width:0}@media (max-width: 1200px){.home-layout--cyber:not(.training-shell__layout){grid-template-columns:1fr}}@media (min-width: 1367px){.home-page--cyber .home-lower-course.home-cyber-sidebar--right{position:sticky;top:calc(var(--app-header-offset, 70px) + 10px)}}.home-page--cyber .home-cyber-sidebar--left .user-profile-panel{padding:1.5rem;min-height:0;border-radius:12px;background:color-mix(in srgb,var(--home-card) 78%,transparent);border:1px solid color-mix(in srgb,var(--theme-primary) 28%,var(--home-card-border));box-shadow:0 0 12px color-mix(in srgb,var(--theme-primary) 28%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.home-page--cyber .home-cyber-sidebar--left .profile-content--corner{display:grid;grid-template-columns:72px minmax(120px,1fr);grid-template-rows:auto auto auto auto auto;gap:8px 14px;align-items:start}.home-page--cyber .home-cyber-sidebar--left .corner-avatar-block{grid-column:1;grid-row:1 / span 4;width:auto;align-self:center}.home-page--cyber .home-cyber-sidebar--left .avatar-container--corner{width:60px;height:60px}.home-page--cyber .home-cyber-sidebar--left .avatar--corner{font-size:32px;background:linear-gradient(135deg,var(--theme-primary),var(--theme-primary-hover));border-color:color-mix(in srgb,var(--theme-primary) 45%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--theme-primary) 38%,transparent)}.home-page--cyber .home-cyber-sidebar--left .user-info--corner{display:contents}.home-page--cyber .home-cyber-sidebar--left .profile-hud-box--corner-name{grid-column:2;grid-row:1}.home-page--cyber .home-cyber-sidebar--left .profile-hud-box--stars{grid-column:2;grid-row:2}.home-page--cyber .home-cyber-sidebar--left .profile-hud-box--entitlements{grid-column:2;grid-row:3}.home-page--cyber .home-cyber-sidebar--left .profile-hud-box--meta{grid-column:2;grid-row:4}.home-page--cyber .home-cyber-sidebar--left .profile-hud-box--action{grid-column:1 / -1;grid-row:5;margin-top:8px}.home-page--cyber .home-cyber-sidebar--left .profile-hud-box{border-color:color-mix(in srgb,var(--theme-primary) 22%,var(--home-card-border));background:color-mix(in srgb,var(--home-card) 88%,var(--theme-primary) 8%)}.home-page--cyber .home-cyber-sidebar--left .corner-meta{align-items:flex-start}.home-page--cyber .home-cyber-sidebar--left .corner-meta-name,.home-page--cyber .home-cyber-sidebar--left .corner-meta-name--above-stars{color:var(--home-text);white-space:normal;overflow:visible;text-overflow:unset;word-break:break-word;line-height:1.35}.home-page--cyber .home-cyber-sidebar--left .profile-hud-box--corner-name .corner-meta-name--above-stars{font-size:1.05rem;font-weight:800}.home-page--cyber .home-cyber-sidebar--left .corner-name-header{align-items:flex-start}.home-page--cyber .home-cyber-sidebar--left .corner-role-badge{color:#fff;box-shadow:0 0 12px color-mix(in srgb,currentColor 22%,transparent)}.home-page--cyber .home-cyber-sidebar--left .corner-role-badge__dot{background:#fff;box-shadow:0 0 8px #ffffffe6}.home-page--cyber .home-cyber-sidebar--left .corner-role-badge--student{background:linear-gradient(135deg,#3b82f6f2,#1d4ed8d1);border-color:#93c5fd80}.home-page--cyber .home-cyber-sidebar--left .corner-role-badge--teacher{background:linear-gradient(135deg,#2dd4bff2,#0d9488d1);border-color:#5eead480}.home-page--cyber .home-cyber-sidebar--left .corner-role-badge--school{background:linear-gradient(135deg,#fbbf24f2,#d97706d9);border-color:#fcd34d80}.home-page--cyber .home-cyber-sidebar--left .corner-role-badge--admin{background:linear-gradient(135deg,#a78bfaf2,#6d28d9d9);border-color:#c4b5fd80}.home-page--cyber .home-cyber-sidebar--left .corner-meta-detail{color:var(--home-text-muted);white-space:normal;overflow:visible;text-overflow:unset;word-break:break-word;line-height:1.45}.home-page--cyber .home-cyber-sidebar--left .stars-earned-count,.home-page--cyber .home-cyber-sidebar--left .stars-rating--corner .star{color:gold}.home-page--cyber .home-cyber-sidebar--left .welcome-btn--corner{width:100%;margin-top:0;padding:.75rem;border:none;border-radius:6px;font-weight:700;background:linear-gradient(90deg,var(--theme-primary),var(--theme-primary-hover));color:var(--home-text-on-bg);box-shadow:0 0 12px color-mix(in srgb,var(--theme-primary) 42%,transparent)}.home-page--cyber .home-cyber-sidebar--left .welcome-btn--corner:hover{box-shadow:0 0 18px color-mix(in srgb,var(--theme-primary) 55%,transparent);transform:translateY(-2px);filter:none;color:var(--home-text-on-bg)}.home-page--cyber .home-bulletin{min-height:unset;justify-content:flex-start;padding:1.5rem;border-radius:12px;background:color-mix(in srgb,var(--home-card) 78%,transparent);border:1px solid color-mix(in srgb,var(--theme-primary) 28%,var(--home-card-border));box-shadow:0 0 12px color-mix(in srgb,var(--theme-primary) 28%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.home-page--cyber .home-bulletin__head{color:var(--theme-primary);letter-spacing:.06em;font-size:.95rem;text-transform:none;opacity:1}.home-page--cyber .home-bulletin__head:before{content:"📢 "}.home-page--cyber .home-bulletin__body{flex:0 1 auto;color:var(--home-text-muted);font-size:.9rem;line-height:1.55}[data-accent=starry] .home-page--cyber .home-bulletin__body{color:#e2e8f0}.home-page--cyber .home-lower-train .training-modules-panel{border-radius:12px;border:1px solid color-mix(in srgb,var(--theme-primary) 28%,var(--home-card-border));background:color-mix(in srgb,var(--home-card) 78%,transparent);box-shadow:0 0 12px color-mix(in srgb,var(--theme-primary) 28%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.home-page--cyber .home-lower-train .training-modules-panel:before{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--theme-primary) 42%,transparent),transparent);opacity:.75}@media (min-width: 901px){.main-content.home-page.home-page--cyber .split-shell{display:flex;flex-direction:column;min-height:0}.main-content.home-page.home-page--cyber .split-rail{width:100%;border-right:none;border-bottom:1px solid color-mix(in srgb,var(--theme-primary) 22%,var(--home-card-border));padding:14px 16px 16px;background:color-mix(in srgb,var(--theme-primary) 9%,var(--home-card))}.main-content.home-page.home-page--cyber .split-rail:before{display:none}.main-content.home-page.home-page--cyber .split-rail:after{opacity:.25;-webkit-mask-image:none;mask-image:none}.main-content.home-page.home-page--cyber .split-rail-title{margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid color-mix(in srgb,var(--theme-primary) 30%,var(--home-card-border));color:var(--home-text);text-shadow:none}[data-accent=starry] .main-content.home-page.home-page--cyber .split-rail-title{color:#f8fafc}.main-content.home-page.home-page--cyber .training-tier-nav--rail{flex-direction:row;flex-wrap:wrap;gap:6px;padding:6px;border-radius:8px;background:color-mix(in srgb,var(--theme-primary) 12%,var(--home-card))}.main-content.home-page.home-page--cyber .training-tier-nav--rail .training-tier-nav-item{flex:0 1 auto;width:auto;min-width:3.5rem;justify-content:center;border-radius:6px}.main-content.home-page.home-page--cyber .training-tier-nav--rail .training-tier-nav-item.is-active{background:var(--theme-primary)!important;color:var(--home-text-on-bg)!important;border-color:var(--theme-primary)!important;box-shadow:0 0 12px color-mix(in srgb,var(--theme-primary) 45%,transparent);font-weight:800}.main-content.home-page.home-page--cyber .split-body{padding:18px 20px 22px}.main-content.home-page.home-page--cyber .split-hint{border-color:color-mix(in srgb,var(--theme-primary) 22%,var(--home-card-border));background:color-mix(in srgb,var(--theme-primary) 7%,var(--home-card));color:var(--home-text-muted)}}@media (min-width: 901px) and (max-width: 1024px){.main-content.home-page.home-page--cyber .training-tier-nav--rail{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.main-content.home-page.home-page--cyber .training-tier-nav--rail .training-tier-nav-item{flex:0 0 auto;min-width:3.25rem;font-size:.72rem;padding:7px 10px}}.home-page--cyber .split-body .training-tier-empty-msg{color:var(--home-text-muted)}.home-page--cyber .prerace-quiz-panel .split-rail-title{color:var(--home-text);text-shadow:none}.home-page--cyber .prerace-quiz-panel .prerace-quiz-rail-hint,.home-page--cyber .prerace-quiz-panel .training-tier-nav--rail .training-tier-nav-item{color:var(--home-text-muted)}.home-page--cyber .prerace-quiz-panel .training-tier-nav--rail .training-tier-nav-item:hover,.home-page--cyber .prerace-quiz-panel .training-tier-nav--rail .training-tier-nav-item.is-active{color:var(--home-text)}[data-accent=starry] .home-page--cyber .prerace-quiz-panel .split-rail-title{color:#f8fafc}[data-accent=starry] .home-page--cyber .prerace-quiz-panel .prerace-quiz-rail-hint,[data-accent=starry] .home-page--cyber .prerace-quiz-panel .training-tier-nav--rail .training-tier-nav-item{color:#cbd5e1}@media (min-width: 721px){.main-content.home-page.home-page--cyber .prerace-quiz-panel .split-rail-title{color:var(--home-text);text-shadow:none}[data-accent=starry] .main-content.home-page.home-page--cyber .prerace-quiz-panel .split-rail-title{color:#f8fafc}}.home-page--cyber .module-card{background:color-mix(in srgb,var(--home-card) 92%,var(--theme-primary) 8%);border:1px solid color-mix(in srgb,var(--theme-primary) 22%,var(--home-card-border));border-radius:10px}.home-page--cyber .module-card:hover{border-color:var(--theme-primary);box-shadow:0 0 18px color-mix(in srgb,var(--theme-primary) 32%,transparent);transform:translateY(-5px)}.home-page--cyber .module-title{color:var(--home-text)}.home-page--cyber .progress-info,.home-page--cyber .progress-text{color:var(--home-text-muted)}.home-page--cyber .go-button{background:linear-gradient(90deg,var(--theme-primary),var(--theme-primary-hover));border:none;color:var(--home-text-on-bg);box-shadow:0 0 12px color-mix(in srgb,var(--theme-primary) 38%,transparent)}.home-page--cyber .training-modules-panel--split .go-button{box-shadow:0 2px 8px color-mix(in srgb,var(--theme-primary) 24%,transparent)}.home-page--cyber .go-button:hover{box-shadow:0 0 20px color-mix(in srgb,var(--theme-primary) 48%,transparent);transform:scale(1.05)}.home-page--cyber .training-modules-panel--split .go-button:hover{transform:translateY(-1px)}.home-page--cyber .progress-bar-container{background:color-mix(in srgb,var(--theme-primary) 16%,var(--home-card));border-radius:4px}.home-page--cyber .module-card .progress-bar{background:linear-gradient(90deg,var(--theme-primary),var(--theme-primary-hover));box-shadow:0 0 8px color-mix(in srgb,var(--theme-primary) 40%,transparent)}.home-page--cyber .book-icon{color:var(--theme-primary);filter:drop-shadow(0 0 8px color-mix(in srgb,var(--theme-primary) 45%,transparent))}.home-page--cyber .overall-progress{background:color-mix(in srgb,var(--theme-primary) 10%,var(--home-card));border:1px solid color-mix(in srgb,var(--theme-primary) 22%,var(--home-card-border));border-radius:10px}.home-page--cyber .overall-progress .progress-track{background:color-mix(in srgb,var(--theme-primary) 18%,var(--home-card));border-radius:4px;overflow:hidden}.home-page--cyber .overall-progress .progress-fill{background:linear-gradient(90deg,var(--theme-primary),var(--theme-primary-hover));box-shadow:0 0 10px color-mix(in srgb,var(--theme-primary) 42%,transparent)}.home-page--cyber .total-stars-summary{color:var(--home-text-muted)}.home-page--cyber .total-stars-summary strong{color:var(--theme-primary)}.home-page--cyber .home-lower-course .training-course-panel,.home-page--cyber .home-lower-course .training-booking-card .booking-poster{border:var(--sidebar-card-border);border-radius:var(--sidebar-card-radius);background:var(--sidebar-card-bg);box-shadow:var(--sidebar-card-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.home-page--cyber .home-lower-course .training-course-panel:before{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--theme-primary) 28%,transparent),transparent);opacity:.55}.home-page--cyber .home-lower-course .panel-title,.home-page--cyber .home-lower-course .booking-poster__title{color:var(--sidebar-title-color);font-size:1rem;font-weight:700;text-shadow:none}.home-page--cyber .home-lower-course .level-item{background:color-mix(in srgb,var(--theme-primary) 8%,var(--home-card));border:1px solid color-mix(in srgb,var(--theme-primary) 18%,var(--home-card-border));border-radius:8px}.home-page--cyber .home-lower-course .level-item:hover{background:color-mix(in srgb,var(--theme-primary) 14%,var(--home-card));box-shadow:0 0 10px color-mix(in srgb,var(--theme-primary) 22%,transparent)}.home-page--cyber .home-lower-course .level-item:nth-child(1) .planet-icon{background:var(--theme-primary);color:var(--home-text-on-bg)!important;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:.85rem}.home-page--cyber .home-lower-course .level-item:nth-child(2) .planet-icon{background:color-mix(in srgb,#ff5252 85%,var(--theme-primary) 15%)}.home-page--cyber .home-lower-course .level-item:nth-child(3) .planet-icon{background:color-mix(in srgb,#ffd740 85%,var(--theme-primary) 15%)}.home-page--cyber .home-lower-course .level-item:nth-child(4) .planet-icon{background:color-mix(in srgb,#536dfe 85%,var(--theme-primary) 15%)}.home-page--cyber .home-lower-course .level-item:nth-child(5) .planet-icon{background:color-mix(in srgb,#7c4dff 85%,var(--theme-primary) 15%)}.home-page--cyber .home-lower-course .rocket-icon{display:none}.home-page--cyber .home-lower-course .level-name{color:var(--home-text)}@media (max-width: 640px){.home-page--cyber .home-cyber-sidebar--left .profile-content--corner{display:flex;flex-direction:column;align-items:center;text-align:center}.home-page--cyber .home-cyber-sidebar--left .user-info--corner{display:flex;flex-direction:column;align-items:center;width:100%;gap:10px}.home-page--cyber .home-cyber-sidebar--left .corner-avatar-block{grid-column:unset;grid-row:unset}.home-page--cyber .home-cyber-sidebar--left .profile-hud-box--corner-name,.home-page--cyber .home-cyber-sidebar--left .profile-hud-box--stars,.home-page--cyber .home-cyber-sidebar--left .profile-hud-box--meta,.home-page--cyber .home-cyber-sidebar--left .profile-hud-box--action{grid-column:unset;grid-row:unset;width:100%}}.training-shell__menu-btn,.training-shell__sidebar-backdrop{display:none}.training-shell__layout.home-layout--cyber{display:grid!important;flex-direction:unset;grid-template-columns:minmax(0,var(--app-sidebar-width, calc(280 * var(--rpx, .5px)))) minmax(0,1fr);grid-template-rows:auto;gap:calc(20 * var(--rpx, .5px));align-items:start;width:100%;max-width:min(var(--app-content-max, 1180px),100%);margin-left:auto;margin-right:auto}.training-shell__layout.home-layout--cyber:has(.homework-manage-page),.training-shell__layout.home-layout--cyber:has(.class-manage-page),.training-shell__layout.home-layout--cyber:has(.homework-stats-page),.training-shell__layout.home-layout--cyber:has(.homework-review-page),.training-shell__layout.home-layout--cyber:has(.learning-progress-page){max-width:min(1760px,100%)}.training-shell__sidebar{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:1.25rem;min-width:0;position:sticky;top:calc(var(--app-header-offset, 70px) + 10px);align-self:start;z-index:20;isolation:isolate}.training-shell__sidebar.home-cyber-sidebar--left{--sidebar-card-bg: color-mix(in srgb, var(--home-card) 88%, var(--theme-primary) 12%);--sidebar-card-border: 1px solid color-mix(in srgb, var(--theme-primary) 28%, var(--home-card-border));--sidebar-card-shadow: 0 12px 32px color-mix(in srgb, var(--theme-primary) 22%, transparent), 0 0 0 1px color-mix(in srgb, var(--theme-primary) 12%, rgba(255, 255, 255, .1)) inset;--sidebar-card-radius: 12px}.training-shell__sidebar.home-cyber-sidebar--left .home-user-card,.training-shell__sidebar.home-cyber-sidebar--left .home-bulletin,.training-shell__sidebar.home-cyber-sidebar--left .home-sidebar-menu{border:var(--sidebar-card-border);border-radius:var(--sidebar-card-radius);box-shadow:var(--sidebar-card-shadow);position:relative;z-index:1;overflow:visible}.training-shell__sidebar.home-cyber-sidebar--left .home-user-card,.training-shell__sidebar.home-cyber-sidebar--left .user-profile-panel,.training-shell__sidebar.home-cyber-sidebar--left .profile-content--corner,.training-shell__sidebar.home-cyber-sidebar--left .user-info--corner{overflow:visible}.training-shell__sidebar.home-cyber-sidebar--left .profile-hud-box--action{position:relative;z-index:2;overflow:visible}.training-shell__sidebar.home-cyber-sidebar--left .welcome-btn--corner{position:relative;z-index:2;width:100%;max-width:100%;box-sizing:border-box;white-space:normal;word-break:break-word;overflow:visible;transform:none}.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .user-profile-panel{padding:.85rem .75rem;border-radius:var(--sidebar-card-radius)}.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .profile-content--corner{display:flex;flex-direction:column;align-items:stretch;gap:8px}.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .user-info--corner{display:flex;flex-direction:column;gap:6px;width:100%}.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .corner-avatar-block{width:auto;align-self:center}.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .avatar-container--corner{width:48px;height:48px}.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .avatar--corner{font-size:24px;border-width:2px}.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .profile-hud-box{padding:6px 8px;border-radius:8px}.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .profile-hud-box--avatar{padding:6px 8px}.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .profile-hud-box--corner-name,.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .profile-hud-box--stars,.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .profile-hud-box--entitlements,.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .profile-hud-box--meta,.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .profile-hud-box--action{grid-column:unset;grid-row:unset;width:100%;padding:6px 8px}.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .profile-hud-box--corner-name .corner-meta-name,.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .profile-hud-box--corner-name .corner-meta-name--above-stars{font-size:.86rem;font-weight:700;line-height:1.35;text-align:center;white-space:normal;word-break:break-word}.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .profile-hud-box--stars,.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .profile-hud-box--entitlements{display:flex;justify-content:center}.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .corner-entitlements{justify-content:center}.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .stars-rating--corner{gap:4px}.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .stars-rating--corner .star{font-size:14px}.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .stars-earned-count{font-size:.95rem;font-weight:700}.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .corner-meta-detail{font-size:.7rem;line-height:1.4;text-align:center;white-space:normal;word-break:break-word}.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .welcome-btn--corner{padding:.5rem .65rem;font-size:.74rem;line-height:1.35;border-radius:6px;transform:none}.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .welcome-btn--corner:hover{transform:none}@media (min-width: 900px){.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .user-profile-panel{padding:.85rem .75rem}.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .profile-content--corner{flex-direction:column;gap:8px}.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .corner-avatar-block{width:auto}.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .avatar-container--corner{width:48px;height:48px}.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .avatar--corner{font-size:24px}.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .stars-rating--corner .star{font-size:14px}.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .stars-earned-count{font-size:.95rem}.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .corner-meta-name,.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .corner-meta-name--above-stars{font-size:.86rem}.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .corner-meta-detail{font-size:.7rem}.main-content.home-page.home-page--cyber.training-shell .training-shell__sidebar.home-cyber-sidebar--left .welcome-btn--corner{font-size:.74rem;padding:.5rem .65rem}}.training-shell__sidebar.home-cyber-sidebar--left .home-bulletin{padding:.85rem .9rem}.training-shell__sidebar.home-cyber-sidebar--left .home-bulletin__head{font-size:.82rem}.training-shell__sidebar.home-cyber-sidebar--left .home-bulletin__body{font-size:.78rem;line-height:1.45}.training-shell__sidebar.home-cyber-sidebar--left .home-sidebar-menu{--sidebar-menu-pad-x: .75rem}.training-shell__sidebar.home-cyber-sidebar--left .home-sidebar-menu__link,.training-shell__sidebar.home-cyber-sidebar--left .home-sidebar-menu__group-btn{padding-top:.58rem;padding-bottom:.58rem;padding-right:var(--sidebar-menu-pad-x, .75rem);padding-left:var(--sidebar-menu-pad-x, .75rem);font-size:.86rem}.training-shell__sidebar.home-cyber-sidebar--left .home-sidebar-menu__link--depth-1,.training-shell__sidebar.home-cyber-sidebar--left .home-sidebar-menu__group-btn--depth-1{padding-left:calc(var(--sidebar-menu-pad-x, .75rem) + var(--sidebar-menu-indent, 2em))}.training-shell__sidebar.home-cyber-sidebar--left .home-sidebar-menu__link--depth-2,.training-shell__sidebar.home-cyber-sidebar--left .home-sidebar-menu__group-btn--depth-2{padding-left:calc(var(--sidebar-menu-pad-x, .75rem) + var(--sidebar-menu-indent, 2em) * 2)}.training-shell__main{grid-column:2;grid-row:1;min-width:0;display:block;width:100%;overflow-x:clip;position:relative}.training-shell__content--dashboard{--dashboard-course-sidebar-bp: 1366px;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,1fr);gap:1.25rem clamp(.75rem,1.5vw,1.25rem);align-items:start;width:100%}.training-shell__content--dashboard--video-first{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);align-items:stretch;gap:clamp(.28rem,.15rem + .35vw + .2vh,.65rem);height:100%;min-height:0}.training-shell__content--dashboard--video-first>.dashboard-video-hero-wrap{grid-column:1;grid-row:1;min-width:0;position:relative;z-index:1;flex:0 0 auto;align-self:start}.training-shell__content--dashboard--video-first>.dashboard-compact-tabs{grid-column:1;grid-row:2;position:relative;z-index:2;align-self:start;width:50%;max-width:50%}.training-shell__content--dashboard--video-first>.home-lower-course,.training-shell__content--dashboard--video-first>.home-lower-train{grid-column:1;grid-row:3;min-width:0;min-height:0;overflow:hidden;position:relative;z-index:1}.training-shell__main:has(.training-shell__content--dashboard--compact){display:flex;flex-direction:column;flex:1;min-height:0;align-self:stretch;overflow:hidden}.training-shell__content--dashboard--compact{grid-template-columns:1fr;grid-template-rows:auto auto minmax(0,1fr);flex:1;min-height:0;height:100%;align-items:stretch;width:100%;overflow:hidden}.training-shell__layout.home-layout--cyber:has(.training-shell__content--dashboard--compact){align-items:stretch;min-height:calc(100vh - var(--app-header-offset, 70px) - 2.75rem);height:calc(100vh - var(--app-header-offset, 70px) - 2.75rem);max-height:calc(100vh - var(--app-header-offset, 70px) - 2.75rem);gap:clamp(.55rem,.35rem + .7vw,1rem)}.training-shell__layout.home-layout--cyber:has(.training-shell__content--dashboard--compact)>.training-shell__sidebar{position:sticky;top:calc(var(--app-header-offset, 70px) + 10px);align-self:stretch;max-height:100%;min-height:0;overflow-x:clip;overflow-y:auto;overscroll-behavior:contain}.training-shell__content--dashboard--compact>.home-lower-train,.training-shell__content--dashboard--compact>.home-lower-course{min-height:0;position:static;top:auto}.training-shell__content--dashboard--compact[data-active-tab=train]>.home-lower-course{display:none!important}.training-shell__content--dashboard--compact[data-active-tab=course]>.home-lower-train{display:none!important}.home-lower-course.home-lower-course--compact-panel{position:static!important;top:auto!important;width:100%;max-width:100%}.training-shell__content--dashboard>.home-lower-train,.training-shell__content--dashboard>.home-lower-course{grid-column:1;min-width:0}.training-shell__content--dashboard--quiz{grid-template-columns:minmax(0,1fr)}.training-shell__content--dashboard--quiz>.home-lower-train{grid-column:1}.home-shell-panel{width:100%;min-width:0}.home-shell-panel .admin-page,.home-shell-panel .student-homework-page,.home-shell-panel .student-homework-detail-page{margin-top:0;min-height:0;padding-top:12px;max-width:none}@media (max-width: 900px){.training-shell--mobile .home-shell-panel .admin-page,.training-shell--mobile .home-shell-panel .homework-manage-page,.training-shell--mobile .home-shell-panel .class-manage-page{padding:.25rem .25rem 1rem;font-size:.82rem}.training-shell--mobile .home-shell-panel .learning-progress-page{padding:.35rem 0 .85rem;font-size:inherit}.training-shell--mobile .home-shell-panel .admin-page h1:not(.learning-progress-hero h1){font-size:1.1rem;margin-bottom:.55rem}.training-shell--mobile .home-shell-panel .homework-manage-toolbar__label,.training-shell--mobile .home-shell-panel .homework-manage-toolbar__meta{font-size:.7rem}.training-shell--mobile .home-shell-panel .homework-manage-select,.training-shell--mobile .home-shell-panel .homework-manage-btn{min-height:1.75rem;padding:.25rem .45rem;font-size:.78rem;border-radius:4px}.training-shell--mobile .home-shell-panel .learning-progress-filters .homework-manage-select,.training-shell--mobile .home-shell-panel .learning-progress-filters .homework-manage-btn{min-height:var(--lp-control-h, 1.85rem);font-size:var(--lp-fs-control, .78rem);padding:0 .55em}.training-shell--mobile .home-shell-panel .homework-manage-btn--query{min-width:0;padding:.25rem .55rem}.training-shell--mobile .home-shell-panel .homework-manage-geo-field{min-width:0;gap:.15rem}.training-shell--mobile .home-shell-panel .homework-manage-toolbar{gap:.35rem .4rem;padding:.45rem .5rem}.training-shell--mobile .home-shell-panel .homework-manage-toolbar--geo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:.35rem .4rem;padding:.45rem .5rem}.training-shell--mobile .home-shell-panel .homework-manage-geo-field--keyword{grid-column:1 / -1;max-width:none}.training-shell--mobile .home-shell-panel .homework-manage-toolbar--geo>.homework-manage-btn{width:100%;min-width:0}.training-shell--mobile .home-shell-panel .homework-manage-table th,.training-shell--mobile .home-shell-panel .homework-manage-table td{padding:.35rem .4rem}.training-shell--mobile .home-shell-panel .homework-manage-table,.training-shell--mobile .home-shell-panel .admin-table{font-size:.76rem}.training-shell--mobile .home-shell-panel .tab-button{padding:.35rem .65rem;font-size:.76rem}.training-shell--mobile .home-shell-panel .icon-button .icon,.training-shell--mobile .home-shell-panel .action-btn .icon{font-size:.95rem}}.home-shell-panel .student-homework-page,.home-shell-panel .student-homework-detail-page{padding-left:0;padding-right:0}.home-shell-panel .course-admin{background:transparent}.training-shell__main .level-select-page.level-select-page--road{margin-top:0;min-height:min(640px,calc(100vh - var(--app-header-offset, 70px) - 80px));padding:8px 12px 32px}.training-shell__main .level-select-page.level-select-page--camp{margin-top:0;padding:0;min-height:0;height:100%;flex:1 1 auto;display:flex;flex-direction:column;overflow:hidden}.training-shell__main .synthesis-camp{margin-top:0;min-height:0;height:100%;flex:1 1 auto}.training-shell__main .synthesis-camp__map-scroll{min-height:0}.training-shell__main .synthesis-camp--loading{min-height:min(280px,calc(100vh - var(--app-header-offset, 70px) - 120px))}.training-shell__layout.home-layout--cyber:has(.level-select-page--camp){align-items:stretch}.training-shell__main:has(>.level-select-page--camp){display:flex;flex-direction:column;align-self:stretch;min-height:min(calc(100vh - var(--app-header-offset, 70px) - 40px),920px);overflow:hidden}@media (max-width: 900px) and (orientation: portrait){.training-shell__main:has(>.level-select-page--camp){min-height:min(52svh,calc(100svh - var(--app-header-offset, 70px) - 240px))}}.training-shell__main .level-road-viewport{width:100%;max-width:100%;height:min(62vh,calc(100vh - var(--app-header-offset, 70px) - 140px))}.training-shell__main .level-select-header.level-select-header--road,.training-shell__main .level-difficulty-tabs,.training-shell__main .levels-empty.levels-empty--road{max-width:100%}@media (max-width: 1200px) and (min-width: 901px){.training-shell__layout.home-layout--cyber{grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:1rem clamp(.75rem,1.5vw,1.25rem)}.training-shell__content--dashboard:not(.training-shell__content--dashboard--compact){grid-template-columns:minmax(0,4fr) minmax(0,1fr);gap:1rem}.training-shell__content--dashboard--video-first:not(.training-shell__content--dashboard--compact){grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}}@media (max-width: 1024px) and (min-width: 901px){.training-shell__layout.home-layout--cyber:has(.training-shell__content--dashboard--compact){grid-template-columns:minmax(0,240px) minmax(0,1fr);min-height:0}.training-shell__layout.home-layout--cyber:has(.training-shell__content--dashboard--compact)>.training-shell__sidebar{position:sticky}.training-shell__content--dashboard--video-first{min-height:min(560px,calc(100vh - var(--app-header-offset, 64px) - 2rem))}}@media (max-width: 900px){.training-shell__layout.home-layout--cyber,.training-shell__layout.home-layout--cyber:has(.training-shell__content--dashboard--compact){grid-template-columns:minmax(0,1fr)!important;max-width:100%!important;width:100%;gap:calc(16 * var(--rpx, .5px))}.training-shell__sidebar{position:fixed!important;top:var(--app-header-offset, calc(88 * var(--rpx, .5px)));left:0;bottom:0;z-index:1110!important;width:min(17.5rem,82vw);max-width:82vw;padding:.65rem .7rem;box-sizing:border-box;height:calc(100dvh - var(--app-header-offset, calc(88 * var(--rpx, .5px))))!important;max-height:calc(100dvh - var(--app-header-offset, calc(88 * var(--rpx, .5px))))!important;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;background:color-mix(in srgb,var(--home-bg) 92%,#0f172a);box-shadow:10px 0 28px #0f172a47;transform:translate(-105%);transition:transform .22s ease;overscroll-behavior:contain;margin:0;isolation:auto;pointer-events:auto;gap:.55rem}.training-shell__sidebar.is-open{transform:translate(0)!important}.training-shell__sidebar.home-cyber-sidebar--left{--sidebar-card-radius: 8px}.training-shell__sidebar.home-cyber-sidebar--left .home-user-card,.training-shell__sidebar.home-cyber-sidebar--left .home-bulletin,.training-shell__sidebar.home-cyber-sidebar--left .home-sidebar-menu{border-radius:8px}.training-shell__sidebar.home-cyber-sidebar--left .user-profile-panel{padding:.55rem .5rem!important}.training-shell__sidebar.home-cyber-sidebar--left .profile-content--corner{display:flex!important;flex-direction:column!important;align-items:stretch;gap:.35rem!important}.training-shell__sidebar.home-cyber-sidebar--left .avatar-container--corner{width:2.25rem!important;height:2.25rem!important}.training-shell__sidebar.home-cyber-sidebar--left .avatar--corner{font-size:1.1rem!important;border-width:2px!important}.training-shell__sidebar.home-cyber-sidebar--left .profile-hud-box{padding:.28rem .4rem!important;border-radius:6px!important}.training-shell__sidebar.home-cyber-sidebar--left .corner-meta-name,.training-shell__sidebar.home-cyber-sidebar--left .corner-meta-name--above-stars{font-size:.78rem!important;line-height:1.3!important}.training-shell__sidebar.home-cyber-sidebar--left .corner-role-badge{font-size:.62rem!important;padding:.1rem .35rem!important;gap:4px}.training-shell__sidebar.home-cyber-sidebar--left .corner-role-badge__dot{width:5px;height:5px}.training-shell__sidebar.home-cyber-sidebar--left .stars-rating--corner .star{font-size:.75rem!important}.training-shell__sidebar.home-cyber-sidebar--left .stars-earned-count{font-size:.78rem!important}.training-shell__sidebar.home-cyber-sidebar--left .corner-meta-detail{font-size:.65rem!important;line-height:1.35!important}.training-shell__sidebar.home-cyber-sidebar--left .welcome-btn--corner{font-size:.68rem!important;padding:.35rem .45rem!important;line-height:1.3!important}.training-shell__sidebar.home-cyber-sidebar--left .home-bulletin{padding:.5rem .55rem!important}.training-shell__sidebar.home-cyber-sidebar--left .home-bulletin__head{font-size:.72rem!important;margin-bottom:.25rem!important}.training-shell__sidebar.home-cyber-sidebar--left .home-bulletin__body{font-size:.68rem!important;line-height:1.4!important}.training-shell__sidebar.home-cyber-sidebar--left .home-sidebar-menu{--sidebar-menu-pad-x: .55rem;--sidebar-menu-indent: 1.1em;padding:.25rem 0!important}.training-shell__sidebar.home-cyber-sidebar--left .home-sidebar-menu__link,.training-shell__sidebar.home-cyber-sidebar--left .home-sidebar-menu__group-btn{padding-top:.4rem!important;padding-bottom:.4rem!important;padding-right:var(--sidebar-menu-pad-x, .55rem)!important;padding-left:var(--sidebar-menu-pad-x, .55rem)!important;font-size:.78rem!important;line-height:1.3!important}.training-shell__sidebar.home-cyber-sidebar--left .home-sidebar-menu__link--depth-1,.training-shell__sidebar.home-cyber-sidebar--left .home-sidebar-menu__group-btn--depth-1{padding-left:calc(var(--sidebar-menu-pad-x, .55rem) + var(--sidebar-menu-indent, 1.1em))!important;font-size:.74rem!important}.training-shell__sidebar.home-cyber-sidebar--left .home-sidebar-menu__link--depth-2,.training-shell__sidebar.home-cyber-sidebar--left .home-sidebar-menu__group-btn--depth-2{padding-left:calc(var(--sidebar-menu-pad-x, .55rem) + var(--sidebar-menu-indent, 1.1em) * 2)!important;font-size:.72rem!important}.training-shell__sidebar.home-cyber-sidebar--left .home-sidebar-menu__chevron{font-size:.85rem!important}.training-shell__sidebar.home-cyber-sidebar--left .home-sidebar-menu__badge{font-size:.62rem!important;padding:.05rem .3rem!important}.training-shell__main{grid-column:1 / -1!important;grid-row:1;width:100%!important;max-width:100%!important;min-width:0;justify-self:stretch}.training-shell--sidebar-open .training-shell__main{pointer-events:none}.training-shell__layout.home-layout--cyber:has(.training-shell__content--dashboard--compact){height:auto!important;max-height:none!important;min-height:calc(100dvh - var(--app-header-offset, calc(88 * var(--rpx, .5px))) - calc(24 * var(--rpx, .5px)));width:100%;max-width:100%}.training-shell__main:has(.training-shell__content--dashboard--compact){display:flex;flex-direction:column;flex:1 1 auto;width:100%;max-width:100%;min-height:calc(100dvh - var(--app-header-offset, calc(88 * var(--rpx, .5px))) - calc(48 * var(--rpx, .5px)));overflow:visible}.training-shell__content--dashboard--video-first,.training-shell__content--dashboard--compact{width:100%;max-width:100%;min-height:calc(100dvh - var(--app-header-offset, calc(88 * var(--rpx, .5px))) - calc(48 * var(--rpx, .5px)));height:auto!important;flex:1 1 auto;overflow:visible;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto auto}.training-shell__content--dashboard--video-first>.dashboard-compact-tabs,.dashboard-compact-tabs{width:100%!important;max-width:100%!important}.training-shell__content--dashboard--compact>.home-lower-course,.training-shell__content--dashboard--compact>.home-lower-train,.training-shell__content--dashboard--video-first>.home-lower-course,.training-shell__content--dashboard--video-first>.home-lower-train{overflow:visible!important;min-height:min(52vh,520px);height:auto!important;max-height:none!important;width:100%}.training-shell__content--dashboard--compact>.home-lower-course .training-course-sidebar--compact,.training-shell__content--dashboard--compact>.home-lower-course .training-course-sidebar--featured,.training-shell__content--dashboard--compact>.home-lower-course .training-course-sidebar--catalog,.training-shell__content--dashboard--compact>.home-lower-train .training-modules-panel--split,.training-shell__content--dashboard--compact>.home-lower-train .split-shell,.training-shell__content--dashboard--compact>.home-lower-train .split-body{height:auto!important;max-height:none!important;overflow:visible!important;min-height:0}.training-shell__content--dashboard--compact>.home-lower-course .training-course-panel__courses{overflow:visible!important;max-height:none!important}.training-shell__content--dashboard:not(.training-shell__content--dashboard--compact),.training-shell__content--dashboard--video-first:not(.training-shell__content--dashboard--compact){grid-template-columns:1fr!important}.training-shell__menu-btn{position:fixed;top:calc(var(--app-header-offset, calc(88 * var(--rpx, .5px))) + .4rem);left:max(.5rem,env(safe-area-inset-left,0px));z-index:1120;display:inline-flex!important;align-items:center;justify-content:center;gap:.15rem;min-height:2rem;min-width:2rem;padding:.3rem .55rem;border:1px solid color-mix(in srgb,var(--theme-primary) 40%,transparent);border-radius:999px;background:color-mix(in srgb,var(--home-card) 94%,var(--theme-primary) 6%);color:var(--home-text);font-size:.75rem;font-weight:700;box-shadow:0 4px 12px #0f172a24;cursor:pointer}.training-shell__menu-btn__icon{font-size:.95rem;line-height:1}.training-shell__sidebar-backdrop{position:fixed!important;right:0!important;bottom:0!important;left:0!important;top:0!important;z-index:1105!important;display:block!important;border:none;padding:0;margin:0;width:100vw;height:100vh;height:100dvh;background:#0f172a73;cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease;-webkit-tap-highlight-color:transparent}.training-shell__sidebar-backdrop.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important}.training-shell--mobile .training-shell__main{padding-top:.35rem}.training-shell--mobile .training-shell__content--dashboard--video-first{padding-top:0}.training-shell--mobile .home-shell-panel .admin-page,.training-shell--mobile .home-shell-panel .learning-progress-page,.training-shell--mobile .home-shell-panel{padding-top:.35rem}.training-shell__menu-btn__label{display:none!important}.training-shell__menu-btn{min-width:1.85rem;min-height:1.85rem;padding:.25rem;justify-content:center}}@media (max-width: 640px){.training-shell__layout.home-layout--cyber{gap:.5rem}.main-content.home-page.home-page--cyber.training-shell{padding-left:max(.55rem,env(safe-area-inset-left,0px));padding-right:max(.55rem,env(safe-area-inset-right,0px))}.training-shell__content--dashboard--video-first>.dashboard-compact-tabs,.dashboard-compact-tabs{width:100%!important;max-width:100%!important}.training-shell__main>.home-shell-panel .admin-page,.training-shell__main>.home-shell-panel .homework-manage-page,.training-shell__main>.home-shell-panel .class-manage-page,.training-shell__main>.home-shell-panel .promotion-page,.training-shell__main>.home-shell-panel .region-center-page,.training-shell__main>.home-shell-panel .course-admin{padding-left:0;padding-right:0;max-width:100%}}@media (max-width: 900px) and (orientation: landscape),(max-width: 900px) and (max-height: 480px){.training-shell--mobile .training-shell__main{padding-top:.25rem}.training-shell--mobile .training-shell__content--dashboard--video-first{padding-top:0}.training-shell__menu-btn{top:calc(var(--app-header-offset, 56px) + .2rem);min-width:1.55rem;min-height:1.55rem}.training-shell__sidebar{top:var(--app-header-offset, 56px);padding:.4rem .5rem;gap:.35rem;height:calc(100dvh - var(--app-header-offset, 56px))!important;max-height:calc(100dvh - var(--app-header-offset, 56px))!important;overflow-y:auto!important}.training-shell__sidebar.home-cyber-sidebar--left .user-profile-panel{padding:.35rem .4rem!important}.training-shell__sidebar.home-cyber-sidebar--left .profile-content--corner{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.35rem .5rem!important}.training-shell__sidebar.home-cyber-sidebar--left .corner-avatar-block{grid-row:1 / span 2}.training-shell__sidebar.home-cyber-sidebar--left .avatar-container--corner{width:1.85rem!important;height:1.85rem!important}.training-shell__sidebar.home-cyber-sidebar--left .user-info--corner{display:flex;flex-direction:column;gap:.2rem;min-width:0}.training-shell__sidebar.home-cyber-sidebar--left .profile-hud-box--meta,.training-shell__sidebar.home-cyber-sidebar--left .profile-hud-box--action{display:none!important}.training-shell__sidebar.home-cyber-sidebar--left .home-bulletin{padding:.35rem .45rem!important}.training-shell__sidebar.home-cyber-sidebar--left .home-bulletin__body{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.62rem!important;line-height:1.35!important}.training-shell__sidebar.home-cyber-sidebar--left .home-sidebar-menu__link,.training-shell__sidebar.home-cyber-sidebar--left .home-sidebar-menu__group-btn{padding-top:.28rem!important;padding-bottom:.28rem!important;font-size:.72rem!important}.training-shell__content--dashboard--video-first,.training-shell__content--dashboard--compact{min-height:0!important;gap:.25rem}.training-shell__content--dashboard--compact>.home-lower-course,.training-shell__content--dashboard--compact>.home-lower-train,.training-shell__content--dashboard--video-first>.home-lower-course,.training-shell__content--dashboard--video-first>.home-lower-train{min-height:0!important}.training-shell--mobile .training-shell__layout.home-layout--cyber:has(.home-shell-panel){min-height:calc(100dvh - var(--app-header-offset, 56px) - .5rem)!important;height:calc(100dvh - var(--app-header-offset, 56px) - .5rem)!important;max-height:calc(100dvh - var(--app-header-offset, 56px) - .5rem)!important}.training-shell--mobile .training-shell__main:has(>.home-shell-panel){min-height:0!important;height:100%;overflow:hidden;display:flex;flex-direction:column}.training-shell--mobile .training-shell__main>.home-shell-panel{flex:1 1 auto;min-height:0;overflow-x:clip;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-top:.15rem}.training-shell--mobile .home-shell-panel .admin-page,.training-shell--mobile .home-shell-panel .course-admin,.training-shell--mobile .home-shell-panel .homework-manage-page,.training-shell--mobile .home-shell-panel .class-manage-page{padding:.15rem .2rem 1.25rem;font-size:.78rem}.training-shell--mobile .home-shell-panel .admin-page h1:not(.learning-progress-hero h1){font-size:1rem;margin-bottom:.4rem}}@media (orientation: landscape) and (min-width: 901px) and (max-width: 1366px){.main-content.home-page.home-page--cyber.training-shell{display:flex;flex-direction:column;box-sizing:border-box;height:100vh;max-height:100vh;min-height:0;overflow:hidden;padding-bottom:clamp(.5rem,1.5vh,1rem)}.training-shell__layout.home-layout--cyber{grid-template-columns:minmax(0,1fr) minmax(0,5fr)!important;flex:1;min-height:0;height:100%;align-items:stretch;gap:clamp(.65rem,1.2vw,1rem)}.training-shell__sidebar{position:static;align-self:stretch;max-height:100%;min-height:0;overflow-y:auto;gap:clamp(.5rem,1vh,.85rem)}.training-shell__main{min-height:0;overflow:hidden;display:flex;flex-direction:column}.training-shell__main>.level-select-page--camp{flex:1 1 auto;min-height:0;overflow:hidden}.training-shell__main>.level-select-page--camp .synthesis-camp{height:100%;min-height:0}.training-shell__main>.home-shell-panel{flex:1;min-height:0;overflow-x:clip;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.training-shell__main>.home-shell-panel .course-admin,.training-shell__main>.home-shell-panel .admin-page{padding-bottom:2rem}.training-shell__content--dashboard:not(.training-shell__content--dashboard--compact){grid-template-columns:minmax(0,4fr) minmax(0,1fr)!important;flex:1;min-height:0;height:100%;align-items:stretch;gap:clamp(.65rem,1.2vw,1rem)}.training-shell__content--dashboard--compact{grid-template-columns:1fr!important;flex:1;min-height:0;height:100%;align-items:stretch;gap:clamp(.65rem,1.2vw,1rem);overflow:hidden}.training-shell__content--dashboard--video-first.training-shell__content--dashboard--compact{grid-template-rows:auto auto minmax(0,1fr)}.training-shell__content--dashboard--video-first:not(.training-shell__content--dashboard--compact){grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.training-shell__content--dashboard--video-first:not(.training-shell__content--dashboard--compact)>.dashboard-video-hero-wrap{flex:0 0 auto}.training-shell__content--dashboard--quiz{grid-template-columns:minmax(0,1fr)!important}.training-shell__content--dashboard:not(.training-shell__content--dashboard--compact)>.home-lower-train{display:flex;flex-direction:column;overflow:hidden}.training-shell__content--dashboard:not(.training-shell__content--dashboard--compact)>.home-lower-course{min-height:0;overflow:hidden;display:flex;flex-direction:column}.training-shell__content--dashboard:not(.training-shell__content--dashboard--compact)>.home-lower-course .training-course-sidebar{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.training-shell__content--dashboard:not(.training-shell__content--dashboard--compact)>.home-lower-course .training-course-panel--expanded{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.training-shell__content--dashboard:not(.training-shell__content--dashboard--compact)>.home-lower-course .training-course-panel__courses{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.training-shell__content--dashboard:not(.training-shell__content--dashboard--compact)>.home-lower-course .training-booking-card{flex:0 0 auto}.training-shell__content--dashboard:not(.training-shell__content--dashboard--compact)>.home-lower-train .training-modules-panel--split{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}.training-shell__content--dashboard:not(.training-shell__content--dashboard--compact)>.home-lower-train .split-shell{flex:1 1 auto;min-height:0}.training-shell__content--dashboard:not(.training-shell__content--dashboard--compact)>.home-lower-train .split-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.training-shell__content--dashboard:not(.training-shell__content--dashboard--compact)>.home-lower-course{grid-column:2}.training-shell__content--dashboard--compact>.home-lower-course,.training-shell__content--dashboard--compact>.home-lower-train{grid-column:1}.training-shell__content--dashboard--video-first:not(.training-shell__content--dashboard--compact)>.home-lower-course{grid-column:1}.training-shell__content--dashboard--video-first:not(.training-shell__content--dashboard--compact)>.home-lower-train{grid-column:2}.home-page--cyber .home-lower-course.home-cyber-sidebar--right{position:static;top:auto}}@media (min-width: 901px) and (max-width: 1366px) and (orientation: landscape){.training-shell__main:has(.training-shell__content--dashboard--compact){overflow:hidden!important}.training-shell__content--dashboard--compact>.home-lower-train,.training-shell__content--dashboard--compact>.home-lower-course{overscroll-behavior:contain}}@media (max-width: 1366px) and (orientation: portrait){.main-content.home-page.home-page--cyber.training-shell:has(.training-shell__content--dashboard--compact){height:auto!important;max-height:none!important;overflow:visible!important}.training-shell__layout.home-layout--cyber:has(.training-shell__content--dashboard--compact){height:auto!important;max-height:none!important}.training-shell__main:has(.training-shell__content--dashboard--compact){overflow:visible!important}.training-shell__content--dashboard--compact{height:auto!important;flex:1 1 auto;grid-template-rows:auto auto auto;min-height:calc(100dvh - var(--app-header-offset, 70px) - 48px)}.training-shell__content--dashboard--compact>.home-lower-train:not([hidden]),.training-shell__content--dashboard--compact>.home-lower-course:not([hidden]){overflow:visible!important;max-height:none!important;min-height:min(52vh,520px)}.training-shell__content--dashboard--compact>.home-lower-train .split-body{overflow:visible!important}.training-shell__content--dashboard--compact>.home-lower-course:not([hidden]) .training-course-sidebar--compact,.training-shell__content--dashboard--compact>.home-lower-course:not([hidden]) .training-course-sidebar--featured,.training-shell__content--dashboard--compact>.home-lower-course:not([hidden]) .training-course-sidebar--catalog{overflow:visible;height:auto}.training-shell__content--dashboard--compact>.home-lower-course:not([hidden]) .training-course-panel__courses{overflow:visible;max-height:none}}@media (orientation: landscape) and (min-width: 901px) and (max-width: 1366px) and (max-height: 520px){.main-content.home-page.home-page--cyber.training-shell{padding-top:calc(var(--app-header-offset, 70px) + 8px);padding-bottom:.4rem}.training-shell__layout.home-layout--cyber{gap:.5rem}.home-page--cyber .home-cyber-sidebar--left .user-profile-panel,.home-page--cyber .home-bulletin{padding:.85rem 1rem}}.booking-poster{position:relative;display:flex;flex-direction:column;align-items:stretch;width:100%;min-height:300px;margin:0 0 1.25rem;padding:0;border:none;border-radius:18px;text-align:left;cursor:pointer;overflow:hidden;isolation:isolate;background:color-mix(in srgb,var(--home-card, #0f172a) 88%,var(--theme-primary) 12%);box-shadow:0 12px 32px color-mix(in srgb,var(--theme-primary) 28%,transparent),0 0 0 1px color-mix(in srgb,var(--theme-primary) 18%,rgba(255,255,255,.12)) inset;transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s ease}.booking-poster:hover{transform:translateY(-4px) scale(1.015);box-shadow:0 20px 44px color-mix(in srgb,var(--theme-primary) 38%,transparent),0 0 0 1px color-mix(in srgb,var(--theme-primary) 28%,rgba(255,255,255,.2)) inset}.booking-poster:focus-visible{outline:3px solid rgba(255,255,255,.85);outline-offset:3px}.booking-poster__hero{position:relative;flex:1;display:flex;flex-direction:column;justify-content:flex-end;min-height:220px;padding:1.35rem 1.25rem 1.1rem;background:linear-gradient(135deg,var(--theme-primary) 0%,var(--theme-primary-hover, var(--theme-primary)) 55%,color-mix(in srgb,var(--theme-primary) 72%,#0f172a) 100%)}.booking-poster__img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center top;z-index:0}.booking-poster__hero-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start}.booking-poster__hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(180deg,#0000000d,#00000059 55%,#0000008c);pointer-events:none}.booking-poster__footer{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;padding:.85rem 1.25rem 1.1rem;background:color-mix(in srgb,var(--home-card, #080f1e) 92%,transparent);border-top:1px solid color-mix(in srgb,var(--theme-primary) 22%,rgba(255,255,255,.1))}.booking-poster__glow{position:absolute;top:-40%;right:-25%;width:70%;height:90%;background:radial-gradient(circle,rgba(255,255,255,.45) 0%,transparent 68%);pointer-events:none;z-index:1}.booking-poster__shine{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.22) 48%,transparent 58%);transform:translate(-120%);animation:booking-poster-shine 4.5s ease-in-out infinite;pointer-events:none;z-index:2}@keyframes booking-poster-shine{0%,72%,to{transform:translate(-120%)}82%{transform:translate(120%)}}.booking-poster__badge{display:inline-block;margin-bottom:.65rem;padding:.28rem .65rem;border-radius:999px;background:#ffffff38;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.booking-poster__icon{display:flex;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;margin-bottom:.55rem;color:#fffffff2}.booking-poster__icon svg{width:100%;height:100%;filter:drop-shadow(0 2px 8px rgba(0,0,0,.15))}.booking-poster__title{margin:0;font-size:1.5rem;font-weight:900;line-height:1.15;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.28);letter-spacing:.04em}.booking-poster__subtitle{margin:.5rem 0 0;max-width:100%;font-size:.86rem;line-height:1.5;color:#fffffff0;font-weight:500}.booking-poster__pill{display:inline-block;margin-bottom:0;padding:.22rem .55rem;border-radius:6px;background:#ffffff1f;color:color-mix(in srgb,var(--theme-primary-text, #fff) 85%,#fff9c4);font-size:.74rem;font-weight:700}.booking-poster__pill--live{background:#4caf5059;color:#e8f5e9;animation:booking-poster-pulse 2s ease-in-out infinite}@keyframes booking-poster-pulse{0%,to{opacity:1}50%{opacity:.75}}.booking-poster__cta{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:999px;background:#fffffff2;color:var(--theme-primary);font-size:.88rem;font-weight:800;letter-spacing:.04em;box-shadow:0 4px 14px #0000001f}.home-lower-course .training-booking-card .booking-poster{margin:0;border:var(--sidebar-card-border);border-radius:var(--sidebar-card-radius);background:var(--sidebar-card-bg);box-shadow:none}.home-lower-course .booking-poster:hover{transform:translateY(-2px);box-shadow:none}.home-lower-course .booking-poster__hero{min-height:200px;background:linear-gradient(165deg,var(--sidebar-surface-accent) 0%,color-mix(in srgb,var(--theme-primary) 10%,var(--home-card)) 100%)}.home-lower-course--compact-panel .booking-poster__hero{min-height:0!important;flex:1 1 auto!important;padding:0!important;background:transparent!important}.home-lower-course .booking-poster__hero:after{background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--home-card) 18%,transparent) 100%)}.home-lower-course .booking-poster__footer{background:var(--sidebar-surface);border-top:1px solid var(--sidebar-surface-accent-border)}.home-lower-course .booking-poster__badge{background:color-mix(in srgb,var(--theme-primary) 18%,transparent);color:var(--theme-primary-text)}.home-lower-course .booking-poster__icon{color:var(--theme-primary)}.home-lower-course .booking-poster__title{color:var(--home-text);text-shadow:none}.home-lower-course .booking-poster__subtitle{color:var(--home-text-muted)}.home-lower-course .booking-poster__pill{background:color-mix(in srgb,var(--theme-primary) 12%,transparent);color:var(--home-text-muted)}.home-lower-course .booking-poster__cta{background:var(--sidebar-surface-accent);color:var(--theme-primary-text);border:1px solid var(--sidebar-surface-accent-border);box-shadow:none}@media (min-width: 1024px){.booking-poster{min-height:340px}.booking-poster__hero{min-height:250px;padding:1.5rem 1.35rem 1.2rem}.home-lower-course--compact-panel .booking-poster{min-height:0!important;height:48px!important;max-height:48px!important}.home-lower-course--compact-panel .booking-poster__hero{min-height:0!important;padding:0!important}.booking-poster__title{font-size:1.65rem}.home-lower-course--compact-panel .booking-poster__title{font-size:.92rem!important}.booking-poster__subtitle{font-size:.9rem}}.booking-poster--has-image .booking-poster__icon,.booking-poster--has-image .booking-poster__subtitle{display:none}.booking-poster--has-image .booking-poster__hero{min-height:260px}.booking-poster--has-image .booking-poster__title{font-size:1.1rem;margin-top:auto}@media (min-width: 1024px){.booking-poster--has-image .booking-poster__hero{min-height:290px}.home-lower-course--compact-panel .booking-poster--has-image .booking-poster__hero{min-height:0}}.booking-poster__arrow{font-size:1rem;transition:transform .2s ease}.booking-poster:hover .booking-poster__arrow{transform:translate(4px)}.booking-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:#080f1e9e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:booking-modal-fade .22s ease}@keyframes booking-modal-fade{0%{opacity:0}to{opacity:1}}.booking-modal__wrap{width:min(440px,100%);max-height:min(88vh,720px);animation:booking-modal-rise .28s cubic-bezier(.22,1,.36,1)}@keyframes booking-modal-rise{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.booking-modal__panel{display:flex;flex-direction:column;max-height:min(88vh,720px);border-radius:20px;overflow:hidden;background:linear-gradient(165deg,#0f172a,#1e293b 55%,#0f172a);border:1px solid color-mix(in srgb,var(--theme-primary) 35%,rgba(255,255,255,.12));box-shadow:0 24px 60px #00000073,0 0 80px color-mix(in srgb,var(--theme-primary) 18%,transparent)}.booking-modal__header{display:flex;gap:.75rem;justify-content:space-between;align-items:flex-start;padding:1.25rem 1.35rem 1rem;background:linear-gradient(135deg,var(--theme-primary) 0%,var(--theme-primary-hover, var(--theme-primary)) 100%)}.booking-modal__tag{display:inline-block;margin-bottom:.35rem;padding:.15rem .45rem;border-radius:4px;background:#fff3;font-size:.65rem;font-weight:800;letter-spacing:.1em;color:#fff}.booking-modal__header h2{margin:0;font-size:1.15rem;font-weight:800;color:#fff}.booking-modal__lead{margin:.35rem 0 0;font-size:.78rem;line-height:1.45;color:#ffffffe0}.booking-modal__close{flex-shrink:0;width:2rem;height:2rem;border:none;border-radius:50%;background:#0003;color:#fff;font-size:1.35rem;line-height:1;cursor:pointer;transition:background .2s ease}.booking-modal__close:hover{background:#00000059}.booking-modal__toolbar{padding:.85rem 1.35rem 0}.booking-modal__new{padding:.45rem .9rem;border-radius:10px;border:1px solid color-mix(in srgb,var(--theme-primary) 40%,transparent);background:color-mix(in srgb,var(--theme-primary) 12%,transparent);color:var(--theme-primary, #64b5f6);font-size:.82rem;font-weight:700;cursor:pointer}.booking-modal__new--active{background:color-mix(in srgb,var(--theme-primary) 22%,transparent);border-color:color-mix(in srgb,var(--theme-primary) 45%,transparent);color:var(--theme-primary-text, var(--theme-primary))}.booking-modal__hint,.booking-modal__error{padding:0 1.35rem;font-size:.8rem;line-height:1.45}.booking-modal__hint{color:#ffffffa6}.booking-modal__error{color:#ff8a80}.booking-form{display:flex;flex-direction:column;gap:.6rem;margin:.75rem 1.35rem 0;padding:1rem;border-radius:12px;background:#00000038;border:1px solid rgba(255,255,255,.08)}.booking-form label{display:flex;flex-direction:column;gap:.28rem;font-size:.76rem;color:#ffffffb8}.booking-form input,.booking-form textarea{padding:.45rem .6rem;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#00000047;color:#fff;font-size:.84rem;resize:vertical}.booking-form input[type=datetime-local]{color-scheme:dark;min-height:2.25rem}.booking-form__submit{align-self:stretch;margin-top:.2rem;padding:.55rem;border:none;border-radius:10px;background:linear-gradient(135deg,var(--theme-primary),var(--theme-primary-hover, var(--theme-primary)));color:#fff;font-size:.88rem;font-weight:800;cursor:pointer}.booking-form__submit:disabled{opacity:.55;cursor:not-allowed}.booking-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.6rem;padding:.85rem 1.35rem 1.25rem}.booking-card{padding:.7rem .8rem;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a}.booking-card__meta{display:flex;flex-wrap:wrap;gap:.35rem .65rem;align-items:center}.booking-card__status{font-size:.72rem;font-weight:800;color:#ffd54f}.booking-card--confirmed .booking-card__status{color:#81c784}.booking-card--cancelled .booking-card__status{color:#b0bec5}.booking-card__time{font-size:.76rem;color:#fff}.booking-card__notes{margin:.35rem 0 0;font-size:.74rem;line-height:1.4;color:#ffffffad}.booking-card__join{display:inline-flex;align-items:center;justify-content:center;width:100%;margin-top:.55rem;padding:.5rem .75rem;border-radius:10px;background:linear-gradient(135deg,var(--theme-primary),var(--theme-primary-hover, var(--theme-primary)));color:var(--home-text-on-bg, #fff)!important;font-size:.82rem;font-weight:800;text-decoration:none;text-align:center;box-shadow:0 4px 14px color-mix(in srgb,var(--theme-primary) 40%,transparent)}.booking-card__join:hover{filter:brightness(1.08)}.booking-card__cancel{margin-top:.4rem;padding:0;border:none;background:none;color:color-mix(in srgb,var(--theme-primary) 75%,#ffab91);font-size:.74rem;cursor:pointer}.training-course-sidebar{display:flex;flex-direction:column;gap:18px;width:100%}.training-course-panel{background:linear-gradient(135deg,#6496ff1a,#6496ff0d);border:2px solid rgba(100,150,255,.3);border-radius:16px;padding:20px;box-shadow:0 8px 32px #0003}.training-booking-card{border-radius:18px;overflow:hidden;box-shadow:0 8px 32px #0003}.training-booking-card .booking-poster{margin:0;width:100%;min-height:300px;border-radius:18px}@media (max-width: 1024px){.home-lower-course:not(.home-lower-course--compact-panel) .training-booking-card .booking-poster{min-height:220px}}.home-course-card .training-course-panel{background:var(--home-card);border:1px solid var(--home-card-border);border-radius:18px;padding:24px 28px;box-shadow:0 4px 20px #00000014}.home-course-card .panel-title{font-size:1.25rem;font-weight:700;color:var(--home-text, #f1f5f9);margin-bottom:20px;text-align:left;text-shadow:none}.home-course-card .levels-list{gap:14px;max-height:420px}.home-course-card .level-item{padding:16px 18px;border-radius:12px;border:1px solid rgba(1,161,142,.22);background:#01a18e0f}.home-course-card .level-item:hover{border-color:#01a18e73;background:#01a18e1f;box-shadow:0 4px 16px #00000014}.home-course-card .level-name{font-size:1rem;font-weight:600;color:var(--home-text)}.home-course-card .levels-list::-webkit-scrollbar-track{background:#01a18e26}.home-course-card .levels-list::-webkit-scrollbar-thumb{background:#01a18e66;border-radius:4px}.home-course-card .levels-list::-webkit-scrollbar-thumb:hover{background:#01a18e99}.home-lower-course .training-course-sidebar{--sidebar-card-bg: color-mix(in srgb, var(--home-card) 88%, var(--theme-primary) 12%);--sidebar-card-border: 1px solid color-mix(in srgb, var(--theme-primary) 28%, var(--home-card-border));--sidebar-card-shadow: 0 12px 32px color-mix(in srgb, var(--theme-primary) 22%, transparent), 0 0 0 1px color-mix(in srgb, var(--theme-primary) 12%, rgba(255, 255, 255, .1)) inset;--sidebar-card-radius: 12px;--sidebar-surface: color-mix(in srgb, var(--home-card) 92%, var(--theme-primary) 8%);--sidebar-surface-accent: color-mix(in srgb, var(--theme-primary) 16%, var(--home-card));--sidebar-surface-accent-border: color-mix(in srgb, var(--theme-primary) 32%, var(--home-card-border));--sidebar-title-color: var(--home-text);gap:16px}.home-lower-course .panel-title{color:var(--sidebar-title-color);text-shadow:none}.home-lower-course .training-course-panel{position:relative;overflow:hidden;border:var(--sidebar-card-border);border-radius:var(--sidebar-card-radius);background:var(--sidebar-card-bg);box-shadow:var(--sidebar-card-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.home-lower-course .training-booking-card{border-radius:var(--sidebar-card-radius);overflow:hidden;box-shadow:var(--sidebar-card-shadow)}.home-lower-course .training-course-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--theme-primary) 55%,transparent),transparent);pointer-events:none;z-index:1}[data-accent=starry] .home-lower-course .training-course-panel,[data-accent=starry] .home-lower-course .training-booking-card .booking-poster{border-color:color-mix(in srgb,var(--theme-primary) 32%,rgba(51,65,85,.55));box-shadow:var(--sidebar-card-shadow)}@media (min-width: 1024px){.home-lower-course .training-course-panel{padding:20px 18px 22px}.home-lower-course .levels-list{max-height:min(68vh,520px)}.home-lower-course .panel-title{font-size:.95rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px;color:var(--sidebar-title-color);text-shadow:none}}.level-item__text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.level-subtitle{font-size:.72rem;font-weight:500;color:var(--home-text-muted, rgba(255, 255, 255, .62));line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level-count{font-size:.68rem;color:color-mix(in srgb,var(--theme-primary) 75%,var(--home-text-muted, #94a3b8));font-weight:600}.level-item--empty{opacity:.72}.level-item--empty .level-subtitle{font-style:italic}.training-levels-loading,.training-levels-error{padding:.75rem .5rem;font-size:.82rem;color:var(--home-text-muted, rgba(255, 255, 255, .65));text-align:center}.training-levels-error{color:#ff8a80}.home-course-card .level-item__text{gap:4px}.home-course-card .level-subtitle{font-size:.78rem}.home-lower-course .level-subtitle{font-size:.68rem}.panel-title{font-size:20px;font-weight:700;color:#64b5f6;margin:0;text-align:left;text-shadow:0 0 10px rgba(100,181,246,.5)}.panel-title-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:0;margin-bottom:0;border:none;background:transparent;cursor:pointer;text-align:left}.panel-title-toggle:hover .panel-title{color:#90caf9}.panel-title-chevron{flex-shrink:0;font-size:.85rem;color:#64b5f6bf;transition:transform .2s ease}.training-course-panel--expanded .panel-title-toggle{margin-bottom:16px}.training-course-panel__courses{margin-bottom:0;min-width:0}.training-course-mooc{display:flex;flex-direction:column;gap:var(--ui-gap-md);min-width:0}.training-course-mooc__nav-block{display:flex;flex-direction:column;align-items:stretch;gap:var(--ui-gap-sm);min-width:0}.training-course-mooc__nav-carousel{display:flex;align-items:center;gap:var(--ui-gap-xs);min-width:0}.training-course-mooc__pager-nav{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:var(--ui-icon-btn);height:var(--ui-icon-btn);padding:0;border:1px solid color-mix(in srgb,var(--theme-primary) 30%,transparent);border-radius:999px;background:color-mix(in srgb,var(--home-card) 90%,var(--theme-primary) 10%);color:var(--theme-primary-text);font-size:var(--ui-text-md);line-height:1;cursor:pointer;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.training-course-mooc__pager-nav:hover:not(:disabled){background:color-mix(in srgb,var(--theme-primary) 18%,var(--home-card));border-color:color-mix(in srgb,var(--theme-primary) 45%,transparent)}.training-course-mooc__pager-nav:disabled{opacity:.35;cursor:not-allowed}.training-course-mooc__nav-block--cats{padding-bottom:2px}.training-course-mooc__nav-label{margin:0;flex:0 0 auto;font-size:var(--ui-text-xs);font-weight:700;letter-spacing:var(--ui-label-tracking);text-transform:uppercase;color:var(--home-text-muted);white-space:nowrap}.training-course-mooc__category-badge{margin:0;align-self:flex-start;padding:4px 10px;border-radius:999px;font-size:.72rem;font-weight:700;color:var(--theme-primary-text);background:color-mix(in srgb,var(--theme-primary) 18%,transparent);border:1px solid color-mix(in srgb,var(--theme-primary) 32%,transparent)}.training-course-mooc__cats{flex:1 1 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ui-gap-sm);min-width:0;overflow:hidden}.training-course-mooc__cat{flex:initial;width:100%;min-width:0;min-height:var(--ui-btn-min-h-sm);padding:var(--ui-btn-pad-y) var(--ui-btn-pad-x);border:1px solid color-mix(in srgb,var(--theme-primary) 35%,transparent);border-radius:var(--ui-radius-sm);background:transparent;color:var(--home-text-muted);font-size:var(--ui-text-sm);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.home-lower-course:not(.home-lower-course--compact-panel) .training-course-mooc__nav-block{gap:var(--ui-gap-sm) var(--ui-gap-md)}.home-lower-course:not(.home-lower-course--compact-panel) .training-course-mooc__nav-label{color:color-mix(in srgb,var(--theme-primary) 70%,var(--home-text-muted))}.home-lower-course:not(.home-lower-course--compact-panel) .training-course-mooc__cat{line-height:1.3;text-align:center}.home-lower-course:not(.home-lower-course--compact-panel) .training-course-panel{padding:clamp(12px,10px + .35vw,18px) clamp(10px,8px + .35vw,16px)}.home-lower-course:not(.home-lower-course--compact-panel) .panel-title{font-size:var(--ui-text-md);letter-spacing:var(--ui-label-tracking)}.home-lower-course:not(.home-lower-course--compact-panel) .training-course-collapsed-hint{font-size:var(--ui-text-xs)}.training-course-mooc__cat:hover{color:var(--home-text);border-color:color-mix(in srgb,var(--theme-primary) 55%,transparent)}.training-course-mooc__cat.is-active{color:var(--home-text-on-bg, #fff);background:var(--theme-primary);border-color:var(--theme-primary)}.training-course-mooc__cat.is-empty,.training-course-mooc__cat:disabled{opacity:.55;cursor:not-allowed}.training-course-mooc__nav-block--levels{padding-top:2px}.training-course-mooc__nav-block--lessons{flex-direction:column;align-items:stretch;gap:8px;padding-top:4px}.training-course-mooc__lessons-wrap{min-width:0;margin:0;padding:0}.training-course-mooc__lessons-carousel{display:flex;align-items:center;gap:4px;min-width:0}.training-course-mooc__lessons-page{margin:var(--ui-gap-xs) 0 0;text-align:center;font-size:var(--ui-text-xs);font-weight:600;letter-spacing:var(--ui-label-tracking);color:var(--home-text-muted)}.training-course-mooc__lessons{flex:1 1 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch;gap:var(--ui-gap-sm);min-width:0;overflow:hidden}.training-course-mooc__lesson{flex:initial;display:flex;flex-direction:column;align-items:stretch;gap:var(--ui-gap-xs);width:100%;height:100%;min-width:0;min-height:0;box-sizing:border-box;padding:var(--ui-gap-sm);border:1px solid color-mix(in srgb,var(--theme-primary) 18%,transparent);border-radius:var(--ui-radius-sm);background:color-mix(in srgb,var(--home-card) 94%,var(--theme-primary) 6%);color:var(--home-text);font-family:inherit;text-align:left;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:background .15s ease,border-color .15s ease,transform .15s ease}.training-course-mooc__lesson:hover{background:color-mix(in srgb,var(--theme-primary) 10%,var(--home-card));border-color:color-mix(in srgb,var(--theme-primary) 32%,transparent);transform:translateY(-2px)}.training-course-mooc__lesson-thumb{width:100%;height:var(--ui-thumb-h);border-radius:var(--ui-radius-sm);flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.training-course-mooc__lesson-thumb--placeholder{display:flex;align-items:center;justify-content:center;position:relative}.training-course-mooc__lesson-thumb-play{font-size:.85rem;line-height:1;color:#ffffffeb;text-shadow:0 1px 4px rgba(0,0,0,.45);position:relative;z-index:1}@media (max-width: 900px){.training-course-mooc__lesson-thumb-play{font-size:.7rem}}.training-course-mooc__lesson-text{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 auto;min-height:0}.training-course-mooc__lesson-title{font-size:var(--ui-text-sm);font-weight:700;line-height:1.35;min-height:2.7em;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}.training-course-mooc__lesson-desc{font-size:.68rem;line-height:1.35;color:var(--home-text-muted)}.training-course-mooc__lesson-desc.is-hint{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.training-course-mooc__lesson-cta{align-self:stretch;display:inline-flex;align-items:center;justify-content:center;min-height:var(--ui-btn-min-h-sm);margin-top:auto;padding:var(--ui-btn-pad-y) var(--ui-btn-pad-x);border-radius:var(--ui-radius-sm);background:color-mix(in srgb,var(--theme-primary) 20%,transparent);color:var(--theme-primary-text);font-size:var(--ui-btn-font-sm);font-weight:700;line-height:1;white-space:nowrap;box-sizing:border-box}.training-course-mooc__lesson:hover .training-course-mooc__lesson-cta{background:var(--theme-primary);color:#fff}.training-course-mooc__lesson--locked{opacity:.88;cursor:not-allowed}.training-course-mooc__lesson--locked:hover{transform:none}.training-course-mooc__lesson-cta.is-locked{background:color-mix(in srgb,#f59e0b 22%,transparent);color:#b45309}.training-course-mooc__lesson:hover .training-course-mooc__lesson-cta.is-locked{background:color-mix(in srgb,#f59e0b 28%,transparent);color:#b45309}.training-course-mooc__cat.is-locked{opacity:.72;border-style:dashed}.training-course-mooc__empty--locked{color:#ffb74d;line-height:1.5}.training-course-mooc__empty{margin:0;padding:16px 8px;text-align:center;font-size:.82rem;color:var(--home-text-muted)}.home-lower-course .training-course-panel--expanded{min-width:0}.home-lower-course .panel-title-toggle:hover .panel-title{color:var(--theme-primary)}.home-lower-course .panel-title-chevron{color:color-mix(in srgb,var(--theme-primary) 75%,var(--home-text-muted))}.home-lower-course .training-course-mooc__cat.is-active{color:var(--theme-primary-text);background:var(--sidebar-surface-accent);border-color:var(--sidebar-surface-accent-border)}.home-lower-course .training-course-mooc__cat.is-empty,.home-lower-course .training-course-mooc__cat:disabled{opacity:.55}.home-lower-course .training-course-mooc__lesson{width:100%;background:var(--sidebar-surface);border-color:var(--sidebar-surface-accent-border)}.home-lower-course .training-course-mooc__pager-nav{background:var(--sidebar-surface);border-color:var(--sidebar-surface-accent-border);color:var(--theme-primary-text)}.home-lower-course .training-course-mooc__pager-nav:hover:not(:disabled){background:color-mix(in srgb,var(--theme-primary) 12%,var(--sidebar-surface))}.home-lower-course .training-course-mooc__lesson:hover{background:color-mix(in srgb,var(--theme-primary) 10%,var(--sidebar-surface));border-color:var(--sidebar-surface-accent-border)}.home-lower-course .training-course-mooc__lesson-cta{background:var(--sidebar-surface-accent);color:var(--theme-primary-text);border:1px solid var(--sidebar-surface-accent-border)}.home-lower-course .training-course-mooc__lesson:hover .training-course-mooc__lesson-cta{background:var(--theme-primary);color:var(--theme-primary-text);border-color:transparent}.training-course-panel--collapsed{padding-bottom:16px}.training-course-collapsed-hint{margin:10px 0 0;font-size:.78rem;color:var(--home-text-muted, rgba(255, 255, 255, .55));text-align:center}.home-course-card .panel-title-toggle{margin-bottom:0}.home-course-card .training-course-panel--expanded .panel-title-toggle{margin-bottom:20px}.home-course-card .panel-title{text-align:left}.home-lower-course .panel-title-toggle{margin-bottom:0}.home-lower-course .training-course-panel--expanded .panel-title-toggle{margin-bottom:var(--ui-gap-md)}.home-lower-course .training-course-collapsed-hint{letter-spacing:.04em}.home-lower-course--compact-panel{width:100%;min-height:0;flex:1 1 auto;display:flex;flex-direction:column;overflow:hidden;border:none;background:transparent;box-shadow:none;padding:0}@media (max-width: 900px){.home-lower-course--compact-panel{overflow:visible;min-height:min(52vh,520px);height:auto}.home-lower-course--compact-panel .training-course-sidebar--featured,.home-lower-course--compact-panel .training-course-sidebar--catalog,.home-lower-course--compact-panel .training-course-sidebar--compact{overflow:visible;height:auto;min-height:0}.home-lower-course--compact-panel .training-course-panel--catalog,.home-lower-course--compact-panel .training-course-panel--featured,.home-lower-course--compact-panel .training-course-panel--compact,.home-lower-course--compact-panel .training-course-panel__courses{overflow:visible;height:auto;max-height:none}}.home-lower-course--compact-panel.home-course-card{background:transparent}.training-course-sidebar--compact{display:flex;flex-direction:column;gap:var(--ui-gap-lg);flex:1 1 auto;min-height:0;width:100%;overflow:hidden}.training-course-sidebar--compact .training-course-panel--compact{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;padding:clamp(14px,10px + .8vw,22px) clamp(14px,10px + 1vw,24px);border-radius:var(--ui-radius-lg);border:1px solid color-mix(in srgb,var(--theme-primary) 26%,var(--home-card-border));background:linear-gradient(168deg,var(--home-card) 0%,color-mix(in srgb,var(--theme-primary) 5%,var(--home-card)) 55%,var(--home-card) 100%);box-shadow:0 0 0 1px color-mix(in srgb,var(--theme-primary) 9%,transparent) inset,0 18px 52px #0f172a1a,0 0 88px color-mix(in srgb,var(--theme-primary) 7%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.training-course-sidebar--compact .panel-title-static{flex:0 0 auto;margin-bottom:var(--ui-gap-lg);padding-bottom:var(--ui-gap-md);border-bottom:1px solid color-mix(in srgb,var(--theme-primary) 22%,var(--home-card-border))}.training-course-sidebar--compact .panel-title-static .panel-title{font-size:var(--ui-text-lg);font-weight:800;letter-spacing:var(--ui-label-tracking);color:var(--home-text)}.training-course-sidebar--compact .training-course-panel__courses{flex:1 1 auto;min-height:0;overflow-x:clip;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:4px}.training-course-sidebar--compact .training-booking-card{flex:0 0 auto;border-radius:var(--ui-radius-md)}.training-course-sidebar--compact .training-course-mooc{gap:var(--ui-gap-lg)}.training-course-sidebar--compact .training-course-mooc__nav-label{color:color-mix(in srgb,var(--theme-primary) 65%,var(--home-text-muted))}.training-course-sidebar--compact .training-course-mooc__cats{grid-template-columns:repeat(auto-fill,minmax(clamp(108px,22vw,160px),1fr))}.training-course-sidebar--compact .training-course-mooc__lessons{grid-template-columns:repeat(auto-fill,minmax(clamp(132px,24vw,220px),1fr));gap:var(--ui-gap-md)}.training-course-sidebar--compact .training-course-mooc__lesson{padding:var(--ui-gap-md);gap:var(--ui-gap-sm);border-radius:var(--ui-radius-md)}.training-course-sidebar--compact .training-booking-card .booking-poster{min-height:0;border-radius:var(--ui-radius-md)}@media (max-width: 1366px){.training-course-sidebar--compact .booking-poster,.training-course-sidebar--compact .training-booking-card .booking-poster{min-height:0}.training-course-sidebar--compact .booking-poster__hero{flex:0 0 auto;min-height:0;justify-content:center;padding:10px 12px}.training-course-sidebar--compact .booking-poster__hero-inner{display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:2px;align-items:center;width:100%}.training-course-sidebar--compact .booking-poster__badge{grid-column:1 / -1;margin-bottom:2px;padding:2px 8px;font-size:var(--ui-text-xs)}.training-course-sidebar--compact .booking-poster__icon{grid-column:1;grid-row:2 / span 2;align-self:center;width:2.1rem;height:2.1rem;margin:0}.training-course-sidebar--compact .booking-poster__title{grid-column:2;grid-row:2;margin:0;font-size:var(--ui-text-md);line-height:1.2}.training-course-sidebar--compact .booking-poster__subtitle{grid-column:2;grid-row:3;margin:0;font-size:var(--ui-text-xs);line-height:1.35;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.training-course-sidebar--compact .booking-poster__glow,.training-course-sidebar--compact .booking-poster__shine{opacity:.55}.training-course-sidebar--compact .booking-poster__footer{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;padding:8px 12px}.training-course-sidebar--compact .booking-poster__cta{padding:5px 10px;font-size:var(--ui-text-sm)}.training-course-sidebar--compact .booking-poster__pill{font-size:var(--ui-text-xs);padding:2px 6px}}.levels-list{display:flex;flex-direction:column;gap:15px;max-height:500px;overflow-y:auto;padding-right:10px}.levels-list::-webkit-scrollbar{width:6px}.levels-list::-webkit-scrollbar-track{background:#6496ff1a;border-radius:3px}.levels-list::-webkit-scrollbar-thumb{background:#6496ff4d;border-radius:3px}.levels-list::-webkit-scrollbar-thumb:hover{background:#6496ff80}.level-item{display:flex;align-items:center;gap:15px;padding:15px;background:#6496ff0d;border:1px solid rgba(100,150,255,.2);border-radius:12px;cursor:pointer;transition:all .3s ease;position:relative}.level-item:hover{background:#6496ff26;border-color:#6496ff66;transform:translate(5px);box-shadow:0 4px 15px #6496ff33}.planet-icon{font-size:32px;filter:drop-shadow(0 0 8px currentColor)}.rocket-icon{font-size:20px;position:absolute;left:45px;top:50%;transform:translateY(-50%);animation:float 2s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(-50%) translate(0)}50%{transform:translateY(-50%) translate(5px)}}.level-name{font-size:16px;font-weight:600;color:#fff;flex:1}.scroll-indicator{text-align:center;color:#6496ff99;font-size:20px;padding:10px;animation:bounce 1.5s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}.training-course-category{border-radius:8px;border:1px solid rgba(100,150,255,.2);overflow:hidden;background:#ffffff0a}.training-course-category__head{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:none;background:transparent;color:inherit;cursor:pointer;text-align:left;font-size:.85rem;font-weight:600}.training-course-category__bar{width:4px;height:1.1em;border-radius:2px;background:var(--cat-color, #64b5f6);flex-shrink:0}.training-course-category__name{flex:1;min-width:0}.training-course-category__chev{font-size:1rem;font-weight:700;opacity:.7}.training-course-category__body{padding:4px 8px 10px;display:flex;flex-direction:column;gap:8px}.training-course-category__body .planet-icon{font-size:.65rem;line-height:1;display:flex;align-items:center;justify-content:center}.home-lower-course--video-focus{display:flex;flex-direction:column;min-height:0}.training-course-sidebar--featured,.training-course-sidebar--catalog{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.training-course-panel--catalog,.training-course-sidebar--featured .training-course-panel--featured,.training-course-sidebar--compact.training-course-sidebar--catalog .training-course-panel--catalog{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:1.25rem;background:#f6f9ff;border:none;border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.training-course-sidebar--catalog .panel-title-static .panel-title,.training-course-sidebar--featured .panel-title-static .panel-title{color:#0f172a}.training-course-sidebar--featured .panel-title-static,.training-course-sidebar--catalog .panel-title-static{display:flex;align-items:center;margin-bottom:.75rem;flex:0 0 auto}.training-course-sidebar--featured .panel-title-static .panel-title,.training-course-sidebar--catalog .panel-title-static .panel-title{font-size:1rem;font-weight:700;letter-spacing:0}.training-course-sidebar--featured .training-course-panel__courses,.training-course-sidebar--catalog .training-course-panel__courses{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.training-course-mooc--catalog{gap:1rem}.training-course-mooc--catalog .training-course-mooc__empty{color:#64748b;margin:.5rem 0}.training-course-filter-tray{display:flex;flex-direction:column;gap:clamp(.65rem,.4rem + .8vw,1rem);width:100%;margin-bottom:.25rem;padding:clamp(.75rem,.5rem + 1vw,1.25rem) clamp(.85rem,.6rem + 1.2vw,1.5rem);border-radius:.75rem;border:1px solid #e1e4f7;background:#fff;box-sizing:border-box}.training-course-filter-tray__search{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.training-course-filter-tray__search-field{display:inline-flex;align-items:center;gap:.4rem;flex:1 1 12rem;width:auto;min-width:min(100%,10rem);max-width:22rem;min-height:32px;padding:0 .75rem;border:1px solid #d9d9d9;border-radius:20px;background:#fff;box-sizing:border-box}.training-course-filter-tray__search-field:focus-within{border-color:#4d78ff;box-shadow:0 0 0 2px #4d78ff1f}.training-course-filter-tray__search-icon{color:#bdbdbd;font-size:.95rem;line-height:1}.training-course-filter-tray__search-field input{flex:1 1 auto;min-width:0;border:none;outline:none;background:transparent;font:inherit;font-size:.875rem;color:#1e293b}.training-course-filter-tray__search-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;font-family:inherit;font-size:.875rem;font-weight:600;color:#fff;background:#4d78ff;border-radius:999px;padding:.35rem 1rem;min-height:32px}.training-course-filter-tray__search-btn:hover{background:#3f6af0}.training-course-filter-tray__row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.training-course-filter-tray__label{font-size:.92rem;font-weight:600;color:#0f172a;line-height:1.4;margin-right:.25rem;flex:0 0 auto}.training-course-mooc__pills{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0}.training-course-mooc__pill{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;font-family:inherit;line-height:1.2;padding:.25rem .15rem;border-radius:999px;color:#000;background:#e3eeff;transition:background .15s ease,color .15s ease}.training-course-mooc__pill-text{display:inline-block;padding:0 .5rem;font-size:.875rem;font-weight:600}.training-course-mooc__pill:hover:not(.is-active){background:color-mix(in srgb,#4d78ff 16%,#e3eeff)}.training-course-mooc__pill.is-active{color:#fff;background:#4d78ff}.training-course-mooc__pill.is-active .training-course-mooc__pill-text{color:#fff}.training-course-catalog{display:flex;flex-direction:column;gap:1rem;min-width:0;container-type:inline-size;container-name:course-catalog}.training-course-catalog__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,10.5rem),1fr));gap:.65rem;min-width:0;padding:.25rem;box-sizing:border-box;align-items:stretch}@media (min-width: 901px){.training-course-catalog__grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:clamp(.75rem,.5rem + 1vw,1.5rem);padding:.35rem}}.training-course-card{width:100%;max-width:100%;max-height:none;min-width:0;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;border:none;border-radius:.5rem;background:#fff;box-shadow:0 4px 12px #0f172a14;cursor:pointer;color:inherit;font-family:inherit;text-align:left;transition:transform .18s ease,box-shadow .18s ease}.training-course-card:hover{transform:scale(1.03);box-shadow:0 10px 24px #0f172a24}.training-course-card:focus-visible{outline:2px solid #4d78ff;outline-offset:2px}.training-course-card--locked{opacity:.92}.training-course-card__cover-img{display:block;width:100%;aspect-ratio:16 / 9;max-height:8.5rem;object-fit:cover;background:#dbe7ff}.training-course-card__cover-img--placeholder{flex:0 0 auto}@media (max-width: 900px){.training-course-catalog__grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,9.5rem),1fr));gap:.5rem}.training-course-card__cover-img{aspect-ratio:16 / 9;max-height:5.5rem}.training-course-card__body{padding:0 .5rem;gap:.35rem}.training-course-card__title{padding-top:.45rem;font-size:.78rem;min-height:0}.training-course-card__footer{padding-bottom:.55rem}}@media (max-height: 560px),(orientation: landscape) and (max-height: 640px){.training-course-card__cover-img{max-height:4.25rem}}.training-course-card__body{display:flex;flex:1 1 auto;flex-direction:column;justify-content:space-between;gap:.5rem;min-width:0;padding:0 clamp(.65rem,.5rem + .6vw,1rem)}.training-course-card__title{padding-top:.75rem;font-size:clamp(.82rem,.76rem + .25vw,.95rem);font-weight:600;line-height:1.3;color:#0f172a;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5rem}.training-course-card__tags{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.training-course-card__badge{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:.375rem;font-size:.75rem;font-weight:500;color:#fff;background:#22c55e}.training-course-card__tag{display:inline-flex;align-items:center;padding:.1rem .45rem;border-radius:4px;font-size:.875rem;font-weight:500;line-height:1.4}.training-course-card__tag--cat{color:#1677ff;background:#e6f4ff}.training-course-card__tag--level{color:#389e0d;background:#f6ffed}.training-course-card__tag--locked{color:#d46b08;background:#fff7e6}.training-course-card__footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-bottom:1rem}.training-course-card__diff{display:inline-flex;align-items:center;margin-top:.25rem;font-size:.875rem;color:#6b7280;white-space:nowrap}.training-course-card__stars{display:inline-flex;align-items:center;margin-left:.15rem}.training-course-card__star{color:#ffca20;font-size:.95rem;line-height:1}.training-course-card__action{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:#4d78ff;font-family:inherit;font-size:.8125rem;font-weight:500;cursor:pointer;padding:.15rem .25rem;white-space:nowrap}.training-course-card__action:hover{color:#3f6af0;text-decoration:underline}.training-course-catalog__pager{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.75rem;padding:0 .5rem .25rem}.training-course-catalog__total{margin-right:auto;font-size:.875rem;color:#64748b}.training-course-catalog__pager .training-course-mooc__lessons-page{margin:0;color:#64748b}.training-course-sidebar--featured .training-booking-card,.training-course-sidebar--catalog .training-booking-card{flex:0 0 auto;margin-top:.75rem}.home-page--cyber .home-lower-course--compact-panel .training-booking-card,.home-lower-course--compact-panel .training-booking-card{flex:0 0 auto!important;margin-top:.45rem;max-height:52px}.home-page--cyber .home-lower-course--compact-panel .training-booking-card .booking-poster,.home-lower-course--compact-panel .training-booking-card .booking-poster,.home-lower-course--compact-panel .training-course-sidebar--featured .booking-poster,.home-lower-course--compact-panel .training-course-sidebar--catalog .booking-poster{display:flex!important;flex-direction:row!important;align-items:center!important;gap:.65rem;min-height:0!important;height:48px!important;max-height:48px!important;padding:0 .75rem 0 .85rem;border-radius:var(--ui-radius-md, 10px);box-sizing:border-box}.home-lower-course--compact-panel .booking-poster:hover{transform:translateY(-1px) scale(1)}.home-lower-course--compact-panel .booking-poster__hero{flex:1 1 auto!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;min-height:0!important;height:100%!important;padding:0!important;background:transparent!important}.home-lower-course--compact-panel .booking-poster__hero:after,.home-lower-course--compact-panel .booking-poster__glow,.home-lower-course--compact-panel .booking-poster__shine,.home-lower-course--compact-panel .booking-poster__badge,.home-lower-course--compact-panel .booking-poster__icon,.home-lower-course--compact-panel .booking-poster__subtitle,.home-lower-course--compact-panel .booking-poster__img,.home-lower-course--compact-panel .booking-poster__pill{display:none!important}.home-lower-course--compact-panel .booking-poster__hero-inner{display:flex!important;flex-direction:row!important;align-items:center!important;width:auto;min-width:0;gap:0}.home-lower-course--compact-panel .booking-poster__title{margin:0!important;font-size:.92rem!important;font-weight:700;line-height:1.2!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-lower-course--compact-panel .booking-poster__footer{flex:0 0 auto!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:0!important;margin:0!important;padding:0!important;border-top:none!important;background:transparent!important;height:100%}.home-lower-course--compact-panel .booking-poster__cta{padding:.28rem .7rem!important;font-size:.78rem!important;white-space:nowrap;border-radius:999px}.home-page--cyber .home-lower-course--compact-panel .booking-poster__title{font-size:.92rem!important}.home-lower-course--compact-panel .training-course-sidebar--featured,.home-lower-course--compact-panel .training-course-sidebar--catalog{gap:clamp(.35rem,.2rem + .4vw,.65rem)}.home-lower-course--compact-panel .training-course-panel--catalog,.home-lower-course--compact-panel .training-course-sidebar--featured .training-course-panel--featured{padding:clamp(.55rem,.35rem + .6vw,1rem)}.home-lower-course--compact-panel .training-course-sidebar--catalog .panel-title-static,.home-lower-course--compact-panel .training-course-sidebar--featured .panel-title-static{margin-bottom:clamp(.35rem,.2rem + .4vw,.55rem)}.home-lower-course--compact-panel .training-course-mooc--catalog{gap:clamp(.4rem,.25rem + .45vw,.75rem)}.home-lower-course--compact-panel .training-course-filter-tray{gap:clamp(.35rem,.2rem + .4vw,.65rem);margin-bottom:0;padding:clamp(.45rem,.3rem + .55vw,.85rem) clamp(.55rem,.35rem + .7vw,1rem)}.home-lower-course--compact-panel .training-course-filter-tray__search{gap:clamp(.35rem,.25rem + .4vw,.55rem)}.home-lower-course--compact-panel .training-course-filter-tray__row{gap:clamp(.3rem,.2rem + .35vw,.5rem)}.home-lower-course--compact-panel .training-course-catalog__grid{gap:clamp(.4rem,.25rem + .55vw,.85rem);padding:.15rem}.home-lower-course--compact-panel .training-booking-card{margin-top:clamp(.25rem,.15rem + .3vw,.4rem)}@media (max-width: 1100px),(max-height: 820px){.home-lower-course--compact-panel .training-course-filter-tray{gap:.3rem;padding:.4rem .55rem}.home-lower-course--compact-panel .training-course-catalog__grid{gap:.4rem;padding:.1rem}.home-lower-course--compact-panel .training-course-panel--catalog,.home-lower-course--compact-panel .training-course-sidebar--featured .training-course-panel--featured{padding:.5rem}}@media (max-width: 900px){.training-course-sidebar--featured .panel-title-static .panel-title,.training-course-sidebar--catalog .panel-title-static .panel-title,.home-lower-course--compact-panel .training-course-sidebar--catalog .panel-title-static .panel-title{font-size:.92rem}.training-course-filter-tray,.home-lower-course--compact-panel .training-course-filter-tray{gap:.35rem;padding:.45rem .55rem}.training-course-filter-tray__label{width:auto;font-size:.78rem}.training-course-filter-tray__search-field{min-height:1.7rem;padding:0 .55rem;max-width:none;flex:1 1 8rem}.training-course-filter-tray__search-field input{font-size:.78rem}.training-course-filter-tray__search-btn{min-height:1.7rem;padding:.2rem .7rem;font-size:.74rem}.training-course-mooc__pill-text{font-size:.74rem;padding:0 .4rem}.training-course-panel--catalog,.training-course-sidebar--featured .training-course-panel--featured{padding:.55rem}}@media (max-width: 760px){.training-course-filter-tray__search-field{flex:1 1 100%}.training-course-catalog__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}}@media (max-height: 560px),(orientation: landscape) and (max-height: 640px){.training-course-sidebar--featured .panel-title-static,.training-course-sidebar--catalog .panel-title-static{margin-bottom:.35rem}.training-course-sidebar--featured .panel-title-static .panel-title,.training-course-sidebar--catalog .panel-title-static .panel-title{font-size:.82rem}.training-course-filter-tray,.home-lower-course--compact-panel .training-course-filter-tray{gap:.25rem;padding:.3rem .4rem}.training-course-filter-tray__label{font-size:.7rem}.training-course-filter-tray__search-field{min-height:1.45rem}.training-course-filter-tray__search-field input,.training-course-filter-tray__search-btn,.training-course-mooc__pill-text{font-size:.68rem}.training-course-filter-tray__search-btn{min-height:1.45rem;padding:.15rem .55rem}.training-course-panel--catalog,.training-course-sidebar--featured .training-course-panel--featured,.home-lower-course--compact-panel .training-course-panel--catalog{padding:.35rem}.home-lower-course--compact-panel{min-height:0}}@container course-catalog (max-width: 560px){.training-course-catalog__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}}@container course-catalog (max-width: 360px){.training-course-catalog__grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.training-course-card{transition:none}.training-course-card:hover{transform:none}}.training-modules-panel{position:relative;background:linear-gradient(160deg,#1a234299,#0f162dbf);border:1px solid rgba(100,181,246,.3);border-radius:20px;padding:32px;box-shadow:0 8px 32px #00000040;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.training-modules-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(100,181,246,.45),transparent);pointer-events:none;z-index:1}.home-page .training-modules-panel{background:var(--home-card);border:1px solid var(--home-card-border);border-radius:20px;padding:32px 36px;box-shadow:0 4px 20px #00000014}.home-page .training-modules-panel--split{padding:0;overflow:hidden}.home-page .training-modules-panel:before{background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--theme-primary) 25%,transparent) 50%,transparent 100%);opacity:.65}.welcome-title{font-size:1.6rem;font-weight:700;color:#90caf9;margin-bottom:28px;text-align:center;letter-spacing:-.02em;text-shadow:0 0 20px rgba(100,181,246,.4)}.home-page .welcome-title{font-size:1.35rem;font-weight:700;letter-spacing:.04em;color:var(--home-text, #f1f5f9);margin-bottom:22px;text-shadow:none}.modules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:28px}.home-page .modules-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px;margin-bottom:28px}.module-card{background:linear-gradient(165deg,#141c34e6,#0c1226f2);border:1px solid rgba(100,181,246,.25);border-radius:16px;padding:24px;transition:all .3s ease;box-shadow:0 4px 20px #00000026;position:relative;overflow:hidden;cursor:pointer}.home-page .module-card{background:var(--home-card);border:1px solid var(--home-card-border);border-radius:18px;padding:32px 28px;box-shadow:0 4px 16px #0000000f;cursor:pointer}.module-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(100,181,246,.5),transparent);opacity:0;transition:opacity .3s ease}.home-page .module-card:before{background:linear-gradient(90deg,transparent,rgba(1,161,142,.55),rgba(34,211,238,.45),transparent)}.module-card:hover{border-color:#64b5f680;transform:translateY(-4px);box-shadow:0 12px 32px #64b5f626}.home-page .module-card:hover{border-color:color-mix(in srgb,var(--theme-primary) 45%,var(--home-card-border));transform:translateY(-2px);box-shadow:0 10px 28px #0000001a}.module-card:hover:before,.home-page .module-card:hover:before{opacity:1}.module-card--locked{opacity:.72;cursor:not-allowed}.module-card--locked:hover,.home-page .module-card--locked:hover{transform:none;box-shadow:inherit}.module-lock-badge{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:700;color:#fff;background:#78909cd9}.module-lock-hint{margin:0;font-size:.82rem;line-height:1.45;color:var(--home-text-muted, #94a3b8);text-align:center}.module-header{margin-bottom:18px}.home-page .module-header{margin-bottom:22px}.module-title{font-size:1.15rem;font-weight:700;color:#ffd54f;text-align:center;margin:0;letter-spacing:-.01em}.home-page .module-title{font-size:1.35rem;color:var(--home-text, #f1f5f9)}.module-content{display:flex;flex-direction:column;align-items:center;gap:14px}.home-page .module-content{gap:18px}.book-icon{font-size:3.2rem;filter:drop-shadow(0 0 12px rgba(100,181,246,.5));animation:float-book 3s ease-in-out infinite}.home-page .book-icon{font-size:3.25rem;filter:none;animation:none}@keyframes float-book{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(4deg)}}.progress-info{display:flex;align-items:center;gap:8px;font-size:1rem;color:#ffd54f;font-weight:600}.home-page .progress-info{color:var(--theme-primary-text, var(--theme-primary))}.star-icon{font-size:1.25rem;filter:drop-shadow(0 0 6px rgba(255,213,79,.7));animation:twinkle-star 2s ease-in-out infinite}@keyframes twinkle-star{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.08)}}.progress-text{font-weight:600}.progress-bar-container{width:100%;height:8px;background:#64b5f626;border-radius:6px;overflow:hidden;margin:4px 0}.home-page .progress-bar-container{height:10px;background:#01a18e33;border-radius:8px}.progress-bar{height:100%;background:linear-gradient(90deg,#64b5f6,#42a5f5);border-radius:6px;transition:width .5s ease;box-shadow:0 0 12px #64b5f680}.home-page .progress-bar{background:linear-gradient(90deg,var(--theme-primary) 0%,var(--theme-primary-hover) 100%);border-radius:8px;box-shadow:none}.go-button{padding:var(--ui-btn-pad-y-lg) var(--ui-btn-pad-x-lg);background:linear-gradient(135deg,#64b5f6,#42a5f5);border:none;border-radius:var(--ui-radius-md);color:#fff;font-size:var(--ui-btn-font);font-weight:600;min-height:var(--ui-btn-min-h);cursor:pointer;transition:all .25s ease;box-shadow:0 4px 16px #64b5f659;width:100%}.home-page .go-button{padding:var(--ui-btn-pad-y-lg) var(--ui-btn-pad-x-lg);font-size:var(--ui-text-md);background:var(--user-accent);color:var(--home-text-on-bg, #f0fdfa);border-radius:var(--ui-radius-md);border:none;box-shadow:0 4px 20px #0003,0 0 20px #22d3ee1a}.go-button:hover{transform:translateY(-2px);box-shadow:0 6px 24px #64b5f680;background:linear-gradient(135deg,#42a5f5,#1e88e5)}.home-page .go-button:hover{background:var(--user-accent-hover);box-shadow:0 6px 24px #0000004d}.go-button:active{transform:translateY(0)}.overall-progress{display:flex;align-items:center;gap:16px;margin-top:28px;padding:20px 24px;background:#64b5f60f;border:1px solid rgba(100,181,246,.2);border-radius:14px}.home-page .overall-progress{background:#01a18e1a;border:1px solid rgba(1,161,142,.25);border-radius:14px;box-shadow:inset 0 0 18px #22d3ee0a}.home-page .progress-track{background:#01a18e33}.home-page .progress-fill{background:linear-gradient(90deg,var(--theme-primary) 0%,var(--theme-primary-hover) 100%);box-shadow:0 0 12px #22d3ee59}.progress-start,.progress-end{font-size:1.5rem;filter:drop-shadow(0 0 8px rgba(255,213,79,.7))}.progress-track{flex:1;height:12px;background:#64b5f633;border-radius:8px;overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,#ffd54f,#ffb300);border-radius:8px;transition:width .5s ease;box-shadow:0 0 16px #ffd54f80}.training-modules-panel.layout-list{background:var(--home-card, #1e293b);border:1px solid var(--home-card-border, rgba(51, 65, 85, .6));border-radius:14px;padding:24px;box-shadow:0 4px 20px #0003}.layout-list .section-heading{font-size:1.25rem;font-weight:700;color:var(--home-text, #f1f5f9);margin-bottom:20px;text-align:left;letter-spacing:-.02em}.modules-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.module-row{display:flex;align-items:center;gap:16px;padding:14px 18px;background:#0f172a99;border:1px solid rgba(51,65,85,.5);border-radius:10px;cursor:pointer;transition:background .2s ease,border-color .2s ease}.module-row:hover{background:#1e293bcc;border-color:#10b98159}.module-row-left{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.module-row-name{font-size:1rem;font-weight:600;color:var(--home-text, #f1f5f9)}.module-row-count{font-size:.85rem;color:var(--home-text-muted, #94a3b8)}.module-row-progress-wrap{width:120px;height:6px;background:#334155cc;border-radius:4px;overflow:hidden;flex-shrink:0}.module-row-progress{height:100%;background:linear-gradient(90deg,var(--theme-primary) 0%,var(--theme-primary-hover) 100%);border-radius:4px;transition:width .4s ease}.module-row-btn{padding:8px 18px;background:var(--user-accent);border:none;border-radius:8px;color:var(--home-text-on-bg, #f0fdfa);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s ease,transform .15s ease;flex-shrink:0}.module-row-btn:hover{background:var(--user-accent-hover);transform:scale(1.02)}.overall-progress-slim{margin-top:16px;padding:12px 16px;background:#01a18e1a;border:1px solid rgba(1,161,142,.22);border-radius:10px}.overall-progress-slim .progress-track{height:8px;background:#01a18e33}.overall-progress-slim .progress-fill{background:linear-gradient(90deg,var(--theme-primary) 0%,var(--theme-primary-hover) 100%);box-shadow:none}.overall-progress-slim .progress-start,.overall-progress-slim .progress-end{font-size:1.1rem}.total-stars-summary{text-align:center;margin-top:14px;font-size:.98rem;color:var(--home-text-muted, #94a3b8)}.total-stars-summary strong{color:#fbbf24;font-size:1.1rem}.module-row-stars{margin-left:6px;font-size:.88em;color:#fbbf24;white-space:nowrap}.module-card-stars{color:#fbbf24;font-weight:600}@keyframes training-tier-tab-glow{0%,to{box-shadow:0 0 14px #22d3ee47,inset 0 1px #ffffff24}50%{box-shadow:0 0 22px #22d3ee6b,inset 0 1px #ffffff2e}}.training-tier-nav-wrap{margin:0 0 18px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(34,211,238,.35) rgba(15,23,42,.5)}.training-tier-nav-wrap--list{margin-bottom:14px}.training-tier-nav{display:inline-flex;align-items:stretch;gap:3px;padding:4px;border-radius:11px;background:linear-gradient(165deg,#0c1428eb,#080e20f5);border:1px solid rgba(100,181,246,.28);white-space:nowrap;box-shadow:inset 0 1px #ffffff0d,0 4px 16px #00000040}.home-page .training-tier-nav-wrap{padding:0;border-radius:10px;background:transparent;box-shadow:none}.home-page .training-tier-nav{gap:4px;padding:4px;border-radius:10px;border:1px solid var(--home-card-border);background:color-mix(in srgb,var(--home-text) 4%,var(--home-card));box-shadow:none}.training-tier-nav-item{flex:0 0 auto;margin:0;padding:var(--ui-btn-pad-y) var(--ui-btn-pad-x);min-height:var(--ui-btn-min-h-sm);border:1px solid transparent;border-radius:var(--ui-radius-sm);background:transparent;color:#bae6fde0;font-size:var(--ui-text-sm);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:var(--ui-label-tracking);cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease,border-color .2s ease,transform .15s ease;line-height:1.2}.home-page .training-tier-nav-item{color:var(--home-text-muted)}.training-tier-nav-item:hover{background:#38bdf81f;color:#f0f9ff;border-color:#38bdf838;box-shadow:0 0 12px #38bdf81f}.home-page .training-tier-nav-item:hover{background:var(--theme-primary-muted);color:var(--home-text);border-color:transparent;box-shadow:none}.training-tier-nav-item.is-active{background:linear-gradient(145deg,#38bdf859,#2563eb8c);color:#fff;border-color:#a5f3fc59;box-shadow:0 0 16px #38bdf84d,inset 0 1px #ffffff1f}.home-page .training-tier-nav-item.is-active{background:var(--theme-primary);color:var(--home-text-on-bg);border-color:transparent;box-shadow:none}.training-tier-nav-item.is-empty:not(.is-active){opacity:.58}.training-tier-nav-item.is-locked{opacity:.42;cursor:not-allowed}.training-tier-nav-item.is-locked:hover{transform:none}.training-tier-empty-msg{text-align:center;padding:20px 12px;color:#ffffffa6;font-size:.92rem;line-height:1.5;margin-bottom:8px}.home-page .training-tier-empty-msg{color:var(--home-text-muted, #94a3b8)}.split-shell{display:grid;grid-template-columns:minmax(112px,172px) minmax(0,1fr);min-height:0;height:100%}.split-rail{padding:14px 12px;border-right:1px solid var(--home-card-border);background:color-mix(in srgb,var(--home-text) 2.5%,var(--home-card));min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.split-rail-title{margin:0 0 10px;font-size:.95rem;font-weight:700;color:var(--home-text, #0f172a);letter-spacing:.08em}.training-tier-nav--rail{display:flex;flex-direction:column;gap:5px;align-items:stretch;box-sizing:border-box}.training-tier-nav--rail .training-tier-nav-item{width:100%;justify-content:center;font-size:.78rem;padding:8px 6px}.split-body{padding:clamp(12px,8px + .8vw,20px) clamp(12px,10px + .6vw,18px);min-width:0;container-type:inline-size;container-name:train-modules}.split-hint{margin:0 0 14px;font-size:.8125rem;line-height:1.5;color:var(--home-text-muted)}.home-page .training-modules-panel--split .modules-grid{margin-bottom:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.65rem,.4rem + 1vw,1.5rem)}.home-page .training-modules-panel--split .overall-progress{margin-top:8px}.home-page .training-modules-panel--split .module-card{padding:14px 12px 12px;border-radius:12px}.home-page .training-modules-panel--split .module-header{margin-bottom:6px}.home-page .training-modules-panel--split .module-title{font-size:var(--ui-text-md);line-height:1.25}.home-page .training-modules-panel--split .module-content{gap:6px}.home-page .training-modules-panel--split .book-icon{font-size:clamp(1.35rem,1.1rem + 1vw,1.85rem);line-height:1}.home-page .training-modules-panel--split .progress-info{font-size:var(--ui-text-sm);gap:4px}.home-page .training-modules-panel--split .star-icon{font-size:.9rem;animation:none}.home-page .training-modules-panel--split .module-card-stars{font-size:.72rem}.home-page .training-modules-panel--split .progress-bar-container{height:5px;margin:0;border-radius:4px}.home-page .training-modules-panel--split .go-button{width:auto;align-self:center;min-width:clamp(3.5rem,3rem + 2vw,5rem);margin-top:2px;padding:var(--ui-btn-pad-y) var(--ui-btn-pad-x-lg);font-size:var(--ui-btn-font-sm);font-weight:700;border-radius:var(--ui-radius-sm);box-shadow:0 2px 8px color-mix(in srgb,var(--theme-primary) 22%,transparent)}.home-page .training-modules-panel--split .module-lock-hint{font-size:var(--ui-text-xs);margin:0}.home-page .training-modules-panel--split .split-body .training-tier-empty-msg{text-align:left}@media (max-width: 720px){.split-shell{grid-template-columns:1fr}.split-rail{border-right:none;border-bottom:1px solid var(--home-card-border)}.training-tier-nav--rail{flex-direction:row;flex-wrap:nowrap;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}.training-tier-nav--rail .training-tier-nav-item{flex:0 0 auto;min-width:4.25rem;width:auto}.home-page .training-tier-nav--rail .training-tier-nav-item{justify-content:center;padding:8px 12px;letter-spacing:.08em}.split-body .training-tier-empty-msg{text-align:center}}.home-page .home-lower-train .training-modules-panel{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--theme-primary) 26%,var(--home-card-border));background:linear-gradient(168deg,var(--home-card) 0%,color-mix(in srgb,var(--theme-primary) 5%,var(--home-card)) 55%,var(--home-card) 100%);box-shadow:0 0 0 1px color-mix(in srgb,var(--theme-primary) 9%,transparent) inset,0 18px 52px #0f172a1a,0 0 88px color-mix(in srgb,var(--theme-primary) 7%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}[data-accent=starry] .home-page .home-lower-train .training-modules-panel{border-color:color-mix(in srgb,var(--theme-primary) 35%,rgba(51,65,85,.6));box-shadow:0 0 0 1px #22d3ee14 inset,0 20px 56px #0000006b,0 0 96px #22d3ee0f}.home-page .split-rail{position:relative;padding:18px 12px 20px 16px;overflow:hidden;background:linear-gradient(195deg,color-mix(in srgb,var(--theme-primary) 12%,var(--home-card)),color-mix(in srgb,var(--home-text) 5%,var(--home-card)) 48%,color-mix(in srgb,var(--theme-primary) 8%,var(--home-card)));border-right:1px solid color-mix(in srgb,var(--theme-primary) 35%,var(--home-card-border));box-shadow:inset -12px 0 36px color-mix(in srgb,var(--theme-primary) 8%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--theme-primary) 8%,transparent)}.home-page .split-rail:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,color-mix(in srgb,var(--theme-primary) 95%,transparent),color-mix(in srgb,var(--theme-primary) 35%,transparent) 45%,color-mix(in srgb,var(--theme-primary) 70%,transparent));box-shadow:0 0 14px color-mix(in srgb,var(--theme-primary) 45%,transparent),0 0 28px color-mix(in srgb,var(--theme-primary) 18%,transparent);pointer-events:none;z-index:1}.home-page .split-rail:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(color-mix(in srgb,var(--theme-primary) 12%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--theme-primary) 10%,transparent) 1px,transparent 1px);background-size:14px 14px;opacity:.35;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.15) 70%,transparent 100%);mask-image:linear-gradient(180deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.15) 70%,transparent 100%);pointer-events:none;z-index:0}.home-page .split-rail-title{position:relative;z-index:2;font-family:ui-monospace,Cascadia Code,Segoe UI,system-ui,sans-serif;font-size:.7rem;font-weight:800;letter-spacing:.28em;text-transform:uppercase;color:var(--home-text);margin:0 0 14px;padding:0 4px 12px 8px;border-bottom:1px solid color-mix(in srgb,var(--theme-primary) 45%,transparent);text-shadow:none}[data-accent=starry] .home-page .split-rail-title{color:#f8fafc}.home-page .split-rail-title:after{content:"";position:absolute;left:8px;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--theme-primary) 70%,transparent),transparent 85%)}.home-page .training-tier-nav--rail{position:relative;z-index:2;gap:8px;padding:4px 2px 4px 6px}.home-page .training-tier-nav--rail .training-tier-nav-item{display:flex;justify-content:flex-start;align-items:center;width:100%;padding:var(--ui-btn-pad-y) var(--ui-btn-pad-x);border-radius:var(--ui-radius-sm);border:1px solid color-mix(in srgb,var(--theme-primary) 22%,var(--home-card-border));background:color-mix(in srgb,var(--home-text) 4%,var(--home-card));font-size:var(--ui-text-sm);letter-spacing:var(--ui-label-tracking);color:var(--home-text-muted);transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease}.home-page .training-tier-nav--rail .training-tier-nav-item:hover{border-color:color-mix(in srgb,var(--theme-primary) 48%,transparent);background:color-mix(in srgb,var(--theme-primary) 10%,var(--home-card));color:var(--home-text);box-shadow:0 0 16px color-mix(in srgb,var(--theme-primary) 15%,transparent)}.home-page .training-tier-nav--rail .training-tier-nav-item.is-active{border-color:color-mix(in srgb,var(--theme-primary) 65%,transparent);background:linear-gradient(92deg,color-mix(in srgb,var(--theme-primary) 22%,transparent),color-mix(in srgb,var(--theme-primary) 6%,var(--home-card)) 55%);color:var(--home-text);font-weight:800;box-shadow:0 0 28px color-mix(in srgb,var(--theme-primary) 28%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--theme-primary) 35%,transparent),inset 3px 0 0 0 var(--theme-primary)}.home-page .training-tier-nav--rail .training-tier-nav-item.is-empty:not(.is-active){opacity:.52;border-style:dashed;border-color:color-mix(in srgb,var(--home-text-muted) 35%,var(--home-card-border))}[data-accent=starry] .home-page .split-rail:before{background:linear-gradient(180deg,#22d3eed9,#22d3ee40,#a78bfa73);box-shadow:0 0 18px #22d3ee73,0 0 40px #6366f126}[data-accent=starry] .home-page .training-tier-nav--rail .training-tier-nav-item.is-active{box-shadow:0 0 32px #22d3ee38,inset 0 0 0 1px #22d3ee40,inset 3px 0 #22d3ee;color:#ecfeff}.home-page .split-hint{padding:10px 14px;border-radius:10px;border:1px solid color-mix(in srgb,var(--theme-primary) 18%,var(--home-card-border));background:color-mix(in srgb,var(--theme-primary) 5%,var(--home-card))}@media (prefers-reduced-motion: no-preference){.home-page .split-rail:before{animation:split-rail-edge-pulse 4.5s ease-in-out infinite}}@keyframes split-rail-edge-pulse{0%,to{opacity:1;filter:brightness(1)}50%{opacity:.92;filter:brightness(1.08)}}@media (prefers-reduced-motion: reduce){.home-page .split-rail:before{animation:none}}.modules-grid--six-col,.home-page .modules-grid--six-col{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.65rem,.4rem + 1vw,1.5rem)}.modules-grid--three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.home-page .modules-grid--three-col{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.65rem,.4rem + 1vw,1.5rem)}.module-slider-wrap{position:relative;margin:4px 0 20px;padding:0 clamp(1.75rem,1.25rem + 1.5vw,2.75rem);box-sizing:border-box}.module-slider-stage{min-width:0;width:100%}.module-slide-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:var(--ui-icon-btn);height:var(--ui-icon-btn);padding:0;border-radius:50%;border:1px solid color-mix(in srgb,var(--theme-primary) 55%,transparent);background:color-mix(in srgb,var(--theme-primary) 14%,var(--home-card, #fff));color:var(--theme-primary);font-size:var(--ui-text-xl);line-height:1;cursor:pointer;transition:background .2s ease,box-shadow .2s ease,opacity .2s ease}.module-slide-btn:hover:not(:disabled){background:color-mix(in srgb,var(--theme-primary) 22%,var(--home-card, #fff));box-shadow:0 0 12px color-mix(in srgb,var(--theme-primary) 35%,transparent)}.module-slide-btn:disabled{opacity:.35;cursor:not-allowed}.module-slide-btn--prev{left:0}.module-slide-btn--next{right:0}@media (max-width: 1200px){.home-page .split-body .modules-grid--six-col,.home-page .split-body .modules-grid--three-col{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.module-slider-wrap{padding:0 40px;margin-bottom:14px}}@container train-modules (max-width: 820px){.modules-grid--six-col,.modules-grid--three-col,.home-page .modules-grid--six-col,.home-page .modules-grid--three-col{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.4rem}}@container train-modules (max-width: 420px){.modules-grid--six-col,.modules-grid--three-col,.home-page .modules-grid--six-col,.home-page .modules-grid--three-col{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.3rem}}@media (max-width: 1024px) and (min-width: 901px){.split-shell{grid-template-columns:minmax(96px,140px) minmax(0,1fr)}}@media (max-width: 900px){.split-shell,.home-page .split-shell,.main-content.home-page.home-page--cyber .split-shell{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;width:100%;max-width:100%;min-width:0;height:auto;overflow:visible}.split-rail,.home-page .split-rail,.main-content.home-page.home-page--cyber .split-rail{width:100%!important;max-width:100%;flex:0 0 auto;border-right:none!important;border-bottom:1px solid var(--home-card-border);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.training-tier-nav--rail,.home-page .training-tier-nav--rail,.main-content.home-page.home-page--cyber .training-tier-nav--rail{flex-direction:row!important;flex-wrap:nowrap!important;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}.training-tier-nav--rail .training-tier-nav-item,.home-page .training-tier-nav--rail .training-tier-nav-item{flex:0 0 auto;min-width:4.25rem;width:auto;justify-content:center}.split-body,.home-page .split-body,.main-content.home-page.home-page--cyber .split-body{width:100%;max-width:100%;min-width:0;flex:1 1 auto;padding:14px 12px 16px;overflow:visible;box-sizing:border-box}.home-page .split-hint{margin-bottom:10px;font-size:.75rem}.home-page .training-modules-panel--split,.home-page .home-lower-train .training-modules-panel{width:100%;max-width:100%;min-width:0;overflow:visible!important;box-sizing:border-box}.home-page .split-body .modules-grid,.home-page .split-body .modules-grid--six-col,.home-page .split-body .modules-grid--three-col,.home-page .modules-grid--six-col,.home-page .modules-grid--three-col,.home-page .training-modules-panel--split .modules-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.4rem;width:100%;min-width:0;margin-bottom:.55rem}.home-page .training-modules-panel--split .module-card{width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:.55rem .35rem .5rem;border-radius:.55rem}.home-page .training-modules-panel--split .module-title{font-size:.82rem}.home-page .training-modules-panel--split .progress-info{font-size:.65rem}.home-page .training-modules-panel--split .module-card-stars{font-size:.6rem}.home-page .training-modules-panel--split .go-button{min-width:2.6rem;padding:.28rem .45rem;font-size:.68rem}.home-page .training-modules-panel--split .module-lock-hint{font-size:.55rem;line-height:1.2}.home-page .training-modules-panel--split .overall-progress{flex-wrap:wrap;gap:.45rem;padding:.45rem .55rem;margin-top:.25rem;max-width:100%}.home-page .training-modules-panel--split .total-stars-summary{font-size:.72rem}.module-slider-wrap{padding:0 36px;margin-bottom:10px}.home-page .training-modules-panel--split .module-content{display:flex;flex-direction:column;align-items:center;gap:.3rem;min-width:0}.home-page .training-modules-panel--split .book-icon{font-size:1.1rem}.home-page .training-modules-panel--split .progress-info{justify-content:center;min-width:0}.home-page .training-modules-panel--split .progress-bar-container{min-width:0;max-width:100%;width:100%}.split-body .training-tier-empty-msg{text-align:center}}@media (max-width: 520px){.home-page .training-modules-panel--split .module-card{padding:10px 8px 8px}.home-page .training-modules-panel--split .module-title{font-size:.82rem}.module-slider-wrap{padding:0 28px}}@media (max-width: 640px){.module-slide-btn{width:34px;height:34px;font-size:17px}}.prerace-quiz-panel{--prerace-accent: var(--theme-primary, #01a18e);--prerace-accent-hover: var(--theme-primary-hover, #018f7f);--prerace-accent-glow: rgba(34, 211, 238, .22);--prerace-accent-border: rgba(56, 189, 248, .42);--prerace-text-primary: var(--home-text, #0f172a);--prerace-text-secondary: var(--home-text-muted, #334155);--prerace-text-muted: color-mix(in srgb, var(--home-text-muted, #64748b) 88%, var(--home-text, #0f172a));--prerace-accent-label: var(--theme-primary-text, #01796f);--prerace-answered-bg: color-mix(in srgb, var(--theme-primary) 22%, var(--home-card));--prerace-answered-border: color-mix(in srgb, var(--theme-primary) 55%, transparent);--prerace-answered-text: var(--home-text, #0f172a);--prerace-notice-fg: var(--home-text, #0f172a);--prerace-notice-fg-muted: var(--home-text-muted, #334155);--prerace-notice-rules-fg: #f8fafc;--prerace-notice-rules-fg-muted: #e2e8f0;--prerace-surface-muted: color-mix(in srgb, var(--home-card-border, rgba(1, 161, 142, .22)) 35%, var(--home-card));--prerace-surface-strong: color-mix(in srgb, var(--home-text, #0f172a) 6%, var(--home-card))}[data-accent=starry] .prerace-quiz-panel,[data-accent=starry] .home-page .prerace-quiz-panel{--prerace-text-primary: #f8fafc;--prerace-text-secondary: #e2e8f0;--prerace-text-muted: #cbd5e1;--prerace-accent-label: #bae6fd;--prerace-answered-bg: rgba(1, 161, 142, .38);--prerace-answered-border: rgba(125, 211, 252, .65);--prerace-answered-text: #f0fdfa;--prerace-notice-fg: #f8fafc;--prerace-notice-fg-muted: #e2e8f0;--prerace-notice-rules-fg: #f8fafc;--prerace-notice-rules-fg-muted: #e2e8f0;--prerace-surface-muted: rgba(15, 23, 42, .35);--prerace-surface-strong: rgba(15, 23, 42, .5)}.prerace-quiz-short-answer{width:100%;min-height:7.5rem;margin-top:.75rem;padding:.65rem .75rem;font:inherit;line-height:1.5;color:var(--prerace-text-primary);background:var(--prerace-surface-strong);border:1px solid var(--prerace-accent-border);border-radius:8px;resize:vertical}.prerace-quiz-short-answer:focus{outline:2px solid var(--prerace-accent);outline-offset:1px}.prerace-quiz-short-answer:disabled{opacity:.92;cursor:default}.prerace-quiz-item.is-pending{border-color:color-mix(in srgb,var(--theme-primary) 40%,transparent)}.prerace-quiz-item__pending{margin:.5rem 0 0;font-size:.85rem;color:var(--prerace-text-muted)}.prerace-quiz-result__subjective{margin:.35rem 0 0;font-size:.9rem;color:var(--prerace-text-secondary)}.prerace-question-admin-ref{margin:.5rem 0 0;padding:.5rem .65rem;font:inherit;font-size:.88rem;line-height:1.45;white-space:pre-wrap;color:var(--prerace-text-secondary, #334155);background:color-mix(in srgb,var(--home-card-border, #e2e8f0) 25%,transparent);border-radius:6px}.prerace-quiz-panel .training-tier-empty-msg{color:var(--prerace-text-secondary)}.prerace-quiz-panel .prerace-quiz-rail-hint{font-size:.82rem;color:var(--prerace-text-secondary);margin:0 0 16px;line-height:1.45;padding:0 4px}.prerace-grade-self{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;padding:12px;border-radius:10px;border:1px solid var(--home-card-border, rgba(100, 181, 246, .22));background:var(--prerace-surface-muted, rgba(8, 20, 40, .35))}.prerace-grade-self__label{margin:0;font-size:.82rem;font-weight:700;color:var(--prerace-text-primary)}.prerace-grade-self__select{width:100%;padding:6px 8px;border-radius:8px;border:1px solid var(--home-card-border, rgba(100, 181, 246, .25));background:var(--home-card-bg, rgba(6, 16, 32, .6));color:var(--prerace-text-primary);font-size:.85rem}.prerace-grade-self__group{margin:0;font-size:.78rem;color:var(--theme-primary, #64b5f6)}.prerace-grade-self__hint{margin:0;font-size:.72rem;line-height:1.4;color:var(--prerace-text-secondary)}.prerace-grade-self__save{align-self:flex-start;padding:6px 12px;border-radius:8px;border:1px solid color-mix(in srgb,var(--theme-primary, #64b5f6) 45%,transparent);background:color-mix(in srgb,var(--theme-primary, #64b5f6) 12%,transparent);color:var(--prerace-text-primary);font-size:.8rem;cursor:pointer}.prerace-grade-self__save:disabled{opacity:.45;cursor:not-allowed}.prerace-grade-self__msg{margin:0;font-size:.75rem}.prerace-grade-self__msg.is-ok{color:#66bb6a}.prerace-grade-self__msg.is-error{color:#ef5350}.prerace-quiz-grade-blocked{padding:24px 16px}.prerace-quiz-grade-blocked__hint{margin:8px 0 0;font-size:.85rem;color:var(--prerace-text-secondary);text-align:center}.prerace-quiz-shell{grid-template-columns:minmax(140px,200px) 1fr}.prerace-quiz-shell--exam{grid-template-columns:minmax(140px,200px) 1fr minmax(160px,220px)}.prerace-quiz-body{display:flex;flex-direction:column;gap:16px;min-height:320px}.prerace-quiz-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.prerace-quiz-meta{margin:0;font-size:.92rem;color:var(--prerace-text-secondary)}.prerace-quiz-meta strong{color:var(--prerace-text-primary)}.prerace-quiz-timer{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--theme-primary) 35%,var(--home-card-border));background:color-mix(in srgb,var(--theme-primary) 10%,var(--home-card));color:var(--prerace-text-primary);font-size:.88rem;font-weight:700;font-variant-numeric:tabular-nums}.prerace-quiz-timer.is-urgent{border-color:#f59e0b8c;background:#f59e0b24;color:#fbbf24;animation:prerace-quiz-timer-pulse 1.2s ease-in-out infinite}.prerace-quiz-timer__label{font-size:.72rem;font-weight:600;color:var(--prerace-text-secondary)}.prerace-quiz-timer.is-urgent .prerace-quiz-timer__label{color:#fcd34d}.prerace-quiz-timer__value{min-width:3.2em;text-align:center;letter-spacing:.04em}.prerace-quiz-timer--prominent{padding:8px 16px;font-size:.95rem;border-width:2px;box-shadow:0 4px 16px color-mix(in srgb,var(--theme-primary) 18%,transparent)}.prerace-quiz-timer--prominent .prerace-quiz-timer__label{font-size:.78rem;font-weight:700;letter-spacing:.06em}.prerace-quiz-timer--prominent .prerace-quiz-timer__value{min-width:4.2em;font-size:1.35rem;font-weight:800;letter-spacing:.06em}.prerace-quiz-timer--prominent.is-urgent{border-color:#f59e0bbf;background:#f59e0b33;color:#fde68a}.prerace-quiz-exam-bar{position:sticky;top:0;z-index:30;display:flex;flex-direction:column;align-items:center;gap:8px;margin:-4px -4px 12px;padding:12px 16px;border-radius:12px 12px 0 0;border-bottom:2px solid color-mix(in srgb,var(--theme-primary) 35%,var(--home-card-border));background:color-mix(in srgb,var(--theme-primary) 12%,var(--home-card));box-shadow:0 6px 20px #0f172a1f}.prerace-quiz-exam-bar__warn{margin:0;font-size:.82rem;font-weight:700;color:#fbbf24;text-align:center}.prerace-quiz-rail-timer{margin:0 0 10px;display:flex;justify-content:center}.prerace-quiz-rail-timer .prerace-quiz-timer{width:100%;justify-content:center}@keyframes prerace-quiz-timer-pulse{0%,to{box-shadow:0 0 #f59e0b40}50%{box-shadow:0 0 0 4px #f59e0b1f}}.prerace-quiz-time-warn{padding:10px 14px;border-radius:10px;border:1px solid rgba(245,158,11,.45);background:#f59e0b1f;color:#fcd34d;font-size:.88rem;font-weight:600;text-align:center}.prerace-quiz-sheet__head .prerace-quiz-timer{width:100%;justify-content:center;margin:8px 0 4px}.prerace-quiz-score-badge{padding:8px 16px;border-radius:999px;background:color-mix(in srgb,var(--theme-primary) 18%,var(--home-card));border:1px solid color-mix(in srgb,var(--theme-primary) 45%,var(--home-card-border));color:var(--prerace-text-primary);font-weight:700;font-size:.95rem}.prerace-quiz-error{padding:10px 14px;border-radius:10px;background:#ef44441f;border:1px solid rgba(239,68,68,.35);color:#fca5a5;font-size:.9rem}.prerace-quiz-status{text-align:center;color:var(--prerace-text-secondary);padding:48px 16px}.prerace-quiz-notice{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px 24px 32px;max-width:520px;margin:0 auto}.prerace-quiz-notice__icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--theme-primary) 18%,var(--home-card)),color-mix(in srgb,var(--theme-primary) 12%,var(--home-card)));color:var(--prerace-accent-label);margin-bottom:16px;box-shadow:0 4px 20px var(--prerace-accent-glow)}.prerace-quiz-notice__icon svg{width:28px;height:28px}.prerace-quiz-notice__title{margin:0 0 8px;font-size:1.35rem;font-weight:700;color:var(--prerace-notice-fg);letter-spacing:.02em}.prerace-quiz-notice__group{margin:0 0 20px;font-size:.95rem;color:var(--prerace-notice-fg-muted)}.prerace-quiz-notice__group strong{color:var(--prerace-notice-fg);font-weight:700}.prerace-quiz-notice__rules{list-style:none;margin:0 0 20px;padding:16px 18px;text-align:left;width:100%;background:linear-gradient(135deg,#0f2d3ebf,#143248b3,#0c3741b8);border:1px solid var(--prerace-accent-border);border-radius:12px;box-shadow:inset 0 1px #ffffff14,0 4px 24px var(--prerace-accent-glow)}.prerace-quiz-notice__rules li{position:relative;padding-left:18px;margin-bottom:10px;font-size:.92rem;line-height:1.6;color:var(--prerace-notice-rules-fg)}.prerace-quiz-notice__rules li:last-child{margin-bottom:0}.prerace-quiz-notice__rules li:before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:linear-gradient(145deg,#38bdf8 0%,var(--prerace-accent) 100%);box-shadow:0 0 6px var(--prerace-accent-glow)}.prerace-quiz-notice__count{margin:0 0 20px;font-size:.9rem;color:var(--prerace-notice-fg);font-weight:600;padding:6px 14px;border-radius:999px;background:var(--prerace-surface-muted);border:1px solid var(--prerace-accent-border)}.prerace-quiz-notice__start{min-width:180px;padding:12px 28px;font-size:1rem;font-weight:600;color:#fff!important;background:linear-gradient(135deg,var(--prerace-accent) 0%,var(--prerace-accent-hover) 100%)!important;box-shadow:0 4px 18px var(--prerace-accent-glow)}.prerace-quiz-result{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 24px 40px;max-width:480px;margin:0 auto}.prerace-quiz-result__icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:color-mix(in srgb,var(--theme-primary) 16%,var(--home-card));color:var(--prerace-accent-label);margin-bottom:18px;box-shadow:0 4px 24px var(--prerace-accent-glow)}.prerace-quiz-result__icon svg{width:36px;height:36px}.prerace-quiz-result__title{margin:0 0 8px;font-size:1.45rem;font-weight:700;color:var(--prerace-text-primary)}.prerace-quiz-result__success{margin:0 0 14px;font-size:1rem;color:var(--prerace-text-secondary)}.prerace-quiz-result__group{margin:0 0 18px;font-size:.95rem;color:var(--prerace-text-muted)}.prerace-quiz-result__group strong{color:var(--prerace-text-primary)}.prerace-quiz-result__scores{display:flex;flex-direction:column;align-items:center;gap:10px;margin:0 0 16px;width:100%}.prerace-quiz-result__score{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 28px;border-radius:14px;background:color-mix(in srgb,var(--theme-primary) 14%,var(--home-card));border:1px solid color-mix(in srgb,var(--theme-primary) 40%,var(--home-card-border))}.prerace-quiz-result__score--primary{min-width:min(100%,280px)}.prerace-quiz-result__score-label{font-size:.88rem;font-weight:600;letter-spacing:.12em;color:var(--prerace-text-secondary)}.prerace-quiz-result__score-value{font-size:1.5rem;font-weight:800;color:var(--prerace-text-primary);line-height:1.2}.prerace-quiz-result__correct{margin:0;font-size:.95rem;color:var(--prerace-text-muted)}.prerace-quiz-result__hint{margin:0;max-width:360px;font-size:.88rem;line-height:1.55;color:var(--prerace-text-muted)}.prerace-quiz-stage{flex:1;min-height:0}.prerace-quiz-nav-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:4px}.prerace-quiz-nav-btn{min-width:96px;padding:9px 16px;border-radius:10px;border:1px solid var(--home-card-border, rgba(100, 181, 246, .3));background:var(--prerace-surface-muted);color:var(--prerace-text-primary);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .15s ease}.prerace-quiz-nav-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--theme-primary, #64b5f6) 50%,transparent);background:color-mix(in srgb,var(--theme-primary, #64b5f6) 10%,transparent)}.prerace-quiz-nav-btn:disabled{opacity:.4;cursor:not-allowed}.prerace-quiz-item{background:var(--home-card, rgba(15, 23, 42, .55));border:1px solid var(--home-card-border, rgba(100, 181, 246, .22));border-radius:14px;padding:20px 22px;transition:border-color .2s ease}.prerace-quiz-item.is-right{border-color:var(--prerace-accent-border)}.prerace-quiz-item.is-wrong{border-color:#ef444473}.prerace-quiz-item__head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.prerace-quiz-item__num{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:color-mix(in srgb,var(--theme-primary, #64b5f6) 18%,transparent);color:var(--prerace-accent-label);font-weight:700;font-size:.9rem}.prerace-quiz-item__type{font-size:.78rem;padding:3px 10px;border-radius:999px;background:#94a3b82e;color:var(--prerace-text-secondary)}.prerace-quiz-item__stem{margin:0 0 16px;font-size:1.08rem;line-height:1.65;color:var(--prerace-text-primary);font-weight:600}.prerace-quiz-item__hint{margin:-8px 0 12px;font-size:.85rem;color:var(--prerace-text-secondary)}.prerace-quiz-options{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.prerace-quiz-option{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid transparent;cursor:pointer;transition:background .15s ease,border-color .15s ease}.prerace-quiz-option:hover:not(:has(input:disabled)){background:#64b5f614}.prerace-quiz-option.is-selected{background:color-mix(in srgb,var(--theme-primary, #64b5f6) 12%,transparent);border-color:color-mix(in srgb,var(--theme-primary, #64b5f6) 35%,transparent)}.prerace-quiz-option input{margin-top:4px;accent-color:var(--theme-primary, #64b5f6)}.prerace-quiz-option__letter{flex-shrink:0;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:#94a3b826;font-weight:700;font-size:.8rem;color:var(--prerace-text-primary)}.prerace-quiz-option__text{flex:1;line-height:1.5;font-size:.98rem;color:var(--prerace-text-primary)}.prerace-quiz-judge{display:flex;gap:12px;flex-wrap:wrap}.prerace-quiz-judge-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:10px;border:1px solid var(--home-card-border, rgba(100, 181, 246, .25));background:transparent;color:var(--prerace-text-primary);cursor:pointer;font-size:.95rem;transition:all .15s ease}.prerace-quiz-judge-btn:hover:not(:has(input:disabled)){border-color:color-mix(in srgb,var(--theme-primary, #64b5f6) 45%,transparent)}.prerace-quiz-judge-btn.is-selected{background:color-mix(in srgb,var(--theme-primary, #64b5f6) 15%,transparent);border-color:color-mix(in srgb,var(--theme-primary, #64b5f6) 50%,transparent)}.prerace-quiz-judge-btn input{accent-color:var(--theme-primary, #64b5f6)}.prerace-quiz-done-msg{margin:0;flex:1;text-align:center;font-size:.9rem;color:var(--prerace-text-secondary)}.prerace-quiz-sheet{display:flex;flex-direction:column;gap:14px;padding:18px 16px;border-left:1px solid var(--home-card-border, rgba(100, 181, 246, .2));background:var(--prerace-surface-muted);min-height:100%}.prerace-quiz-sheet__head h3{margin:0 0 4px;font-size:.95rem;font-weight:700;color:var(--prerace-text-primary)}.prerace-quiz-sheet__meta{margin:0;font-size:.82rem;color:var(--prerace-text-secondary)}.prerace-quiz-sheet__legend{display:flex;flex-direction:column;gap:6px}.prerace-quiz-sheet__legend-item{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--prerace-text-secondary)}.prerace-quiz-sheet__dot{width:12px;height:12px;border-radius:4px;border:1px solid rgba(148,163,184,.35);background:#94a3b81f;flex-shrink:0}.prerace-quiz-sheet__dot.is-answered{background:linear-gradient(145deg,var(--prerace-accent) 0%,var(--prerace-accent-hover) 100%);border-color:var(--prerace-answered-border)}.prerace-quiz-sheet__dot.is-current{box-shadow:0 0 0 2px #64b5f680;border-color:#64b5f6}.prerace-quiz-sheet__grid{display:grid;grid-template-columns:repeat(5,minmax(0,28px));gap:6px;flex:1;align-content:start;justify-content:start;overflow-y:auto;max-height:min(48vh,420px);padding-right:2px}.prerace-quiz-sheet__cell{width:28px;height:28px;padding:0;border:1px solid var(--home-card-border, rgba(148, 163, 184, .35));border-radius:6px;background:var(--home-card, #f0fdfa);color:var(--prerace-text-primary);font-size:.72rem;font-weight:700;line-height:1;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.prerace-quiz-sheet__cell:hover{border-color:#64b5f680;color:var(--prerace-text-primary)}.prerace-quiz-sheet__cell.is-answered{background:var(--prerace-answered-bg);border-color:var(--prerace-answered-border);color:var(--prerace-answered-text)}.prerace-quiz-sheet__cell.is-current{box-shadow:0 0 0 1px color-mix(in srgb,var(--theme-primary, #64b5f6) 70%,transparent);border-color:var(--theme-primary, #64b5f6);color:var(--prerace-text-primary)}.prerace-quiz-sheet__cell.is-answered.is-current{box-shadow:0 0 0 1px color-mix(in srgb,var(--theme-primary, #64b5f6) 70%,transparent)}.prerace-quiz-sheet__submit{width:100%;margin-top:auto}@media (max-width: 960px){.prerace-quiz-shell--exam{grid-template-columns:1fr}.prerace-quiz-sheet{border-left:none;border-top:1px solid var(--home-card-border, rgba(100, 181, 246, .2))}.prerace-quiz-sheet__grid{max-height:none;grid-template-columns:repeat(8,minmax(0,28px))}}@media (max-width: 768px){.prerace-quiz-judge{flex-direction:column}.prerace-quiz-judge-btn{width:100%;justify-content:center}.prerace-quiz-notice{padding:16px 12px 24px}}.prerace-quiz-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:20px;background:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.prerace-quiz-confirm{width:min(100%,400px);padding:22px 24px 20px;border-radius:14px;border:1px solid var(--home-card-border, rgba(1, 161, 142, .25));background:var(--home-card, #f0fdfa);box-shadow:0 16px 48px #0f172a2e}.prerace-quiz-confirm__title{margin:0 0 10px;font-size:1.1rem;font-weight:700;color:var(--prerace-text-primary, var(--home-text, #0f172a))}.prerace-quiz-confirm__message{margin:0 0 20px;font-size:.92rem;line-height:1.6;color:var(--prerace-text-secondary, var(--home-text-muted, #334155))}.prerace-quiz-confirm__actions{display:flex;justify-content:flex-end;gap:10px}.prerace-quiz-confirm__btn{min-width:96px;padding:9px 18px;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer}.prerace-quiz-confirm__btn--ghost{border:1px solid var(--home-card-border, rgba(1, 161, 142, .25));background:transparent;color:var(--prerace-text-primary, var(--home-text, #0f172a))}.prerace-quiz-confirm__btn--ghost:hover{background:var(--prerace-surface-muted, color-mix(in srgb, var(--home-card-border) 35%, var(--home-card)))}.prerace-quiz-confirm__btn--primary{color:#fff!important}.semifinals-portal{max-width:960px;margin:0 auto;padding:8px 4px 32px}.semifinals-portal-loading,.semifinals-portal-empty{text-align:center;color:#78909c;padding:32px 16px}.semifinals-portal-hero{margin-bottom:20px;padding:20px 22px;border-radius:16px;border:1px solid rgba(1,161,142,.22);background:radial-gradient(circle at 0% 0%,rgba(1,161,142,.12),transparent 45%),var(--home-card, #fff)}.semifinals-portal-hero h1{margin:0 0 8px;font-size:1.35rem}.semifinals-portal-hero p{margin:0;color:#64748b;font-size:.92rem;line-height:1.5}.semifinals-portal-card{background:var(--home-card, #fff);border:1px solid rgba(1,161,142,.2);border-radius:14px;padding:18px 20px;margin-bottom:16px}.semifinals-portal-card h2{margin:0 0 14px;font-size:1.05rem;display:flex;align-items:center;gap:8px}.semifinals-count{font-size:.82rem;font-weight:500;color:#78909c}.semifinals-profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px 20px;margin:0}.semifinals-profile-grid dt{margin:0 0 4px;font-size:.78rem;color:#94a3b8}.semifinals-profile-grid dd{margin:0;font-size:.95rem;font-weight:600;color:var(--home-text, #1e293b)}.semifinals-portal-hint{margin:-6px 0 14px;font-size:.84rem;color:#64748b}.semifinals-upload-form{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.semifinals-upload-form input[type=file]{flex:1;min-width:200px;padding:10px 12px;border:1px dashed rgba(1,161,142,.4);border-radius:10px;background:#01a18e0a;font-size:.88rem}.semifinals-upload-btn{padding:10px 22px;border:none;border-radius:10px;background:var(--theme-primary, #01a18e);color:#fff;font-weight:600;cursor:pointer}.semifinals-upload-btn:disabled{opacity:.65;cursor:not-allowed}.semifinals-portal-error{margin-top:12px;padding:10px 12px;border-radius:8px;background:#ef44441a;color:#b91c1c;font-size:.88rem}.semifinals-portal-success{margin-top:12px;padding:10px 12px;border-radius:8px;background:#01a18e1a;color:#01796f;font-size:.88rem}.semifinals-table-wrap{overflow-x:auto}.semifinals-table{width:100%;border-collapse:collapse;font-size:.88rem}.semifinals-table th,.semifinals-table td{padding:10px 12px;border-bottom:1px solid rgba(1,161,142,.12);text-align:left}.semifinals-table th{color:#64748b;font-weight:600;white-space:nowrap}.semifinals-comment-cell{max-width:200px;word-break:break-word}.semifinals-portal--staff{display:flex;justify-content:center;padding-top:48px}.semifinals-portal-link{display:inline-block;margin-top:12px;color:var(--theme-primary, #01a18e);font-weight:600;text-decoration:none}.semifinals-portal-link:hover{text-decoration:underline}.semifinals-profile-form{display:flex;flex-direction:column;gap:12px}.semifinals-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 560px){.semifinals-form-row{grid-template-columns:1fr}}.semifinals-form-group{display:flex;flex-direction:column;gap:6px}.semifinals-form-group label{font-size:.84rem;font-weight:600;color:#64748b}.semifinals-form-group input,.semifinals-form-group select{width:100%;min-height:42px;padding:0 12px;border:1px solid rgba(1,161,142,.3);border-radius:10px;font-size:.92rem;box-sizing:border-box;background:#fff;color:var(--home-text, #1e293b)}.semifinals-form-group input.is-readonly{background:#f1f5f9;color:#64748b}.semifinals-form-group input:focus,.semifinals-form-group select:focus{outline:none;border-color:var(--theme-primary, #01a18e);box-shadow:0 0 0 3px #01a18e1f}.semifinals-profile-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.semifinals-profile-header h2{margin:0}.semifinals-edit-btn{padding:8px 14px;border-radius:8px;border:1px solid rgba(1,161,142,.35);background:#01a18e14;color:var(--theme-primary-text, #01796f);font-size:.88rem;font-weight:600;cursor:pointer}.semifinals-profile-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.semifinals-cancel-btn{padding:10px 18px;border-radius:10px;border:1px solid rgba(1,161,142,.25);background:#fff;color:#64748b;cursor:pointer}.semifinals-cancel-btn:disabled{opacity:.65;cursor:not-allowed}.semifinals-save-btn{margin-top:0;padding:10px 20px;border:1px solid rgba(1,161,142,.35);border-radius:10px;background:#01a18e14;color:var(--theme-primary-text, #01796f);font-weight:600;cursor:pointer}.semifinals-save-btn:disabled{opacity:.65;cursor:not-allowed}.semifinals-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:20px;background:#0f172a7a;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.semifinals-modal{width:min(520px,100%);max-height:90vh;overflow:auto;border-radius:18px;background:#fff;color:#1e293b;box-shadow:0 24px 64px #0003}.semifinals-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid rgba(1,161,142,.14);background:linear-gradient(135deg,#01a18e1a,#fffffffa)}.semifinals-modal-header h3{margin:0;font-size:1.1rem;color:#1e293b}.semifinals-modal-close{width:32px;height:32px;border:none;border-radius:8px;background:#0000000f;font-size:1.2rem;cursor:pointer}.semifinals-modal-body{padding:18px 20px 20px;color:#1e293b}.semifinals-modal .semifinals-portal-hint,.semifinals-modal .semifinals-form-group label{color:#64748b}.semifinals-modal .semifinals-form-group input,.semifinals-modal .semifinals-form-group select{color:#1e293b;background:#fff}.semifinals-modal .semifinals-form-group input.is-readonly{color:#64748b;background:#f1f5f9}.semifinals-confirm-file{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0;padding:12px 14px;border-radius:10px;background:#01a18e0f;border:1px solid rgba(1,161,142,.16);font-size:.88rem;color:#1e293b}.semifinals-confirm-file-label{font-weight:600;color:#64748b}.semifinals-confirm-file-size{color:#78909c}.semifinals-confirm-check{display:flex;align-items:flex-start;gap:8px;margin-bottom:16px;font-size:.9rem;line-height:1.45;cursor:pointer;color:#1e293b}.semifinals-confirm-check input{margin-top:3px}.semifinals-modal-actions{display:flex;justify-content:flex-end;gap:10px}.semifinals-modal-actions button{padding:10px 18px;border-radius:10px;border:1px solid rgba(1,161,142,.3);background:#fff;color:#64748b;cursor:pointer}.semifinals-modal-actions .semifinals-upload-btn{border:1px solid rgba(1,161,142,.35);background:#01a18e14;color:#1e293b!important;font-weight:600}.semifinals-delete-btn{padding:4px 10px;border-radius:6px;border:1px solid rgba(239,68,68,.35);background:#ef444414;color:#b91c1c;font-size:.82rem;cursor:pointer}.semifinals-delete-btn:disabled{opacity:.65;cursor:not-allowed}.dashboard-compact-tabs{--dashboard-tab-pad-y: .28rem;--dashboard-tab-pad-x: .65rem;--dashboard-tab-font: .82rem;--dashboard-tab-min-h: 1.85rem;position:relative;z-index:2;grid-column:1;grid-row:2;display:flex;flex:0 0 auto;gap:.35rem;padding:.28rem;border-radius:var(--ui-radius-lg);border:1px solid color-mix(in srgb,var(--theme-primary) 28%,var(--home-card-border));background:color-mix(in srgb,var(--home-card) 92%,var(--theme-primary) 8%);box-shadow:0 8px 24px color-mix(in srgb,var(--theme-primary) 12%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--theme-primary) 8%,rgba(255,255,255,.06));min-height:calc(var(--dashboard-tab-min-h) + .35rem);box-sizing:border-box;width:50%;max-width:50%}@media (min-width: 901px){.dashboard-compact-tabs{--dashboard-tab-pad-y: clamp(.22rem, .12rem + .55vh, .48rem);--dashboard-tab-pad-x: clamp(.45rem, .28rem + .7vw, 1rem);--dashboard-tab-font: clamp(.72rem, .62rem + .55vw + .25vh, 1.05rem);--dashboard-tab-min-h: clamp(1.65rem, 1.35rem + 1.2vw + .6vh, 2.45rem);gap:clamp(.28rem,.18rem + .35vw,.55rem);padding:clamp(.2rem,.12rem + .35vw,.42rem);min-height:calc(var(--dashboard-tab-min-h) + .4rem)}}.dashboard-compact-tab{flex:1 1 0;min-width:0;min-height:var(--dashboard-tab-min-h);padding:var(--dashboard-tab-pad-y) var(--dashboard-tab-pad-x);border:1px solid transparent;border-radius:var(--ui-radius-md);background:transparent;color:var(--home-text, #0f172a);font-family:inherit;font-size:var(--dashboard-tab-font);font-weight:700;letter-spacing:.04em;line-height:1.2;cursor:pointer;white-space:nowrap;transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}.dashboard-compact-tab:hover:not(.is-active){color:var(--home-text);background:color-mix(in srgb,var(--theme-primary) 8%,var(--home-card))}.dashboard-compact-tab.is-active{color:#fff;background:linear-gradient(135deg,var(--theme-primary) 0%,color-mix(in srgb,var(--theme-primary) 82%,#0f172a) 100%);border-color:color-mix(in srgb,var(--theme-primary) 55%,transparent);box-shadow:0 6px 18px color-mix(in srgb,var(--theme-primary) 35%,transparent)}.dashboard-video-hero-wrap{min-width:0;flex:0 0 auto}.dashboard-video-hero{--dashboard-hero-h: clamp(10.5rem, 42vw, 14rem);position:relative;isolation:isolate;width:100%;min-height:var(--dashboard-hero-h);height:var(--dashboard-hero-h);max-height:var(--dashboard-hero-h);border-radius:.85rem;overflow:hidden;border:1px solid color-mix(in srgb,var(--theme-primary) 28%,var(--home-card-border));box-shadow:0 16px 40px color-mix(in srgb,var(--theme-primary) 18%,transparent),inset 0 0 0 1px #ffffff0f;background:#061018;flex:0 0 auto}@media (min-width: 901px){.dashboard-video-hero{--dashboard-hero-h: clamp(140px, 10vw + 6vh, 220px);max-height:min(220px,22vh);border-radius:clamp(10px,.6vw + 8px,16px)}}.dashboard-video-hero__media{position:absolute;top:0;right:0;bottom:0;left:0}.dashboard-video-hero__poster{position:absolute;top:0;right:0;bottom:0;left:0;background-position:center;background-size:cover;transform:scale(1.03);transition:opacity .8s ease}.dashboard-video-hero__poster.is-covered{opacity:0;pointer-events:none}.dashboard-video-hero__video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s ease}.dashboard-video-hero__video.is-ready{opacity:1}.dashboard-video-hero__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#040e16b8,#040e1647 55%,#040e1673),linear-gradient(180deg,transparent 40%,rgba(4,14,22,.55) 100%);pointer-events:none}.dashboard-video-hero__copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;height:100%;min-height:0;padding:clamp(.75rem,1.5vh + .4vw,1.75rem) clamp(.9rem,2vw,2.25rem);box-sizing:border-box;max-width:min(42rem,94%)}.dashboard-video-hero__title{margin:0 0 .35rem;font-size:clamp(1.1rem,.95rem + 1.1vw,1.85rem);font-weight:800;letter-spacing:.02em;line-height:1.25;color:#f5fbff;text-shadow:0 8px 28px rgba(0,0,0,.45)}.dashboard-video-hero__sub{margin:0;font-size:clamp(.78rem,.72rem + .28vw,1rem);line-height:1.45;color:#e6f4fad1;font-weight:500;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.training-shell__content--dashboard--compact>.home-lower-train,.training-shell__content--dashboard--compact>.home-lower-course{display:flex;flex-direction:column;min-height:0;flex:1 1 auto}.training-shell__content--dashboard--compact>.home-lower-train .training-modules-panel--split{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;height:100%}.training-shell__content--dashboard--compact>.home-lower-train .split-shell{flex:1 1 auto;min-height:0;height:100%;align-items:stretch}.training-shell__content--dashboard--compact>.home-lower-train .split-body{min-height:0;overflow-x:clip;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.training-shell__content--dashboard--compact>.home-lower-course .training-course-sidebar,.training-shell__content--dashboard--compact>.home-lower-course .training-course-sidebar--featured,.training-shell__content--dashboard--compact>.home-lower-course .training-course-sidebar--catalog,.training-shell__content--dashboard--compact>.home-lower-course .training-course-sidebar--compact{flex:1 1 auto;min-height:0;height:100%;overflow:hidden}@media (max-width: 1100px){.dashboard-video-hero{--dashboard-hero-h: clamp(120px, 10vw + 6vh, 200px);max-height:min(200px,22vh)}}@media (max-width: 900px){.dashboard-compact-tabs{width:100%;max-width:100%;--dashboard-tab-font: .78rem;--dashboard-tab-min-h: 1.7rem;--dashboard-tab-pad-y: .22rem;--dashboard-tab-pad-x: .5rem;gap:.3rem;padding:.22rem}.dashboard-video-hero{--dashboard-hero-h: clamp(10.5rem, 28vw + 4vh, 12.5rem);max-height:var(--dashboard-hero-h);border-radius:.65rem}.training-shell__content--dashboard--compact>.home-lower-train,.training-shell__content--dashboard--compact>.home-lower-course{flex:1 1 auto;min-height:min(52vh,520px);height:auto;overflow:visible}.training-shell__content--dashboard--compact>.home-lower-train .training-modules-panel--split,.training-shell__content--dashboard--compact>.home-lower-train .split-shell,.training-shell__content--dashboard--compact>.home-lower-course .training-course-sidebar,.training-shell__content--dashboard--compact>.home-lower-course .training-course-sidebar--featured,.training-shell__content--dashboard--compact>.home-lower-course .training-course-sidebar--catalog,.training-shell__content--dashboard--compact>.home-lower-course .training-course-sidebar--compact{height:auto;overflow:visible}.training-shell__content--dashboard--compact>.home-lower-train .split-body{overflow:visible}}@media (max-width: 720px){.dashboard-video-hero{--dashboard-hero-h: clamp(10rem, 36vw + 3vh, 12rem);max-height:var(--dashboard-hero-h);border-radius:.6rem}.dashboard-compact-tabs{width:100%;max-width:100%;gap:.25rem;padding:.18rem;--dashboard-tab-font: .74rem;--dashboard-tab-min-h: 1.55rem;--dashboard-tab-pad-y: .18rem;--dashboard-tab-pad-x: .45rem}.training-shell__content--dashboard--compact>.home-lower-train,.training-shell__content--dashboard--compact>.home-lower-course{min-height:min(48vh,480px)}}@media (max-width: 480px){.dashboard-video-hero{--dashboard-hero-h: clamp(9.5rem, 48vw, 11.5rem);max-height:var(--dashboard-hero-h)}.dashboard-compact-tabs{--dashboard-tab-font: .72rem;--dashboard-tab-min-h: 1.5rem}}@media (max-height: 640px){.dashboard-video-hero{--dashboard-hero-h: clamp(8.5rem, 18vh, 11rem);max-height:var(--dashboard-hero-h)}.dashboard-video-hero__sub{-webkit-line-clamp:1}.training-shell__content--dashboard--video-first{gap:.28rem}.dashboard-compact-tabs{gap:.22rem;padding:.16rem;--dashboard-tab-font: .72rem;--dashboard-tab-min-h: 1.45rem;--dashboard-tab-pad-y: .12rem;--dashboard-tab-pad-x: .4rem}}@media (max-height: 420px),(orientation: landscape) and (max-height: 500px){.dashboard-video-hero{--dashboard-hero-h: clamp(6.5rem, 28vh, 8.5rem);max-height:var(--dashboard-hero-h)}.dashboard-video-hero__sub{display:none}.dashboard-video-hero__title{font-size:clamp(.9rem,.8rem + .8vw,1.15rem);margin:0}.dashboard-compact-tabs{--dashboard-tab-font: .68rem;--dashboard-tab-min-h: 1.3rem;--dashboard-tab-pad-y: .08rem;--dashboard-tab-pad-x: .35rem;gap:.15rem;padding:.12rem;min-height:0}.training-shell__content--dashboard--compact>.home-lower-train,.training-shell__content--dashboard--compact>.home-lower-course{min-height:0}.training-shell__content--dashboard--video-first{gap:.2rem}}@media (prefers-reduced-motion: reduce){.dashboard-video-hero__video{transition:none}}.home-landing{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:100vh;box-sizing:border-box;margin-top:calc(-1 * var(--app-header-offset, 70px));padding:calc(var(--app-header-offset, 70px) + clamp(2rem,5vh,3.5rem)) clamp(1.5rem,5vw,4rem) clamp(3rem,6vh,4rem);background-color:#b8ddf5;background-image:url(/background.png);background-position:center center;background-size:cover;background-repeat:no-repeat;overflow:hidden}.home-landing__brand{position:absolute;top:calc(var(--app-header-offset, 70px) + clamp(.65rem,1.8vh,1.1rem));left:clamp(1.25rem,4vw,2.75rem);z-index:3;display:flex;flex-direction:column;gap:.3rem;margin:0;padding:0;text-align:left}.home-landing__brand-cn{display:inline-flex}.home-landing__brand-en{font-size:clamp(.72rem,1.4vw,.92rem);font-weight:600;letter-spacing:.3em;color:#4a6f8c;text-transform:uppercase}.home-landing__inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:min(1680px,96vw);flex:1;padding-top:clamp(3.5rem,10vh,5rem)}.home-landing__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.75rem,3.5vw,3rem);width:100%;align-items:stretch}.home-landing__race-stack{display:flex;flex-direction:column;gap:clamp(1rem,2vw,1.75rem);min-height:clamp(400px,48vh,500px)}.home-landing__card--stacked{flex:1;min-height:0;padding:clamp(1.5rem,3vw,2rem) clamp(1.35rem,2.5vw,2rem) clamp(1.35rem,2.5vw,1.75rem)}.home-landing__card--stacked .home-landing__icon-wrap{width:clamp(64px,8vw,76px);height:clamp(64px,8vw,76px);margin-bottom:clamp(.85rem,1.8vh,1.25rem);border-radius:20px}.home-landing__card--stacked .home-landing__icon-wrap svg{width:clamp(32px,4vw,38px);height:clamp(32px,4vw,38px)}.home-landing__card--stacked .home-landing__card-title{margin-bottom:clamp(.65rem,1.2vh,.95rem);font-size:clamp(1.35rem,2.4vw,1.65rem)}.home-landing__card--stacked .home-landing__card-desc{font-size:clamp(.95rem,1.45vw,1.05rem);line-height:1.55}.home-landing__card--stacked .home-landing__card-desc--sub{margin-top:.35rem;font-size:clamp(.88rem,1.3vw,.98rem)}.home-landing__card--stacked .home-landing__card-cta{padding-top:clamp(.75rem,1.5vh,1rem);font-size:clamp(.92rem,1.35vw,1rem)}.home-landing__card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:clamp(400px,48vh,500px);padding:clamp(2.75rem,5vw,3.75rem) clamp(2rem,3.5vw,2.75rem) clamp(2.5rem,4vw,3.25rem);border:1px solid var(--card-border, rgba(96, 165, 250, .35));border-radius:32px;background:linear-gradient(155deg,var(--card-bg-top, rgba(191, 219, 254, .65)) 0%,var(--card-bg-mid, rgba(147, 197, 253, .42)) 48%,var(--card-bg-bottom, rgba(125, 211, 252, .28)) 100%);backdrop-filter:blur(16px) saturate(1.15);-webkit-backdrop-filter:blur(16px) saturate(1.15);box-shadow:0 10px 36px color-mix(in srgb,var(--card-accent, #3b82f6) 14%,transparent),0 2px 8px #0f3c6414,inset 0 1px #ffffff59;cursor:pointer;overflow:hidden;transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s ease,border-color .28s ease,background .28s ease}.home-landing__card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--card-accent, #3b82f6),var(--card-accent-light, #60a5fa));opacity:.9;transition:height .28s ease}.home-landing__card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 90% 55% at 50% -10%,color-mix(in srgb,var(--card-accent-light, #93c5fd) 35%,transparent),transparent 65%);pointer-events:none;opacity:.55;transition:opacity .28s ease}.home-landing__card:hover{transform:translateY(-10px) scale(1.02);border-color:color-mix(in srgb,var(--card-accent, #3b82f6) 55%,rgba(255,255,255,.5));background:linear-gradient(155deg,var(--card-bg-top-hover, rgba(219, 234, 254, .78)) 0%,var(--card-bg-mid-hover, rgba(147, 197, 253, .52)) 48%,var(--card-bg-bottom-hover, rgba(125, 211, 252, .38)) 100%);box-shadow:0 22px 50px color-mix(in srgb,var(--card-accent, #3b82f6) 24%,transparent),0 8px 20px #0f3c641a}.home-landing__card:hover:before{height:6px}.home-landing__card:hover:after{opacity:.85}.home-landing__card:focus-visible{outline:3px solid var(--card-accent, #3b82f6);outline-offset:4px}.home-landing__card--physical{--card-accent: #c2410c;--card-accent-light: #fb923c;--card-border: rgba(251, 146, 60, .42);--card-bg-top: rgba(254, 215, 170, .72);--card-bg-mid: rgba(253, 186, 116, .44);--card-bg-bottom: rgba(251, 146, 60, .2);--card-bg-top-hover: rgba(255, 237, 213, .82);--card-bg-mid-hover: rgba(253, 186, 116, .54);--card-bg-bottom-hover: rgba(251, 146, 60, .3)}.home-landing__card--virtual{--card-accent: #1d4ed8;--card-accent-light: #60a5fa;--card-border: rgba(59, 130, 246, .4);--card-bg-top: rgba(191, 219, 254, .7);--card-bg-mid: rgba(147, 197, 253, .45);--card-bg-bottom: rgba(96, 165, 250, .22);--card-bg-top-hover: rgba(219, 234, 254, .82);--card-bg-mid-hover: rgba(147, 197, 253, .55);--card-bg-bottom-hover: rgba(96, 165, 250, .32)}.home-landing__card--prerace{--card-accent: #0e7490;--card-accent-light: #22d3ee;--card-border: rgba(34, 211, 238, .38);--card-bg-top: rgba(165, 243, 252, .68);--card-bg-mid: rgba(103, 232, 249, .4);--card-bg-bottom: rgba(34, 211, 238, .18);--card-bg-top-hover: rgba(207, 250, 254, .8);--card-bg-mid-hover: rgba(103, 232, 249, .5);--card-bg-bottom-hover: rgba(34, 211, 238, .28)}.home-landing__card--semifinals{--card-accent: #6d28d9;--card-accent-light: #a78bfa;--card-border: rgba(167, 139, 250, .42);--card-bg-top: rgba(221, 214, 254, .72);--card-bg-mid: rgba(196, 181, 253, .44);--card-bg-bottom: rgba(167, 139, 250, .2);--card-bg-top-hover: rgba(237, 233, 254, .82);--card-bg-mid-hover: rgba(196, 181, 253, .54);--card-bg-bottom-hover: rgba(167, 139, 250, .3)}.home-landing__icon-wrap{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:clamp(88px,11vw,104px);height:clamp(88px,11vw,104px);margin-bottom:clamp(1.75rem,3.5vh,2.5rem);border-radius:26px;border:1px solid color-mix(in srgb,var(--card-accent-light, #93c5fd) 45%,transparent);background:linear-gradient(145deg,color-mix(in srgb,var(--card-accent-light, #93c5fd) 28%,rgba(255,255,255,.5)),color-mix(in srgb,var(--card-accent, #3b82f6) 12%,rgba(255,255,255,.25)));box-shadow:0 6px 18px color-mix(in srgb,var(--card-accent, #3b82f6) 20%,transparent),inset 0 1px #fff6;color:var(--card-accent, #3b82f6);transition:transform .28s cubic-bezier(.22,1,.36,1)}.home-landing__card:hover .home-landing__icon-wrap{transform:scale(1.08)}.home-landing__icon-wrap svg{width:clamp(44px,5.5vw,52px);height:clamp(44px,5.5vw,52px)}.home-landing__card-title{position:relative;z-index:1;margin:0 0 clamp(1.15rem,2.2vh,1.6rem);font-size:clamp(1.75rem,3.2vw,2.15rem);font-weight:800;color:#0f2744;letter-spacing:.04em;line-height:1.3}.home-landing__card-desc{position:relative;z-index:1;margin:0;max-width:24em;font-size:clamp(1.08rem,1.75vw,1.22rem);line-height:1.65;color:#334155;font-weight:500}.home-landing__card-desc--sub{margin-top:.5rem;font-size:clamp(1rem,1.55vw,1.12rem);color:#475569;font-weight:400}.home-landing__card-cta{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.35rem;margin-top:auto;padding-top:clamp(1.25rem,2.5vh,1.75rem);font-size:clamp(1rem,1.5vw,1.12rem);font-weight:600;color:var(--card-accent, #3b82f6);letter-spacing:.06em;opacity:.85;transition:opacity .2s ease,gap .2s ease}.home-landing__card:hover .home-landing__card-cta{opacity:1;gap:.55rem}@media (max-width: 1024px){.home-landing__cards{grid-template-columns:1fr;max-width:560px;margin:0 auto}.home-landing__race-stack{min-height:0}.home-landing__card{min-height:360px}.home-landing__card--stacked{min-height:280px}.home-landing__inner{padding-top:clamp(4.5rem,12vh,6rem)}}@media (max-width: 720px){.home-landing{justify-content:flex-start;padding-top:2rem}.home-landing__brand{top:calc(var(--app-header-offset, 70px) + .5rem);left:1rem}.home-landing__brand-en{letter-spacing:.22em}}.user-terms-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;background:#00000073;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}.user-terms-detail-panel{width:min(560px,100%);max-height:min(85vh,640px);display:flex;flex-direction:column;background:#f0fdfa;border:1px solid rgba(1,161,142,.35);border-radius:16px;box-shadow:0 20px 50px #0003;overflow:hidden}.user-terms-detail-header{position:relative;flex-shrink:0;padding:20px 48px 10px 20px;text-align:center}.user-terms-detail-header h2{margin:0 0 4px;font-size:20px;color:#134e4a}.user-terms-detail-updated{margin:0;font-size:12px;color:#134e4aa6}.user-terms-detail-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;border-radius:8px;background:#0f766e1a;color:#0f766e;font-size:22px;line-height:1;cursor:pointer}.user-terms-detail-body{flex:1;overflow-y:auto;padding:8px 20px 16px;font-size:14px;line-height:1.65;color:#134e4a}.user-terms-detail-section{margin-bottom:14px}.user-terms-detail-section h3{margin:0 0 6px;font-size:15px;color:#0f766e}.user-terms-detail-section p{margin:0}.user-terms-detail-footer{flex-shrink:0;padding:12px 20px 16px;border-top:1px solid rgba(1,161,142,.2);text-align:center}.user-terms-detail-btn{padding:10px 28px;border:none;border-radius:8px;background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff;font-size:15px;font-weight:600;cursor:pointer}.user-terms-agree-row{margin:4px 0 0}.user-terms-agree-label{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.5;color:#134e4a;cursor:pointer}.user-terms-agree-label input{margin-top:3px;flex-shrink:0;accent-color:#0d9488;cursor:pointer}.user-terms-agree-link{border:none;padding:0;background:none;color:#0d9488;font-size:inherit;font-weight:600;text-decoration:underline;cursor:pointer}.user-terms-agree-link:hover{color:#0f766e}.user-terms-agree-error{margin:6px 0 0 26px;font-size:12px;color:#b91c1c}.login-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#01a18eeb;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:16px;box-sizing:border-box;overflow-y:auto}.login-modal{position:relative;background:#f0fdfa;border:1px solid rgba(1,161,142,.3);border-radius:20px;padding:40px;width:90%;max-width:450px;box-shadow:0 20px 60px #00000026;animation:slideIn .5s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:30px}.login-lang-toggle{position:absolute;top:16px;right:20px;border:none;background:transparent;color:var(--home-text);font-size:13px;cursor:pointer;padding:4px 8px;border-radius:999px;transition:background .2s ease,color .2s ease}.login-lang-toggle:hover{background:#0f766e1a}.login-header h2{font-size:24px;color:var(--home-text);margin-bottom:15px}.login-modal--prerace .login-header h2{font-size:18px;line-height:1.45;margin-bottom:0}.logo-large{margin:0}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:var(--home-text);font-size:14px;font-weight:600}.form-group input{padding:12px 16px;background:#fff;border:1px solid rgba(1,161,142,.35);border-radius:8px;color:#1e293b;font-size:16px;transition:all .3s ease}.login-modal .form-group input::placeholder{color:#94a3b8}.form-group input:focus{outline:none;border-color:var(--theme-primary);box-shadow:0 0 0 3px #01a18e26}.login-remember-row{display:flex;align-items:center;gap:8px;margin:-4px 0}.login-remember-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--theme-primary, #01a18e);cursor:pointer}.login-remember-row label{color:var(--home-text);font-size:14px;font-weight:500;cursor:pointer;margin:0}.login-password-hint{font-size:12px;color:#64748b;margin-top:4px}.error-message{color:#b91c1c;font-size:14px;text-align:center;padding:10px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px}.login-button{padding:14px 30px;background:linear-gradient(135deg,var(--theme-primary) 0%,var(--theme-primary-hover) 100%);border:none;border-radius:8px;color:#f0fdfa;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #01a18e59;margin-top:10px}.login-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #01a18e73;background:linear-gradient(135deg,var(--theme-primary-hover) 0%,var(--theme-primary-hover) 100%)}.login-button:active{transform:translateY(0)}.login-footer{margin-top:30px;text-align:center;color:#54716c;font-size:14px}.login-footer p{margin:5px 0}.login-demo-hint{margin-top:12px;font-size:12px;color:var(--theme-primary-text)}.school-picker-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5000;display:flex;align-items:center;justify-content:center;padding:16px}.school-picker-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#00000073;cursor:pointer}.school-picker-modal__panel{position:relative;display:flex;flex-direction:column;width:min(720px,100%);max-height:min(85vh,680px);background:#fff;border-radius:6px;box-shadow:0 8px 40px #0000002e;overflow:hidden}.school-picker-modal__head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e5e5}.school-picker-modal__head h3{margin:0;font-size:18px;font-weight:600;color:#333}.school-picker-modal__close{border:none;background:none;font-size:24px;line-height:1;color:#bbb;cursor:pointer;padding:0 4px}.school-picker-modal__close:hover{color:#666}.school-picker-modal__tabs{display:flex;padding:0 20px;border-bottom:1px solid #e5e5e5;background:#fafafa}.school-picker-modal__tab{position:relative;padding:12px 20px;border:none;background:none;color:#666;font-size:14px;cursor:pointer;transition:color .15s ease}.school-picker-modal__tab:hover{color:#00b96b}.school-picker-modal__tab.is-active{color:#00b96b;font-weight:600}.school-picker-modal__tab.is-active:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2px;background:#00b96b}.school-picker-modal__tab.is-done{color:#333}.school-picker-modal__path{margin:0;padding:8px 20px;font-size:12px;color:#999;background:#f9f9f9;border-bottom:1px solid #eee}.school-picker-modal__body{flex:1;min-height:280px;overflow-y:auto;padding:16px 20px}.school-picker-modal__hint{margin:0 0 8px;font-size:12px;color:#999}.school-picker-modal__skip{display:inline-block;margin-bottom:12px;padding:0;border:none;background:none;color:#00b96b;font-size:13px;cursor:pointer;text-decoration:underline}.school-picker-modal__empty{padding:32px 12px;text-align:center;color:#999;font-size:14px;list-style:none}.school-picker-modal__group{margin-bottom:16px}.school-picker-modal__group-title{margin:0 0 8px;padding:4px 0;font-size:13px;font-weight:700;color:#00b96b;letter-spacing:.05em}.school-picker-modal__grid{display:flex;flex-wrap:wrap;gap:8px}.school-picker-modal__grid--province{gap:6px 12px}.school-picker-modal__grid-item{padding:6px 12px;border:1px solid transparent;border-radius:4px;background:none;color:#333;font-size:14px;cursor:pointer;transition:color .12s ease,background .12s ease;white-space:nowrap}.school-picker-modal__grid-item:hover{color:#00b96b;background:#f0faf4}.school-picker-modal__grid-item.is-selected{color:#00b96b;background:#e8f8ef;border-color:#b7eb8f;font-weight:600}.school-picker-modal__grid-item--hq{color:#389e0d;font-weight:600}.school-picker-modal__grid-item--hq.is-selected{background:#f6ffed;border-color:#b7eb8f}.school-picker-modal__search{position:relative;margin-bottom:12px}.school-picker-modal__search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);display:flex;width:16px;height:16px;color:#bbb;pointer-events:none}.school-picker-modal__search-icon svg{width:100%;height:100%}.school-picker-modal__search-input{width:100%;box-sizing:border-box;height:38px;padding:0 12px 0 36px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;color:#333}.school-picker-modal__search-input:focus{outline:none;border-color:#00b96b;box-shadow:0 0 0 2px #00b96b1f}.school-picker-modal__search-input::placeholder{color:#bbb}.school-picker-modal__school-list{margin:0;padding:0;list-style:none;max-height:340px;overflow-y:auto;border:1px solid #e8e8e8;border-radius:4px}.school-picker-modal__school-item{display:block;width:100%;padding:11px 14px;border:none;border-bottom:1px solid #f0f0f0;background:#fff;color:#333;font-size:14px;text-align:left;cursor:pointer;transition:background .1s ease,color .1s ease,padding-left .1s ease}.school-picker-modal__school-item:last-child{border-bottom:none}.school-picker-modal__school-item:hover{background:#f7fcf9;color:#00b96b;padding-left:18px}.school-picker-modal__school-item.is-selected{background:#e8f8ef;color:#00b96b;font-weight:600;border-left:3px solid #00b96b;padding-left:11px}.school-picker-modal__foot{display:flex;justify-content:flex-end;gap:12px;padding:14px 20px;border-top:1px solid #e5e5e5;background:#fafafa}.school-picker-modal__btn{min-width:96px;height:36px;padding:0 20px;border-radius:4px;font-size:14px;cursor:pointer;border:1px solid #d9d9d9;background:#fff;color:#666}.school-picker-modal__btn--ghost:hover{border-color:#00b96b;color:#00b96b}.school-picker-modal__btn--primary{background:#00b96b;border-color:#00b96b;color:#fff;min-width:120px}.school-picker-modal__btn--primary:hover:not(:disabled){background:#00a35f;border-color:#00a35f}.school-picker-modal__btn--primary:disabled{opacity:.45;cursor:not-allowed}@media (max-width: 640px){.school-picker-modal__panel{width:100%;max-height:92vh}.school-picker-modal__tabs{overflow-x:auto;padding:0 12px}.school-picker-modal__tab{padding:10px 14px;white-space:nowrap}}.school-login-panel{position:relative;width:100%;box-sizing:border-box;background:#fff}.school-login-panel--embedded{padding:0}.normal-landing .school-login-panel--embedded{background:transparent}.normal-landing .school-login-panel--embedded .school-login-panel__head{margin-bottom:18px;padding-bottom:0;border-bottom:none}.normal-landing .school-login-panel--embedded .school-login-panel__title{font-size:17px;font-weight:600;color:#333}.normal-landing .school-login-panel--embedded .school-login-panel__lang{font-size:13px;padding:2px 8px}.normal-landing .school-login-panel--embedded .school-login-panel__form{display:flex;flex-direction:column;gap:12px}.normal-landing .school-login-panel--embedded .school-login-panel__school-trigger{min-height:42px;height:auto;font-size:14px;border-color:#d9d9d9;background:#fff;padding:0 14px;border-radius:4px}.normal-landing .school-login-panel--embedded .school-login-panel__field{min-height:42px;border-color:#d9d9d9;background:#fff;border-radius:4px}.normal-landing .school-login-panel--embedded .school-login-panel__label{font-size:14px;color:#333}.normal-landing .school-login-panel--embedded .school-login-panel__field .school-login-panel__input{height:40px;font-size:14px;padding:0 14px 0 0}.normal-landing .school-login-panel--embedded .school-login-panel__input,.normal-landing .school-login-panel--embedded .school-login-panel__select{height:42px;font-size:14px;border-color:#d9d9d9;background:#fff;padding:0 14px;border-radius:4px}.normal-landing .school-login-panel--embedded .school-login-panel__school-trigger.has-region-echo{align-items:flex-start;padding-top:10px;padding-bottom:10px}.normal-landing .school-login-panel--embedded .school-login-panel__options{margin-top:0;min-height:auto;padding:4px 0;font-size:13px}.normal-landing .school-login-panel--embedded .school-login-panel__form .user-terms-agree-row{margin:6px 0 0}.normal-landing .school-login-panel--embedded .school-login-panel__form .user-terms-agree-label{font-size:13px;line-height:1.5;color:#666}.normal-landing .school-login-panel--embedded .school-login-panel__form .user-terms-agree-link{font-size:inherit}.normal-landing .school-login-panel--embedded .school-login-panel__submit{height:44px;margin-top:8px;font-size:16px;border-radius:4px;letter-spacing:1px}.normal-landing .school-login-panel--embedded .school-login-panel__error{font-size:12px;padding:6px 10px}.normal-landing .school-login-panel--embedded .school-login-panel__school-trigger-arrow{font-size:16px}.normal-landing .school-login-panel--embedded .school-login-panel__aux-link{font-size:12px}.school-login-panel--page{max-width:400px;margin:0 auto;padding:20px;border-radius:4px;box-shadow:0 2px 12px #00000014}.school-login-panel__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #d4ebe0}.school-login-panel__title{margin:0;font-size:17px;font-weight:700;color:#0f2a1e}.school-login-panel__lang{border:none;background:none;padding:2px 6px;color:#4a6b5c;font-size:12px;font-weight:500;cursor:pointer}.school-login-panel__lang:hover{color:#00b96b}.school-login-panel__brand-row{text-align:center;margin-bottom:12px}.school-login-panel__form{display:flex;flex-direction:column;gap:10px}.school-login-panel__school-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:36px;padding:0 12px;border:1px solid #b8dcc8;border-radius:4px;background:#fafdfb;color:#8aa898;font-size:14px;text-align:left;cursor:pointer}.school-login-panel__school-trigger:hover{border-color:#00b96b}.school-login-panel__school-trigger.has-value{color:#0f2a1e;font-weight:500}.school-login-panel__school-trigger-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.school-login-panel__school-trigger-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;padding-right:4px}.school-login-panel__school-trigger-region{font-size:12px;font-weight:400;line-height:1.35;color:#6b7f74;word-break:break-all}.school-login-panel__school-trigger-name{font-size:14px;font-weight:600;line-height:1.35;color:#0f2a1e;word-break:break-all}.school-login-panel__school-trigger.has-region-echo{align-items:flex-start;min-height:44px;height:auto;padding-top:10px;padding-bottom:10px}.school-login-panel__school-trigger.has-region-echo .school-login-panel__school-trigger-arrow{margin-top:2px}.school-login-panel__school-trigger-arrow{flex-shrink:0;margin-left:8px;color:#999;font-size:16px}.school-login-panel__field{display:flex;align-items:center;width:100%;box-sizing:border-box;min-height:36px;border:1px solid #b8dcc8;border-radius:4px;background:#fafdfb;overflow:hidden}.school-login-panel__field:focus-within{border-color:#00b96b;box-shadow:0 0 0 2px #00b96b1f}.school-login-panel__label{flex-shrink:0;padding:0 0 0 12px;font-size:14px;color:#333;white-space:nowrap;-webkit-user-select:none;user-select:none}.school-login-panel__field .school-login-panel__input{flex:1;min-width:0;width:auto;height:34px;border:none;border-radius:0;background:transparent;box-shadow:none}.school-login-panel__field .school-login-panel__input:focus{border:none;box-shadow:none}.school-login-panel__field .school-login-panel__password-wrap{flex:1;min-width:0}.school-login-panel__field .school-login-panel__input--password{height:34px;border:none;border-radius:0;background:transparent;box-shadow:none}.school-login-panel__field .school-login-panel__input--password:focus{border:none;box-shadow:none}.school-login-panel__field .school-login-panel__select--in-field{flex:1;min-width:0;width:auto;height:34px;border:none;border-radius:0;background:transparent;box-shadow:none;padding:0 12px 0 0}.school-login-panel__field .school-login-panel__select--in-field:focus{outline:none;border:none;box-shadow:none}.school-login-panel__school-trigger--inline{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;height:34px;margin:0;padding:0 12px 0 0;border:none;border-radius:0;background:transparent;text-align:left}.school-login-panel__school-trigger--inline .school-login-panel__school-trigger-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.school-login-panel__input{width:100%;box-sizing:border-box;height:36px;padding:0 12px;border:1px solid #b8dcc8;border-radius:4px;background:#fafdfb;color:#0f2a1e;font-size:14px}.school-login-panel__input:focus{outline:none;border-color:#00b96b;box-shadow:0 0 0 2px #00b96b1f}.school-login-panel__input::placeholder{color:#8aa898}.school-login-panel__static-value{flex:1;min-width:0;height:34px;display:flex;align-items:center;padding:0 12px 0 0;color:#0f2a1e;font-size:14px;font-weight:500}.school-login-panel__password-wrap{position:relative;flex:1;min-width:0}.school-login-panel__input--password{width:100%;padding-right:52px}.school-login-panel__password-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);border:none;background:transparent;color:#00b96b;font-size:12px;line-height:1;padding:4px 6px;cursor:pointer;border-radius:4px}.school-login-panel__password-toggle:hover{background:#00b96b14}.school-login-panel__password-toggle:focus-visible{outline:2px solid rgba(0,185,107,.35);outline-offset:1px}.school-login-panel__options{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin-top:2px}.school-login-panel__remember{display:inline-flex;align-items:center;gap:5px;color:#3d5c4f;cursor:pointer}.school-login-panel__remember input{accent-color:#00b96b}.school-login-panel__aux-link{color:#00b96b;text-decoration:none;font-size:12px}.school-login-panel__aux-link:hover{text-decoration:underline}.school-login-panel__form .user-terms-agree-row{margin:0}.school-login-panel__form .user-terms-agree-label{font-size:12px;color:#3d5c4f;line-height:1.4}.school-login-panel__form .user-terms-agree-link{color:#00b96b;font-size:12px}.school-login-panel__error{padding:6px 10px;border-radius:4px;background:#fff2f0;border:1px solid #ffccc7;color:#cf1322;font-size:12px}.school-login-panel__hint{margin:0;padding:8px 10px;border-radius:4px;background:#f0f9ff;border:1px solid #bae6fd;color:#0369a1;font-size:12px;line-height:1.5}.school-login-panel__submit{width:100%;height:38px;margin-top:4px;border:none;border-radius:4px;background:#00b96b;color:#fff;font-size:15px;font-weight:500;letter-spacing:1px;cursor:pointer}.school-login-panel__submit:hover:not(:disabled){background:#00a35f}.school-login-panel__submit:disabled{opacity:.65;cursor:not-allowed}.school-login-panel__footer-link{margin:0;text-align:center;font-size:12px}.school-login-panel__footer-link a{color:#999;text-decoration:none}.school-login-panel__footer-link a:hover{color:#00b96b}.school-login-panel__form--register{gap:8px}.school-login-panel__role-row{display:flex;gap:16px;padding:2px 0 4px}.school-login-panel__role-option{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:#3d5c4f;font-weight:500;cursor:pointer}.school-login-panel__role-option input{accent-color:#00b96b}.school-login-panel__select{width:100%;height:36px;padding:0 12px;border:1px solid #b8dcc8;border-radius:4px;background:#fafdfb;color:#0f2a1e;font-size:14px;box-sizing:border-box}.school-login-panel__select:focus{outline:none;border-color:#00b96b}.school-login-panel__welcome{margin-top:12px;padding-top:10px;border-top:1px solid #f0f0f0;text-align:center;font-size:12px;color:#999}.school-login-panel__welcome p{margin:2px 0}.school-picker-modal__item--hq{font-weight:600;color:#389e0d}.school-picker-modal__item--hq:hover,.school-picker-modal__item--hq.is-selected{background:#f6ffed;color:#389e0d}.school-picker-modal__school-step .school-search-select__input{height:36px;padding:0 12px 0 36px!important;border:1px solid #d9d9d9;border-radius:4px;font-size:14px}.school-picker-modal__school-step .school-search-select__option:hover,.school-picker-modal__school-step .school-search-select__option.is-selected{background:#f6ffed;color:#00b96b}.normal-landing{position:relative;display:flex;flex-direction:column;min-height:100vh;box-sizing:border-box;background-color:#d4ebe4;background-position:center center;background-size:cover;background-repeat:no-repeat;overflow-x:hidden}.normal-landing:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(118deg,#ffffff85,#e4f6ee6b 42%,#00b96b24);pointer-events:none}.normal-landing__topbar{position:relative;z-index:3;background:#fff;border-bottom:1px solid #e8e8e8;box-shadow:0 1px 4px #0000000a}.normal-landing__topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;max-width:1200px;margin:0 auto;padding:.75rem 24px;box-sizing:border-box}.normal-landing__brand{display:flex;flex-direction:column;gap:.15rem;flex-shrink:0}.normal-landing__brand-cn{margin:0}.normal-landing__brand-en{font-size:.65rem;font-weight:600;letter-spacing:.2em;color:#999;text-transform:uppercase}.normal-landing__nav{display:flex;flex-wrap:wrap;align-items:center;gap:0 1.5rem}.normal-landing__nav-link{border:none;background:none;padding:.35rem 0;color:#333;font-size:14px;cursor:pointer;transition:color .15s ease}.normal-landing__nav-link:hover{color:#00b96b}.normal-landing__layout{position:relative;z-index:1;display:flex;flex-direction:row;align-items:flex-start;gap:20px;flex:1;width:100%;max-width:1200px;margin:0 auto;padding:20px 24px 40px;box-sizing:border-box}.normal-landing__main{flex:1 1 auto;min-width:0}.normal-landing__aside{position:sticky;top:20px;flex:0 0 420px;width:420px;max-width:100%;align-self:flex-start}.normal-landing__login-wrap{background:#fff;border:1px solid #e8e8e8;box-shadow:0 2px 8px #0000000f;padding:28px 32px 32px;box-sizing:border-box;width:100%;container-type:inline-size;container-name:normal-login}.normal-landing__about{background:#fff;border:1px solid #e8e8e8;margin-bottom:16px}.normal-landing__about-head{padding:14px 20px;border-bottom:1px solid #f0f0f0;background:#fafafa}.normal-landing__about-head h2{margin:0;font-size:15px;font-weight:600;color:#333}.normal-landing__about-body{padding:24px 28px 28px}.normal-landing__about-title{margin:0 0 14px;font-size:22px;font-weight:700;color:#333;line-height:1.35}.normal-landing__about-lead{margin:0 0 16px;font-size:15px;line-height:1.85;color:#00b96b;font-weight:600;text-align:justify}.normal-landing__about-text{margin:0 0 14px;font-size:14px;line-height:1.9;color:#666;text-align:justify}.normal-landing__about-text:last-child{margin-bottom:0}.normal-landing__stats{display:flex;flex-wrap:wrap;gap:0;margin-bottom:16px;background:#fff;border:1px solid #e8e8e8}.normal-landing__stat{flex:1 1 120px;padding:20px 16px;text-align:center;border-right:1px solid #f0f0f0;box-sizing:border-box}.normal-landing__stat:last-child{border-right:none}.normal-landing__stat strong{display:block;font-size:28px;font-weight:700;color:#00b96b;line-height:1.1}.normal-landing__stat span{display:block;margin-top:6px;font-size:13px;color:#666}.normal-landing__info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.normal-landing__info-panel{background:#fff;border:1px solid #e8e8e8;min-height:200px}.normal-landing__info-head{padding:14px 20px;border-bottom:1px solid #f0f0f0;background:#fafafa}.normal-landing__info-head h2{margin:0;font-size:15px;font-weight:600;color:#333}.normal-landing__list{list-style:none;margin:0;padding:8px 0}.normal-landing__list-item{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;padding:12px 20px;border:none;border-bottom:1px dashed #f0f0f0;background:transparent;box-sizing:border-box}.normal-landing__list-item:last-child{border-bottom:none}.normal-landing__list-item--link{cursor:pointer;transition:background .15s ease}.normal-landing__list-item--link:hover{background:#f6ffed}.normal-landing__list-date{font-size:12px;color:#999}.normal-landing__list-title{font-size:14px;font-weight:600;color:#333;line-height:1.45}.normal-landing__list-badge{display:inline-block;margin-right:6px;padding:0 5px;font-size:11px;font-style:normal;font-weight:600;color:#fff;background:#00b96b;border-radius:2px;vertical-align:middle}.normal-landing__list-summary{font-size:12px;color:#999;line-height:1.5}.normal-landing__empty{padding:24px 20px;text-align:center;color:#bbb;font-size:13px}.normal-landing__footer-bar{text-align:center;padding:8px 0}.normal-landing__footer-btn{border:1px solid #d9d9d9;background:#fff;color:#666;font-size:13px;padding:8px 24px;cursor:pointer;transition:border-color .15s ease,color .15s ease}.normal-landing__footer-btn:hover{border-color:#00b96b;color:#00b96b}@media (max-width: 1024px){.normal-landing__layout{flex-direction:column;padding-top:0;gap:0;max-width:100%}.normal-landing__aside{position:static;order:-1;width:100%;flex:none;padding:0 16px;box-sizing:border-box}.normal-landing__login-wrap{max-width:520px;margin:12px auto 16px}.normal-landing__main{padding:0 16px 24px}.normal-landing__about-body{padding:16px}.normal-landing__info-grid{grid-template-columns:1fr}}@media (max-width: 640px){.normal-landing__topbar-inner{flex-direction:column;align-items:flex-start;padding:12px 16px}.normal-landing__nav{gap:0 1rem}.normal-landing__aside{padding:0}.normal-landing__login-wrap{max-width:100%;margin:0;border-radius:0;border-left:none;border-right:none;box-shadow:none;border-bottom:1px solid #e8e8e8}.normal-landing__stat strong{font-size:22px}}@media (min-width: 1440px){.normal-landing__layout,.normal-landing__topbar-inner{max-width:1320px}.normal-landing__aside{flex:0 0 440px;width:440px}}.register-page{min-height:calc(100vh - var(--app-header-offset, 70px));display:flex;align-items:center;justify-content:center;padding:24px 16px;background:#01a18eeb}.register-page-card{max-width:520px;width:100%;animation:slideIn .5s ease-out}.register-role-fieldset,.register-school-fieldset{margin:0 0 12px;padding:10px 12px;border:1px solid rgba(13,148,136,.25);border-radius:8px}.register-role-fieldset legend,.register-school-fieldset legend{padding:0 6px;font-size:14px;font-weight:600;color:#134e4a}.register-school-hint{display:block;margin:0 0 4px}.register-role-option{display:inline-flex;align-items:center;gap:6px;margin-right:20px;font-size:14px;cursor:pointer}.register-page .form-group select{width:100%;padding:10px 12px;border:1px solid rgba(13,148,136,.35);border-radius:8px;font-size:14px;background:#fff;color:#134e4a}.register-page .form-group select:disabled{opacity:.6;cursor:not-allowed}.normal-login-tabs{display:flex;gap:8px;margin-bottom:16px}.normal-login-tab{flex:1;padding:10px 12px;border:1px solid rgba(13,148,136,.35);border-radius:8px;background:#ffffffd9;color:#134e4a;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease}.normal-login-tab:hover{border-color:#0d948899}.normal-login-tab.is-active{background:#0d94881f;border-color:#0d9488;color:#0f766e}.normal-login-staff-hint{margin:0 0 12px;font-size:13px;line-height:1.5;color:#64748b}.register-login-link{margin:4px 0 0;text-align:center;font-size:14px;color:#134e4ad9}.register-login-link a{color:#0d9488;font-weight:600;text-decoration:none}.register-login-link a:hover{text-decoration:underline}.login-register-link{margin:0;text-align:center;font-size:14px;color:#134e4ad9}.login-register-link a{color:#0d9488;font-weight:600;text-decoration:none}.login-register-link a:hover{text-decoration:underline}.prerace-register-page{min-height:calc(100vh - var(--app-header-offset, 70px));margin-top:var(--app-header-offset, 70px);padding:24px 16px 48px;display:flex;align-items:flex-start;justify-content:center;box-sizing:border-box}.prerace-register-card{width:min(520px,100%);max-height:none}.prerace-register-loading{text-align:center;padding:48px;color:var(--home-text-muted, #94a3b8)}.prerace-register-closed{margin:0 0 16px;padding:12px 14px;border-radius:10px;background:color-mix(in srgb,#f59e0b 14%,var(--home-card, #1e293b));border:1px solid color-mix(in srgb,#f59e0b 42%,transparent);color:var(--home-text, #f8fafc);font-size:.95rem;line-height:1.5;text-align:center}.prerace-register-hint{margin:0 0 14px;font-size:.9rem;line-height:1.5;color:var(--home-text-muted, #94a3b8)}.prerace-register-form .register-school-fieldset{margin:0 0 12px;padding:16px 16px 6px;border:1px solid rgba(1,161,142,.22);border-radius:14px;background:linear-gradient(165deg,#01a18e0f,#ffffffeb 48%);box-shadow:inset 0 1px #ffffffd9}.prerace-register-form .register-school-fieldset legend{padding:0 10px;font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--theme-primary-text, #01796f)}.prerace-register-form .register-school-fieldset .form-group{gap:6px;margin-bottom:10px}.prerace-register-form .register-school-fieldset .form-group label{font-size:13px;font-weight:600;color:#334155}.prerace-register-form .form-group select,.prerace-register-form .register-school-fieldset .form-group input[type=text]{width:100%;box-sizing:border-box;padding:12px 40px 12px 14px;border:1px solid rgba(1,161,142,.32);border-radius:10px;font-size:15px;line-height:1.35;color:#1e293b;background-color:#fff;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.prerace-register-form .form-group select{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2301a18e' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px}.prerace-register-form .register-school-fieldset .form-group input[type=text]{padding-right:14px;background-image:none}.prerace-register-form .form-group select:hover:not(:disabled),.prerace-register-form .register-school-fieldset .form-group input[type=text]:hover:not(:disabled){border-color:#01a18e8c}.prerace-register-form .form-group select:focus,.prerace-register-form .register-school-fieldset .form-group input[type=text]:focus{outline:none;border-color:var(--theme-primary, #01a18e);box-shadow:0 0 0 3px #01a18e24}.prerace-register-form .form-group select:disabled,.prerace-register-form .register-school-fieldset .form-group input[type=text]:disabled{background-color:#f1f5f9;color:#94a3b8;border-color:#94a3b859;cursor:not-allowed;opacity:1}.prerace-register-form .form-group select option{color:#1e293b;background:#fff}@media (min-width: 440px){.prerace-register-form .register-school-fieldset{display:grid;grid-template-columns:1fr 1fr;column-gap:14px;row-gap:2px}.prerace-register-form .register-school-fieldset legend{grid-column:1 / -1;margin-bottom:4px}.prerace-register-form .register-school-fieldset .form-group:nth-child(n+4){grid-column:1 / -1}}.prerace-register-form input.is-readonly,.prerace-register-page input.is-readonly{opacity:.88;cursor:default}.user-terms-block{display:flex;flex-direction:column;background:#f0fdfa;border:1px solid rgba(1,161,142,.35);border-radius:20px;overflow:hidden;min-height:0}.user-terms-block-header{flex-shrink:0;padding:20px 20px 10px;text-align:center}.user-terms-block-header h2{margin:0 0 6px;font-size:20px;color:#134e4a}.user-terms-block-updated{margin:0;font-size:12px;color:#134e4aa6}.user-terms-block-body{flex:1;overflow-y:auto;padding:8px 20px 12px;font-size:13px;line-height:1.6;color:#134e4a}.user-terms-block-section{margin-bottom:12px}.user-terms-block-section h3{margin:0 0 4px;font-size:14px;color:#0f766e}.user-terms-block-section p{margin:0}.user-terms-block-footer{flex-shrink:0;padding:12px 20px 16px;border-top:1px solid rgba(1,161,142,.2)}.user-terms-block-check{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:13px;color:#134e4a}.user-terms-block-check input{margin-top:2px;flex-shrink:0;accent-color:#0d9488}.user-terms-block-error{margin:8px 0 0;color:#b91c1c;font-size:12px}.user-terms-block--compact .user-terms-block-body{max-height:200px}.login-auth-shell{display:flex;flex-direction:row;align-items:stretch;gap:16px;width:min(920px,96vw);max-height:min(90vh,800px)}.login-auth-shell .user-terms-block{flex:1 1 340px;min-width:0;max-height:min(90vh,800px)}.login-auth-shell .login-modal{flex:0 0 min(400px,100%);max-width:400px;max-height:min(90vh,800px);overflow-y:auto;margin:0}@media (max-width: 820px){.login-auth-shell{flex-direction:column;max-height:none;width:min(480px,96vw)}.login-auth-shell .user-terms-block{max-height:38vh}.login-auth-shell .login-modal{flex:1 1 auto;max-width:none;max-height:none}}.user-terms-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:#01a18ef0;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.user-terms-panel{position:relative;width:min(640px,100%);max-height:min(90vh,720px);display:flex;flex-direction:column;background:#f0fdfa;border:1px solid rgba(1,161,142,.35);border-radius:20px;box-shadow:0 24px 64px #0000002e;overflow:hidden}.user-terms-lang{position:absolute;top:14px;right:16px;border:none;background:transparent;color:#0f766e;font-size:13px;cursor:pointer;padding:4px 10px;border-radius:999px;z-index:1}.user-terms-lang:hover{background:#0f766e1a}.user-terms-header{padding:28px 24px 12px;text-align:center;flex-shrink:0}.user-terms-header h2{margin:0 0 6px;font-size:22px;color:#134e4a}.user-terms-updated{margin:0;font-size:13px;color:#134e4aa6}.user-terms-body{flex:1;overflow-y:auto;padding:8px 24px 16px;font-size:14px;line-height:1.65;color:#134e4a}.user-terms-section{margin-bottom:16px}.user-terms-section h3{margin:0 0 6px;font-size:15px;color:#0f766e}.user-terms-section p{margin:0}.user-terms-footer{flex-shrink:0;padding:12px 24px 24px;border-top:1px solid rgba(1,161,142,.2)}.user-terms-check{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:14px;color:#134e4a}.user-terms-check input{margin-top:3px;flex-shrink:0}.user-terms-error{margin:10px 0 0;color:#b91c1c;font-size:13px}.user-terms-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.user-terms-btn{flex:1 1 140px;padding:12px 18px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;border:none;transition:opacity .2s ease,transform .15s ease}.user-terms-btn:disabled{opacity:.65;cursor:not-allowed}.user-terms-btn--primary{background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff}.user-terms-btn--primary:hover:not(:disabled){transform:translateY(-1px)}.user-terms-btn--ghost{background:transparent;border:1px solid rgba(15,118,110,.45);color:#0f766e}.user-terms-panel--gate .user-terms-block{border:none;border-radius:0;background:transparent;box-shadow:none}.user-terms-gate-actions{display:flex;flex-wrap:wrap;gap:10px;padding:0 24px 24px;flex-shrink:0}.user-terms-gate-actions .user-terms-btn{flex:1 1 140px}.game-level-3d{width:100%;height:100%;min-height:420px;max-width:100%;position:relative;display:flex;flex-direction:column;background:#7fd4eb;border-radius:16px;overflow:hidden;isolation:isolate;contain:paint;box-shadow:0 8px 32px #00000038;border:1px solid rgba(255,255,255,.12)}@media (max-width: 900px){.game-level-3d{min-height:0;border-radius:10px;box-shadow:0 4px 16px #0000002e}.game-level-3d__pan-wheel{min-height:1.35rem;padding:.2rem .45rem;font-size:.65rem;gap:.3rem}.game-level-3d__pan-wheel-icon{font-size:.75rem}.completion-content{padding:1.25rem 1.35rem;border-radius:12px;max-width:min(92vw,22rem)}.completion-content h3{font-size:1.15rem;margin-bottom:.45rem}.completion-content p{font-size:.82rem;margin-bottom:.85rem}.completion-stars{font-size:.88rem!important}.raft-float-label{font-size:11px;padding:3px 7px}}.game-level-3d__viewport{flex:1 1 auto;min-height:0;min-width:0;position:relative;overflow:hidden}.game-level-3d__viewport canvas{display:block;width:100%!important;height:100%!important;touch-action:none}.game-level-3d__pan-wheel{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:clamp(6px,4px + .25vw,8px);min-height:clamp(24px,22px + .45vw,30px);padding:clamp(4px,3px + .18vw,6px) clamp(8px,6px + .35vw,12px);background:#0a0e27d1;border-top:1px solid rgba(255,255,255,.14);color:#ffffffd1;font-size:clamp(.68rem,.62rem + .32vw,.82rem);font-weight:600;cursor:grab;-webkit-user-select:none;user-select:none}.game-level-3d__pan-wheel:hover{background:#0e142aeb;color:#fff}.game-level-3d__pan-wheel-icon{font-size:clamp(.82rem,.74rem + .35vw,.92rem);opacity:.9;flex-shrink:0}@container game-left-panel (max-width: 480px){.game-level-3d__pan-wheel{font-size:clamp(.62rem,.58rem + .38cqw,.74rem);padding:4px 8px}.game-level-3d__pan-wheel>span:not(.game-level-3d__pan-wheel-icon){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@container game-left-panel (max-width: 380px){.game-level-3d__pan-wheel>span:not(.game-level-3d__pan-wheel-icon){display:none}}.game-level-3d canvas{display:block;touch-action:none}.completion-message{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .35s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.completion-content{background:linear-gradient(145deg,#43a047f2,#2e7d32f2);padding:44px 56px;border-radius:20px;text-align:center;box-shadow:0 20px 60px #0006,0 0 0 1px #ffffff1a;animation:scaleIn .35s ease;border:1px solid rgba(255,255,255,.2)}@keyframes scaleIn{0%{transform:scale(.88);opacity:0}to{transform:scale(1);opacity:1}}.completion-content h3{color:#fff;font-size:1.75rem;font-weight:700;margin:0 0 12px;text-shadow:0 2px 8px rgba(0,0,0,.2)}.completion-content p{color:#fffffff2;font-size:1rem;margin:0 0 24px}.completion-stars{color:#ffd54f!important;font-size:1.15rem!important;font-weight:600;margin:-8px 0 16px!important}.completion-extra-hint{margin:-12px 0 20px!important;font-size:.92rem!important;color:#ffffffe0!important;line-height:1.5}.completion-buttons{display:flex;gap:14px;justify-content:center;margin-top:8px;flex-wrap:wrap}.complete-button{padding:12px 28px;background:linear-gradient(135deg,#fff,#e8f5e9);border:none;border-radius:10px;color:#2e7d32;font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 14px #0003}.complete-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000040;background:linear-gradient(135deg,#e8f5e9,#c8e6c9)}.complete-button:active{transform:translateY(0)}.next-level-button{padding:12px 28px;background:linear-gradient(135deg,#2196f3,#1976d2);border:none;border-radius:10px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 14px #2196f366}.next-level-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2196f380;background:linear-gradient(135deg,#1976d2,#1565c0)}.next-level-button:active{transform:translateY(0)}.replay-button{padding:12px 28px;background:linear-gradient(135deg,#fff8e1,#ffe082);border:none;border-radius:10px;color:#e65100;font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 14px #0003}.replay-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000040;background:linear-gradient(135deg,#ffe082,#ffd54f)}.replay-button:active{transform:translateY(0)}.fail-message{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .35s ease}.fail-content{background:linear-gradient(145deg,#d32f2ff2,#b71c1cf2);padding:56px 72px;border-radius:20px;text-align:center;box-shadow:0 20px 60px #0006,0 0 0 1px #ffffff1a;animation:scaleIn .35s ease;border:1px solid rgba(255,255,255,.15);width:min(1120px,94vw);max-width:2220px}.fail-content h3{color:#fff;font-size:1.75rem;font-weight:700;margin:0 0 12px;text-shadow:0 2px 8px rgba(0,0,0,.2)}.fail-content p{color:#fffffff2;font-size:1rem;margin:0 0 24px}.fail-buttons{display:flex;gap:14px;justify-content:center;margin-top:18px;flex-wrap:wrap}.restart-button,.exit-button{padding:12px 28px;font-size:1rem;font-weight:600;border:none;border-radius:10px;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 14px #0003}.walkthrough-button{padding:12px 28px;font-size:1rem;font-weight:600;border:none;border-radius:10px;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 14px #0003;background:linear-gradient(135deg,#7b1fa2,#4a148c);color:#fff}.walkthrough-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #7b1fa273}.walkthrough-button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:0 4px 14px #0003}.restart-button{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}.restart-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff980080}.exit-button{background:#fffffff2;color:#c62828}.exit-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003;background:#fff}.walkthrough-inline{margin-top:12px;width:100%;max-height:660px;overflow:auto;display:flex;justify-content:center}.walkthrough-inline-video{width:100%;max-height:660px;background:#000;border-radius:12px;display:block}.walkthrough-inline-fallback{padding:14px 16px;color:#ffffffeb;font-size:.95rem;line-height:1.6;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:#00000040}.raft-float-label{padding:clamp(4px,3px + .2vw,6px) clamp(8px,6px + .35vw,12px);border-radius:var(--ui-radius-sm, 8px);font-size:clamp(12px,11px + .28vw,15px);font-weight:600;white-space:nowrap;color:#0a2540;background:#ffffffeb;border:1px solid rgba(10,37,64,.12);box-shadow:0 4px 14px #0000002e}.hw-source-dialog-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2400;pointer-events:none}.hw-source-dialog{position:absolute;left:50%;top:50%;width:min(480px,calc(100vw - 32px));max-height:min(400px,calc(100vh - 48px));display:flex;flex-direction:column;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 12px 32px 4px #0000000a,0 8px 20px #00000014;pointer-events:auto;-webkit-user-select:none;user-select:none}.hw-source-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:0 4px 0 12px;background:linear-gradient(135deg,#4c97ff,#3373cc);color:#fff;cursor:move}.hw-source-dialog__title{font-size:16px;font-weight:700;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hw-source-dialog__header-actions{display:flex;align-items:center;gap:2px}.hw-source-dialog__copy,.hw-source-dialog__close{border:none;background:transparent;color:#fff;cursor:pointer;font-size:14px;line-height:1;padding:0 12px;min-height:48px;transition:background .15s ease}.hw-source-dialog__copy:hover,.hw-source-dialog__close:hover{background:#0000001f}.hw-source-dialog__close{font-size:22px;font-weight:400}.hw-source-dialog__meta{padding:8px 12px 0;font-size:12px;font-weight:600;color:#606266;background:#f5f7fa}.hw-source-dialog__lang-picker{display:flex;align-items:center;gap:8px;margin:0;padding-bottom:8px}.hw-source-dialog__lang-label{flex-shrink:0}.hw-source-dialog__lang-select{flex:1;min-width:0;max-width:200px;padding:4px 8px;font-size:12px;font-weight:600;color:#303133;border:1px solid #dcdfe6;border-radius:6px;background:#fff;cursor:pointer}.hw-source-dialog__body{flex:1;min-height:0;background:#f5f7fa;padding:8px 0 0}.hw-source-dialog__code{margin:0;height:320px;overflow:auto;padding:12px 14px 16px;font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.55;color:#2c3e50;white-space:pre-wrap;word-break:break-word;background:#fff;border-top:1px solid #eef1f5;-webkit-user-select:text;user-select:text}@media (max-width: 900px){.hw-source-dialog{width:min(22rem,calc(100vw - 1rem));max-height:min(70dvh,calc(100dvh - 1.25rem));border-radius:10px}.hw-source-dialog__header{min-height:2.25rem;padding:0 .15rem 0 .65rem}.hw-source-dialog__title{font-size:.85rem}.hw-source-dialog__copy,.hw-source-dialog__close{min-height:2.25rem;padding:0 .55rem;font-size:.75rem}.hw-source-dialog__close{font-size:1.15rem}.hw-source-dialog__meta{padding:.4rem .65rem 0;font-size:.7rem}.hw-source-dialog__lang-select{font-size:.7rem;padding:.2rem .4rem}.hw-source-dialog__code{height:min(14rem,42dvh);padding:.55rem .7rem .75rem;font-size:.72rem;line-height:1.45}}.hardware-blockly-editor{display:flex;flex-direction:column;height:100%;min-height:0;container-type:inline-size;container-name:hardware-blockly-editor;background:#f5f7fa;--hw-font: clamp(.68rem, .58rem + 1.1cqw, .82rem);--hw-font-sm: clamp(.58rem, .5rem + .85cqw, .72rem);--hw-pad-y: clamp(.2rem, .12rem + .55cqw, .42rem);--hw-pad-x: clamp(.35rem, .22rem + .85cqw, .72rem);--hw-btn-h: clamp(1.35rem, 1.15rem + 1.1cqw, 1.85rem);--hw-gap: clamp(3px, 2px + .35cqw, 8px);--hw-radius: clamp(5px, 4px + .25cqw, 9px)}.hardware-blockly-toolbar{display:flex;flex-direction:column;gap:var(--hw-gap);padding:clamp(6px,4px + .4cqw,10px) clamp(6px,4px + .5cqw,12px);border-bottom:1px solid rgba(100,181,246,.22);background:linear-gradient(180deg,#0e142afa,#0a0e27f5);flex-shrink:0;position:sticky;top:0;z-index:30}.hardware-blockly-toolbar__row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--hw-gap)}.hardware-bt-profile-select select{padding:var(--hw-pad-y) 22px var(--hw-pad-y) var(--hw-pad-x);border-radius:var(--hw-radius);border:1px solid rgba(100,181,246,.45);background:#00000059;color:#e3f2fd;font-size:var(--hw-font-sm);max-width:min(110px,28cqw);min-height:var(--hw-btn-h);box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hardware-controller-select{display:inline-flex;align-items:center;gap:var(--hw-gap);font-size:var(--hw-font);color:#ffffffe0;min-width:0}.hardware-controller-select__label{flex-shrink:0}.hardware-controller-select select{padding:var(--hw-pad-y) 26px var(--hw-pad-y) var(--hw-pad-x);border-radius:var(--hw-radius);border:1px solid rgba(100,181,246,.45);background:#00000059;color:#e3f2fd;font-size:var(--hw-font);min-height:var(--hw-btn-h);max-width:min(140px,36cqw);box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,rgba(144,202,249,.9) 50%),linear-gradient(135deg,rgba(144,202,249,.9) 50%,transparent 50%);background-position:calc(100% - 12px) calc(50% + 2px),calc(100% - 7px) calc(50% + 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.hw-toolbar-group{display:inline-flex;align-items:center;gap:clamp(2px,1px + .3cqw,6px);padding:clamp(2px,1px + .25cqw,4px) clamp(4px,2px + .4cqw,8px);border-radius:var(--hw-radius);background:#ffffff0a;border:1px solid rgba(255,255,255,.08);flex-shrink:0}.hw-toolbar-group__label{font-size:var(--hw-font-sm);color:#ffffff73;margin-right:1px;-webkit-user-select:none;user-select:none;flex-shrink:0}.hw-conn-dot{width:clamp(7px,6px + .25cqw,10px);height:clamp(7px,6px + .25cqw,10px);border-radius:50%;background:#ef5350;box-shadow:0 0 0 2px #ef535040;flex-shrink:0}.hw-conn-dot--on{background:#66bb6a;box-shadow:0 0 8px #66bb6aa6}.hw-btn{min-height:var(--hw-btn-h);height:auto;padding:var(--hw-pad-y) var(--hw-pad-x);border:none;border-radius:var(--hw-radius);font-size:var(--hw-font);font-weight:600;line-height:1.15;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease,opacity .15s ease;white-space:nowrap;box-sizing:border-box}.hw-btn__short{display:none}.hw-btn__full{display:inline}.hw-btn:hover:not(:disabled){transform:translateY(-1px)}.hw-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.hw-btn--ghost{background:#ffffff1a;color:#b3e5fc;border:1px solid rgba(144,202,249,.35)}.hw-btn--ghost:hover:not(:disabled){background:#64b5f633}.hw-btn--upload{background:linear-gradient(135deg,#5c6bc0,#3949ab);color:#fff;box-shadow:0 2px 8px #3949ab66}.hw-btn--device-run{background:linear-gradient(135deg,#26a69a,#00897b);color:#fff;box-shadow:0 2px 8px #00897b59}.hw-btn--stop{background:linear-gradient(135deg,#ef5350,#c62828);color:#fff;box-shadow:0 2px 8px #c6282859}.hw-btn--sim-run{background:linear-gradient(135deg,#66bb6a,#43a047);color:#fff;box-shadow:0 2px 10px #4caf5066}.hw-btn--reset{background:linear-gradient(135deg,#ffa726,#f57c00);color:#fff;box-shadow:0 2px 8px #f57c004d}.hw-btn--code{background:#fff;color:#546e7a;box-shadow:0 2px 6px #0000001f;margin-left:auto}.hw-btn--code-active{background:#4c97ff;color:#fff}.hardware-blockly-status{display:flex;flex-wrap:wrap;align-items:center;gap:var(--hw-gap);font-size:var(--hw-font-sm);color:#ffffffa6;min-height:16px}.hardware-blockly-status__busy{color:#81d4fa}.hardware-blockly-status__log{margin:0;font-family:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:#ffffff8c}.hardware-blockly-workspace{flex:1;min-height:0;position:relative}.hardware-blockly-workspace .blocklySvg{width:100%!important;height:100%!important}.hardware-blockly-error{flex:1;display:flex;align-items:center;justify-content:center;padding:24px;color:#ff8a80;font-size:var(--hw-font);text-align:center}:global(.blocklyHtmlInput),:global(.blocklyWidgetDiv .blocklyHtmlInput){font-size:16px!important;min-height:28px}@container hardware-blockly-editor (max-width: 720px){.hw-toolbar-group__label,.hardware-controller-select__label,.hw-btn__full{display:none}.hw-btn__short{display:inline}.hw-btn--code{margin-left:0}}@container hardware-blockly-editor (max-width: 560px){.hardware-blockly-toolbar__row{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:2px}.hw-toolbar-group{padding:2px 4px}.hardware-controller-select select{max-width:108px}}@container hardware-blockly-editor (max-width: 400px){.hardware-blockly-toolbar{--hw-font: clamp(.6rem, .54rem + 1.2cqw, .72rem);--hw-font-sm: clamp(.52rem, .48rem + .9cqw, .64rem);--hw-btn-h: clamp(1.22rem, 1.1rem + 1cqw, 1.5rem);--hw-pad-x: clamp(.28rem, .2rem + .7cqw, .5rem)}}@media (max-width: 1024px),(max-height: 800px){.hardware-bt-profile-select select{max-width:96px}}@media (max-width: 640px){.hw-toolbar-group__label,.hardware-controller-select__label,.hw-btn__full{display:none}.hw-btn__short{display:inline}.hardware-blockly-toolbar__row{flex-wrap:nowrap;overflow-x:auto}.hw-btn--code{margin-left:0}}.race-line-patrol-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2350;pointer-events:none}.race-line-patrol-dialog{position:absolute;width:min(300px,calc(100vw - 24px));max-height:min(280px,calc(100vh - 48px));display:flex;flex-direction:column;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 12px 32px 4px #0000000a,0 8px 20px #00000014;pointer-events:auto;-webkit-user-select:none;user-select:none}.race-wavesensor-dialog{width:min(340px,calc(100vw - 24px));max-height:min(420px,calc(100vh - 48px))}.race-line-patrol-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding:0 4px 0 10px;background:linear-gradient(135deg,#4c97ff,#3373cc);color:#fff;cursor:move}.race-line-patrol-dialog__title{font-size:14px;font-weight:700;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.race-line-patrol-dialog__close{border:none;background:transparent;color:#fff;cursor:pointer;font-size:20px;line-height:1;padding:0 10px;min-height:40px}.race-line-patrol-dialog__close:hover{background:#0000001f}.race-line-patrol-dialog__meta{margin:0;padding:6px 10px 0;font-size:11px;font-weight:600;color:#606266;background:#f5f7fa;line-height:1.45}.race-line-patrol-dialog__diag{display:block;margin-top:4px;font-weight:500;color:#909399}.race-line-patrol-dialog__body{flex:1;min-height:0;overflow:auto;padding:8px 10px 10px;background:#f5f7fa}.race-line-patrol-dialog__row{display:flex;align-items:center;gap:4px;margin-bottom:6px;font-size:11px}.race-line-patrol-dialog__row:last-child{margin-bottom:0}.race-line-patrol-dialog__pin{flex:0 0 1.5rem;font-weight:700;color:#3373cc}.race-line-patrol-dialog__cell{flex:1;display:flex;flex-direction:column;align-items:center;min-width:0;padding:3px 2px;border-radius:6px;background:#fff;border:1px solid #e4e7ed}.race-line-patrol-dialog__cell em{font-style:normal;font-size:9px;color:#909399}.race-line-patrol-dialog__cell b{font-size:11px;font-variant-numeric:tabular-nums;color:#303133}.race-line-patrol-dialog__cell--wide{flex:1;align-items:flex-start;padding:4px 8px}.race-line-patrol-dialog__cell--pressed b{color:#e6a23c}.race-wavesensor-dialog__port{margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid #e4e7ed}.race-wavesensor-dialog__port:last-of-type{margin-bottom:0;padding-bottom:0;border-bottom:none}.race-wavesensor-dialog__port-head{margin-bottom:4px}.race-wavesensor-dialog__type{flex:1;font-size:11px;font-weight:600;color:#606266}.race-wavesensor-dialog__channels{padding-left:1.75rem}.race-wavesensor-dialog__color{flex-wrap:wrap;align-items:center}.race-wavesensor-dialog__swatch{flex:0 0 auto;width:28px;height:28px;border-radius:6px;border:1px solid rgba(0,0,0,.12);box-shadow:inset 0 0 0 1px #ffffff59}.race-wavesensor-dialog{width:min(360px,calc(100vw - 24px))}.race-wavesensor-dialog__row{display:flex;align-items:flex-start;gap:6px;margin-bottom:8px;font-size:11px}.race-wavesensor-dialog__row:last-child{margin-bottom:0}.race-wavesensor-dialog__type{flex:0 0 auto;min-width:3.5rem;font-weight:600;color:#606266;padding-top:4px}.race-wavesensor-dialog__channels{flex:1;display:flex;gap:3px;min-width:0}.race-wavesensor-dialog__unbound{flex:1;color:#c0c4cc;font-weight:500;padding:4px 0}.race-line-patrol-dialog__log{margin:8px 0 0;padding:6px 8px;max-height:4rem;overflow:auto;font-family:Consolas,Monaco,monospace;font-size:11px;line-height:1.4;color:#3373cc;background:#fff;border:1px solid #e4e7ed;border-radius:6px;-webkit-user-select:text;user-select:text}.level-supply-goal{margin-top:8px;font-size:clamp(.76rem,.7rem + .32vw,.92rem);color:#ffffffe0;line-height:1.5}.football-match-hud{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:center;margin-top:10px;padding:.55rem .75rem;border-radius:8px;background:#ffffff14;border:1px solid rgba(255,255,255,.12)}.football-match-hud__label{margin-right:.45rem;font-size:.82rem;color:#ffffffb8}.football-match-hud__clock strong,.football-match-hud__score strong{font-size:1.15rem;font-variant-numeric:tabular-nums;color:#fff}.football-match-hud__time--live{color:#fdba74}.football-match-hud__blue{color:#93c5fd}.football-match-hud__red{color:#fca5a5}.football-match-hud__sep{margin:0 .35rem;color:#ffffff8c}.football-match-rule,.football-match-summary{font-weight:500}.game-page{box-sizing:border-box;height:calc(100svh + -0px);max-height:100svh;min-height:0;padding:72px 24px 16px;padding-top:calc(env(safe-area-inset-top,0px) + 12px + var(--app-header-offset, 70px));padding-bottom:max(16px,env(safe-area-inset-bottom,0px));position:relative;z-index:1;display:flex;flex-direction:column;overflow:hidden}.game-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 16px;margin-bottom:24px;flex-shrink:0;padding:16px 28px;background:linear-gradient(135deg,#1a2342b3,#0f162dd9);border:1px solid rgba(100,181,246,.3);border-radius:14px;width:100%;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 24px #0003}.game-page .back-button{padding:10px 20px;background:#ffffff26;border:2px solid rgba(255,255,255,.6);border-radius:10px;color:#fff;font-size:15px;font-weight:500;cursor:pointer;transition:all .25s ease;outline:none}.game-page .back-button:hover{background:#ffffff40;border-color:#ffffffe6;color:#fff;transform:translate(-2px);box-shadow:0 0 0 1px #ffffff80}.game-page__back{align-self:flex-start;margin-bottom:12px;flex-shrink:0}.level-title{font-size:1.35rem;font-weight:700;color:#ffd54f;margin:0;letter-spacing:-.02em;text-shadow:0 0 16px rgba(255,213,79,.4)}.level-info{color:#90caf9;font-size:.95rem;margin:0}.game-container{display:grid;align-items:stretch;gap:0;width:100%;flex:1 1 0;min-height:0;min-width:0;overflow:hidden;isolation:isolate}.game-left-panel{grid-column:1;grid-row:1;min-width:0;display:flex;flex-direction:column;gap:12px;min-height:0;overflow:hidden;isolation:isolate;contain:layout paint;position:relative;z-index:1;container-type:inline-size;container-name:game-left-panel}.game-split-handle{grid-column:2;grid-row:1;place-self:center stretch;width:14px;max-width:100%;height:56px;max-height:min(56px,42%);margin:auto 0;z-index:6;padding:0;border:1px solid rgba(100,181,246,.45);border-radius:8px;cursor:col-resize;touch-action:none;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#1e2848f2,#121830fa);box-shadow:0 2px 10px #00000059;flex-shrink:0;-webkit-tap-highlight-color:transparent}.game-split-grip{display:block;width:3px;height:20px;border-radius:2px;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.65) 0 3px,transparent 3px 6px)}.game-split-handle:hover,.game-split-handle:focus-visible{border-color:#90caf9d9;box-shadow:0 0 0 1px #64b5f659,0 4px 16px #2196f340;outline:none}.game-split-handle--dragging{border-color:#b3e5fcf2;box-shadow:0 0 0 2px #64b5f673,0 6px 20px #2196f359}.game-split-handle--horizontal{grid-column:1;grid-row:2;width:56px;max-width:min(56px,36%);height:14px;max-height:100%;margin:0 auto;cursor:row-resize}.game-split-handle--horizontal .game-split-grip{width:22px;height:3px;background:repeating-linear-gradient(to right,rgba(255,255,255,.65) 0 3px,transparent 3px 6px)}.game-container--stacked .game-left-panel{grid-column:1;grid-row:1}.game-container--stacked .game-split-handle{grid-column:1;grid-row:2}.game-container--stacked .game-right-panel{grid-column:1;grid-row:3}.game-level-stage-wrap{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.game-stage-toolbar{position:absolute;top:clamp(8px,6px + .35vw,12px);right:clamp(8px,6px + .35vw,12px);z-index:4;display:flex;align-items:center;gap:clamp(6px,4px + .25vw,8px)}.game-bgm-toggle,.game-grid-toggle,.game-line-patrol-toggle,.game-sim-stop-btn{min-height:var(--ui-btn-min-h-sm, 2rem);font-size:var(--ui-btn-font, 13px);padding:var(--ui-btn-pad-y, 6px) var(--ui-btn-pad-x, 11px);border-radius:var(--ui-radius-sm, 8px)}.game-bgm-toggle{min-width:var(--ui-btn-min-h-sm, 2rem);padding:var(--ui-btn-pad-y, 6px) clamp(8px,6px + .2vw,10px);border:1px solid rgba(100,181,246,.45);background:linear-gradient(145deg,#1a2342eb,#0f162df2);color:#ffffffeb;font-size:clamp(.82rem,.74rem + .35vw,1.05rem);line-height:1;cursor:pointer;box-shadow:0 2px 10px #00000040;transition:border-color .2s ease,box-shadow .2s ease,opacity .2s ease}.game-bgm-toggle:hover{border-color:#90caf9bf}.game-bgm-toggle--on{border-color:#81d4faf2;box-shadow:0 0 0 1px #64b5f659,0 2px 14px #2196f359}.game-bgm-toggle--off{opacity:.72;border-color:#90a4ae73}.game-bgm-toggle__icon{display:inline-flex;align-items:center;justify-content:center}.game-grid-toggle{position:static;min-height:var(--ui-btn-min-h-sm, 2rem);padding:var(--ui-btn-pad-y, 6px) var(--ui-btn-pad-x, 11px);border-radius:var(--ui-radius-sm, 8px);border:1px solid rgba(100,181,246,.45);background:linear-gradient(145deg,#1a2342eb,#0f162df2);color:#ffffffeb;font-size:var(--ui-btn-font, 13px);font-weight:600;line-height:1.2;cursor:pointer;box-shadow:0 2px 10px #00000040;transition:border-color .2s ease,box-shadow .2s ease,color .2s ease}.game-line-patrol-toggle{position:absolute;top:clamp(8px,6px + .35vw,12px);left:clamp(8px,6px + .35vw,12px);z-index:4;min-height:var(--ui-btn-min-h-sm, 2rem);padding:var(--ui-btn-pad-y, 5px) var(--ui-btn-pad-x, 10px);border-radius:var(--ui-radius-sm, 8px);border:1px solid rgba(100,181,246,.45);background:linear-gradient(145deg,#1a2342eb,#0f162df2);color:#ffffffeb;font-size:var(--ui-btn-font, 12px);font-weight:600;line-height:1.2;cursor:pointer;box-shadow:0 2px 10px #00000040}.game-line-patrol-toggle:hover,.game-grid-toggle:hover{border-color:#90caf9bf;color:#fff}.game-grid-toggle--on{border-color:#81d4faf2;box-shadow:0 0 0 1px #64b5f659,0 2px 14px #2196f359;color:#b3e5fc}.game-sim-stop-btn{position:absolute;top:clamp(8px,6px + .35vw,12px);left:clamp(8px,6px + .35vw,12px);z-index:4;min-height:var(--ui-btn-min-h-sm, 2rem);padding:var(--ui-btn-pad-y, 8px) var(--ui-btn-pad-x, 14px);border-radius:var(--ui-radius-sm, 8px);border:1px solid rgba(239,83,80,.55);background:linear-gradient(135deg,#ef5350,#c62828);color:#fff;font-size:var(--ui-btn-font, 13px);font-weight:700;line-height:1.2;cursor:pointer;box-shadow:0 3px 12px #c6282873}.game-sim-stop-btn:hover{filter:brightness(1.06)}.game-level-stage{flex:1 1 auto;min-height:0;display:flex}.game-left-panel .game-level-3d{min-height:0!important;flex:1}.game-right-panel{grid-column:3;grid-row:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;isolation:isolate;position:relative;z-index:2;container-type:inline-size;container-name:game-right-panel}.game-right-panel>.blockly-editor,.game-right-panel>.hardware-blockly-editor{flex:1;min-height:0;width:100%}.game-page .level-description{padding:clamp(10px,8px + .4vw,16px) clamp(12px,10px + .5vw,18px);background:#1a234280;border:1px solid rgba(100,181,246,.25);border-radius:var(--ui-radius-md, 12px);color:#ffffffeb;font-size:clamp(.78rem,.72rem + .35vw,.95rem);line-height:1.55;flex-shrink:0;max-height:min(160px,28vh);overflow-y:auto}.game-page .level-description p{margin:0 0 .35em;font-size:inherit}.game-page .level-description p:last-child{margin-bottom:0}.game-page__locked{margin:24px auto;max-width:420px;padding:24px 28px;text-align:center;background:#1a23428c;border:1px solid rgba(100,181,246,.28);border-radius:12px;color:#ffffffeb}.game-page__locked h2{margin:0 0 12px;font-size:1.15rem}.game-page__locked p{margin:0;line-height:1.6;color:#ffffffc7}.fail-notice{margin-top:8px;padding:12px 16px;background:#f443361f;border:1px solid rgba(244,67,54,.35);border-radius:10px;color:#ff8a80;font-size:.9rem}.walkthrough-player{width:100%;border-radius:12px;overflow:hidden;border:1px solid rgba(100,181,246,.25);background:#0a0e278c;box-shadow:0 8px 32px #00000040}.walkthrough-player-fallback{padding:14px 16px;color:#ffffffeb;font-size:.95rem;line-height:1.6}.walkthrough-video{width:100%;height:280px;object-fit:contain;background:#000;display:block}@media (max-width: 1200px){.walkthrough-video{height:220px}}@media (max-width: 1366px),(max-height: 900px){.game-page{padding:76px 12px 12px;padding-top:calc(env(safe-area-inset-top,0px) + 12px + var(--app-header-offset, 70px))}.game-header{padding:12px 16px;margin-bottom:12px;flex-shrink:0}.level-title{font-size:1.1rem;min-width:0}.game-container{gap:0}.game-page .level-description{font-size:clamp(.74rem,.68rem + .28vw,.86rem);padding:8px 10px;max-height:min(130px,22vh)}.level-supply-goal{font-size:clamp(.72rem,.66rem + .24vw,.82rem)}.walkthrough-video{height:200px}}@media (max-width: 900px){.game-page{padding:.35rem .45rem .4rem;padding-top:calc(env(safe-area-inset-top,0px) + .35rem + var(--app-header-offset, 70px));padding-left:max(.45rem,env(safe-area-inset-left,0px));padding-right:max(.45rem,env(safe-area-inset-right,0px));padding-bottom:max(.4rem,env(safe-area-inset-bottom,0px));max-width:100%;box-sizing:border-box}.game-page__back{margin-bottom:.35rem}.game-page .back-button{padding:.35rem .65rem;font-size:.78rem;border-width:1px;border-radius:8px}.game-header{padding:.45rem .6rem;margin-bottom:.45rem;border-radius:10px;gap:.4rem .6rem}.level-title{font-size:.95rem}.level-info{font-size:.78rem}.game-left-panel{gap:.4rem}.game-page .level-description{padding:.4rem .55rem;border-radius:8px;font-size:.72rem;line-height:1.4;max-height:min(4.5rem,16vh)}.level-supply-goal{margin-top:.2rem;font-size:.7rem;line-height:1.35}.football-match-hud{gap:.45rem .75rem;margin-top:.35rem;padding:.35rem .5rem}.football-match-hud__label{font-size:.68rem}.football-match-hud__clock strong,.football-match-hud__score strong{font-size:.92rem}.fail-notice{margin-top:.35rem;padding:.4rem .55rem;font-size:.72rem}.game-stage-toolbar{top:.35rem;right:.35rem;gap:.3rem}.game-bgm-toggle,.game-grid-toggle,.game-line-patrol-toggle,.game-sim-stop-btn{min-height:1.55rem;min-width:1.55rem;padding:.2rem .4rem;font-size:.72rem;border-radius:6px}.game-bgm-toggle{font-size:.85rem}.game-line-patrol-toggle,.game-sim-stop-btn{top:.35rem;left:.35rem}.game-split-handle{width:12px;height:44px;max-height:min(44px,40%);border-radius:6px}.game-split-handle--horizontal{width:44px;max-width:min(44px,40%);height:12px}.game-homework-review-banner{margin:0 0 .4rem;padding:.4rem .55rem;font-size:.74rem;gap:.35rem .55rem}.football-multi-blockly{gap:.35rem}.football-multi-blockly__back,.football-multi-blockly__reset{padding:.3rem .55rem;font-size:.72rem}.football-multi-blockly__titles strong{font-size:.82rem}.football-multi-blockly__titles span{font-size:.68rem}.football-multi-blockly__slot-badge{padding:.28rem .45rem;font-size:.68rem}.football-multi-blockly__grid--2,.football-multi-blockly__grid--4{grid-template-columns:1fr}}@media (max-width: 768px){.game-page{padding:.3rem .35rem .35rem;padding-top:calc(env(safe-area-inset-top,0px) + .3rem + var(--app-header-offset, 70px));padding-left:max(.35rem,env(safe-area-inset-left,0px));padding-right:max(.35rem,env(safe-area-inset-right,0px));max-width:100%;box-sizing:border-box}.game-page .back-button{padding:.3rem .55rem;font-size:.74rem}.level-title{font-size:.9rem}.level-info{font-size:.74rem}.game-container{gap:0;max-width:100%}.game-left-panel,.game-right-panel{min-width:0;max-width:100%}.game-page .level-description{max-height:min(3.8rem,14vh);font-size:.68rem;padding:.35rem .45rem}}.football-multi-blockly{display:flex;flex-direction:column;height:100%;min-height:0;gap:8px}.football-multi-blockly__header{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;padding:6px 4px 2px}.football-multi-blockly__back,.football-multi-blockly__reset{border:1px solid rgba(100,150,255,.45);background:#6496ff1f;color:#dbeafe;border-radius:8px;padding:6px 12px;font-size:.85rem;cursor:pointer}.football-multi-blockly__titles{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-width:0}.football-multi-blockly__titles strong{color:#fff;font-size:.95rem}.football-multi-blockly__titles span{color:#ffffffb8;font-size:.78rem;line-height:1.35}.football-multi-blockly__grid{display:grid;gap:8px;flex:1 1 auto;min-height:0}.football-multi-blockly__grid--2{grid-template-columns:1fr 1fr}.football-multi-blockly__grid--4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.football-multi-blockly__slot{display:flex;flex-direction:column;min-height:0;min-width:0;border:1px solid rgba(255,255,255,.12);border-radius:12px;overflow:hidden;background:#080c1c8c}.football-multi-blockly__slot-badge{flex-shrink:0;padding:6px 10px;font-size:.8rem;font-weight:700;letter-spacing:.02em}.football-multi-blockly__slot-badge--blue{background:#3b82f638;color:#bfdbfe}.football-multi-blockly__slot-badge--red{background:#ef444433;color:#fecaca}.game-homework-review-banner{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 12px 10px;padding:10px 14px;border-radius:10px;background:#01a18e24;border:1px solid rgba(1,161,142,.35);color:#e8fff9;font-size:.9rem}.game-homework-review-banner strong{color:#7ff7e4;font-weight:700}.game-homework-review-banner span{color:#e8fff9eb}.football-online-lobby{max-width:960px;margin:0 auto;padding:24px 20px 48px;color:var(--text-primary, #1a1a2e)}.football-online-lobby__head h1{margin:8px 0 4px;font-size:1.5rem}.football-online-lobby__sub{margin:0;opacity:.75}.football-online-lobby__back{border:none;background:none;cursor:pointer;padding:0;font-size:.95rem}.football-online-lobby__grid{display:grid;gap:16px;margin-top:20px}@media (min-width: 720px){.football-online-lobby__grid{grid-template-columns:1fr 1fr}}.football-online-lobby__card{border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:16px;background:#fff9}.football-online-lobby__card h2{margin:0 0 12px;font-size:1.05rem}.football-online-lobby__slots{display:grid;gap:8px}.football-online-lobby__slot{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border-radius:8px;border:1px solid rgba(0,0,0,.12);background:#fff;cursor:pointer;text-align:left}.football-online-lobby__slot.is-active{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.football-online-lobby__slot.is-taken:not(.is-active){opacity:.85}.football-online-lobby__slot small{opacity:.7}.football-online-lobby__primary{width:100%;padding:10px 14px;border:none;border-radius:8px;background:#2563eb;color:#fff;font-weight:600;cursor:pointer}.football-online-lobby__primary:disabled{opacity:.5;cursor:not-allowed}.football-online-lobby__join{display:flex;gap:8px;margin-top:12px}.football-online-lobby__join input{flex:1;padding:8px 10px;border-radius:8px;border:1px solid rgba(0,0,0,.15);letter-spacing:.12em;text-transform:uppercase}.football-online-lobby__join button{padding:8px 12px;border-radius:8px;border:1px solid rgba(0,0,0,.15);background:#fff;cursor:pointer}.football-online-lobby__code{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.football-online-lobby__code strong{font-size:1.6rem;letter-spacing:.14em}.football-online-lobby__status{margin:0 0 12px;opacity:.8}.football-online-lobby__error{color:#b91c1c;margin-top:12px}.football-online-lobby__score-exit{margin-top:12px;padding:10px 14px;border-radius:8px;background:#2196f31a;color:var(--text-primary, #1a1a2e);font-weight:500}.training-level-page{min-height:100vh;background:linear-gradient(180deg,#e2e8f0,#cbd5e1);padding:24px 20px 48px;padding-top:calc(20px + var(--app-header-offset, 70px))}.training-level-page .tlevel-header{max-width:1200px;margin:0 auto 24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.training-level-page .tlevel-back{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:10px;color:#334155;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;box-shadow:0 1px 3px #00000014}.training-level-page .tlevel-back:hover{border-color:var(--theme-primary, #0d9488);color:var(--theme-primary-text, #0d9488);background:#0d94881a}.training-level-page .tlevel-title{margin:0;font-size:1.5rem;font-weight:700;color:#0f172a;letter-spacing:-.02em}.training-level-page .tlevel-badge{display:inline-flex;align-items:center;padding:6px 14px;background:linear-gradient(135deg,var(--theme-primary, #0d9488) 0%,#0f766e 100%);color:#fff;font-size:.85rem;font-weight:600;border-radius:20px;box-shadow:0 2px 8px #0d948859}.training-level-page .tlevel-error{max-width:1200px;margin:0 auto 20px;padding:14px 18px;background:#fecaca;border:1px solid #f87171;border-radius:10px;color:#b91c1c;font-size:.95rem}.training-level-page .tlevel-empty{max-width:1200px;margin:0 auto;padding:48px 24px;text-align:center;background:#f1f5f9;border-radius:16px;border:1px dashed #94a3b8;color:#475569;font-size:1rem;line-height:1.6}.training-level-page .tlevel-empty--locked{border-color:#f59e0b;color:#b45309}.training-level-page .tlevel-lock-icon{display:block;font-size:2rem;margin-bottom:12px}.tlevel-courses-wrap{max-width:1200px;margin:0 auto 24px}.tlevel-courses-label{margin:0 0 12px;font-size:.9rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.04em}.tlevel-courses-grid{display:flex;flex-wrap:wrap;gap:12px}.tlevel-course-card--locked{border-style:dashed;border-color:#f59e0b;opacity:.92}.tlevel-course-card .card-meta--lock{color:#b45309;font-size:.82rem}.tlevel-course-card{flex:0 0 auto;min-width:200px;max-width:280px;padding:16px 20px;background:#f1f5f9;border-radius:12px;border:1px solid #cbd5e1;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.tlevel-course-card:hover{border-color:var(--theme-primary, #0d9488);box-shadow:0 4px 16px #0d948833;transform:translateY(-2px)}.tlevel-course-card.active{border-color:var(--theme-primary, #0d9488);background:linear-gradient(135deg,#0d948826,#0d948814);box-shadow:0 4px 16px #0d948840}.tlevel-course-card .card-name{margin:0 0 8px;font-size:1.05rem;font-weight:600;color:#0f172a;line-height:1.35}.tlevel-course-card .card-meta{font-size:.8rem;color:#64748b}.tlevel-main{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start}@media (max-width: 900px){.tlevel-main{grid-template-columns:1fr}}.tlevel-player-wrap{background:#f1f5f9;border-radius:16px;overflow:hidden;border:1px solid #cbd5e1;box-shadow:0 4px 20px #0000001f}.tlevel-player-wrap .player-title{margin:0;padding:16px 20px;font-size:1.1rem;font-weight:600;color:#0f172a;border-bottom:1px solid #cbd5e1;background:#e2e8f0}.tlevel-player-wrap .player-box{position:relative;width:100%;padding-bottom:56.25%;background:#0f172a}.tlevel-player-wrap .tlevel-course-intro{margin:0;padding:16px 20px;border-top:1px solid #cbd5e1;background:#e2e8f0;border-radius:0 0 16px 16px}.tlevel-player-wrap .tlevel-course-intro .tlevel-teacher{margin:0 0 10px;font-size:.9rem;color:#334155}.tlevel-player-wrap .tlevel-course-intro .tlevel-teacher:last-of-type{margin-bottom:0}.tlevel-player-wrap .tlevel-course-intro .tlevel-description{margin:0;font-size:.88rem;color:#475569}.tlevel-player-wrap .tlevel-course-intro .tlevel-description p{margin:8px 0 0;line-height:1.6;color:#334155}.tlevel-player-wrap .tlevel-course-intro .tlevel-muted{color:#64748b;font-size:.9rem}.tlevel-player-wrap .player-box video,.tlevel-player-wrap .player-box iframe{position:absolute;top:0;left:0;width:100%;height:100%;display:block}.tlevel-player-wrap .player-box video{object-fit:contain}.tlevel-video-error{margin:.75rem 0 0;padding:.65rem .85rem;border-radius:8px;background:#b91c1c1f;color:#b91c1c;font-size:.875rem;line-height:1.45}.tlevel-doc-download{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center;color:var(--home-text, #e2e8f0);background:#0f172a}.tlevel-download-btn{display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1.25rem;border-radius:8px;background:var(--theme-primary);color:var(--home-text-on-bg, #fff);font-weight:700;text-decoration:none}.tlevel-download-btn:hover{filter:brightness(1.05)}.tlevel-chapters{background:#f1f5f9;border-radius:16px;border:1px solid #cbd5e1;overflow:hidden;box-shadow:0 4px 20px #0000001a}.tlevel-chapters .chapters-title{margin:0;padding:14px 20px;font-size:.95rem;font-weight:600;color:#0f172a;background:#e2e8f0;border-bottom:1px solid #cbd5e1}.tlevel-chapters-list{list-style:none;margin:0;padding:8px 0;max-height:480px;overflow-y:auto}.tlevel-chapters-list li{margin:0;padding:0;width:100%}.tlevel-chapter-item{display:grid;grid-template-columns:28px minmax(0,1fr) 3.25rem;align-items:center;gap:10px;width:100%;box-sizing:border-box;padding:12px 14px;color:#334155;font-size:.9rem;font-family:inherit;cursor:pointer;transition:all .15s ease;border:none;border-left:3px solid transparent;background:transparent;text-align:left;text-decoration:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.tlevel-chapter-item:hover{background:#e2e8f0;color:#0f172a}.tlevel-chapter-item.active{background:linear-gradient(90deg,rgba(13,148,136,.18) 0%,transparent 100%);border-left-color:var(--theme-primary, #0d9488);color:#0f172a;font-weight:500}.tlevel-chapter-item .chap-num{width:28px;height:24px;display:flex;align-items:center;justify-content:center;background:#cbd5e1;color:#475569;font-size:.78rem;font-weight:600;font-variant-numeric:tabular-nums;border-radius:6px}.tlevel-chapter-item.active .chap-num{background:var(--theme-primary, #0d9488);color:#fff}.tlevel-chapter-item .chap-text{display:flex;align-items:center;gap:8px;min-width:0;line-height:1.35}.tlevel-chapter-item .chap-text__title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tlevel-chapter-item .chap-text__dur{flex-shrink:0;font-size:.72rem;color:#64748b;font-variant-numeric:tabular-nums;white-space:nowrap}.tlevel-chapter-item .chap-play{justify-self:end;width:3.25rem;padding:5px 0;background:#0d94882e;color:var(--theme-primary-text, #0d9488);font-size:.78rem;font-weight:600;border-radius:8px;text-align:center;white-space:nowrap;transition:all .2s}.tlevel-chapter-item:hover .chap-play,.tlevel-chapter-item.active .chap-play{background:var(--theme-primary, #0d9488);color:#fff}.tlevel-chapters-empty{padding:32px 20px;text-align:center;color:#64748b;font-size:.95rem}.tlevel-loading{padding:40px 20px;text-align:center;color:#475569;font-size:.95rem}.tlevel-course-intro{max-width:1200px;margin:0 auto 20px;padding:18px 22px;background:#f1f5f9;border-radius:14px;border:1px solid #cbd5e1;box-shadow:0 2px 12px #00000014}.tlevel-course-intro .tlevel-teacher{margin:0 0 12px;font-size:.95rem;color:#334155}.tlevel-course-intro .tlevel-teacher strong{color:#0f172a}.tlevel-course-intro .tlevel-description{margin:0;font-size:.9rem;color:#475569}.tlevel-course-intro .tlevel-description p{margin:8px 0 0;line-height:1.6;color:#334155}.tlevel-course-intro .tlevel-muted{color:#64748b;font-style:normal}.tlevel-videos-loading{padding:24px;text-align:center;color:#64748b;font-size:.9rem}.lesson-player{min-height:calc(100vh - var(--app-header-offset, 64px));padding:.75rem clamp(.5rem,2vw,1.25rem) 1.5rem;box-sizing:border-box;color:var(--home-text, #0f3d38)}.lesson-player__header{display:flex;align-items:center;gap:.75rem;margin-bottom:.85rem}.lesson-player__header h1{margin:0;font-size:var(--ui-text-xl, 1.25rem)}.lesson-player__back{padding:var(--ui-btn-pad-y, .35rem) var(--ui-btn-pad-x, .65rem);font-size:var(--ui-btn-font-sm, .8rem);border-radius:8px;border:1px solid rgba(1,161,142,.35);background:var(--home-card, #f0fdfa);cursor:pointer}.lesson-player__stage{background:#fffc;border:1px solid rgba(1,161,142,.2);border-radius:12px;padding:.85rem clamp(.75rem,2vw,1.25rem);min-height:240px;max-width:960px;margin:0 auto;text-align:center}.lesson-player__progress{margin:0 0 .65rem;font-size:var(--ui-text-sm, .82rem);opacity:.75}.lesson-player__stage h2{margin:0 0 .65rem;font-size:var(--ui-text-lg, 1.05rem)}.lesson-player__video-wrap{display:flex;flex-direction:column;align-items:center}.lesson-player__video-wrap video{display:block;width:100%;max-width:880px;max-height:min(62vh,520px);margin:0 auto;background:#0f172a;border-radius:8px}.lesson-player__actions{margin-top:.75rem;display:flex;justify-content:center}.lesson-player__level-wrap{display:flex;flex-direction:column;align-items:center}.lesson-player__level-wrap .lesson-player__cta{align-self:center}.lesson-player__cta{padding:var(--ui-btn-pad-y-lg, .5rem) var(--ui-btn-pad-x-lg, 1rem);font-size:var(--ui-btn-font, .9rem);min-height:var(--ui-btn-min-h, 2.2rem);border:none;border-radius:10px;background:linear-gradient(135deg,var(--theme-primary),var(--theme-primary-hover));color:#fff;font-weight:700;cursor:pointer}.lesson-player__cta:disabled{opacity:.6;cursor:wait}.lesson-player__status,.lesson-player__msg{margin:.5rem 0;font-size:var(--ui-text-sm, .85rem)}.lesson-player__error{color:#b91c1c;padding:.5rem .75rem;border-radius:8px;background:#ef444414}.lesson-player__level-wrap p{margin:0 0 .85rem;font-size:var(--ui-text-sm, .88rem)}.lesson-player__desc{margin:0 0 .75rem;font-size:var(--ui-text-sm, .88rem);color:var(--home-muted, #54716c);line-height:1.5}.lesson-player__gallery{padding:0 0 1.5rem}.lesson-player__gallery-hint{margin:0 0 .85rem;font-size:.88rem;color:var(--home-muted, #54716c)}.lesson-player__gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.85rem}.lesson-player__lesson-card{display:flex;flex-direction:column;border:1px solid rgba(1,161,142,.22);border-radius:10px;background:#ffffffd9;overflow:hidden;padding:0;text-align:left;cursor:pointer;font:inherit;color:inherit;transition:border-color .15s ease,box-shadow .15s ease}.lesson-player__lesson-card:hover:not(:disabled){border-color:#01a18e8c;box-shadow:0 6px 18px #0f282414}.lesson-player__lesson-card.is-locked{opacity:.55;cursor:not-allowed}.lesson-player__lesson-card.is-done{border-color:#01a18e73}.lesson-player__lesson-cover{position:relative;width:100%;aspect-ratio:16 / 9;background:#e8f2f0 center/cover no-repeat}.lesson-player__lesson-cover.is-empty{background:linear-gradient(150deg,#dceeea,#f5faf8)}.lesson-player__lesson-idx{position:absolute;left:.55rem;top:.55rem;padding:.15rem .4rem;border-radius:6px;font-size:.72rem;font-weight:700;color:#fff;background:#0f282480}.lesson-player__lesson-lock,.lesson-player__lesson-done{position:absolute;right:.55rem;top:.55rem;padding:.15rem .45rem;border-radius:6px;font-size:.7rem;font-weight:700;color:#fff}.lesson-player__lesson-lock{background:#64748bbf}.lesson-player__lesson-done{background:#01a18ed9}.lesson-player__lesson-body{padding:.75rem .85rem .9rem}.lesson-player__lesson-body h2{margin:0 0 .35rem;font-size:1rem;font-weight:700}.lesson-player__lesson-body p{margin:0 0 .5rem;font-size:.8rem;color:var(--home-muted, #54716c);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lesson-player__lesson-meta{font-size:.76rem;font-weight:600;color:#01a18e}.lesson-player__level-cover{width:100%;max-width:420px;aspect-ratio:16 / 9;margin:0 0 .85rem;border-radius:8px;background:#e8f2f0 center/cover no-repeat;border:1px solid rgba(1,161,142,.2)}.student-homework-page{min-height:calc(100vh - var(--app-header-offset, 70px));padding:40px 20px;margin-top:var(--app-header-offset, 70px);background:transparent;max-width:900px;margin-left:auto;margin-right:auto;color:var(--home-text)}.student-homework-header{margin-bottom:28px}.student-homework-header .back-button{padding:10px 20px;background:#fffffff2;border:2px solid var(--theme-primary);border-radius:8px;color:#0f172a;cursor:pointer;font-size:16px;margin-bottom:16px;transition:all .3s ease;outline:none}.student-homework-header .back-button:hover{background:#fff;border-color:var(--theme-primary-text);color:var(--theme-primary-text);box-shadow:0 0 0 1px var(--theme-primary-hover)}.student-homework-header h1{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 8px;font-size:1.75rem;color:var(--home-text)}.student-homework-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;padding:.12rem .5rem;border-radius:999px;background:var(--theme-primary);color:#fff;font-size:.875rem;font-weight:700;line-height:1.35;vertical-align:middle}.student-homework-hint{margin:0;font-size:.9rem;color:#fff!important}.student-homework-loading,.student-homework-empty{text-align:center;padding:48px 20px;color:#fff!important}.student-homework-empty p{margin:0;font-size:1rem;color:inherit}.student-homework-error{padding:12px 16px;margin-bottom:20px;background:#ef44441a;border:1px solid rgba(239,68,68,.35);border-radius:10px;color:#b91c1c}.student-homework-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.student-homework-card{position:relative;background:color-mix(in srgb,var(--home-card) 92%,transparent);border:1px solid color-mix(in srgb,var(--theme-primary) 28%,var(--home-card-border));border-radius:14px;padding:22px;box-shadow:0 4px 18px color-mix(in srgb,#000 10%,transparent);transition:all .25s ease}.student-homework-card:hover{border-color:color-mix(in srgb,var(--theme-primary) 55%,var(--home-card-border));transform:translateY(-2px);box-shadow:0 8px 28px color-mix(in srgb,var(--theme-primary) 14%,transparent)}.student-homework-done-tag{position:absolute;top:14px;right:14px;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,#10b981 22%,transparent);border:1px solid color-mix(in srgb,#34d399 45%,transparent);color:#6ee7b7;font-size:.75rem;font-weight:700}.student-homework-card h3{margin:0 0 12px;font-size:1.15rem;color:var(--home-text)}.student-homework-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:.9rem;color:var(--home-text-muted, #94a3b8);margin-bottom:8px}.student-homework-meta-class{font-size:.8rem;color:var(--home-text-muted, #64748b);margin-bottom:4px}.student-homework-record{font-size:.9rem;margin-bottom:14px}.student-homework-record .record-label{color:#54716c;margin-right:6px}.student-homework-record .record-value{color:var(--theme-primary-text, var(--theme-primary));font-weight:600}.student-homework-card.completed{background:color-mix(in srgb,#059669 12%,var(--home-card));border-color:color-mix(in srgb,#34d399 45%,var(--home-card-border));box-shadow:0 4px 22px color-mix(in srgb,#059669 16%,transparent)}.student-homework-card.completed .student-homework-record .record-value{color:#6ee7b7}.student-homework-card .start-btn{width:100%;padding:12px 20px;background:color-mix(in srgb,var(--theme-primary) 16%,var(--home-card));border:1px solid color-mix(in srgb,var(--theme-primary) 45%,transparent);color:var(--home-text);border-radius:10px;cursor:pointer;font-weight:600;font-size:1rem;transition:all .2s}.student-homework-card .start-btn:hover{background:var(--theme-primary);color:#f0fdfa}.student-homework-detail-page{min-height:calc(100vh - var(--app-header-offset, 70px));padding:28px 20px 48px;margin-top:var(--app-header-offset, 70px);max-width:960px;margin-left:auto;margin-right:auto;color:var(--home-text)}.student-homework-detail-header{margin-bottom:24px}.student-homework-detail-header .back-button{padding:10px 18px;background:color-mix(in srgb,var(--home-card) 85%,transparent);border:2px solid color-mix(in srgb,var(--theme-primary) 45%,var(--home-card-border));border-radius:10px;color:var(--home-text);cursor:pointer;font-size:15px;font-weight:500;margin-bottom:16px;transition:all .25s ease;outline:none;box-shadow:0 0 12px color-mix(in srgb,var(--theme-primary) 18%,transparent)}.student-homework-detail-header .back-button:hover{background:color-mix(in srgb,var(--theme-primary) 14%,var(--home-card));border-color:var(--theme-primary);transform:translate(-2px)}.student-homework-detail-header__main{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px 24px}.student-homework-detail-header h1{margin:0 0 8px;font-size:1.65rem;font-weight:700;color:var(--home-text);letter-spacing:.02em}.student-homework-detail-hint{margin:0;font-size:.9rem;color:var(--home-text-muted, #94a3b8)!important;line-height:1.5}.student-homework-teacher-message{margin:0 0 10px;padding:12px 14px;background:color-mix(in srgb,var(--theme-primary) 10%,var(--home-card));border:1px solid color-mix(in srgb,var(--theme-primary) 28%,var(--home-card-border));border-left:3px solid var(--theme-primary);border-radius:0 10px 10px 0;font-size:.92rem;color:var(--home-text);line-height:1.55}.student-homework-detail-summary{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:4px;padding:12px 16px;min-width:120px;border-radius:12px;background:color-mix(in srgb,var(--home-card) 90%,transparent);border:1px solid color-mix(in srgb,var(--theme-primary) 35%,var(--home-card-border));box-shadow:0 4px 20px color-mix(in srgb,var(--theme-primary) 12%,transparent)}.student-homework-detail-summary__label{font-size:.78rem;color:var(--home-text-muted, #94a3b8);font-weight:500}.student-homework-detail-summary__value{font-size:1.35rem;font-weight:700;color:var(--theme-primary-text, var(--theme-primary));line-height:1.2}.student-homework-detail-summary__stars{font-size:.85rem;color:#fbbf24;font-weight:600}.student-homework-done-banner{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px;padding:18px 20px;border-radius:14px;background:color-mix(in srgb,#059669 12%,var(--home-card));border:1px solid color-mix(in srgb,#34d399 45%,var(--home-card-border));box-shadow:0 4px 24px color-mix(in srgb,#059669 18%,transparent),inset 0 1px color-mix(in srgb,#fff 8%,transparent)}.student-homework-done-banner__icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:1.25rem;font-weight:700;box-shadow:0 4px 14px #10b98173}.student-homework-done-banner__body{flex:1;min-width:0}.student-homework-done-banner__head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:6px}.student-homework-done-banner__badge{font-size:1.05rem;font-weight:700;color:#6ee7b7}.student-homework-done-banner__stats{font-size:.88rem;color:var(--home-text-muted, #a7f3d0);font-weight:500}.student-homework-done-banner__hint{margin:0 0 14px;font-size:.88rem;color:var(--home-text-muted, #94a3b8);line-height:1.55}.student-homework-redo-btn{padding:9px 18px;border-radius:9px;border:1px solid color-mix(in srgb,var(--theme-primary) 55%,transparent);background:color-mix(in srgb,var(--theme-primary) 18%,var(--home-card));color:var(--home-text);font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s}.student-homework-redo-btn:hover{background:var(--theme-primary);color:#f0fdfa;border-color:var(--theme-primary)}.student-homework-progress-banner{margin-bottom:20px;padding:14px 16px;border-radius:12px;background:color-mix(in srgb,var(--home-card) 88%,transparent);border:1px solid color-mix(in srgb,var(--theme-primary) 30%,var(--home-card-border))}.student-homework-progress-banner__row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:.9rem;font-weight:600;color:var(--home-text)}.student-homework-progress-banner__track{height:8px;border-radius:999px;background:color-mix(in srgb,var(--home-text) 8%,transparent);overflow:hidden}.student-homework-progress-banner__fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--theme-primary),color-mix(in srgb,var(--theme-primary) 70%,#fff));transition:width .35s ease}.student-level-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.student-homework-section-title{margin:28px 0 14px;font-size:1.05rem;font-weight:650;color:var(--home-text)}.student-homework-video-player{width:100%;border-radius:10px;overflow:hidden;background:#0f172a;aspect-ratio:16 / 9}.student-homework-video-player video{display:block;width:100%;height:100%;object-fit:contain}.student-level-card{display:flex;flex-direction:column;gap:10px;padding:18px 18px 16px;border-radius:14px;background:color-mix(in srgb,var(--home-card) 92%,transparent);border:1px solid color-mix(in srgb,var(--theme-primary) 28%,var(--home-card-border));box-shadow:0 4px 18px color-mix(in srgb,#000 12%,transparent);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.student-level-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--theme-primary) 55%,var(--home-card-border));box-shadow:0 8px 28px color-mix(in srgb,var(--theme-primary) 16%,transparent),0 4px 18px color-mix(in srgb,#000 10%,transparent)}.student-level-card__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.student-level-card__index{font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--home-text-muted, #94a3b8)}.student-level-card__chip{padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em}.student-level-card__chip--pending{background:color-mix(in srgb,var(--home-text) 10%,transparent);color:var(--home-text-muted, #94a3b8);border:1px solid color-mix(in srgb,var(--home-text) 15%,transparent)}.student-level-card__chip--done{background:color-mix(in srgb,#10b981 22%,transparent);color:#6ee7b7;border:1px solid color-mix(in srgb,#34d399 45%,transparent)}.student-level-card__chip--submitted{background:color-mix(in srgb,#3b82f6 18%,transparent);color:#93c5fd;border:1px solid color-mix(in srgb,#60a5fa 40%,transparent)}.student-level-card__chip--locked{background:color-mix(in srgb,#f59e0b 18%,transparent);color:#fcd34d;border:1px solid color-mix(in srgb,#f59e0b 35%,transparent)}.student-level-card__title{margin:0;font-size:1.08rem;font-weight:700;color:var(--home-text);line-height:1.35}.student-level-card__metrics{display:flex;flex-wrap:wrap;gap:8px 12px}.student-level-card__metric{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:8px;font-size:.82rem;font-weight:600;background:color-mix(in srgb,var(--home-text) 8%,transparent);color:var(--home-text);border:1px solid color-mix(in srgb,var(--home-text) 12%,transparent)}.student-level-card__metric--stars{color:#fbbf24;background:color-mix(in srgb,#fbbf24 12%,transparent);border-color:color-mix(in srgb,#fbbf24 28%,transparent)}.student-level-card__star-icons{letter-spacing:1px;font-size:.9rem}.student-level-card__hint{margin:0;font-size:.85rem;color:var(--home-text-muted, #94a3b8);line-height:1.45}.student-level-card__hint--locked{color:#fcd34d}.student-level-card__hint--legacy{color:#fbbf24}.student-level-card__code-btn--backfill{border-style:dashed!important}.student-level-card .level-start-btn{width:100%;margin-top:auto;padding:11px 16px;border-radius:10px;border:1px solid color-mix(in srgb,var(--theme-primary) 50%,transparent);background:color-mix(in srgb,var(--theme-primary) 16%,var(--home-card));color:var(--home-text);font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s}.student-level-card .level-start-btn:hover{background:var(--theme-primary);color:#f0fdfa;border-color:var(--theme-primary)}.student-level-card .level-start-btn--again{background:color-mix(in srgb,#10b981 14%,var(--home-card));border-color:color-mix(in srgb,#34d399 45%,transparent);color:#a7f3d0}.student-level-card .level-start-btn--again:hover{background:#059669;border-color:#059669;color:#fff}.student-level-card.completed{background:color-mix(in srgb,#059669 14%,var(--home-card));border-color:color-mix(in srgb,#34d399 50%,var(--home-card-border));box-shadow:0 4px 22px color-mix(in srgb,#059669 20%,transparent),inset 0 1px color-mix(in srgb,#fff 6%,transparent)}.student-level-card.completed:hover{border-color:#34d399;box-shadow:0 10px 32px color-mix(in srgb,#059669 28%,transparent),inset 0 1px color-mix(in srgb,#fff 8%,transparent)}.student-level-card.locked{background:color-mix(in srgb,var(--home-card) 75%,transparent);border-color:color-mix(in srgb,#64748b 35%,var(--home-card-border));opacity:.92}.student-level-card.locked:hover{transform:none;box-shadow:0 4px 18px color-mix(in srgb,#000 12%,transparent)}.student-level-card .level-start-btn--locked{background:color-mix(in srgb,var(--home-text) 8%,transparent);border-color:color-mix(in srgb,var(--home-text) 18%,transparent);color:var(--home-text-muted, #94a3b8);cursor:not-allowed}.student-level-card .level-start-btn--locked:hover{background:color-mix(in srgb,var(--home-text) 8%,transparent);color:var(--home-text-muted, #94a3b8)}@media (max-width: 640px){.student-homework-detail-header__main{flex-direction:column}.student-homework-detail-summary{align-items:flex-start;width:100%}.student-homework-done-banner{flex-direction:column;align-items:stretch}.student-level-grid{grid-template-columns:1fr}}.pc-mooc{--pc-bg: #f3f5f6;--pc-panel: #fff;--pc-border: #edf1f2;--pc-text: #14191e;--pc-muted: #787d82;--pc-accent: #4d78ff;--pc-accent-hover: #3f6af0;box-sizing:border-box;width:100%;max-width:1100px;margin:0 auto;padding:1rem .75rem 2rem;color:var(--pc-text)}.pc-mooc__wrap{display:grid;grid-template-columns:220px minmax(0,1fr);gap:1rem;align-items:start}.pc-mooc__aside{background:var(--pc-panel);border-radius:4px;box-shadow:0 2px 8px #14191e0a;overflow:hidden}.pc-mooc__avatar-block{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1rem 1rem;border-bottom:1px solid var(--pc-border)}.pc-mooc__avatar{width:3rem;height:3rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.15rem;font-weight:700;color:#fff;background:linear-gradient(145deg,var(--pc-accent) 0%,#6b8cff 100%);flex-shrink:0}.pc-mooc__avatar-meta{display:flex;flex-direction:column;gap:.2rem;min-width:0}.pc-mooc__avatar-meta strong{font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc-mooc__avatar-meta span{font-size:.75rem;color:var(--pc-muted)}.pc-mooc__nav{display:flex;flex-direction:column;padding:.5rem 0 .75rem}.pc-mooc__nav-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;text-align:left;padding:.7rem 1.15rem;font-size:.9rem;color:var(--pc-text);cursor:pointer;font-family:inherit;border-left:3px solid transparent;transition:background .15s ease,color .15s ease,border-color .15s ease}.pc-mooc__nav-item:hover{background:#f8fafc;color:var(--pc-accent)}.pc-mooc__nav-item.is-active{background:color-mix(in srgb,var(--pc-accent) 8%,#fff);color:var(--pc-accent);border-left-color:var(--pc-accent);font-weight:700}.pc-mooc__main{min-width:0}.pc-mooc__panel{background:var(--pc-panel);border-radius:4px;box-shadow:0 2px 8px #14191e0a;padding:1.25rem 1.5rem 1.5rem;min-height:22rem}.pc-mooc__panel-title{margin:0 0 .35rem;padding-bottom:.85rem;border-bottom:1px solid var(--pc-border);font-size:1.05rem;font-weight:700;color:var(--pc-text)}.pc-mooc__form{display:flex;flex-direction:column}.pc-mooc__row{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:.75rem;align-items:center;min-height:3.25rem;padding:.55rem 0;border-bottom:1px solid var(--pc-border)}.pc-mooc__row--edit{align-items:center}.pc-mooc__label{font-size:.875rem;color:var(--pc-muted);font-weight:500}.pc-mooc__value{font-size:.9rem;color:var(--pc-text);word-break:break-word}.pc-mooc__input{width:100%;max-width:22rem;box-sizing:border-box;height:2.25rem;padding:0 .75rem;border:1px solid #d0d6d9;border-radius:2px;background:#fff;color:var(--pc-text);font-size:.875rem;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}.pc-mooc__input:focus{outline:none;border-color:var(--pc-accent);box-shadow:0 0 0 2px #4d78ff26}.pc-mooc__input::placeholder{color:#b5b9bc}.pc-mooc__actions{margin-top:1.25rem}.pc-mooc__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;min-width:6rem;height:2.25rem;padding:0 1.25rem;border-radius:2px;background:var(--pc-accent);color:#fff;font-size:.875rem;font-weight:600;font-family:inherit;transition:background .15s ease}.pc-mooc__btn:hover:not(:disabled){background:var(--pc-accent-hover)}.pc-mooc__btn:disabled{opacity:.65;cursor:not-allowed}.pc-mooc__msg{margin:.75rem 0 0;font-size:.82rem}.pc-mooc__msg--err{color:#f01414}.pc-mooc__msg--ok{color:#00b43c}.pc-mooc__tip{margin:1rem 0 0;padding:.75rem .85rem;background:#f8fafc;border-radius:2px;font-size:.8rem;color:var(--pc-muted);line-height:1.5}.pc-mooc__product-list{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.65rem}.pc-mooc__product-card{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem 1rem;padding:.9rem 1rem;border:1px solid var(--pc-border);border-radius:2px;background:#fafbfc}.pc-mooc__product-card strong{font-size:.95rem;color:var(--pc-text)}.pc-mooc__product-card span{font-size:.8rem;color:var(--pc-muted)}.pc-mooc__empty{margin:2rem 0 0;text-align:center;color:var(--pc-muted);font-size:.9rem}.pc-mooc__error{margin:0 0 .75rem;padding:.65rem .85rem;border-radius:2px;background:#fff1f0;border:1px solid #ffccc7;color:#f01414;font-size:.85rem}@media (max-width: 900px){.pc-mooc{padding:.5rem .35rem 1.25rem}.pc-mooc__wrap{grid-template-columns:1fr;gap:.65rem}.pc-mooc__avatar-block{padding:.85rem .75rem}.pc-mooc__avatar{width:2.5rem;height:2.5rem;font-size:1rem}.pc-mooc__nav{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;padding:.35rem;gap:.25rem;-webkit-overflow-scrolling:touch}.pc-mooc__nav-item{flex:0 0 auto;padding:.45rem .75rem;border-left:none;border-bottom:2px solid transparent;border-radius:2px;font-size:.8rem;white-space:nowrap}.pc-mooc__nav-item.is-active{border-left-color:transparent;border-bottom-color:var(--pc-accent)}.pc-mooc__panel{padding:.85rem .85rem 1.1rem;min-height:0}.pc-mooc__panel-title{font-size:.95rem;padding-bottom:.65rem}.pc-mooc__row{grid-template-columns:5rem minmax(0,1fr);gap:.5rem;min-height:2.75rem;padding:.45rem 0}.pc-mooc__label,.pc-mooc__value,.pc-mooc__input{font-size:.8rem}.pc-mooc__input{max-width:none;height:2rem}.pc-mooc__btn{height:2rem;font-size:.8rem;min-width:5rem}}.module-access-picker{display:flex;flex-direction:column;gap:14px}.module-access-picker__intro{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px 16px}.module-access-picker__hint{margin:0;flex:1;min-width:200px;font-size:.88rem;line-height:1.6;color:#64748b}.module-access-picker__badge{flex-shrink:0;padding:6px 12px;border-radius:999px;background:linear-gradient(135deg,#4f46e51f,#2563eb1a);border:1px solid rgba(99,102,241,.25);color:#4338ca;font-size:.82rem;font-weight:700;white-space:nowrap}.module-access-picker__card{padding:16px 18px;background:linear-gradient(180deg,#fafbfc,#fff);border:1px solid #e8edf2;border-radius:14px;box-shadow:0 2px 12px #0f172a0a}.module-access-picker__card-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:14px}.module-access-picker__card-head-main{flex:1;min-width:140px}.module-access-picker__step{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:10px;background:linear-gradient(135deg,#4f46e5,#2563eb);color:#fff;font-size:.82rem;font-weight:800;flex-shrink:0;box-shadow:0 3px 10px #2563eb47}.module-access-picker__card-title{margin:0 0 2px;font-size:.95rem;font-weight:700;color:#1e293b}.module-access-picker__card-sub{margin:0;font-size:.8rem;color:#94a3b8;line-height:1.45}.module-access-picker__tier-nav{display:flex;flex-wrap:wrap;gap:8px}.module-access-picker__tier-tab{display:inline-flex;align-items:center;gap:6px;margin:0;padding:8px 14px;border-radius:10px;border:1px solid rgba(99,102,241,.22);background:#fff;color:#475569;font-size:.86rem;font-weight:600;line-height:1.2;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .12s ease}.module-access-picker__tier-tab:hover:not(:disabled){color:#1e293b;border-color:#6366f173;background:#6366f10f}.module-access-picker__tier-tab.is-active{color:#fff;background:linear-gradient(135deg,#4f46e5,#2563eb);border-color:transparent;box-shadow:0 4px 14px #2563eb47}.module-access-picker__tier-tab.is-empty:not(.is-active){opacity:.5}.module-access-picker__tier-tab:disabled{cursor:not-allowed;opacity:.55}.module-access-picker__tier-count{min-width:1.35em;padding:1px 7px;border-radius:999px;background:#6366f11f;font-size:.72rem;font-weight:700;color:#4338ca}.module-access-picker__tier-tab.is-active .module-access-picker__tier-count{background:#ffffff38;color:#fff}.module-access-picker__tier-all{display:flex;align-items:center;gap:12px;margin:0;padding:14px 16px;border-radius:12px;border:1px solid rgba(99,102,241,.2);background:linear-gradient(90deg,#6366f112,#2563eb0a);cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.module-access-picker__tier-all:hover{border-color:#6366f159;box-shadow:0 2px 10px #6366f11a}.module-access-picker__tier-all.is-checked{border-color:#4f46e573;background:linear-gradient(90deg,#4f46e51f,#2563eb14)}.module-access-picker__tier-all input{position:absolute;opacity:0;width:0;height:0}.module-access-picker__tier-all-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;border:2px solid #c7d2fe;background:#fff;color:#fff;font-size:.75rem;font-weight:800;flex-shrink:0;transition:background .15s ease,border-color .15s ease}.module-access-picker__tier-all.is-checked .module-access-picker__tier-all-icon,.module-access-picker__tier-all.is-partial .module-access-picker__tier-all-icon{background:linear-gradient(135deg,#4f46e5,#2563eb);border-color:transparent;color:#fff}.module-access-picker__tier-all-text{flex:1;font-size:.9rem;font-weight:700;color:#3730a3;line-height:1.4}.module-access-picker__tier-all-meta{font-size:.78rem;font-weight:600;color:#6366f1;white-space:nowrap}.module-access-picker__filter{display:flex;align-items:center;gap:8px;margin-left:auto}.module-access-picker__filter-label{font-size:.78rem;font-weight:600;color:#94a3b8;white-space:nowrap}.module-access-picker__filter-select{min-width:160px;padding:7px 32px 7px 10px;border-radius:8px;border:1px solid #dbe3ea;background:#fff;color:#334155;font-size:.84rem;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.module-access-picker__filter-select:focus{outline:none;border-color:#818cf8;box-shadow:0 0 0 3px #6366f126}.module-access-picker__filter-select:disabled{opacity:.6;cursor:not-allowed}.module-access-picker__bands{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.module-access-picker__band{position:relative;display:flex;align-items:flex-start;gap:10px;margin:0;padding:12px 14px;border-radius:12px;border:1px solid #e8edf2;background:#fff;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .12s ease}.module-access-picker__band:hover:not(.is-locked){border-color:#c7d2fe;box-shadow:0 4px 14px #6366f114}.module-access-picker__band.is-checked{border-color:#4f46e573;background:linear-gradient(180deg,#6366f10f,#fff);box-shadow:0 2px 12px #4f46e51a}.module-access-picker__band.is-locked{opacity:.72;cursor:default;background:#f8fafc}.module-access-picker__band-input{position:absolute;opacity:0;width:0;height:0}.module-access-picker__band-check{flex-shrink:0;width:20px;height:20px;margin-top:1px;border-radius:6px;border:2px solid #cbd5e1;background:#fff;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;color:#fff;line-height:1;transition:background .15s ease,border-color .15s ease}.module-access-picker__band.is-checked .module-access-picker__band-check{background:linear-gradient(135deg,#4f46e5,#2563eb);border-color:transparent}.module-access-picker__band.is-checked .module-access-picker__band-check:before{content:"✓"}.module-access-picker__band-body{display:flex;flex-direction:column;gap:4px;min-width:0}.module-access-picker__band-name{font-size:.9rem;font-weight:700;color:#1e293b;line-height:1.3}.module-access-picker__band-code{font-family:ui-monospace,Cascadia Code,monospace;font-size:.72rem;color:#94a3b8;word-break:break-all}.module-access-picker__band-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.module-access-picker__tag{display:inline-block;padding:2px 7px;border-radius:999px;font-size:.68rem;font-weight:700;line-height:1.35}.module-access-picker__tag--warn{background:#fef3c7;color:#b45309}.module-access-picker__tag--muted{background:#f1f5f9;color:#64748b}.module-access-picker__levels-loading,.module-access-picker__levels-empty{margin:0;padding:12px;text-align:center;font-size:.86rem;color:#94a3b8}.module-access-picker__level-list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;max-height:200px;overflow-y:auto}.module-access-picker__level-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;font-size:.8rem;color:#475569;line-height:1.3}.module-access-picker__level-num{font-weight:700;color:#6366f1;white-space:nowrap}.module-access-picker__level-name{color:#64748b}.module-access-picker__empty{margin:0;padding:28px 16px;text-align:center;color:#64748b;font-size:.9rem;border:1px dashed #dbe3ea;border-radius:12px;background:#f8fafc}.module-access-picker--compact{gap:12px}.module-access-picker--compact .module-access-picker__card{padding:12px 14px}.module-access-picker--compact .module-access-picker__tier-tab{padding:6px 10px;font-size:.8rem}.module-access-picker--compact .module-access-picker__bands{grid-template-columns:1fr}@media (max-width: 640px){.module-access-picker__filter{width:100%;margin-left:0}.module-access-picker__filter-select{flex:1;min-width:0}.module-access-picker__bands{grid-template-columns:1fr}.module-access-picker__tier-all{flex-wrap:wrap}.module-access-picker__tier-all-meta{width:100%;padding-left:34px}}.admin-page{padding:24px;padding-top:calc(20px + var(--app-header-offset, 70px));max-width:1200px;margin:0 auto;color:var(--home-text);position:relative;z-index:1}.admin-page h1{color:var(--home-text);font-weight:700;letter-spacing:-.02em;margin-bottom:28px}.admin-error-hint{padding:12px 16px;margin-bottom:16px;background:#ef44441a;border:1px solid rgba(239,68,68,.35);border-radius:8px;color:#b91c1c;font-size:14px}.students-empty-hint{color:#54716c;font-size:14px;margin:12px 0;padding:12px;background:#01a18e1a;border-radius:8px;border-left:4px solid var(--theme-primary)}.admin-tabs{display:flex;gap:10px;margin-bottom:20px}.tab-button{padding:var(--ui-btn-pad-y-lg, .55rem) var(--ui-btn-pad-x-lg, 1rem);background:linear-gradient(135deg,var(--theme-primary) 0%,var(--theme-primary-hover) 100%);border:2px solid var(--theme-primary-hover);color:var(--home-card);border-radius:var(--ui-radius-sm, 10px);cursor:pointer;font-weight:500;font-size:var(--ui-btn-font, .9rem);min-height:var(--ui-btn-min-h, 2.25rem);line-height:1.25;transition:all .25s ease}.tab-button:hover{background:linear-gradient(135deg,var(--theme-primary-hover) 0%,#01796f 100%);border-color:#01796f;color:var(--home-card);box-shadow:0 2px 8px #01a18e59}.tab-button.active{background:#fffffff2;border-color:var(--theme-primary);color:var(--home-text);box-shadow:0 2px 10px #01a18e4d}.admin-section{background:var(--home-card);border:1px solid rgba(1,161,142,.28);border-radius:16px;padding:20px;margin-bottom:20px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h2{color:var(--home-text);margin:0}.section-header button{padding:8px 16px;background:var(--theme-primary);color:var(--home-card);border:none;border-radius:8px;cursor:pointer;transition:all .3s}.section-header button:hover{background:var(--theme-primary-hover)}.admin-page .section-header .back-button{background:#fffffff2;border:2px solid var(--theme-primary);color:#0f172a}.admin-page .section-header .back-button:hover{background:#fff;border-color:var(--theme-primary-text);color:var(--theme-primary-text);box-shadow:0 0 0 1px var(--theme-primary-hover)}.schools-list,.classes-list,.students-list,.homeworks-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px}.school-card,.class-card,.student-card,.homework-card{background:var(--home-card);border:1px solid rgba(1,161,142,.28);border-radius:14px;padding:18px;transition:all .25s ease}.school-card:hover,.class-card:hover,.student-card:hover,.homework-card:hover{border-color:var(--theme-primary);transform:translateY(-3px);box-shadow:0 8px 24px #00000014}.homework-review-levels{display:flex;flex-wrap:wrap;gap:.35rem;margin:.5rem 0 .75rem}.homework-review-level-pill{display:inline-block;padding:.2rem .45rem;border-radius:6px;font-size:.8125rem;background:#0000000f;color:var(--text-muted, #666)}.homework-review-level-pill.is-done{background:#01a18e1f;color:var(--theme-primary, #01a18e)}.admin-inline-link{background:none;border:none;padding:0 .15rem;color:var(--theme-primary);text-decoration:underline;cursor:pointer;font:inherit}.admin-inline-link:hover{opacity:.85}.homework-manage-page{--imooc-green: #19a566;--imooc-green-hover: #16a058;--imooc-green-soft: #e8f8f0;--imooc-border: #e8ecef;--imooc-text: #333333;--imooc-muted: #93999f;--imooc-card: #ffffff;width:100%;max-width:100%;min-width:560px;margin-left:0;margin-right:0;padding:20px 24px 40px;color:var(--imooc-text);background:linear-gradient(180deg,#f4f6f8 0%,#eef1f4 40%,transparent 100%);border-radius:12px;box-sizing:border-box;resize:horizontal;overflow:auto}.homework-manage-page h1{margin:0;font-size:1.5rem;font-weight:700;color:var(--imooc-text)}.homework-manage-table tbody tr.is-selected td{background:#0d94881a}.school-admin-class-section{padding:16px 16px 0;border-top:1px solid var(--imooc-border)}.school-admin-class-section__title{margin:0;font-size:1rem;font-weight:600;color:var(--imooc-text)}.class-manage-page{max-width:1180px;margin:0 auto;padding-bottom:32px}.class-manage-shell{background:#fff;border:1px solid #e5eaf0;border-radius:12px;box-shadow:0 8px 24px #0f172a0f;overflow:hidden}.class-manage-topbar{display:flex;flex-direction:column;gap:10px;padding:16px 24px 0;background:linear-gradient(180deg,#f8fafb,#fff)}.class-manage-back{align-self:flex-start;border:none;background:none;padding:0;color:#64748b;font-size:.88rem;cursor:pointer;transition:color .15s ease}.class-manage-back:hover{color:var(--theme-primary)}.class-manage-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.88rem;color:#94a3b8}.class-manage-breadcrumb__link{border:none;background:none;padding:0;color:var(--theme-primary);cursor:pointer;font:inherit}.class-manage-breadcrumb__sep{color:#cbd5e1;-webkit-user-select:none;user-select:none}.class-manage-breadcrumb__text{color:#64748b}.class-manage-breadcrumb__text--current{color:#1e293b;font-weight:600}.class-manage-alert{margin:12px 24px 0;padding:10px 14px;border-radius:8px;border:1px solid #fecaca;background:#fef2f2;color:#b91c1c;font-size:.9rem}.class-manage-tabs-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:0 24px;border-bottom:1px solid #e8edf2}.class-manage-tabs{display:flex;flex-wrap:wrap;gap:4px}.class-manage-tab{position:relative;border:none;background:none;padding:12px 16px;color:#64748b;font-size:.92rem;font-weight:500;cursor:pointer;transition:color .15s ease}.class-manage-tab:hover{color:#334155}.class-manage-tab.is-active{color:var(--theme-primary);font-weight:600}.class-manage-tab.is-active:after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;border-radius:2px 2px 0 0;background:var(--theme-primary)}.class-manage-tabs__links{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:8px}.class-manage-tab-link{border:none;background:none;padding:6px 10px;color:var(--theme-primary);font-size:.85rem;cursor:pointer;border-radius:6px;transition:background .15s ease}.class-manage-tab-link:hover{background:var(--theme-primary-muted)}.class-manage-panel{padding:22px 24px 28px}.class-manage-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px 24px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid #eef2f6}.class-manage-title{margin:0;font-size:1.25rem;font-weight:700;color:#1e293b;letter-spacing:-.01em}.class-manage-summary{display:flex;flex-wrap:wrap;gap:16px 24px;font-size:.92rem;color:#475569}.class-manage-summary__item strong{font-weight:700;color:#1e293b}.class-manage-table__row--teacher{background:#f8fafc}.class-manage-table__row--teacher .class-manage-table__name{font-weight:600}.class-manage-role-tag{display:inline-block;margin-right:8px;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600;line-height:1.4;color:#1d4ed8;background:#dbeafe;vertical-align:middle}.class-manage-toolbar{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.class-manage-section{margin-bottom:28px}.class-manage-section__head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:12px}.class-manage-section__title{margin:0;font-size:1.05rem;font-weight:700;color:#1e293b}.class-manage-section__meta{font-size:.88rem;color:#64748b}.class-manage-section__meta strong{font-weight:700;color:#1e293b}.class-manage-empty--section{margin:0;padding:20px 16px;border:1px dashed #e2e8f0;border-radius:10px;background:#f8fafc;text-align:center}.class-manage-alert--preline{white-space:pre-line}.class-manage-names-input{width:100%;min-height:140px;padding:10px 12px;border:1px solid #dbe3ec;border-radius:8px;font:inherit;line-height:1.5;resize:vertical;box-sizing:border-box}.class-manage-names-input:focus{outline:none;border-color:var(--theme-primary, #01a18e);box-shadow:0 0 0 2px #01a18e26}.class-manage-toolbar__row--secondary{padding-top:10px;border-top:1px dashed #e8edf2}.class-manage-toolbar__buttons{display:flex;flex-wrap:wrap;gap:10px}.class-manage-btn{min-width:96px;padding:8px 18px;border-radius:6px;border:1px solid #d1fae5;background:#fff;color:#374151;font-size:.88rem;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease}.class-manage-btn--primary{background:var(--theme-primary);border-color:var(--theme-primary);color:#fff;box-shadow:0 1px 2px var(--theme-primary-muted)}.class-manage-btn--primary:hover:not(:disabled){background:var(--theme-primary-hover);border-color:var(--theme-primary-hover)}.class-manage-btn--primary:active:not(:disabled){transform:translateY(1px)}.class-manage-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.class-manage-table-wrap{overflow-x:auto;border:1px solid #e8edf2;border-radius:8px;background:#fff}.class-manage-table{width:100%;border-collapse:collapse;font-size:.9rem}.class-manage-table th,.class-manage-table td{padding:13px 16px;border-bottom:1px solid #eef2f6;text-align:left;vertical-align:middle}.class-manage-table th{background:#f8fafc;font-weight:600;color:#64748b;font-size:.85rem;white-space:nowrap}.class-manage-table tbody tr:last-child td{border-bottom:none}.class-manage-table tbody tr:hover td{background:#fafcfb}.class-manage-table tbody tr.is-selected td{background:var(--theme-primary-muted)}.class-manage-table__check{width:48px;text-align:center}.class-manage-table__check input[type=checkbox]{width:16px;height:16px;accent-color:var(--theme-primary);cursor:pointer}.class-manage-table__id{color:#64748b;font-variant-numeric:tabular-nums}.class-manage-table__name{font-weight:600;color:#1e293b}.class-manage-table__muted{color:#94a3b8}.class-manage-table__vip{width:72px}.class-manage-table__actions{white-space:nowrap}.class-manage-link{border:none;background:none;padding:4px 0;margin-right:12px;color:var(--theme-primary);cursor:pointer;font:inherit;font-size:.88rem}.class-manage-link--danger{color:#dc2626}.class-manage-link:disabled{opacity:.5;cursor:not-allowed}.class-manage-empty{margin:0;padding:48px 16px;text-align:center;color:#94a3b8;font-size:.92rem}.class-manage-module-panel{padding:20px 24px 24px}.class-manage-module-panel__head{margin-bottom:18px}.class-manage-module-panel__title{margin:0 0 6px;font-size:1.15rem;font-weight:700;color:#1e293b}.class-manage-module-panel__desc{margin:0;max-width:720px;font-size:.88rem;line-height:1.6;color:#64748b}.class-manage-module-panel__msg{margin:0 0 14px;padding:10px 14px;border-radius:10px;background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;font-size:.88rem}.class-manage-vip-row{margin-bottom:18px;padding:14px 16px;border-radius:12px;border:1px solid #e8edf2;background:#f8fafb}.class-manage-vip-row__label{display:block;margin-bottom:8px;font-size:.88rem;font-weight:700;color:#334155}.class-manage-vip-row__controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.class-manage-vip-row__select{min-width:140px;padding:8px 12px;border-radius:8px;border:1px solid #dbe3ea;background:#fff;font-size:.88rem;color:#334155}.class-manage-vip-row__select:focus{outline:none;border-color:var(--theme-primary, #2563eb);box-shadow:0 0 0 3px #2563eb1f}.class-manage-vip-row__hint{margin:8px 0 0;font-size:.78rem;color:#94a3b8}.class-manage-module-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;padding-top:18px;border-top:1px solid #eef2f6}.class-manage-bulk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;padding:14px 16px;border-radius:8px;background:var(--theme-primary-muted);border:1px solid var(--home-card-border, var(--theme-primary-muted));font-size:.9rem;color:var(--theme-primary-text, var(--theme-primary-hover))}.class-manage-bulk-bar .class-manage-btn--primary{min-width:auto;padding:7px 14px}.student-transfer-kind{display:flex;flex-wrap:wrap;gap:16px}.student-transfer-kind__item{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:.9rem;color:var(--text-secondary, #4b5563)}.student-transfer-kind__item input{margin:0}@media (max-width: 768px){.class-manage-topbar,.class-manage-tabs-bar,.class-manage-panel{padding-left:16px;padding-right:16px}.class-manage-tabs-bar{flex-direction:column;align-items:flex-start}.class-manage-tabs__links{padding-bottom:0}.class-manage-head{flex-direction:column;align-items:flex-start}}.homework-manage-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.homework-manage-hero__desc{margin:8px 0 0;font-size:.9rem;line-height:1.55;color:var(--imooc-muted)}.homework-manage-btn{flex-shrink:0;padding:8px 18px;border-radius:6px;border:1px solid var(--imooc-border);background:var(--imooc-card);color:var(--imooc-text);font-size:.9rem;font-weight:500;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.homework-manage-btn--primary{background:var(--imooc-green);border-color:var(--imooc-green);color:#fff}.homework-manage-btn--primary:hover{background:var(--imooc-green-hover);border-color:var(--imooc-green-hover)}.homework-manage-btn--primary:disabled{opacity:.55;cursor:not-allowed}.homework-manage-btn--query{align-self:flex-end;min-width:88px}.homework-manage-alert{margin-bottom:12px;padding:10px 14px;border-radius:6px;border:1px solid #f5c6cb;background:#fff5f5;color:#c0392b;font-size:.9rem}.homework-manage-alert--info{border-color:#b7e4c7;background:#f0fdf4;color:#166534}.homework-manage-panel{background:var(--imooc-card);border:1px solid var(--imooc-border);border-radius:8px;box-shadow:0 1px 4px #0f172a0a;overflow:auto}.platform-staff-page .platform-staff-panel{margin-bottom:16px}.platform-staff-page .platform-staff-panel--list{margin-bottom:0}.platform-staff-panel__head{padding:16px 20px 12px;border-bottom:1px solid var(--imooc-border);background:linear-gradient(180deg,#f8fafb,#fff)}.platform-staff-panel__head--row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 16px}.platform-staff-panel__title{margin:0;font-size:1.05rem;font-weight:600;color:var(--imooc-text)}.platform-staff-panel__hint{margin:6px 0 0;font-size:.85rem;color:var(--imooc-muted);line-height:1.45}.platform-staff-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.platform-staff-toolbar .homework-manage-select{min-width:160px}.platform-staff-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;padding:18px 20px 20px;max-width:720px}.platform-staff-field{display:flex;flex-direction:column;gap:6px;font-size:.85rem;font-weight:600;color:var(--imooc-muted)}.platform-staff-field .homework-manage-select,.platform-staff-input{width:100%;min-width:0;box-sizing:border-box}.platform-staff-input{padding:8px 12px;border:1px solid var(--imooc-border);border-radius:6px;background:var(--imooc-card);color:var(--imooc-text);font-size:.9rem;font-weight:400}.platform-staff-input:focus{outline:none;border-color:var(--imooc-green);box-shadow:0 0 0 2px #19a56626}.platform-staff-input::placeholder{color:#b0b6bc}.platform-staff-form__actions{grid-column:1 / -1;display:flex;justify-content:flex-start;padding-top:4px}.platform-staff-role-chip{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--imooc-green-soft);color:var(--imooc-green-hover)}.platform-staff-role-chip--finance{background:#eef2ff;color:#4338ca}@media (max-width: 640px){.platform-staff-form{grid-template-columns:1fr;max-width:none}.platform-staff-panel__head--row{flex-direction:column}.platform-staff-toolbar{width:100%}.platform-staff-toolbar .homework-manage-select{flex:1}}.homework-manage-empty{margin:0;padding:48px 24px;text-align:center;color:var(--imooc-muted);font-size:.92rem}.homework-manage-table-wrap{overflow-x:auto}.homework-manage-table{width:100%;border-collapse:collapse;font-size:14px}.homework-manage-table th{padding:12px 16px;text-align:left;font-weight:600;font-size:.82rem;color:var(--imooc-muted);background:#f8fafc;border-bottom:1px solid var(--imooc-border);white-space:nowrap}.homework-manage-table td{padding:14px 16px;border-bottom:1px solid #f0f2f5;color:var(--imooc-text);vertical-align:middle}.homework-manage-table tbody tr:hover td{background:#fafbfc}.homework-manage-table tbody tr.is-striped td{background:#fcfcfd}.homework-manage-table tbody tr.is-striped:hover td{background:#f5f7f9}.homework-manage-table__col-title{min-width:200px}.homework-manage-table__col-num,.homework-manage-table__col-date{width:100px}.homework-manage-table__col-classes{min-width:120px}.homework-manage-records{padding-bottom:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--imooc-border)}.homework-manage-records__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 16px 12px}.homework-manage-records__title{margin:0;font-size:.95rem;font-weight:600;color:#1e293b}.homework-manage-records__meta{font-size:.85rem;color:var(--imooc-muted);white-space:nowrap}.homework-manage-table__col-scope{min-width:160px}.homework-manage-table__col-actions{width:160px;text-align:right}.homework-manage-table__title{font-weight:600;color:var(--imooc-text)}.homework-manage-table__muted{color:var(--imooc-muted);font-size:.88rem}.homework-manage-table__actions{text-align:right;vertical-align:middle;white-space:nowrap}.homework-manage-table__actions:not(:has(.homework-manage-action-box)){display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px 10px}.homework-manage-table__actions .homework-manage-action-box{display:inline-flex;vertical-align:middle;margin-left:auto}.homework-manage-link{padding:0;border:none;background:none;color:var(--imooc-green);font-size:.88rem;cursor:pointer;transition:color .15s ease}.homework-manage-link:hover{color:var(--imooc-green-hover);text-decoration:underline}.homework-manage-link--danger{color:#dc2626}.homework-manage-link--danger:hover{color:#b91c1c}.homework-manage-link:disabled{opacity:.5;cursor:not-allowed;text-decoration:none}.homework-manage-table__sep{margin:0 8px;color:#d9dde1;-webkit-user-select:none;user-select:none}.homework-manage-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 8px}.homework-manage-section-head__main{display:flex;align-items:baseline;gap:12px;min-width:0}.homework-manage-section-head--records{padding-top:20px;border-top:1px solid var(--imooc-border);margin-top:4px}.homework-manage-section-head__title{margin:0;font-size:1rem;font-weight:600;color:#1e293b}.homework-manage-section-head__sub{margin:4px 0 0;font-size:.85rem;color:var(--imooc-muted)}.homework-manage-section-head__meta{font-size:.85rem;color:var(--imooc-muted);white-space:nowrap}.homework-manage-section-head--class-list .homework-manage-section-head__main{align-items:center;margin-left:auto}.homework-manage-section-head__actions{display:flex;align-items:center;gap:12px}.homework-manage-empty--compact{padding:24px 16px}.homework-manage-table--classes .homework-manage-table__actions{white-space:nowrap}.homework-manage-table--classes .homework-manage-table__col-actions,.homework-manage-table--schools .homework-manage-table__col-actions{width:1%;min-width:200px}.homework-manage-table--classes .homework-manage-table__actions,.homework-manage-table--schools .homework-manage-table__actions{padding-left:12px}.homework-manage-action-box{display:inline-flex;align-items:stretch;max-width:100%;border:1px solid #dbe3ee;border-radius:8px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 1px 2px #0f172a0f,inset 0 1px #ffffffe6;overflow:hidden}.homework-manage-action-box--triple,.homework-manage-action-box--quad,.homework-manage-table--schools .homework-manage-action-box{min-width:0}.homework-manage-table--schools .homework-manage-action-box__btn{min-width:72px;padding:8px 10px;font-size:.8rem}.homework-manage-action-box .region-vip-tier-select{flex:1 1 auto;min-width:110px;border:none;background:transparent;padding:8px 14px;font-size:.84rem;font-weight:500;color:var(--imooc-green);cursor:pointer}.homework-manage-table--students-vip .homework-manage-table__col-actions{width:1%;min-width:120px}.homework-manage-table--students-vip .homework-manage-table__actions{padding-left:8px}.school-admin-module-panel{margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid #e2e8f0}.school-admin-module-panel__title{margin:0 0 12px;font-size:.95rem;font-weight:600;color:#1e293b}.homework-manage-action-box__btn{flex:1 1 0;min-width:76px;padding:8px 14px;border:none;background:transparent;font-size:.84rem;font-weight:500;line-height:1.25;color:#475569;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease;white-space:nowrap}.homework-manage-action-box__btn+.homework-manage-action-box__btn{border-left:1px solid #e2e8f0}.homework-manage-action-box__btn:hover:not(:disabled){background:#f1f5f9;color:#1e293b}.homework-manage-action-box__btn:disabled{opacity:.45;cursor:not-allowed}.homework-manage-action-box__btn--primary{color:var(--imooc-green);font-weight:600}.homework-manage-action-box__btn--primary:hover:not(:disabled){background:var(--imooc-green-soft);color:var(--imooc-green-hover)}.homework-manage-action-box__btn--danger{color:#dc2626;font-weight:600}.homework-manage-action-box__btn--danger:hover:not(:disabled){background:#fef2f2;color:#b91c1c}.homework-manage-action-box__btn.is-active{background:#eff6ff;color:#2563eb;font-weight:600;box-shadow:inset 0 0 0 1px #2563eb1f}.homework-manage-action-box__btn:focus-visible{outline:2px solid rgba(25,165,102,.35);outline-offset:-2px;z-index:1}.homework-manage-link.is-active{color:#0d6efd;font-weight:600}.homework-manage-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:14px 16px;border-bottom:1px solid var(--imooc-border);background:#f8fafc}.homework-manage-toolbar--geo{align-items:flex-end;flex-wrap:nowrap;width:100%;box-sizing:border-box}.homework-manage-geo-field{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1 1 140px}.homework-manage-geo-field--school{flex:2.6 1 260px;min-width:200px}.homework-manage-geo-field .homework-manage-select{width:100%;min-width:0;max-width:none;box-sizing:border-box}.homework-manage-geo-field--keyword{min-width:180px;flex:1 1 200px;max-width:280px}.homework-manage-geo-field--keyword .homework-manage-select{width:100%}.homework-manage-toolbar--geo>.homework-manage-btn{flex:0 0 auto;align-self:flex-end;white-space:nowrap}.homework-manage-toolbar__label{font-size:.88rem;font-weight:600;color:var(--imooc-muted);white-space:nowrap}.homework-manage-toolbar__meta{font-size:.84rem;color:var(--imooc-muted);margin-left:auto}.homework-review-detail-toolbar{align-items:center;gap:12px}.homework-review-detail-toolbar .homework-manage-toolbar__meta{margin-left:0}.homework-review-back-btn{flex-shrink:0;align-self:flex-start}.homework-review-back-row{margin:0 0 16px}.homework-review-detail-toolbar__title{font-weight:500;color:var(--imooc-text, #1e293b)}.homework-manage-select{min-width:0;max-width:100%;padding:7px 12px;border:1px solid var(--imooc-border);border-radius:6px;background:var(--imooc-card);color:var(--imooc-text);font-size:.9rem;cursor:pointer}.homework-manage-select:focus{outline:none;border-color:var(--imooc-green);box-shadow:0 0 0 2px #19a56626}.homework-manage-table--review .homework-manage-table__col-num{width:88px}.homework-manage-score-tag{display:inline-block;min-width:48px;padding:3px 10px;border-radius:4px;font-weight:600;font-size:.84rem;text-align:center;background:#f5f6f7;color:var(--imooc-muted)}.homework-manage-score-tag.is-done{background:var(--imooc-green-soft);color:var(--imooc-green)}.homework-manage-score-tag.is-submitted{background:#3b82f61f;color:#2563eb}.homework-manage-score-tag--muted{margin-left:8px;background:#f5f6f7;color:var(--imooc-muted);font-weight:500;font-size:.75rem}.homework-manage-level-tags{display:flex;flex-wrap:wrap;gap:6px;min-width:160px}.homework-manage-level-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.78rem;white-space:nowrap;background:#f5f6f7;color:var(--imooc-muted);border:1px solid #e8ecef}.homework-manage-level-tag.is-done{background:var(--imooc-green-soft);color:var(--imooc-green);border-color:#19a56640}@media (max-width: 768px){.homework-manage-hero{flex-direction:column;align-items:stretch}.homework-manage-btn--primary{width:100%}.homework-manage-toolbar__meta{margin-left:0;width:100%}.homework-manage-table .homework-manage-table__col-scope{display:none}}.admin-manage-list{display:flex;flex-direction:column;border:1px solid rgba(1,161,142,.28);border-radius:12px;overflow:hidden;background:var(--home-card);margin-bottom:1.5rem}.admin-manage-list__head{display:grid;grid-template-columns:1fr auto;gap:16px;padding:10px 16px;background:#01a18e14;font-size:.85rem;font-weight:600;color:#64748b}.admin-manage-list__head-actions{min-width:140px;text-align:right}.admin-manage-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-top:1px solid rgba(1,161,142,.12);transition:background .15s ease}.admin-manage-row:hover{background:#01a18e0a}.admin-manage-row__main{flex:1;min-width:0}.admin-manage-row__title{font-weight:600;font-size:.98rem;color:var(--home-text)}.admin-manage-row__meta{font-size:.85rem;color:#64748b;margin-top:4px;line-height:1.45}.admin-manage-row__actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0;min-width:140px}.admin-manage-row__actions .edit-button,.admin-manage-row__actions .delete-button{padding:6px 12px;font-size:13px}@media (max-width: 640px){.admin-manage-list__head{display:none}.admin-manage-row{flex-direction:column;align-items:stretch}.admin-manage-row__actions{min-width:0;justify-content:flex-start}}.add-student-form{background:linear-gradient(135deg,#01a18e0f,#018f7f0a);border:1px solid rgba(1,161,142,.28);border-radius:16px;padding:22px;margin-bottom:20px;box-shadow:0 2px 12px #0000000a}.add-student-form .admin-form-group{margin-bottom:14px}.add-student-form .admin-form-group:last-of-type{margin-bottom:0}.add-student-form .admin-form-group label{display:block;margin-bottom:6px;font-size:.9rem;font-weight:600;color:var(--home-text)}.add-student-form .admin-form-group input{width:100%;padding:11px 14px;background:#fff;border:1px solid rgba(1,161,142,.3);border-radius:12px;color:var(--home-text);font-size:.95rem;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.add-student-form .admin-form-group input:focus{outline:none;border-color:var(--theme-primary);box-shadow:0 0 0 3px #01a18e26}.add-student-form input{width:100%;padding:11px 14px;margin-bottom:12px;background:#fff;border:1px solid rgba(1,161,142,.3);border-radius:12px;color:var(--home-text);font-size:.95rem;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.add-student-form input:focus{outline:none;border-color:var(--theme-primary);box-shadow:0 0 0 3px #01a18e26}.add-student-form .form-actions{margin-top:18px;padding-top:16px;border-top:1px solid rgba(1,161,142,.15)}.add-student-form .form-actions button{padding:10px 20px;border-radius:12px;font-weight:500;transition:all .2s ease}.add-student-form .form-actions button[type=submit]{background:linear-gradient(135deg,var(--theme-primary) 0%,var(--theme-primary-hover) 100%);color:var(--home-card);border:none;box-shadow:0 2px 10px #01a18e4d}.add-student-form .form-actions button[type=submit]:hover{transform:translateY(-1px);box-shadow:0 4px 14px #01a18e66}.add-student-form .form-actions button[type=button]{background:transparent;border:1px solid rgba(1,161,142,.4);color:var(--home-text)}.add-student-form .form-actions button[type=button]:hover{border-color:var(--theme-primary);background:#01a18e14}.form-actions{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}.form-actions button{padding:10px 18px;border:none;border-radius:12px;cursor:pointer;font-weight:500;transition:all .2s ease}.form-actions button[type=submit]{background:linear-gradient(135deg,var(--theme-primary) 0%,var(--theme-primary-hover) 100%);color:var(--home-card)}.form-actions button[type=button]{background:transparent;border:1px solid rgba(1,161,142,.4);color:var(--home-text)}.form-actions button[type=button]:hover{border-color:var(--theme-primary);background:#01a18e14}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.page-header h1{margin:0}.header-actions{display:flex;gap:10px}.primary-button{padding:var(--ui-btn-pad-y-lg, .55rem) var(--ui-btn-pad-x-lg, 1rem);background:linear-gradient(135deg,var(--theme-primary) 0%,var(--theme-primary-hover) 100%);color:var(--home-card);border:none;border-radius:var(--ui-radius-sm, 10px);cursor:pointer;font-weight:600;font-size:var(--ui-btn-font, .95rem);min-height:var(--ui-btn-min-h, 2.25rem);line-height:1.25;transition:all .25s ease;box-shadow:0 2px 10px #01a18e4d}.primary-button:hover{background:linear-gradient(135deg,var(--theme-primary-hover) 0%,var(--theme-primary-hover) 100%);transform:translateY(-1px);box-shadow:0 4px 16px #01a18e66}.homework-info{background:#01a18e14;border:1px solid rgba(1,161,142,.28);border-radius:12px;padding:15px;margin-bottom:20px}.levels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:clamp(10px,8px + .5vw,16px);align-items:stretch}.admin-page .level-card{--lc-radius: 8px;display:flex;flex-direction:column;min-width:0;max-width:100%;background:#fff;border:1px solid rgba(15,23,42,.06);border-radius:var(--lc-radius);padding:0;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;box-shadow:0 1px 6px #0f172a0d}.admin-page .level-card:hover{border-color:#01a18e47;transform:translateY(-3px);box-shadow:0 8px 20px #0f172a17}.level-card__cover{position:relative;flex-shrink:0;aspect-ratio:2 / 1;min-height:72px;max-height:96px;background:radial-gradient(ellipse 80% 70% at 18% 20%,rgba(255,255,255,.22),transparent 55%),linear-gradient(135deg,#0d9488,#0f766e 42%,#115e59);display:flex;align-items:flex-end;justify-content:space-between;padding:6px 8px;overflow:hidden}.level-card--hub .level-card__cover{background:radial-gradient(ellipse 80% 70% at 18% 20%,rgba(255,255,255,.2),transparent 55%),linear-gradient(135deg,#f59e0b,#d97706,#b45309)}.level-card__cover-deco{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(120deg,transparent 40%,rgba(255,255,255,.08) 50%,transparent 60%),repeating-linear-gradient(-18deg,transparent,transparent 18px,rgba(255,255,255,.04) 18px,rgba(255,255,255,.04) 19px)}.level-card__cover .level-sort-index{position:relative;z-index:1;min-width:1.4rem;height:1.4rem;border-radius:5px;font-size:.72rem;color:#0f766e;background:#fffffff2;border:none;box-shadow:0 1px 5px #0000001a}.level-card__cover .level-sort-index--hub{color:#b45309;background:#fffffff2}.level-card__cover .level-badges{position:relative;z-index:1;margin-left:auto;justify-content:flex-end;max-width:70%;gap:4px}.level-card__body{display:flex;flex-direction:column;gap:6px;padding:8px 10px 4px;flex:1;min-height:0}.level-header{display:block;margin-bottom:0}.level-card__title,.level-header h3,.level-header .level-card__title{margin:0;color:#1e293b;font-size:clamp(.8rem,.76rem + .2vw,.9rem);font-weight:650;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-width:0;flex:none}.level-sort-index{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.4rem;padding:0 .28rem;border-radius:5px;font-size:.72rem;font-weight:700;color:var(--theme-primary, #01a18e);background:#01a18e1f;border:1px solid rgba(1,161,142,.28);flex-shrink:0}.level-sort-index--hub{min-width:2.1rem;color:#b45309;background:#f59e0b24;border-color:#f59e0b59}.level-card--hub{border-color:#f59e0b47;box-shadow:0 1px 8px #b4530912}.level-sort-hint{margin:0 0 .75rem;padding:.5rem .7rem;border-radius:8px;font-size:.8rem;color:#475569;background:#01a18e14;border:1px solid rgba(1,161,142,.18)}.level-card__foot,.level-actions{display:flex;flex-direction:column;gap:6px;padding:6px 10px 10px;border-top:1px solid rgba(15,23,42,.06);background:#fafbfc;position:relative;z-index:2}.level-sort-control{display:flex;align-items:center;gap:.35rem;width:100%;margin:0}.level-sort-control__label{font-size:.7rem;color:#64748b;white-space:nowrap;flex-shrink:0}.level-sort-control select{flex:1;min-width:0;width:100%;min-height:1.45rem;height:1.45rem;padding:0 .4rem;border-radius:4px;border:1px solid #e2e8f0;font-size:.7rem;line-height:1.2;background:#fff;color:#334155}.level-actions__btns{display:flex;flex-wrap:wrap;gap:4px;width:100%}.level-actions__btns .edit-button,.level-actions__btns .delete-button,.level-actions__btns .preview-button{flex:0 1 auto;min-width:0;width:auto;min-height:1.4rem;height:1.4rem;justify-content:center;text-align:center;padding:0 .45rem;font-size:.7rem;font-weight:560;line-height:1;border-radius:4px;white-space:nowrap;box-shadow:none}.level-actions__btns .edit-button:hover,.level-actions__btns .delete-button:hover,.level-actions__btns .preview-button:hover{transform:none;box-shadow:none;filter:brightness(1.05)}.level-badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.module-badge{padding:1px 6px;border-radius:3px;font-size:.65rem;font-weight:600;background:#0f172a8c;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.difficulty-badge{padding:1px 6px;border-radius:3px;font-size:.65rem;font-weight:650}.difficulty-badge.easy{background:#22c55eeb;color:#fff}.difficulty-badge.medium{background:#f97316eb;color:#fff}.difficulty-badge.hard{background:#ef4444eb;color:#fff}.level-preview{margin-bottom:0}.config-info{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:3px 8px;font-size:.68rem;color:#64748b}.config-info li{display:flex;flex-direction:column;gap:0;min-width:0;margin:0;padding:0}.config-info__label{color:#94a3b8;font-size:.9em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.config-info__value{color:#334155;font-weight:600;font-variant-numeric:tabular-nums}.level-card__empty-meta{margin:0;color:#94a3b8;font-size:.75rem}.config-info p{margin:3px 0}@media (max-width: 900px){.levels-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:10px}.level-card__cover{min-height:64px;max-height:84px}}@media (max-width: 640px){.levels-grid{grid-template-columns:1fr;gap:10px}.admin-page .level-card{display:grid;grid-template-columns:minmax(88px,32%) 1fr;grid-template-rows:auto auto}.level-card__cover{grid-row:1 / span 2;grid-column:1;aspect-ratio:auto;min-height:100%;max-height:none;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:8px}.level-card__cover .level-badges{max-width:100%;margin-left:0}.level-card__body{grid-column:2;grid-row:1;padding:8px 8px 4px}.level-card__foot,.level-actions{grid-column:2;grid-row:2;padding:4px 8px 8px;border-top:none;background:transparent}.config-info{grid-template-columns:1fr;gap:2px}.config-info li{flex-direction:row;justify-content:space-between;gap:6px}}@media (max-width: 420px){.admin-page .level-card{grid-template-columns:1fr}.level-card__cover{grid-row:auto;grid-column:1;aspect-ratio:2 / 1;min-height:64px;max-height:80px;flex-direction:row;align-items:flex-end}.level-card__body,.level-card__foot,.level-actions{grid-column:1;grid-row:auto}.level-card__foot,.level-actions{border-top:1px solid rgba(15,23,42,.06);background:#fafbfc}}.edit-button,.add-button,.remove-button,.delete-button,.preview-button{padding:var(--ui-btn-pad-y, .4rem) var(--ui-btn-pad-x, .75rem);border:none;border-radius:var(--ui-radius-sm, 8px);cursor:pointer;font-size:var(--ui-btn-font-sm, .85rem);font-weight:500;min-height:var(--ui-btn-min-h-sm, 1.75rem);line-height:1.25;transition:all .25s ease}.edit-button{background:linear-gradient(135deg,#ff9800,#f57c00);color:var(--home-card)}.edit-button:hover{background:linear-gradient(135deg,#fb8c00,#ef6c00);transform:translateY(-1px);box-shadow:0 2px 10px #ff980066}.add-button{background:#4caf50;color:#fff}.remove-button,.delete-button{background:#f44336e6;color:#fff}.remove-button:hover,.delete-button:hover{background:#f44336;transform:translateY(-1px);box-shadow:0 2px 10px #f4433666}.preview-button{background:#2196f3;color:var(--home-card)}.empty-state{text-align:center;padding:60px 20px;color:#64748b}.homework-form{background:var(--home-card);border:1px solid rgba(1,161,142,.22);border-radius:20px;padding:0;overflow:hidden;box-shadow:0 8px 32px #01a18e14}.homework-edit-page{max-width:920px;margin:0 auto}.homework-edit-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;flex-wrap:wrap}.homework-edit-header__main{display:flex;align-items:flex-start;gap:16px;flex:1;min-width:0}.homework-edit-back{flex-shrink:0;margin-top:6px;padding:8px 14px;border:1px solid rgba(1,161,142,.35);border-radius:10px;background:var(--home-card);color:var(--theme-primary-text);font-size:14px;cursor:pointer;transition:all .2s ease}.homework-edit-back:hover{border-color:var(--theme-primary);background:#01a18e14}.homework-edit-header h1{margin:0 0 6px;font-size:1.65rem;font-weight:700;color:var(--home-text);letter-spacing:-.02em}.homework-edit-header__desc{margin:0;font-size:14px;color:#64748b;line-height:1.5;max-width:36em}.homework-edit-header__actions{flex-shrink:0;padding-top:4px}.homework-edit-page .save-button,.homework-edit-page .cancel-button{padding:10px 22px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.homework-edit-page .save-button{border:none;background:linear-gradient(135deg,var(--theme-primary) 0%,var(--theme-primary-hover) 100%);color:var(--home-card);box-shadow:0 4px 14px #01a18e59}.homework-edit-page .save-button:hover{transform:translateY(-1px);box-shadow:0 6px 18px #01a18e6b}.homework-edit-page .cancel-button{border:1px solid rgba(1,161,142,.35);background:transparent;color:var(--home-text)}.homework-edit-page .cancel-button:hover{border-color:var(--theme-primary);background:#01a18e0f}.homework-form-section{padding:28px 32px;border-bottom:1px solid rgba(1,161,142,.12)}.homework-form-section:last-child{border-bottom:none}.homework-form-section--levels{background:linear-gradient(180deg,rgba(1,161,142,.03) 0%,transparent 100%)}.homework-form-section__title{margin:0 0 20px;padding-left:12px;border-left:4px solid var(--theme-primary);font-size:1rem;font-weight:700;color:var(--home-text);letter-spacing:.02em}.homework-edit-page .form-group{margin-bottom:20px}.homework-edit-page .form-group:last-child{margin-bottom:0}.homework-form-group--title input{font-size:16px;font-weight:500;padding:14px 16px}.homework-edit-page .form-group label{display:block;margin-bottom:8px;font-size:13px;font-weight:600;color:#475569;letter-spacing:.02em}.homework-edit-page .form-group input,.homework-edit-page .form-group textarea,.homework-edit-page .form-group select{width:100%;padding:12px 14px;background:#fff;border:1px solid rgba(1,161,142,.28);border-radius:10px;color:var(--home-text);font-size:14px;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.homework-edit-page .form-group input:focus,.homework-edit-page .form-group textarea:focus,.homework-edit-page .form-group select:focus{outline:none;border-color:var(--theme-primary);box-shadow:0 0 0 3px #01a18e26}.homework-edit-page .form-group textarea{resize:vertical;min-height:96px;line-height:1.55}.homework-edit-page .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.homework-edit-page .form-row .form-group{margin-bottom:0}.homework-due-row{max-width:480px}.homework-due-chip{display:inline-flex;align-items:center;margin:16px 0 0;padding:8px 14px;font-size:13px;color:var(--theme-primary-text);background:#01a18e1a;border:1px solid rgba(1,161,142,.25);border-radius:999px}.homework-form-hint{margin:10px 0 0;font-size:13px;color:var(--home-muted, #64748b)}.homework-status-chip{display:inline-flex;align-items:center;margin-top:8px;padding:4px 10px;font-size:12px;font-weight:600;border-radius:999px}.homework-status-chip--draft{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.homework-status-chip--published{color:#065f46;background:#d1fae5;border:1px solid #6ee7b7}.homework-edit-footer{position:sticky;bottom:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:24px;padding:16px 20px;background:#fffffff5;border:1px solid rgba(1,161,142,.2);border-radius:14px;box-shadow:0 -4px 24px #0f172a14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.homework-edit-footer__hint{margin:0;font-size:13px;color:var(--home-muted, #64748b)}.homework-edit-footer__actions{display:flex;gap:12px;margin-left:auto}.homework-edit-footer__save,.homework-edit-footer__publish{min-width:120px}.homework-manage-table__col-status{width:88px}.homework-manage-table__status{vertical-align:middle}.homework-manage-table .homework-status-chip{margin-top:0;padding:3px 10px;font-size:12px;line-height:1.4;border-radius:3px;font-weight:500}.homework-manage-table .homework-status-chip--draft{color:#b45309;background:#fffbeb;border:1px solid #fcd34d}.homework-manage-table .homework-status-chip--published{color:#fff;background:#40bb8a;border:1px solid #33a876;box-shadow:0 1px 2px #33a87640}.homework-level-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:24px;padding:20px 22px;background:var(--home-card);border:1px solid rgba(1,161,142,.22);border-radius:14px;box-shadow:0 2px 12px #0000000a}.homework-level-toolbar__text{display:flex;flex-direction:column;gap:4px;min-width:0}.homework-level-toolbar__text strong{font-size:15px;color:var(--home-text)}.homework-level-toolbar__text span{font-size:13px;color:#64748b;line-height:1.45}.homework-level-toolbar__actions{display:flex;gap:10px;flex-shrink:0;flex-wrap:wrap}.homework-level-toolbar .primary-button,.homework-level-toolbar .secondary-button{padding:10px 20px;font-size:14px;white-space:nowrap}.homework-levels-panel{background:var(--home-card);border:1px solid rgba(1,161,142,.18);border-radius:14px;padding:18px 20px 20px}.homework-levels-panel__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(1,161,142,.12)}.homework-levels-panel__head label{margin:0;font-size:14px;font-weight:700;color:var(--home-text)}.homework-levels-count{font-size:12px;font-weight:600;color:var(--theme-primary-text);background:#01a18e1f;padding:4px 10px;border-radius:999px}.homework-levels-empty{text-align:center;padding:40px 24px 36px;border:2px dashed rgba(1,161,142,.25);border-radius:12px;background:#01a18e08}.homework-levels-empty__icon{font-size:2rem;line-height:1;margin-bottom:12px;opacity:.85}.homework-levels-empty__title{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--home-text)}.homework-levels-empty__hint{font-size:13px;color:#64748b;line-height:1.55;max-width:28em;margin:0 auto}.homework-edit-page .levels-selection.levels-added{margin-top:0;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.homework-edit-page .level-select-card.selected{background:#fff;border:1px solid rgba(1,161,142,.3);border-radius:12px;padding:16px;cursor:default;box-shadow:0 2px 8px #0000000a;transition:border-color .2s ease,box-shadow .2s ease}.homework-edit-page .level-select-card.selected:hover{border-color:var(--theme-primary);box-shadow:0 4px 16px #01a18e1f}.homework-edit-page .level-select-header h4{font-size:15px;font-weight:600}.homework-edit-page .level-select-actions{flex-wrap:wrap}@media (max-width: 640px){.homework-edit-header{flex-direction:column}.homework-edit-header__actions{width:100%;display:flex;justify-content:flex-end}.homework-form-section{padding:22px 18px}.homework-level-toolbar{flex-direction:column;align-items:stretch;text-align:center}.homework-level-toolbar__actions{justify-content:center}.homework-edit-back{display:none}}.homework-levels-section .section-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}.homework-due-preview{font-size:13px;color:#54716c;font-weight:400}.homework-bank-picker-modal{max-width:760px}.homework-bank-picker-modal .modal-header{align-items:flex-start}.homework-bank-picker-hint,.homework-bank-picker-summary{margin:6px 0 0;font-size:13px;color:#54716c;font-weight:400;line-height:1.5}.homework-bank-picker-filters{border-bottom:1px solid rgba(1,161,142,.15);display:grid;grid-template-columns:auto minmax(120px,1fr) auto minmax(120px,1fr);gap:8px 12px;align-items:end}.homework-bank-picker-filters label:not(.homework-bank-picker-search){font-size:13px;font-weight:600;color:var(--home-text)}.homework-bank-picker-filters select{padding:8px 10px;border:1px solid rgba(1,161,142,.3);border-radius:6px;font-size:14px;min-width:0}.homework-bank-picker-filters .homework-bank-picker-search{grid-column:1 / -1}.homework-bank-picker-search{display:flex;flex-direction:column;gap:4px;flex:1;min-width:180px}.homework-bank-picker-search input{padding:8px 10px;border:1px solid rgba(1,161,142,.3);border-radius:6px;font-size:14px;width:100%}.homework-bank-picker-body{min-height:200px;max-height:min(52vh,480px);overflow-y:auto}.homework-bank-picker-empty{text-align:center;color:#64748b;padding:32px 16px}.homework-bank-picker-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.homework-bank-picker-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(1,161,142,.25);border-radius:10px;background:#01a18e0a}.homework-bank-picker-item.is-in-homework{border-color:#05966959;background:#0596690f}.homework-bank-picker-item__main{flex:1;min-width:0}.homework-bank-picker-item__head{display:flex;flex-direction:column;gap:4px}.homework-bank-picker-item__head strong{font-size:15px;color:var(--home-text)}.homework-bank-picker-select{flex-shrink:0;padding:8px 16px;font-size:13px}.homework-bank-picker-select:disabled{opacity:.65;cursor:not-allowed}.admin-page .form-group{margin-bottom:25px}.admin-page .form-group label{display:block;margin-bottom:8px;color:var(--home-text);font-weight:700}.admin-page .form-group input,.admin-page .form-group textarea{width:100%;padding:12px;background:#fff;border:1px solid rgba(1,161,142,.3);border-radius:8px;color:var(--home-text);font-size:14px}.admin-page .form-group textarea{resize:vertical;min-height:100px}.section-header label{color:var(--home-text);font-weight:700;margin:0}.section-actions{display:flex;gap:10px;align-items:center}.form-row{display:flex;gap:20px;flex-wrap:wrap}.form-row .form-group{flex:1;min-width:160px}.secondary-button{padding:8px 16px;background:#01a18e26;color:var(--theme-primary-text);border:1px solid var(--theme-primary);border-radius:8px;cursor:pointer;transition:all .3s}.secondary-button:hover{background:#01a18e40}.level-meta{font-size:12px;color:#54716c;margin-top:4px}.added-tag,.add-hint{font-size:12px;color:#059669}.add-hint{color:#0d9488}.small-button{padding:6px 12px;font-size:13px;background:#01a18e26;color:var(--theme-primary-text);border:1px solid var(--theme-primary);border-radius:6px;cursor:pointer}.small-button:hover{background:#01a18e40}.admin-alert-modal{width:min(420px,100%);max-width:420px}.admin-alert-modal .admin-modal-header{padding:18px 22px 0}.admin-alert-modal .admin-modal-header h3{margin:0;font-size:1.1rem;color:#0f172a}.admin-alert-modal .admin-modal-body{padding:14px 22px 20px}.admin-alert-modal__message{margin:0 0 18px;font-size:.95rem;line-height:1.55;color:#334155;white-space:pre-wrap;word-break:break-word}.admin-alert-modal .modal-actions{display:flex;justify-content:flex-end;gap:10px}.student-active-products{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;max-width:220px}.student-active-products__item{color:#dc2626;font-weight:700;font-size:.85rem;line-height:1.35;cursor:default;border-bottom:1px dotted rgba(220,38,38,.45)}.student-active-products__item:hover{color:#b91c1c}.student-active-products__revoke{margin-left:4px;padding:0 4px;border:none;background:transparent;color:#64748b;font-size:.75rem;font-weight:600;cursor:pointer;text-decoration:underline}.student-active-products__revoke:hover:not(:disabled){color:#dc2626}.student-active-products__revoke:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:10050;padding:20px}.modal-content{background:var(--home-card);border:1px solid rgba(1,161,142,.3);border-radius:16px;color:var(--home-text)}.level-bank-modal .modal-content{background:var(--home-card);border:1px solid rgba(1,161,142,.3);border-radius:16px;max-width:700px;width:100%;max-height:85vh;display:flex;flex-direction:column;color:var(--home-text)}.level-bank-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(1,161,142,.25)}.level-bank-modal .modal-header h2{margin:0;color:var(--home-text);font-size:1.25rem}.modal-close{background:none;border:none;color:#54716c;font-size:24px;cursor:pointer;padding:0 8px;line-height:1}.modal-close:hover{color:var(--home-text)}.modal-filters{display:flex;gap:12px;align-items:center;padding:12px 20px;flex-wrap:wrap}.modal-filters label{color:var(--home-text);font-size:14px}.modal-filters select{padding:6px 10px;border-radius:6px;border:1px solid rgba(1,161,142,.35);background:#fff;color:var(--home-text);min-width:120px}.modal-body{padding:16px 20px;overflow-y:auto;flex:1}.modal-footer{padding:12px 20px;border-top:1px solid rgba(1,161,142,.25);display:flex;justify-content:flex-end}.levels-empty-hint{color:#54716c;font-size:14px;margin:10px 0 15px;padding:12px;background:#01a18e14;border-radius:8px;border-left:4px solid var(--theme-primary)}.levels-selection{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px;margin-top:15px}.level-select-card{background:#fff;border:2px solid rgba(1,161,142,.28);border-radius:12px;padding:15px;cursor:pointer;transition:all .3s}.level-select-card:hover{border-color:var(--theme-primary)}.level-select-card.selected{background:#01a18e1a;border-color:var(--theme-primary);box-shadow:0 0 0 2px #01a18e33}.level-select-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.level-select-header h4{margin:0;color:var(--home-text)}.level-select-actions,.card-actions{display:flex;gap:8px;margin-top:10px}.school-admin-page .school-admin-header{margin-bottom:28px}.school-admin-page .school-admin-header h1{margin:0 0 8px;font-size:1.75rem;color:var(--home-text)}.school-manage-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid rgba(1,161,142,.2)}.school-manage-tabs__item{display:inline-flex;align-items:center;padding:8px 16px;border-radius:8px;border:1px solid rgba(1,161,142,.28);background:var(--home-card);color:#54716c;font-size:.88rem;font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.school-manage-tabs__item:hover{background:#01a18e14;color:var(--home-text)}.school-manage-tabs__item.is-active{background:#01a18e24;border-color:var(--theme-primary);color:var(--theme-primary-hover);font-weight:600}.school-manage-tabs__item--action{background:var(--theme-primary);border-color:var(--theme-primary);color:#fff;font-weight:600}.school-manage-tabs__item--action:hover{background:var(--theme-primary-hover);border-color:var(--theme-primary-hover);color:#fff}.school-admin-role-hint{margin:0;font-size:.9rem;color:#fff}.school-admin-error{padding:12px 16px;margin-bottom:20px;background:#ef44441a;border:1px solid rgba(239,68,68,.35);border-radius:10px;color:#b91c1c}.school-admin-loading{text-align:center;padding:48px;color:#54716c}.school-admin-section{margin-bottom:28px}.school-admin-panels-switcher{padding:14px 16px}.school-overview-section{background:radial-gradient(circle at 0% 0%,rgba(1,161,142,.15),transparent 40%),radial-gradient(circle at 100% 100%,rgba(59,130,246,.12),transparent 45%),var(--home-card)}.school-overview-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:14px 0 18px}.school-overview-kpi-card{border:1px solid rgba(1,161,142,.3);border-radius:12px;padding:12px 14px;background:#ffffffa8}.school-overview-kpi-card .kpi-label{display:block;font-size:.82rem;color:#54716c;margin-bottom:6px}.school-overview-kpi-card .kpi-value{font-size:1.35rem;color:var(--home-text);line-height:1.2}.school-overview-classes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.school-overview-charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-bottom:14px}.school-overview-chart-card{border:1px solid rgba(1,161,142,.28);border-radius:14px;padding:14px;background:#fff}.school-overview-chart-card h3{margin:0 0 12px;font-size:1rem;color:var(--home-text)}.overview-bar-list{display:flex;flex-direction:column;gap:10px}.overview-bar-row{display:flex;flex-direction:column;gap:6px}.overview-bar-label{display:flex;justify-content:space-between;color:#334155;font-size:.88rem}.overview-bar-track{height:9px;border-radius:999px;background:#94a3b840;overflow:hidden}.overview-bar-fill{height:100%;border-radius:inherit}.overview-bar-fill.completion{background:linear-gradient(90deg,#06b6d4,#3b82f6)}.overview-column-chart{height:220px;display:flex;align-items:flex-end;gap:8px;padding:8px 0;overflow-x:auto}.overview-column-item{min-width:50px;display:flex;flex-direction:column;align-items:center;gap:4px}.overview-column-value{font-size:.75rem;color:#475569}.overview-column-track{width:26px;height:140px;border-radius:8px;background:#94a3b833;display:flex;align-items:flex-end;overflow:hidden}.overview-column-fill{width:100%;background:linear-gradient(180deg,#fbbf24,#f59e0b);border-radius:8px 8px 0 0}.overview-column-label{max-width:60px;font-size:.72rem;color:#334155;text-align:center;line-height:1.15;word-break:break-word}.overview-pie-wrap{display:grid;grid-template-columns:220px 1fr;gap:12px;align-items:center}.overview-pie-svg{width:220px;height:220px}.overview-pie-center-top{font-size:12px;fill:#64748b}.overview-pie-center-val{font-size:22px;font-weight:700;fill:#0f172a}.overview-pie-legend{display:flex;flex-direction:column;gap:6px;max-height:220px;overflow:auto}.overview-pie-legend-item{display:grid;grid-template-columns:12px 1fr auto;gap:8px;align-items:center;font-size:.84rem;color:#334155}.legend-dot{width:10px;height:10px;border-radius:999px}.legend-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend-val{color:#0f172a;font-weight:600}.school-overview-class-card{border:1px solid rgba(1,161,142,.28);border-radius:14px;padding:16px;background:#fff;box-shadow:0 4px 14px #0208170d}.school-overview-class-head{margin-bottom:8px}.school-overview-class-head h4{margin:6px 0 0;color:var(--home-text)}.school-overview-class-metrics{margin-bottom:12px}.school-overview-class-metrics p{margin:6px 0;color:#475569;font-size:.92rem}.school-admin-cascade{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px}.school-admin-cascade label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-muted, #78909c);min-width:160px}.school-admin-cascade select,.school-admin-cascade input[type=search]{min-width:180px;padding:8px 10px;border:1px solid rgba(1,161,142,.28);border-radius:8px;font-size:14px;background:var(--home-card, #fff)}.school-admin-selected-meta{margin:12px 0 0;font-size:14px;color:#475569}.school-admin-table-wrap{overflow-x:auto}.school-admin-table{width:100%;border-collapse:collapse;font-size:14px}.school-admin-table th,.school-admin-table td{padding:10px 12px;text-align:left;border-bottom:1px solid rgba(1,161,142,.15)}.school-admin-table th{font-weight:600;color:#54716c;background:#01a18e0f}.school-admin-table tbody tr{cursor:pointer;transition:background .15s ease}.school-admin-table tbody tr:hover{background:#01a18e0f}.school-admin-table tbody tr.selected td{background:#01a18e1f;font-weight:500}.school-modal-search{width:100%;margin-bottom:8px;padding:8px 10px;border:1px solid rgba(1,161,142,.28);border-radius:8px;font-size:14px}.schools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.school-admin-card{background:var(--home-card);border:1px solid rgba(1,161,142,.28);border-radius:14px;padding:20px;cursor:pointer;transition:all .25s ease;text-align:center}.school-admin-card:hover{border-color:var(--theme-primary);transform:translateY(-3px);box-shadow:0 8px 24px #00000014}.school-admin-card.selected{border-color:var(--theme-primary);box-shadow:0 0 0 2px #01a18e4d}.school-admin-card-icon{font-size:2rem;margin-bottom:10px}.school-admin-card h3{margin:0 0 12px;font-size:1.1rem;color:var(--home-text)}.school-admin-card-stats{display:flex;justify-content:center;gap:16px;font-size:.85rem;color:#54716c}.school-admin-card-region{margin:0 0 8px;font-size:12px;color:var(--text-muted, #90a4ae)}.school-admin-filters{margin-bottom:8px}.school-admin-filters-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px}.school-admin-filters-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-muted, #78909c)}.school-admin-filters-form select,.school-admin-filters-form input[type=search],.school-admin-filters-form input[type=text]{min-width:160px;padding:8px 10px;border-radius:8px;border:1px solid rgba(144,164,174,.35);background:#ffffff0a;color:inherit}.school-admin-filters-form input[type=search]{min-width:200px}.school-admin-filters-actions{display:flex;gap:8px;padding-bottom:1px}.school-admin-filter-meta{margin:12px 0 0;font-size:13px;color:var(--text-muted, #78909c)}.school-admin-filter-meta span{margin-left:8px}.classes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.class-admin-card{background:var(--home-card);border:1px solid rgba(1,161,142,.28);border-radius:12px;padding:18px;transition:all .25s ease}.class-admin-card:hover{border-color:var(--theme-primary)}.class-admin-card-header{margin-bottom:10px}.class-admin-card-header .class-grade{display:inline-block;font-size:.75rem;color:var(--theme-primary-text);background:#01a18e26;padding:2px 8px;border-radius:6px;margin-bottom:6px}.class-admin-card-header h4{margin:0;font-size:1.05rem;color:var(--home-text)}.class-admin-card-stats{font-size:.9rem;color:#54716c;margin-bottom:12px}.class-admin-card-stats strong{color:#0d9488}.class-admin-card-btn{width:100%;padding:10px 16px;background:#01a18e1f;border:1px solid var(--theme-primary);color:var(--theme-primary-text);border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s}.class-admin-card-btn:hover{background:var(--theme-primary);color:var(--home-card)}.school-admin-hint{margin:-8px 0 16px;font-size:.9rem;color:#54716c}.school-admin-empty{text-align:center;padding:32px;color:#64748b}.school-admin-empty p{margin:0 0 16px}.school-admins-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.school-managers-section{border-radius:16px;overflow:hidden}.school-managers-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:2px solid rgba(1,161,142,.2)}.school-managers-title-wrap{flex:1;min-width:200px}.school-managers-title{margin:0 0 .35rem!important;font-size:1.35rem;color:var(--home-text);font-weight:600}.school-managers-hint{margin:0!important;font-size:.9rem;color:#54716c;line-height:1.45}.school-managers-add-btn{flex-shrink:0}.school-managers-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;background:#01a18e0f;border:2px dashed rgba(1,161,142,.35);border-radius:14px;color:#64748b}.school-managers-empty-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.7}.school-managers-empty p{margin:0;font-size:.95rem}.school-manager-card{display:flex;align-items:flex-start;gap:1rem;background:#fff;border:2px solid rgba(1,161,142,.25);border-radius:14px;padding:1.25rem;transition:all .25s ease;box-shadow:0 2px 8px #0000000a}.school-manager-card:hover{border-color:var(--theme-primary);box-shadow:0 8px 24px #01a18e1f}.school-manager-card-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#01a18e26,#018f7f1f);border-radius:12px;font-size:1.5rem}.school-manager-card-body{flex:1;min-width:0}.school-manager-card-name{margin:0 0 .35rem;font-size:1.1rem;font-weight:600;color:var(--home-text)}.school-manager-card-schools{display:inline-block;font-size:.8rem;color:var(--theme-primary-text);background:#01a18e1f;padding:4px 10px;border-radius:8px;margin-bottom:.5rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.school-manager-card-meta{margin:0 0 .75rem;font-size:.88rem;color:#54716c;line-height:1.4}.school-manager-edit-btn{margin-top:.25rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10050;padding:20px;animation:adminModalOverlayIn .2s ease}@keyframes adminModalOverlayIn{0%{opacity:0}to{opacity:1}}.school-modal.admin-form-modal,.admin-form-modal.modal-content{padding:0;min-width:320px;max-width:480px;width:100%;border-radius:20px;overflow:hidden;background:var(--home-card);border:1px solid rgba(1,161,142,.28);box-shadow:0 24px 64px #0000002e,0 0 0 1px #01a18e1a;animation:adminModalContentIn .25s ease}@keyframes adminModalContentIn{0%{opacity:0;transform:scale(.96) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.admin-form-modal .admin-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;background:linear-gradient(135deg,#01a18e1f,#018f7f14);border-bottom:1px solid rgba(1,161,142,.2)}.admin-form-modal .admin-modal-header h3{margin:0;font-size:1.2rem;font-weight:700;color:var(--home-text);letter-spacing:-.02em}.admin-form-modal .admin-modal-body{padding:24px;max-height:70vh;overflow-y:auto}.admin-form-modal .modal-subtitle{margin:0 0 16px;padding:0 24px;font-size:.9rem;color:#54716c}.admin-form-modal form .modal-subtitle{margin:-8px 0 16px}.admin-form-group{margin-bottom:18px}.admin-form-group:last-of-type{margin-bottom:0}.admin-form-group label{display:block;margin-bottom:8px;font-size:.9rem;font-weight:600;color:var(--home-text)}.admin-form-group input[type=text],.admin-form-group input[type=password],.admin-form-group input[type=number],.admin-form-group input[type=email],.admin-form-group textarea,.admin-form-group select{width:100%;padding:12px 14px;background:#fff;border:1px solid rgba(1,161,142,.3);border-radius:12px;color:var(--home-text);font-size:.95rem;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.admin-form-group input::placeholder,.admin-form-group textarea::placeholder{color:#94a3b8}.admin-form-group input:focus,.admin-form-group textarea:focus,.admin-form-group select:focus{outline:none;border-color:var(--theme-primary);box-shadow:0 0 0 3px #01a18e26}.admin-form-group input:disabled,.admin-form-group textarea:disabled,.admin-form-group select:disabled{background:#f1f5f9;color:#64748b;cursor:not-allowed}.admin-form-group textarea{resize:vertical;min-height:88px}.admin-form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2354716c' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}.admin-form-group input[type=file]{padding:10px 14px;font-size:.9rem;color:#54716c;background:#01a18e0f;border:1px dashed rgba(1,161,142,.4);border-radius:12px;cursor:pointer}.admin-form-group input[type=file]:focus{border-color:var(--theme-primary);box-shadow:0 0 0 3px #01a18e26}.admin-form-group .form-hint{margin-top:6px;font-size:.85rem;color:#64748b}.admin-form-modal .modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(1,161,142,.15)}.admin-form-modal .modal-actions button:not(.primary-button){padding:10px 20px;background:transparent;border:1px solid rgba(1,161,142,.4);color:var(--home-text);border-radius:12px;cursor:pointer;font-weight:500;transition:all .2s ease}.admin-form-modal .modal-actions button:not(.primary-button):hover{border-color:var(--theme-primary);background:#01a18e14;color:var(--theme-primary-text)}.admin-form-modal .modal-actions .primary-button{padding:10px 24px;border-radius:12px;font-weight:600}.school-link-modal.admin-form-modal{max-width:420px;border-radius:14px}.school-link-modal .admin-modal-header{padding:10px 14px}.school-link-modal .admin-modal-header h3{font-size:.95rem;font-weight:600}.school-link-modal .admin-modal-body{padding:12px 14px 14px;max-height:78vh}.school-link-modal .admin-hint-text{margin:0 0 10px;font-size:.75rem;line-height:1.45;color:#64748b}.school-link-modal .admin-form-group{margin-bottom:10px}.school-link-modal .admin-form-group label{margin-bottom:4px;font-size:.78rem;font-weight:600}.school-link-modal .admin-form-group input[type=text],.school-link-modal .admin-form-group select{padding:6px 10px;font-size:.8rem;border-radius:8px}.school-link-modal .admin-form-group select{min-height:32px}.school-link-modal__geo.homework-manage-toolbar--geo{padding:0;margin:0;gap:6px 8px;border:none;background:transparent}.school-link-modal__geo .homework-manage-geo-field{min-width:0;flex:1 1 88px;gap:3px}.school-link-modal__geo .homework-manage-toolbar__label{font-size:.72rem;font-weight:500}.school-link-modal__geo .homework-manage-select{min-width:0;width:100%;padding:5px 8px;font-size:.78rem;border-radius:6px}.school-link-modal__account-filter.homework-manage-toolbar{padding:0;margin:0 0 6px;gap:6px;border:none;background:transparent;flex-wrap:wrap}.school-link-modal__account-filter input[type=text]{flex:1 1 120px;min-width:0;padding:6px 10px;font-size:.8rem;border-radius:8px;border:1px solid rgba(1,161,142,.3)}.school-link-modal__account-filter .homework-manage-btn{padding:5px 10px;font-size:.78rem;border-radius:6px;white-space:nowrap}.school-link-modal .modal-actions{margin-top:12px;padding-top:10px;gap:8px}.school-link-modal .modal-actions button:not(.primary-button){padding:6px 14px;font-size:.8rem;border-radius:8px}.school-link-modal .modal-actions .primary-button{padding:6px 16px;font-size:.8rem;border-radius:8px}.school-modal .admin-form-group{margin-bottom:18px}.school-modal .admin-form-group label{display:block;margin-bottom:8px;font-size:.9rem;font-weight:600;color:var(--home-text)}.school-modal .admin-form-group input[type=text],.school-modal .admin-form-group input[type=password],.school-modal .admin-form-group input[type=number],.school-modal .admin-form-group textarea,.school-modal .admin-form-group select{width:100%;padding:12px 14px;background:#fff;border:1px solid rgba(1,161,142,.3);border-radius:12px;color:var(--home-text);font-size:.95rem;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.school-modal .admin-form-group input:focus,.school-modal .admin-form-group textarea:focus,.school-modal .admin-form-group select:focus{outline:none;border-color:var(--theme-primary);box-shadow:0 0 0 3px #01a18e26}.school-modal .admin-form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2354716c' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}.school-modal h3{margin:0 0 20px;color:var(--home-text);font-size:1.25rem;font-weight:700}.school-modal label{display:block;margin-bottom:6px;color:var(--home-text);font-size:.9rem;font-weight:600}.school-modal input:not([type=checkbox]):not([type=file]),.school-modal textarea,.school-modal select{width:100%;padding:12px 14px;margin-bottom:16px;background:#fff;border:1px solid rgba(1,161,142,.3);border-radius:12px;color:var(--home-text);font-size:.95rem;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.school-modal input:focus,.school-modal textarea:focus,.school-modal select:focus{outline:none;border-color:var(--theme-primary);box-shadow:0 0 0 3px #01a18e26}.school-modal select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2354716c' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}.school-modal .modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.school-modal .modal-actions button:not(.primary-button){padding:10px 18px;background:transparent;border:1px solid rgba(1,161,142,.4);color:var(--home-text);border-radius:12px;cursor:pointer;font-weight:500;transition:all .2s ease}.school-modal .modal-actions button:not(.primary-button):hover{border-color:var(--theme-primary);background:#01a18e14}.school-checkbox-list{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.school-checkbox-item{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;background:#01a18e0f;border:1px solid rgba(1,161,142,.25);border-radius:12px;cursor:pointer;font-size:.9rem;color:var(--home-text);transition:all .2s ease}.school-checkbox-item:hover{border-color:var(--theme-primary);background:#01a18e1a}.school-checkbox-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--theme-primary);cursor:pointer}.school-checkbox-item input:checked+span,.school-checkbox-item:has(input:checked){font-weight:600}.school-checkbox-item:has(input:checked){border-color:var(--theme-primary);background:#01a18e1f}.admin-form-modal .grant-row{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.admin-form-modal .grant-row select{flex:1;min-width:160px;padding:10px 14px;border-radius:12px;border:1px solid rgba(1,161,142,.3);background:#fff;color:var(--home-text);font-size:.95rem}.admin-form-modal .access-list{list-style:none;padding:0;margin:0 0 16px;border:1px solid rgba(1,161,142,.2);border-radius:12px;overflow:hidden}.admin-form-modal .access-list li{padding:12px 16px;border-bottom:1px solid rgba(1,161,142,.12);display:flex;justify-content:space-between;align-items:center;background:#fff}.admin-form-modal .access-list li:last-child{border-bottom:none}.admin-form-modal .access-list-empty{padding:20px;text-align:center;color:#64748b;font-size:.9rem}.video-access-modal{max-width:520px}.video-access-modal .admin-modal-body{padding:20px 24px}.video-access-modal .video-access-hint{margin:0 0 20px;padding:12px 14px;font-size:.9rem;color:#54716c;background:#01a18e0f;border-radius:10px;border-left:4px solid var(--theme-primary);line-height:1.5}.video-access-modal .grant-row{display:grid;grid-template-columns:72px 1fr;gap:12px 16px;align-items:center;margin-bottom:14px;flex-wrap:nowrap}.video-access-modal .grant-row .grant-label{font-size:.9rem;font-weight:600;color:var(--home-text);text-align:right}.video-access-modal .grant-row .grant-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0}.video-access-modal .grant-row .grant-controls>select{flex:1;min-width:120px;max-width:100%;padding:10px 14px;border-radius:10px;border:1px solid rgba(1,161,142,.3);background:#fff;color:var(--home-text);font-size:.9rem}.video-access-modal .grant-row .grant-controls>.primary-button{flex-shrink:0;padding:10px 16px;font-size:.9rem}.video-access-modal .grant-row-student{align-items:flex-start}.video-access-modal .grant-row-student .grant-controls{flex-direction:column;align-items:stretch;gap:10px}.video-access-modal .grant-student-search{display:flex;gap:8px;align-items:center}.video-access-modal .grant-student-search input{flex:1;min-width:0;padding:10px 14px;border:1px solid rgba(1,161,142,.3);border-radius:10px;font-size:.9rem;color:var(--home-text)}.video-access-modal .grant-student-search input:focus{outline:none;border-color:var(--theme-primary);box-shadow:0 0 0 2px #01a18e26}.video-access-modal .grant-student-select{display:flex;gap:8px;align-items:center}.video-access-modal .grant-student-select select{flex:1;min-width:0;padding:10px 14px;border-radius:10px;border:1px solid rgba(1,161,142,.3);background:#fff;color:var(--home-text);font-size:.9rem}.video-access-modal .grant-load-more{margin:0;font-size:.85rem;color:#64748b;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.video-access-modal .grant-load-more .edit-button{padding:6px 12px;font-size:.85rem}.video-access-modal .access-section{margin-top:20px;padding-top:18px;border-top:1px solid rgba(1,161,142,.15)}.video-access-modal .access-section h4{margin:0 0 8px;font-size:.95rem;font-weight:600;color:var(--home-text)}.video-access-modal .access-section h4+.access-list{margin-bottom:16px}.video-access-modal .access-revoke-all{margin-top:16px;padding-top:12px;border-top:1px solid rgba(1,161,142,.12)}.video-access-modal .access-revoke-all .delete-button{padding:10px 18px;font-size:.9rem}.school-modal.modal-content:not(.admin-form-modal){background:var(--home-card);border:1px solid rgba(1,161,142,.3);border-radius:18px;padding:28px;min-width:320px;max-width:420px;width:100%;box-shadow:0 24px 64px #00000026}.admin-page.module-manage-surface{max-width:1280px;margin:0 auto;padding:24px;padding-top:calc(20px + var(--app-header-offset, 70px));padding-bottom:48px;min-height:calc(100vh - var(--app-header-offset, 70px) - 32px);position:relative;isolation:isolate;color:#1e293b;background:linear-gradient(168deg,#f0f4fa,#e8eef6 42%,#f5f7fb);border-radius:0}.admin-page.module-manage-surface:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 1px 1px,rgba(79,70,229,.055) 1px,transparent 0);background-size:24px 24px;pointer-events:none;z-index:0;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.95) 0%,rgba(0,0,0,.5) 72%,transparent 100%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.95) 0%,rgba(0,0,0,.5) 72%,transparent 100%)}.admin-page.module-manage-surface:after{content:"";position:absolute;top:-100px;right:-8%;width:min(480px,52vw);height:280px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(14,165,233,.12) 0%,rgba(99,102,241,.06) 50%,transparent 72%);pointer-events:none;z-index:0}.module-manage-layout{position:relative;z-index:1}.module-manage-loading{margin:0;padding:2.5rem 0;color:#64748b;font-size:1rem}.admin-page.module-manage-surface .module-page-header{margin-bottom:8px}.admin-page.module-manage-surface .module-header-left h1{margin:0;font-size:clamp(1.35rem,2.2vw,1.75rem);font-weight:800;letter-spacing:-.03em;color:#0f172a;line-height:1.2}.admin-page.module-manage-surface .module-header-left .back-button{background:#fff;border:1px solid rgba(148,163,184,.55);color:#334155;box-shadow:0 1px 3px #0f172a0f}.admin-page.module-manage-surface .module-header-left .back-button:hover{border-color:#6366f1;color:#4338ca;box-shadow:0 4px 14px #6366f126}.admin-page.module-manage-surface .add-module-btn{background:linear-gradient(135deg,#4f46e5,#2563eb 48%,#0891b2);color:#fff;border:none;box-shadow:0 8px 28px #2563eb47}.admin-page.module-manage-surface .add-module-btn:hover{background:linear-gradient(135deg,#4338ca,#1d4ed8,#0e7490);transform:translateY(-2px);box-shadow:0 12px 36px #2563eb59}.admin-page.module-manage-surface .add-module-icon{background:#ffffff38}.module-manage-hint{color:#fff;margin-bottom:1.5rem;font-size:.95rem}.admin-page.module-manage-surface .module-manage-hint{color:#475569;max-width:52rem;line-height:1.55;margin-bottom:1.5rem;padding:12px 16px 12px 18px;background:#ffffffb8;border:1px solid rgba(148,163,184,.4);border-radius:12px;border-left:4px solid #6366f1;box-shadow:0 2px 12px #0f172a0a}.module-manage-tier-bar{margin-bottom:1.25rem;padding:14px 16px 16px;background:#ffffffb8;border:1px solid rgba(148,163,184,.4);border-radius:12px;box-shadow:0 2px 12px #0f172a0a}.module-manage-tier-bar__label{margin:0 0 10px;font-size:.82rem;font-weight:700;letter-spacing:.06em;color:#64748b}.admin-page.module-manage-surface .module-manage-tier-nav{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;background:transparent;border:none;box-shadow:none}.admin-page.module-manage-surface .module-manage-tier-tab{display:inline-flex;align-items:center;gap:var(--ui-gap-xs, 6px);margin:0;padding:var(--ui-btn-pad-y, .4rem) var(--ui-btn-pad-x, .75rem);border-radius:var(--ui-radius-sm, 10px);border:1px solid rgba(99,102,241,.25);background:#ffffffe6;color:#475569;font-size:var(--ui-btn-font-sm, .85rem);font-weight:600;line-height:1.2;min-height:var(--ui-btn-min-h-sm, 1.75rem);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.admin-page.module-manage-surface .module-manage-tier-tab:hover{color:#1e293b;border-color:#6366f173;background:#6366f114}.admin-page.module-manage-surface .module-manage-tier-tab.is-active{color:#fff;background:linear-gradient(135deg,#4f46e5,#2563eb);border-color:transparent;box-shadow:0 4px 14px #2563eb4d}.admin-page.module-manage-surface .module-manage-tier-tab.is-empty:not(.is-active){opacity:.55}.module-manage-tier-tab__count{min-width:1.25em;padding:0 6px;border-radius:999px;background:#6366f11f;font-size:.72rem;font-weight:700;line-height:1.4;text-align:center;color:#4338ca}.admin-page.module-manage-surface .module-manage-tier-tab.is-active .module-manage-tier-tab__count{background:#ffffff38;color:#fff}.admin-page.module-manage-surface .module-manage-tier-empty{margin:0 0 1.25rem;padding:16px;text-align:center;color:#64748b;font-size:.95rem;line-height:1.5;background:#ffffffb8;border:1px dashed rgba(148,163,184,.5);border-radius:12px;box-shadow:0 2px 12px #0f172a0a}.admin-page.module-manage-surface .modules-manage-grid{gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.admin-page.module-manage-surface .module-manage-card{background:#ffffffe0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(148,163,184,.38);border-radius:20px;padding:1.5rem 1.5rem 1.5rem 1.65rem;color:#1e293b;box-shadow:0 12px 40px #0f172a0f,inset 0 1px #ffffffd9;position:relative;overflow:hidden}.admin-page.module-manage-surface .module-manage-card:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:4px;border-radius:0 4px 4px 0;background:linear-gradient(180deg,#6366f1,#22d3ee);opacity:.92}.admin-page.module-manage-surface .module-manage-card:hover{border-color:#6366f173;box-shadow:0 16px 48px #4f46e51f,inset 0 1px #ffffffe6;transform:translateY(-2px)}.admin-page.module-manage-surface .module-manage-card h2{color:#0f172a;font-size:1.22rem}.admin-page.module-manage-surface .module-tier-line{display:inline-block;margin:0 0 .65rem;padding:4px 10px;font-size:.8rem;font-weight:600;color:#4338ca;background:#6366f11a;border-radius:999px;border:1px solid rgba(99,102,241,.2)}.admin-page.module-manage-surface .module-level-count{color:#64748b}.admin-page.module-manage-surface .module-manage-card .primary-button{background:linear-gradient(135deg,#4f46e5,#2563eb);border:none;color:#fff;box-shadow:0 4px 14px #2563eb40}.admin-page.module-manage-surface .module-manage-card .primary-button:hover{filter:brightness(1.05);box-shadow:0 6px 18px #2563eb52}.admin-page.module-manage-surface .module-form-modal{border:1px solid rgba(148,163,184,.35);box-shadow:0 28px 80px #0f172a2e}.admin-page.module-manage-surface .module-modal-header{background:linear-gradient(90deg,#6366f11a,#0ea5e90f);border-bottom:1px solid rgba(148,163,184,.35)}.admin-page.module-manage-surface .module-modal-close{background:#ffffffd9;border-color:#94a3b873;color:#475569}.admin-page.module-manage-surface .module-modal-close:hover{background:#fff;border-color:#6366f1;color:#312e81}.modules-manage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.module-manage-card{background:var(--home-card);border:1px solid rgba(1,161,142,.28);border-radius:16px;padding:1.5rem;color:var(--home-text);transition:all .25s ease;box-shadow:0 4px 20px #0000000d}.module-manage-card:hover{border-color:var(--theme-primary);box-shadow:0 8px 28px #00000014}.module-manage-card h2{color:var(--home-text);font-weight:700;margin:0 0 .5rem;font-size:1.2rem}.module-tier-line{margin:0 0 .5rem;font-size:.88rem;color:#64748b}.module-level-count{color:#54716c;margin:0 0 1rem;font-size:.9rem}.module-card-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.module-manage-card .primary-button{margin-top:0}.module-empty-tag{color:#64748b;font-weight:400;font-size:.9em}.module-page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.module-header-left{display:flex;align-items:center;gap:16px}.module-header-left .back-button{padding:var(--ui-btn-pad-y, .4rem) var(--ui-btn-pad-x, .75rem);font-size:var(--ui-btn-font-sm, .85rem);min-height:var(--ui-btn-min-h-sm, 1.75rem);background:#ffffffe6;border:2px solid var(--theme-primary);color:#0f172a;border-radius:var(--ui-radius-sm, 10px);transition:all .2s ease;outline:none}.module-header-left .back-button:hover{background:#fff;border-color:var(--theme-primary-text);color:var(--theme-primary-text);box-shadow:0 0 0 1px var(--theme-primary-hover)}.add-module-btn{display:inline-flex;align-items:center;gap:var(--ui-gap-sm, 8px);padding:var(--ui-btn-pad-y-lg, .55rem) var(--ui-btn-pad-x-lg, 1rem);background:linear-gradient(135deg,var(--theme-primary) 0%,var(--theme-primary-hover) 100%);border:none;border-radius:var(--ui-radius-md, 12px);color:var(--home-card);font-size:var(--ui-btn-font, 1rem);font-weight:600;min-height:var(--ui-btn-min-h, 2.25rem);cursor:pointer;transition:all .25s ease;box-shadow:0 4px 16px #01a18e59}.add-module-btn:hover{background:linear-gradient(135deg,var(--theme-primary-hover) 0%,var(--theme-primary-hover) 100%);transform:translateY(-2px);box-shadow:0 6px 24px #01a18e73}.add-module-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:#ffffff40;border-radius:8px;font-size:1.25rem;line-height:1;font-weight:400}.module-form-modal{max-width:440px;width:100%;padding:0;border-radius:20px;overflow:hidden;background:var(--home-card);border:1px solid rgba(1,161,142,.3);box-shadow:0 24px 64px #00000026}.module-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:#01a18e14;border-bottom:1px solid rgba(1,161,142,.2)}.module-modal-header h2{margin:0;font-size:1.25rem;font-weight:700;color:var(--home-text);letter-spacing:-.02em}.module-modal-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#01a18e1a;border:1px solid rgba(1,161,142,.25);border-radius:10px;color:#54716c;font-size:1.5rem;line-height:1;cursor:pointer;transition:all .2s ease}.module-modal-close:hover{background:#01a18e33;color:var(--home-text);border-color:var(--theme-primary)}.module-form{display:flex;flex-direction:column;min-height:0}.module-modal-body{padding:24px;overflow-y:auto;flex:1}.module-form-error{margin:0 0 16px;padding:12px 14px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:10px;color:#b91c1c;font-size:.9rem}.module-form-group{margin-bottom:18px}.module-form-group:last-of-type{margin-bottom:0}.module-form-group label{display:block;margin-bottom:8px;font-size:.9rem;font-weight:600;color:var(--home-text)}.module-form-group label .required{color:#dc2626;margin-left:2px}.module-form-group input{width:100%;padding:12px 14px;background:#fff;border:1px solid rgba(1,161,142,.3);border-radius:10px;color:var(--home-text);font-size:.95rem;transition:border-color .2s ease,box-shadow .2s ease}.module-form-group input::placeholder{color:#94a3b8}.module-form-group input:focus{outline:none;border-color:var(--theme-primary);box-shadow:0 0 0 3px #01a18e26}.module-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;background:#01a18e0d;border-top:1px solid rgba(1,161,142,.2)}.module-form-cancel{padding:10px 20px;background:transparent;border:1px solid rgba(1,161,142,.4);border-radius:10px;color:var(--home-text);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.module-form-cancel:hover{background:#01a18e1a;border-color:var(--theme-primary)}.module-form-submit{padding:10px 24px;background:linear-gradient(135deg,var(--theme-primary) 0%,var(--theme-primary-hover) 100%);border:none;border-radius:10px;color:var(--home-card);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 10px #01a18e59}.module-form-submit:hover{background:linear-gradient(135deg,var(--theme-primary-hover) 0%,var(--theme-primary-hover) 100%);transform:translateY(-1px);box-shadow:0 4px 16px #01a18e73}.module-header-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.training-shell .home-shell-panel .admin-page.module-manage-surface{padding:4px 12px 28px;min-height:0;border-radius:12px}@media (max-width: 1100px){.admin-page.module-manage-surface{padding:16px 14px 32px;padding-top:calc(12px + var(--app-header-offset, 70px))}.training-shell .home-shell-panel .admin-page.module-manage-surface{padding:2px 8px 24px}.admin-page.module-manage-surface .module-page-header{gap:10px;margin-bottom:6px}.admin-page.module-manage-surface .module-header-left{gap:8px;flex-wrap:wrap}.admin-page.module-manage-surface .module-header-left h1{font-size:clamp(1.05rem,3.8vw,1.35rem)}.admin-page.module-manage-surface .module-header-left .back-button,.admin-page.module-manage-surface .module-header-actions .edit-button,.admin-page.module-manage-surface .module-header-actions .add-module-btn{padding:.35rem .65rem;font-size:.78rem;border-radius:8px;min-height:1.85rem;line-height:1.25}.admin-page.module-manage-surface .add-module-icon{width:1.15rem;height:1.15rem;font-size:.85rem;border-radius:5px}.admin-page.module-manage-surface .module-header-actions{gap:6px;width:100%}.admin-page.module-manage-surface .module-manage-hint{margin-bottom:.75rem;padding:8px 10px 8px 12px;font-size:.78rem;line-height:1.4;border-radius:8px}.admin-page.module-manage-surface .module-manage-hint--sub{font-size:.72rem}.module-manage-tier-bar{margin-bottom:.85rem;padding:8px 10px 10px;border-radius:8px}.module-manage-tier-bar__label{margin-bottom:6px;font-size:.7rem}.admin-page.module-manage-surface .module-manage-tier-nav{gap:5px}.admin-page.module-manage-surface .module-manage-tier-tab{padding:.3rem .55rem;font-size:.72rem;border-radius:7px;gap:4px}.module-manage-tier-tab__count{font-size:.62rem;padding:0 4px}.admin-page.module-manage-surface .modules-manage-grid,.modules-manage-grid{gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}.admin-page.module-manage-surface .module-manage-card{padding:.85rem .85rem .85rem 1rem;border-radius:12px}.admin-page.module-manage-surface .module-manage-card:before{top:10px;bottom:10px;width:3px}.admin-page.module-manage-surface .module-manage-card h2{font-size:1rem;margin-bottom:.35rem}.admin-page.module-manage-surface .module-tier-line{margin-bottom:.4rem;padding:2px 8px;font-size:.68rem}.admin-page.module-manage-surface .module-level-count{margin-bottom:.55rem;font-size:.75rem}.admin-page.module-manage-surface .module-card-actions{gap:.35rem;margin-top:.45rem}.admin-page.module-manage-surface .module-manage-card .primary-button,.admin-page.module-manage-surface .module-manage-card .edit-button,.admin-page.module-manage-surface .module-manage-card .delete-button{padding:.3rem .55rem;font-size:.72rem;border-radius:7px;min-height:1.75rem;line-height:1.2}}@media (max-width: 900px){.admin-page.module-manage-surface .module-header-left h1{font-size:clamp(.95rem,4.2vw,1.15rem)}.admin-page.module-manage-surface .module-header-left .back-button,.admin-page.module-manage-surface .module-header-actions .edit-button,.admin-page.module-manage-surface .module-header-actions .add-module-btn,.admin-page.module-manage-surface .module-manage-card .primary-button,.admin-page.module-manage-surface .module-manage-card .edit-button,.admin-page.module-manage-surface .module-manage-card .delete-button{padding:.28rem .48rem;font-size:.68rem;min-height:1.65rem}.admin-page.module-manage-surface .module-manage-tier-tab{padding:.26rem .45rem;font-size:.66rem}.admin-page.module-manage-surface .modules-manage-grid,.modules-manage-grid{grid-template-columns:1fr}}@media (max-width: 900px) and (orientation: landscape),(max-width: 900px) and (max-height: 480px){.admin-page.module-manage-surface .module-page-header{gap:6px}.admin-page.module-manage-surface .module-header-left h1{font-size:.92rem}.admin-page.module-manage-surface .module-manage-hint,.admin-page.module-manage-surface .module-manage-hint--sub{display:none}.module-manage-tier-bar{margin-bottom:.5rem;padding:6px 8px}.admin-page.module-manage-surface .modules-manage-grid,.modules-manage-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:.5rem}.admin-page.module-manage-surface .module-manage-card{padding:.55rem .6rem .55rem .75rem}.admin-page.module-manage-surface .module-manage-card h2{font-size:.88rem}.admin-page.module-manage-surface .module-header-left .back-button,.admin-page.module-manage-surface .module-header-actions .edit-button,.admin-page.module-manage-surface .module-header-actions .add-module-btn,.admin-page.module-manage-surface .module-manage-card .primary-button,.admin-page.module-manage-surface .module-manage-card .edit-button,.admin-page.module-manage-surface .module-manage-card .delete-button,.admin-page.module-manage-surface .module-manage-tier-tab{font-size:.62rem;padding:.22rem .4rem;min-height:1.45rem}}.bulletin-admin-form{max-width:720px}.bulletin-admin-form__msg{margin-bottom:12px}.bulletin-admin-form__success{margin:0 0 12px;padding:10px 14px;color:#047857;background:#10b9811a;border:1px solid rgba(16,185,129,.35);border-radius:10px;font-size:.9rem}.bulletin-admin-list{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.bulletin-admin-row{padding:16px 18px;background:#ffffffe0;border:1px solid rgba(148,163,184,.38);border-radius:14px;box-shadow:0 4px 16px #0f172a0d}.bulletin-admin-row__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.bulletin-admin-row__index{font-weight:700;color:#334155}.bulletin-admin-row__tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.bulletin-admin-row__enabled{display:inline-flex;align-items:center;gap:6px;font-size:.88rem;color:#475569;cursor:pointer}.bulletin-admin-row textarea{width:100%;padding:10px 12px;border:1px solid rgba(148,163,184,.55);border-radius:8px;font-size:.95rem;font-family:inherit;resize:vertical;box-sizing:border-box}.admin-form-stack{display:flex;flex-direction:column;gap:20px}.admin-card-block{padding:18px 20px;border:1px solid var(--imooc-border, rgba(148, 163, 184, .35));border-radius:10px;background:var(--imooc-card, #fff)}.admin-card-block h2{margin:0 0 14px;font-size:1.05rem}.admin-inline-card{padding:14px;margin-bottom:12px;border:1px dashed rgba(148,163,184,.45);border-radius:8px;background:#f8fafcb3}.admin-form-group{margin-bottom:12px}.admin-form-group label{display:block;margin-bottom:6px;font-size:.88rem;color:#475569}.admin-form-group input,.admin-form-group textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid rgba(148,163,184,.55);border-radius:8px;font-size:.95rem;font-family:inherit}.software-download-admin-form .software-download-admin-row input[type=text]{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:.95rem}.software-download-admin-files h3{margin:.5rem 0 .75rem;font-size:.95rem;color:#334155}.software-download-admin-file-list{list-style:none;margin:0 0 .85rem;padding:0;display:flex;flex-direction:column;gap:.5rem}.software-download-admin-file-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .75rem;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0}.software-download-admin-file-item div{display:flex;flex-direction:column;gap:.15rem;min-width:0}.software-download-admin-file-item span{font-size:.82rem;color:#64748b;word-break:break-all}.software-download-admin-upload-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;padding:.75rem;border:1px dashed #cbd5e1;border-radius:8px;background:#f8fafc}.software-download-admin-upload-type,.software-download-admin-upload-file{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;color:#475569;min-width:min(220px,100%)}.software-download-admin-upload-type span,.software-download-admin-upload-file span{font-weight:600;color:#334155}.software-download-admin-upload-type select{min-width:200px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:.9rem}.software-download-admin-upload-file input[type=file]{font-size:.82rem;max-width:280px}.software-download-admin-upload-status{font-size:.85rem;color:#0d9488;padding-bottom:.35rem}.bulletin-admin-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.module-manage-hint--sub{margin-top:-.5rem;opacity:.85;font-size:.88rem}.prerace-admin-page{--imooc-green: #19a566;--imooc-green-hover: #16a058;--imooc-green-soft: #e8f8f0;--imooc-bg: #f4f6f8;--imooc-card: #ffffff;--imooc-border: #e8ecef;--imooc-text: #333333;--imooc-muted: #93999f;--imooc-head: #f8fafc;max-width:1320px;padding:20px 24px 48px;margin-left:auto;margin-right:auto;color:var(--imooc-text);background:linear-gradient(180deg,#f4f6f8 0%,#eef1f4 48%,transparent 100%);border-radius:12px}.prerace-admin-page h1{margin:0;font-size:1.5rem;font-weight:700;color:var(--imooc-text);letter-spacing:0}.prerace-admin-hero{margin-bottom:16px}.prerace-admin-hero__top{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px}.prerace-admin-back{flex-shrink:0;margin-top:4px;padding:6px 12px;border:1px solid var(--imooc-border);border-radius:6px;background:var(--imooc-card);color:var(--imooc-muted);font-size:.88rem;cursor:pointer;transition:border-color .15s ease,color .15s ease}.prerace-admin-back:hover{border-color:var(--imooc-green);color:var(--imooc-green)}.prerace-admin-hero__desc{margin:8px 0 0;font-size:.9rem;line-height:1.55;color:var(--imooc-muted);max-width:720px}.prerace-admin-tabs{display:flex;gap:0;border-bottom:1px solid var(--imooc-border);background:var(--imooc-card);border-radius:8px 8px 0 0;padding:0 8px;box-shadow:0 1px #0f172a0a}.prerace-admin-tab{position:relative;padding:14px 24px;border:none;background:transparent;color:var(--imooc-muted);font-size:.95rem;font-weight:500;cursor:pointer;transition:color .15s ease}.prerace-admin-tab:hover{color:var(--imooc-text)}.prerace-admin-tab.is-active{color:var(--imooc-green);font-weight:600}.prerace-admin-tab.is-active:after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--imooc-green)}.prerace-admin-panel{background:var(--imooc-card);border:1px solid var(--imooc-border);border-radius:8px;padding:20px 24px;margin-bottom:16px;box-shadow:0 1px 4px #0f172a0a}.prerace-admin-panel.prerace-group-nav{display:flex;flex-wrap:wrap;align-items:center;gap:12px;border-radius:0 0 8px 8px;margin-top:-1px;margin-bottom:20px}.prerace-portal-settings-form{display:flex;flex-direction:column;gap:14px;max-width:420px;margin-top:12px}.prerace-portal-settings-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:.95rem}.prerace-portal-settings-effective,.prerace-portal-settings-ok{margin:0;font-size:.9rem;color:var(--imooc-text-muted)}.prerace-portal-settings-ok{color:var(--imooc-green);font-weight:600}.prerace-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--imooc-border)}.prerace-panel-head__title{margin:0;font-size:1rem;font-weight:600;color:var(--imooc-text)}.prerace-panel-head__desc{margin:6px 0 0;font-size:.85rem;line-height:1.5;color:var(--imooc-muted);max-width:560px}.prerace-panel-head__meta{flex-shrink:0;font-size:.85rem;color:var(--imooc-muted);padding:4px 12px;border-radius:999px;background:var(--imooc-head);border:1px solid var(--imooc-border)}.prerace-admin-alert{padding:12px 16px;margin-bottom:16px;border-radius:8px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:.9rem}.prerace-admin-loading,.prerace-admin-empty{text-align:center;padding:48px 24px;color:var(--imooc-muted);font-size:.95rem}.prerace-admin-empty__icon{font-size:2.5rem;margin-bottom:12px;opacity:.85}.prerace-admin-page .prerace-filters{margin-bottom:0}.prerace-admin-page .prerace-filters-row label{color:var(--imooc-text);font-weight:500;font-size:.82rem}.prerace-admin-page .prerace-filters-row select,.prerace-admin-page .prerace-filters-row input{padding:9px 12px;border-radius:6px;border:1px solid #d9dde1;background:#fff;color:var(--imooc-text);font-size:.9rem;transition:border-color .15s ease,box-shadow .15s ease}.prerace-admin-page .prerace-filters-row select:focus,.prerace-admin-page .prerace-filters-row input:focus{outline:none;border-color:var(--imooc-green);box-shadow:0 0 0 3px #19a5661f}.prerace-admin-page .prerace-filters-row select:disabled{background:#f5f6f7;color:#c0c4cc}.prerace-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 20px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .15s ease}.prerace-btn--primary{background:var(--imooc-green);border-color:var(--imooc-green);color:#fff}.prerace-btn--primary:hover:not(:disabled){background:var(--imooc-green-hover);border-color:var(--imooc-green-hover);box-shadow:0 4px 12px #19a56647}.prerace-btn--ghost{background:#fff;border-color:#d9dde1;color:var(--imooc-text)}.prerace-btn--ghost:hover:not(:disabled){border-color:var(--imooc-green);color:var(--imooc-green)}.prerace-btn:disabled{opacity:.55;cursor:not-allowed}.prerace-export-dropdown{position:relative;display:inline-flex;align-items:stretch}.prerace-export-dropdown__main{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.prerace-export-dropdown__toggle{min-width:2rem;padding-left:10px;padding-right:10px;border-top-left-radius:0;border-bottom-left-radius:0;font-size:.78rem;line-height:1}.prerace-export-dropdown__menu{position:absolute;top:calc(100% + 4px);right:0;z-index:20;min-width:168px;padding:4px;border-radius:8px;border:1px solid #d9dde1;background:#fff;box-shadow:0 8px 24px #0000001f}.prerace-export-dropdown__item{display:block;width:100%;padding:8px 12px;border:none;border-radius:6px;background:transparent;color:var(--imooc-text);font-size:.88rem;text-align:left;cursor:pointer}.prerace-export-dropdown__item:hover:not(:disabled){background:#19a56614;color:var(--imooc-green)}.prerace-export-dropdown__item:disabled{opacity:.55;cursor:not-allowed}.prerace-admin-page .prerace-group-nav-label{font-size:.88rem;font-weight:600;color:var(--imooc-text);opacity:1}.prerace-admin-page .prerace-group-pill{padding:7px 16px;border-radius:6px;border:1px solid #d9dde1;background:#fff;color:var(--imooc-text);font-size:.88rem;transition:all .15s ease}.prerace-admin-page .prerace-group-pill:hover{border-color:var(--imooc-green);color:var(--imooc-green)}.prerace-admin-page .prerace-group-pill.is-active{background:var(--imooc-green-soft);border-color:var(--imooc-green);color:var(--imooc-green);font-weight:600;box-shadow:none}.prerace-admin-page .prerace-stats-section{padding-top:20px}.prerace-admin-page .prerace-stats-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.prerace-admin-page .prerace-stat-card{padding:18px 20px;border-radius:8px;border:1px solid var(--imooc-border);background:#fff;transition:box-shadow .2s ease,border-color .2s ease}.prerace-admin-page .prerace-stat-card.is-highlight{border-color:#19a56673;box-shadow:0 4px 16px #19a5661a}.prerace-admin-page .prerace-stat-card.is-dimmed{opacity:.5}.prerace-stat-card__title{margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--imooc-border);font-size:.95rem;font-weight:600;color:var(--imooc-text)}.prerace-stat-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.prerace-stat-metric__value{display:block;font-size:1.35rem;font-weight:700;line-height:1.2;color:var(--imooc-text)}.prerace-stat-metric--accent .prerace-stat-metric__value{color:var(--imooc-green)}.prerace-stat-metric__label{display:block;margin-top:4px;font-size:.78rem;color:var(--imooc-muted)}.prerace-admin-page .prerace-table-panel{padding:0;overflow:hidden}.prerace-admin-page .prerace-table-panel .prerace-panel-head{margin:0;padding:18px 24px;border-bottom:1px solid var(--imooc-border)}.prerace-admin-page .prerace-table-wrap{padding:0 8px 8px}.prerace-admin-page .prerace-table{font-size:.875rem}.prerace-admin-page .prerace-table thead{background:var(--imooc-head)}.prerace-admin-page .prerace-table th{padding:12px 14px;font-weight:600;font-size:.82rem;color:var(--imooc-muted);border-bottom:1px solid var(--imooc-border);white-space:nowrap}.prerace-admin-page .prerace-table td{padding:14px;border-bottom:1px solid #f0f2f5;color:var(--imooc-text);vertical-align:middle}.prerace-admin-page .prerace-table tbody tr:hover td{background:#fafbfc}.prerace-admin-page .prerace-table tbody tr.is-striped td{background:#fcfcfd}.prerace-admin-page .prerace-table tbody tr.is-striped:hover td{background:#f5f7f9}.prerace-td-name{font-weight:600;color:var(--imooc-text)}.prerace-td-muted{color:var(--imooc-muted);font-size:.84rem}.prerace-group-tag{display:inline-block;padding:2px 10px;border-radius:4px;font-size:.8rem;background:var(--imooc-green-soft);color:var(--imooc-green);border:1px solid rgba(25,165,102,.2)}.prerace-score-tag{display:inline-block;min-width:52px;padding:4px 10px;border-radius:4px;font-weight:700;font-size:.88rem;text-align:center;background:#f5f6f7;color:var(--imooc-muted)}.prerace-score-tag.is-done{background:var(--imooc-green-soft);color:var(--imooc-green)}.prerace-status-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:.8rem;font-weight:500;white-space:nowrap}.prerace-status-badge.is-submitted{background:#e8f8f0;color:var(--imooc-green);border:1px solid rgba(25,165,102,.25)}.prerace-status-badge.is-pending{background:#f5f6f7;color:var(--imooc-muted);border:1px solid #e8ecef}.prerace-admin-page .prerace-progress-cell{min-width:88px;max-width:none}.prerace-admin-page .prerace-pagination{padding:16px 24px 20px;border-top:1px solid var(--imooc-border);margin-top:0}.prerace-admin-page .prerace-page-btn{padding:8px 16px;border-radius:6px;border:1px solid #d9dde1;background:#fff;color:var(--imooc-text);font-size:.88rem;cursor:pointer;transition:all .15s ease}.prerace-admin-page .prerace-page-btn:hover:not(:disabled){border-color:var(--imooc-green);color:var(--imooc-green)}.prerace-admin-page .prerace-page-btn:disabled{opacity:.45;cursor:not-allowed}.prerace-page-info{font-size:.88rem;color:var(--imooc-text)}.prerace-page-info em{display:block;margin-top:2px;font-style:normal;font-size:.78rem;color:var(--imooc-muted)}.prerace-admin-page .prerace-questions-panel .prerace-question-admin-card{border:1px solid var(--imooc-border);background:#fff;border-radius:8px;box-shadow:0 1px 3px #0f172a0a}.prerace-admin-page .prerace-question-admin-stem{color:var(--imooc-text)}.prerace-admin-page .prerace-question-admin-options li.is-correct,.prerace-admin-page .prerace-question-admin-answer{color:var(--imooc-green)}.prerace-admin-page .prerace-question-admin-type{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;font-weight:600}.prerace-admin-page .prerace-question-admin-domain{display:inline-flex;align-items:center;justify-content:center;min-width:2.4em;padding:4px 11px;border-radius:6px;font-size:.875rem;font-weight:800;letter-spacing:.08em;line-height:1.2;border:1px solid transparent;box-shadow:0 1px 2px #0f172a0f}.prerace-admin-page .prerace-question-admin-domain[data-domain=德]{color:#92400e;background:#fef3c7;border-color:#fbbf24}.prerace-admin-page .prerace-question-admin-domain[data-domain=智]{color:#1e40af;background:#dbeafe;border-color:#60a5fa}.prerace-admin-page .prerace-question-admin-domain[data-domain=体]{color:#166534;background:#dcfce7;border-color:#4ade80}.prerace-admin-page .prerace-question-admin-domain[data-domain=美]{color:#9d174d;background:#fce7f3;border-color:#f472b6}.prerace-admin-page .prerace-question-admin-domain[data-domain=劳]{color:#c2410c;background:#ffedd5;border-color:#fb923c}.prerace-admin-page .prerace-question-admin-domain[data-domain=机器人]{color:#5b21b6;background:#ede9fe;border-color:#a78bfa}.prerace-admin-page .prerace-question-admin-groups{color:#64748b;font-weight:500}.prerace-admin-page .prerace-levels-empty{border-color:#d9dde1;background:var(--imooc-head)}.prerace-admin-page .prerace-levels-empty-title{color:var(--imooc-text)}.prerace-admin-page .prerace-levels-empty-hint{color:var(--imooc-muted)}.prerace-subjective-status-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.prerace-grading-modal{max-width:720px}.prerace-grading-form{display:flex;flex-direction:column;min-height:0}.prerace-grading-question{padding:1rem 0;border-bottom:1px solid #e8ecf0}.prerace-grading-question:last-child{border-bottom:none}.prerace-grading-question__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.prerace-grading-question__index{font-weight:600;color:var(--imooc-text)}.prerace-grading-question__points{font-size:.85rem;color:var(--imooc-muted)}.prerace-grading-question__stem{margin:0 0 .75rem;line-height:1.6;color:var(--imooc-text)}.prerace-grading-answer-block{margin-bottom:.75rem}.prerace-grading-answer-block__label{display:block;font-size:.8rem;font-weight:600;color:var(--imooc-muted);margin-bottom:.25rem}.prerace-grading-answer-block__text{margin:0;padding:.65rem .75rem;border-radius:8px;background:#f4f6f8;line-height:1.55;white-space:pre-wrap;word-break:break-word}.prerace-grading-answer-block__text--student{background:#eef8ff}.prerace-grading-score-field{display:flex;align-items:center;gap:.75rem;font-weight:600}.prerace-grading-score-field input{width:5rem;padding:.45rem .6rem;border:1px solid #d9dde1;border-radius:8px}.prerace-student-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;padding:0;font:inherit;color:#0b7bdc;cursor:pointer;text-align:left;text-decoration:underline;text-underline-offset:2px}.prerace-student-link:hover{color:#055aa8}.prerace-score-attempts{display:block;margin-top:4px;font-size:.72rem;color:#64748b}.prerace-attempts-modal{max-width:720px}.prerace-attempts-body{padding:0 20px 8px;max-height:min(60vh,480px);overflow:auto}.prerace-attempts-summary{margin:8px 0 0;font-size:.88rem;color:#0b7bdc}.prerace-attempts-table th:last-child,.prerace-attempts-table td:last-child{text-align:right;white-space:nowrap}.prerace-attempts-row.is-best{background:#0b7bdc0f}.prerace-attempts-best-tag{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:.68rem;font-weight:600;color:#0b7bdc;border:1px solid rgba(11,123,220,.35)}.prerace-attempts-view-btn{padding:4px 10px;font-size:.78rem}.prerace-answer-review-modal{max-width:760px}.prerace-answer-review-body{max-height:min(62vh,640px);overflow:auto}.prerace-answer-review-summary{margin:.35rem 0 0;font-size:.9rem;color:var(--imooc-muted)}.prerace-answer-review-overview{margin-top:.85rem;padding-top:.85rem;border-top:1px solid rgba(255,255,255,.12)}.prerace-q-modal__hero .prerace-answer-review-overview{border-top-color:#00000014}.prerace-answer-review-overview__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem;margin-bottom:.65rem}.prerace-answer-review-overview__title{font-size:.88rem;font-weight:700;color:var(--imooc-text)}.prerace-answer-review-overview__stats{display:flex;flex-wrap:wrap;gap:.45rem}.prerace-answer-review-stat{display:inline-flex;align-items:center;padding:.12rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600}.prerace-answer-review-stat.is-correct{background:#e8f7ee;color:#1b7f44}.prerace-answer-review-stat.is-wrong{background:#fdecea;color:#c0392b}.prerace-answer-review-stat.is-unanswered{background:#eef1f4;color:#667085}.prerace-answer-review-stat.is-pending{background:#fff4e5;color:#b26a00}.prerace-answer-review-stat.is-graded{background:#e8f1ff;color:#1d5fbf}.prerace-answer-review-sheet{display:flex;flex-wrap:wrap;gap:.45rem}.prerace-answer-review-chip{width:2rem;height:2rem;border-radius:8px;border:1px solid transparent;font-size:.82rem;font-weight:700;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.prerace-answer-review-chip:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001f}.prerace-answer-review-chip.is-correct{background:#d9f5e3;color:#157a3c;border-color:#9ed9b4}.prerace-answer-review-chip.is-wrong{background:#fde2df;color:#b42318;border-color:#f3a9a3}.prerace-answer-review-chip.is-unanswered{background:#f2f4f7;color:#667085;border-color:#d9dde1}.prerace-answer-review-chip.is-pending{background:#fff0d6;color:#b26a00;border-color:#f5c56b}.prerace-answer-review-chip.is-graded{background:#dbeafe;color:#1d5fbf;border-color:#93c5fd}.prerace-answer-review-item{padding:1rem 0;border-bottom:1px solid #e8ecf0}.prerace-answer-review-item:last-child{border-bottom:none}.prerace-answer-review-item__head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.5rem}.prerace-answer-review-item__index{font-weight:600;color:var(--imooc-text)}.prerace-answer-review-item__points{margin-left:auto;font-size:.85rem;color:var(--imooc-muted)}.prerace-answer-review-status{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600}.prerace-answer-review-status.is-correct{background:#e8f7ee;color:#1b7f44}.prerace-answer-review-status.is-wrong{background:#fdecea;color:#c0392b}.prerace-answer-review-status.is-pending{background:#fff4e5;color:#b26a00}.prerace-answer-review-status.is-neutral{background:#eef1f4;color:var(--imooc-muted)}.prerace-answer-review-item__stem{margin:0 0 .65rem;line-height:1.6}.prerace-answer-review-options{margin:0 0 .75rem;padding-left:1.1rem;color:var(--imooc-muted);line-height:1.5}@media (max-width: 768px){.prerace-admin-hero__top{flex-direction:column}.prerace-admin-tabs{overflow-x:auto}.prerace-panel-head{flex-direction:column}.prerace-stat-metrics{grid-template-columns:1fr}}.prerace-levels-toolbar{margin:.75rem 0 1rem;display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.prerace-pick-bank-btn{min-height:40px}.prerace-levels-empty-actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center}.prerace-import-panel{max-width:720px}.prerace-import-steps{margin:0 0 1rem 1.25rem;padding:0;font-size:.9rem;line-height:1.55;color:#606266}.prerace-import-actions{margin-bottom:1rem}.prerace-import-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px}.prerace-import-file{display:flex;flex-direction:column;gap:6px;flex:1;min-width:200px;font-size:.88rem}.prerace-import-filename{font-style:normal;color:#909399;font-size:.82rem}.prerace-import-mode{display:flex;flex-direction:column;gap:6px;font-size:.88rem}.prerace-import-mode select{min-width:220px;padding:6px 8px;border-radius:6px;border:1px solid #dcdfe6}.prerace-import-result{margin-top:1rem;padding:12px 14px;border-radius:8px;background:#f0f9eb;border:1px solid #e1f3d8;font-size:.88rem}.prerace-import-result-hint{margin:.35rem 0 0;color:#606266}.prerace-import-result-row.is-error{margin-top:6px;color:#c45656}.prerace-roster-panel{max-width:none;padding:0;overflow:hidden;border-radius:0 0 8px 8px}.prerace-roster-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 28px;background:linear-gradient(135deg,#f8fffb,#fff 55%,#f4f8fc);border-bottom:1px solid var(--imooc-border)}.prerace-roster-badge{display:inline-block;margin-bottom:10px;padding:4px 10px;border-radius:999px;background:var(--imooc-green-soft);color:var(--imooc-green);font-size:.75rem;font-weight:600;letter-spacing:.02em}.prerace-roster-header__title{margin:0;font-size:1.15rem;font-weight:700;color:var(--imooc-text)}.prerace-roster-header__desc{margin:8px 0 0;max-width:640px;font-size:.88rem;line-height:1.6;color:var(--imooc-muted)}.prerace-roster-stats{display:grid;grid-template-columns:repeat(4,minmax(88px,1fr));gap:10px;min-width:min(100%,420px)}.prerace-roster-stat{padding:12px 14px;border-radius:10px;border:1px solid var(--imooc-border);background:#fff;text-align:center}.prerace-roster-stat__value{display:block;font-size:1.4rem;font-weight:700;line-height:1.15;color:var(--imooc-text)}.prerace-roster-stat__label{display:block;margin-top:4px;font-size:.72rem;line-height:1.35;color:var(--imooc-muted)}.prerace-roster-stat--warn{border-color:#e6a23c59;background:#fffbf5}.prerace-roster-stat--warn .prerace-roster-stat__value{color:#d48806}.prerace-roster-stat--ok{border-color:#19a56659;background:var(--imooc-green-soft)}.prerace-roster-stat--ok .prerace-roster-stat__value{color:var(--imooc-green)}.prerace-roster-stat--muted .prerace-roster-stat__value{color:#909399}.prerace-roster-section{padding:22px 28px;border-bottom:1px solid var(--imooc-border)}.prerace-roster-section:last-child{border-bottom:none}.prerace-roster-section__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.prerace-roster-section__title{margin:0;font-size:.95rem;font-weight:600;color:var(--imooc-text)}.prerace-roster-section__meta{margin:0;font-size:.85rem;color:var(--imooc-muted)}.prerace-roster-section__actions{display:flex;flex-wrap:wrap;gap:8px}.prerace-roster-upload{display:grid;grid-template-columns:minmax(200px,240px) 1fr;gap:18px;align-items:stretch}.prerace-roster-upload__zone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:168px;padding:20px 16px;border:2px dashed rgba(25,165,102,.35);border-radius:12px;background:linear-gradient(180deg,#fafffd,#f4fbf7);cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.prerace-roster-upload__zone:hover{border-color:var(--imooc-green);background:#f0fdf7;box-shadow:0 4px 16px #19a56614}.prerace-roster-upload__input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.prerace-roster-upload__icon{font-size:1.75rem;line-height:1}.prerace-roster-upload__hint{font-size:.9rem;font-weight:600;color:var(--imooc-text);text-align:center}.prerace-roster-upload__sub{font-size:.78rem;color:var(--imooc-muted)}.prerace-roster-upload__side{display:flex;flex-direction:column;gap:14px;min-height:168px}.prerace-roster-upload__empty{margin:0;flex:1;display:flex;align-items:center;padding:14px 16px;border-radius:10px;border:1px dashed var(--imooc-border);background:#fafbfc;font-size:.85rem;color:var(--imooc-muted)}.prerace-roster-file-list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;flex:1;align-content:flex-start}.prerace-roster-file-chip{padding:6px 12px;border-radius:999px;border:1px solid rgba(25,165,102,.25);background:var(--imooc-green-soft);color:#15803d;font-size:.8rem;line-height:1.35;word-break:break-all}.prerace-roster-upload__controls{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 16px;padding-top:4px}.prerace-roster-upload__mode{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--imooc-muted)}.prerace-roster-upload__mode select{min-width:240px;padding:8px 10px;border:1px solid var(--imooc-border);border-radius:8px;background:#fff;font-size:.88rem;color:var(--imooc-text)}.prerace-roster-upload__btns{display:flex;flex-wrap:wrap;gap:10px}.prerace-roster-export-bar{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 20px;margin-top:12px;padding:12px 14px;border-radius:10px;border:1px solid var(--imooc-border);background:#fafbfc}.prerace-roster-export-bar--detail{margin-bottom:16px}.prerace-roster-export-bar__label{flex:0 0 100%;font-size:.82rem;font-weight:600;color:var(--imooc-muted)}.prerace-roster-export-bar__group{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:min(100%,260px);flex:1}.prerace-roster-export-bar__tag{display:inline-block;padding:2px 8px;border-radius:4px;background:var(--imooc-green-soft);color:var(--imooc-green);font-size:.75rem;font-weight:600}.prerace-roster-export-bar__group:last-child .prerace-roster-export-bar__tag{background:#f0f2f5;color:var(--imooc-text)}.prerace-roster-export-bar__hint{margin:0;font-size:.78rem;line-height:1.45;color:var(--imooc-muted)}.prerace-roster-import-result{margin-top:16px}.prerace-roster-import-progress{margin-top:.75rem}.prerace-roster-import-progress__label{font-size:.8125rem;color:#546e7a;margin-bottom:.35rem}.prerace-roster-import-progress__track{height:6px;border-radius:999px;background:#2196f326;overflow:hidden}.prerace-roster-import-progress__bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,#42a5f5,#1e88e5);transition:width .25s ease}.prerace-roster-import-result__summary{margin:0 0 8px;font-weight:600}.prerace-roster-import-result__list{margin:0;padding-left:1.1rem;font-size:.85rem;line-height:1.55}.prerace-roster-import-result__list .is-error{color:#c45656}.prerace-roster-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:120px;padding:28px 20px;border:1px dashed var(--imooc-border);border-radius:12px;background:#fafbfc;text-align:center}.prerace-roster-empty--compact{min-height:88px;padding:20px}.prerace-roster-empty__icon{font-size:1.6rem;opacity:.65}.prerace-roster-empty p{margin:0;font-size:.88rem;color:var(--imooc-muted)}.prerace-roster-batch-table .prerace-table tbody tr.is-active-row td{background:#19a5660f}.prerace-roster-batch-table .prerace-table tbody tr.is-active-row td:first-child{box-shadow:inset 3px 0 0 var(--imooc-green)}.prerace-roster-col-check{width:44px}.prerace-roster-col-action{width:140px;white-space:nowrap}.prerace-roster-row-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.prerace-roster-delete-btn{padding-left:10px;padding-right:10px}.prerace-roster-check{width:16px;height:16px;accent-color:var(--imooc-green);cursor:pointer}.prerace-roster-batch-name{display:block;font-weight:600;color:var(--imooc-text)}.prerace-roster-batch-key{display:block;margin-top:2px;font-size:.75rem;color:var(--imooc-muted);font-family:ui-monospace,monospace}.prerace-roster-batch-duplicate-hint{margin:0 0 12px;padding:10px 12px;border-radius:8px;background:#ff98001a;color:#e65100;font-size:.875rem;line-height:1.45}.prerace-roster-count{display:inline-flex;min-width:2rem;justify-content:center;padding:2px 8px;border-radius:999px;background:#f0f2f5;font-size:.82rem;font-weight:600}.prerace-roster-date{font-size:.82rem;color:var(--imooc-muted);white-space:nowrap}.prerace-roster-view-btn{padding:4px 12px;font-size:.82rem}.prerace-roster-active-badge{margin:6px 0 0;font-size:.82rem;color:var(--imooc-muted)}.prerace-roster-active-badge strong{color:var(--imooc-green);font-weight:700}.prerace-roster-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-bottom:16px;padding:14px 16px;border-radius:10px;background:var(--imooc-head);border:1px solid var(--imooc-border)}.prerace-roster-filters label{display:flex;flex-direction:column;gap:6px;font-size:.82rem;color:var(--imooc-muted)}.prerace-roster-filters input,.prerace-roster-filters select{min-width:180px;padding:8px 10px;border:1px solid var(--imooc-border);border-radius:8px;background:#fff;font-size:.88rem;color:var(--imooc-text)}.prerace-roster-filters input:focus,.prerace-roster-filters select:focus{outline:none;border-color:#19a5668c;box-shadow:0 0 0 3px #19a5661f}.prerace-roster-filters__actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.prerace-btn--danger{color:#c45656;border-color:#c4565659}.prerace-btn--danger:hover:not(:disabled){color:#fff;background:#c45656;border-color:#c45656}.prerace-roster-loading{margin:0;padding:24px;text-align:center;color:var(--imooc-muted)}.prerace-roster-id{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem;color:#606266}.prerace-roster-match{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1.4;white-space:nowrap}.prerace-roster-match--not_in_system{background:#f4f4f5;color:#909399}.prerace-roster-match--no_quiz{background:#fff7e6;color:#d48806}.prerace-roster-match--quiz_done{background:var(--imooc-green-soft);color:var(--imooc-green)}.prerace-roster-match--name_mismatch,.prerace-roster-match--name_mismatch_quiz_done{background:#fef0f0;color:#c45656}.prerace-roster-match--id_mismatch,.prerace-roster-match--id_mismatch_quiz_done{background:#fdf6ec;color:#e6a23c}.prerace-roster-quiz-score{font-weight:600;color:var(--imooc-green)}.prerace-roster-detail-table{overflow-x:auto;margin:0 -4px;padding-bottom:4px}.prerace-roster-detail-table .prerace-table{min-width:720px}.prerace-roster-th-group{text-align:center!important;font-size:.72rem!important;font-weight:600!important;letter-spacing:.04em;color:var(--imooc-muted)!important;background:#f0f4f8!important;border-bottom:1px solid var(--imooc-border)!important;padding:8px 10px!important}.prerace-roster-detail-table .prerace-table thead tr:last-child th{white-space:nowrap}@media (max-width: 900px){.prerace-roster-header{padding:20px 18px}.prerace-roster-stats{width:100%;grid-template-columns:repeat(2,1fr)}.prerace-roster-section{padding:18px}.prerace-roster-upload{grid-template-columns:1fr}.prerace-roster-filters__actions{margin-left:0;width:100%}}.prerace-q-pick-bank-link{margin-top:.35rem;padding:0;border:none;background:none;color:#0ea5e9;font-size:.875rem;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.prerace-q-pick-bank-link:hover{color:#0284c7}.prerace-bank-picker-overlay{z-index:10050}.prerace-bank-picker-modal{max-width:720px}.prerace-bank-picker-body{padding:0 1.25rem 1rem;max-height:min(62vh,520px);overflow:auto}.prerace-bank-picker-filters{display:flex;flex-wrap:wrap;gap:.75rem 1rem;margin-bottom:.85rem;align-items:flex-end}.prerace-bank-picker-filters label{display:flex;flex-direction:column;gap:.35rem;font-size:.8125rem;color:#64748b}.prerace-bank-picker-filters select,.prerace-bank-picker-search input{min-width:140px;padding:.45rem .65rem;border:1px solid #cbd5e1;border-radius:8px;font-size:.875rem;background:#fff}.prerace-bank-picker-search{flex:1;min-width:180px}.prerace-bank-picker-search input{width:100%}.prerace-bank-picker-empty{padding:2rem 1rem;text-align:center;color:#64748b;font-size:.9rem}.prerace-bank-picker-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.prerace-bank-picker-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.75rem .85rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.prerace-bank-picker-item.is-in-group{border-color:#01a18e73;background:#01a18e14}.prerace-bank-picker-summary{margin-top:.35rem;font-size:.8125rem;color:#64748b}.prerace-question-badge{display:inline-flex;align-items:center;padding:.12rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1.3;white-space:nowrap}.prerace-question-badge--in-group,.prerace-question-badge--bank{color:#0f766e;background:#01a18e24;border:1px solid rgba(1,161,142,.35)}.prerace-bank-picker-select:disabled{opacity:.65;cursor:not-allowed}.prerace-bank-picker-item__main{flex:1;min-width:0}.prerace-bank-picker-item__stem{margin:.35rem 0 0;font-size:.9rem;color:#334155;line-height:1.45}.prerace-bank-picker-select{flex-shrink:0;align-self:center;min-height:34px;padding:.35rem .85rem;font-size:.8125rem}.prerace-add-module-btn{display:inline-flex;align-items:center;gap:8px}.prerace-add-module-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:#ffffff38;font-size:1.1rem;line-height:1;font-weight:700}.prerace-levels-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 24px;margin-top:8px;border-radius:16px;border:1px dashed rgba(1,161,142,.35);background:linear-gradient(180deg,#01a18e0f,#01a18e05)}.prerace-levels-empty-icon{font-size:2.5rem;line-height:1;margin-bottom:12px;opacity:.9}.prerace-levels-empty-title{margin:0 0 8px;font-size:1.05rem;font-weight:600;color:var(--home-text)}.prerace-levels-empty-hint{margin:0 0 20px;max-width:420px;font-size:.88rem;line-height:1.5;color:#54716c;opacity:.9}.prerace-module-overlay{z-index:10050}.prerace-module-modal{max-width:460px;box-shadow:0 24px 64px #00000038,0 0 0 1px #01a18e1f,0 8px 32px #01a18e26}.prerace-module-modal-header{background:linear-gradient(135deg,#01a18e24,#ffc10714)}.prerace-module-modal-title-wrap{display:flex;flex-direction:column;gap:8px;min-width:0}.prerace-group-badge{display:inline-flex;align-items:center;width:fit-content;padding:4px 12px;border-radius:999px;font-size:.8rem;font-weight:600;color:#0d6b5f;background:#01a18e26;border:1px solid rgba(1,161,142,.35)}.prerace-module-modal-desc{margin:0 0 18px;padding:10px 12px;font-size:.85rem;line-height:1.45;color:#54716c;background:#01a18e0f;border-radius:10px;border:1px solid rgba(1,161,142,.15)}.prerace-filters{margin-bottom:1rem}.prerace-filters-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px 16px;margin-bottom:12px}.prerace-filters-row label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--home-text-muted, rgba(255, 255, 255, .75))}.prerace-filters-row select,.prerace-filters-row input{padding:8px 10px;border-radius:8px;border:1px solid rgba(1,161,142,.35);background:#0003;color:inherit;font-size:.9rem}.prerace-filters-actions{display:flex;gap:10px}.prerace-table-wrap{overflow-x:auto}.prerace-table{width:100%;border-collapse:collapse;font-size:.88rem}.prerace-table th,.prerace-table td{padding:10px 12px;border-bottom:1px solid rgba(1,161,142,.2);text-align:left;vertical-align:top}.prerace-table th{font-weight:600;white-space:nowrap}.prerace-progress-cell{min-width:180px;max-width:320px}.prerace-progress-summary{display:block;font-weight:600}.prerace-progress-detail{display:block;margin-top:4px;font-size:.8rem;opacity:.85;line-height:1.45}.prerace-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px}.prerace-pagination--with-size{flex-wrap:wrap}.prerace-pagination__size{display:inline-flex;align-items:center;gap:8px;margin-left:8px;font-size:.9rem;color:inherit}.prerace-pagination__size-label{white-space:nowrap;opacity:.85}.prerace-pagination__size-select{min-width:72px;padding:6px 10px}.prerace-pagination button{padding:6px 14px;border-radius:8px;border:1px solid rgba(1,161,142,.4);background:transparent;color:inherit;cursor:pointer}.prerace-pagination button:disabled{opacity:.4;cursor:not-allowed}.prerace-group-nav{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.prerace-group-nav-label{font-size:.9rem;opacity:.85}.prerace-group-nav-btns{display:flex;flex-wrap:wrap;gap:8px}.prerace-group-pill{padding:6px 14px;border-radius:999px;border:1px solid rgba(1,161,142,.45);background:transparent;color:inherit;cursor:pointer;font-size:.88rem}.prerace-group-pill.is-active{background:#01a18e40;border-color:var(--theme-primary, #01a18e);font-weight:600}.prerace-section-title{margin:0 0 12px;font-size:1.05rem}.prerace-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.prerace-stat-card{padding:14px 16px;border-radius:10px;border:1px solid rgba(1,161,142,.3);background:#00000026}.prerace-stat-card.is-dimmed{opacity:.45}.prerace-stat-card.is-highlight{border-color:var(--theme-primary, #01a18e)}.prerace-stat-card h3{margin:0 0 8px;font-size:1rem}.prerace-stat-card p{margin:4px 0;font-size:.88rem}.prerace-questions-list{display:flex;flex-direction:column;gap:16px}.prerace-question-admin-card{border:1px solid rgba(148,163,184,.25);border-radius:12px;padding:16px 18px;background:#0f172a59}.prerace-question-admin-head{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .5rem;margin-bottom:8px}.prerace-question-admin-num{font-weight:700;color:var(--theme-primary, #64b5f6)}.prerace-question-admin-type{font-size:.78rem;padding:2px 8px;border-radius:999px;background:#94a3b826}.prerace-question-admin-points{margin-left:auto;font-size:.78rem;font-weight:700;padding:2px 10px;border-radius:999px;color:var(--theme-primary-text, #01796f);background:color-mix(in srgb,var(--theme-primary, #01a18e) 12%,transparent);border:1px solid color-mix(in srgb,var(--theme-primary, #01a18e) 28%,transparent)}.prerace-question-admin-stem{margin:0 0 10px;line-height:1.5}.prerace-question-admin-options{margin:0 0 12px;padding-left:20px}.prerace-question-admin-options li.is-correct{color:#86efac;font-weight:600}.prerace-question-admin-answer{margin:0 0 12px;font-size:.9rem;color:#86efac}.prerace-question-admin-domain{padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:700;background:#6366f133;color:#c7d2fe}.prerace-admin-page .prerace-bank-filters{background:var(--imooc-card);border:1px solid var(--imooc-border);border-radius:8px;padding:14px 16px}.prerace-admin-page .prerace-bank-filter-row label{color:var(--imooc-text);font-weight:600}.prerace-admin-page .prerace-bank-filter-row select,.prerace-admin-page .prerace-q-select{color:var(--imooc-text);border-color:var(--imooc-border);background:#fff}.prerace-question-admin-groups{margin:0 0 8px;font-size:.82rem;color:#94a3b8}.prerace-bank-filters{margin-bottom:16px}.prerace-bank-filter-row{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:10px;align-items:flex-end}.prerace-bank-filter-row label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:#64748b}.prerace-bank-filter-row select,.prerace-q-select{min-width:140px;padding:8px 10px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;font-size:.9rem}.prerace-bank-group-checks{display:flex;flex-wrap:wrap;gap:10px 16px}.prerace-bank-group-check{display:inline-flex;align-items:center;gap:6px;font-size:.9rem;cursor:pointer}.prerace-q-overlay{z-index:10050;background:#0f172a85;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:24px 16px;align-items:flex-start;overflow-y:auto}.prerace-q-modal{width:min(560px,100%);margin:auto;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 20px 50px #0f172a2e,0 0 0 1px #0f172a0a;color:#333;animation:prerace-q-modal-in .28s ease}@keyframes prerace-q-modal-in{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.prerace-q-modal__hero{position:relative;display:flex;gap:14px;align-items:flex-start;padding:22px 24px 20px;background:linear-gradient(135deg,#f0fdf6,#ecfdf5 45%,#fff);border-bottom:1px solid #e8f5ef}.prerace-q-modal__hero-icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:linear-gradient(145deg,#19a566,#16a058);color:#fff;box-shadow:0 6px 16px #19a56659}.prerace-q-modal__hero-icon svg{width:22px;height:22px}.prerace-q-modal__hero-text{flex:1;min-width:0;padding-right:36px}.prerace-q-modal__eyebrow{margin:0 0 4px;font-size:.78rem;font-weight:600;letter-spacing:.04em;color:#19a566;text-transform:uppercase}.prerace-q-modal__hero h2{margin:0;font-size:1.25rem;font-weight:700;color:#1f2937;line-height:1.35}.prerace-q-modal__subtitle{margin:6px 0 0;font-size:.86rem;line-height:1.5;color:#6b7280}.prerace-q-modal__close{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;border-radius:8px;background:#ffffffd9;color:#6b7280;font-size:1.35rem;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease}.prerace-q-modal__close:hover{background:#fff;color:#111827}.prerace-q-form{display:flex;flex-direction:column}.prerace-q-modal__body{padding:20px 24px 8px;display:flex;flex-direction:column;gap:18px;max-height:min(62vh,520px);overflow-y:auto}.prerace-q-alert{padding:10px 12px;border-radius:8px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:.88rem}.prerace-q-section{padding:14px 16px;border-radius:10px;background:#f8fafc;border:1px solid #eef2f6}.prerace-q-section--inline{display:flex;align-items:center;justify-content:space-between;gap:16px}.prerace-q-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}.prerace-q-section__title{margin:0 0 10px;font-size:.92rem;font-weight:700;color:#374151}.prerace-q-section__head .prerace-q-section__title{margin-bottom:0}.prerace-q-section__tip{font-size:.78rem;color:#9ca3af;white-space:nowrap}.prerace-q-section--inline .prerace-q-section__title,.prerace-q-section--inline .prerace-q-label{margin:0}.prerace-q-label{display:block;margin-bottom:8px;font-size:.92rem;font-weight:700;color:#374151}.prerace-q-required{color:#ef4444;margin-left:2px}.prerace-q-type-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:4px;background:#fff;border-radius:10px;border:1px solid #e5e7eb}.prerace-q-type-tab{padding:10px 12px;border:none;border-radius:8px;background:transparent;color:#6b7280;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .18s ease}.prerace-q-type-tab:hover{color:#19a566;background:#f0fdf6}.prerace-q-type-tab.is-active{background:linear-gradient(135deg,#19a566,#16a058);color:#fff;box-shadow:0 4px 12px #19a56647}.prerace-q-textarea,.prerace-q-input{width:100%;padding:11px 13px;border:1px solid #dfe3e8;border-radius:8px;background:#fff;color:#1f2937;font-size:.92rem;line-height:1.5;transition:border-color .15s ease,box-shadow .15s ease;font-family:inherit;resize:vertical}.prerace-q-textarea--stem{min-height:92px}.prerace-q-textarea:focus,.prerace-q-input:focus,.prerace-q-option-input:focus{outline:none;border-color:#19a566;box-shadow:0 0 0 3px #19a56624}.prerace-q-textarea::placeholder,.prerace-q-option-input::placeholder{color:#b0b8c4}.prerace-q-input--sort{width:120px;text-align:center}.prerace-q-option-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.prerace-q-option-row{display:flex;align-items:center;gap:10px;padding:6px;border-radius:10px;background:#fff;border:1px solid #e5e7eb;transition:border-color .15s ease,box-shadow .15s ease}.prerace-q-option-row.is-correct{border-color:#86efac;background:#f0fdf4;box-shadow:0 0 0 1px #19a5661f}.prerace-q-option-mark{flex-shrink:0;width:36px;height:36px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;color:#6b7280;font-weight:700;font-size:.9rem;cursor:pointer;transition:all .15s ease}.prerace-q-option-mark:hover{border-color:#19a566;color:#19a566}.prerace-q-option-mark.is-active{border-color:#19a566;background:linear-gradient(145deg,#19a566,#16a058);color:#fff;box-shadow:0 4px 10px #19a56640}.prerace-q-option-input{flex:1;min-width:0;padding:9px 10px;border:1px solid transparent;border-radius:6px;background:transparent;color:#1f2937;font-size:.92rem}.prerace-q-judge-pills{display:grid;grid-template-columns:1fr 1fr;gap:10px}.prerace-q-judge-pill{padding:12px 14px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;color:#4b5563;font-size:.92rem;font-weight:600;cursor:pointer;transition:all .15s ease}.prerace-q-judge-pill:hover{border-color:#19a566;color:#19a566}.prerace-q-judge-pill.is-active{border-color:#19a566;background:#f0fdf6;color:#15803d;box-shadow:inset 0 0 0 1px #19a56633}.prerace-q-modal__footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 20px;background:#fff;border-top:1px solid #f1f5f9}.prerace-q-btn{min-width:96px;padding:10px 20px;border-radius:8px;font-size:.92rem;font-weight:600;cursor:pointer;transition:all .15s ease}.prerace-q-btn:disabled{opacity:.65;cursor:not-allowed}.prerace-q-btn--ghost{border:1px solid #dfe3e8;background:#fff;color:#4b5563}.prerace-q-btn--ghost:hover:not(:disabled){border-color:#cbd5e1;background:#f8fafc}.prerace-q-btn--primary{border:none;background:linear-gradient(135deg,#19a566,#16a058);color:#fff;box-shadow:0 4px 14px #19a56652}.prerace-q-btn--primary:hover:not(:disabled){filter:brightness(1.03);transform:translateY(-1px);box-shadow:0 6px 18px #19a56661}@media (max-width: 560px){.prerace-q-modal__hero{padding:18px 16px 16px}.prerace-q-modal__body,.prerace-q-modal__footer{padding-left:16px;padding-right:16px}.prerace-q-section__head{flex-direction:column;align-items:flex-start}.prerace-q-section--inline{flex-direction:column;align-items:stretch}.prerace-q-input--sort{width:100%}}.prerace-btn--sm{padding:4px 10px;font-size:.82rem}.prerace-td-actions{white-space:nowrap}.prerace-edit-contestant-modal{max-width:440px}.prerace-edit-contestant-form{gap:14px}.prerace-edit-contestant-field{display:flex;flex-direction:column;gap:6px;font-size:.88rem;color:#546e7a}.prerace-edit-contestant-field input,.prerace-edit-contestant-field select{padding:8px 10px;border:1px solid #cfd8dc;border-radius:8px;font-size:.95rem}.prerace-edit-contestant-field input:read-only{background:#f5f5f5;color:#78909c}.prerace-edit-contestant-hint{font-size:.78rem;color:#90a4ae}.learning-report-page .learning-report-student-section{margin-bottom:20px}.learning-report-page .learning-report-student-bar{margin-bottom:16px}.learning-report-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:20px}.learning-report-head h2{margin:0 0 6px;font-size:1.25rem}.learning-report-head__sub{margin:0;font-size:.88rem;color:var(--imooc-muted, #64748b)}.learning-report-summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-bottom:16px}.learning-report-stat-card{padding:14px 16px;border-radius:10px;border:1px solid rgba(1,161,142,.22);background:var(--home-card, #fff);display:flex;flex-direction:column;gap:6px}.learning-report-stat-card__label{font-size:.78rem;color:var(--imooc-muted, #64748b)}.learning-report-stat-card strong{font-size:1.35rem;color:var(--home-text, #1e293b)}.learning-report-stat-card.is-wrong{border-color:#ef444459;background:#ef44440f}.learning-report-stat-card.is-warning{border-color:#f59e0b59;background:#f59e0b0f}.learning-report-compare{padding:10px 14px;margin-bottom:20px;border-radius:8px;background:#01a18e14;font-size:.9rem;color:#475569}.learning-report-compare__delta{margin-left:8px;font-weight:600}.learning-report-compare__delta.is-up{color:#059669}.learning-report-compare__delta.is-down{color:#dc2626}.learning-report-section{margin-bottom:28px}.learning-report-section__title{margin:0 0 8px;font-size:1.05rem}.learning-report-section__hint{margin:0 0 12px;font-size:.82rem;color:var(--imooc-muted, #64748b)}.learning-report-tips{margin:0;padding-left:1.25rem;color:#334155;line-height:1.65}.learning-report-tips li+li{margin-top:6px}.learning-report-kp-list{display:flex;flex-direction:column;gap:12px}.learning-report-kp-item{padding:14px 16px;border-radius:10px;border:1px solid #e2e8f0;background:#fafafa}.learning-report-kp-item.is-good{border-color:#0596694d;background:#0596690d}.learning-report-kp-item.is-warning{border-color:#f59e0b59;background:#f59e0b0f}.learning-report-kp-item.is-weak{border-color:#ef444459;background:#ef44440d}.learning-report-kp-item__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.learning-report-kp-item__badge{font-size:.75rem;padding:2px 8px;border-radius:999px;background:#0000000f}.learning-report-kp-item.is-weak .learning-report-kp-item__badge{background:#ef444426;color:#b91c1c}.learning-report-kp-item__bar-wrap{height:8px;border-radius:4px;background:#00000014;overflow:hidden;margin-bottom:6px}.learning-report-kp-item__bar{height:100%;border-radius:4px;background:var(--theme-primary, #01a18e);transition:width .3s ease}.learning-report-kp-item.is-weak .learning-report-kp-item__bar{background:#ef4444}.learning-report-kp-item.is-warning .learning-report-kp-item__bar{background:#f59e0b}.learning-report-kp-item__meta{font-size:.8rem;color:var(--imooc-muted, #64748b)}.learning-report-issue-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.78rem;font-weight:500}.learning-report-issue-tag.is-wrong{background:#ef44441f;color:#b91c1c}.learning-report-issue-tag.is-weak{background:#f59e0b26;color:#b45309}.learning-report-issue-tag.is-unfinished{background:#64748b26;color:#475569}.learning-report-quiz-ans{display:block;margin-top:4px;font-size:.78rem;color:var(--imooc-muted, #64748b);font-weight:400}:root{--ek-green: #40bb8a;--ek-green-dark: #33a876;--ek-green-light: #ecf9f3;--ek-yellow: #f5a623;--ek-border: #e7e7e7;--ek-border-light: #f0f0f0;--ek-text-muted: #666;--ek-panel-bg: #fff;--ek-page-bg: #f5f7fa}.homework-assign-page,.homework-publish-page{max-width:1080px;font-size:14px;color:#333}.homework-wizard-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .5rem;margin-bottom:12px;padding:0 14px;font-size:12px;color:var(--ek-text-muted);line-height:44px;background:var(--ek-panel-bg, #fff);border:1px solid var(--ek-border, #e8ecef);border-radius:2px}.homework-wizard-breadcrumb__link{color:var(--ek-green);text-decoration:none;cursor:pointer}.homework-wizard-breadcrumb__link:hover{text-decoration:underline}.homework-wizard-breadcrumb__sep{opacity:.5}.homework-wizard-breadcrumb__current{color:#333}.homework-assign-layout{display:grid;grid-template-columns:200px minmax(0,1fr) 200px;gap:10px;align-items:start;min-height:520px}.homework-assign-layout--horizontal{grid-template-columns:minmax(0,1fr) 220px}.homework-assign-tabs{display:flex;gap:0;margin-bottom:10px;border:1px solid var(--ek-border);border-radius:2px;overflow:hidden;background:#fff}.homework-assign-tab{flex:1;border:none;background:#fafafa;padding:12px 16px;font-size:14px;color:#555;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-right:1px solid var(--ek-border)}.homework-assign-tab:last-child{border-right:none}.homework-assign-tab.is-active{background:var(--ek-green);color:#fff;font-weight:600}.homework-assign-tab em{font-style:normal;font-size:12px;min-width:18px;height:18px;padding:0 5px;border-radius:2px;background:#ffffff40;display:inline-flex;align-items:center;justify-content:center}.homework-assign-tab:not(.is-active) em{background:#e8f0e8;color:var(--ek-green)}.homework-assign-hcatalog{background:var(--ek-panel-bg);border:1px solid var(--ek-border);margin-bottom:10px}.homework-assign-hcatalog__row{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-bottom:1px solid var(--ek-border-light)}.homework-assign-hcatalog__row:last-child{border-bottom:none}.homework-assign-hcatalog__label{flex:0 0 36px;padding-top:6px;font-size:13px;color:var(--ek-text-muted)}.homework-assign-hcatalog__chips{display:flex;flex-wrap:wrap;gap:8px;min-width:0;flex:1}.homework-assign-hchip{border:1px solid #d0d7de;background:#fff;color:#333;border-radius:2px;padding:7px 12px;font-size:13px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.homework-assign-hchip:hover{border-color:var(--ek-green);color:var(--ek-green)}.homework-assign-hchip.is-selected{background:var(--ek-green);border-color:var(--ek-green);color:#fff}.homework-assign-hcatalog__empty{font-size:13px;color:#94a3b8;padding:6px 0}.homework-assign-sidebar{position:sticky;top:calc(var(--app-header-offset, 70px) + 12px)}.homework-assign-green-menu{list-style:none;margin:0;padding:0;background:var(--ek-panel-bg);border:1px solid var(--ek-border);border-radius:2px;overflow:hidden}.homework-assign-green-menu--sub{margin-top:10px;border-color:#d6e6ff;background:#f9fbff}.homework-assign-green-menu li button{display:flex;align-items:center;justify-content:space-between;width:100%;border:none;background:transparent;padding:14px 16px;cursor:pointer;font-size:14px;color:#333;text-align:left;transition:background .15s,color .15s}.homework-assign-green-menu li button:hover{background:var(--ek-green-light)}.homework-assign-green-menu li.is-selected button{background:var(--ek-green);color:#fff}.homework-assign-green-menu__arrow{font-size:12px;opacity:.6}.homework-assign-green-menu li.is-selected .homework-assign-green-menu__arrow{opacity:.9}.homework-assign-main{min-width:0}.homework-assign-filter-panel{background:var(--ek-panel-bg);border:1px solid var(--ek-border);margin-bottom:10px}.homework-assign-filter-row{display:flex;align-items:stretch;min-height:50px;border-bottom:1px solid var(--ek-border-light)}.homework-assign-filter-row:last-child{border-bottom:none}.homework-assign-filter-label{flex:0 0 72px;display:flex;align-items:center;padding:0 16px;font-size:14px;color:var(--ek-text-muted);background:#fafafa;border-right:1px solid var(--ek-border-light)}.homework-assign-filter-tags{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 16px}.homework-assign-filter-tags--grow{padding:6px 16px}.homework-assign-tag{border:1px solid transparent;background:transparent;padding:4px 14px;border-radius:2px;font-size:13px;color:#333;cursor:pointer;transition:all .15s}.homework-assign-tag:hover:not(:disabled){color:var(--ek-green)}.homework-assign-tag.is-active{background:var(--ek-green);color:#fff;border-color:var(--ek-green)}.homework-assign-tag:disabled{opacity:.45;cursor:not-allowed}.homework-assign-search{width:100%;max-width:320px;border:1px solid #ddd;border-radius:2px;padding:6px 12px;font-size:13px}.homework-assign-search:focus{outline:none;border-color:var(--ek-green)}.homework-assign-level-panel{background:var(--ek-panel-bg);border:1px solid var(--ek-border);padding:16px 20px}.homework-assign-level-panel__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--ek-border-light)}.homework-assign-level-panel__count{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:12px;color:var(--ek-text-muted)}.homework-assign-level-panel__count em{font-style:normal;font-size:16px;color:var(--ek-yellow);font-weight:700;margin:0 2px}.homework-assign-filter-check{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--ek-text-muted);cursor:pointer}.homework-assign-level-panel__actions{display:flex;gap:12px}.homework-assign-link-btn{border:1px solid var(--ek-border);background:#f7f7f7;color:#333;padding:6px 14px;font-size:12px;cursor:pointer;border-radius:2px;transition:all .15s}.homework-assign-link-btn:hover:not(:disabled){border-color:var(--ek-green);color:var(--ek-green);background:var(--ek-green-light)}.homework-assign-link-btn:disabled{opacity:.45;cursor:not-allowed}.homework-assign-level-list{display:flex;flex-direction:column;gap:0}.homework-assign-level-card{border:1px solid var(--ek-border-light);margin-bottom:12px;background:#fff;transition:box-shadow .15s}.homework-assign-level-card:last-child{margin-bottom:0}.homework-assign-level-card:hover{box-shadow:0 2px 8px #0000000f}.homework-assign-level-card.is-selected{border-color:var(--ek-green);box-shadow:0 0 0 1px var(--ek-green)}.homework-assign-level-card__head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 15px;background:#f9f9f9;border-bottom:1px solid var(--ek-border-light);font-size:12px;color:var(--ek-text-muted)}.homework-assign-level-card__title{font-weight:600;color:#333;font-size:13px}.homework-assign-level-card__pill{padding:0 6px;font-size:11px;color:var(--ek-green);border:1px solid rgba(64,187,138,.35);border-radius:2px;background:var(--ek-green-light)}.homework-assign-level-card__meta-inline{margin-left:auto;font-size:12px}.homework-assign-level-card__foot{display:flex;justify-content:space-between;align-items:center;padding:8px 15px;background:#fafafa;border-top:1px solid var(--ek-border-light)}.homework-assign-level-card__actions{display:flex;gap:16px;margin-left:auto}.homework-assign-action-link{border:none;background:none;color:var(--ek-green);font-size:12px;cursor:pointer;padding:0;transition:opacity .15s}.homework-assign-action-link:hover{opacity:.75;text-decoration:underline}.homework-assign-action-link.is-remove{color:#e74c3c}.homework-assign-cart{position:sticky;top:calc(var(--app-header-offset, 70px) + 12px);width:auto}.homework-assign-cart__inner{width:auto;margin-left:0;background:var(--ek-panel-bg);border:1px solid var(--ek-border);border-radius:4px;padding:16px 14px;box-shadow:0 2px 12px #0000000f;text-align:center}.homework-assign-cart__stats{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 8px;margin-bottom:14px;font-size:13px;color:#333}.homework-assign-cart__stats em{font-style:normal;font-size:18px;font-weight:700;color:var(--ek-yellow)}.homework-assign-cart__dot{color:#ccc}.homework-assign-cart__publish{display:block;width:100%;padding:10px 16px;border:none;border-radius:3px;background:var(--ek-green);color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s;margin-bottom:10px}.homework-assign-cart__publish:hover{background:var(--ek-green-dark)}.homework-assign-cart__clear{background:none;border:none;color:var(--ek-text-muted);font-size:12px;cursor:pointer;padding:4px 0}.homework-assign-cart__clear:hover:not(:disabled){color:var(--ek-green)}.homework-assign-cart__clear:disabled{opacity:.4;cursor:not-allowed}.homework-assign-cart__hint{margin:14px 0 0;font-size:12px;color:#999}.homework-assign-cart__list-wrap{margin-top:14px;max-height:220px;overflow-y:auto;text-align:left}.homework-assign-cart__group{margin:0}.homework-assign-cart__group dt{font-size:12px;color:var(--ek-green);font-weight:600;padding:4px 0 6px;border-bottom:1px dashed var(--ek-border-light)}.homework-assign-cart__group dd{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0;padding:6px 0;font-size:12px;border-bottom:1px dashed var(--ek-border-light)}.homework-assign-cart__item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.homework-assign-cart__item-remove{border:none;background:none;color:#999;cursor:pointer;font-size:16px;line-height:1;padding:0 4px}.homework-assign-cart__item-remove:hover{color:#e74c3c}.homework-assign-empty{color:#999;text-align:center;padding:60px 20px;font-size:14px}.homework-publish-page .homework-publish-form{background:var(--ek-panel-bg);border:1px solid var(--ek-border);border-radius:2px;padding:0;margin-bottom:5rem;box-shadow:0 1px 4px #0000000a}.homework-publish-page .homework-form-section{padding:20px 24px;border-bottom:1px solid var(--ek-border-light)}.homework-publish-page .homework-form-section:last-child{border-bottom:none}.homework-publish-section__title{margin:0 0 14px;padding-left:10px;border-left:4px solid var(--ek-green);font-size:14px;font-weight:600;color:#333;line-height:1.4}.homework-publish-label{display:block;font-weight:600;margin-bottom:.35rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.homework-publish-title-input{width:100%;max-width:480px;font-size:15px;padding:8px 12px;border:1px solid #ddd;border-radius:2px}.homework-publish-title-input:focus{outline:none;border-color:var(--ek-green)}.homework-target-picker__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.homework-target-picker__head .homework-publish-section__title{margin-bottom:0}.homework-target-picker__summary{font-size:13px;color:var(--ek-green);font-weight:600}.homework-target-picker__filters{display:flex;gap:8px;margin-bottom:12px}.homework-target-picker__filters button{border:1px solid #ddd;background:#fff;border-radius:2px;padding:4px 14px;font-size:12px;cursor:pointer;transition:all .15s}.homework-target-picker__filters button:hover{border-color:var(--ek-green);color:var(--ek-green)}.homework-target-picker__filters button.is-active{border-color:var(--ek-green);background:var(--ek-green);color:#fff}.homework-target-picker__columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-height:240px}.homework-target-picker__classes,.homework-target-picker__students{border:1px solid var(--ek-border);border-radius:2px;padding:10px 12px;overflow-y:auto;max-height:320px;background:#fafafa}.homework-target-class{display:flex;align-items:center;gap:.5rem;padding:6px 8px;cursor:pointer;border-radius:2px;transition:background .15s}.homework-target-class:hover,.homework-target-class.is-active{background:var(--ek-green-light)}.homework-target-class__name{flex:1;text-align:left;border:none;background:none;cursor:pointer;font-size:13px}.homework-target-class__count{color:var(--ek-text-muted);font-size:12px;margin-left:.35rem}.homework-target-picker__students-head{display:flex;justify-content:space-between;margin-bottom:8px;font-size:13px}.homework-target-picker__students-head button{border:none;background:none;color:var(--ek-green);cursor:pointer;font-size:12px}.homework-target-student-list{list-style:none;margin:0;padding:0}.homework-target-student-list label{display:flex;align-items:center;gap:.5rem;padding:5px 4px;font-size:13px;cursor:pointer;border-radius:2px}.homework-target-student-list label:hover{background:#40bb8a14}.homework-target-vip{color:#f5a623;font-size:10px;font-weight:700;border:1px solid #fde68a;border-radius:2px;padding:0 4px;background:#fffbeb}.homework-publish-radio-row{display:flex;flex-wrap:wrap;gap:20px;margin-top:4px}.homework-publish-radio-row label{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;color:#333}.homework-publish-check{display:flex;align-items:center;gap:.5rem;margin:4px 0;font-size:13px}.homework-publish-page .form-row input,.homework-publish-page .form-row select,.homework-publish-page textarea{border:1px solid #ddd;border-radius:2px;padding:6px 10px;font-size:13px}.homework-publish-page .form-row input:focus,.homework-publish-page textarea:focus{outline:none;border-color:var(--ek-green)}.homework-publish-preview-list{list-style:none;margin:8px 0 0;padding:0;border:1px solid var(--ek-border-light);background:#fafafa}.homework-publish-preview-list li{display:flex;align-items:baseline;gap:6px;padding:8px 12px;font-size:13px;border-bottom:1px solid var(--ek-border-light)}.homework-publish-preview-list li:last-child{border-bottom:none}.homework-publish-preview-list__idx{color:var(--ek-text-muted);min-width:20px}.homework-publish-preview-list__meta{color:var(--ek-text-muted);font-size:12px}.homework-publish-page .homework-edit-footer{border-radius:2px;border-color:var(--ek-border)}.homework-publish-page .save-button{background:var(--ek-green);border-color:var(--ek-green)}.homework-publish-page .save-button:hover{background:var(--ek-green-dark)}.homework-publish-footer{position:sticky;bottom:0;z-index:5}@media (max-width: 1100px){.homework-assign-layout{grid-template-columns:180px minmax(0,1fr)}.homework-assign-layout--horizontal{grid-template-columns:minmax(0,1fr)}.homework-assign-cart{grid-column:1 / -1;position:static}}@media (max-width: 960px){.homework-assign-layout{grid-template-columns:1fr}.homework-assign-sidebar{position:static}.homework-assign-green-menu,.homework-assign-green-menu--sub{display:flex;flex-wrap:wrap}.homework-assign-green-menu li{flex:1 1 auto}.homework-assign-green-menu li button{padding:10px 12px;font-size:13px}.homework-target-picker__columns{grid-template-columns:1fr}}@media (max-width: 900px){.admin-page{padding:.65rem .65rem 1.1rem;padding-top:calc(.45rem + var(--app-header-offset, 70px));max-width:100%;font-size:.82rem}.training-shell .home-shell-panel .admin-page,.training-shell .home-shell-panel .learning-progress-page.admin-page{padding-top:.35rem}.admin-page h1{font-size:1.1rem;margin-bottom:.75rem}.homework-manage-page,.class-manage-page{padding:.65rem .65rem 1.1rem;max-width:100%}.homework-manage-toolbar,.class-manage-toolbar{gap:.35rem .4rem;padding:.45rem .55rem}.homework-manage-toolbar--geo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:.35rem .4rem;flex-wrap:unset}.homework-manage-toolbar__label,.homework-manage-toolbar__meta{font-size:.7rem}.homework-manage-toolbar__meta{margin-left:0}.homework-manage-geo-field{min-width:0;flex:none;width:auto;gap:.15rem}.homework-manage-geo-field--school{min-width:0;flex:none}.homework-manage-geo-field--keyword{grid-column:1 / -1;max-width:none;flex:none}.homework-manage-toolbar--geo>.homework-manage-btn{width:100%;min-width:0}.homework-manage-select{min-width:0;width:100%;min-height:1.75rem;padding:.25rem .4rem;font-size:.78rem;border-radius:4px}.homework-manage-btn{min-height:1.75rem;padding:.25rem .55rem;font-size:.78rem;border-radius:4px}.homework-manage-btn--query{min-width:0}.homework-manage-table{font-size:.76rem}.homework-manage-table th,.homework-manage-table td{padding:.35rem .4rem}.homework-manage-table--schools .homework-manage-table__col-actions{min-width:0}.homework-manage-table--schools .homework-manage-action-box__btn{min-width:0;padding:.3rem .35rem;font-size:.72rem}.tab-button{padding:.35rem .65rem;font-size:.76rem}.admin-error-hint,.homework-manage-alert{padding:.4rem .55rem;font-size:.76rem}}@media (max-width: 640px){.admin-page{padding:12px 12px 20px;padding-top:calc(12px + var(--app-header-offset, 70px));max-width:100%}.training-shell .home-shell-panel .admin-page,.training-shell .home-shell-panel .learning-progress-page.admin-page{padding-top:4px}.admin-page h1{font-size:1.25rem;margin-bottom:16px}.homework-manage-page,.class-manage-page{padding:12px 12px 24px;max-width:100%}.admin-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:8px;margin-bottom:14px;padding-bottom:4px}.tab-button{flex:0 0 auto;padding:8px 14px;font-size:.85rem;white-space:nowrap}.class-manage-toolbar,.school-admin-cascade,.homework-manage-toolbar__row{flex-direction:column;align-items:stretch;gap:.4rem}.homework-manage-toolbar:not(.homework-manage-toolbar--geo){flex-direction:column;align-items:stretch;gap:.4rem}.homework-manage-toolbar--geo{gap:.3rem .35rem;padding:.4rem .5rem}.homework-manage-toolbar__buttons,.class-manage-toolbar__buttons{flex-wrap:wrap;width:100%;gap:.35rem}.homework-manage-geo-field,.homework-manage-select,.school-admin-cascade label,.school-admin-cascade select,.class-manage-search,.class-manage-select{min-width:0!important;width:100%;max-width:100%}.homework-manage-action-box,.homework-manage-action-box--triple,.homework-manage-action-box--quad,.homework-manage-table--schools .homework-manage-action-box{min-width:0;max-width:100%;flex-wrap:wrap}.homework-manage-table--classes .homework-manage-table__col-actions,.homework-manage-table--schools .homework-manage-table__col-actions{min-width:0}.homework-manage-action-box__btn,.homework-manage-table--schools .homework-manage-action-box__btn{min-width:0;flex:1 1 auto;padding:.3rem .35rem;font-size:.72rem}.homework-bank-picker-filters,.overview-pie-wrap,.prerace-roster-upload,.prerace-roster-stats{grid-template-columns:1fr!important}.overview-pie-svg{width:min(220px,100%);height:auto;margin:0 auto}.homework-manage-table th,.homework-manage-table td,.class-manage-table th,.class-manage-table td,.school-admin-table th,.school-admin-table td,.prerace-table th,.prerace-table td{padding:8px 10px;font-size:.8rem}.prerace-roster-detail-table .prerace-table{min-width:640px}.class-manage-panel,.homework-manage-panel{padding-left:0;padding-right:0}.admin-section{padding-left:.5rem;padding-right:.5rem}.homework-manage-modal,.class-manage-modal,.admin-modal,.modal-content{width:min(96vw,520px)!important;max-width:96vw;margin:12px auto}}.class-manage-page{--cm-ink: #1f2a28;--cm-muted: #6b7c78;--cm-line: #e2ebe8;--cm-soft: #f5f9f8;--cm-panel: #ffffff;--cm-accent: var(--theme-primary, #01a18e);--cm-accent-soft: color-mix(in srgb, var(--cm-accent) 10%, #fff);--cm-danger: #c2410c;max-width:1100px;margin:0 auto;padding-bottom:40px;color:var(--cm-ink)}.class-manage-page.admin-page{padding-top:calc(16px + var(--app-header-offset, 70px))}.class-manage-shell{background:var(--cm-panel);border:1px solid var(--cm-line);border-radius:4px;box-shadow:none;overflow:visible}.class-manage-shell--loading{padding:48px 24px}.class-manage-topbar{display:flex;flex-direction:column;gap:8px;padding:14px 20px 0;background:var(--cm-soft);border-bottom:none}.class-manage-back{align-self:flex-start;border:none;background:none;padding:0;color:var(--cm-muted);font-size:.82rem;cursor:pointer}.class-manage-back:hover{color:var(--cm-accent)}.class-manage-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:12px;font-size:.86rem;color:var(--cm-muted)}.class-manage-breadcrumb__link{border:none;background:none;padding:0;color:var(--cm-accent);cursor:pointer;font:inherit;font-weight:600}.class-manage-breadcrumb__link:hover{text-decoration:underline}.class-manage-breadcrumb__sep{color:#b7cbc6;-webkit-user-select:none;user-select:none}.class-manage-breadcrumb__text--current{color:var(--cm-ink);font-weight:700}.class-manage-alert{margin:12px 20px 0;padding:10px 14px;border-radius:2px;border:1px solid #fecaca;background:#fef2f2;color:#b91c1c;font-size:.86rem}.class-manage-tabs-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:0;padding:0 20px;border-bottom:1px solid var(--cm-line);background:#fff}.class-manage-tabs{display:flex;flex-wrap:wrap;gap:0}.class-manage-tab{position:relative;border:none;background:none;padding:12px 16px;color:var(--cm-muted);font-size:.9rem;font-weight:600;cursor:pointer}.class-manage-tab:hover{color:var(--cm-ink)}.class-manage-tab.is-active{color:var(--cm-accent)}.class-manage-tab.is-active:after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:2px;background:var(--cm-accent)}.class-manage-tabs__links{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0}.class-manage-tab-link{border:1px solid var(--cm-line);background:#fff;color:var(--cm-ink);border-radius:2px;padding:5px 10px;font-size:.78rem;font-weight:600;cursor:pointer}.class-manage-tab-link:hover{border-color:var(--cm-accent);color:var(--cm-accent)}.class-manage-panel{padding:20px}.class-manage-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--cm-line)}.class-manage-title{margin:0;font-size:1.2rem;font-weight:700;color:var(--cm-ink);letter-spacing:.01em}.class-manage-summary{display:flex;flex-wrap:wrap;gap:12px 20px;font-size:.86rem;color:var(--cm-muted)}.class-manage-summary__item strong{font-weight:700;color:var(--cm-ink)}.class-manage-toolbar{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.class-manage-toolbar__row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.class-manage-toolbar__buttons{display:flex;flex-wrap:wrap;gap:8px}.class-manage-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #cfdcd8;background:#fff;color:var(--cm-ink);border-radius:2px;padding:7px 14px;font:inherit;font-size:.84rem;font-weight:600;cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease}.class-manage-btn:hover:not(:disabled){border-color:var(--cm-accent);color:var(--cm-accent)}.class-manage-btn:disabled{opacity:.5;cursor:not-allowed}.class-manage-btn--primary{border-color:var(--cm-accent);background:var(--cm-accent);color:#fff}.class-manage-btn--primary:hover:not(:disabled){background:#018f7e;border-color:#018f7e;color:#fff}.class-manage-btn--ghost{border-color:transparent;background:var(--cm-soft)}.class-manage-section{margin-bottom:22px;border:1px solid var(--cm-line);border-radius:2px;background:#fff;overflow:hidden}.class-manage-section:last-child{margin-bottom:0}.class-manage-section__head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0;padding:12px 14px;background:var(--cm-soft);border-bottom:1px solid var(--cm-line)}.class-manage-section__title{margin:0;font-size:.92rem;font-weight:700;color:var(--cm-ink)}.class-manage-section__meta{font-size:.8rem;color:var(--cm-muted)}.class-manage-section__meta strong{font-weight:700;color:var(--cm-ink)}.class-manage-section__actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.class-manage-section__tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto}.class-manage-search{position:relative;min-width:min(220px,100%)}.class-manage-search__icon{position:absolute;left:10px;top:50%;width:14px;height:14px;transform:translateY(-50%);color:#8aa09a;pointer-events:none}.class-manage-search__icon svg{display:block;width:14px;height:14px}.class-manage-search__input{width:100%;box-sizing:border-box;height:34px;padding:0 10px 0 30px;border:1px solid #cfdcd8;border-radius:2px;background:#fff;font:inherit;font-size:.84rem;color:var(--cm-ink)}.class-manage-search__input:focus{outline:none;border-color:var(--cm-accent);box-shadow:0 0 0 2px var(--cm-accent-soft)}.class-manage-empty,.class-manage-empty--section{margin:0;padding:28px 16px;border:none;border-radius:0;background:#fff;text-align:center;color:var(--cm-muted);font-size:.88rem}.class-manage-table-wrap{overflow-x:auto}.class-manage-table{width:100%;border-collapse:collapse;font-size:.86rem}.class-manage-table th,.class-manage-table td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--cm-line);vertical-align:middle}.class-manage-table th{font-size:.75rem;font-weight:700;color:var(--cm-muted);letter-spacing:.02em;background:#fff;white-space:nowrap}.class-manage-table tbody tr:hover{background:var(--cm-soft)}.class-manage-table tbody tr.is-selected{background:var(--cm-accent-soft)}.class-manage-table__check{width:36px}.class-manage-table__id{font-variant-numeric:tabular-nums;color:var(--cm-muted);white-space:nowrap}.class-manage-table__name{font-weight:700;color:var(--cm-ink)}.class-manage-table__login{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;color:#3d4f4b}.class-manage-table__muted{color:var(--cm-muted)}.class-manage-table__vip{white-space:nowrap}.class-manage-table__products{min-width:140px}.class-manage-table__actions{white-space:nowrap;text-align:right}.class-manage-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;padding:0;margin:0 0 0 12px;color:var(--cm-accent);font:inherit;font-size:.82rem;font-weight:600;cursor:pointer}.class-manage-link:first-child{margin-left:0}.class-manage-link:hover:not(:disabled){text-decoration:underline}.class-manage-link:disabled{opacity:.45;cursor:not-allowed}.class-manage-link--danger{color:var(--cm-danger)}.class-manage-role-tag{display:inline-block;margin-right:8px;padding:1px 6px;border-radius:2px;font-size:.7rem;font-weight:700;line-height:1.4;color:var(--cm-accent);background:var(--cm-accent-soft);border:1px solid color-mix(in srgb,var(--cm-accent) 25%,transparent);vertical-align:middle}.class-manage-bulk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0;padding:12px 14px;border-top:1px solid var(--cm-line);background:var(--cm-soft);font-size:.84rem;color:var(--cm-muted)}.class-manage-bulk-bar strong{color:var(--cm-ink)}.class-manage-page .admin-form-modal.cm-modal,.class-manage-page .cm-modal{max-width:460px;border-radius:4px;border:1px solid var(--cm-line);box-shadow:0 16px 40px #1f2a281f;overflow:hidden}.class-manage-page .cm-modal .admin-modal-header{padding:14px 18px;background:var(--cm-soft);border-bottom:1px solid var(--cm-line)}.class-manage-page .cm-modal .admin-modal-header h3{margin:0;font-size:.98rem;font-weight:700;color:var(--cm-ink)}.class-manage-page .cm-modal .admin-modal-body{padding:16px 18px 18px}.class-manage-page .cm-modal .admin-form-group{margin-bottom:12px}.class-manage-page .cm-modal .admin-form-group label{display:block;margin-bottom:6px;font-size:.8rem;font-weight:600;color:#3d4f4b}.class-manage-page .cm-modal .admin-form-group input,.class-manage-page .cm-modal .admin-form-group select,.class-manage-page .cm-modal .admin-form-group textarea{width:100%;box-sizing:border-box;padding:8px 11px;border:1px solid #cfdcd8;border-radius:2px;font:inherit;font-size:.9rem}.class-manage-page .cm-modal .admin-form-group input:focus,.class-manage-page .cm-modal .admin-form-group select:focus,.class-manage-page .cm-modal .admin-form-group textarea:focus{outline:none;border-color:var(--cm-accent);box-shadow:0 0 0 2px var(--cm-accent-soft)}.class-manage-page .cm-modal .input-readonly,.class-manage-page .cm-modal .admin-form-group input:disabled{background:var(--cm-soft);color:var(--cm-muted)}.class-manage-page .cm-modal-section{margin:4px 0 14px;padding:12px;border:1px solid var(--cm-line);border-radius:2px;background:var(--cm-soft)}.class-manage-page .cm-modal-section__title{margin:0 0 10px;font-size:.78rem;font-weight:700;color:var(--cm-muted);letter-spacing:.03em}.class-manage-page .cm-modal .modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px;padding-top:14px;border-top:1px solid var(--cm-line)}.class-manage-page .cm-modal .modal-actions button{border:1px solid #cfdcd8;background:#fff;border-radius:2px;padding:8px 14px;font:inherit;font-size:.84rem;font-weight:600;cursor:pointer}.class-manage-page .cm-modal .modal-actions .primary-button{border-color:var(--cm-accent);background:var(--cm-accent);color:#fff}.class-manage-page .cm-modal .admin-hint-text{margin:0 0 12px;font-size:.82rem;color:var(--cm-muted);line-height:1.5}.class-manage-names-input{border-radius:2px!important}@media (max-width: 720px){.class-manage-panel{padding:14px}.class-manage-section__tools{width:100%;margin-left:0}.class-manage-search{flex:1;min-width:0}}@media (max-width: 640px){.class-manage-page{padding:12px 10px 24px;max-width:100%}.class-manage-head{flex-direction:column;align-items:flex-start;gap:8px}.class-manage-title{font-size:1.2rem}.class-manage-toolbar__row,.class-manage-toolbar__buttons{flex-direction:column;align-items:stretch;width:100%}.class-manage-btn{width:100%;justify-content:center}.class-manage-table-wrap{margin:0 -4px}.class-manage-table th,.class-manage-table td{padding:8px;font-size:.78rem}.cm-modal .modal-content,.class-manage-page .cm-modal .modal-content{width:min(96vw,480px);max-width:96vw}}.student-detail-page{max-width:1080px}.student-detail-hero{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px 20px;margin-bottom:20px}.student-detail-hero__top{width:100%}.student-detail-back-btn{margin-bottom:4px}.student-detail-hero__main{display:flex;align-items:center;gap:18px;flex:1;min-width:0}.student-detail-avatar{flex-shrink:0;width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--imooc-green, #01a18e) 0%,#0d9488 100%);box-shadow:0 8px 20px #01a18e40}.student-detail-hero h1{margin:0;font-size:1.5rem;font-weight:700;color:var(--imooc-text, #1e293b);line-height:1.3}.student-detail-hero__sub{margin:6px 0 0;font-size:.9rem;color:var(--imooc-muted, #64748b);line-height:1.5}.student-detail-info-card{background:var(--imooc-card, #fff);border:1px solid var(--imooc-border, #e2e8f0);border-radius:10px;padding:18px 20px;margin-bottom:16px;box-shadow:0 1px 4px #0f172a0a}.student-detail-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px 24px;margin:0}.student-detail-info-grid dt{margin:0 0 4px;font-size:.78rem;font-weight:600;letter-spacing:.02em;color:var(--imooc-muted, #64748b);text-transform:uppercase}.student-detail-info-grid dd{margin:0;font-size:.98rem;font-weight:500;color:var(--imooc-text, #1e293b);word-break:break-word}.student-detail-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px}.student-detail-stat{background:var(--imooc-card, #fff);border:1px solid var(--imooc-border, #e2e8f0);border-radius:10px;padding:16px 18px;box-shadow:0 1px 4px #0f172a0a}.student-detail-stat__label{display:block;font-size:.8rem;color:var(--imooc-muted, #64748b);margin-bottom:6px}.student-detail-stat__value{font-size:1.35rem;font-weight:700;color:var(--imooc-text, #1e293b);line-height:1.2}.student-detail-stat__value--stars{color:#d97706}.student-detail-stat__suffix{font-size:.85rem;font-weight:500;color:var(--imooc-muted, #64748b);margin-left:2px}.student-detail-hero__due{display:inline-block;margin-left:10px;padding:2px 8px;border-radius:4px;font-size:.82rem;color:#64748b;background:#64748b1a}.student-detail-level-id{margin-left:8px}.student-detail-section__body--flush{padding:0}.student-detail-section__body--flush .homework-manage-table th:first-child,.student-detail-section__body--flush .homework-manage-table td:first-child{padding-left:20px}.student-detail-section__body--flush .homework-manage-table th:last-child,.student-detail-section__body--flush .homework-manage-table td:last-child{padding-right:20px}.student-detail-section--table .class-manage-table-wrap{border:none;border-radius:0}.student-detail-table__index{width:52px;text-align:center!important}.student-detail-table__duration{font-variant-numeric:tabular-nums;white-space:nowrap}.class-manage-table tbody tr.is-striped td{background:#fafbfc}.class-manage-table tbody tr.is-striped:hover td{background:#f3f7f5}.student-detail-section{background:var(--imooc-card, #fff);border:1px solid var(--imooc-border, #e2e8f0);border-radius:10px;overflow:hidden;margin-bottom:16px;box-shadow:0 1px 4px #0f172a0a}.student-detail-section__head{padding:16px 20px;border-bottom:1px solid var(--imooc-border, #e2e8f0);background:#f8fafc}.student-detail-section__head h2{margin:0;font-size:1.05rem;font-weight:600;color:var(--imooc-text, #1e293b)}.student-detail-section__head p{margin:6px 0 0;font-size:.85rem;color:var(--imooc-muted, #64748b);line-height:1.5}.student-detail-section__body{padding:16px 20px 20px}.student-detail-modules{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.student-detail-module{border:1px solid var(--imooc-border, #e2e8f0);border-radius:8px;padding:14px 16px;background:#fafbfc;transition:border-color .15s ease,box-shadow .15s ease}.student-detail-module:hover{border-color:#01a18e59;box-shadow:0 4px 12px #0f172a0f}.student-detail-module__title{margin:0 0 10px;font-size:.95rem;font-weight:600;color:var(--imooc-text, #1e293b)}.student-detail-module__meta{display:flex;flex-wrap:wrap;gap:8px 14px;margin-bottom:10px;font-size:.84rem;color:var(--imooc-muted, #64748b)}.student-detail-module__meta strong{color:var(--imooc-text, #1e293b);font-weight:600}.student-detail-progress{height:6px;border-radius:999px;background:#e2e8f0;overflow:hidden}.student-detail-progress__bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--imooc-green, #01a18e),#14b8a6);transition:width .3s ease}.student-detail-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:240px;color:var(--imooc-muted, #64748b)}.student-detail-loading__spinner{width:36px;height:36px;border:3px solid #e2e8f0;border-top-color:var(--imooc-green, #01a18e);border-radius:50%;animation:student-detail-spin .75s linear infinite}@keyframes student-detail-spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.student-detail-hero__main{flex-direction:column;align-items:flex-start}.student-detail-info-grid{grid-template-columns:1fr}}.module-manage-page{--mm-ink: #1f2a28;--mm-muted: #6b7c78;--mm-line: #e2ebe8;--mm-soft: #f5f9f8;--mm-panel: #ffffff;--mm-accent: var(--theme-primary, #01a18e);--mm-accent-soft: color-mix(in srgb, var(--mm-accent) 10%, #fff);--mm-danger: #c2410c;max-width:1100px;margin:0 auto;padding-bottom:40px;color:var(--mm-ink)}.module-manage-page.admin-page{padding:16px 16px 40px;padding-top:calc(16px + var(--app-header-offset, 70px));max-width:1100px;background:transparent}.module-manage-page.admin-page h1{margin-bottom:0}.module-manage-hero{margin-bottom:16px;padding:0 0 14px;border-bottom:1px solid var(--mm-line)}.module-manage-hero__top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 16px}.module-manage-hero__left{display:flex;flex-direction:column;gap:8px;min-width:0}.module-manage-back{align-self:flex-start;border:none;background:none;padding:0;color:var(--mm-muted);font-size:.82rem;cursor:pointer}.module-manage-back:hover{color:var(--mm-accent)}.module-manage-hero h1{margin:0;font-size:1.45rem;font-weight:700;letter-spacing:.01em;color:var(--mm-ink)}.module-manage-hero__desc{margin:8px 0 0;max-width:46em;font-size:.9rem;line-height:1.6;color:var(--mm-muted)}.module-manage-hero__desc--sub{margin-top:4px;font-size:.82rem}.module-manage-hero__actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center}.module-manage-btn{min-height:36px;padding:0 14px;border-radius:2px;border:1px solid #cfdcd8;background:#fff;color:var(--mm-muted);font:inherit;font-size:.86rem;font-weight:600;cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease}.module-manage-btn:hover{border-color:var(--mm-accent);color:var(--mm-accent);background:var(--mm-accent-soft)}.module-manage-btn--primary{border-color:var(--mm-accent);background:var(--mm-accent);color:#fff}.module-manage-btn--primary:hover{background:#018f7e;border-color:#018f7e;color:#fff}.module-manage-btn--ghost{background:transparent}.module-manage-btn--danger{border-color:#f0c4b0;color:var(--mm-danger)}.module-manage-btn--danger:hover{border-color:var(--mm-danger);background:#fff7ed;color:var(--mm-danger)}.module-manage-btn--sm{min-height:32px;padding:0 10px;font-size:.78rem}.module-manage-panel{border:1px solid var(--mm-line);border-radius:2px;background:var(--mm-panel);overflow:hidden}.module-manage-loading{margin:0;padding:48px 24px;text-align:center;color:var(--mm-muted);font-size:.9rem}.module-manage-tier-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:0 16px;border-bottom:1px solid var(--mm-line);background:#fff}.module-manage-tier-bar__label{margin:0;padding:12px 0;font-size:.78rem;font-weight:700;color:var(--mm-muted);letter-spacing:.02em}.module-manage-tier-nav{display:flex;flex-wrap:wrap;gap:0}.module-manage-tier-tab{position:relative;border:none;background:none;padding:14px 14px 12px;font:inherit;font-size:.88rem;font-weight:600;color:var(--mm-muted);cursor:pointer;transition:color .12s ease}.module-manage-tier-tab:hover,.module-manage-tier-tab.is-active{color:var(--mm-accent)}.module-manage-tier-tab.is-active:after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:2px;background:var(--mm-accent);border-radius:1px 1px 0 0}.module-manage-tier-tab.is-empty:not(.is-active){opacity:.55}.module-manage-tier-tab__count{display:inline-block;margin-left:6px;padding:0 6px;border-radius:2px;font-size:.72rem;font-weight:700;line-height:1.5;color:var(--mm-accent);background:var(--mm-accent-soft);border:1px solid color-mix(in srgb,var(--mm-accent) 22%,transparent);vertical-align:middle}.module-manage-tier-tab.is-active .module-manage-tier-tab__count{background:var(--mm-accent);color:#fff;border-color:var(--mm-accent)}.module-manage-body{padding:16px}.module-manage-empty{margin:0;padding:40px 20px;text-align:center;color:var(--mm-muted);font-size:.88rem;line-height:1.6}.module-manage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.module-manage-page .module-manage-card{display:flex;flex-direction:column;gap:8px;padding:14px 14px 12px;border:1px solid var(--mm-line);border-radius:2px;background:#fff;box-shadow:none;color:var(--mm-ink);transition:border-color .12s ease,background .12s ease}.module-manage-page .module-manage-card:hover{border-color:color-mix(in srgb,var(--mm-accent) 35%,var(--mm-line));background:var(--mm-soft);box-shadow:none;transform:none}.module-manage-page .module-manage-card__title,.module-manage-page .module-manage-card h2{margin:0;font-size:1rem;font-weight:700;color:var(--mm-ink);line-height:1.35}.module-manage-card__meta{margin:0;font-size:.82rem;color:var(--mm-muted);line-height:1.5}.module-manage-card__meta strong{color:var(--mm-ink);font-weight:700}.module-manage-card__meta code{font-size:.8rem;padding:1px 5px;border-radius:2px;background:var(--mm-soft);border:1px solid var(--mm-line);color:var(--mm-ink)}.module-manage-card__tag{color:#b45309;font-weight:600}.module-manage-card__actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:10px;border-top:1px solid var(--mm-line)}.module-manage-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10050;display:flex;align-items:center;justify-content:center;background:#0f1e1c59;padding:1rem}.module-manage-modal{--mm-ink: #1f2a28;--mm-muted: #6b7c78;--mm-line: #e2ebe8;--mm-soft: #f5f9f8;--mm-accent: var(--theme-primary, #01a18e);--mm-accent-soft: color-mix(in srgb, var(--mm-accent) 10%, #fff);width:min(480px,100%);max-height:min(90vh,720px);display:flex;flex-direction:column;border-radius:2px;background:#fff;border:1px solid var(--mm-line);box-shadow:0 12px 40px #0f28241f;color:var(--mm-ink);overflow:hidden}.module-manage-modal__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:var(--mm-soft);border-bottom:1px solid var(--mm-line)}.module-manage-modal__header h2{margin:0;font-size:1rem;font-weight:700;color:var(--mm-ink)}.module-manage-modal__close{border:none;background:none;padding:0 4px;font-size:1.4rem;line-height:1;color:var(--mm-muted);cursor:pointer}.module-manage-modal__close:hover{color:var(--mm-accent)}.module-manage-modal__form{display:flex;flex-direction:column;min-height:0;flex:1}.module-manage-modal__body{padding:16px 18px;overflow-y:auto}.module-manage-modal__error{margin:0 0 12px;padding:8px 10px;border-radius:2px;border:1px solid #fecaca;background:#fef2f2;color:#b91c1c;font-size:.84rem}.module-manage-field{margin-bottom:12px}.module-manage-field label{display:block;margin-bottom:6px;font-size:.8rem;font-weight:600;color:#3d4f4b}.module-manage-field .required{color:var(--mm-danger, #c2410c)}.module-manage-field input,.module-manage-field select{width:100%;box-sizing:border-box;min-height:36px;padding:8px 11px;border:1px solid #cfdcd8;border-radius:2px;background:#fff;font:inherit;font-size:.9rem;color:var(--mm-ink)}.module-manage-field input:focus,.module-manage-field select:focus{outline:none;border-color:var(--mm-accent);box-shadow:0 0 0 2px var(--mm-accent-soft)}.module-manage-field__hint{margin:6px 0 0;font-size:.78rem;line-height:1.45;color:var(--mm-muted)}.module-manage-modal__footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px 16px;border-top:1px solid var(--mm-line);background:#fff}@media (max-width: 720px){.module-manage-page{padding-left:10px;padding-right:10px;max-width:100%}.module-manage-hero h1{font-size:1.25rem}.module-manage-hero__actions{width:100%;justify-content:stretch}.module-manage-hero__actions .module-manage-btn{flex:1 1 auto;justify-content:center}.module-manage-tier-bar{flex-direction:column;align-items:stretch;padding:8px 12px 0}.module-manage-tier-bar__label{padding:4px 0 0}.module-manage-tier-nav{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.module-manage-tier-tab{white-space:nowrap;padding:12px 12px 10px}.module-manage-body{padding:12px}.module-manage-grid{grid-template-columns:1fr}.module-manage-card__actions .module-manage-btn{flex:1 1 auto}}.course-lesson-editor{--cle-ink: #1f2a28;--cle-muted: #6b7c78;--cle-line: #e2ebe8;--cle-soft: #f5f9f8;--cle-accent: var(--theme-primary, #01a18e);--cle-accent-soft: color-mix(in srgb, var(--cle-accent) 12%, #fff);margin-top:0;border:1px solid var(--cle-line);border-radius:2px;background:#fff;padding:0;overflow:hidden;color:var(--cle-ink);box-shadow:none}.course-lesson-editor .course-admin__section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:14px 18px;background:var(--cle-soft);border-bottom:1px solid var(--cle-line)}.course-lesson-editor .course-admin__section-head h2{margin:0;font-size:1rem;font-weight:700;color:var(--cle-ink)}.course-lesson-editor .course-admin__video-hint{margin:0;padding:10px 18px;font-size:.8rem;line-height:1.5;color:var(--cle-muted);border-bottom:1px solid var(--cle-line);background:#fff}.course-lesson-editor__ok,.course-lesson-editor__error{margin:0;padding:10px 18px;font-size:.84rem;border-bottom:1px solid var(--cle-line)}.course-lesson-editor__ok{color:#047857;background:#ecfdf5;font-weight:600}.course-lesson-editor__error{color:#b91c1c;background:#fef2f2}.course-lesson-editor__layout{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:stretch;min-height:360px}.course-lesson-editor__lessons{border-right:1px solid var(--cle-line);background:var(--cle-soft);padding:10px 8px}.course-lesson-editor__lessons>.course-admin__empty{margin:16px 8px;font-size:.82rem;color:var(--cle-muted)}.course-lesson-editor__lessons ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.course-lesson-editor__lessons li{display:block;position:relative}.course-lesson-editor__lesson-btn{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px;border:none;border-radius:2px;background:transparent;cursor:pointer;font:inherit;font-size:.88rem;color:var(--cle-ink);transition:background .12s ease}.course-lesson-editor__lesson-btn:hover{background:#fff}.course-lesson-editor__lesson-btn.is-active{background:#fff;box-shadow:inset 3px 0 0 var(--cle-accent);font-weight:700;color:var(--cle-accent)}.course-lesson-editor__lesson-cover{width:44px;height:28px;border-radius:2px;background:#e8f2f0 center/cover no-repeat;flex-shrink:0;border:1px solid var(--cle-line)}.course-lesson-editor__lesson-cover--empty{background:linear-gradient(135deg,#dceeea,#f3f8f7)}.course-lesson-editor__lesson-btn-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.course-lesson-editor__count{font-size:.72rem;font-weight:600;color:var(--cle-muted)}.course-lesson-editor__lesson-btn.is-active .course-lesson-editor__count{color:var(--cle-accent)}.course-lesson-editor__lesson-actions{display:flex;gap:4px;padding:0 8px 6px 54px}.course-lesson-editor__lesson-actions button{border:none;background:none;padding:0;font-size:.75rem;font-weight:600;color:var(--cle-muted);cursor:pointer}.course-lesson-editor__lesson-actions button:hover{color:var(--cle-accent)}.course-lesson-editor__lesson-actions button:last-child:hover{color:#c2410c}.course-lesson-editor__steps{padding:16px 18px 18px;background:#fff}.course-lesson-editor__lesson-card{display:grid;grid-template-columns:160px minmax(0,1fr);gap:14px;padding:0 0 16px;margin:0 0 16px;border:none;border-bottom:1px solid var(--cle-line);background:transparent;border-radius:0}.course-lesson-editor__lesson-card-cover{width:100%;aspect-ratio:16 / 9;border-radius:2px;background:#e8f2f0 center/cover no-repeat;border:1px solid var(--cle-line)}.course-lesson-editor__lesson-card-cover.is-empty{background:linear-gradient(160deg,#eaf5f3,#f7fbfa)}.course-lesson-editor__lesson-card-body{display:flex;flex-direction:column;justify-content:center;gap:6px;min-width:0}.course-lesson-editor__lesson-card-body h3{margin:0;font-size:1.05rem;font-weight:700;color:var(--cle-ink)}.course-lesson-editor__saved{font-size:.78rem;font-weight:600;color:var(--cle-muted)}.course-lesson-editor__lesson-card-desc{margin:0;font-size:.82rem;color:var(--cle-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-lesson-editor__lesson-card-body .course-admin__btn{align-self:flex-start;margin-top:4px;min-height:32px;padding:0 12px;font-size:.8rem}.course-lesson-editor__add-hint{display:none}.course-lesson-editor__steps-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 10px}.course-lesson-editor__steps-head h4{margin:0;font-size:.82rem;font-weight:700;color:var(--cle-muted);letter-spacing:.02em}.course-lesson-editor__step-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:0;border:1px solid var(--cle-line);border-radius:2px;overflow:hidden}.course-lesson-editor__step-list>.course-admin__empty{padding:20px 14px;margin:0;text-align:center;color:var(--cle-muted);font-size:.84rem;list-style:none}.course-lesson-editor__step{display:grid;grid-template-columns:28px 72px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;margin:0;border:none;border-bottom:1px solid var(--cle-line);border-radius:0;background:#fff}.course-lesson-editor__step:last-child{border-bottom:none}.course-lesson-editor__step:hover{background:var(--cle-soft)}.course-lesson-editor__step-idx{font-size:.75rem;font-weight:700;color:var(--cle-muted);text-align:center}.course-lesson-editor__thumb{width:72px;height:40px;border-radius:2px;background:#e8f2f0 center/cover no-repeat;border:1px solid var(--cle-line)}.course-lesson-editor__thumb--empty{background:linear-gradient(135deg,#dceeea,#f3f8f7)}.course-lesson-editor__badge{display:inline-block;margin-right:6px;padding:1px 6px;border-radius:2px;font-size:.68rem;font-weight:700;line-height:1.4;vertical-align:middle;background:var(--cle-accent-soft);color:var(--cle-accent);border:1px solid color-mix(in srgb,var(--cle-accent) 22%,transparent)}.course-lesson-editor__badge--level{background:#fff7ed;color:#c2410c;border-color:#f0c4b0}.course-lesson-editor__step-title{min-width:0;font-size:.88rem;font-weight:600;color:var(--cle-ink);line-height:1.35}.course-lesson-editor__step-desc{display:block;margin-top:2px;font-size:.74rem;font-weight:400;color:var(--cle-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-lesson-editor__step-actions{display:flex;gap:4px;flex-shrink:0}.course-lesson-editor__step-actions button{min-height:28px;padding:0 8px;border-radius:2px;border:1px solid #cfdcd8;background:#fff;color:var(--cle-muted);font-size:.74rem;font-weight:600;cursor:pointer}.course-lesson-editor__step-actions button:hover:not(:disabled){border-color:var(--cle-accent);color:var(--cle-accent);background:var(--cle-accent-soft)}.course-lesson-editor__step-actions button:disabled{opacity:.35;cursor:not-allowed}.course-lesson-editor__step-actions button:last-child:hover:not(:disabled){border-color:#c2410c;color:#c2410c;background:#fff7ed}.course-lesson-editor__add-bar{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:0;border:none}.course-lesson-editor__add-bar .course-admin__btn{min-height:34px;font-size:.84rem}.course-lesson-editor__modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;display:flex;align-items:center;justify-content:center;background:#0f1e1c73;padding:1rem}.course-lesson-editor__modal{--cle-ink: #1f2a28;--cle-muted: #6b7c78;--cle-line: #e2ebe8;--cle-soft: #f5f9f8;--cle-accent: #01a18e;--cle-accent-soft: rgba(1, 161, 142, .12);width:min(480px,100%);max-height:min(88vh,680px);display:flex;flex-direction:column;background:#fff;border:1px solid var(--cle-line);border-radius:2px;box-shadow:0 12px 40px #0f28241f;overflow:hidden;color:var(--cle-ink)}.course-lesson-editor__modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:var(--cle-soft);border-bottom:1px solid var(--cle-line);flex-shrink:0}.course-lesson-editor__modal-head h3{margin:0;font-size:1rem;font-weight:700}.course-lesson-editor__modal-close{border:none;background:none;font-size:1.4rem;line-height:1;color:var(--cle-muted);cursor:pointer}.course-lesson-editor__modal-form{display:flex;flex-direction:column;min-height:0;flex:1 1 auto;overflow:hidden}.course-lesson-editor__modal-body{padding:16px 18px;overflow-y:auto;flex:1 1 auto;min-height:0}.course-lesson-editor__modal-foot{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:12px 18px 16px;border-top:1px solid var(--cle-line);background:#fff;flex-shrink:0}.course-lesson-editor__modal-btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 18px;border-radius:2px;border:1px solid #cfdcd8;background:#fff;color:#3d4f4b;font:inherit;font-size:.9rem;font-weight:700;cursor:pointer}.course-lesson-editor__modal-btn:hover:not(:disabled){border-color:#01a18e;color:#01a18e;background:#01a18e14}.course-lesson-editor__modal-btn--primary{border-color:#01a18e;background:#01a18e;color:#fff}.course-lesson-editor__modal-btn--primary:hover:not(:disabled){background:#018f7e;border-color:#018f7e;color:#fff}.course-lesson-editor__modal-btn:disabled{opacity:.55;cursor:not-allowed}.course-lesson-editor__field{margin-bottom:12px}.course-lesson-editor__field label{display:block;margin-bottom:6px;font-size:.8rem;font-weight:600;color:#3d4f4b}.course-lesson-editor__field input[type=text],.course-lesson-editor__field input:not([type]),.course-lesson-editor__field input[type=file],.course-lesson-editor__field select,.course-lesson-editor__field textarea{width:100%;box-sizing:border-box;min-height:36px;padding:8px 11px;border:1px solid #cfdcd8;border-radius:2px;font:inherit;font-size:.9rem;color:#1f2a28;background:#fff}.course-lesson-editor__field textarea{min-height:72px;resize:vertical}.course-lesson-editor__field input:focus,.course-lesson-editor__field select:focus,.course-lesson-editor__field textarea:focus{outline:none;border-color:#01a18e;box-shadow:0 0 0 2px #01a18e1f}.course-lesson-editor__field-hint{margin:6px 0 0;font-size:.78rem;color:#6b7c78}.course-lesson-editor__mode{display:flex;flex-wrap:wrap;gap:12px 18px;font-size:.86rem;color:#3d4f4b}.course-lesson-editor__mode label{display:inline-flex;align-items:center;gap:6px;font-weight:500;margin:0}.course-lesson-editor__cover-preview{display:flex;align-items:center;gap:10px;margin-top:8px}.course-lesson-editor__cover-preview img{width:120px;height:68px;object-fit:cover;border-radius:2px;border:1px solid #e2ebe8}.course-lesson-editor__cover-preview button{border:1px solid #cfdcd8;background:#fff;border-radius:2px;padding:4px 10px;font-size:.78rem;cursor:pointer;color:#3d4f4b}.course-lesson-editor__head-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.course-lesson-editor__gallery{padding:16px 18px 20px}.course-lesson-editor__gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.course-lesson-editor__gallery-card{border:1px solid var(--cle-line, #e2ebe8);border-radius:2px;background:#fff;overflow:hidden;display:flex;flex-direction:column}.course-lesson-editor__gallery-main{display:block;width:100%;padding:0;border:none;background:none;text-align:left;cursor:pointer;color:inherit;font:inherit}.course-lesson-editor__gallery-cover{position:relative;width:100%;aspect-ratio:16 / 9;background:#eaf5f3 center/cover no-repeat;border-bottom:1px solid var(--cle-line, #e2ebe8)}.course-lesson-editor__gallery-cover.is-empty{background:linear-gradient(155deg,#e4f2ef,#f7fbfa)}.course-lesson-editor__gallery-idx{position:absolute;left:8px;top:8px;padding:2px 7px;border-radius:2px;font-size:.72rem;font-weight:700;color:#fff;background:#1f2a288c}.course-lesson-editor__gallery-body{padding:12px 12px 10px}.course-lesson-editor__gallery-body h3{margin:0 0 6px;font-size:.95rem;font-weight:700;color:#1f2a28;line-height:1.35}.course-lesson-editor__gallery-body p{margin:0 0 8px;font-size:.78rem;color:#6b7c78;line-height:1.45;min-height:2.2em}.course-lesson-editor__gallery-meta{font-size:.74rem;font-weight:600;color:#01a18e}.course-lesson-editor__gallery-actions{display:flex;gap:4px;padding:0 10px 10px}.course-lesson-editor__gallery-actions button{border:none;background:none;padding:4px 6px;font-size:.76rem;font-weight:600;color:#6b7c78;cursor:pointer}.course-lesson-editor__gallery-actions button:hover{color:#01a18e}.course-lesson-editor__gallery-actions button:last-child:hover{color:#c2410c}.course-lesson-editor__detail{padding:16px 18px 18px}@media (max-width: 900px){.course-lesson-editor__layout{grid-template-columns:1fr}.course-lesson-editor__lessons{border-right:none;border-bottom:1px solid var(--cle-line)}.course-lesson-editor__lesson-card{grid-template-columns:1fr}.course-lesson-editor__step{grid-template-columns:24px 56px minmax(0,1fr)}.course-lesson-editor__step-actions{grid-column:2 / -1;justify-content:flex-end}}.course-admin{--ca-bg: #f0f2f5;--ca-surface: #ffffff;--ca-text: #1a1d21;--ca-muted: #6b7280;--ca-border: #e5e7eb;--ca-accent: #00a870;--ca-accent-soft: #e6f7ef;--ca-accent-hover: #008f5f;--ca-radius: clamp(.5rem, .85vw, .85rem);--ca-radius-sm: clamp(.4rem, .6vw, .55rem);--ca-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 4px 16px rgba(16, 24, 40, .06);--ca-shadow-hover: 0 8px 24px rgba(16, 24, 40, .1);--dir-accent: #00a870;--ca-pad-x: clamp(.85rem, 2.2vw, 1.75rem);--ca-pad-y: clamp(.9rem, 1.8vw, 1.5rem);--ca-gap: clamp(.65rem, 1.4vw, 1.15rem);--ca-card-min: clamp(11.5rem, 22vw, 17rem);--ca-text-xs: clamp(.68rem, .9vw, .78rem);--ca-text-sm: clamp(.78rem, 1.05vw, .9rem);--ca-text-md: clamp(.9rem, 1.25vw, 1.05rem);--ca-text-lg: clamp(1.05rem, 1.6vw, 1.35rem);--ca-text-xl: clamp(1.25rem, 2.1vw, 1.65rem);--ca-btn-pad-y: clamp(.4rem, .85vh, .55rem);--ca-btn-pad-x: clamp(.75rem, 1.5vw, 1.2rem);box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:0 0 clamp(1.25rem,3vh,2.25rem);color:var(--ca-text);font-family:inherit;font-size:var(--ca-text-sm);line-height:1.5}.course-admin *,.course-admin *:before,.course-admin *:after{box-sizing:border-box}.home-shell-panel .course-admin{margin-top:0;padding-top:0;background:transparent}.course-admin__hero{margin-bottom:var(--ca-gap);padding:var(--ca-pad-y) var(--ca-pad-x);border-radius:var(--ca-radius);background:var(--ca-surface);border:1px solid var(--ca-border);box-shadow:var(--ca-shadow)}.course-admin__hero h1{margin:0 0 .35em;font-size:var(--ca-text-xl);font-weight:700;color:var(--ca-text);letter-spacing:-.03em;line-height:1.25}.course-admin__hero p{margin:0;font-size:var(--ca-text-sm);color:var(--ca-muted);line-height:1.6;max-width:min(52em,92%)}.course-admin__alert{margin-bottom:var(--ca-gap);padding:.7em 1em;border-radius:var(--ca-radius-sm);background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:var(--ca-text-sm)}.course-admin__section{margin-bottom:var(--ca-gap);padding:var(--ca-pad-y) var(--ca-pad-x);border-radius:var(--ca-radius);background:var(--ca-surface);border:1px solid var(--ca-border);box-shadow:var(--ca-shadow);width:100%}.course-admin__section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:clamp(.5rem,1.2vw,1rem);margin-bottom:.55em}.course-admin__section-head h2{margin:0;font-size:var(--ca-text-lg);font-weight:700;color:var(--ca-text);letter-spacing:-.02em;line-height:1.3;min-width:0;flex:1 1 auto}.course-admin__section-sub{font-size:var(--ca-text-sm);font-weight:500;color:var(--ca-muted)}.course-admin__hint{margin:0 0 1em;font-size:var(--ca-text-sm);color:var(--ca-muted);line-height:1.55}.course-admin__empty,.course-admin__loading{margin:0;padding:clamp(1.5rem,4vh,2.75rem) 1rem;text-align:center;color:var(--ca-muted);font-size:var(--ca-text-sm);background:var(--ca-bg);border-radius:var(--ca-radius-sm);border:1px dashed var(--ca-border)}.course-admin__btn{display:inline-flex;align-items:center;justify-content:center;gap:.35em;min-height:clamp(2rem,4.2vh,2.5rem);padding:var(--ca-btn-pad-y) var(--ca-btn-pad-x);border-radius:var(--ca-radius-sm);font-size:var(--ca-text-sm);font-weight:600;line-height:1.2;cursor:pointer;border:1px solid transparent;white-space:nowrap;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}.course-admin__btn--primary{background:var(--ca-accent);color:#fff;border-color:var(--ca-accent)}.course-admin__btn--primary:hover:not(:disabled){background:var(--ca-accent-hover);border-color:var(--ca-accent-hover);box-shadow:0 4px 12px #00a87047}.course-admin__btn--primary:disabled{opacity:.45;cursor:not-allowed}.course-admin__btn--ghost{background:var(--ca-surface);color:var(--ca-text);border-color:var(--ca-border)}.course-admin__btn--ghost:hover{border-color:#cbd5e1;background:#f9fafb}.course-admin__btn--danger{background:var(--ca-surface);color:#dc2626;border-color:#fecaca}.course-admin__btn--danger:hover{background:#fef2f2}.course-admin__btn--sm{min-height:clamp(1.75rem,3.5vh,2.1rem);padding:.3em .75em;font-size:var(--ca-text-xs)}.course-admin__action-pill{flex:1 1 42%;min-width:0;padding:.45em .65em;border:1px solid var(--ca-border);border-radius:var(--ca-radius-sm);background:var(--ca-surface);font-size:var(--ca-text-xs);font-weight:500;color:var(--ca-text);cursor:pointer;text-align:center;transition:background .15s ease,border-color .15s ease,color .15s ease}.course-admin__action-pill:hover{background:#f9fafb;border-color:#cbd5e1;color:var(--ca-accent)}.course-admin__action-pill--danger:hover{color:#dc2626;border-color:#fecaca;background:#fef2f2}.course-admin__link-btn{padding:0;border:none;background:none;font-size:inherit;color:var(--ca-accent);cursor:pointer}.course-admin__link-btn:hover{text-decoration:underline}.course-admin__link-btn--danger{color:#dc2626}.course-admin__dir-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--ca-card-min)),1fr));gap:clamp(.65rem,1.5vw,1rem);width:100%}.course-admin__dir-grid--sub{grid-template-columns:repeat(auto-fill,minmax(min(100%,clamp(10.5rem,18vw,15rem)),1fr));gap:clamp(.55rem,1.2vw,.9rem)}.course-admin__dir-card{position:relative;margin:0;width:100%;min-width:0;border-radius:var(--ca-radius);background:var(--ca-surface);border:1px solid var(--ca-border);cursor:pointer;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.course-admin__dir-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:.28em;background:var(--dir-accent, var(--ca-accent));border-radius:var(--ca-radius) 0 0 var(--ca-radius);opacity:.85;transition:width .2s ease,opacity .2s ease}.course-admin__dir-card:hover{border-color:color-mix(in srgb,var(--dir-accent, var(--ca-accent)) 35%,var(--ca-border));box-shadow:var(--ca-shadow-hover);transform:translateY(-2px)}.course-admin__dir-card:hover:before{width:.35em;opacity:1}.course-admin__dir-card.is-selected{border-color:color-mix(in srgb,var(--dir-accent, var(--ca-accent)) 50%,var(--ca-border));background:color-mix(in srgb,var(--dir-accent, var(--ca-accent)) 4%,var(--ca-surface));box-shadow:0 0 0 1px color-mix(in srgb,var(--dir-accent, var(--ca-accent)) 18%,transparent),var(--ca-shadow-hover)}.course-admin__dir-card.is-selected:before{width:.35em;opacity:1}.course-admin__dir-card-inner{display:flex;flex-direction:column;min-height:clamp(7.5rem,18vh,9.5rem);height:100%;padding:clamp(.75rem,1.5vw,1.1rem) clamp(.75rem,1.5vw,1.1rem) clamp(.65rem,1.2vw,.95rem) clamp(.9rem,1.8vw,1.25rem)}.course-admin__dir-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.55em}.course-admin__dir-tag{display:inline-block;padding:.2em .55em;border-radius:4px;font-size:var(--ca-text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ca-accent);background:var(--ca-accent-soft)}.course-admin__dir-tag--sub{color:#2563eb;background:#eff6ff}.course-admin__dir-order{font-size:var(--ca-text-xs);font-weight:600;font-variant-numeric:tabular-nums;color:#9ca3af;letter-spacing:.06em}.course-admin__dir-title{margin:0 0 .35em;font-size:var(--ca-text-md);font-weight:600;color:var(--ca-text);line-height:1.35;letter-spacing:-.02em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.course-admin__dir-meta{margin:0 0 auto;padding-bottom:.65em;font-size:var(--ca-text-sm);color:var(--ca-muted);line-height:1.45}.course-admin__dir-actions{display:flex;flex-wrap:wrap;gap:.45em;margin-top:.65em;padding-top:.65em;border-top:1px solid #f1f5f9}.course-admin__toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:clamp(.65rem,1.5vw,1.15rem);margin-bottom:1em;padding-bottom:.9em;border-bottom:1px solid #f1f5f9;width:100%}.course-admin__toolbar h2{margin:0;font-size:var(--ca-text-lg);font-weight:700;min-width:0}.course-admin__toolbar-right{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(.45rem,1vw,.75rem);max-width:100%}.course-admin__tabs{display:flex;flex-wrap:wrap;gap:.3em;padding:.25em;border-radius:var(--ca-radius-sm);background:var(--ca-bg);max-width:100%}.course-admin__tab{padding:.4em .85em;border:none;border-radius:6px;background:transparent;color:var(--ca-muted);font-size:var(--ca-text-sm);font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease}.course-admin__tab:hover{color:var(--ca-text);background:#fffc}.course-admin__tab.is-active{background:var(--ca-surface);color:var(--ca-accent);font-weight:600;box-shadow:0 1px 3px #10182814}.course-admin__course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,clamp(13rem,24vw,18rem)),1fr));gap:clamp(.75rem,1.8vw,1.15rem);width:100%}.course-admin__course-card{display:flex;flex-direction:column;margin:0;width:100%;min-width:0;border-radius:var(--ca-radius);overflow:hidden;background:var(--ca-surface);border:1px solid var(--ca-border);cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.course-admin__course-card:hover{transform:translateY(-3px);box-shadow:var(--ca-shadow-hover);border-color:#d1d5db}.course-admin__course-card.is-selected{border-color:var(--ca-accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--ca-accent) 25%,transparent),var(--ca-shadow-hover)}.course-admin__cover{position:relative;width:100%;aspect-ratio:16 / 9;height:auto;background:linear-gradient(135deg,#4f8ef7,#6eb5ff 55%,#a8d4ff);overflow:hidden;background-size:cover;background-position:center}.course-admin__cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 40%,rgba(15,23,42,.12) 100%);pointer-events:none}.course-admin__cover-preview-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin-top:.5rem;width:100%}.course-admin__cover-preview{display:block;width:min(100%,22rem);aspect-ratio:16 / 9;height:auto;object-fit:cover;border-radius:var(--ca-radius-sm);border:1px solid #e5e7eb;background:#f3f4f6}.course-admin__badge{position:absolute;top:clamp(.45rem,1.2vw,.7rem);right:clamp(.45rem,1.2vw,.7rem);z-index:1;padding:.22em .55em;border-radius:4px;font-size:var(--ca-text-xs);font-weight:600;letter-spacing:.02em}.course-admin__badge--on{background:#fffffff2;color:var(--ca-accent);box-shadow:0 1px 4px #00000014}.course-admin__badge--off{background:#0f172a8c;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.course-admin__course-body{flex:1;display:flex;flex-direction:column;padding:clamp(.75rem,1.5vw,1.1rem);min-width:0}.course-admin__course-body h3{margin:0 0 .5em;font-size:var(--ca-text-md);font-weight:600;color:var(--ca-text);line-height:1.4;letter-spacing:-.02em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.course-admin__course-chips{display:flex;flex-wrap:wrap;gap:.35em;margin-bottom:.75em;flex:1;align-content:flex-start}.course-admin__chip{display:inline-block;padding:.18em .5em;border-radius:4px;font-size:var(--ca-text-xs);font-weight:500;color:var(--ca-accent);background:var(--ca-accent-soft)}.course-admin__chip--muted{color:var(--ca-muted);background:var(--ca-bg)}.course-admin__course-actions{display:flex;flex-wrap:wrap;gap:.45em;padding-top:.7em;border-top:1px solid #f1f5f9}.course-admin__videos{border-top:none;box-shadow:var(--ca-shadow)}.course-admin__video-hint{margin:0 0 1em;padding:.7em 1em;border-radius:var(--ca-radius-sm);background:#fffbeb;border:1px solid #fde68a;font-size:var(--ca-text-sm);color:#92400e;line-height:1.55}.course-admin__video-hint strong{color:#b45309;font-weight:600}.course-admin__player{margin-bottom:1.1em;border-radius:var(--ca-radius);overflow:hidden;background:#0f172a;box-shadow:var(--ca-shadow);width:100%;max-width:min(100%,56rem)}.course-admin__player-title{margin:0 0 .5em;font-size:var(--ca-text-md);font-weight:600}.course-admin__player video{width:100%;display:block;aspect-ratio:16 / 9;max-height:min(52vh,28rem);object-fit:contain;background:#000}.course-admin__video-list{display:flex;flex-direction:column;gap:clamp(.45rem,1vw,.7rem);width:100%}.course-admin__video-item{display:grid;grid-template-columns:minmax(5.5rem,16%) minmax(0,1fr) auto;align-items:center;gap:clamp(.55rem,1.4vw,1.1rem);padding:clamp(.55rem,1.2vw,.9rem) clamp(.65rem,1.4vw,1.1rem);border-radius:var(--ca-radius-sm);background:#fafbfc;border:1px solid var(--ca-border);width:100%;transition:border-color .15s ease,background .15s ease}.course-admin__video-item:hover{background:var(--ca-surface);border-color:#d1d5db}.course-admin__video-thumb{width:100%;max-width:100%;aspect-ratio:16 / 9;height:auto;display:flex;align-items:center;justify-content:center;border-radius:var(--ca-radius-sm);background:linear-gradient(145deg,#334155,#1e293b);color:#e2e8f0;font-size:var(--ca-text-xs);font-weight:700;font-variant-numeric:tabular-nums;overflow:hidden;justify-self:stretch}.course-admin__video-thumb--cover{color:transparent;background-color:#e2e8f0;background-size:cover;background-position:center}.course-admin__video-info{min-width:0}.course-admin__video-title{margin:0 0 .2em;font-size:var(--ca-text-md);font-weight:600;color:var(--ca-text);line-height:1.35;word-break:break-word}.course-admin__video-sub{margin:0;font-size:var(--ca-text-sm);color:var(--ca-muted);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-admin__video-status{display:inline-block;margin-left:.4em;padding:.12em .4em;border-radius:4px;font-size:var(--ca-text-xs);font-weight:600;vertical-align:middle;white-space:nowrap}.course-admin__video-status--on{background:var(--ca-accent-soft);color:var(--ca-accent)}.course-admin__video-status--off{background:var(--ca-bg);color:var(--ca-muted)}.course-admin__video-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35em;max-width:min(100%,22rem)}.course-admin__hint--link{margin-top:-.35rem;margin-bottom:var(--ca-gap);font-size:var(--ca-text-sm)}.course-admin__hint--link .course-admin__link-btn{margin:0 .3em;font-weight:600}@media (min-width: 1200px){.course-admin{--ca-card-min: clamp(14rem, 18vw, 16.5rem)}.course-admin__video-item{grid-template-columns:minmax(7rem,14%) minmax(0,1fr) auto}}@media (max-width: 1100px){.course-admin__video-item{grid-template-columns:minmax(5rem,22%) minmax(0,1fr)}.course-admin__video-actions{grid-column:1 / -1;justify-content:flex-start;max-width:none;padding-top:.15rem}}@media (max-width: 720px){.course-admin{--ca-card-min: 100%}.course-admin__dir-grid,.course-admin__dir-grid--sub,.course-admin__course-grid{grid-template-columns:1fr}.course-admin__section-head{flex-direction:column;align-items:stretch}.course-admin__section-head .course-admin__btn{width:100%}.course-admin__toolbar{align-items:stretch}.course-admin__toolbar-right{flex-direction:column;align-items:stretch}.course-admin__tabs{width:100%}.course-admin__video-item{grid-template-columns:minmax(30%,38%) minmax(0,1fr);align-items:start}.course-admin__video-actions{grid-column:1 / -1}.course-admin__video-actions .course-admin__btn{flex:1 1 calc(50% - .35em)}.course-admin__player{max-width:100%}}@media (max-width: 480px){.course-admin__video-item{grid-template-columns:1fr}.course-admin__video-thumb{max-width:55%}.course-admin__action-pill{flex:1 1 100%}}.member-unlock-admin__form{max-width:min(560px,100%)}.member-unlock-admin__form textarea{width:100%;padding:8px 10px;border:1px solid var(--ca-border);border-radius:var(--ca-radius-sm);font-family:inherit;resize:vertical}.member-unlock-admin__qr-field{margin-bottom:.5rem}.member-unlock-admin__qr-card{border-radius:var(--ca-radius);transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.member-unlock-admin__qr-card--empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;min-height:168px;padding:1.25rem 1rem;text-align:center;cursor:pointer;border:2px dashed #cbd5e1;background:linear-gradient(180deg,#fafbfc,#f4f6f8)}.member-unlock-admin__qr-card--empty:hover{border-color:var(--ca-accent);background:linear-gradient(180deg,#f0fdf7,#e6f7ef);box-shadow:0 4px 16px #00a87014}.member-unlock-admin__qr-card--empty.is-dragover{border-color:var(--ca-accent);background:#ecfdf5;box-shadow:0 0 0 3px #00a87026}.member-unlock-admin__qr-card--empty.is-uploading{opacity:.75;cursor:wait;pointer-events:none}.member-unlock-admin__qr-icon{font-size:2rem;line-height:1;margin-bottom:.15rem}.member-unlock-admin__qr-title{margin:0;font-size:.9375rem;font-weight:600;color:var(--ca-text)}.member-unlock-admin__qr-hint{margin:0 0 .5rem;font-size:.75rem;color:var(--ca-muted);line-height:1.45}.member-unlock-admin__qr-btn{display:inline-flex;align-items:center;justify-content:center;margin-top:.15rem;padding:.45rem 1rem;border-radius:999px;background:var(--ca-accent);color:#fff;font-size:.8125rem;font-weight:600;box-shadow:0 2px 8px #00a87038}.member-unlock-admin__qr-card--empty:hover .member-unlock-admin__qr-btn{background:var(--ca-accent-hover)}.member-unlock-admin__qr-card--filled{display:flex;flex-wrap:wrap;align-items:flex-start;gap:1rem;padding:1rem;border:1px solid var(--ca-border);background:var(--ca-surface);box-shadow:var(--ca-shadow)}.member-unlock-admin__qr-frame{flex:0 0 auto;padding:.5rem;border-radius:var(--ca-radius-sm);background:#fff;border:1px solid var(--ca-border);box-shadow:inset 0 1px 2px #0f172a0a}.member-unlock-admin__qr-frame img{display:block;width:min(140px,35vw);height:min(140px,35vw);object-fit:contain;border-radius:4px}.member-unlock-admin__qr-actions{display:flex;flex-direction:column;gap:.5rem;padding-top:.25rem}.member-unlock-admin__msg{margin:8px 0;color:var(--ca-accent);font-size:.9rem}.modal-overlay:has(.ca-modal){background:#0f1e1c59;padding:1rem;align-items:center;justify-content:center}.modal-content.ca-modal,.ca-modal.admin-form-modal{--ca-modal-ink: #1f2a28;--ca-modal-muted: #6b7c78;--ca-modal-line: #e2ebe8;--ca-modal-soft: #f5f9f8;--ca-modal-accent: var(--theme-primary, #01a18e);--ca-modal-accent-soft: color-mix(in srgb, var(--ca-modal-accent) 10%, #fff);width:min(480px,100%);max-width:min(480px,calc(100vw - 2rem))!important;max-height:min(90vh,760px);margin:0;padding:0;border-radius:2px;border:1px solid var(--ca-modal-line);background:#fff;box-shadow:0 12px 40px #0f28241f;color:var(--ca-modal-ink);overflow:hidden;display:flex;flex-direction:column}.ca-modal.video-access-modal{width:min(560px,100%);max-width:min(560px,calc(100vw - 2rem))!important}.ca-modal .admin-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:14px 18px;background:var(--ca-modal-soft);border-bottom:1px solid var(--ca-modal-line)}.ca-modal .admin-modal-header h3{margin:0;font-size:1rem;font-weight:700;color:var(--ca-modal-ink);letter-spacing:.01em}.ca-modal .admin-modal-body{padding:16px 18px 18px;overflow-y:auto;flex:1;min-height:0}.ca-modal .admin-form-group{margin-bottom:12px}.ca-modal .admin-form-group:last-of-type{margin-bottom:0}.ca-modal .admin-form-group label{display:block;margin-bottom:6px;font-size:.8rem;font-weight:600;color:#3d4f4b}.ca-modal .admin-form-group input[type=text],.ca-modal .admin-form-group input[type=number],.ca-modal .admin-form-group input[type=url],.ca-modal .admin-form-group input:not([type]),.ca-modal .admin-form-group input[type=file],.ca-modal .admin-form-group select,.ca-modal .admin-form-group textarea{width:100%;box-sizing:border-box;min-height:36px;padding:8px 11px;border:1px solid #cfdcd8;border-radius:2px;background:#fff;font:inherit;font-size:.9rem;color:var(--ca-modal-ink);transition:border-color .15s ease,box-shadow .15s ease}.ca-modal .admin-form-group textarea{min-height:72px;resize:vertical}.ca-modal .admin-form-group input[type=file]{padding:6px 8px;font-size:.82rem;color:var(--ca-modal-muted)}.ca-modal .admin-form-group input[type=color]{width:48px;min-height:36px;padding:2px;border-radius:2px;border:1px solid #cfdcd8;background:#fff;cursor:pointer}.ca-modal .admin-form-group input[type=checkbox]{width:auto;min-height:0;margin-right:6px;accent-color:var(--ca-modal-accent);vertical-align:middle}.ca-modal .admin-form-group input:focus,.ca-modal .admin-form-group select:focus,.ca-modal .admin-form-group textarea:focus{outline:none;border-color:var(--ca-modal-accent);box-shadow:0 0 0 2px var(--ca-modal-accent-soft)}.ca-modal .form-hint,.ca-modal .video-access-hint{margin:6px 0 0;font-size:.78rem;line-height:1.5;color:var(--ca-modal-muted)}.ca-modal .video-access-hint{margin:0 0 14px;padding:10px 12px;border-radius:2px;border:1px solid var(--ca-modal-line);background:var(--ca-modal-soft)}.ca-modal .modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--ca-modal-line)}.ca-modal .modal-actions button{min-height:34px;padding:0 14px;border-radius:2px;border:1px solid #cfdcd8;background:#fff;color:var(--ca-modal-muted);font:inherit;font-size:.84rem;font-weight:600;cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease}.ca-modal .modal-actions button:hover{border-color:var(--ca-modal-accent);color:var(--ca-modal-accent);background:var(--ca-modal-accent-soft)}.ca-modal .modal-actions .primary-button,.ca-modal .modal-actions button.primary-button{border-color:var(--ca-modal-accent);background:var(--ca-modal-accent);color:#fff}.ca-modal .modal-actions .primary-button:hover,.ca-modal .modal-actions button.primary-button:hover{background:#018f7e;border-color:#018f7e;color:#fff}.ca-modal .course-admin__cover-preview-wrap{margin-top:8px}.ca-modal .access-section h4{margin:14px 0 8px;font-size:.82rem;font-weight:700;color:var(--ca-modal-muted)}.ca-modal .access-list{list-style:none;margin:0;padding:0;border:1px solid var(--ca-modal-line);border-radius:2px;overflow:hidden}.ca-modal .access-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-bottom:1px solid var(--ca-modal-line);font-size:.86rem}.ca-modal .access-list li:last-child{border-bottom:none}.ca-modal .access-list-empty{margin:8px 0 0;font-size:.84rem;color:var(--ca-modal-muted)}.ca-modal .delete-button{border:1px solid #f0c4b0;background:#fff;color:#c2410c;border-radius:2px;padding:4px 10px;font-size:.78rem;font-weight:600;cursor:pointer}.ca-modal .delete-button:hover{background:#fff7ed;border-color:#c2410c}.ca-modal .access-revoke-all{margin-top:12px}.teacher-materials-page{--tm-ink: #1f2a28;--tm-muted: #6b7c78;--tm-line: #e2ebe8;--tm-soft: #f5f9f8;--tm-panel: #ffffff;--tm-accent: var(--theme-primary, #01a18e);--tm-accent-soft: color-mix(in srgb, var(--tm-accent) 10%, #fff);--tm-danger: #c2410c;max-width:1100px;color:var(--tm-ink)}.teacher-materials-page.admin-page{padding-top:calc(16px + var(--app-header-offset, 70px))}.teacher-materials-page>h1,.teacher-materials-page .tm-page-head h1{margin:0 0 6px;font-size:1.45rem;font-weight:700;letter-spacing:.01em;color:var(--tm-ink)}.tm-page-head{margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid var(--tm-line)}.teacher-materials-lead{margin:0;max-width:42em;color:var(--tm-muted);line-height:1.6;font-size:.9rem}.tm-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:20px;align-items:start}@media (max-width: 960px){.tm-layout{grid-template-columns:1fr}}.tm-panel{background:var(--tm-panel);border:1px solid var(--tm-line);border-radius:4px}.tm-panel__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--tm-line);background:var(--tm-soft)}.tm-panel__head h2{margin:0;font-size:.95rem;font-weight:700;color:var(--tm-ink)}.tm-panel__count{font-size:.8rem;color:var(--tm-muted);font-variant-numeric:tabular-nums}.tm-panel__body{padding:18px}.tm-panel__body--list{padding-top:4px;padding-bottom:4px}.teacher-materials-form{display:flex;flex-direction:column;gap:18px;padding:0;margin:0;border:none;background:transparent;border-radius:0}.teacher-materials-form .form-group{display:flex;flex-direction:column;gap:8px}.teacher-materials-form .form-group>label,.tm-field-label{font-weight:600;font-size:.82rem;color:#3d4f4b;letter-spacing:.02em}.teacher-materials-form input[type=text],.teacher-materials-form input:not([type]),.teacher-materials-form select,.teacher-materials-form textarea{width:100%;box-sizing:border-box;padding:9px 12px;border-radius:2px;border:1px solid #cfdcd8;background:#fff;color:var(--tm-ink);font:inherit;font-size:.92rem;transition:border-color .15s ease,box-shadow .15s ease}.teacher-materials-form input:focus,.teacher-materials-form select:focus,.teacher-materials-form textarea:focus{outline:none;border-color:var(--tm-accent);box-shadow:0 0 0 2px var(--tm-accent-soft)}.teacher-materials-form textarea{resize:vertical;min-height:72px;line-height:1.5}.tm-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width: 640px){.tm-row-2{grid-template-columns:1fr}}.tm-level-cascade{display:grid;grid-template-columns:1fr 1.2fr;gap:12px}@media (max-width: 640px){.tm-level-cascade{grid-template-columns:1fr}}.tm-level-cascade__field{display:flex;flex-direction:column;gap:6px;min-width:0}.tm-level-cascade__lab{font-size:.75rem;font-weight:600;color:var(--tm-muted)}.tm-level-cascade__hint{margin:6px 0 0;font-size:.76rem;color:var(--tm-muted);line-height:1.4}.tm-search-pick{position:relative}.tm-search-pick__control{position:relative;display:flex;align-items:center}.tm-search-pick__icon{position:absolute;left:10px;width:16px;height:16px;color:#8aa09a;pointer-events:none}.tm-search-pick__icon svg{display:block;width:16px;height:16px}.tm-search-pick__input{width:100%;box-sizing:border-box;height:38px;padding:0 12px 0 34px!important;border:1px solid #cfdcd8!important;border-radius:2px!important;background:#fff!important;font:inherit;font-size:.9rem!important;color:var(--tm-ink)}.tm-search-pick__input:focus{outline:none;border-color:var(--tm-accent)!important;box-shadow:0 0 0 2px var(--tm-accent-soft)}.tm-search-pick--disabled .tm-search-pick__input{background:var(--tm-soft)!important;color:var(--tm-muted);cursor:not-allowed}.tm-search-pick__list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);margin:0;padding:4px 0;list-style:none;max-height:260px;overflow:auto;background:#fff;border:1px solid #cfdcd8;border-radius:2px;box-shadow:0 8px 24px #1f2a281a}.tm-search-pick__empty{padding:12px 14px;font-size:.82rem;color:var(--tm-muted)}.tm-search-pick__option{display:block;width:100%;margin:0;padding:9px 14px;border:none;background:transparent;text-align:left;font:inherit;font-size:.88rem;color:var(--tm-ink);cursor:pointer}.tm-search-pick__option:hover,.tm-search-pick__option.is-selected{background:var(--tm-accent-soft);color:#01796f}.teacher-materials-scope{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #cfdcd8;border-radius:2px;overflow:hidden;background:#fff}.teacher-materials-scope label{position:relative;display:flex;flex-direction:column;gap:2px;margin:0;padding:12px 14px;font-weight:500;font-size:.88rem;color:var(--tm-muted);cursor:pointer;background:#fff;border-right:1px solid #cfdcd8;transition:background .15s ease,color .15s ease}.teacher-materials-scope label:last-child{border-right:none}.teacher-materials-scope label:has(input:checked){background:var(--tm-accent-soft);color:var(--tm-ink);box-shadow:inset 0 -2px 0 var(--tm-accent)}.teacher-materials-scope input{position:absolute;opacity:0;pointer-events:none}.teacher-materials-scope .tm-scope-title{font-weight:700;font-size:.88rem;color:inherit}.teacher-materials-scope .tm-scope-desc{font-size:.75rem;font-weight:400;color:var(--tm-muted);line-height:1.35}.teacher-materials-scope label:has(input:checked) .tm-scope-desc{color:#54716c}.teacher-materials-geo{display:flex;flex-direction:column;gap:0;border:1px solid var(--tm-line);border-radius:2px;background:var(--tm-soft);overflow:hidden}.teacher-materials-cascade{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px;background:#fff;border-bottom:1px solid var(--tm-line)}.teacher-materials-cascade select{width:100%;padding:8px 10px;border-radius:2px;border:1px solid #cfdcd8;background:#fff;color:inherit;font:inherit;font-size:.88rem}.teacher-materials-school-list{display:flex;flex-direction:column;gap:0;max-height:280px;overflow:auto;background:#fff}.teacher-materials-school-item{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:11px 14px;border:none;border-bottom:1px solid var(--tm-line);border-radius:0;background:#fff;color:inherit;text-align:left;cursor:pointer;font:inherit;transition:background .12s ease}.teacher-materials-school-item:last-child{border-bottom:none}.teacher-materials-school-item:hover{background:var(--tm-accent-soft)}.teacher-materials-school-item:after{content:"›";color:#9ab0ab;font-size:1.1rem;line-height:1}.teacher-materials-school-name{display:block;font-weight:600;font-size:.9rem}.teacher-materials-school-path{display:block;margin-top:2px;font-size:.75rem;color:var(--tm-muted)}.teacher-materials-class-panel{display:flex;flex-direction:column;gap:0;background:#fff}.teacher-materials-class-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 14px;border-bottom:1px solid var(--tm-line);background:#fff}.teacher-materials-class-toolbar strong{font-size:.9rem;font-weight:700}.teacher-materials-toolbar-actions{margin-left:auto;display:inline-flex;gap:12px}.teacher-materials-link-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--tm-accent);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;padding:0}.teacher-materials-link-btn:hover{color:#01796f;text-decoration:underline}.teacher-materials-classes{display:flex;flex-direction:column;gap:0;padding:0;border:none;border-radius:0;background:#fff;max-height:260px;overflow:auto}.teacher-materials-class-item{display:flex;align-items:center;gap:10px;margin:0;padding:10px 14px;font-weight:500;font-size:.88rem;cursor:pointer;border-bottom:1px solid var(--tm-line)}.teacher-materials-class-item:last-child{border-bottom:none}.teacher-materials-class-item:hover{background:var(--tm-soft)}.teacher-materials-class-item:has(input:checked){background:var(--tm-accent-soft)}.teacher-materials-class-item input{accent-color:var(--tm-accent);width:15px;height:15px}.teacher-materials-selected{padding:10px 14px 12px;border-top:1px solid var(--tm-line);background:#fff}.teacher-materials-selected-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:.8rem;font-weight:600;color:var(--tm-muted)}.teacher-materials-chips{display:flex;flex-wrap:wrap;gap:6px}.teacher-materials-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #cfdcd8;background:var(--tm-soft);color:var(--tm-ink);border-radius:2px;padding:3px 8px;font:inherit;font-size:.76rem;cursor:pointer;transition:border-color .12s ease,color .12s ease}.teacher-materials-chip:hover{border-color:var(--tm-danger);color:var(--tm-danger);background:#fff7ed}.tm-upload{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:118px;padding:20px 16px;border:1px dashed #b7cbc6;border-radius:2px;background:var(--tm-soft);text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease}.tm-upload:hover,.tm-upload:focus-within{border-color:var(--tm-accent);background:var(--tm-accent-soft)}.tm-upload--ready{border-style:solid;border-color:color-mix(in srgb,var(--tm-accent) 45%,#cfdcd8);background:#fff}.tm-upload input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.tm-upload__title{font-size:.9rem;font-weight:700;color:var(--tm-ink)}.tm-upload__hint{margin:0;font-size:.78rem;color:var(--tm-muted);line-height:1.4}.tm-upload__file{margin:4px 0 0;font-size:.84rem;color:var(--tm-accent);font-weight:600;word-break:break-all}.tm-upload__type{font-weight:500;color:var(--tm-muted)}.tm-actions{display:flex;align-items:center;gap:12px;padding-top:4px}.tm-submit{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:2px;padding:10px 22px;min-width:132px;background:var(--tm-accent);color:#fff;font:inherit;font-size:.9rem;font-weight:700;letter-spacing:.03em;cursor:pointer;transition:background .15s ease,opacity .15s ease}.tm-submit:hover:not(:disabled){background:#018f7e}.tm-submit:disabled{opacity:.55;cursor:not-allowed}.teacher-materials-hint{margin:0;font-size:.8rem;color:var(--tm-muted);line-height:1.45;padding:12px 14px}.teacher-materials-ok{padding:10px 14px;margin-bottom:14px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:2px;color:#047857;font-size:.86rem}.teacher-materials-page .admin-error-hint{border-radius:2px;margin-bottom:14px}.teacher-materials-list{display:flex;flex-direction:column;gap:0}.tm-material-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 4px;border-bottom:1px solid var(--tm-line)}.tm-material-row:last-child{border-bottom:none}.tm-card-thumb{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:2px;background:var(--tm-soft);border:1px solid var(--tm-line);font-size:.68rem;font-weight:700;letter-spacing:.04em;color:var(--tm-accent)}.tm-card-thumb--doc{color:#b45309;background:#fffbeb;border-color:#fde68a}.tm-material-row h3{margin:0 0 4px;font-size:.92rem;font-weight:700;line-height:1.35;color:var(--tm-ink)}.teacher-materials-meta,.teacher-materials-note{margin:0;font-size:.78rem;color:var(--tm-muted);line-height:1.45}.teacher-materials-bound{margin:4px 0 0;font-size:.78rem;color:#3d4f4b;line-height:1.45;word-break:break-word}.tm-status{display:inline-block;margin-right:6px;padding:1px 6px;border-radius:2px;font-size:.72rem;font-weight:600;background:var(--tm-soft);color:#3d4f4b;border:1px solid var(--tm-line)}.tm-status--pending{background:#fff7ed;border-color:#fed7aa;color:#c2410c}.tm-status--approved{background:#ecfdf5;border-color:#a7f3d0;color:#047857}.tm-status--rejected{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.tm-card-delete{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #cfdcd8;background:#fff;color:var(--tm-muted);border-radius:2px;padding:6px 10px;font:inherit;font-size:.78rem;cursor:pointer}.tm-card-delete:hover{border-color:var(--tm-danger);color:var(--tm-danger)}.teacher-materials-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:2px;border:1px solid var(--tm-line);background:#fff;margin-bottom:8px}.teacher-materials-card h3{margin:0 0 4px;font-size:.95rem}.tm-empty{margin:0;padding:36px 16px;text-align:center;color:var(--tm-muted);font-size:.88rem;background:transparent;border:none}.teacher-materials-page .students-empty-hint.tm-empty{background:transparent;border:none;padding:36px 16px;color:var(--tm-muted)}.teacher-materials-sub{display:none}.teacher-materials-review-actions{display:flex;flex-wrap:wrap;gap:8px}@media (max-width: 720px){.teacher-materials-cascade{grid-template-columns:1fr}.teacher-materials-toolbar-actions{margin-left:0;width:100%}.teacher-materials-scope{grid-template-columns:1fr}.teacher-materials-scope label{border-right:none;border-bottom:1px solid #cfdcd8}.teacher-materials-scope label:last-child{border-bottom:none}.tm-material-row{grid-template-columns:40px minmax(0,1fr)}.tm-card-delete{grid-column:2;justify-self:start}}.level-editor{display:flex;flex-direction:column;height:100vh;min-height:100vh;overflow:hidden;--level-editor-toolbar-h: 60px;padding-top:calc(var(--app-header-offset, 70px) + var(--level-editor-toolbar-h));background:#0a0e27f2;color:#fff;box-sizing:border-box}@media (max-width: 720px){.level-editor{--level-editor-toolbar-h: 72px}}.editor-toolbar{display:flex;align-items:center;justify-content:flex-start;gap:12px;position:fixed;top:var(--app-header-offset, 70px);left:0;right:0;width:100%;box-sizing:border-box;z-index:998;min-height:var(--level-editor-toolbar-h);padding:12px 20px;background:#0a0e27fa;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:2px solid rgba(100,181,246,.3);box-shadow:0 6px 16px #00000047;flex-shrink:0}.editor-toolbar h2{margin:0;color:#64b5f6;flex:1;min-width:0}.editor-history-actions{display:flex;align-items:center;gap:6px;margin-right:12px;flex-shrink:0}.editor-history-btn{display:inline-flex;align-items:center;gap:4px;padding:7px 12px;background:#64b5f61f;border:1px solid rgba(100,181,246,.45);color:#90caf9;border-radius:8px;cursor:pointer;font-size:13px;transition:background .2s,border-color .2s,color .2s,opacity .2s}.editor-history-btn:hover:not(:disabled){background:#64b5f647;border-color:#64b5f6;color:#fff}.editor-history-btn:disabled{opacity:.38;cursor:not-allowed}.back-button{padding:8px 16px;background:#ffffff1f;border:2px solid rgba(255,255,255,.6);color:#fff;border-radius:8px;cursor:pointer;font-size:14px;transition:all .3s;outline:none}.back-button:hover{background:#fff3;border-color:#ffffffe6;color:#fff}.tool-buttons{display:flex;gap:10px}.tool-buttons button{padding:8px 16px;background:#64b5f633;border:1px solid #64b5f6;color:#64b5f6;border-radius:8px;cursor:pointer;transition:all .3s}.tool-buttons button:hover,.tool-buttons button.active{background:#64b5f6;color:#fff}.editor-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px 12px;flex-shrink:0;margin-left:auto}.editor-save-hint{font-size:12px;color:#ffffffb3;white-space:nowrap}@media (max-width: 900px){.editor-save-hint{display:none}.editor-history-btn{padding:6px 8px;font-size:12px}.editor-local-btn{padding:6px 10px;font-size:12px}}@media (max-width: 768px){.editor-content{flex-direction:column}.editor-sidebar{width:100%;max-height:38vh;border-right:none;border-bottom:1px solid rgba(100,181,246,.22)}.editor-toolbar{flex-wrap:wrap;gap:6px}.editor-actions{margin-left:0;width:100%;justify-content:flex-start}}.editor-local-file-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.editor-local-btn{padding:8px 14px;border:1px solid rgba(100,181,246,.65);border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;color:#64b5f6;background:#64b5f61f;transition:all .25s ease;white-space:nowrap}.editor-local-btn:hover{background:#64b5f647;border-color:#64b5f6;color:#fff}.save-button,.cancel-button{padding:8px 20px;border:none;border-radius:8px;cursor:pointer;font-weight:700;transition:all .3s}.save-button{background:#4caf50;color:#fff}.save-button:hover{background:#45a049}.cancel-button{background:#f44336;color:#fff}.cancel-button:hover{background:#da190b}.editor-content{display:flex;flex:1;min-height:0;overflow:hidden}.editor-sidebar{width:300px;flex-shrink:0;position:relative;z-index:2;background:linear-gradient(180deg,#0e142afa,#0a0e27f5);border-right:1px solid rgba(100,181,246,.22);padding:18px 16px 24px;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;gap:4px;scrollbar-width:thin;scrollbar-color:rgba(100,181,246,.35) transparent}.editor-sidebar h3{color:#90caf9;margin:0 0 12px;font-size:15px;font-weight:700;letter-spacing:.02em}.sidebar-section-title{margin:0 0 14px!important;padding-bottom:10px;border-bottom:1px solid rgba(100,181,246,.18);font-size:14px!important;text-transform:uppercase;letter-spacing:.08em;color:#90caf9f2!important}.sidebar-hint{color:#ffffff9e;font-size:12px;line-height:1.5;margin-bottom:12px;padding:10px 12px;background:#64b5f612;border:1px solid rgba(100,181,246,.14);border-radius:10px}.sidebar-hint--ok{color:#a7f3d0f2;border-color:#34d39959;background:#10b9811f}.sidebar-hint--warn{color:#fecacaf2;border-color:#f8717159;background:#ef44441a}.sidebar-hint--meta{margin-top:-6px;padding-top:6px;font-size:11px}.sidebar-hint--meta code{color:#bae6fdf2}.editor-race-car-builder-link{display:block;width:100%;margin-bottom:12px;padding:8px 12px;border:1px solid rgba(100,181,246,.45);border-radius:8px;background:#2563eb40;color:#e0f2fe;font-size:13px;font-weight:600;cursor:pointer;text-align:center}.editor-race-car-builder-link:hover{background:#2563eb66}.elements-list{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.element-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#64b5f60f;border:1px solid rgba(100,181,246,.18);border-radius:12px;cursor:grab;transition:all .22s ease;-webkit-user-select:none;user-select:none}.element-item:hover{background:#64b5f624;border-color:#81d4fa73;transform:translateY(-1px);box-shadow:0 6px 18px #2196f31f}.element-item:active{cursor:grabbing;opacity:.7}.element-icon{font-size:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#64b5f633;border-radius:8px}.element-icon--glb{padding:0;width:56px;height:56px;flex-shrink:0;overflow:hidden;background:#00000052}.element-glb-canvas{display:block;width:56px!important;height:56px!important}.element-label{color:#fff;font-weight:500;flex:1}.editor-canvas{flex:1;position:relative;z-index:1;background:#141e32cc;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;isolation:isolate;contain:paint;overscroll-behavior:contain;touch-action:none}.editor-grid-toggle{position:absolute;top:10px;right:10px;z-index:4;padding:6px 11px;border-radius:8px;border:1px solid rgba(100,181,246,.45);background:linear-gradient(145deg,#1a2342eb,#0f162df2);color:#ffffffeb;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 2px 10px #00000040;transition:border-color .2s ease,box-shadow .2s ease,color .2s ease}.editor-grid-toggle:hover{border-color:#90caf9bf;color:#fff}.editor-grid-toggle--on{border-color:#81d4faf2;box-shadow:0 0 0 1px #64b5f659,0 2px 14px #2196f359;color:#b3e5fc}.editor-canvas>div{flex:1;min-height:0;position:relative}.editor-canvas canvas{display:block!important;width:100%!important;height:100%!important;user-select:none;-webkit-user-select:none}.sidebar-properties{margin-top:20px;padding-top:4px;display:flex;flex-direction:column;gap:12px}.editor-prop-card{padding:14px;border-radius:14px;background:linear-gradient(145deg,#16203ae0,#0e1426eb);border:1px solid rgba(100,181,246,.16);box-shadow:0 8px 24px #0000002e}.editor-prop-card--selection{border-color:#81d4fa6b;background:linear-gradient(145deg,#192d4ef2,#101c34f5);box-shadow:0 0 0 1px #64b5f61f,0 10px 28px #2196f31f}.editor-prop-card--stats{margin-bottom:4px}.editor-prop-card__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.editor-prop-card__head h4{margin:0;font-size:14px;font-weight:700;color:#e3f2fd;letter-spacing:.01em}.editor-prop-card__badge{flex-shrink:0;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;color:#ffffffb8;background:#ffffff14;border:1px solid rgba(255,255,255,.1)}.editor-card-hint{margin:0 0 12px;font-size:12px;line-height:1.45;color:#ffffff8c}.editor-form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.editor-form-field:last-child{margin-bottom:0}.editor-form-field--inline{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.editor-form-field--inline .editor-field-label{margin:0;flex:1}.editor-field-label{display:block;margin:0;font-size:12px;font-weight:600;color:#90caf9eb;letter-spacing:.02em}.editor-field-input{width:100%;padding:10px 12px;background:#00000047;border:1px solid rgba(100,181,246,.22);border-radius:10px;color:#f5fbff;font-size:14px;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.editor-field-input:hover{border-color:#81d4fa61}.editor-field-input:focus{outline:none;border-color:#81d4fab8;box-shadow:0 0 0 3px #64b5f624;background:#0000005c}.editor-field-input:disabled{opacity:.55;cursor:not-allowed}.editor-field-input--compact{width:96px;flex-shrink:0}.editor-field-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,rgba(144,202,249,.9) 50%),linear-gradient(135deg,rgba(144,202,249,.9) 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% + 2px),calc(100% - 12px) calc(50% + 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat}.editor-field-select option{background:#0b1220;color:#e3f2fd}.editor-selection-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}.editor-selection-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#81d4fa;background:#64b5f61f;border:1px solid rgba(100,181,246,.24)}.editor-selection-value{font-size:14px;font-weight:600;color:#ffffffeb}.editor-selection-note{margin:0 0 12px;padding:8px 10px;border-radius:10px;font-size:12px;line-height:1.45;color:#ffffffad;background:#ffffff0a;border:1px dashed rgba(129,212,250,.22)}.editor-direction-picker{margin-bottom:14px}.editor-direction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.editor-direction-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:52px;padding:8px 6px;border-radius:12px;border:1px solid rgba(100,181,246,.18);background:#00000038;color:#ffffffd1;font-size:12px;font-weight:600;cursor:pointer;transition:transform .15s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}.editor-direction-btn:hover{border-color:#81d4fa73;background:#64b5f61a}.editor-direction-btn.is-active{border-color:#81d4fad9;background:linear-gradient(145deg,#2196f347,#1976d22e);color:#fff;box-shadow:0 0 0 1px #64b5f638,0 6px 16px #2196f32e}.editor-direction-btn__arrow{display:block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:8px solid currentColor;opacity:.9}.editor-direction-btn--up .editor-direction-btn__arrow{transform:rotate(0)}.editor-direction-btn--right .editor-direction-btn__arrow{transform:rotate(90deg)}.editor-direction-btn--down .editor-direction-btn__arrow{transform:rotate(180deg)}.editor-direction-btn--left .editor-direction-btn__arrow{transform:rotate(-90deg)}.editor-delete-btn{width:100%;margin-top:2px;padding:10px 14px;border:1px solid rgba(244,67,54,.35);border-radius:10px;background:#f443361f;color:#ff8a80;font-size:13px;font-weight:700;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.editor-delete-btn:hover{background:#f4433638;border-color:#f443368c;color:#ffcdd2}.editor-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.editor-stat-item{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:12px;background:#0003;border:1px solid rgba(100,181,246,.12)}.editor-stat-label{font-size:11px;line-height:1.35;color:#ffffff94}.editor-stat-value{font-size:20px;font-weight:800;line-height:1;color:#90caf9}.property-group{margin-bottom:20px}.property-group label{display:block;margin-bottom:8px;color:#64b5f6}.property-inputs{display:flex;align-items:center;gap:10px}.property-inputs input,.level-name-input{flex:1;padding:8px;background:#00000059;border:1px solid rgba(100,181,246,.3);border-radius:6px;color:#e3f2fd;font-size:14px;box-sizing:border-box}.level-name-input{width:100%;box-sizing:border-box}select.level-name-input{-moz-appearance:none;appearance:none;-webkit-appearance:none}select.level-name-input option{background:#0b1220;color:#e3f2fd}.editor-target-supply{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(100,181,246,.12)}.editor-target-supply-row{display:flex;align-items:center;gap:8px}.editor-target-supply input[type=number]{width:64px;padding:6px 8px;background:#00000059;border:1px solid rgba(100,181,246,.3);border-radius:6px;color:#e3f2fd}.editor-target-supply-max{color:#ffffffbf}.editor-hint-small{width:100%;margin:4px 0 0;font-size:12px;color:#ffffff8c;line-height:1.4}.editor-grid-settings,.editor-prop-card--grid{padding:14px;border-radius:14px;background:linear-gradient(145deg,#16203af2,#0e1426fa);border:1px solid rgba(100,181,246,.16);position:sticky;top:0;z-index:3}.editor-grid-settings h4,.editor-prop-card--grid .editor-prop-card__head h4{margin:0;color:#e3f2fd;font-size:14px}.editor-grid-size-row{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-top:10px}.editor-grid-size-field{display:flex;flex-direction:column;gap:6px;flex:1 1 88px;min-width:72px}.editor-grid-size-field span{font-size:12px;color:#64b5f6}.editor-grid-size-field input{width:100%;padding:8px 10px;background:#00000059;border:1px solid rgba(100,181,246,.35);border-radius:6px;color:#e3f2fd;font-size:15px}.editor-grid-size-mul{color:#ffffffb3;font-size:18px;padding-bottom:8px;flex-shrink:0}.editor-grid-size-summary{margin:10px 0 0;font-size:13px;color:#ffffffbf}.editor-grid-reset-btn{margin-top:10px;padding:8px 14px;border:1px solid rgba(100,181,246,.45);border-radius:8px;background:#64b5f61f;color:#e3f2fd;font-size:13px;cursor:pointer;width:100%}.editor-grid-reset-btn:hover{background:#64b5f638}.editor-robot-direction-inline{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.editor-robot-direction-inline span{color:#64b5f6;font-size:14px}.editor-star-lines{display:flex;flex-direction:column;gap:6px;margin:8px 0 4px}.editor-star-criteria{margin-top:14px;padding-top:12px;border-top:1px solid rgba(100,181,246,.15)}.editor-star-criteria>.editor-field-label{display:block;margin-bottom:8px}.editor-star-lines span{color:#64b5f6;font-size:14px}.editor-star-lines input[type=number]{max-width:120px;padding:6px 8px;background:#00000059;border:1px solid rgba(100,181,246,.3);border-radius:6px;color:#e3f2fd}.editor-star-blocks-label{margin-top:10px;margin-bottom:6px;color:#64b5f6;font-size:14px}.editor-star-blocks{display:flex;flex-direction:column;gap:6px}.editor-star-block-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#ffffffe6;cursor:pointer}.editor-star-block-item input{cursor:pointer}.learning-progress-page{--lp-ink: #1f2a28;--lp-muted: #6b7c78;--lp-line: #e2ebe8;--lp-soft: #f5f9f8;--lp-panel: #ffffff;--lp-accent: var(--theme-primary, #01a18e);--lp-accent-soft: color-mix(in srgb, var(--lp-accent) 10%, #fff);--lp-high: #047857;--lp-mid: #b45309;--lp-low: #b91c1c;--lp-fs-title: clamp(.88rem, .68rem + 1.1vw, 1.35rem);--lp-fs-desc: clamp(.65rem, .55rem + .45vw, .85rem);--lp-fs-scope: clamp(.6rem, .52rem + .32vw, .78rem);--lp-fs-label: clamp(.58rem, .5rem + .28vw, .72rem);--lp-fs-control: clamp(.65rem, .55rem + .4vw, .82rem);--lp-fs-body: clamp(.65rem, .55rem + .4vw, .82rem);--lp-fs-section: clamp(.72rem, .6rem + .45vw, .9rem);--lp-fs-meta: clamp(.6rem, .52rem + .28vw, .76rem);--lp-fs-stat-label: clamp(.58rem, .5rem + .28vw, .72rem);--lp-fs-stat-value: clamp(.92rem, .7rem + 1vw, 1.35rem);--lp-fs-stat-hint: clamp(.56rem, .48rem + .25vw, .68rem);--lp-fs-table: clamp(.64rem, .54rem + .38vw, .82rem);--lp-fs-th: clamp(.56rem, .48rem + .28vw, .7rem);--lp-fs-action: clamp(.6rem, .52rem + .28vw, .74rem);--lp-control-h: clamp(1.35rem, 1.15rem + .7vw, 1.85rem);--lp-avatar: clamp(1.2rem, 1rem + .7vw, 1.75rem);--lp-pad: clamp(.35rem, .22rem + .55vw, .75rem);--lp-gap: clamp(.25rem, .15rem + .35vw, .55rem);--lp-field-max: clamp(6.5rem, 5rem + 8vw, 11rem);max-width:1100px;margin:0 auto;color:var(--lp-ink);font-size:var(--lp-fs-body)}.learning-progress-page.admin-page{padding-top:calc(var(--lp-pad) + var(--app-header-offset, 70px))}.training-shell .home-shell-panel .learning-progress-page.admin-page{padding-top:var(--lp-pad);padding-left:0;padding-right:0;max-width:100%}.learning-progress-hero{margin-bottom:var(--lp-gap);padding:0 0 var(--lp-pad);border-bottom:1px solid var(--lp-line);background:none;box-shadow:none;border-radius:0}.learning-progress-hero__eyebrow{display:none}.learning-progress-page .learning-progress-hero h1,.training-shell .home-shell-panel .learning-progress-page .learning-progress-hero h1{margin:0 0 .35em;font-size:var(--lp-fs-title)!important;font-weight:700;letter-spacing:.01em;line-height:1.25;color:var(--lp-ink)}.learning-progress-hero__desc{margin:0;max-width:42em;font-size:var(--lp-fs-desc)!important;line-height:1.55;color:var(--lp-muted)}.learning-progress-hero__scope{display:inline-block;margin-top:.55em;padding:0;border:none;border-radius:0;background:transparent;color:var(--lp-muted);font-size:var(--lp-fs-scope)!important;font-weight:600}.learning-progress-panel{border:1px solid var(--lp-line);border-radius:2px;background:var(--lp-panel);box-shadow:none;overflow:hidden}.learning-progress-filters{padding:var(--lp-pad);border-bottom:1px solid var(--lp-line);background:var(--lp-soft)}.learning-progress-filters .homework-manage-toolbar--geo{display:flex;flex-wrap:wrap;gap:var(--lp-gap);padding:0;background:transparent;border:none;align-items:flex-end;justify-content:flex-start;width:100%;max-width:100%}.learning-progress-filters .homework-manage-geo-field{display:flex;flex-direction:column;min-width:0;flex:1 1 6.5rem;max-width:11rem;gap:.2em}.learning-progress-filters .homework-manage-toolbar__label,.training-shell .home-shell-panel .learning-progress-filters .homework-manage-toolbar__label{font-size:var(--lp-fs-label)!important;font-weight:600;color:var(--lp-muted);line-height:1.2}.learning-progress-filters .homework-manage-select,.training-shell .home-shell-panel .learning-progress-filters .homework-manage-select{width:100%;max-width:100%;min-width:0!important;min-height:var(--lp-control-h)!important;height:var(--lp-control-h)!important;padding:0 .4em!important;border-radius:2px;border:1px solid #cfdcd8;background:#fff;font:inherit;font-size:var(--lp-fs-control)!important;line-height:1.2;color:var(--lp-ink);box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.learning-progress-filters .homework-manage-select:focus{outline:none;border-color:var(--lp-accent);box-shadow:0 0 0 2px var(--lp-accent-soft)}.learning-progress-filters .homework-manage-btn--query,.learning-progress-filters .homework-manage-btn,.training-shell .home-shell-panel .learning-progress-filters .homework-manage-btn{align-self:flex-end;flex:0 0 auto;width:auto;min-width:clamp(3rem,2.4rem + 1.5vw,4.25rem);max-width:5rem;min-height:var(--lp-control-h)!important;height:var(--lp-control-h)!important;padding:0 .65em!important;border:none;border-radius:2px;background:var(--lp-accent);color:#fff;font-weight:700;font-size:var(--lp-fs-control)!important;line-height:1;box-shadow:none;cursor:pointer;box-sizing:border-box;white-space:nowrap}.learning-progress-filters .homework-manage-btn--query:hover:not(:disabled){background:#018f7e}.learning-progress-filters .homework-manage-btn--query:disabled{opacity:.55;cursor:not-allowed}.learning-progress-body{padding:var(--lp-pad)}.learning-progress-empty{margin:0;padding:clamp(1.1rem,.8rem + 2vw,2.5rem) var(--lp-pad);text-align:center;color:var(--lp-muted);font-size:var(--lp-fs-body)!important;line-height:1.55}.learning-progress-empty__icon{display:none}.learning-progress-section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--lp-gap);margin:0 0 var(--lp-gap);padding:calc(var(--lp-pad) * .75) var(--lp-pad);background:var(--lp-soft);border:1px solid var(--lp-line);border-radius:2px}.learning-progress-section-head__title{margin:0;font-size:var(--lp-fs-section)!important;font-weight:700;color:var(--lp-ink)}.learning-progress-section-head__meta{font-size:var(--lp-fs-meta)!important;color:var(--lp-muted)}.learning-progress-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-bottom:var(--lp-pad);border:1px solid var(--lp-line);border-radius:2px;overflow:hidden;background:#fff}.learning-progress-stat{padding:var(--lp-pad);border:none;border-right:1px solid var(--lp-line);border-radius:0;background:#fff;box-shadow:none}.learning-progress-stat:last-child{border-right:none}.learning-progress-stat__label{display:block;margin-bottom:.35em;font-size:var(--lp-fs-stat-label)!important;font-weight:600;color:var(--lp-muted);letter-spacing:.02em}.learning-progress-stat__value{font-size:var(--lp-fs-stat-value)!important;font-weight:700;line-height:1.15;color:var(--lp-ink);font-variant-numeric:tabular-nums}.learning-progress-stat__value--accent{color:var(--lp-accent)}.learning-progress-stat__hint{margin-top:.25em;font-size:var(--lp-fs-stat-hint)!important;color:#8aa09a}.learning-progress-table-wrap{overflow-x:auto;border:1px solid var(--lp-line);border-radius:2px}.learning-progress-table{width:100%;border-collapse:collapse;font-size:var(--lp-fs-table)!important}.learning-progress-table th{padding:.55em .75em;text-align:left;font-size:var(--lp-fs-th)!important;font-weight:700;letter-spacing:.02em;text-transform:none;color:var(--lp-muted);background:var(--lp-soft);border-bottom:1px solid var(--lp-line);white-space:nowrap}.learning-progress-table td{padding:.65em .75em;border-bottom:1px solid var(--lp-line);vertical-align:middle}.learning-progress-table tbody tr:last-child td{border-bottom:none}.learning-progress-table tbody tr:hover td{background:var(--lp-soft)}.learning-progress-table__col-num{width:8rem;text-align:left}.learning-progress-table__col-actions{width:10.5rem;text-align:right}.learning-progress-student{display:flex;align-items:center;gap:.55em;min-width:0}.learning-progress-student__avatar{flex-shrink:0;width:var(--lp-avatar);height:var(--lp-avatar);border-radius:2px;display:flex;align-items:center;justify-content:center;background:var(--lp-accent-soft);border:1px solid color-mix(in srgb,var(--lp-accent) 22%,transparent);color:var(--lp-accent);font-size:var(--lp-fs-stat-hint)!important;font-weight:700;box-shadow:none}.learning-progress-student__name{font-weight:700;font-size:var(--lp-fs-table)!important;color:var(--lp-ink)}.learning-progress-progress{min-width:5rem}.learning-progress-progress__bar{height:clamp(3px,.2rem + .3vw,6px);border-radius:1px;background:#e2ebe8;overflow:hidden;margin-bottom:.25em}.learning-progress-progress__fill{height:100%;border-radius:0;background:var(--lp-accent);transition:width .25s ease}.learning-progress-progress__text{font-size:var(--lp-fs-meta)!important;color:var(--lp-muted);font-variant-numeric:tabular-nums}.learning-progress-score{display:inline-block;min-width:0;padding:2px 0;border-radius:0;font-weight:700;font-size:var(--lp-fs-table)!important;font-variant-numeric:tabular-nums;background:transparent;color:var(--lp-ink)}.learning-progress-score.is-high{background:transparent;color:var(--lp-high)}.learning-progress-score.is-mid{background:transparent;color:var(--lp-mid)}.learning-progress-score.is-low{background:transparent;color:var(--lp-low)}.learning-progress-stars{display:inline-flex;align-items:center;gap:.25em;padding:0;border-radius:0;background:transparent;border:none;color:var(--lp-ink);font-weight:700;font-size:var(--lp-fs-table)!important;font-variant-numeric:tabular-nums}.learning-progress-stars span[aria-hidden]{color:#c9a227;font-size:1em}.learning-progress-actions{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:.35em}.learning-progress-action{padding:.3em .65em;border-radius:2px;border:1px solid #cfdcd8;background:#fff;color:var(--lp-muted);font-size:var(--lp-fs-action)!important;font-weight:600;cursor:pointer;min-height:calc(var(--lp-control-h) * .85);transition:border-color .12s ease,color .12s ease,background .12s ease}.learning-progress-action:hover{border-color:var(--lp-accent);color:var(--lp-accent);background:var(--lp-accent-soft)}.learning-progress-action--primary{border-color:var(--lp-accent);background:var(--lp-accent);color:#fff}.learning-progress-action--primary:hover{background:#018f7e;border-color:#018f7e;color:#fff}.learning-progress-page .homework-manage-alert{margin-bottom:var(--lp-gap);border-radius:2px;font-size:var(--lp-fs-body)}@media (max-width: 900px){.learning-progress-page{max-width:100%}.learning-progress-filters .homework-manage-toolbar--geo,.training-shell .home-shell-panel .learning-progress-filters .homework-manage-toolbar--geo{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .55rem;align-items:end;justify-items:stretch;flex-direction:unset!important;width:100%;max-width:100%}.learning-progress-filters .homework-manage-geo-field,.training-shell .home-shell-panel .learning-progress-filters .homework-manage-geo-field{flex:unset!important;width:100%!important;max-width:100%!important;min-width:0!important}.learning-progress-filters .homework-manage-btn--query,.training-shell .home-shell-panel .learning-progress-filters .homework-manage-btn--query{grid-column:1 / -1;width:100%;max-width:100%;min-width:0;justify-self:stretch;align-self:stretch}.learning-progress-stats{grid-template-columns:1fr}.learning-progress-stat{border-right:none;border-bottom:1px solid var(--lp-line)}.learning-progress-stat:last-child{border-bottom:none}.learning-progress-table__col-num,.learning-progress-table__col-actions{width:auto;min-width:0}.learning-progress-actions{justify-content:flex-start}}@media (max-width: 480px){.learning-progress-filters .homework-manage-toolbar--geo,.training-shell .home-shell-panel .learning-progress-filters .homework-manage-toolbar--geo{grid-template-columns:1fr}.learning-progress-progress{min-width:0}}.booking-admin-page{--ba-ink: #1f2a28;--ba-muted: #6b7c78;--ba-line: #e2ebe8;--ba-soft: #f5f9f8;--ba-panel: #ffffff;--ba-accent: var(--theme-primary, #01a18e);--ba-accent-soft: color-mix(in srgb, var(--ba-accent) 10%, #fff);--ba-danger: #c2410c;max-width:1100px;margin:0 auto;color:var(--ba-ink)}.booking-admin-page.admin-page{padding-top:calc(16px + var(--app-header-offset, 70px))}.booking-admin-hero{margin-bottom:16px;padding:0 0 14px;border-bottom:1px solid var(--ba-line)}.booking-admin-hero h1{margin:0 0 6px;font-size:1.45rem;font-weight:700;letter-spacing:.01em;color:var(--ba-ink)}.booking-admin-hero__desc{margin:0;max-width:42em;font-size:.9rem;line-height:1.6;color:var(--ba-muted)}.booking-admin-hero__scope{display:inline-block;margin-top:10px;font-size:.82rem;font-weight:600;color:var(--ba-muted)}.booking-admin-panel{border:1px solid var(--ba-line);border-radius:2px;background:var(--ba-panel);overflow:hidden}.booking-admin-toolbar{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:flex-end;padding:14px 16px;border-bottom:1px solid var(--ba-line);background:var(--ba-soft);margin-bottom:0}.booking-admin-field{display:flex;flex-direction:column;gap:4px;min-width:min(100%,128px);flex:0 1 140px}.booking-admin-field__label{font-size:.75rem;font-weight:600;color:var(--ba-muted)}.booking-admin-toolbar select,.booking-admin-select{width:100%;min-height:36px;padding:0 10px;border-radius:2px;border:1px solid #cfdcd8;background:#fff;font:inherit;font-size:.88rem;color:var(--ba-ink);transition:border-color .15s ease,box-shadow .15s ease}.booking-admin-toolbar select:focus,.booking-admin-select:focus{outline:none;border-color:var(--ba-accent);box-shadow:0 0 0 2px var(--ba-accent-soft)}.booking-admin-toolbar select:disabled{opacity:.55;cursor:not-allowed;background:#f0f4f3}.booking-admin-geo-filters{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:flex-end;flex:1 1 auto}.booking-admin-btn{min-height:36px;padding:0 16px;border-radius:2px;border:1px solid #cfdcd8;background:#fff;color:var(--ba-muted);font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease}.booking-admin-btn:hover{border-color:var(--ba-accent);color:var(--ba-accent);background:var(--ba-accent-soft)}.booking-admin-btn--primary{border-color:var(--ba-accent);background:var(--ba-accent);color:#fff}.booking-admin-btn--primary:hover{background:#018f7e;border-color:#018f7e;color:#fff}.booking-admin-btn--ghost{background:transparent}.booking-admin-error{margin:0;padding:10px 14px;border-bottom:1px solid #fecaca;background:#fef2f2;color:#b91c1c;font-size:.86rem}.booking-admin-body{padding:16px}.booking-admin-empty{margin:0;padding:40px 20px;text-align:center;color:var(--ba-muted);font-size:.88rem;line-height:1.6}.booking-admin-section{margin-bottom:16px}.booking-admin-section:last-child{margin-bottom:0}.booking-admin-section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 10px;padding:10px 12px;background:var(--ba-soft);border:1px solid var(--ba-line);border-radius:2px}.booking-admin-section-head h2{margin:0;font-size:.95rem;font-weight:700;color:var(--ba-ink)}.booking-admin-section-head__meta{font-size:.8rem;color:var(--ba-muted)}.booking-admin-summary-hint{margin:0 0 10px;font-size:.8rem;color:var(--ba-muted);line-height:1.5}.booking-admin-table-wrap{overflow-x:auto;border:1px solid var(--ba-line);border-radius:2px;margin-bottom:0}.booking-admin-table{width:100%;border-collapse:collapse;font-size:.86rem}.booking-admin-table th{padding:10px 12px;text-align:left;font-size:.74rem;font-weight:700;color:var(--ba-muted);background:var(--ba-soft);border-bottom:1px solid var(--ba-line);white-space:nowrap}.booking-admin-table td{padding:12px;border-bottom:1px solid var(--ba-line);vertical-align:middle;color:var(--ba-ink)}.booking-admin-table tbody tr:last-child td{border-bottom:none}.booking-admin-table tbody tr:hover td{background:var(--ba-soft)}.booking-admin-table small{display:block;margin-top:2px;color:var(--ba-muted);font-size:.76rem}.booking-admin-student{font-weight:700;color:var(--ba-ink)}.booking-admin-notes{max-width:180px;word-break:break-word;color:var(--ba-muted);font-size:.84rem}.booking-admin-table a{color:var(--ba-accent);font-weight:600;text-decoration:none}.booking-admin-table a:hover{text-decoration:underline}.booking-admin-badge{display:inline-block;padding:2px 0;border-radius:0;font-size:.8rem;font-weight:700;background:transparent}.booking-admin-badge--pending{color:#b45309}.booking-admin-badge--confirmed{color:#047857}.booking-admin-badge--cancelled{color:#6b7c78}.booking-admin-actions{display:inline-flex;flex-wrap:wrap;gap:6px}.booking-admin-action{padding:5px 10px;border-radius:2px;border:1px solid #cfdcd8;background:#fff;color:var(--ba-muted);font-size:.78rem;font-weight:600;cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease}.booking-admin-action:hover{border-color:var(--ba-accent);color:var(--ba-accent);background:var(--ba-accent-soft)}.booking-admin-action--primary{border-color:var(--ba-accent);background:var(--ba-accent);color:#fff}.booking-admin-action--primary:hover{background:#018f7e;border-color:#018f7e;color:#fff}.booking-admin-action--danger{border-color:#f0c4b0;color:var(--ba-danger)}.booking-admin-action--danger:hover{border-color:var(--ba-danger);background:#fff7ed;color:var(--ba-danger)}.booking-admin-drill{padding:4px 10px;border-radius:2px;border:1px solid var(--ba-accent);background:transparent;color:var(--ba-accent);font-size:.78rem;font-weight:600;cursor:pointer}.booking-admin-drill:hover{background:var(--ba-accent-soft)}.booking-admin-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10050;display:flex;align-items:center;justify-content:center;background:#0f1e1c59;padding:1rem}.booking-admin-modal{width:min(460px,100%);padding:20px 22px;border-radius:2px;background:#fff;border:1px solid var(--ba-line);box-shadow:0 12px 40px #0f28241f;color:var(--ba-ink)}.booking-admin-modal h3{margin:0 0 6px;font-size:1.1rem;font-weight:700}.booking-admin-modal-hint{margin:0 0 16px;font-size:.84rem;color:var(--ba-muted);line-height:1.5}.booking-admin-modal label{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-size:.82rem;font-weight:600;color:var(--ba-muted)}.booking-admin-modal input,.booking-admin-modal textarea{padding:8px 10px;border-radius:2px;border:1px solid #cfdcd8;background:#fff;color:var(--ba-ink);font:inherit;font-size:.88rem;font-weight:400}.booking-admin-modal input:focus,.booking-admin-modal textarea:focus{outline:none;border-color:var(--ba-accent);box-shadow:0 0 0 2px var(--ba-accent-soft)}.booking-admin-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.booking-admin-modal-actions .booking-admin-btn{min-height:34px}@media (max-width: 720px){.booking-admin-field{flex:1 1 100%}.booking-admin-toolbar .booking-admin-btn--primary{width:100%}.booking-admin-body{padding:12px}}.region-quota-page{max-width:1320px;padding-bottom:32px}.region-quota-page.admin-page h1{margin-bottom:0}.region-quota-modal .admin-form-group .form-hint{margin-top:8px;margin-bottom:0}.region-quota-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px;padding:22px 26px;border-radius:12px;border:1px solid var(--imooc-border, #e2e8f0);background:var(--imooc-card, #fff);box-shadow:0 1px 4px #0f172a0a}.region-quota-hero-main{display:flex;align-items:flex-start;gap:18px;flex:1;min-width:0}.region-quota-hero-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:1.45rem;border-radius:10px;background:var(--imooc-green-soft, #e8f8f1);border:1px solid rgba(25,165,102,.18)}.region-quota-hero h1{margin:0 0 6px;font-size:1.45rem;font-weight:700;letter-spacing:-.02em;color:var(--imooc-text, #1e293b)}.region-quota-hero-desc{margin:0;font-size:.9rem;line-height:1.55;color:var(--imooc-muted, #64748b);max-width:640px}.region-quota-hero-wallet{margin:10px 0 0;font-size:.92rem;color:var(--imooc-text-muted, #64748b)}.region-quota-hero-wallet strong{color:var(--imooc-green, #19a566);font-size:1.05rem}.region-quota-table__col-wallet{width:108px;text-align:right;white-space:nowrap}.region-quota-table__col-wallet strong{color:var(--imooc-green, #19a566)}.region-quota-wallet-topup-meta{margin:0 0 16px;font-size:.92rem;color:var(--imooc-text-muted, #64748b)}.region-quota-wallet-topup-meta strong{color:var(--imooc-text, #1e293b)}.region-quota-wallet-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding:0 20px 16px}.region-quota-wallet-summary__card{padding:14px 16px;border-radius:10px;border:1px solid var(--imooc-border, #e2e8f0);background:linear-gradient(135deg,#f0fdf4,#fff)}.region-quota-wallet-summary__label{display:block;font-size:.78rem;color:var(--imooc-text-muted, #64748b);margin-bottom:4px}.region-quota-wallet-summary__value{display:block;font-size:1.2rem;color:var(--imooc-green, #19a566)}.region-quota-wallet-summary__hint{display:block;margin-top:4px;font-size:.75rem;color:var(--imooc-text-muted, #64748b)}.region-quota-modal--wide{max-width:920px;width:min(920px,96vw)}.region-quota-modal-overlay--wallet-tx{background:#0f172aad;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:1200;padding:3vh 3vw;align-items:center;justify-content:center}.region-quota-modal.region-quota-modal--wallet-tx.admin-form-modal{width:60vw;max-width:none;min-width:min(60vw,100%);height:60vh;min-height:min(60vh,520px);max-height:60vh;display:flex;flex-direction:column;overflow:hidden;border-radius:22px;box-shadow:0 48px 120px #0f172a66,0 0 0 1px #ffffff1a}.region-quota-modal--wallet-tx .admin-modal-header{flex-shrink:0;padding:26px 32px}.region-quota-modal--wallet-tx .admin-modal-header h3{font-size:1.45rem}.region-quota-modal--wallet-tx .region-quota-modal-header-desc{font-size:.95rem}.region-quota-modal--wallet-tx .region-quota-modal-header-icon{width:54px;height:54px;font-size:1.6rem}.region-quota-modal-body--wallet-tx{display:flex;flex-direction:column;flex:1;min-height:0;padding:24px 32px 28px}.region-quota-wallet-tx-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px;flex-shrink:0}@media (max-width: 768px){.region-quota-modal.region-quota-modal--wallet-tx.admin-form-modal{width:92vw;height:72vh;max-height:72vh;min-height:0}.region-quota-wallet-tx-summary{grid-template-columns:1fr 1fr}.region-quota-wallet-tx-summary__card--wide{grid-column:1 / -1}}.region-quota-wallet-tx-summary__card{padding:18px 20px;border-radius:14px;border:1px solid rgba(1,161,142,.16);background:linear-gradient(135deg,#f0fdf4,#fff)}.region-quota-wallet-tx-summary__card--wide{grid-column:auto}.region-quota-wallet-tx-summary__label{display:block;font-size:.88rem;font-weight:600;color:#64748b;margin-bottom:8px}.region-quota-wallet-tx-summary__value{display:block;font-size:1.75rem;font-weight:700;color:#15803d;line-height:1.2}.region-quota-wallet-tx-summary__value--muted{color:#1e293b}.region-quota-wallet-tx-summary__code{display:block;font-size:.95rem;font-weight:600;color:#334155;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-all}.region-quota-wallet-tx-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:240px;color:#64748b;font-size:1rem}.region-quota-wallet-tx-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:240px;padding:40px;border-radius:14px;border:1px dashed #cbd5e1;background:#f8fafc;color:#64748b}.region-quota-wallet-tx-empty__icon{font-size:2.75rem;opacity:.7}.region-quota-wallet-tx-empty p{margin:0;font-size:1rem}.region-quota-wallet-tx-table-wrap{flex:1;min-height:0;overflow:auto;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:inset 0 1px #fffc}.region-quota-wallet-tx-table{width:100%;border-collapse:collapse;font-size:.98rem}.region-quota-wallet-tx-table thead{position:sticky;top:0;z-index:2;background:#f1f5f9;box-shadow:0 1px #e2e8f0}.region-quota-wallet-tx-table th{padding:16px 20px;text-align:left;font-size:.9rem;font-weight:700;color:#475569;white-space:nowrap;letter-spacing:.02em}.region-quota-wallet-tx-table td{padding:15px 20px;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:middle}.region-quota-wallet-tx-table tbody tr:hover{background:#f8fafc}.region-quota-wallet-tx-table tbody tr.is-striped{background:#fafbfc}.region-quota-wallet-tx-table tbody tr:last-child td{border-bottom:none}.region-quota-wallet-tx-table__num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:1rem}.region-quota-wallet-tx-table__time{white-space:nowrap;color:#64748b;font-size:.92rem}.region-quota-wallet-tx-table__note{max-width:none;word-break:break-word;color:#64748b}.region-quota-wallet-tx-amount.is-plus{color:#15803d;font-weight:700;font-size:1.02rem}.region-quota-wallet-tx-amount.is-minus{color:#dc2626;font-weight:700;font-size:1.02rem}.region-quota-wallet-tx-tag{display:inline-flex;align-items:center;padding:5px 14px;border-radius:999px;font-size:.85rem;font-weight:600;line-height:1.3}.region-quota-wallet-tx-tag--topup{background:#dcfce7;color:#15803d}.region-quota-wallet-tx-tag--debit{background:#fee2e2;color:#b91c1c}.region-quota-wallet-tx-tag--refund{background:#dbeafe;color:#1d4ed8}.region-quota-wallet-tx-tag--adjust{background:#fef3c7;color:#b45309}.region-quota-wallet-tx-actions{margin-top:22px;padding-top:18px;border-top:1px solid #e2e8f0;justify-content:flex-end;flex-shrink:0}.region-quota-wallet-tx-actions .region-quota-primary-btn{min-width:120px;padding:12px 32px;font-size:.95rem}.region-quota-back-btn{flex-shrink:0;padding:8px 16px;border-radius:6px;border:1px solid var(--imooc-border, #e2e8f0);background:var(--imooc-card, #fff);color:var(--imooc-text, #334155);font-size:.88rem;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease}.region-quota-back-btn:hover{background:#f8fafc;border-color:#cbd5e1}.region-quota-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:20px}.region-quota-stat-card{padding:16px 18px;border-radius:14px;border:1px solid rgba(1,161,142,.18);background:var(--home-card);box-shadow:0 2px 12px #0000000a}.region-quota-stat-card--highlight{border-color:#01a18e59;background:linear-gradient(145deg,rgba(1,161,142,.1) 0%,var(--home-card) 70%)}.region-quota-stat-label{display:block;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#78909c;margin-bottom:6px}.region-quota-stat-value{font-size:1.35rem;font-weight:700;color:var(--home-text);line-height:1.2}.region-quota-stat-meta{margin-top:6px;font-size:.82rem;color:#54716c}.region-quota-toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.region-quota-primary-btn{padding:8px 16px;border-radius:6px;border:none;background:var(--imooc-green, #19a566);color:#fff;font-size:.88rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s ease}.region-quota-primary-btn:hover{background:var(--imooc-green-hover, #15803d)}.region-quota-primary-btn:active{transform:scale(.98)}.region-quota-admin-name{font-weight:600;color:var(--home-text)}.region-quota-muted-cell{color:#78909c;font-size:.88rem}.region-quota-level-tag{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:600;background:#eff6ff;color:#2563eb;border:1px solid #dbeafe}.region-quota-empty{padding:56px 24px 64px;text-align:center;color:var(--imooc-muted, #64748b)}.region-quota-empty-icon{font-size:2.2rem;margin-bottom:14px;opacity:.55}.region-quota-empty__title{margin:0 0 8px;font-size:1rem;font-weight:600;color:#475569}.region-quota-empty__hint{font-size:.88rem;line-height:1.5;color:var(--imooc-muted, #94a3b8);max-width:360px;margin:0 auto 18px}.region-quota-actions-cell{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.region-quota-drill-link{padding:7px 10px;border:none;background:none;color:#2563eb;font-size:.82rem;font-weight:600;cursor:pointer}.region-quota-drill-link:hover{text-decoration:underline}.region-quota-drill-link--danger{color:#dc2626;margin-left:8px}.region-quota-filters--teacher{margin-bottom:16px}.region-quota-actions-cell{white-space:nowrap}.region-quota-stat-value--sm{font-size:1rem;line-height:1.35}.region-quota-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.region-quota-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:14px;padding:14px 16px;border-radius:10px;border:1px solid var(--imooc-border, #e2e8f0);background:#f8fafc}.region-quota-filters__label{font-size:.88rem;font-weight:700;color:#334155;white-space:nowrap}.region-quota-filters__select{min-width:200px;padding:8px 12px;border-radius:10px;border:1px solid rgba(1,161,142,.28);background:#fff;color:#334155;font-size:.88rem;cursor:pointer}.region-quota-filters__select:focus{outline:none;border-color:#01a18e8c;box-shadow:0 0 0 3px #01a18e1f}.region-quota-filters__clear{border:none;background:none;padding:6px 10px;color:var(--theme-primary-text, #017a6e);font-size:.84rem;font-weight:600;cursor:pointer;border-radius:8px}.region-quota-filters__clear:hover{background:#01a18e1a}.region-quota-filters__hint{font-size:.82rem;color:#64748b}.region-quota-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:6px 10px;border-radius:12px;background:#01a18e0f;border:1px solid rgba(1,161,142,.12)}.region-quota-breadcrumb .breadcrumb-pill{padding:6px 12px;border-radius:8px;border:none;background:transparent;color:#54716c;font-size:.88rem;cursor:pointer;transition:background .15s ease,color .15s ease}.region-quota-breadcrumb .breadcrumb-pill:hover{background:#01a18e1f;color:var(--theme-primary-text, #017a6e)}.region-quota-breadcrumb .breadcrumb-pill.is-active{background:#01a18e2e;color:var(--theme-primary-text, #017a6e);font-weight:600}.region-quota-breadcrumb .breadcrumb-sep{color:#90a4ae;font-size:.75rem;-webkit-user-select:none;user-select:none}.region-quota-search-wrap{display:flex;align-items:center;gap:10px;flex:1;min-width:200px;max-width:320px}.region-quota-search{width:100%;padding:8px 12px 8px 34px;border-radius:6px;border:1px solid var(--imooc-border, #e2e8f0);background:#fff;color:var(--imooc-text, #1e293b);font-size:.88rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.region-quota-search:focus{border-color:#19a56673;box-shadow:0 0 0 3px #19a5661a}.region-quota-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#90a4ae;font-size:.9rem;pointer-events:none}.region-quota-search-box{position:relative;flex:1}.region-quota-count{font-size:.85rem;color:#78909c;white-space:nowrap}.region-quota-table-card{border-radius:16px;border:1px solid rgba(1,161,142,.2);background:var(--home-card);overflow:hidden;box-shadow:0 4px 24px #0000000d}.region-quota-table-wrap{overflow-x:auto}.region-quota-table{width:100%;border-collapse:collapse;font-size:.9rem}.region-quota-table thead{position:sticky;top:0;z-index:1}.region-quota-table th{padding:14px 16px;text-align:left;font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#54716c;background:linear-gradient(180deg,#01a18e1a,#01a18e0a);border-bottom:1px solid rgba(1,161,142,.2);white-space:nowrap}.region-quota-table th.num-col,.region-quota-table td.num-col{text-align:right;font-variant-numeric:tabular-nums}.region-quota-table td{padding:14px 16px;border-bottom:1px solid rgba(1,161,142,.08);color:var(--home-text);vertical-align:middle}.region-quota-table tbody tr{transition:background .12s ease}.region-quota-table tbody tr:hover{background:#01a18e0d}.region-quota-name-cell{min-width:140px}.region-quota-drill-btn{display:inline-flex;align-items:center;gap:6px;padding:0;border:none;background:none;color:var(--theme-primary-text, #017a6e);font-size:.95rem;font-weight:600;cursor:pointer;text-align:left;transition:color .15s ease}.region-quota-drill-btn:hover{color:var(--theme-primary, #01a18e)}.region-quota-drill-btn .drill-arrow{opacity:.5;font-size:.75rem;transition:transform .15s ease,opacity .15s ease}.region-quota-drill-btn:hover .drill-arrow{opacity:1;transform:translate(2px)}.region-quota-progress{margin-top:6px;height:4px;border-radius:999px;background:#01a18e1f;overflow:hidden;max-width:100px}.region-quota-progress-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,#01a18e,#3b82f6);transition:width .3s ease}.region-quota-progress-bar.is-warning{background:linear-gradient(90deg,#f59e0b,#ef4444)}.quota-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap}.quota-badge:before{content:"";width:6px;height:6px;border-radius:50%;flex-shrink:0}.quota-badge.on{background:#01a18e24;color:#017a6e;border:1px solid rgba(1,161,142,.35)}.quota-badge.on:before{background:#01a18e;box-shadow:0 0 6px #01a18e99}.quota-badge.off,.quota-badge.muted{background:#78909c1a;color:#78909c;border:1px solid rgba(120,144,156,.25)}.quota-badge.off:before,.quota-badge.muted:before{background:#90a4ae}.region-quota-config-btn{padding:7px 14px;border-radius:8px;border:1px solid rgba(1,161,142,.35);background:#01a18e14;color:var(--theme-primary-text, #017a6e);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease}.region-quota-config-btn:hover{background:#01a18e2e;border-color:#01a18e80}.region-quota-config-btn:active{transform:scale(.97)}.region-quota-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:64px 24px;color:#54716c}.region-quota-spinner{width:36px;height:36px;border:3px solid rgba(1,161,142,.2);border-top-color:#01a18e;border-radius:50%;animation:regionQuotaSpin .75s linear infinite}@keyframes regionQuotaSpin{to{transform:rotate(360deg)}}.region-quota-modal.admin-form-modal{max-width:480px;border:none;border-radius:22px;box-shadow:0 32px 80px #0f172a33,0 0 0 1px #01a18e1f}.region-quota-modal-overlay{background:#0f172a7a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10050}.region-quota-modal .admin-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px;background:radial-gradient(circle at 0% 0%,rgba(1,161,142,.2),transparent 52%),radial-gradient(circle at 100% 100%,rgba(59,130,246,.12),transparent 48%),linear-gradient(135deg,#01a18e1a,#fffffffa);border-bottom:1px solid rgba(1,161,142,.14)}.region-quota-modal-header-main{display:flex;align-items:flex-start;gap:14px;flex:1;min-width:0}.region-quota-modal-header-icon{flex-shrink:0;width:46px;height:46px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;border-radius:14px;background:#ffffffeb;border:1px solid rgba(1,161,142,.22);box-shadow:0 4px 14px #01a18e24}.region-quota-modal .admin-modal-header h3{margin:0 0 4px;font-size:1.15rem;font-weight:700;letter-spacing:-.02em}.region-quota-modal-header-desc{margin:0;font-size:.84rem;color:#64748b;line-height:1.45}.region-quota-modal-close{flex-shrink:0;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:#ffffffd9;border:1px solid rgba(1,161,142,.18);color:#64748b;font-size:1.25rem;line-height:1;padding:0;transition:background .2s ease,color .2s ease,border-color .2s ease}.region-quota-modal-close:hover{background:#fff;color:var(--home-text, #1e293b);border-color:#01a18e59}.region-quota-modal .admin-modal-body{padding:22px 24px 20px}.region-quota-modal-context-hint{padding:10px 14px;margin-bottom:18px;border-radius:12px;background:#01a18e12;border:1px solid rgba(1,161,142,.16);font-size:.84rem;color:#54716c;line-height:1.45}.region-quota-modal-section{margin-bottom:20px}.region-quota-modal-section:last-child{margin-bottom:0}.region-quota-modal-section-title{margin:0 0 12px;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.region-quota-modal .admin-form-group{margin-bottom:14px}.region-quota-modal .admin-form-group:last-child{margin-bottom:0}.region-quota-modal .admin-form-group label{display:block;margin-bottom:6px;font-size:.88rem;font-weight:600;color:var(--home-text)}.region-quota-modal .admin-form-group input,.region-quota-modal .admin-form-group select,.region-quota-modal .admin-form-group textarea{display:block;width:100%;min-height:44px;height:44px;padding:0 14px;font-size:.95rem;line-height:1.4;border-radius:12px;border:1px solid rgba(1,161,142,.3);background:#fff;color:var(--home-text);box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.region-quota-modal .admin-form-group input::placeholder{color:#94a3b8}.region-quota-modal .admin-form-group input:focus,.region-quota-modal .admin-form-group select:focus,.region-quota-modal .admin-form-group textarea:focus{outline:none;border-color:var(--theme-primary, #01a18e);box-shadow:0 0 0 3px #01a18e26}.region-quota-modal .admin-form-group input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.region-quota-modal .admin-form-group input[type=number]::-webkit-outer-spin-button,.region-quota-modal .admin-form-group input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.region-quota-modal .admin-form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2354716c' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}.region-quota-modal .admin-form-group .form-hint{margin:6px 0 0;font-size:.82rem;color:#64748b;line-height:1.45}.region-quota-modal .modal-actions{margin-top:22px;padding-top:18px;border-top:1px solid rgba(1,161,142,.12);background:linear-gradient(to bottom,transparent,rgba(248,250,252,.6))}.region-quota-modal .modal-actions .primary-button{min-width:120px;box-shadow:0 4px 14px #01a18e47}.region-quota-modal .region-quota-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;margin-bottom:20px;border-radius:12px;border:1px solid rgba(1,161,142,.2);background:#01a18e0d}.region-quota-modal .region-quota-toggle-label{font-size:.95rem;font-weight:600;color:var(--home-text)}.region-quota-modal .region-quota-toggle-hint{font-size:.8rem;color:#78909c;margin-top:4px}.region-quota-switch{position:relative;width:48px;height:28px;flex-shrink:0}.region-quota-switch input{opacity:0;width:0;height:0}.region-quota-switch-slider{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:#cfd8dc;cursor:pointer;transition:background .2s ease}.region-quota-switch-slider:before{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #00000026;transition:transform .2s ease}.region-quota-switch input:checked+.region-quota-switch-slider{background:#01a18e}.region-quota-switch input:checked+.region-quota-switch-slider:before{transform:translate(20px)}.region-quota-modal .form-hint{font-size:.82rem;color:#78909c;margin:8px 0 0;line-height:1.45}.region-quota-modal .form-hint.is-warn{color:#b45309}.region-quota-tabs{display:inline-flex;flex-wrap:wrap;gap:0;margin-bottom:16px;padding:4px;border-radius:10px;border:1px solid var(--imooc-border, #e2e8f0);background:#f8fafc}.region-quota-tabs__btn{display:inline-flex;align-items:center;padding:9px 18px;border-radius:7px;border:1px solid transparent;background:transparent;color:#64748b;font-size:.88rem;font-weight:500;line-height:1.2;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.region-quota-tabs__btn:hover{color:#1e293b;background:#ffffffb8}.region-quota-tabs__btn.is-active{background:#fff;border-color:#e2e8f0;color:var(--imooc-green-hover, #15803d);font-weight:600;box-shadow:0 1px 3px #0f172a14}.region-quota-tabs__btn.is-active:hover{color:var(--imooc-green-hover, #15803d);background:#fff}.region-quota-tabs__btn:focus-visible{outline:2px solid rgba(25,165,102,.35);outline-offset:2px}.region-quota-path{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:12px;font-size:.85rem}.region-quota-path__sep{color:#cbd5e1;-webkit-user-select:none;user-select:none;padding:0 2px}.region-quota-path__item{padding:4px 8px;border:none;border-radius:6px;background:none;color:#64748b;font-size:.85rem;cursor:pointer;transition:color .15s ease,background .15s ease}.region-quota-path__item:hover{color:var(--imooc-green-hover, #15803d);background:#19a5660f}.region-quota-path__item.is-current{color:#1e293b;font-weight:600;cursor:default}.region-quota-path__item.is-current:hover{background:none;color:#1e293b}.region-quota-panel{background:var(--imooc-card, #fff);border:1px solid var(--imooc-border, #e2e8f0);border-radius:10px;box-shadow:0 1px 4px #0f172a0a;overflow:hidden}.region-quota-panel-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 20px;padding:16px 18px;border-bottom:1px solid var(--imooc-border, #e2e8f0);background:linear-gradient(180deg,#fafbfc,#fff)}.region-quota-panel-head__main{min-width:0}.region-quota-panel-head__title{margin:0;font-size:1rem;font-weight:600;color:#1e293b}.region-quota-panel-head__sub{margin:4px 0 0;font-size:.84rem;color:var(--imooc-muted, #64748b)}.region-quota-panel-head__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;margin-left:auto}.region-quota-panel-head__actions .region-quota-search-box{width:min(100%,260px)}.region-quota-panel-alert{margin:0;padding:10px 18px;border-bottom:1px solid #fecaca;background:#fff5f5;color:#b91c1c;font-size:.88rem}.region-quota-user-cell{display:flex;align-items:center;gap:10px;min-width:0}.region-quota-name-link{padding:0;border:none;background:none;cursor:pointer;text-align:left;color:inherit;font:inherit}.region-quota-name-link:hover{color:var(--primary-color, #2563eb);text-decoration:underline}.region-quota-edit-meta{margin:0 0 16px;color:var(--text-muted, #64748b);font-size:13px}.region-quota-edit-meta code{font-size:12px}.region-quota-user-avatar{flex-shrink:0;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:linear-gradient(135deg,#e8f8f1,#d1fae5);color:#15803d;font-size:.82rem;font-weight:700}.region-quota-account-code{display:inline-block;padding:2px 8px;border-radius:6px;background:#f1f5f9;border:1px solid #e2e8f0;color:#475569;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.4}.region-quota-empty-cell{color:#cbd5e1}.region-quota-table__col-index{width:64px;text-align:center;color:var(--imooc-muted, #94a3b8);font-variant-numeric:tabular-nums}.region-quota-table__col-name{min-width:160px}.region-quota-table__col-account{min-width:120px}.region-quota-table__col-region,.region-quota-table__col-school{min-width:180px}.region-quota-table__col-class{min-width:120px}.region-quota-table__col-role{width:120px}.region-quota-table tbody tr:last-child td{border-bottom:none}.region-quota-table-wrap{padding:0}.region-quota-table-wrap .homework-manage-table th:first-child,.region-quota-table-wrap .homework-manage-table td:first-child{padding-left:18px}.region-quota-table-wrap .homework-manage-table th:last-child,.region-quota-table-wrap .homework-manage-table td:last-child{padding-right:18px}.region-quota-detail-card{background:var(--home-card, #fff);border:1px solid rgba(1,161,142,.2);border-radius:14px;padding:20px 24px;margin-bottom:24px}.region-quota-detail-header h2{margin:0 0 8px;font-size:1.25rem}.region-quota-detail-admin{margin:0 0 16px;color:#54716c;font-size:14px}.region-quota-stats--inline{margin-bottom:20px}.region-quota-breakdown,.region-quota-children-section{margin-top:24px}.region-quota-breakdown h3,.region-quota-children-section h3,.region-quota-list-heading{margin:0 0 8px;font-size:1rem}.region-quota-list-heading{padding:16px 20px 0;display:flex;align-items:center;gap:10px}.region-quota-breakdown-hint{margin:0 0 12px;font-size:13px;color:#78909c}.region-quota-breakdown-empty{margin:8px 0;color:#78909c;font-size:14px}.region-quota-toolbar--region{margin-bottom:16px}.region-quota-filter-check{display:flex;align-items:center;gap:6px;font-size:13px;color:#54716c}.region-quota-table tbody tr.has-quota td:first-child{font-weight:500}@media (max-width: 768px){.region-quota-hero{flex-direction:column;padding:18px}.region-quota-back-btn{align-self:flex-start}.region-quota-panel-head{flex-direction:column;align-items:stretch}.region-quota-panel-head__actions{margin-left:0;width:100%}.region-quota-panel-head__actions .region-quota-search-box{width:100%}.region-quota-tabs{display:flex;width:100%;overflow-x:auto}.region-quota-tabs__btn{flex:1 0 auto;justify-content:center}}.region-quota-logs-toolbar{align-items:flex-end}.region-quota-logs-filters{flex-wrap:wrap;gap:10px 16px}.region-quota-logs-meta{font-size:.9rem;color:var(--home-muted, #64748b);white-space:nowrap}.region-quota-logs-time{white-space:nowrap;font-size:.82rem}.region-quota-log-action{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.78rem;font-weight:600;background:#64748b1f;color:#475569}.region-quota-log-action--set_total{background:#3b82f61f;color:#2563eb}.region-quota-log-action--allocate{background:#01a18e24;color:#0d9488}.region-quota-log-action--consume{background:#f59e0b24;color:#d97706}.region-quota-log-amount.is-plus{color:#059669;font-weight:600}.region-quota-log-amount.is-minus{color:#dc2626;font-weight:600}.region-quota-logs-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px;padding-bottom:8px}.promotion-page{display:flex;flex-direction:column;gap:1.25rem;max-width:1280px;margin:0 auto}.promotion-page__header{padding-bottom:.25rem}.promotion-page__header h2{margin:0 0 .35rem;font-size:1.35rem;font-weight:700;color:#1e293b;letter-spacing:-.02em}.promotion-page__header p{margin:0;font-size:.9rem;color:#64748b;line-height:1.5}.promotion-filter-bar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;padding:14px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 2px #0f172a0a}.promotion-filter-bar__fields{display:flex;flex-wrap:wrap;gap:12px;flex:1;min-width:0}.promotion-filter-bar__actions{display:flex;gap:8px;flex-shrink:0}.promotion-filter-field{display:flex;flex-direction:column;gap:4px;min-width:140px}.promotion-filter-field--grow{flex:1;min-width:180px}.promotion-filter-field span{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.promotion-filter-field select,.promotion-filter-field input{height:36px;padding:0 10px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:#1e293b;font-size:.88rem}.promotion-filter-field select:focus,.promotion-filter-field input:focus{outline:none;border-color:#19a566;box-shadow:0 0 0 3px #19a56626;background:#fff}.promotion-filter-field select:disabled{opacity:.55;cursor:not-allowed}.promotion-btn{height:36px;padding:0 16px;border-radius:8px;font-size:.88rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s,color .15s}.promotion-btn--primary{background:var(--imooc-green, #19a566);color:#fff;border-color:var(--imooc-green, #19a566)}.promotion-btn--primary:hover{background:var(--imooc-green-hover, #15803d)}.promotion-btn--ghost{background:#fff;border-color:#cbd5e1;color:#475569}.promotion-btn--ghost:hover{background:#f8fafc}.promotion-btn--link{background:none;border:none;color:#19a566;padding:0 4px;height:auto;font-weight:500}.promotion-btn--link:hover{text-decoration:underline}.promotion-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.promotion-stat-card{padding:16px 18px;border-radius:12px;background:linear-gradient(135deg,#f0fdf4,#fff);border:1px solid #bbf7d0}.promotion-stat-card__label{display:block;font-size:.78rem;font-weight:600;color:#64748b;margin-bottom:6px}.promotion-stat-card__value{font-size:1.4rem;font-weight:700;color:#15803d;line-height:1.2}.promotion-stat-card__hint{display:block;margin-top:6px;font-size:.75rem;color:#64748b}.promotion-stats-grid--categories{margin-bottom:16px}.promotion-table__summary-row td{font-weight:600;background:#f8fafc;border-top:1px solid #e2e8f0}.promotion-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0f172a0f;overflow:hidden}.promotion-panel__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.promotion-panel__head h3{margin:0;font-size:.95rem;font-weight:700;color:#1e293b}.promotion-panel__meta{font-size:.82rem;color:#64748b}.promotion-table-wrap{overflow-x:auto}.promotion-table{width:100%;border-collapse:collapse;font-size:.86rem}.promotion-table thead{background:#f1f5f9}.promotion-table th{padding:10px 14px;text-align:left;font-weight:600;color:#475569;border-bottom:1px solid #e2e8f0;white-space:nowrap}.promotion-table td{padding:11px 14px;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:middle}.promotion-table tbody tr:hover{background:#f8fafc}.promotion-table tbody tr:last-child td{border-bottom:none}.promotion-table tr.is-selected{background:#ecfdf5}.promotion-table .is-plus{color:#15803d;font-weight:600}.promotion-table .is-minus{color:#dc2626;font-weight:600}.promotion-table .num-col{font-variant-numeric:tabular-nums}.promotion-table--nested{margin:8px 0 4px 12px;width:calc(100% - 12px);background:#f8fafc;border-radius:8px}.promotion-table--nested th,.promotion-table--nested td{font-size:.85rem}.promotion-table__changes{max-width:360px;word-break:break-word;font-size:.82rem;color:#64748b}.promotion-tag{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600;background:#e2e8f0;color:#475569}.promotion-tag--ok{background:#dcfce7;color:#15803d}.promotion-tag--fail{background:#fee2e2;color:#b91c1c}.promotion-tag--role{background:#eff6ff;color:#1d4ed8}.promotion-empty{padding:48px 24px;text-align:center;color:#64748b;font-size:.9rem}.promotion-loading{padding:32px;text-align:center;color:#64748b}.promotion-tabs{display:flex;gap:4px;padding:4px;background:#f1f5f9;border-radius:10px;width:fit-content}.promotion-tabs__btn{padding:8px 16px;border:none;border-radius:8px;background:transparent;color:#64748b;font-size:.86rem;font-weight:600;cursor:pointer}.promotion-tabs__btn.is-active{background:#fff;color:#15803d;box-shadow:0 1px 2px #0f172a14}.promotion-topup-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:14px 16px;border-top:1px solid #e2e8f0;background:#fafafa}.promotion-topup-form label{display:flex;flex-direction:column;gap:4px;font-size:.75rem;font-weight:600;color:#64748b}.promotion-topup-form input{height:36px;min-width:140px;padding:0 10px;border:1px solid #cbd5e1;border-radius:8px}.promotion-error-banner{padding:12px 16px;border-radius:10px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:.88rem}.promotion-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:12px 16px;border-top:1px solid #e2e8f0;font-size:.84rem;color:#64748b}.promotion-success-banner{padding:12px 16px;border-radius:10px;background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d;font-size:.88rem}.promotion-activate-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:14px 16px}.promotion-activate-form .promotion-filter-field textarea{min-height:72px;padding:8px 10px;height:auto;resize:vertical}.promotion-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:10050;padding:16px}.modal-overlay.promotion-modal-backdrop{background:#0f172a73;padding:16px}.promotion-modal{width:min(520px,100%);background:#fff;border-radius:14px;border:1px solid #e2e8f0;box-shadow:0 20px 40px #0f172a26;overflow:hidden}.promotion-modal--wide{width:min(760px,100%);max-height:min(90vh,880px);overflow-y:auto}.promotion-modal-backdrop--wallet-tx{background:#0f172aad;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:3vh 3vw}.promotion-modal--wallet-tx{width:60vw;max-width:none;height:60vh;min-height:min(60vh,520px);max-height:60vh;display:flex;flex-direction:column;overflow:hidden;border-radius:22px;box-shadow:0 48px 120px #0f172a66,0 0 0 1px #ffffff1a}.promotion-modal--wallet-tx .promotion-modal__head{flex-shrink:0;padding:26px 32px}.promotion-modal--wallet-tx .promotion-modal__head h3{font-size:1.45rem}.promotion-modal--wallet-tx .promotion-modal-form{flex:1;min-height:0;display:flex;flex-direction:column;padding:24px 32px 28px;gap:16px}.promotion-modal--wallet-tx .promotion-wallet-tx-meta{flex-shrink:0;margin:0;font-size:.95rem}.promotion-modal--wallet-tx .promotion-table-wrap--scroll{flex:1;min-height:0;overflow:auto;border-radius:16px}.promotion-modal--wallet-tx .promotion-table{font-size:.98rem}.promotion-modal--wallet-tx .promotion-table th,.promotion-modal--wallet-tx .promotion-table td{padding:15px 20px}.promotion-modal--wallet-tx .promotion-modal-form__actions{flex-shrink:0;margin-top:auto;padding-top:18px;border-top:1px solid #e2e8f0}@media (max-width: 768px){.promotion-modal--wallet-tx{width:92vw;height:72vh;max-height:72vh;min-height:0}}@media (max-width: 640px){.promotion-page{gap:.85rem;max-width:100%}.promotion-page__header h2{font-size:1.15rem}.promotion-filter-bar{flex-direction:column;align-items:stretch;padding:12px}.promotion-filter-bar__fields,.promotion-filter-bar__actions{width:100%}.promotion-filter-field,.promotion-filter-field--grow{min-width:0;width:100%}.promotion-filter-bar__actions{flex-wrap:wrap}.promotion-panel{padding:12px}.promotion-table__col-actions{width:auto;white-space:normal}.promotion-bindings__list--courses{max-height:260px}.promotion-bindings__course-grid{grid-template-columns:1fr}.promotion-bindings__search{min-width:0;width:100%}.promotion-modal,.promotion-modal--wide{width:min(96vw,560px);max-width:96vw;max-height:90vh}.promotion-modal-form__row{flex-direction:column}.promotion-modal-form__row>*{width:100%;min-width:0}}.promotion-modal__head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.promotion-modal__head h3{margin:0;font-size:1rem;font-weight:700;color:#1e293b}.promotion-modal__close{width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:#64748b;font-size:1.25rem;line-height:1;cursor:pointer}.promotion-modal__close:hover{background:#e2e8f0;color:#1e293b}.promotion-modal-form{padding:16px 18px 18px;display:flex;flex-direction:column;gap:12px}.promotion-modal-form__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.promotion-modal-form__actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.promotion-modal-form textarea{min-height:80px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:#1e293b;font-size:.88rem;resize:vertical}.promotion-modal-form textarea:focus{outline:none;border-color:#19a566;box-shadow:0 0 0 3px #19a56626;background:#fff}.promotion-binding-section{border:1px solid #e2e8f0;border-radius:10px;padding:12px;background:#fafafa}.promotion-binding-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}.promotion-binding-section__head h4{margin:0;font-size:.9rem;font-weight:700;color:#1e293b}.promotion-binding-section__hint{font-size:.78rem;color:#64748b}.promotion-binding-empty{margin:0;font-size:.84rem;color:#94a3b8}.promotion-binding-groups{display:flex;flex-direction:column;gap:10px;max-height:220px;overflow-y:auto}.promotion-binding-group__title{font-size:.78rem;font-weight:600;color:#64748b;margin-bottom:6px}.promotion-binding-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px}.promotion-binding-item{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;font-size:.82rem}.promotion-binding-item.is-checked{border-color:#86efac;background:#f0fdf4}.promotion-binding-item input{margin:0}.promotion-binding-item__name{font-weight:600;color:#334155}.promotion-binding-item__meta{font-size:.75rem;color:#94a3b8}.promotion-wallet-detail-summary{display:grid;gap:10px}.promotion-wallet-detail-summary__row{display:flex;justify-content:space-between;gap:16px;padding:10px 12px;border-radius:8px;background:#f8fafc;font-size:.875rem}.promotion-wallet-detail-summary__row span{color:#64748b}.promotion-wallet-detail-summary__row strong{color:#0f172a;text-align:right}.promotion-wallet-detail-summary--modal{padding:0 0 12px}.promotion-wallet-tx-meta{margin:0 0 12px;font-size:.875rem;color:#64748b}.promotion-table__col-actions{width:150px;white-space:nowrap;text-align:right}.promotion-table__actions{white-space:nowrap;text-align:right}.promotion-table__action-box{display:flex;align-items:center;justify-content:flex-end;gap:12px}.promotion-table-wrap--scroll{max-height:420px;overflow:auto}.promotion-panel__head-actions{display:flex;align-items:center;gap:12px}.promotion-table--products .num-col{white-space:nowrap}.promotion-table__sub{margin-top:4px;font-size:.82rem;font-weight:400;color:#94a3b8;line-height:1.4}.promotion-modal--wide{width:min(920px,96vw);max-height:92vh;overflow-y:auto}.promotion-price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:12px;padding:12px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.promotion-price-grid__title{grid-column:1 / -1;margin:0 0 4px;font-size:.92rem;font-weight:600;color:#334155}.promotion-bindings{margin-top:12px}.promotion-bindings__title{margin:0 0 4px;font-size:.92rem;font-weight:600;color:#334155}.promotion-bindings__hint{margin:0 0 8px;font-size:.82rem;color:#64748b}.promotion-bindings__list{display:flex;flex-wrap:wrap;gap:8px 14px;max-height:160px;overflow-y:auto;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.promotion-bindings__item{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:#334155;cursor:pointer}.promotion-bindings__list--tiers{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));max-height:none;gap:10px 16px}.promotion-bindings__item--tier{width:100%}.promotion-bindings__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.promotion-bindings__search{flex:1 1 200px;min-width:160px;padding:7px 10px;border:1px solid #e2e8f0;border-radius:8px;font-size:.85rem;color:#334155;background:#fff}.promotion-bindings__search:focus{outline:none;border-color:#94a3b8;box-shadow:0 0 0 2px #94a3b840}.promotion-bindings__list--courses{display:flex;flex-direction:column;flex-wrap:nowrap;gap:12px;max-height:320px;align-items:stretch}.promotion-bindings__cat-title{font-size:.8rem;font-weight:700;color:#0f172a;margin-bottom:6px}.promotion-bindings__sub{margin-bottom:10px;padding:8px 10px;border:1px solid #f1f5f9;border-radius:8px;background:#f8fafc}.promotion-bindings__sub-head{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;color:#475569;cursor:pointer;margin-bottom:8px}.promotion-bindings__count{margin-left:6px;font-style:normal;font-weight:500;color:#94a3b8;font-size:.78rem}.promotion-bindings__course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 10px}.promotion-bindings__item--course{align-items:flex-start;padding:6px 8px;border-radius:6px;border:1px solid transparent;background:#fff}.promotion-bindings__item--course.is-checked{border-color:#cbd5e1;background:#eff6ff}.promotion-bindings__course-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.promotion-bindings__course-name{font-size:.84rem;color:#1e293b;line-height:1.3}.promotion-bindings__course-extra{font-size:.72rem;color:#94a3b8}.promotion-btn--sm{padding:4px 10px;font-size:.8rem}.region-center-page{max-width:1280px;margin:0 auto;padding:0 16px 32px}.region-center-content{padding-top:0}.region-center-hero{margin-bottom:1rem}.region-center-hero h1{margin:0 0 .35rem;font-size:1.5rem;font-weight:700;color:#1e293b}.region-center-hero__desc{margin:0;font-size:.9rem;color:#64748b;line-height:1.5}.region-center-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:1.25rem;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.region-center-tabs__item{display:inline-flex;align-items:center;padding:8px 16px;border-radius:8px;border:1px solid #e2e8f0;background:#f8fafc;color:#475569;font-size:.88rem;font-weight:500;text-decoration:none;transition:background .15s ease,color .15s ease,border-color .15s ease}.region-center-tabs__item:hover{background:#f1f5f9;color:#1e293b}.region-center-tabs__item.is-active{background:var(--imooc-green-soft, #e8f8f1);border-color:#19a56659;color:var(--imooc-green-hover, #15803d);font-weight:600}.region-center-content .region-quota-page,.region-center-content .homework-manage-page,.region-center-content .region-vip-page,.region-center-content .region-module-page{padding-top:0}.region-center-content header.region-quota-hero,.region-center-content .homework-manage-hero{display:none}.school-admin-page--region-center .homework-manage-panel{margin-top:0}.region-vip-students-section{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #e2e8f0}.region-vip-class-tier{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.88rem;color:#64748b}.region-vip-class-tier select{min-width:110px}.region-vip-tier-select{min-width:110px;padding:6px 10px;font-size:.84rem}.region-vip-empty-class{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.region-vip-empty-class p{margin:0}.homework-manage-alert--info{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.region-module-panel{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #e2e8f0}.region-module-tier-row{margin-bottom:1.25rem}.region-module-tier-row__controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:8px}.region-module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin-bottom:1rem}.region-module-grid__item{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;font-size:.88rem;color:#334155;cursor:pointer}.region-module-grid__item input{margin-top:3px}.region-module-actions{display:flex;flex-wrap:wrap;gap:10px}@media (max-width: 640px){.region-center-page{padding:0 0 24px;max-width:100%}.region-center-hero h1{font-size:1.2rem}.region-center-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:6px}.region-center-tabs__item{flex:0 0 auto;white-space:nowrap}.region-module-grid{grid-template-columns:1fr}}.software-download-page{min-height:100vh;padding:clamp(1.5rem,4vw,3rem) clamp(1rem,4vw,2rem) 3rem;background:linear-gradient(165deg,#e0f2fe,#f0fdfa 42%,#f8fafc);box-sizing:border-box}.software-download-page__inner{max-width:880px;margin:0 auto}.software-download-page__head{margin-bottom:1.75rem}.software-download-page__back{border:none;background:transparent;color:#0d9488;font-size:.95rem;font-weight:600;cursor:pointer;padding:0;margin-bottom:.75rem}.software-download-page__back:hover{text-decoration:underline}.software-download-page__head h1{margin:0 0 .5rem;font-size:clamp(1.6rem,3vw,2rem);color:#0f172a}.software-download-page__subtitle{margin:0;color:#475569;line-height:1.6}.software-download-page__status,.software-download-page__error{text-align:center;padding:2rem 1rem;color:#64748b}.software-download-page__error{color:#b91c1c}.software-download-list{display:flex;flex-direction:column;gap:1rem}.software-download-card{padding:1.25rem 1.35rem;border-radius:16px;border:1px solid rgba(13,148,136,.22);background:#ffffffeb;box-shadow:0 8px 24px #0f172a0f}.software-download-card__title{margin:0 0 .85rem;font-size:1.15rem;color:#134e4a}.software-download-card__empty{margin:0;color:#94a3b8;font-size:.92rem}.software-download-card__files{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.software-download-file-btn{display:flex;flex-direction:column;gap:.2rem;padding:.85rem 1rem;border-radius:12px;border:1px solid rgba(1,161,142,.28);background:linear-gradient(135deg,#01a18e14,#fffffff2);text-decoration:none;color:#0f172a;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.software-download-file-btn:hover{border-color:#01a18e;box-shadow:0 6px 18px #01a18e29;transform:translateY(-1px)}.software-download-file-btn__label{font-weight:700;color:#01796f}.software-download-file-btn__meta{font-size:.86rem;color:#64748b;word-break:break-all}.race-car-builder{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:20px 24px 40px;padding-top:calc(16px + var(--app-header-offset, 70px));color:#1e293b}.race-car-builder__header{margin-bottom:16px}.race-car-builder__back{margin-bottom:8px;padding:6px 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;cursor:pointer}.race-car-builder__hint{margin:8px 0 0;color:#64748b;font-size:.9rem;line-height:1.5}.race-car-builder__name-fields{display:flex;flex-wrap:wrap;gap:12px 16px;margin:10px 0 4px}.race-car-builder__name-field{display:flex;flex-direction:column;gap:4px;min-width:200px;font-size:13px}.race-car-builder__name-field input{padding:6px 10px;border:1px solid rgba(255,255,255,.18);border-radius:6px;background:#00000038;color:inherit}.race-car-builder__name-field input:focus{outline:none;border-color:#64b5f6a6}.race-car-builder__module-tag{margin:6px 0 0;font-size:.85rem;color:#475569}.race-car-builder__module-tag code{padding:.1rem .4rem;border-radius:4px;background:#f1f5f9;font-size:.82rem}.race-car-builder__loading{margin:0 0 12px;padding:10px 14px;border-radius:8px;background:#eff6ff;color:#1d4ed8;font-size:.9rem}.race-car-builder__layout{display:grid;grid-template-columns:minmax(360px,440px) minmax(0,1fr);gap:20px;min-height:min(72vh,640px);align-items:stretch}.race-car-builder__motor-bind{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.race-car-builder__motor-bind-row{display:flex;align-items:center;gap:.65rem}.race-car-builder__drive-spin-card{margin-bottom:.85rem;padding:.65rem .75rem;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#0000002e}.race-car-builder__drive-spin-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem}.race-car-builder__drive-spin-head code{font-size:.75rem;opacity:.85}.race-car-builder__motor-bind-row select{flex:1;min-width:0;padding:.35rem .5rem;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#00000040;color:inherit}.race-car-builder__install-all-motors{width:100%;margin-bottom:12px}.race-car-builder__motor-list{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.race-car-builder__motor-card{padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.race-car-builder__motor-card.is-active{border-color:#f59e0b;box-shadow:0 0 0 1px #f59e0b33}.race-car-builder__motor-card.is-filled{border-left:3px solid #22c55e}.race-car-builder__motor-head{display:flex;align-items:center;gap:8px;width:100%;margin-bottom:8px;padding:0;border:none;background:none;text-align:left;cursor:pointer;font-size:.85rem}.race-car-builder__motor-head code{font-size:.7rem;color:#64748b;background:#f1f5f9;padding:2px 6px;border-radius:4px}.race-car-builder__subhint{margin:0 0 10px;font-size:.78rem;color:#64748b;line-height:1.45}.race-car-builder__anchor-pick{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.race-car-builder__anchor-chip{padding:5px 10px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;font-size:.75rem;cursor:pointer}.race-car-builder__anchor-chip.is-active{border-color:#f59e0b;background:#fffbeb;font-weight:700}.race-car-builder__anchor-chip.is-filled{border-color:#22c55e;color:#047857}.race-car-builder__anchor-form{padding:12px;margin-bottom:12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.race-car-builder__anchor-form-title{margin:0 0 10px;font-size:.85rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.race-car-builder__anchor-id{font-size:.72rem;color:#64748b;background:#f1f5f9;padding:2px 6px;border-radius:4px}.race-car-builder__vec-block{margin-bottom:10px}.race-car-builder__vec-label{display:block;font-size:.75rem;font-weight:700;color:#475569;margin-bottom:6px}.race-car-builder__vec-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.race-car-builder__vec-row--2{grid-template-columns:repeat(2,1fr)}.race-car-builder__num--wide input{width:100%}.race-car-builder__num{display:flex;flex-direction:column;gap:2px;font-size:.72rem;color:#64748b}.race-car-builder__num-spin{position:relative;width:100%}.race-car-builder__num-spin input{width:100%;padding:6px 22px 6px 8px;border:1px solid #cbd5e1;border-radius:6px;font-size:.82rem;font-family:ui-monospace,monospace;box-sizing:border-box}.race-car-builder__num-arrows{position:absolute;top:1px;right:1px;bottom:1px;width:18px;display:flex;flex-direction:column;border-left:1px solid #cbd5e1;border-radius:0 5px 5px 0;overflow:hidden}.race-car-builder__num-arrow{flex:1;min-height:0;margin:0;padding:0;border:none;background:#f1f5f9;cursor:pointer;color:#475569}.race-car-builder__num-arrow:hover{background:#e2e8f0;color:#1e293b}.race-car-builder__num-arrow--up{border-bottom:1px solid #cbd5e1}.race-car-builder__num-arrow--up:before,.race-car-builder__num-arrow--down:before{content:"";display:block;width:0;height:0;margin:0 auto;border-left:4px solid transparent;border-right:4px solid transparent}.race-car-builder__num-arrow--up:before{border-bottom:5px solid currentColor}.race-car-builder__num-arrow--down:before{border-top:5px solid currentColor}.race-car-builder__mini-btn{margin-top:6px;padding:5px 10px;border:1px solid #cbd5e1;border-radius:6px;background:#f8fafc;font-size:.75rem;cursor:pointer}.race-car-builder__mini-btn--primary{background:#2563eb;border-color:#2563eb;color:#fff}.race-car-builder__rad-hint{margin:0 0 8px;font-size:.72rem;color:#64748b;font-family:ui-monospace,monospace;word-break:break-all}.race-car-builder__anchor-actions{display:flex;flex-wrap:wrap;gap:8px}.race-car-builder__json-block{margin-bottom:14px}.race-car-builder__json-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;font-size:.78rem;font-weight:700;color:#475569}.race-car-builder__json{width:100%;padding:8px;border:1px solid #cbd5e1;border-radius:8px;font-size:.7rem;font-family:ui-monospace,monospace;line-height:1.4;resize:vertical;box-sizing:border-box;background:#f8fafc;color:#334155}.race-car-builder__panel{display:flex;flex-direction:column;min-height:0;max-height:min(72vh,640px);padding:0;border-radius:14px;border:1px solid #e2e8f0;background:#f8fafc;overflow:hidden}.race-car-builder__panel-scroll{flex:1;min-height:0;overflow-y:auto;padding:16px}.race-car-builder__panel-footer{flex-shrink:0;padding:12px 16px 16px;border-top:1px solid #e2e8f0;background:#f1f5f9}.race-car-builder__panel h2{margin:0 0 10px;font-size:.85rem;font-weight:700;color:#475569}.race-car-builder__wheel-model{margin-bottom:8px}.race-car-builder__part-btns{display:flex;gap:8px;margin-bottom:12px}.race-car-builder__scale-list{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.race-car-builder__scale-row{display:flex;flex-direction:column;gap:6px}.race-car-builder__scale-controls{display:flex;align-items:center;gap:8px}.race-car-builder__scale-controls .race-car-builder__num-spin{flex:1;min-width:0}.race-car-builder__scale-controls .race-car-builder__mini-btn{margin-top:0;flex-shrink:0;white-space:nowrap}.race-car-builder__part-btn{flex:1;padding:10px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;font-weight:600;cursor:pointer}.race-car-builder__part-btn.is-active{border-color:#2563eb;background:#2563eb;color:#fff}.race-car-builder__element-group{margin-bottom:10px}.race-car-builder__element-cat{display:block;font-size:.78rem;font-weight:600;color:#64748b;margin-bottom:6px}.race-car-builder__element-grid{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}.race-car-builder__element-btn{padding:6px 10px;font-size:.8rem;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;cursor:pointer;max-width:100%;text-align:left}.race-car-builder__element-btn.is-active{border-color:#0ea5e9;background:#0ea5e9;color:#fff}.race-car-builder__element-tune{margin-bottom:16px;padding:10px 12px;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc}.race-car-builder__element-tune-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.race-car-builder__anchor-list{list-style:none;margin:0 0 16px;padding:0;font-size:.82rem}.race-car-builder__anchor-list li{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 0;border-bottom:1px solid #e2e8f0}.race-car-builder__anchor-list li.is-filled{color:#047857}.race-car-builder__anchor-type{font-size:.75rem;color:#64748b}.race-car-builder__empty-tag{font-size:.72rem;color:#94a3b8}.race-car-builder__unlink{margin-left:auto;padding:2px 8px;border:none;background:transparent;color:#dc2626;font-size:.75rem;cursor:pointer}.race-car-builder__actions{display:flex;flex-direction:column;gap:8px}.race-car-builder__primary{padding:10px 14px;border:none;border-radius:10px;background:linear-gradient(135deg,#2563eb,#0891b2);color:#fff;font-weight:700;cursor:pointer}.race-car-builder__secondary{padding:8px 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;text-align:center;cursor:pointer}.race-car-builder__file input{display:none}.race-car-builder__msg{margin:10px 0 0;font-size:.82rem;color:#dc2626}.race-car-builder__msg.is-ok{color:#047857}.race-car-builder__line-patrol-probes{margin-top:10px;padding-top:10px;border-top:1px solid rgba(148,163,184,.35)}.race-car-builder__line-patrol-row{display:grid;grid-template-columns:2.5rem 1fr 1fr 1fr;gap:6px 8px;align-items:center;margin-bottom:6px;font-size:.78rem}.race-car-builder__line-patrol-row label{display:flex;flex-direction:column;gap:2px;color:#64748b}.race-car-builder__viewport{position:relative;min-width:0;min-height:min(72vh,640px);height:min(72vh,640px);border-radius:14px;overflow:hidden;border:1px solid #cbd5e1;background:#0f172a}.race-car-builder__view-reset{position:absolute;top:10px;right:10px;z-index:2;padding:6px 12px;border:1px solid #475569;border-radius:8px;background:#0f172ad9;color:#e2e8f0;font-size:.78rem;cursor:pointer}.race-car-builder__view-reset:hover{background:#1e293bf2}.race-car-builder__viewport canvas{display:block;width:100%!important;height:100%!important}@media (max-width: 900px){.race-car-builder__layout{grid-template-columns:1fr}.race-car-builder__panel{max-height:none}.race-car-builder__panel-footer{position:sticky;bottom:0}.race-car-builder__viewport{min-height:400px;height:min(52vh,480px)}}.semifinals-admin-page{max-width:1280px}.semifinals-admin-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;padding:20px 24px;border-radius:16px;border:1px solid rgba(1,161,142,.22);background:var(--home-card, #fff)}.semifinals-admin-hero h1{margin:0 0 6px;font-size:1.3rem}.semifinals-admin-hero p{margin:0;color:#64748b;font-size:.9rem}.semifinals-admin-hero-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex-shrink:0}.semifinals-admin-back{padding:8px 16px;border-radius:8px;border:1px solid rgba(1,161,142,.35);background:transparent;cursor:pointer}.semifinals-admin-toolbar{padding:12px 16px 0;margin-bottom:0}.semifinals-admin-toolbar .prerace-export-dropdown{display:inline-flex;position:relative;vertical-align:middle}.semifinals-admin-toolbar .prerace-export-dropdown__main{border-top-right-radius:0;border-bottom-right-radius:0}.semifinals-admin-toolbar .prerace-export-dropdown__toggle{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px;min-width:2rem;padding-left:.4rem;padding-right:.4rem}.semifinals-admin-keyword-field{min-width:200px}.semifinals-admin-keyword-field .semifinals-admin-search{width:100%;min-width:180px}.semifinals-admin-table-card{background:var(--home-card, #fff);border:1px solid rgba(1,161,142,.2);border-radius:14px;padding:8px 0}.semifinals-admin-loading,.semifinals-admin-empty{text-align:center;padding:40px 16px;color:#78909c}.semifinals-admin-table-wrap{overflow-x:auto}.semifinals-admin-table{width:100%;border-collapse:collapse;font-size:.86rem}.semifinals-admin-table th,.semifinals-admin-table td{padding:10px 12px;border-bottom:1px solid rgba(1,161,142,.1);text-align:left;vertical-align:top}.semifinals-admin-table th{color:#64748b;font-weight:600;white-space:nowrap}.semifinals-filename-cell{max-width:180px;word-break:break-all}.semifinals-comment-cell{max-width:160px;word-break:break-word}.semifinals-admin-actions{display:flex;flex-wrap:wrap;gap:8px;white-space:nowrap}.semifinals-admin-actions a,.semifinals-admin-actions button{font-size:.82rem}.semifinals-admin-actions button{padding:4px 10px;border-radius:6px;border:1px solid rgba(1,161,142,.35);background:#01a18e14;cursor:pointer}.semifinals-review-btn{font-weight:600;color:#0f766e}.semifinals-score-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.8rem;font-weight:600}.semifinals-score-badge--pending{background:#f59e0b26;color:#b45309}.semifinals-score-badge--done{background:#01a18e1f;color:#0f766e}.semifinals-score-modal.admin-form-modal{width:min(1080px,calc(100vw - 32px));max-width:1080px;overflow:visible;animation:none;transform:none}.semifinals-score-modal-overlay.modal-overlay{backdrop-filter:none;-webkit-backdrop-filter:none;background:#0f172a8c}.semifinals-score-modal-body{padding-top:8px}.semifinals-score-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:20px;align-items:start}.semifinals-score-meta{display:flex;flex-wrap:wrap;gap:8px 14px;margin:0 0 12px;color:#64748b;font-size:.82rem}.semifinals-score-player{display:flex;flex-direction:column;gap:8px;isolation:isolate}.semifinals-score-player video{display:block;width:100%;min-height:220px;max-height:min(62vh,520px);border-radius:12px;background:#0f172a;object-fit:contain;transform:translateZ(0)}.semifinals-score-codec-hint{margin:0;padding:10px 12px;border-radius:10px;background:#f59e0b1f;color:#92400e;font-size:.82rem;line-height:1.45}.semifinals-score-open-tab{align-self:flex-start;color:var(--theme-primary, #01a18e);font-size:.85rem;font-weight:600;text-decoration:none}.semifinals-score-player-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.semifinals-score-download-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid color-mix(in srgb,var(--theme-primary, #01a18e) 45%,transparent);background:color-mix(in srgb,var(--theme-primary, #01a18e) 12%,#fff);color:var(--theme-primary, #0f766e);font-size:.88rem;font-weight:700;border-radius:10px;padding:8px 14px;cursor:pointer}.semifinals-score-download-btn:hover:not(:disabled){background:color-mix(in srgb,var(--theme-primary, #01a18e) 20%,#fff)}.semifinals-score-download-btn:disabled{opacity:.55;cursor:not-allowed}.semifinals-score-transcode-btn{border-color:color-mix(in srgb,#2563eb 45%,transparent);background:color-mix(in srgb,#2563eb 12%,#fff);color:#1d4ed8}.semifinals-score-open-tab:hover{text-decoration:underline}.semifinals-score-form-col .admin-form-group{margin-bottom:14px}.semifinals-score-form-col textarea{resize:vertical;min-height:120px}@media (max-width: 860px){.semifinals-score-layout{grid-template-columns:1fr}.semifinals-score-player video{max-height:40vh}}.semifinals-admin-import-card{margin-bottom:20px;padding:20px 24px;border-radius:16px;border:1px solid rgba(1,161,142,.22);background:var(--home-card, #fff)}.semifinals-admin-import-card h2{margin:0 0 8px;font-size:1.05rem}.semifinals-admin-import-hint{margin:0 0 16px;color:#64748b;font-size:.88rem;line-height:1.5}.semifinals-admin-import-form{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end}.semifinals-admin-import-field{display:flex;flex-direction:column;gap:6px;font-size:.85rem}.semifinals-admin-import-field select,.semifinals-admin-import-field input[type=file]{min-width:220px}.semifinals-admin-import-btn{padding:8px 18px;border:none;border-radius:8px;background:#01a18e;color:#fff;cursor:pointer}.semifinals-admin-import-btn:disabled{opacity:.6;cursor:not-allowed}.semifinals-admin-import-result{margin:12px 0 0;font-size:.88rem;color:#0f766e}.semifinals-admin-tabs{margin-bottom:16px;flex-wrap:wrap;gap:6px}.semifinals-tab-count{display:inline-block;margin-left:6px;padding:0 7px;border-radius:999px;background:#01a18e1f;color:#0f766e;font-size:.75rem;font-weight:700;vertical-align:middle}.tab-button.active .semifinals-tab-count{background:#ffffff40;color:inherit}.semifinals-rank-cell{font-weight:700;color:#0f766e;white-space:nowrap}.semifinals-admin-roster-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-bottom:16px}.semifinals-admin-roster-search{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;flex:1}.semifinals-id-cell{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem;word-break:break-all}.semifinals-admin-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px;padding-top:12px;border-top:1px solid rgba(0,0,0,.06)}.semifinals-admin-pagination button{padding:6px 14px;border-radius:8px;border:1px solid rgba(1,161,142,.35);background:#01a18e14;cursor:pointer}.semifinals-admin-pagination button:disabled{opacity:.5;cursor:not-allowed}.semifinals-roster-table{min-width:640px}@media (max-width: 640px){.semifinals-admin-page{padding-left:0;padding-right:0}.semifinals-admin-import-field select,.semifinals-admin-import-field input{min-width:0;width:100%}.semifinals-roster-table{min-width:560px}}:root{--ui-vw-min: 320px;--ui-vw-max: 1920px;--ui-text-xs: clamp(.68rem, .64rem + .22vw, .76rem);--ui-text-sm: clamp(.74rem, .68rem + .32vw, .88rem);--ui-text-base: clamp(.84rem, .76rem + .42vw, 1rem);--ui-text-md: clamp(.92rem, .82rem + .52vw, 1.08rem);--ui-text-lg: clamp(1rem, .88rem + .62vw, 1.22rem);--ui-text-xl: clamp(1.08rem, .92rem + .82vw, 1.38rem);--ui-text-2xl: clamp(1.2rem, 1rem + 1vw, 1.65rem);--ui-btn-font: var(--ui-text-base);--ui-btn-font-sm: var(--ui-text-sm);--ui-btn-pad-y: clamp(.42rem, .32rem + .38vw, .68rem);--ui-btn-pad-x: clamp(.62rem, .48rem + .65vw, 1.05rem);--ui-btn-pad-y-lg: clamp(.55rem, .42rem + .55vw, .85rem);--ui-btn-pad-x-lg: clamp(.85rem, .65rem + 1vw, 1.45rem);--ui-btn-min-h: clamp(2rem, 1.78rem + .95vw, 2.65rem);--ui-btn-min-h-sm: clamp(1.65rem, 1.5rem + .65vw, 2.1rem);--ui-icon-btn: clamp(1.65rem, 1.48rem + .75vw, 2.15rem);--ui-radius-sm: clamp(6px, 4px + .22vw, 10px);--ui-radius-md: clamp(8px, 6px + .32vw, 14px);--ui-radius-lg: clamp(10px, 8px + .42vw, 18px);--ui-gap-xs: clamp(4px, 3px + .18vw, 7px);--ui-gap-sm: clamp(6px, 4px + .28vw, 10px);--ui-gap-md: clamp(8px, 6px + .38vw, 14px);--ui-gap-lg: clamp(12px, 8px + .55vw, 18px);--ui-thumb-h: clamp(52px, 44px + 2.8vw, 96px);--ui-label-tracking: .08em;--ui-page-pad: clamp(.5rem, .35rem + .8vw, 1.5rem);--rpx: .5px;--app-page-pad-x: calc(24 * var(--rpx, .5px));--app-page-pad-y: calc(24 * var(--rpx, .5px))}@media (max-width: 1100px){:root{--ui-text-xs: clamp(.62rem, .58rem + .18vw, .72rem);--ui-text-sm: clamp(.68rem, .62rem + .26vw, .82rem);--ui-text-base: clamp(.76rem, .7rem + .32vw, .92rem);--ui-text-md: clamp(.84rem, .76rem + .4vw, 1rem);--ui-text-lg: clamp(.92rem, .82rem + .48vw, 1.12rem);--ui-text-xl: clamp(1rem, .88rem + .6vw, 1.28rem);--ui-text-2xl: clamp(1.1rem, .95rem + .75vw, 1.45rem);--ui-btn-pad-y: clamp(.3rem, .24rem + .28vw, .55rem);--ui-btn-pad-x: clamp(.48rem, .38rem + .5vw, .9rem);--ui-btn-min-h: clamp(1.7rem, 1.55rem + .7vw, 2.25rem);--ui-btn-min-h-sm: clamp(1.45rem, 1.35rem + .5vw, 1.9rem)}}@media (max-width: 900px){:root{--ui-text-xs: clamp(.58rem, .55rem + .2vw, .68rem);--ui-text-sm: clamp(.64rem, .6rem + .28vw, .78rem);--ui-text-base: clamp(.72rem, .66rem + .35vw, .88rem);--ui-text-md: clamp(.78rem, .72rem + .4vw, .95rem);--ui-text-lg: clamp(.86rem, .78rem + .48vw, 1.05rem);--ui-text-xl: clamp(.94rem, .84rem + .55vw, 1.18rem);--ui-text-2xl: clamp(1.02rem, .9rem + .7vw, 1.32rem);--ui-btn-pad-y: clamp(.24rem, .2rem + .22vw, .42rem);--ui-btn-pad-x: clamp(.4rem, .32rem + .4vw, .75rem);--ui-btn-min-h: clamp(1.55rem, 1.42rem + .55vw, 2rem);--ui-btn-min-h-sm: clamp(1.35rem, 1.25rem + .4vw, 1.7rem);--ui-gap-sm: clamp(4px, 3px + .2vw, 8px);--ui-gap-md: clamp(6px, 4px + .28vw, 10px);--app-page-pad-x: calc(24 * var(--rpx, .5px));--app-page-pad-y: calc(24 * var(--rpx, .5px))}}@media (max-height: 520px),(orientation: landscape) and (max-height: 600px){:root{--ui-text-xs: .58rem;--ui-text-sm: .64rem;--ui-text-base: .7rem;--ui-text-md: .76rem;--ui-text-lg: .84rem;--ui-text-xl: .92rem;--ui-text-2xl: 1.02rem;--ui-btn-font: .68rem;--ui-btn-font-sm: .62rem;--ui-btn-pad-y: .2rem;--ui-btn-pad-x: .4rem;--ui-btn-pad-y-lg: .28rem;--ui-btn-pad-x-lg: .55rem;--ui-btn-min-h: 1.4rem;--ui-btn-min-h-sm: 1.28rem;--ui-icon-btn: 1.35rem;--ui-gap-xs: 3px;--ui-gap-sm: 4px;--ui-gap-md: 6px;--ui-radius-sm: 6px}}@media (max-width: 640px) and (orientation: landscape),(max-height: 420px){:root{--ui-text-xs: .54rem;--ui-text-sm: .6rem;--ui-text-base: .66rem;--ui-text-md: .72rem;--ui-text-lg: .78rem;--ui-text-xl: .86rem;--ui-text-2xl: .95rem;--ui-btn-font: .62rem;--ui-btn-font-sm: .58rem;--ui-btn-pad-y: .16rem;--ui-btn-pad-x: .32rem;--ui-btn-min-h: 1.28rem;--ui-btn-min-h-sm: 1.18rem}}.home-lower-course:not(.home-lower-course--compact-panel){--ui-text-xs: clamp(.6rem, .58rem + .12vw, .68rem);--ui-text-sm: clamp(.66rem, .62rem + .18vw, .76rem);--ui-text-base: clamp(.72rem, .68rem + .2vw, .82rem);--ui-text-md: clamp(.78rem, .72rem + .24vw, .88rem);--ui-btn-font-sm: var(--ui-text-xs);--ui-btn-min-h-sm: clamp(1.35rem, 1.28rem + .35vw, 1.65rem);--ui-icon-btn: clamp(1.35rem, 1.25rem + .45vw, 1.75rem);--ui-thumb-h: clamp(48px, 42px + 1.2vw, 56px)}.home-lower-course--compact-panel{--ui-text-base: clamp(.86rem, .78rem + .48vw, 1.02rem);--ui-text-md: clamp(.96rem, .86rem + .58vw, 1.12rem);--ui-text-lg: clamp(1.02rem, .92rem + .65vw, 1.24rem);--ui-thumb-h: clamp(72px, 62px + 3.2vw, 104px);--ui-icon-btn: clamp(1.85rem, 1.65rem + .95vw, 2.35rem)}.home-lower-train{--ui-text-base: clamp(.82rem, .74rem + .42vw, .98rem);--ui-text-md: clamp(.9rem, .8rem + .52vw, 1.05rem);--ui-text-lg: clamp(.98rem, .86rem + .62vw, 1.18rem);--ui-btn-pad-y-lg: clamp(.5rem, .38rem + .58vw, .78rem);--ui-btn-pad-x-lg: clamp(.75rem, .55rem + 1.05vw, 1.35rem)}.game-right-panel,.blockly-editor,.hardware-blockly-editor{--ui-text-xs: clamp(.64rem, .6rem + .28cqw, .74rem);--ui-text-sm: clamp(.7rem, .64rem + .38cqw, .86rem);--ui-text-base: clamp(.78rem, .7rem + .48cqw, .94rem);--ui-text-md: clamp(.86rem, .76rem + .58cqw, 1.02rem);--ui-text-lg: clamp(.94rem, .82rem + .68cqw, 1.12rem);--ui-btn-font: var(--ui-text-sm);--ui-btn-font-sm: var(--ui-text-xs);--ui-btn-pad-y: clamp(.34rem, .26rem + .42cqw, .58rem);--ui-btn-pad-x: clamp(.48rem, .36rem + .72cqw, .92rem);--ui-btn-min-h: clamp(1.65rem, 1.48rem + .85cqw, 2.25rem);--ui-btn-min-h-sm: clamp(1.48rem, 1.34rem + .65cqw, 1.95rem);--ui-radius-sm: clamp(5px, 4px + .2cqw, 9px);--ui-gap-sm: clamp(4px, 3px + .25cqw, 8px);--ui-gap-md: clamp(6px, 4px + .35cqw, 11px)}.game-left-panel{--ui-text-sm: clamp(.78rem, .7rem + .42vw, .92rem);--ui-text-base: clamp(.86rem, .76rem + .52vw, 1rem);--ui-text-md: clamp(.94rem, .84rem + .58vw, 1.08rem);--ui-btn-font: var(--ui-text-sm);--ui-btn-pad-y: clamp(.42rem, .32rem + .38vw, .62rem);--ui-btn-pad-x: clamp(.62rem, .48rem + .65vw, 1rem);--ui-btn-min-h-sm: clamp(1.75rem, 1.58rem + .75vw, 2.2rem);--ui-radius-sm: clamp(7px, 5px + .28vw, 11px);--ui-gap-sm: clamp(6px, 4px + .28vw, 10px)}@container game-right-panel (max-width: 520px){.blockly-editor,.hardware-blockly-editor{--ui-text-xs: clamp(.6rem, .56rem + .35cqw, .7rem);--ui-text-sm: clamp(.66rem, .6rem + .45cqw, .8rem);--ui-text-base: clamp(.72rem, .64rem + .55cqw, .88rem);--ui-text-lg: clamp(.8rem, .7rem + .65cqw, .96rem);--ui-btn-pad-y: clamp(.28rem, .22rem + .35cqw, .48rem);--ui-btn-pad-x: clamp(.4rem, .32rem + .55cqw, .78rem);--ui-btn-min-h-sm: clamp(1.38rem, 1.28rem + .55cqw, 1.78rem)}}@container game-right-panel (max-width: 400px){.blockly-editor,.hardware-blockly-editor{--ui-text-xs: clamp(.56rem, .52rem + .32cqw, .66rem);--ui-text-sm: clamp(.62rem, .56rem + .4cqw, .74rem);--ui-text-base: clamp(.68rem, .6rem + .48cqw, .82rem);--ui-text-lg: clamp(.74rem, .66rem + .55cqw, .88rem);--ui-btn-min-h-sm: clamp(1.28rem, 1.2rem + .45cqw, 1.62rem)}}@container game-left-panel (max-width: 560px){.game-left-panel>*{--ui-text-sm: clamp(.72rem, .66rem + .45cqw, .86rem);--ui-btn-font: clamp(.68rem, .62rem + .4cqw, .82rem);--ui-btn-min-h-sm: clamp(1.55rem, 1.42rem + .65cqw, 1.95rem)}}@container game-left-panel (max-width: 420px){.game-left-panel>*{--ui-text-sm: clamp(.66rem, .6rem + .38cqw, .78rem);--ui-btn-font: clamp(.62rem, .56rem + .35cqw, .74rem)}}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body,.app{max-width:100%;overflow-x:clip}img,video,canvas,svg{max-width:100%}.admin-page,.home-shell-panel,.homework-manage-page,.class-manage-page,.promotion-page,.region-center-page,.course-admin,.student-homework-page,.student-homework-detail-page,.personal-center-page,.learning-progress-page,.module-manage-surface,.training-shell__main,.home-page--cyber .home-lower-train,.home-page--cyber .home-lower-course{font-size:var(--ui-text-base)}.admin-page h1,.home-shell-panel h1,.homework-manage-page h1,.class-manage-page h1,.module-manage-surface h1,.course-admin h1,.learning-progress-page h1:not(.learning-progress-hero h1){font-size:var(--ui-text-2xl);line-height:1.25}.admin-page h2,.home-shell-panel h2,.module-manage-card h2,.course-admin h2{font-size:var(--ui-text-xl);line-height:1.3}.admin-page h3,.home-shell-panel h3{font-size:var(--ui-text-lg)}.admin-page p,.admin-page label,.admin-page .hint,.admin-page .form-group label,.home-shell-panel p,.module-manage-hint,.module-tier-line,.module-level-count,.homework-manage-toolbar__label,.homework-manage-toolbar__meta,.admin-page th,.admin-page td,.homework-manage-table th,.homework-manage-table td,.admin-table th,.admin-table td{font-size:var(--ui-text-sm)}.primary-button,.edit-button,.add-button,.remove-button,.delete-button,.preview-button,.back-button,.add-module-btn,.tab-button,.homework-manage-btn,.homework-manage-select,.class-manage-btn,.prerace-btn,.semifinals-score-download-btn,.semifinals-score-transcode-btn,.welcome-btn,.welcome-btn--corner,.module-manage-tier-tab,.admin-page button:not(.blockly-button):not([class*=blockly]),.home-shell-panel button:not(.training-shell__menu-btn):not(.training-shell__sidebar-backdrop),.homework-manage-page button,.class-manage-page button,.promotion-page button,.region-center-page button,.course-admin button,.student-homework-page button,.student-homework-detail-page button,.personal-center-page button,.learning-progress-page button{font-size:var(--ui-btn-font);padding:var(--ui-btn-pad-y) var(--ui-btn-pad-x);min-height:var(--ui-btn-min-h-sm);border-radius:var(--ui-radius-sm);line-height:1.25;box-sizing:border-box}.primary-button,.add-module-btn,.homework-manage-btn--query,.tab-button{min-height:var(--ui-btn-min-h);padding:var(--ui-btn-pad-y-lg) var(--ui-btn-pad-x-lg)}.edit-button,.delete-button,.remove-button,.back-button,.preview-button,.add-button,.module-manage-tier-tab{font-size:var(--ui-btn-font-sm);min-height:var(--ui-btn-min-h-sm)}.admin-page input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),.admin-page select,.admin-page textarea,.home-shell-panel input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),.home-shell-panel select,.home-shell-panel textarea,.homework-manage-select,.homework-manage-page input:not([type=checkbox]):not([type=radio]),.homework-manage-page select,.class-manage-page input:not([type=checkbox]):not([type=radio]),.class-manage-page select,.course-admin input:not([type=checkbox]):not([type=radio]),.course-admin select,.course-admin textarea{font-size:var(--ui-text-sm);min-height:var(--ui-btn-min-h-sm);padding:var(--ui-btn-pad-y) var(--ui-btn-pad-x);border-radius:var(--ui-radius-sm);box-sizing:border-box}.admin-page textarea,.home-shell-panel textarea,.course-admin textarea{min-height:calc(var(--ui-btn-min-h) * 3)}.home-sidebar-menu__link,.home-sidebar-menu__group-btn{font-size:var(--ui-text-sm);padding-top:var(--ui-btn-pad-y);padding-bottom:var(--ui-btn-pad-y)}.home-sidebar-menu__link--depth-1,.home-sidebar-menu__group-btn--depth-1{font-size:var(--ui-text-xs)}.corner-meta-name,.corner-meta-name--above-stars{font-size:var(--ui-text-sm)}.corner-role-badge,.corner-meta-detail,.home-bulletin__body{font-size:var(--ui-text-xs)}.home-bulletin__head{font-size:var(--ui-text-sm)}.stars-earned-count{font-size:var(--ui-text-base)}.blocklyWidgetDiv button,.blocklyDropDownDiv button,.blocklyToolboxDiv,.ip-avatar-3d,.training-shell__sidebar-backdrop,button.training-shell__sidebar-backdrop{font-size:inherit;padding:revert;min-height:revert}@media (max-width: 640px){.main-content,.admin-page,.homework-manage-page,.class-manage-page,.promotion-page,.region-center-page,.course-admin{box-sizing:border-box;max-width:100%;padding-left:max(var(--app-page-pad-x),env(safe-area-inset-left,0px));padding-right:max(var(--app-page-pad-x),env(safe-area-inset-right,0px))}.training-shell .home-shell-panel .admin-page,.training-shell .home-shell-panel .course-admin,.training-shell .home-shell-panel .homework-manage-page,.training-shell .home-shell-panel .class-manage-page{padding-left:.25rem;padding-right:.25rem}.class-manage-table-wrap,.homework-manage-table-wrap,.school-admin-table-wrap,.promotion-table-wrap,.semifinals-admin-table-wrap,.prerace-roster-detail-table,.admin-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}}:root{--rpx: .5px;--app-header-offset: calc(88 * var(--rpx, .5px));--app-content-max: 1180px;--app-content-compact: 940px;--app-page-pad-x: calc(24 * var(--rpx, .5px));--app-sidebar-width: calc(280 * var(--rpx, .5px))}@media (min-width: 901px){:root{--app-header-offset: 64px;--app-sidebar-width: 282px;--app-page-pad-x: 24px}}@media (max-width: 1366px) and (min-width: 901px){:root{--app-content-max: 940px}}:root,[data-accent=teal]{--home-bg: #01a18e;--home-card: #f0fdfa;--home-card-border: rgba(1, 161, 142, .22);--theme-primary: #01a18e;--theme-primary-hover: #018f7f;--theme-primary-text: #01796f;--theme-primary-muted: rgba(1, 161, 142, .25);--home-accent: #01a18e;--home-accent-hover: #018f7f;--home-accent-muted: rgba(1, 161, 142, .25);--home-text: #0f3d38;--home-text-muted: #1e5c54;--home-text-on-bg: #f0fdfa;--user-accent: #01a18e;--user-accent-hover: #018f7f}[data-accent=blue]{--home-bg: #2563eb;--home-card: #eff6ff;--home-card-border: rgba(37, 99, 235, .25);--theme-primary: #2563eb;--theme-primary-hover: #1d4ed8;--theme-primary-text: #1e40af;--theme-primary-muted: rgba(37, 99, 235, .25);--home-accent: #2563eb;--home-accent-hover: #1d4ed8;--home-accent-muted: rgba(37, 99, 235, .25);--home-text: #1e293b;--home-text-muted: #334155;--home-text-on-bg: #eff6ff;--user-accent: #2563eb;--user-accent-hover: #1d4ed8}[data-accent=red]{--home-bg: #dc2626;--home-card: #fef2f2;--home-card-border: rgba(220, 38, 38, .25);--theme-primary: #dc2626;--theme-primary-hover: #b91c1c;--theme-primary-text: #991b1b;--theme-primary-muted: rgba(220, 38, 38, .25);--home-accent: #dc2626;--home-accent-hover: #b91c1c;--home-accent-muted: rgba(220, 38, 38, .25);--home-text: #7f1d1d;--home-text-muted: #b91c1c;--home-text-on-bg: #fef2f2;--user-accent: #dc2626;--user-accent-hover: #b91c1c}[data-accent=purple]{--home-bg: #7c3aed;--home-card: #f5f3ff;--home-card-border: rgba(124, 58, 237, .25);--theme-primary: #7c3aed;--theme-primary-hover: #6d28d9;--theme-primary-text: #5b21b6;--theme-primary-muted: rgba(124, 58, 237, .25);--home-accent: #7c3aed;--home-accent-hover: #6d28d9;--home-accent-muted: rgba(124, 58, 237, .25);--home-text: #4c1d95;--home-text-muted: #6d28d9;--home-text-on-bg: #f5f3ff;--user-accent: #7c3aed;--user-accent-hover: #6d28d9}[data-accent=starry]{--home-bg: #0f172a;--home-card: #1e293b;--home-card-border: rgba(251, 191, 36, .4);--theme-primary: #eab308;--theme-primary-hover: #ca8a04;--theme-primary-text: #a16207;--theme-primary-muted: rgba(234, 179, 8, .3);--home-accent: #eab308;--home-accent-hover: #ca8a04;--home-accent-muted: rgba(234, 179, 8, .3);--home-text: #ffffff;--home-text-muted: #cbd5e1;--home-text-on-bg: #0f172a;--user-accent: #eab308;--user-accent-hover: #ca8a04}.app{min-height:100vh;position:relative;background:var(--home-bg);overflow-x:hidden;color:var(--home-text)}.app.app-landing{background:#b8ddf5;--app-header-offset: 0}.app.app-home{background:radial-gradient(ellipse 120% 80% at 50% -25%,rgba(255,255,255,.26),transparent 52%),radial-gradient(ellipse 55% 45% at 100% 80%,color-mix(in srgb,var(--theme-primary) 18%,transparent),transparent 58%),var(--home-bg)}[data-accent=starry] .app.app-home{background:radial-gradient(ellipse 95% 58% at 50% -12%,rgba(34,211,238,.14),transparent 56%),radial-gradient(ellipse 50% 42% at 95% 95%,rgba(167,139,250,.12),transparent 55%),linear-gradient(168deg,#0c1222,#0f172a 48%,#0a0f1c)}.main-content.home-page{--home-hud-edge: color-mix(in srgb, var(--theme-primary) 42%, transparent);--home-hud-inner: color-mix(in srgb, var(--theme-primary) 10%, transparent);--home-hud-ambient: color-mix(in srgb, var(--theme-primary) 7%, transparent);flex-direction:column;max-width:1200px;margin-left:auto;margin-right:auto;padding:20px 22px 40px;padding-top:calc(16px + var(--app-header-offset, 70px));gap:0;position:relative;overflow-x:hidden}.home-page-atmos{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.home-page-atmos__bloom{position:absolute;inset:-20% -10% auto;height:45%;background:radial-gradient(ellipse 70% 100% at 50% 0%,var(--theme-primary-muted),transparent 75%);opacity:.28}[data-accent=starry] .home-page-atmos__bloom{opacity:.22;background:radial-gradient(ellipse 75% 100% at 50% 0%,rgba(34,211,238,.12),transparent 76%)}.home-page-atmos__grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(15,23,42,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.028) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.35) 0%,transparent 70%);mask-image:linear-gradient(180deg,rgba(0,0,0,.35) 0%,transparent 70%);opacity:.85}[data-accent=starry] .home-page-atmos__grid{background-image:linear-gradient(rgba(148,163,184,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.06) 1px,transparent 1px);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.38) 0%,transparent 78%);mask-image:linear-gradient(180deg,rgba(0,0,0,.38) 0%,transparent 78%);opacity:.95}.home-page-atmos__scan{position:absolute;left:-10%;width:120%;height:72px;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--theme-primary) 9%,transparent),transparent);animation:home-hud-scan 22s linear infinite;opacity:.35;pointer-events:none}[data-accent=starry] .home-page-atmos__scan{background:linear-gradient(180deg,transparent,rgba(34,211,238,.06),transparent);opacity:.5}@keyframes home-hud-scan{0%{top:-15%}to{top:115%}}@media (prefers-reduced-motion: reduce){.home-page-atmos__scan{animation:none;opacity:.15;top:40%}}.home-layout{position:relative;z-index:1;display:flex;flex-direction:column;gap:26px;width:100%}.home-lower{position:relative;width:100%;padding-top:12px}.home-lower:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--home-hud-edge),transparent);opacity:.85}.home-lower:after{content:"";position:absolute;top:3px;left:50%;transform:translate(-50%);width:min(180px,40%);height:2px;background:var(--theme-primary);border-radius:2px;opacity:.35;box-shadow:0 0 16px var(--home-hud-inner)}.home-upper{display:flex;flex-wrap:wrap;gap:16px 20px;align-items:stretch;width:100%}.home-upper-profile{flex:1 1 100%;min-width:0}.home-upper .home-user-card{align-self:stretch;justify-content:flex-start;width:100%;max-width:100%}@media (min-width: 640px){.home-upper{flex-wrap:nowrap}.home-upper-profile{flex:4 1 0%;min-width:0}.home-upper>.home-bulletin{flex:3 1 0%;min-width:0;align-self:stretch}}.home-upper .profile-content--corner{display:grid;grid-template-columns:88px minmax(0,1fr);grid-template-rows:auto auto auto auto auto;gap:6px 18px;align-items:center}.home-upper .corner-avatar-block{grid-column:1;grid-row:1 / span 4;width:auto;align-self:center}.home-upper .avatar-container--corner{width:84px;height:84px}.home-upper .avatar--corner{font-size:42px}.home-upper .avatar-frame--corner{top:-4px;left:-4px;right:-4px;bottom:-4px}.home-upper .stars-rating--corner .star{font-size:22px}.home-upper .user-info--corner .stars-earned-count{font-size:1.38rem}.home-upper .corner-meta-name{font-size:1.12rem}.home-upper .corner-meta-detail{font-size:.9rem}.home-upper .user-info--corner{display:contents}.home-upper .profile-hud-box--corner-name{grid-column:2;grid-row:1}.home-upper .profile-hud-box--stars{grid-column:2;grid-row:2}.home-upper .profile-hud-box--entitlements{grid-column:2;grid-row:3}.home-upper .profile-hud-box--meta{grid-column:2;grid-row:4}.home-upper .profile-hud-box--action{grid-column:1 / -1;grid-row:5;display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;margin-top:10px;width:100%}.home-upper .welcome-btn--corner{flex:1 1 auto;min-width:0;width:100%;padding:10px 16px;font-size:.88rem}@media (max-width: 480px){.home-upper .profile-content--corner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.home-upper .corner-avatar-block{grid-column:unset;grid-row:unset}.home-upper .user-info--corner{display:flex;flex-direction:column;align-items:center;width:100%;gap:6px}.home-upper .stars-rating--corner{justify-content:center}.home-upper .corner-meta{align-items:center}.home-upper .profile-hud-box--action{flex-direction:column;margin-top:4px}.home-upper .welcome-btn--corner{flex:1 1 auto;width:100%}}.home-lower-inner{display:flex;flex-direction:column;gap:18px;align-items:stretch;width:100%}.home-lower-train{flex:1;min-width:0;width:100%}@media (min-width: 1060px){.home-lower-inner{display:grid;grid-template-columns:minmax(0,1fr) min(256px,28%);gap:18px;align-items:start}.home-lower-course{position:sticky;top:calc(var(--app-header-offset, 70px) + 10px)}}.home-lower-course{width:100%;min-width:0}.home-user-card{flex-shrink:0;display:flex;justify-content:flex-start;box-sizing:border-box}.home-main{flex:1;min-width:0;width:100%}.home-modules-section{width:100%}.home-course-card{flex-shrink:0;width:100%}.home-page .user-profile-strip{background:var(--home-card);border-color:var(--home-card-border)}.home-page .user-profile-strip .strip-name{color:var(--home-text)}.home-page .user-profile-strip .strip-meta{color:var(--home-text-muted)}.home-page .user-profile-strip .strip-badge{color:var(--theme-primary-text);background:var(--home-accent-muted);border-color:#01a18e59}.main-content{display:flex;gap:24px;padding:24px;max-width:1600px;margin:0 auto;position:relative;z-index:1;padding-top:calc(30px + var(--app-header-offset, 70px))}.left-panel{flex:0 0 350px;display:flex;flex-direction:column;gap:20px}.right-panel{flex:1;min-width:0}@media (max-width: 1200px){.main-content:not(.home-page){flex-direction:column}.left-panel{flex:1}}.home-page .user-profile-panel{background:var(--home-card);border:1px solid var(--home-card-border);border-radius:14px;padding:16px 18px;box-shadow:0 4px 20px #0000000f;width:100%;max-width:100%;box-sizing:border-box}.home-page .home-upper .user-profile-panel{padding:48px 56px;min-height:300px;border-radius:20px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;box-sizing:border-box}@media (max-width: 640px){.home-page .home-upper .user-profile-panel{padding:32px 24px;min-height:0}}[data-accent=starry] .home-page .user-profile-panel{box-shadow:0 6px 24px #00000040}.home-page .home-upper .user-profile-panel,.home-upper>.home-bulletin{position:relative;overflow:hidden;background:linear-gradient(158deg,var(--home-card) 0%,color-mix(in srgb,var(--theme-primary) 6%,var(--home-card)) 100%);border:1px solid color-mix(in srgb,var(--theme-primary) 32%,var(--home-card-border));box-shadow:0 0 0 1px color-mix(in srgb,var(--theme-primary) 12%,transparent) inset,0 14px 44px #0f172a17,0 0 72px var(--home-hud-ambient);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.home-page .home-upper .user-profile-panel:after,.home-upper>.home-bulletin:after{content:"";position:absolute;top:0;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,var(--home-hud-edge),transparent);pointer-events:none}[data-accent=starry] .home-page .home-upper .user-profile-panel,[data-accent=starry] .home-upper>.home-bulletin{background:linear-gradient(158deg,var(--home-card) 0%,color-mix(in srgb,var(--theme-primary) 10%,var(--home-card)) 100%);border-color:color-mix(in srgb,var(--theme-primary) 45%,rgba(71,85,105,.5));box-shadow:0 0 0 1px #22d3ee1a inset,0 16px 48px #00000061,0 0 90px #22d3ee14}.home-page .corner-meta-name{color:var(--home-text)}.home-page .corner-meta-detail{color:var(--home-text-muted)}.home-page .user-profile-panel .avatar.avatar--corner{background:linear-gradient(135deg,var(--theme-primary) 0%,var(--theme-primary-hover) 100%);border-color:var(--theme-primary-muted);box-shadow:0 2px 10px #00000014}.home-page .user-profile-panel .avatar-frame--corner{border-color:var(--theme-primary-muted)}.home-page .profile-hud-box{border-color:color-mix(in srgb,var(--theme-primary) 28%,var(--home-card-border));background:color-mix(in srgb,var(--theme-primary) 5%,var(--home-card))}[data-accent=starry] .home-page .profile-hud-box{border-color:#94a3b847;background:#0f172a66}.home-page .user-profile-panel .welcome-btn--corner{background:var(--theme-primary);border:1px solid transparent;color:var(--home-text-on-bg);box-shadow:none}.home-page .user-profile-panel .welcome-btn--corner:hover{filter:brightness(1.05);border-color:transparent;color:var(--home-text-on-bg)}.home-page .user-profile-panel .stars-earned-count{color:var(--theme-primary-text)}@media (max-width: 640px){.main-content.home-page{padding-left:16px;padding-right:16px}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--home-bg, #01a18e);min-height:100vh;color:var(--home-text, #134e4a);overflow-x:hidden}#root{min-height:100vh}.modal-overlay,.semifinals-modal-overlay,.semifinals-score-modal-overlay,.region-quota-modal-overlay,.login-modal-overlay,.member-unlock-overlay,.user-terms-overlay,.user-terms-detail-overlay,.prerace-quiz-confirm-overlay,.homework-submission-modal-overlay,.booking-admin-modal-backdrop,.promotion-modal-backdrop,.admin-alert-overlay{position:fixed!important;z-index:10050!important}.modal-overlay.admin-alert-overlay{z-index:10100!important}.app .primary-button,.app .edit-button,.app .add-button,.app .remove-button,.app .delete-button,.app .preview-button,.app .back-button,.app .add-module-btn,.app .tab-button,.app .homework-manage-btn,.app .prerace-btn,.app .welcome-btn,.app .welcome-btn--corner,.app .module-manage-tier-tab{font-size:var(--ui-btn-font)!important;padding:var(--ui-btn-pad-y) var(--ui-btn-pad-x)!important;min-height:var(--ui-btn-min-h-sm)!important;border-radius:var(--ui-radius-sm)!important;line-height:1.25!important}.app .primary-button,.app .add-module-btn,.app .tab-button,.app .homework-manage-btn--query{font-size:var(--ui-btn-font)!important;padding:var(--ui-btn-pad-y-lg) var(--ui-btn-pad-x-lg)!important;min-height:var(--ui-btn-min-h)!important}.app .edit-button,.app .delete-button,.app .remove-button,.app .back-button,.app .preview-button,.app .add-button,.app .module-manage-tier-tab{font-size:var(--ui-btn-font-sm)!important;min-height:var(--ui-btn-min-h-sm)!important}.app .admin-page h1,.app .home-shell-panel h1,.app .module-manage-surface h1,.app .course-admin h1{font-size:var(--ui-text-2xl)!important}.app .admin-page h2,.app .module-manage-card h2{font-size:var(--ui-text-xl)!important}.app .admin-page p,.app .admin-page label,.app .module-manage-hint,.app .module-tier-line,.app .module-level-count,.app .admin-page th,.app .admin-page td,.app .homework-manage-table th,.app .homework-manage-table td,.app .home-sidebar-menu__link,.app .home-sidebar-menu__group-btn{font-size:var(--ui-text-sm)!important}.app .home-sidebar-menu__link--depth-1,.app .home-sidebar-menu__group-btn--depth-1,.app .corner-role-badge,.app .corner-meta-detail,.app .home-bulletin__body{font-size:var(--ui-text-xs)!important}.app .corner-meta-name,.app .home-bulletin__head{font-size:var(--ui-text-sm)!important}.app .admin-page input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),.app .admin-page select,.app .homework-manage-select,.app .home-shell-panel input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),.app .home-shell-panel select{font-size:var(--ui-text-sm)!important;min-height:var(--ui-btn-min-h-sm)!important;padding:var(--ui-btn-pad-y) var(--ui-btn-pad-x)!important}.app .blocklyWidgetDiv button,.app .blocklyDropDownDiv button,.app .training-shell__sidebar-backdrop{font-size:revert!important;padding:revert!important;min-height:revert!important}
