.header{position:fixed;top:0;left:0;right:0;height:70px;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 30px;box-shadow:0 2px 16px var(--theme-primary-muted)}@media (max-width: 960px){.header{height:auto;min-height:56px;padding:10px 12px 12px;align-items:flex-start}.header-content{flex-wrap:wrap;row-gap:10px;column-gap:8px;align-items:center}.logo{order:1;flex-shrink:0}.logo-text{font-size:22px;letter-spacing:1px}.header-actions{order:2;margin-left:auto;gap:6px 8px;flex-wrap:wrap;justify-content:flex-end}.header-nav{order:3;flex:1 0 100%;width:100%;margin-left:0;margin-right:0;justify-content:flex-start;flex-wrap:wrap;gap:8px 10px;row-gap:8px}.nav-button{padding:7px 12px;font-size:13px}.icon-button{padding:6px 10px;font-size:13px;gap:4px}.user-name{max-width:4.5em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media (max-width: 480px){.icon-button .label{display:none}.icon-button{padding:8px 10px;min-width:40px;justify-content:center}}.header-content{width:100%;max-width:1600px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.header-brand{display:flex;align-items:center;gap:16px;flex-shrink:0}.logo{display:flex;align-items:center}.header-editor-mode-wrap{position:relative;flex-shrink:0}.header-editor-mode-trigger{display:inline-flex;align-items:center;gap:8px;padding:7px 12px 7px 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: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;z-index:1200;min-width:148px}.header--navbar-template .header-editor-mode-trigger{font-size:15px;padding:8px 14px}.logo-text{font-size:28px;font-weight:700;color:var(--home-text);letter-spacing:2px}.header-nav{display:flex;align-items:center;gap:10px;margin-right:auto;margin-left:30px}.nav-button{padding:8px 16px;background:transparent;border:2px solid var(--theme-primary);color:var(--home-text);border-radius:8px;cursor:pointer;transition:all .25s ease;font-size:14px;font-weight:500}.nav-button:hover{background:var(--theme-primary-muted);border-color:var(--theme-primary-hover);color:var(--theme-primary-text)}.header-actions{display:flex;align-items:center;gap:15px}.user-name{color:var(--home-text);font-size:14px;margin-right:5px}.icon-button{display:flex;align-items:center;gap:8px;padding:8px 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:14px}.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{font-size:18px}.logout-btn{padding: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:14px}.logout-btn:hover{background:#ff52524d;border-color:#ff525299}.settings-wrap{position:relative}.settings-panel{position:absolute;top:100%;right:0;margin-top:8px;min-width:260px;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}.settings-panel-title{font-size:12px;color:var(--home-text-muted);margin-bottom:10px;text-transform:uppercase;letter-spacing:.05em}.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}.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)}.blockly-mode-panel .settings-accent-btn{width:100%;justify-content:flex-start}.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:1.5rem;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 .nav-links{flex:1;margin-left:0;margin-right:0;justify-content:center;gap:1.5rem;flex-wrap:wrap}.header--navbar-template .nav-links__btn{padding:.5rem 1rem;border:none;border-radius:4px;background:transparent;color:var(--home-text-muted);font-size:15px;font-weight:500;cursor:pointer;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:.5rem 1rem;border-radius:4px;font-size: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);transition:background .3s ease,color .3s ease,box-shadow .3s ease}.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: 960px){.header--navbar-template{padding:10px 14px 12px}.header--navbar-template .header-content{flex-wrap:wrap;row-gap:12px}.header--navbar-template .header-brand{order:1;flex-wrap:wrap;gap:10px}.header--navbar-template .user-actions{order:2;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.header--navbar-template .nav-links{order:3;flex:1 0 100%;justify-content:flex-start;gap:10px 14px}.header--navbar-template .nav-links__btn,.header--navbar-template .action-btn{padding:7px 12px;font-size:13px}}.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-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:8px 12px}.profile-hud-box--corner-name .corner-meta-name--above-stars{margin:0}.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}}.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)}.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 1rem;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: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__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__link--sub{padding-left:1.35rem;font-size:.9375rem;font-weight:400;color:#ffffffd1}.home-sidebar-menu__link--sub.is-active{color:#fff;background:#ffffff24}@media (max-width: 640px){.home-sidebar-menu__link,.home-sidebar-menu__group-btn{font-size:.9375rem;padding:.6rem .85rem}.home-sidebar-menu__link--sub{font-size:.875rem}}.main-content.home-page.home-page--cyber{box-sizing:border-box;width:100%;max-width:min(1720px,100%);margin-left:auto;margin-right:auto;padding-top:calc(var(--app-header-offset, 70px) + 14px);padding-bottom:22px;padding-left:clamp(1rem,2.2vw,1.75rem);padding-right:clamp(1rem,2.2vw,1.75rem)}@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}}.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: 1060px){.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;gap:8px 14px;align-items:start}.home-page--cyber .home-cyber-sidebar--left .corner-avatar-block{grid-column:1;grid-row:1 / span 3;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--meta{grid-column:2;grid-row:3}.home-page--cyber .home-cyber-sidebar--left .profile-hud-box--action{grid-column:1 / -1;grid-row:4;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-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: 721px){.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: 721px) 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__layout.home-layout--cyber{display:grid!important;flex-direction:unset;grid-template-columns:minmax(260px,340px) minmax(0,1fr);grid-template-rows:auto;gap:1.25rem clamp(1rem,2vw,1.5rem);align-items:start;width: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}.training-shell__main{grid-column:2;grid-row:1;min-width:0;display:block;width:100%;overflow-x:clip}.training-shell__content--dashboard{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:1.25rem clamp(.75rem,1.5vw,1.25rem);align-items:start;width:100%}.training-shell__content--dashboard>.home-lower-train{grid-column:1;min-width:0}.training-shell__content--dashboard>.home-lower-course{grid-column:2;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}.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-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){.training-shell__layout.home-layout--cyber{grid-template-columns:minmax(200px,28vw) minmax(0,1fr);gap:1rem clamp(.75rem,1.5vw,1.25rem)}.training-shell__content--dashboard{grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:1rem}}@media (max-width: 1024px){.training-shell__content--dashboard{grid-template-columns:1fr;gap:1.125rem}.training-shell__content--dashboard>.home-lower-course{grid-column:1}}@media (max-width: 900px){.training-shell__layout.home-layout--cyber{grid-template-columns:1fr}.training-shell__sidebar,.training-shell__main{grid-column:1}.training-shell__sidebar{position:static}}@media (max-width: 640px){.training-shell__layout.home-layout--cyber{gap:.875rem}}.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 .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}.booking-poster__title{font-size:1.65rem}.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}}.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__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 .training-booking-card .booking-poster{min-height:220px}.home-lower-course .training-course-sidebar{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}}.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:12px;min-width:0}.training-course-mooc__nav-block{display:flex;flex-direction:column;gap:6px;min-width:0}.training-course-mooc__nav-label{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.06em;color:var(--home-text-muted)}.training-course-mooc__cats{display:flex;flex-wrap:wrap;gap:8px}.training-course-mooc__cat{padding:8px 14px;border:1px solid color-mix(in srgb,var(--theme-primary) 35%,transparent);border-radius:8px;background:transparent;color:var(--home-text-muted);font-size:.88rem;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.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__subs{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:6px;border-bottom:1px solid color-mix(in srgb,var(--theme-primary) 15%,transparent)}.training-course-mooc__sub{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--home-text-muted);font-size:.84rem;font-weight:600;line-height:1.35;letter-spacing:.02em;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.training-course-mooc__sub:hover{color:var(--home-text);background:color-mix(in srgb,var(--theme-primary) 12%,transparent)}.training-course-mooc__sub.is-active{color:var(--theme-primary-text);background:color-mix(in srgb,var(--theme-primary) 22%,transparent);border-color:color-mix(in srgb,var(--theme-primary) 40%,transparent);font-weight:700}.training-course-mooc__sub.is-empty .training-course-mooc__sub-count{opacity:.65}.training-course-mooc__sub.is-empty{opacity:.72}.training-course-mooc__sub.is-empty.is-active{opacity:1}.training-course-mooc__sub-count{min-width:1.1em;padding:0 4px;border-radius:999px;background:color-mix(in srgb,var(--theme-primary) 25%,transparent);font-size:.62rem;font-weight:700;text-align:center}.training-course-mooc__sub.is-active .training-course-mooc__sub-count{background:color-mix(in srgb,var(--theme-primary) 45%,transparent)}.training-course-mooc__list{display:flex;flex-direction:column;gap:14px;max-height:min(52vh,420px);overflow-y:auto;padding-right:4px;margin-right:-2px}.training-course-mooc__list::-webkit-scrollbar{width:5px}.training-course-mooc__list::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--theme-primary) 40%,transparent);border-radius:4px}.training-course-mooc__empty{margin:0;padding:20px 8px;text-align:center;font-size:.82rem;color:var(--home-text-muted)}.training-course-mooc__card{display:flex;flex-direction:column;border-radius:12px;overflow:hidden;border:1px solid color-mix(in srgb,var(--theme-primary) 22%,var(--home-card-border));background:var(--home-card);cursor:pointer;text-align:left;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.training-course-mooc__card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--theme-primary) 45%,transparent);box-shadow:0 10px 28px #0f172a24}.training-course-mooc__card:focus-visible{outline:2px solid var(--theme-primary);outline-offset:2px}.training-course-mooc__cover{position:relative;aspect-ratio:16 / 9;min-height:108px;display:flex;align-items:center;justify-content:center}.training-course-mooc__cover-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffffeb;color:var(--theme-primary);font-size:1rem;font-weight:700;box-shadow:0 4px 16px #0003}.training-course-mooc__cover-tag{position:absolute;left:8px;top:8px;padding:2px 8px;border-radius:4px;background:#00000073;color:#fff;font-size:.62rem;font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.training-course-mooc__body{padding:12px 12px 14px;display:flex;flex-direction:column;gap:6px}.training-course-mooc__title{margin:0;font-size:.95rem;font-weight:700;line-height:1.35;color:var(--home-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.training-course-mooc__teacher{margin:0;font-size:.72rem;color:var(--home-text-muted)}.training-course-mooc__desc{margin:0;font-size:.72rem;line-height:1.45;color:var(--home-text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.training-course-mooc__cta{margin-top:4px;align-self:flex-start;padding:6px 14px;border-radius:6px;background:linear-gradient(135deg,#3d9be9 0%,var(--theme-primary, #01a18e) 100%);color:#fff;font-size:.78rem;font-weight:700}.home-lower-course .training-course-mooc__list{max-height:min(52vh,420px)}.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,.home-lower-course .training-course-mooc__sub.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__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__card{background:var(--sidebar-surface);border-color:var(--sidebar-surface-accent-border)}.home-lower-course .training-course-mooc__card:hover{box-shadow:0 8px 20px color-mix(in srgb,var(--theme-primary) 14%,transparent)}.home-lower-course .training-course-mooc__cover{min-height:96px}.home-lower-course .training-course-mooc__title{font-size:.92rem}.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:14px}.home-lower-course .training-course-collapsed-hint{font-size:.68rem;letter-spacing:.04em}.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}.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:12px 32px;background:linear-gradient(135deg,#64b5f6,#42a5f5);border:none;border-radius:10px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 16px #64b5f659;width:100%}.home-page .go-button{padding:14px 36px;font-size:1.05rem;background:var(--user-accent);color:var(--home-text-on-bg, #f0fdfa);border-radius:12px;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:7px 12px;min-height:32px;border:1px solid transparent;border-radius:8px;background:transparent;color:#bae6fde0;font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.06em;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(128px,172px) minmax(0,1fr);min-height:0}.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))}.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:18px 16px 20px;min-width:0}.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}.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:.92rem;line-height:1.25}.home-page .training-modules-panel--split .module-content{gap:6px}.home-page .training-modules-panel--split .book-icon{font-size:1.65rem;line-height:1}.home-page .training-modules-panel--split .progress-info{font-size:.78rem;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:4.5rem;margin-top:2px;padding:5px 14px;font-size:.78rem;font-weight:700;border-radius:8px;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:.72rem;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:10px 12px 10px 14px;border-radius:8px;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:.82rem;letter-spacing:.12em;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: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:1.5rem}.module-slider-wrap{position:relative;margin:4px 0 20px;padding:0 44px;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:40px;height:40px;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:22px;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(2,minmax(0,1fr));gap:.75rem}.module-slider-wrap{padding:0 40px;margin-bottom:14px}}@media (max-width: 900px){.home-page .split-body{padding:14px 12px 16px}.home-page .split-hint{margin-bottom:10px;font-size:.75rem}.home-page .training-modules-panel--split .overall-progress{flex-wrap:wrap;gap:10px;padding:10px 12px;margin-top:4px}.home-page .training-modules-panel--split .total-stars-summary{font-size:.8rem}.module-slider-wrap{padding:0 36px;margin-bottom:10px}.home-page .training-modules-panel--split .module-content{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;column-gap:8px;row-gap:4px;align-items:center}.home-page .training-modules-panel--split .book-icon{grid-row:1 / 3;grid-column:1;font-size:1.35rem}.home-page .training-modules-panel--split .progress-info{grid-column:2;grid-row:1;justify-content:flex-start}.home-page .training-modules-panel--split .progress-bar-container{grid-column:2;grid-row:2}.home-page .training-modules-panel--split .go-button,.home-page .training-modules-panel--split .module-lock-hint{grid-column:1 / -1;grid-row:3}.home-page .training-modules-panel--split .go-button{justify-self:center;padding:4px 12px;font-size:.74rem}}@media (max-width: 520px){.home-page .split-body .modules-grid--six-col,.home-page .split-body .modules-grid--three-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem}.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 30px}}@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-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-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}.home-landing{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:100vh;box-sizing:border-box;padding: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: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{font-size:clamp(1.75rem,3.8vw,2.5rem);font-weight:800;letter-spacing:.14em;color:#0f2d44;text-shadow:0 1px 0 rgba(255,255,255,.5)}.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__primary-col{display:flex;flex-direction:column;gap:clamp(.75rem,1.4vw,1rem);min-height:clamp(400px,48vh,500px)}.home-landing__primary-col>.home-landing__card{flex:1;min-height:0}.home-landing__download-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:.55rem;width:100%;padding:.9rem 1.25rem;border:1px solid rgba(13,148,136,.35);border-radius:18px;background:linear-gradient(135deg,#ffffffeb,#ccfbf1bf);color:#0f766e;font-size:clamp(.95rem,1.35vw,1.05rem);font-weight:700;cursor:pointer;box-shadow:0 6px 18px #0d94881f;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.home-landing__download-btn:hover{transform:translateY(-2px);border-color:#0d94888c;box-shadow:0 10px 24px #0d94882e}.home-landing__download-btn-icon{display:inline-flex;width:1.25rem;height:1.25rem}.home-landing__download-btn-icon svg{width:100%;height:100%}.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:.5rem;left:1rem}.home-landing__brand-cn{font-size:1.5rem;letter-spacing:.1em}}.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{font-size:36px;font-weight:700;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;letter-spacing:3px}.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)}.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}.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;position:relative;background:#7fd4eb;border-radius:16px;overflow:hidden;box-shadow:0 8px 32px #00000038;border:1px solid rgba(255,255,255,.12)}.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-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)}.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:4px 10px;border-radius:8px;font-size:13px;font-weight:600;white-space:nowrap;color:#0a2540;background:#ffffffeb;border:1px solid rgba(10,37,64,.12);box-shadow:0 4px 14px #0000002e}.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--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)}.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}.hardware-blockly-editor{display:flex;flex-direction:column;height:100%;min-height:0;background:#f5f7fa}.hardware-blockly-toolbar{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-bottom:1px solid rgba(100,181,246,.22);background:linear-gradient(180deg,#0e142afa,#0a0e27f5);flex-shrink:0}.hardware-blockly-toolbar__row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}.hardware-bt-profile-select select{padding:6px 24px 6px 8px;border-radius:8px;border:1px solid rgba(100,181,246,.45);background:#00000059;color:#e3f2fd;font-size:12px;max-width:110px}.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:8px;font-size:13px;color:#ffffffe0}.hardware-controller-select select{padding:7px 28px 7px 10px;border-radius:8px;border:1px solid rgba(100,181,246,.45);background:#00000059;color:#e3f2fd;font-size:13px;-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% - 14px) calc(50% + 2px),calc(100% - 8px) calc(50% + 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.hw-toolbar-group{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.hw-toolbar-group__label{font-size:11px;color:#ffffff73;margin-right:2px;-webkit-user-select:none;user-select:none}.hw-conn-dot{width:10px;height: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{height:34px;padding:0 14px;border:none;border-radius:9px;font-size:13px;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease,opacity .15s ease;white-space:nowrap}.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 3px 12px #3949ab73}.hw-btn--device-run{background:linear-gradient(135deg,#26a69a,#00897b);color:#fff;box-shadow:0 3px 12px #00897b66}.hw-btn--stop{background:linear-gradient(135deg,#ef5350,#c62828);color:#fff;box-shadow:0 3px 12px #c6282866}.hw-btn--sim-run{background:linear-gradient(135deg,#66bb6a,#43a047);color:#fff;box-shadow:0 3px 14px #4caf5073}.hw-btn--reset{background:linear-gradient(135deg,#ffa726,#f57c00);color:#fff;box-shadow:0 3px 12px #f57c0059}.hw-btn--code{background:#fff;color:#546e7a;box-shadow:0 2px 8px #0000001f}.hw-btn--code-active{background:#4c97ff;color:#fff}.hardware-blockly-status{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;color:#ffffffa6;min-height:18px}.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:280px;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:14px;text-align:center}.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{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:.95rem;color:#ffffffe0;line-height:1.5}.game-page{box-sizing:border-box;height:100svh;max-height:100svh;min-height:100svh;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}.game-left-panel{grid-column:1;grid-row:1;min-width:0;display:flex;flex-direction:column;gap:12px;min-height:0;overflow:hidden}.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-line-patrol-toggle{position:absolute;top:10px;left:10px;z-index:4;padding:5px 10px;border-radius:8px;border:1px solid rgba(100,181,246,.45);background:linear-gradient(145deg,#1a2342eb,#0f162df2);color:#ffffffeb;font-size:12px;font-weight:600;cursor:pointer;box-shadow:0 2px 10px #00000040}.game-line-patrol-toggle:hover{border-color:#90caf9bf;color:#fff}.game-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}.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:10px;left:10px;z-index:4;padding:8px 14px;border-radius:8px;border:1px solid rgba(239,83,80,.55);background:linear-gradient(135deg,#ef5350,#c62828);color:#fff;font-size:13px;font-weight:700;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}.game-page .level-description{padding:16px 18px;background:#1a234280;border:1px solid rgba(100,181,246,.25);border-radius:12px;color:#ffffffeb;font-size:.95rem;line-height:1.6;flex-shrink:0;max-height:min(160px,28vh);overflow-y:auto}.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:.88rem;padding:10px 12px;max-height:min(140px,24vh)}.walkthrough-video{height:200px}}@media (max-width: 768px){.game-page{padding:64px 8px 10px;padding-top:calc(env(safe-area-inset-top,0px) + 8px + var(--app-header-offset, 70px))}.game-page .back-button{padding:8px 14px;font-size:14px}.level-title{font-size:1rem}.level-info{font-size:.85rem}.game-container{gap:0}.game-page .level-description{max-height:min(120px,22vh);font-size:.82rem}}.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}.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{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-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}.tlevel-chapter-item{display:flex;align-items:center;gap:12px;padding:14px 20px;color:#334155;font-size:.95rem;cursor:pointer;transition:all .15s ease;border-left:3px solid transparent;text-decoration: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{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#cbd5e1;color:#475569;font-size:.8rem;font-weight:600;border-radius:6px}.tlevel-chapter-item.active .chap-num{background:var(--theme-primary, #0d9488);color:#fff}.tlevel-chapter-item .chap-text{flex:1;min-width:0;line-height:1.4}.tlevel-chapter-item .chap-duration{flex-shrink:0;font-size:.8rem;color:#64748b}.tlevel-chapter-item .chap-play{flex-shrink:0;padding:6px 12px;background:#0d94882e;color:var(--theme-primary-text, #0d9488);font-size:.85rem;font-weight:500;border-radius:8px;border:none;cursor:pointer;transition:all .2s}.tlevel-chapter-item .chap-play:hover{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}.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{margin:0 0 8px;font-size:1.75rem;color:var(--home-text)}.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{background:#f0fdfa;border:1px solid rgba(1,161,142,.28);border-radius:14px;padding:22px;transition:all .25s ease}.student-homework-card:hover{background:#f0fdfa;border-color:var(--theme-primary);transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.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:#54716c;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:#0d9488;font-weight:500}.student-homework-card.completed{border-color:#05966966;background:#0596690f}.student-homework-card.completed .student-homework-record .record-value{color:#059669}.student-homework-card .start-btn{width:100%;padding:12px 20px;background:#01a18e26;border:1px solid var(--theme-primary);color:var(--theme-primary-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: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-detail-header{margin-bottom:28px}.student-homework-detail-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-detail-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-detail-header h1{margin:0 0 8px;font-size:1.5rem;color:var(--home-text)}.student-homework-detail-hint{margin:0;font-size:.9rem;color:#54716c!important}.student-level-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.student-level-card{background:#f0fdfa;border:1px solid rgba(1,161,142,.28);border-radius:12px;padding:18px;transition:all .25s ease}.student-level-card:hover{border-color:var(--theme-primary);box-shadow:0 4px 16px #0000000f}.student-level-card h4{margin:0 0 8px;font-size:1.05rem;color:var(--home-text)}.student-level-card .level-start-btn{width:100%;padding:10px 16px;margin-top:8px;background:#01a18e1f;border:1px solid var(--theme-primary);color:var(--theme-primary-text);border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s}.student-level-card .level-start-btn:hover{background:var(--theme-primary);color:#f0fdfa}.student-level-card .level-start-btn:disabled{opacity:.6;cursor:not-allowed}.student-level-record{margin-bottom:8px;font-size:.9rem}.student-level-record .record-done{color:#059669;font-weight:500}.student-level-record .record-pending{color:#64748b}.student-level-card.completed{border-color:#05966966;background:#0596690f}.student-level-card .level-meta{margin:0;font-size:.85rem;color:#54716c}.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:10px 20px;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:10px;cursor:pointer;font-weight:500;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}.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:10px 20px;background:linear-gradient(135deg,var(--theme-primary) 0%,var(--theme-primary-hover) 100%);color:var(--home-card);border:none;border-radius:10px;cursor:pointer;font-weight:600;font-size:.95rem;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(300px,1fr));gap:20px}.admin-page .level-card{background:var(--home-card);border:1px solid rgba(1,161,142,.28);border-radius:14px;padding:20px;transition:all .25s ease;box-shadow:0 2px 12px #0000000d}.admin-page .level-card:hover{border-color:var(--theme-primary);transform:translateY(-3px);box-shadow:0 8px 24px #00000014}.level-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:15px}.level-sort-index{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;height:1.75rem;padding:0 .35rem;border-radius:8px;font-size:.8125rem;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.5rem;color:#b45309;background:#f59e0b24;border-color:#f59e0b59}.level-card--hub{border-color:#f59e0b59;box-shadow:0 0 0 1px #f59e0b1f}.level-header h3{margin:0;color:var(--home-text);flex:1;min-width:120px}.level-sort-hint{margin:0 0 1rem;padding:.65rem .85rem;border-radius:10px;font-size:.875rem;color:#475569;background:#01a18e14;border:1px solid rgba(1,161,142,.18)}.level-sort-control{display:inline-flex;align-items:center;gap:.4rem;margin-right:auto;width:100%;margin-bottom:.35rem}.level-sort-control__label{font-size:.8125rem;color:#64748b;white-space:nowrap}.level-sort-control select{min-width:6.5rem;padding:.35rem .5rem;border-radius:8px;border:1px solid #cbd5e1;font-size:.8125rem;background:#fff}.level-badges{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.module-badge{padding:4px 10px;border-radius:12px;font-size:12px;background:#5c6bc0;color:#fff}.difficulty-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:700}.difficulty-badge.easy{background:#4caf50;color:#fff}.difficulty-badge.medium{background:#ff9800;color:#fff}.difficulty-badge.hard{background:#f44336;color:#fff}.level-preview{margin-bottom:15px}.config-info{font-size:14px;color:#54716c}.config-info p{margin:5px 0}.level-actions{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:2}.edit-button,.add-button,.remove-button,.delete-button,.preview-button{padding:8px 14px;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;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,.28);border-radius:16px;padding:30px}.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}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;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-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}.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}.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:1000;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-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:6px;margin:0;padding:8px 14px;border-radius:10px;border:1px solid rgba(99,102,241,.25);background:#ffffffe6;color:#475569;font-size:.88rem;font-weight:600;line-height:1.2;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:8px 16px;font-size:14px;background:#ffffffe6;border:2px solid var(--theme-primary);color:#0f172a;border-radius: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:10px;padding:12px 24px;background:linear-gradient(135deg,var(--theme-primary) 0%,var(--theme-primary-hover) 100%);border:none;border-radius:12px;color:var(--home-card);font-size:1rem;font-weight:600;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}.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}.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-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)}@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-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:1200}.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:1100}.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 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:1200;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%}}.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: 12px;--ca-radius-sm: 8px;--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;box-sizing:border-box;width:100%;min-width:0;padding:0 0 2rem;color:var(--ca-text);font-family:inherit}.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:1.25rem;padding:1.35rem 1.5rem;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 .4rem;font-size:1.5rem;font-weight:700;color:var(--ca-text);letter-spacing:-.03em}.course-admin__hero p{margin:0;font-size:.875rem;color:var(--ca-muted);line-height:1.6;max-width:52em}.course-admin__alert{margin-bottom:1rem;padding:.7rem 1rem;border-radius:var(--ca-radius-sm);background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:.875rem}.course-admin__section{margin-bottom:1.25rem;padding:1.35rem 1.5rem 1.5rem;border-radius:var(--ca-radius);background:var(--ca-surface);border:1px solid var(--ca-border);box-shadow:var(--ca-shadow)}.course-admin__section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-bottom:.5rem}.course-admin__section-head h2{margin:0;font-size:1.0625rem;font-weight:700;color:var(--ca-text);letter-spacing:-.02em}.course-admin__section-sub{font-size:.8125rem;font-weight:500;color:var(--ca-muted)}.course-admin__hint{margin:0 0 1.15rem;font-size:.8125rem;color:var(--ca-muted);line-height:1.55}.course-admin__empty,.course-admin__loading{margin:0;padding:2.5rem 1rem;text-align:center;color:var(--ca-muted);font-size:.875rem;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:.35rem;padding:.5rem 1.1rem;border-radius:var(--ca-radius-sm);font-size:.8125rem;font-weight:600;cursor:pointer;border:1px solid transparent;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{padding:.35rem .75rem;font-size:.75rem}.course-admin__action-pill{flex:1;padding:.4rem .65rem;border:1px solid var(--ca-border);border-radius:6px;background:var(--ca-surface);font-size:.75rem;font-weight:500;color:var(--ca-text);cursor:pointer;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:.8rem;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(216px,1fr));gap:14px}.course-admin__dir-grid--sub{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.course-admin__dir-card{position:relative;margin: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:4px;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:5px;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:5px;opacity:1}.course-admin__dir-card--category:before{width:5px}.course-admin__dir-card-inner{display:flex;flex-direction:column;min-height:132px;padding:1rem 1rem .85rem 1.15rem}.course-admin__dir-card--category .course-admin__dir-card-inner{min-height:140px}.course-admin__dir-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.65rem}.course-admin__dir-tag{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.6875rem;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:.75rem;font-weight:600;font-variant-numeric:tabular-nums;color:#9ca3af;letter-spacing:.06em}.course-admin__dir-title{margin:0 0 .4rem;font-size:1rem;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}.course-admin__dir-meta{margin:0 0 auto;padding-bottom:.75rem;font-size:.8125rem;color:var(--ca-muted);line-height:1.45}.course-admin__dir-actions{display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #f1f5f9}.course-admin__toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.15rem;padding-bottom:1rem;border-bottom:1px solid #f1f5f9}.course-admin__toolbar h2{margin:0;font-size:1.0625rem;font-weight:700}.course-admin__toolbar-right{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.course-admin__tabs{display:flex;flex-wrap:wrap;gap:.35rem;padding:.2rem;border-radius:var(--ca-radius-sm);background:var(--ca-bg)}.course-admin__tab{padding:.4rem .85rem;border:none;border-radius:6px;background:transparent;color:var(--ca-muted);font-size:.8125rem;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(252px,1fr));gap:16px}.course-admin__course-card{display:flex;flex-direction:column;margin: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;height:96px;background:linear-gradient(135deg,#4f8ef7,#6eb5ff 55%,#a8d4ff);overflow:hidden}.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__badge{position:absolute;top:10px;right:10px;z-index:1;padding:.22rem .55rem;border-radius:4px;font-size:.6875rem;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:1rem 1.1rem 1.05rem}.course-admin__course-body h3{margin:0 0 .6rem;font-size:.9375rem;font-weight:600;color:var(--ca-text);line-height:1.45;letter-spacing:-.02em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-admin__course-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.85rem;flex:1;align-content:flex-start}.course-admin__chip{display:inline-block;padding:.18rem .5rem;border-radius:4px;font-size:.6875rem;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;gap:.5rem;padding-top:.75rem;border-top:1px solid #f1f5f9}.course-admin__videos{border-top:none;box-shadow:var(--ca-shadow)}.course-admin__video-hint{margin:0 0 1rem;padding:.7rem 1rem;border-radius:var(--ca-radius-sm);background:#fffbeb;border:1px solid #fde68a;font-size:.8125rem;color:#92400e;line-height:1.55}.course-admin__video-hint strong{color:#b45309;font-weight:600}.course-admin__player{margin-bottom:1.25rem;border-radius:var(--ca-radius);overflow:hidden;background:#0f172a;box-shadow:var(--ca-shadow)}.course-admin__player-title{margin:0 0 .5rem;font-size:.9375rem;font-weight:600}.course-admin__player video{width:100%;display:block}.course-admin__video-list{display:flex;flex-direction:column;gap:.5rem}.course-admin__video-item{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem 1rem;padding:.9rem 1rem;border-radius:var(--ca-radius-sm);background:#fafbfc;border:1px solid var(--ca-border);transition:border-color .15s ease,background .15s ease}.course-admin__video-item:hover{background:var(--ca-surface);border-color:#d1d5db}.course-admin__video-thumb{flex-shrink:0;width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;border-radius:var(--ca-radius-sm);background:linear-gradient(145deg,#334155,#1e293b);color:#e2e8f0;font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums}.course-admin__video-info{flex:1;min-width:160px}.course-admin__video-title{margin:0 0 .2rem;font-size:.9rem;font-weight:600;color:var(--ca-text)}.course-admin__video-sub{margin:0;font-size:.78rem;color:var(--ca-muted);line-height:1.45}.course-admin__video-status{display:inline-block;margin-left:.4rem;padding:.12rem .4rem;border-radius:4px;font-size:.6875rem;font-weight:600;vertical-align:middle}.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;gap:.35rem}@media (max-width: 720px){.course-admin__section{padding:1rem 1.1rem}.course-admin__dir-grid,.course-admin__dir-grid--sub,.course-admin__course-grid{grid-template-columns:1fr}.course-admin__toolbar{align-items:stretch}.course-admin__toolbar-right{flex-direction:column;align-items:stretch}.course-admin__tabs{width:100%}}.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:space-between;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}.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}.editor-save-hint{font-size:12px;color:#ffffffb3;white-space:nowrap}@media (max-width: 900px){.editor-save-hint{display:none}.editor-local-btn{padding:6px 10px;font-size:12px}}.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;background:linear-gradient(180deg,#0e142afa,#0a0e27f5);border-right:1px solid rgba(100,181,246,.22);padding:18px 16px 24px;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;background:#141e32cc;min-height:0;display:flex;flex-direction:column;overflow:hidden;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,#16203ae0,#0e1426eb);border:1px solid rgba(100,181,246,.16)}.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-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}.booking-admin-page .admin-page-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.booking-admin-toolbar{display:flex;gap:.75rem;margin-bottom:1rem}.booking-admin-toolbar select,.booking-admin-toolbar button{padding:.45rem .75rem;border-radius:8px;border:1px solid rgba(100,181,246,.35);background:#0f172ad9;color:#e3f2fd}.booking-admin-error{color:#ff8a80;margin-bottom:.75rem}.booking-admin-table-wrap{overflow-x:auto}.booking-admin-table{width:100%;border-collapse:collapse;font-size:.88rem}.booking-admin-table th,.booking-admin-table td{padding:.65rem .75rem;border-bottom:1px solid rgba(100,181,246,.18);text-align:left;vertical-align:top}.booking-admin-table small{display:block;margin-top:.2rem;color:#ffffff8c;font-size:.76rem}.booking-admin-notes{max-width:220px;word-break:break-word}.booking-admin-badge{display:inline-block;padding:.15rem .45rem;border-radius:999px;font-size:.75rem;font-weight:700}.booking-admin-badge--pending{background:#ffd54f2e;color:#ffd54f}.booking-admin-badge--confirmed{background:#81c7842e;color:#81c784}.booking-admin-badge--cancelled{background:#b0bec52e;color:#b0bec5}.booking-admin-actions{display:flex;flex-wrap:wrap;gap:.35rem}.booking-admin-actions button{padding:.28rem .55rem;border-radius:6px;border:1px solid rgba(100,181,246,.35);background:#1e293be6;color:#e3f2fd;cursor:pointer;font-size:.78rem}.booking-admin-actions button.danger{border-color:#ff8a8073;color:#ffab91}.booking-admin-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0000008c;padding:1rem}.booking-admin-modal{width:min(480px,100%);padding:1.25rem 1.35rem;border-radius:12px;background:#0f172a;border:1px solid rgba(100,181,246,.35)}.booking-admin-modal h3{margin:0 0 .5rem}.booking-admin-modal-hint{margin:0 0 1rem;font-size:.82rem;color:#ffffffa6;line-height:1.45}.booking-admin-modal label{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.85rem;font-size:.84rem}.booking-admin-modal input,.booking-admin-modal textarea{padding:.45rem .6rem;border-radius:8px;border:1px solid rgba(100,181,246,.3);background:#00000040;color:#fff}.booking-admin-modal-actions{display:flex;justify-content:flex-end;gap:.65rem}.booking-admin-modal-actions button{padding:.45rem .9rem;border-radius:8px;border:1px solid rgba(100,181,246,.35);background:#1e293bf2;color:#e3f2fd;cursor:pointer}.booking-admin-modal-actions button:last-child{background:var(--theme-primary, #01a18e);border-color:transparent;color:#fff}.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__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)}}:root{--app-header-offset: 70px}@media (max-width: 960px){:root{--app-header-offset: 120px}}: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;isolation:isolate;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;gap:6px 18px;align-items:center}.home-upper .corner-avatar-block{grid-column:1;grid-row:1 / span 3;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--meta{grid-column:2;grid-row:3}.home-upper .profile-hud-box--action{grid-column:1 / -1;grid-row:4;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}
