:root{--lime:#d3c7b7;--orange:#d3c7b7;--paper:#0c0d0f;--panel:#161719;--panel-2:#202123;--line:#323335;--soft:#232426;--muted:#a4a4a7;--silver:#e6e1d9;--gold:#d0b487}body{background:radial-gradient(ellipse at 90% 0,#282725 0,#101113 42%,#0b0c0e 100%)}.sidebar{background:#101113}.logo{display:flex;align-items:center;gap:12px;font-size:24px}.logo img{width:58px;height:72px;object-fit:cover;border-radius:5px}.logo small{font-size:8px;letter-spacing:1.4px;line-height:1.8}.mobile-brand{align-items:center;gap:8px}.mobile-brand img{height:37px;width:30px;object-fit:cover}.topbar{gap:12px}.top-actions{flex-wrap:wrap;justify-content:flex-end}.demo{color:#d1bd9a;border:1px solid #524737;background:#29241e}.nav button.active{background:linear-gradient(130deg,#e6dfd4,#bcb4a7)}.button{background:linear-gradient(130deg,#eae4da,#c4baaa);color:#161616}.button.light{background:linear-gradient(130deg,#eae4da,#b8ab94)}.button:disabled{opacity:.4;cursor:not-allowed}.hero.qy-hero{min-height:290px;padding:32px;background:#111;isolation:isolate}.qy-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#111 5%,#111b 48%,#1111);z-index:-1}.qy-hero .brand-photo{position:absolute;right:0;top:0;height:100%;width:58%;object-fit:cover;z-index:-2;opacity:.8}.qy-hero h2{font-size:31px;letter-spacing:2px}.qy-hero .hero-copy{width:70%}.qy-hero .eyebrow{color:#c1b4a3;letter-spacing:3px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}.quick{padding:19px 12px;background:#1a1b1d;border:1px solid var(--line);border-radius:15px;color:var(--ink);text-align:left}.quick b{display:block;font-size:13px;margin-top:11px}.quick span{font-size:22px}.quick small{display:block;margin-top:5px;color:var(--muted);font-size:10px}.status-box{background:#242321;border:1px solid #494238;border-radius:13px;padding:15px;line-height:1.8;font-size:12px}.status-box.ok{background:#1a2822;border-color:#354d3e}.status-box.bad{background:#2e2020;border-color:#63413f}.mini-label{font-size:10px;letter-spacing:1.6px;color:var(--muted)}.course-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.course-card{padding:0;overflow:hidden}.course-cover{height:140px;background:radial-gradient(circle at 70% 50%,#49443c,#1a1b1d);display:flex;align-items:center;justify-content:space-between;padding:23px;position:relative;overflow:hidden}.course-cover .number{font-size:72px;color:#ffffff12;font-weight:900;position:absolute;right:15px}.course-cover strong{font-size:24px;z-index:1;letter-spacing:2px}.course-content{padding:23px}.course-meta{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:17px 0;font-size:11px;color:var(--muted)}.price{font-size:25px;font-weight:800}.review-list .event{align-items:flex-start}.stack{display:grid;gap:12px}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.step-line{display:flex;gap:7px;margin:20px 0;flex-wrap:wrap}.step-line span{padding:7px 11px;border-radius:9px;background:#262729;font-size:11px;color:var(--muted)}.step-line .done{background:#29342c;color:#b9d0be}.step-line .current{background:#40382d;color:#e5d2b1}.chat-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:0;padding:0;overflow:hidden;min-height:550px}.chat-channels{border-right:1px solid var(--line);padding:18px}.channel{padding:14px 12px;border-radius:12px;width:100%;text-align:left;background:none;color:var(--ink);margin-top:8px;border:1px solid transparent}.channel.active{background:#292725;border-color:#4a433a}.channel strong{font-size:13px;display:block}.channel small{color:var(--muted);font-size:10px;display:block;margin-top:6px}.chat-window{display:flex;flex-direction:column;min-width:0}.chat-header{padding:19px 23px;border-bottom:1px solid var(--line)}.chat-messages{height:360px;overflow:auto;padding:22px;display:flex;flex-direction:column;gap:17px}.message{max-width:80%;align-self:flex-start}.message.mine{align-self:flex-end}.message small{font-size:10px;color:var(--muted)}.bubble{padding:12px 15px;background:#282a2d;border-radius:2px 14px 14px;font-size:13px;line-height:1.7;overflow-wrap:anywhere;margin:5px 0}.mine .bubble{background:#d5c9b7;color:#1a1816;border-radius:14px 2px 14px 14px}.message-status{font-size:9px;color:var(--muted);text-align:right}.chat-compose{display:flex;align-items:end;gap:10px;padding:16px;border-top:1px solid var(--line)}.chat-compose textarea{min-height:46px;height:46px;resize:vertical}.chat-note{font-size:10px;color:var(--muted);padding:0 18px 15px;line-height:1.7}.locker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.equipment{border:1px solid #3c3a36;border-radius:15px;overflow:hidden;background:#1d1e20}.equipment-art{height:105px;display:grid;place-items:center;background:radial-gradient(circle,#3c3832,#1c1d20);font-size:48px}.equipment-body{padding:14px}.equipment h3{font-size:13px;margin:8px 0}.equipment small{font-size:10px;color:var(--muted);line-height:1.7;display:block}.equipment.locked .equipment-art{filter:grayscale(1);opacity:.35}.rarity{font-size:9px;letter-spacing:1px;color:#c6b291}.rarity.epic{color:#c8a6e5}.rarity.legend{color:#ebc681}.equipment .button{width:100%;margin-top:11px}.avatar-stage{height:290px;position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 85%,#51453255,transparent 65%)}.avatar-stage svg{height:255px;z-index:1}.avatar-stage.glow:before{content:'';position:absolute;width:200px;height:200px;border:2px solid #dbba7355;box-shadow:0 0 70px #e8bc5766,inset 0 0 45px #f1c96b44;border-radius:50%}.avatar-stage.stars:before{content:'✦  ·  ✧  ·  ✦';position:absolute;top:25px;color:#e4c475;font-size:36px;letter-spacing:8px;animation:twinkle 3s ease-in-out infinite}.avatar-stage.aurora{background:radial-gradient(ellipse at 50% 70%,#744c9955,#24768022 50%,transparent 75%)}@keyframes twinkle{50%{opacity:.35;transform:translateY(-8px)}}.player-title{text-align:center}.player-title h2{font-size:25px}.player-title .sub{font-size:11px}.level-chip{padding:6px 10px;font-size:11px;background:#393329;border:1px solid #6c5c44;border-radius:7px;color:#e0c8a3}.reward-banner{display:flex;align-items:center;gap:14px;padding:18px;background:linear-gradient(100deg,#322b20,#1e1e20);border:1px solid #615039;border-radius:14px;margin:20px 0}.reward-banner strong{font-size:13px}.reward-banner p{font-size:11px;color:var(--muted);margin:5px 0}.reward-banner span{font-size:28px}.task-state{padding:5px 8px;border-radius:5px;background:#26272a;font-size:10px}.audit-meta{font-size:10px;line-height:1.8;color:var(--muted)}.audit-log{border-left:2px solid #73634e;margin:16px 0;padding-left:15px}.audit-log strong{font-size:12px}.attendance-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:17px 0;border-bottom:1px solid var(--line)}.attendance-row:last-child{border:0}.attendance-row h3{font-size:13px}.attendance-row .row{flex-wrap:wrap;justify-content:flex-end}.coach-select{width:auto;min-width:130px;padding:7px 10px;font-size:11px}.identity-panel{display:flex;align-items:center;gap:14px;margin:18px 0}.identity-panel .avatar{height:44px;width:44px}.filter-row{display:flex;gap:8px;margin-bottom:18px;overflow:auto}.filter-row .button{white-space:nowrap}.footer-note{line-height:1.9}.text-button{background:none;color:var(--silver);text-decoration:underline;font-size:12px}.empty{text-align:center;line-height:1.8}.danger{color:#e8a5a0}.receipt{padding:14px;background:#101113;border:1px dashed #46413a;border-radius:10px;font-size:12px;line-height:1.9}.course-card .pill{background:#252322}.daily-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.task-body h3{line-height:1.6}.check input{accent-color:#cab99a}.hero .button{margin-top:16px}.announcement-mark{font-size:11px;color:#c7b18f}.app-version{color:#79797d;font-size:10px;letter-spacing:2px}.photo-mark{width:100%;max-height:240px;object-fit:contain;background:#080909;border-radius:15px}.completion{color:#b7d1bc}.bottomnav button{min-width:0;flex:1}.coach-tabs{margin:15px 0 24px;display:flex;gap:8px;flex-wrap:wrap}.coach-tabs button{font-size:11px}.count{background:#594a33;border-radius:15px;padding:2px 6px;margin-left:5px;font-size:9px}
@media(max-width:1050px){.quick-grid{grid-template-columns:repeat(2,1fr)}.locker-grid{grid-template-columns:repeat(2,1fr)}.chat-layout{grid-template-columns:200px 1fr}.grid{grid-template-columns:1fr 1fr}.top-actions .avatar{display:none}}
@media(max-width:760px){.mobile-brand{display:flex}.topbar{align-items:flex-start}.top-actions{gap:5px;max-width:235px}.top-actions .mode{font-size:9px}.top-actions .demo{display:none}.grid{grid-template-columns:1fr}.hero.qy-hero{min-height:270px;padding:24px}.qy-hero h2{font-size:26px}.qy-hero .hero-copy{width:85%}.qy-hero .brand-photo{width:70%;opacity:.65}.course-list{grid-template-columns:1fr}.chat-layout{display:flex;flex-direction:column;min-height:unset}.chat-channels{display:flex;gap:8px;border-right:0;border-bottom:1px solid var(--line);overflow:auto;padding:12px}.chat-channels h3,.chat-channels>p{display:none}.channel{min-width:155px;margin:0;padding:10px}.chat-messages{height:350px;padding:16px}.message{max-width:90%}.chat-header{padding:15px}.chat-compose{padding:12px}.locker-grid{gap:10px}.equipment-body{padding:12px}.equipment-art{height:95px}.intro h1{font-size:25px}.quick-grid{gap:10px}.quick{padding:15px}.form-two{grid-template-columns:1fr}.attendance-row{grid-template-columns:1fr}.attendance-row .row{justify-content:flex-start}.coach-select{max-width:160px}.avatar-stage{height:260px}.avatar-stage svg{height:230px}.stats .stat strong{font-size:22px}.course-cover strong{font-size:22px}.card{padding:19px}.course-card,.chat-layout{padding:0}.topbar .mode:nth-last-child(2){display:none}.reward-banner{padding:15px}.footer-note{font-size:9px}.day{min-width:0}.hero .sub{font-size:12px}.audit-meta{overflow-wrap:anywhere}}
.line-sidebar{padding:16px;display:flex;flex-direction:column;gap:15px}.line-sidebar-heading .tabs{margin:0 0 10px;gap:6px}.line-sidebar-heading .tabs button{font-size:12px;padding:9px 12px}.line-channel-list{overflow:auto;max-height:510px}.line-channel-list input{font-size:12px;margin-bottom:10px}.contact-row{display:flex;align-items:center;gap:10px;min-width:0}.contact-avatar{width:37px;height:37px;flex-shrink:0;border-radius:12px;display:grid;place-items:center;background:linear-gradient(130deg,#655b4f,#302f2c);color:#e9e0d4;font-size:14px}.contact-copy{min-width:0}.contact-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.chat-type{color:#b5aa97;font-size:9px;font-weight:400;display:inline-block;margin-top:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.top-actions #ownerDemoBtn{border-color:#75644a;color:#e2cda8}
@media(max-width:760px){.chat-channels.line-sidebar{display:block;padding:12px}.line-sidebar-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.line-sidebar-heading .tabs{margin:0}.line-channel-list{max-height:200px}.line-channel-list:has(#contactResults){display:block}.line-channel-list:not(:has(#contactResults)){display:flex;gap:8px}.line-channel-list .channel{min-width:190px}.line-channel-list #contactResults .channel{width:100%;margin:4px 0}.contact-copy small{max-width:140px}.chat-channels.line-sidebar .line-sidebar-heading h3{display:block}.top-actions{max-width:245px}main:has(#ownerDemoBtn){padding-bottom:100px}}
#ownerDemoBtn{display:none!important}.topbar .breadcrumb{display:flex;align-items:center;gap:12px}.breadcrumb img{width:32px;height:42px;object-fit:cover}.breadcrumb b{font-size:23px;letter-spacing:2px;color:var(--ink)}.breadcrumb small{display:block;font-size:8px;letter-spacing:1.5px;margin-top:3px}.top-actions .avatar{display:grid;width:40px;height:40px;cursor:pointer;background:#d4c9b6;color:#181715;flex-shrink:0}.topbar .mode[aria-label="查看通知"]{display:inline-block}.top-actions{max-width:none;flex-wrap:nowrap}.top-actions .mode{white-space:nowrap;padding:10px 15px}.topbar{align-items:center}.top-actions .demo{display:inline-block}.avatar[role="button"]:focus-visible{outline:2px solid #d4c9b6;outline-offset:4px}
@media(max-width:760px){.topbar .breadcrumb{display:none}.mobile-brand{font-size:22px;white-space:nowrap}.top-actions{gap:7px}.top-actions .demo{display:none}.top-actions .mode{font-size:10px;padding:8px 9px}.top-actions .avatar{width:33px;height:33px;font-size:13px}.topbar .mode[aria-label="查看通知"]{display:inline-block}.topbar{gap:8px}.mobile-brand img{height:32px;width:25px}}
@media(max-width:380px){.top-actions .mode{font-size:9px;padding:7px}.mobile-brand{font-size:19px;gap:4px}.top-actions{gap:5px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

/* Account views share the charcoal brand while keeping distinct color cues. */
body[data-view="student"]{--panel:#1e1b1a;--panel-2:#27221f;--soft:#302a25;--line:#403831;--lime:#e2c9a6;background:radial-gradient(circle at 85% 0,#403126 0,#1a1716 36%,#111112 85%)}
body[data-view="student"] .sidebar{background:#1b1817;border-color:#4a3c32}
body[data-view="student"] .nav button.active,body[data-view="student"] .bottomnav button.active{background:#e2c9a6;color:#201a17}
body[data-view="student"] .hero.qy-hero{background:linear-gradient(130deg,#433329,#1a1919 70%);border-color:#68513d}
body[data-view="student"] .player{background:linear-gradient(180deg,#332820,#1a191a);border-color:#634c39}
body[data-view="coach"],body[data-view="admin"]{--panel:#1b1a18;--panel-2:#24211c;--soft:#2c271e;--line:#5a4d38;--lime:#dfc38e;background:radial-gradient(circle at 85% 0,#30291e 0,#181715 40%,#101113 90%)}
body[data-view="coach"] .sidebar,body[data-view="admin"] .sidebar{background:#161718;border-color:#5a4d38}
body[data-view="coach"] .nav button.active,body[data-view="admin"] .nav button.active,body[data-view="coach"] .bottomnav button.active,body[data-view="admin"] .bottomnav button.active{background:#dfc38e;color:#302714}
body[data-view="coach"] .stat,body[data-view="admin"] .stat{background:#2c271e;border-color:#5a4d38}
body[data-view="coach"] .stat strong,body[data-view="admin"] .stat strong{color:#dfc38e}
body[data-view="coach"] .card,body[data-view="admin"] .card{background:linear-gradient(180deg,#24211c,#171717)}
body[data-view="coach"] .top-actions .demo,body[data-view="admin"] .top-actions .demo{background:#30291e;color:#f1dfbd;border:1px solid #5a4d38}
body[data-view="student"] .top-actions .demo{background:#4b382c;color:#ead1ae;border:1px solid #7b5a43}
body[data-view="student"] .top-actions .avatar{background:#e2c9a6}
body[data-view="coach"] .top-actions .avatar,body[data-view="admin"] .top-actions .avatar{background:#dfc38e;color:#302714}
.course-card.enrollment-complete{border-color:#4c7e60;box-shadow:0 10px 30px #183d2680}
.course-card.enrollment-pending{border-color:#786644}
.course-card .button.enrollment-complete{background:#326147;color:#ebfff0;border:1px solid #5a9970}
.course-card .button.enrollment-pending{background:#493e29;color:#f1deb1;border:1px solid #8c7446}
.course-statuses{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.course-status{font-size:11px;border-radius:30px;padding:5px 9px;background:#373027;color:#edcf96;border:1px solid #705d3a}
.course-status.complete{background:#213e2e;color:#b9ebc7;border-color:#497c5b}
.enroll-another{margin-top:12px;text-align:right}
@media(max-width:760px){.top-actions .demo{display:inline-block;font-size:9px;padding:5px 7px}.course-content .row{flex-wrap:wrap}}

/* Bright adventure stages, drawn entirely for the Bridge Yue character. */
.adventure-player{overflow:hidden;border-color:#71604c;background:linear-gradient(180deg,#302638,#1a1b22)!important}
.adventure-player .avatar-stage{height:340px;margin:14px -9px 8px;border-radius:19px;isolation:isolate;box-shadow:inset 0 0 40px #fff2,0 15px 40px #0009}
.adventure-player .avatar-stage svg{height:274px;align-self:end;z-index:5;filter:drop-shadow(0 12px 3px #0008) drop-shadow(0 0 11px #fff5);animation:heroFloat 3s ease-in-out infinite}
.adventure-player .avatar-stage:before,.adventure-player .avatar-stage:after{display:none}
.stage-sky,.stage-horizon,.stage-orbit,.stage-burst,.stage-foreground{position:absolute;pointer-events:none}
.stage-sky{inset:0;z-index:0}
.stage-horizon{left:-10%;right:-10%;bottom:-22%;height:46%;z-index:1;border-radius:50% 50% 0 0;box-shadow:0 -9px 25px #fff5}
.stage-orbit{inset:12px 0 auto;z-index:2;white-space:nowrap;text-align:center;font-size:33px;letter-spacing:24px;color:#fff4c4;text-shadow:0 0 12px #fff,0 0 28px #ffc84f;animation:stageDrift 6s ease-in-out infinite}
.stage-burst{z-index:2;left:50%;top:53%;transform:translate(-50%,-50%);font-size:260px;line-height:1;color:#ffffff22;filter:drop-shadow(0 0 20px #fff8);animation:burstSpin 18s linear infinite}
.stage-foreground{z-index:6;bottom:12px;left:0;right:0;text-align:center;font-size:23px;letter-spacing:27px;color:#f9edbf;text-shadow:0 0 12px #fff,0 0 24px #ffd954;animation:stageDrift 3.5s ease-in-out infinite reverse}
.scene-dugout .stage-sky{background:radial-gradient(circle at 72% 20%,#f9d8a4 0 6%,transparent 15%),linear-gradient(155deg,#605275,#805764 48%,#bf8d56)}
.scene-dugout .stage-horizon{background:linear-gradient(#608776,#243b39);border-top:13px solid #dac483}
.scene-moonfield .stage-sky{background:radial-gradient(circle at 77% 20%,#fffbd4 0 7%,#afcbff88 8%,transparent 19%),radial-gradient(circle at 20% 35%,#9573d1 0,transparent 38%),linear-gradient(160deg,#171a52,#433568 55%,#8b6bb5)}
.scene-moonfield .stage-horizon{background:linear-gradient(#9d8aca,#473e76);border-top:13px solid #d9b7e2}
.scene-moonfield .stage-orbit{color:#d5d2ff;text-shadow:0 0 20px #978dfb,0 0 35px #fff}
.scene-skyisland .stage-sky{background:radial-gradient(ellipse at 20% 72%,#fff9 0 10%,transparent 18%),radial-gradient(ellipse at 83% 61%,#fff9 0 13%,transparent 22%),linear-gradient(155deg,#499bdf,#99d8e8 57%,#efc9bb)}
.scene-skyisland .stage-horizon{background:linear-gradient(#80d8a4,#3d8b87);border-top:15px solid #fbf5d1;box-shadow:0 -18px 45px #fff}
.scene-galaxypark .stage-sky{background:radial-gradient(circle at 77% 18%,#ffb4e8 0 6%,transparent 14%),radial-gradient(circle at 28% 30%,#44ceefaa 0,transparent 32%),radial-gradient(circle at 72% 70%,#ca6fffaa 0,transparent 40%),linear-gradient(130deg,#191447,#422667 55%,#162c55)}
.scene-galaxypark .stage-horizon{background:linear-gradient(#7b65c8,#2d2b6c);border-top:15px solid #ffb8ea;box-shadow:0 -20px 40px #de7affaa}
.effect-stars .stage-orbit,.effect-stars .stage-foreground{color:#fff4a1;text-shadow:0 0 8px #fff,0 0 25px #ffe05d,0 0 40px #ffc53b;animation:starShower 1.7s ease-in-out infinite}
.effect-stars .stage-burst{color:#ffec6180;filter:drop-shadow(0 0 25px #ffd943)}
.effect-glow .stage-burst{color:#ffb22d88;filter:drop-shadow(0 0 35px #ff831f);animation:flamePulse 1.6s ease-in-out infinite}
.effect-glow svg{filter:drop-shadow(0 0 12px #ffe378) drop-shadow(0 0 31px #ff9c33)!important}
.effect-glow .stage-foreground{color:#ffcf64;font-size:36px;text-shadow:0 0 15px #fff,0 0 35px #ff792e}
.effect-aurora .stage-sky{background-blend-mode:screen;background-image:linear-gradient(125deg,transparent 8%,#70f8d766 30%,#fd7de477 48%,#745fff88 63%,transparent 84%),radial-gradient(circle at 40% 30%,#3a8fc6,#2c245d 68%);animation:galaxyShift 5s ease-in-out infinite alternate}
.effect-aurora .stage-orbit,.effect-aurora .stage-foreground{color:#ddfaff;text-shadow:0 0 12px #fff,0 0 30px #50f9e3,0 0 55px #e879ff;animation:starShower 2.4s ease-in-out infinite}
.effect-aurora .stage-burst{color:#b478ff9a;filter:drop-shadow(0 0 34px #61ffdc)}
.jersey-gold svg{filter:drop-shadow(0 0 9px #fff4c3) drop-shadow(0 0 26px #ffcc56)!important}
.jersey-champion svg{filter:drop-shadow(0 0 9px #e9f2ff) drop-shadow(0 0 20px #8daecc)!important}
.bat-silver .stage-orbit{color:#d8f8ff;text-shadow:0 0 12px #fff,0 0 38px #8cdeff}
.ball-comet .stage-foreground{color:#ecafff;font-size:30px;text-shadow:0 0 12px #fff,0 0 35px #d779ff;animation:starShower 1.2s ease-in-out infinite}
.scene-label{display:inline-block;position:relative;margin:-34px auto 15px;padding:6px 12px;border:1px solid #ffffff80;border-radius:30px;background:#121525dd;color:#fff3d3;font-size:11px;z-index:7;box-shadow:0 0 20px #fff5}
.equipment:not(.locked){box-shadow:inset 0 0 0 1px #c9aa6a33,0 0 22px #d8a94a24}
.equipment:not(.locked) .equipment-art{background:radial-gradient(circle at 50% 55%,#a679ba8c,#29304a 48%,#171b2e);text-shadow:0 0 14px #fff,0 0 32px #e4a7ff;animation:rewardPulse 3s ease-in-out infinite}
.equipment .rarity{letter-spacing:.5px}
@keyframes heroFloat{50%{transform:translateY(-8px)}}@keyframes stageDrift{50%{transform:translateY(10px) scale(1.04);opacity:.65}}@keyframes burstSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes flamePulse{50%{transform:translate(-50%,-50%) scale(1.2);opacity:.7}}@keyframes starShower{50%{transform:translateY(18px);opacity:.55}}@keyframes galaxyShift{to{filter:hue-rotate(50deg) brightness(1.2)}}@keyframes rewardPulse{50%{filter:brightness(1.35)}}
@media(max-width:760px){.adventure-player .avatar-stage{height:290px}.adventure-player .avatar-stage svg{height:240px}.stage-burst{font-size:210px}.stage-orbit{font-size:23px;letter-spacing:14px}}

.role-switcher{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:26px;padding:17px 20px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(110deg,var(--panel-2),var(--panel));box-shadow:0 12px 28px #0003}
.role-switch-copy{display:grid;gap:2px}.role-switch-copy strong{font-size:18px}.role-switch-copy small{font-size:11px;color:var(--muted)}
.role-switch-options{display:flex;gap:7px;padding:5px;background:#0b0e10a8;border:1px solid var(--line);border-radius:15px}
.role-option{display:flex;align-items:center;justify-content:center;gap:7px;min-width:100px;padding:10px 14px;border-radius:11px;background:transparent;color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}
.role-option span{font-size:17px}.role-option.active{background:var(--lime);color:#1c2021;box-shadow:0 3px 14px #0006}.role-option:hover:not(.active){background:#ffffff1a;color:var(--ink)}
body[data-view="coach"] .role-switcher,body[data-view="admin"] .role-switcher{border-color:#5a4d38}body[data-view="student"] .role-switcher{border-color:#81684f}
@media(max-width:760px){.role-switcher{display:block;padding:14px;margin-bottom:18px}.role-switch-copy{margin-bottom:12px}.role-switch-options{width:100%}.role-option{flex:1;min-width:0;padding:10px 5px;font-size:11px;gap:4px}.role-option span{font-size:15px}}
@media(max-width:380px){.role-option{font-size:10px}}
.preview-disabled{display:inline-block;cursor:default;opacity:.9}.role-switcher:has(.role-option.active:last-child) .role-switch-copy small{line-height:1.5}
.top-actions #modeBtn{align-items:center;justify-content:center;min-width:75px;padding:8px 12px;border-color:#6c665c;background:#282622;color:#f0e4d3;font-weight:700}
.top-actions #modeBtn:disabled{opacity:1;cursor:default;filter:none}
.role-menu-backdrop{position:fixed;inset:0;z-index:55;background:#0006}
.role-menu{position:absolute;right:60px;top:74px;width:218px;padding:10px;border:1px solid #716458;border-radius:14px;background:#1d1d1f;box-shadow:0 18px 48px #000b}
.role-menu p{margin:4px 9px 8px;color:#b5a891;font-size:11px;font-weight:700;letter-spacing:1px}
.role-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:11px;border-radius:9px;background:transparent;color:#eee7de;text-align:left;font-size:13px}
.role-menu button span{font-size:18px}.role-menu button:hover{background:#ffffff1b}.role-menu button.active{background:#dbc9ae;color:#22201d;font-weight:800}
.role-menu small{display:block;padding:10px 8px 3px;color:#aaa4a0;font-size:10px;line-height:1.6}
.classic-home .classic-hero{min-height:275px;background:linear-gradient(135deg,#333439,#171b1f);border-color:#56575a;overflow:hidden}
.classic-home .classic-hero .hero-copy{z-index:2}.classic-home .classic-hero .field{filter:grayscale(.38);opacity:.72}
.classic-home .stat small{font-size:12px;color:var(--muted)}.classic-home .stat strong{white-space:nowrap}
.classic-home .coach-note h3{margin:12px 0;line-height:1.7;font-size:18px}.classic-home .growth-link{display:block;margin:15px auto 2px}
@media(max-width:760px){.role-menu{right:12px;top:65px}.top-actions #modeBtn{padding:7px 9px;min-width:62px;font-size:10px}.classic-home .classic-hero{min-height:270px}.classic-home .classic-hero .hero-copy{width:70%}.classic-home .classic-hero .field{width:56%;opacity:.65}}
.calendar-classic{grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr)}
.calendar-classic .calendar{gap:6px}.calendar-classic .day{width:100%;color:var(--ink);text-align:left;border:1px solid transparent;overflow:hidden}.calendar-classic .day.mark{border-color:#6a7776}.calendar-classic .day.selected{border-color:var(--lime);background:#39413b;box-shadow:0 0 0 1px var(--lime)}.calendar-classic .day.blank{visibility:hidden}.calendar-classic .day small{line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-controls{display:flex;align-items:center;gap:8px}.calendar-controls button{border:1px solid var(--line);border-radius:9px;padding:5px 11px;background:var(--soft);color:var(--ink);font-size:21px}.calendar-controls button:disabled{opacity:.3;cursor:default}
.calendar-courses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.calendar-course{display:flex;flex-direction:column;justify-content:space-between;gap:14px}.calendar-course h3{margin:8px 0}.calendar-course .button{align-self:flex-start}
@media(max-width:1000px){.calendar-classic{grid-template-columns:1fr}.calendar-courses{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.calendar-classic .card{padding:14px}.calendar-classic .calendar{gap:3px}.calendar-classic .day{min-height:53px;padding:5px;font-size:11px}.calendar-classic .day small{font-size:8px}.calendar-courses{grid-template-columns:1fr}}
.home-child-details{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin:10px 0}.home-child-details span{padding:5px 9px;border:1px solid var(--line);border-radius:20px;background:#ffffff0b;color:var(--muted);font-size:11px}.home-child-switch{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin:12px 0}.home-child-switch .button{min-width:60px}.adventure-player .home-child-details+.link{display:block;margin:10px auto}
