.adventure-admin{min-width:0}.adventure-admin h3{margin:0;font-size:1rem}.adventure-admin .lead,.adventure-section-heading p{max-width:70ch}.adventure-section-heading,.adventure-version-heading,.adventure-template-heading{justify-content:space-between;align-items:flex-start;gap:16px;min-width:0;display:flex}.adventure-section-heading p,.adventure-version-heading p,.adventure-template-heading p{color:var(--muted);margin:6px 0 0}.adventure-gate-grid{border:1px solid var(--line);background:var(--line);border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;margin:18px 0;display:grid;overflow:hidden}.adventure-gate-grid div{background:var(--panel);min-width:0;padding:14px}.adventure-gate-grid dt{color:var(--muted);font-size:12px;font-weight:700}.adventure-gate-grid dd{overflow-wrap:anywhere;margin:5px 0 0;font-weight:800}.adventure-gate-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.adventure-gate-empty{justify-content:space-between;align-items:center;gap:12px;display:flex}.adventure-gate-actions form,.adventure-activate-form{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.adventure-gate-actions form{border:1px solid var(--line);border-radius:8px;padding:14px}.adventure-gate-actions form>label:not(.confirm-line){flex:150px}.adventure-calendar-tools{grid-template-columns:minmax(220px,.7fr) minmax(320px,1.3fr);gap:22px;margin-top:18px;display:grid}.adventure-preset-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.adventure-exception-list{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.adventure-exception-list>h3{margin-bottom:12px}.adventure-create-disclosure{border:1px solid var(--line);border-radius:8px;margin-top:18px;padding:12px 14px}.adventure-create-disclosure summary{cursor:pointer;color:var(--foreground);font-weight:800}.adventure-template-list,.adventure-version-list{gap:12px;margin-top:16px;display:grid}.adventure-template-row,.adventure-pool-version{border:1px solid var(--line);border-radius:8px;min-width:0;padding:16px}.adventure-template-form{border-top:1px solid var(--line);padding-top:14px}.adventure-activate-form{justify-content:flex-end}.adventure-probability-list{border:1px solid var(--line);border-radius:8px;margin-top:14px;overflow-x:auto}.adventure-probability-list table{width:100%;min-width:480px;margin:0}.adventure-probability-list thead{background:#e8f4fbb3}.adventure-probability-list th,.adventure-probability-list td{text-align:left}.adventure-template-id{color:var(--muted);flex-wrap:wrap;gap:4px;margin:8px 0 0;font-size:12px;display:flex}.adventure-template-id code{-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;color:var(--foreground)}.adventure-pool-draft{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.adventure-pool-draft textarea{white-space:pre;width:100%;max-width:100%;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;overflow-x:auto}.adventure-draft-note{border:1px solid var(--line);background:#f4fafdc7;border-radius:8px;align-content:center;gap:4px;min-height:68px;padding:10px 12px;display:grid}.adventure-draft-note span,.adventure-json-help{color:var(--muted);font-size:12px}.adventure-json-help{margin:-2px 0 0;line-height:1.6}.adventure-admin .audit-log-item p{overflow-wrap:anywhere;margin:5px 0 0}.teacher-challenge-page{min-width:0}.teacher-challenge-readonly{margin:16px 0 0}.teacher-challenge-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:16px;display:grid}.teacher-challenge-rules{min-width:0}.teacher-challenge-rules .table-wrap{margin-top:10px}.teacher-challenge-rules .table-wrap table{min-width:320px}.teacher-challenge-table small{color:var(--muted);margin-top:3px;font-weight:600;display:block}.student-challenge-panel{border:1px solid var(--student-portal-line,var(--line));background:var(--student-portal-surface,var(--panel));border-radius:12px;min-width:0;padding:16px}.student-challenge-sound-toggle{border:1px solid var(--student-portal-line,var(--line));background:var(--student-portal-surface,var(--panel));min-height:44px;color:var(--student-portal-purple-dark,#4d2d7e);cursor:pointer;font:inherit;border-radius:999px;justify-content:center;justify-self:end;align-items:center;gap:7px;margin:0 0 14px;padding:8px 12px;font-size:13px;font-weight:800;display:inline-flex}.student-challenge-sound-toggle span{background:#f2ecf7;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.student-challenge-sound-toggle[aria-pressed=true]{background:#f5f1f9;border-color:#7047a7}.student-challenge-sound-toggle:focus-visible{outline-offset:3px;outline:3px solid #4d2d7e57}.student-challenge-panel>.student-challenge-sound-toggle{width:fit-content;margin-left:auto;display:flex}.student-challenge-content,.student-challenge-content>section{gap:10px;min-width:0;display:grid}.student-challenge-content{gap:18px}.student-challenge-content>section+section{border-top:1px solid var(--student-portal-line,var(--line));padding-top:16px}.student-challenge-content h3,.student-challenge-content h4,.student-challenge-content p{margin:0}.student-challenge-content h3{font-size:1rem}.student-challenge-content h4{color:var(--student-portal-muted,var(--muted));font-size:.84rem}.student-challenge-heading{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.student-challenge-heading span{color:var(--student-portal-purple-dark,#4d2d7e);font-size:12px;font-weight:800}.student-challenge-progress{color:var(--student-portal-muted,var(--muted))}.student-challenge-progress strong{color:var(--student-portal-ink,var(--text));font-variant-numeric:tabular-nums}.student-challenge-disabled{color:#6b4a08;background:#fffaf0;border:1px solid #d6b66f;border-radius:8px;padding:10px 12px}.student-challenge-probabilities ul,.student-challenge-claim-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.student-challenge-probabilities li,.student-challenge-claim-list li{justify-content:space-between;align-items:baseline;gap:10px;min-width:0;display:flex}.student-challenge-probabilities li span,.student-challenge-claim-list strong{overflow-wrap:anywhere}.student-challenge-probabilities li strong,.student-challenge-claim-list span{color:var(--student-portal-muted,var(--muted));font-variant-numeric:tabular-nums;flex:none;font-size:12px}.student-challenge-mobile-summary,.student-challenge-dialog{display:none}.student-challenge-dialog{background:var(--student-portal-surface,var(--panel));width:min(100% - 20px,520px);max-height:min(82vh,720px);color:var(--student-portal-ink,var(--text));border:0;border-radius:12px 12px 0 0;margin:auto auto 0;padding:0}.student-challenge-dialog::backdrop{background:#1c14268f}.student-challenge-dialog-body{max-height:inherit;padding:18px 18px calc(18px + env(safe-area-inset-bottom));overflow-y:auto}.student-challenge-dialog-body>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.student-challenge-dialog-body>header h2{margin:0;font-size:1.1rem}.student-challenge-dialog-actions{align-items:center;gap:8px;display:flex}.student-challenge-dialog-actions .student-challenge-sound-toggle{margin:0}.student-reward-dialog{width:min(100% - 32px,460px);max-width:100%;max-height:min(88dvh,760px);color:var(--student-portal-ink,var(--text));background:#fbf9fd;border:1px solid #c9b8dd;border-radius:14px;margin:auto;padding:0;overflow:hidden}.portal-student .student-tasks-page .student-challenge-panel{background-color:#eef6ff;background-image:linear-gradient(135deg,#fafdffeb,#e1f1ffc2 58%,#f2ebffb8),url(/assets/stage/student-stage-starlight.webp);background-position:50%;background-size:cover;border-color:#b7d2ea;box-shadow:inset 0 1px #ffffffb8}.portal-student .student-tasks-page .student-challenge-sound-toggle{background:linear-gradient(135deg,#f7f3ff,#e9e2ff);border-color:#b8ace7}.student-reward-dialog::backdrop{background:#1c1426a8}.student-reward-dialog-body{max-height:inherit;display:grid;overflow-y:auto}.student-reward-dialog-body>header,.student-reward-dialog-body>footer{justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.student-reward-dialog-body>header{border-bottom:1px solid #ded3e8}.student-reward-dialog-body>header p,.student-reward-dialog-body>header h2,.student-reward-result p{margin:0}.student-reward-dialog-body>header p{color:#7047a7;font-size:13px;font-weight:800}.student-reward-dialog-body>header h2{text-wrap:balance;margin-top:3px;font-size:1.15rem}.student-reward-close{color:#4d2d7e;cursor:pointer;min-width:44px;min-height:44px;font:inherit;background:#eee7f4;border:0;border-radius:999px;font-weight:800}.student-reward-close:focus-visible{outline-offset:2px;outline:3px solid #4d2d7e57}.student-reward-stage{isolation:isolate;background:#f4f0f8;align-content:center;justify-items:center;gap:24px;min-height:360px;padding:34px 24px;display:grid;position:relative;overflow:hidden}.student-reward-aura{z-index:-1;filter:blur(14px);background:radial-gradient(circle,#7c60cf52 0,#669bda29 46%,#669bda00 72%);border-radius:50%;width:230px;height:230px;position:absolute}.student-reward-crystal{clip-path:polygon(50% 0,92% 25%,78% 84%,50% 100%,18% 84%,8% 25%);filter:drop-shadow(0 7px 7px #4d2d7e3d);background:linear-gradient(145deg,#d8efff 0 18%,#6f8fd8 46%,#694aa7 100%);flex:none;width:104px;height:132px;position:relative}.student-reward-crystal:before,.student-reward-crystal:after,.student-reward-crystal span{content:"";clip-path:polygon(50% 0,50% 100%,18% 84%,8% 25%);background:#e8f7ff6b;position:absolute;inset:0}.student-reward-crystal:after{clip-path:polygon(50% 0,92% 25%,78% 84%,50% 100%);background:#3036872e}.student-reward-crystal span{clip-path:polygon(50% 0,100% 35%,75% 100%,25% 100%,0 35%);background:#ffffff85;inset:18px 32px 26px}.student-reward-crystal[data-animate=true]{animation-name:student-reward-crystal-reveal;animation-timing-function:cubic-bezier(.16,1,.3,1);animation-fill-mode:both}.student-reward-crystal[data-kind=WEEKLY]{animation-duration:1.2s}.student-reward-crystal[data-kind=STAGE]{animation-duration:1.8s}.student-reward-result{text-align:center;justify-items:center;gap:7px;max-width:32ch;display:grid}.student-reward-result>span{color:#7047a7;font-size:13px;font-weight:800}.student-reward-result strong{color:#342047;overflow-wrap:anywhere;text-wrap:balance;font-size:1.65rem;line-height:1.2}.student-reward-result p{color:#65566f;font-variant-numeric:tabular-nums;font-size:14px}.student-reward-dialog-body>footer{border-top:1px solid #ded3e8}.student-reward-dialog-body>footer .button{min-height:44px}@keyframes student-reward-crystal-reveal{0%{opacity:.72;filter:saturate(.74)drop-shadow(0 2px 2px #4d2d7e1f);transform:scale(.82)rotate(-2deg)}42%{opacity:1;filter:saturate(1.24)brightness(1.08)drop-shadow(0 8px 8px #4d2d7e47);transform:scale(1.055)rotate(1deg)}to{opacity:1;filter:saturate()drop-shadow(0 7px 7px #4d2d7e3d);transform:scale(1)rotate(0)}}@media (max-width:800px){.student-tasks-page .student-task-center>.panel{-webkit-backdrop-filter:none;backdrop-filter:none}.student-challenge-desktop{display:none}.student-challenge-mobile-summary{z-index:30;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));background:var(--student-portal-purple-dark,#4d2d7e);color:#fff;cursor:pointer;min-height:48px;font:inherit;border:0;border-radius:999px;align-items:center;gap:10px;padding:10px 16px;display:flex;position:fixed;box-shadow:0 4px 8px #29184038}.student-challenge-mobile-summary:focus-visible{outline-offset:3px;outline:3px solid #4d2d7e57}.student-challenge-dialog[open]{display:block}.student-task-center{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.student-reward-dialog{width:min(100% - 20px,430px);max-height:min(92dvh,760px)}.student-reward-stage{min-height:330px;padding:28px 18px}.student-reward-dialog-body>footer{flex-direction:column-reverse;align-items:stretch}.student-reward-dialog-body>footer .button{width:100%}}@media (prefers-reduced-motion:reduce){.student-challenge-mobile-summary,.student-challenge-dialog,.student-challenge-dialog::backdrop{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.student-reward-crystal,.student-reward-aura{transition:none;animation:none}}@media (max-width:720px){.adventure-section-heading,.adventure-version-heading,.adventure-template-heading,.adventure-admin .audit-log-item,.adventure-gate-empty{display:grid}.adventure-gate-actions,.adventure-calendar-tools,.teacher-challenge-rule-grid{grid-template-columns:1fr}.adventure-gate-actions form,.adventure-activate-form{flex-direction:column;align-items:stretch}.adventure-gate-actions .button,.adventure-activate-form .button,.adventure-preset-actions form,.adventure-preset-actions .button{width:100%}.adventure-admin .audit-log-item span{white-space:normal}}
.student-role-profile-page{--role-ink:#17244b;--role-muted:#5e6d91;--role-accent:#5b4ad1;--role-line:#5567a938;width:min(100%,980px);color:var(--role-ink);margin:0 auto;padding:18px clamp(12px,3vw,28px) 96px;overflow-x:hidden}.role-profile-breadcrumb{margin-bottom:12px}.role-profile-breadcrumb a{color:#4659b9;align-items:center;min-height:44px;font-weight:800;text-decoration:none;display:inline-flex}.role-profile-breadcrumb a:hover{text-underline-offset:3px;text-decoration:underline}.role-profile-feedback{border-radius:10px;margin:0 0 12px;padding:12px 14px;font-weight:700}.role-profile-feedback.success{color:#17563a;background:#e8f7ef}.role-profile-feedback.error{color:#8a2e25;background:#fff0ee}.student-role-profile{gap:14px;display:grid}.role-profile-hero{color:#fff;background:linear-gradient(135deg,#253d92,#5b48c6 56%,#7b55c1);border-radius:18px;grid-template-columns:minmax(240px,.86fr) minmax(0,1.14fr);min-height:430px;display:grid;position:relative;overflow:hidden;box-shadow:0 7px 8px #2c36762e}.role-profile-hero:after{content:"";pointer-events:none;background:radial-gradient(circle at 17% 20%,#fffc 0 1px,#0000 2px),radial-gradient(circle at 78% 16%,#ffffffbf 0 1px,#0000 2px),radial-gradient(circle at 90% 74%,#ffffffa6 0 1px,#0000 2px);position:absolute;inset:0}.role-profile-character{z-index:1;aspect-ratio:4/5;background:radial-gradient(circle at 50% 68%,#d9e1ff4d,#0000 43%);place-items:end center;min-width:0;padding:24px 8px 0;display:grid;position:relative}.role-profile-character img{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 14px 12px #131b534d);width:100%;height:100%;display:block}.role-profile-character-fallback{aspect-ratio:1;color:#fff;background:#ffffff29;border-radius:50%;align-self:center;place-items:center;width:150px;font-size:72px;display:grid}.role-profile-identity{z-index:1;align-self:end;min-width:0;padding:42px 40px 54px 20px;position:relative}.role-profile-identity p,.role-profile-identity h1{margin:0}.role-profile-identity p{color:#e2e8ff;font-size:14px;font-weight:700}.role-profile-identity h1{letter-spacing:-.035em;text-wrap:balance;margin:8px 0 16px;font-size:3rem;line-height:1.05}.role-profile-title{color:#fff;border:1px solid #ffffff6b;border-radius:999px;align-items:center;max-width:100%;min-height:36px;padding:6px 13px;font-weight:800;display:inline-flex}.role-profile-section{border:1px solid var(--role-line);background:#fff;border-radius:14px;padding:20px}.role-profile-section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.role-profile-section-heading h2,.role-profile-section-heading p{margin:0}.role-profile-section-heading h2{letter-spacing:-.02em;font-size:1.2rem}.role-profile-section-heading p,.role-profile-empty{max-width:65ch;color:var(--role-muted);margin-top:5px;line-height:1.65}.role-profile-section .button,.role-profile-action-bar .button,.role-profile-sheet .button{min-height:44px}.role-profile-highlights{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.role-profile-highlights>article,.role-profile-highlight-empty{border-radius:11px;min-width:0;min-height:112px}.role-profile-highlights>article{background:#f1f3ff;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:10px;padding:12px;display:grid}.role-profile-highlights img{object-fit:contain;width:64px;height:64px;display:block}.role-profile-highlights article div{gap:4px;display:grid}.role-profile-highlights strong{overflow-wrap:anywhere}.role-profile-highlights article span,.role-profile-highlight-empty p{color:var(--role-muted);font-size:13px}.role-profile-highlight-empty{border:1px dashed #aab5d6;align-items:center;gap:10px;padding:16px;display:flex}.role-profile-highlight-empty>span{color:#52618c;background:#e8ebf8;border-radius:50%;flex:0 0 30px;place-items:center;height:30px;font-weight:800;display:grid}.role-profile-highlight-empty p{margin:0;line-height:1.45}.role-profile-encouragements,.role-profile-history{margin:0;padding:0;list-style:none}.role-profile-encouragements{flex-wrap:wrap;gap:10px;display:flex}.role-profile-encouragements li{background:#f7f8fc;border-radius:11px;flex:220px;align-items:center;gap:10px;min-width:0;padding:13px;display:flex}.encouragement-stamp{color:#3f58c9;background:#e4e9ff;border-radius:50%;flex:0 0 40px;place-items:center;width:40px;height:40px;font-size:22px;display:grid}.encouragement-stamp.willpower{color:#a95624;background:#fff0df}.encouragement-stamp.teamwork{color:#17705d;background:#e0f5ef}.encouragement-stamp.honor{color:#7e3e94;background:#f2e7f8}.role-profile-encouragements li div{gap:3px;min-width:0;display:grid}.role-profile-encouragements li span:last-child{color:var(--role-muted);font-size:13px}.role-profile-history{display:grid}.role-profile-history li{border-top:1px solid var(--role-line);grid-template-columns:130px minmax(150px,.6fr) minmax(0,1fr);gap:12px;padding:12px 2px;display:grid}.role-profile-history span,.role-profile-history p{color:var(--role-muted);margin:0}.role-profile-action-bar{z-index:20;background:#f7f8ff;border:1px solid #c8cff0;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;display:flex;position:sticky;bottom:12px;box-shadow:0 7px 8px #303e7f29}.role-profile-action-bar>div{gap:2px;display:grid}.role-profile-action-bar span{color:var(--role-muted);font-size:13px}.role-profile-status{background:#e8eaf3;border-radius:999px;align-items:center;min-height:36px;padding:6px 12px;font-weight:800;display:inline-flex;color:#475373!important}.role-profile-sheet-backdrop{z-index:60;background:#0c132f94;place-items:end center;padding:20px;display:grid;position:fixed;inset:0}.role-profile-sheet{overscroll-behavior:contain;background:#fff;border-radius:16px 16px 10px 10px;width:min(100%,680px);max-height:min(82vh,720px);animation:.18s cubic-bezier(.22,1,.36,1) role-profile-sheet-in;overflow-y:auto;box-shadow:0 7px 8px #0c132f47}.role-profile-sheet>header{justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 20px 12px;display:flex}.role-profile-sheet h2,.role-profile-sheet header p{margin:0}.role-profile-sheet header p{color:var(--role-muted);margin-top:5px}.role-profile-sheet-close{width:44px;height:44px;color:var(--role-ink);cursor:pointer;background:#eef0f7;border:0;border-radius:50%;flex:0 0 44px;place-items:center;font-size:26px;display:grid}.role-profile-sheet form{padding:8px 20px 20px}.role-profile-privacy-note{border-left:3px solid var(--role-accent);color:#3b496e;background:#f4f2ff;margin:0 0 14px;padding:10px 12px;line-height:1.55}.role-profile-highlight-controls{gap:12px;display:grid}.role-profile-highlight-controls label{color:#3b496e;gap:6px;font-weight:800;display:grid}.role-profile-highlight-controls select{width:100%;min-height:46px;color:var(--role-ink);font:inherit;background:#fff;border:1px solid #9ca9ce;border-radius:9px;padding:0 11px}.role-profile-stamp-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.role-profile-stamp-options label{border:1px solid var(--role-line);cursor:pointer;border-radius:10px;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px;min-height:66px;padding:10px;display:grid;position:relative}.role-profile-stamp-options input{opacity:0;width:1px;height:1px;position:absolute}.role-profile-stamp-options label:has(input:checked){border-color:var(--role-accent);background:#f1efff}.role-profile-stamp-options label:has(input:focus-visible){outline-offset:2px;outline:3px solid #4b5ed85c}.role-profile-sheet-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.student-role-profile-page :where(a,button,select):focus-visible{outline-offset:3px;outline:3px solid #435ce266}@keyframes role-profile-sheet-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (max-width:700px){.role-profile-hero{grid-template-columns:1fr;min-height:0}.role-profile-character{width:100%;max-height:430px}.role-profile-identity{padding:20px 20px 28px}.role-profile-highlights,.role-profile-stamp-options{grid-template-columns:1fr}.role-profile-history li{grid-template-columns:1fr;gap:3px}}@media (max-width:430px){html{scrollbar-width:none}html::-webkit-scrollbar{display:none}.student-role-profile-page{width:100%;padding:8px 10px 92px}.role-profile-hero{border-radius:12px}.role-profile-character{aspect-ratio:4/4.5;max-height:390px}.role-profile-identity h1{font-size:2.35rem}.role-profile-section{border-radius:12px;padding:16px}.role-profile-section-heading,.role-profile-action-bar{flex-direction:column;align-items:stretch}.role-profile-section-heading .button,.role-profile-action-bar .button{width:100%}.role-profile-action-bar{gap:10px;bottom:8px}.role-profile-sheet-backdrop{padding:0}.role-profile-sheet{border-radius:14px 14px 0 0;max-height:88vh}}@media (prefers-reduced-motion:reduce){.role-profile-sheet{animation:none}.student-role-profile-page *,.student-role-profile-page :before,.student-role-profile-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.portal-student .student-role-profile-page{--role-ink:#142b59;--role-muted:#405b84;--role-accent:#3156c8;--role-line:#c8d7ee;width:min(1320px,100% - 48px);padding-top:24px}.portal-student .role-profile-breadcrumb a{color:#214fc6}.portal-student .role-profile-hero{color:#142b59;min-height:430px;box-shadow:none;background-color:#edf5ff;background-image:linear-gradient(90deg,#fbfdff75,#e8f2ffb3),url(/assets/stage/student-stage-starlight.webp);background-position:50%;background-size:cover;border:1px solid #c6973e9e;border-radius:16px}.portal-student .role-profile-hero:after{background:radial-gradient(circle at 18% 18%,#ffffffeb 0 2px,#0000 3px),radial-gradient(circle at 82% 22%,#c6973e80 0 2px,#0000 3px),linear-gradient(115deg,#0000 60%,#ffffff57)}.portal-student .role-profile-character{background:radial-gradient(circle at 50% 68%,#ffffffd1,#0000 52%)}.portal-student .role-profile-character img{filter:drop-shadow(0 14px 14px #22468a38)}.portal-student .role-profile-identity p{color:#405b84}.portal-student .role-profile-identity h1{color:#153472;font-family:Noto Serif SC,Songti SC,STSong,serif}.portal-student .role-profile-title{color:#153472;background:#fff8dee6;border:1px solid #c6973eb8}.portal-student .role-profile-section{background-color:#f4f8ff;background-image:linear-gradient(135deg,#fafdfff2,#e1edffd1),url(/assets/stage/student-stage-starlight.webp);background-position:50%;background-size:cover;border-color:#c8d7ee;border-radius:16px}@media (max-width:900px){.portal-student .student-role-profile-page{width:min(100% - 32px,1320px)}}@media (max-width:430px){.portal-student .student-role-profile-page{width:min(100% - 24px,1320px);padding-top:12px}.portal-student .role-profile-hero{min-height:0}}
.teacher-settlement-reminder{border:2px solid var(--ds-reward);background:var(--ds-reward-soft);color:var(--ds-reward);border-radius:14px;justify-content:space-between;align-items:center;gap:24px;padding:20px 24px;display:flex}.teacher-settlement-reminder span{color:var(--ds-reward);font-size:14px;font-weight:800}.teacher-settlement-reminder h2,.teacher-settlement-reminder p{margin:0}.teacher-settlement-reminder h2{color:var(--ds-ink);text-wrap:balance;margin-top:4px}.teacher-settlement-reminder p{max-width:72ch;color:var(--ds-reward);text-wrap:pretty;margin-top:6px}.teacher-settlement-reminder .button{border-color:var(--ds-reward);background:var(--ds-surface);min-height:44px;color:var(--ds-reward);flex:none}.teacher-settlement-reminder .button:hover{border-color:var(--ds-ink);background:var(--ds-surface);color:var(--ds-ink)}@media (max-width:720px){.teacher-settlement-reminder{flex-direction:column;align-items:stretch;gap:16px;padding:18px}.teacher-settlement-reminder .button{width:100%}}
.weekly-report-share-export{border:2px solid var(--ds-primary);background:var(--ds-sky-soft);color:var(--ds-ink);border-radius:16px;justify-content:space-between;align-items:center;gap:24px;padding:20px 24px;display:flex}.weekly-report-share-export span{color:var(--ds-primary-deep);font-size:14px;font-weight:800}.weekly-report-share-export h2,.weekly-report-share-export p{margin:0}.weekly-report-share-export h2{text-wrap:balance;margin-top:4px}.weekly-report-share-export p{max-width:68ch;color:var(--ds-ink-soft);text-wrap:pretty;margin-top:6px}.weekly-report-share-export .button{flex:none;min-height:44px}.weekly-report-export-status:empty{display:none}.weekly-report-export-status:not(:empty){color:var(--ds-danger);flex-basis:100%;font-weight:700}@media (max-width:720px){.weekly-report-share-export{flex-direction:column;align-items:stretch;gap:16px;padding:18px}.weekly-report-share-export .button{width:100%}}
.virtual-privilege-marks{flex-wrap:wrap;gap:.55rem;max-width:100%;margin-top:.7rem;display:flex}.character-equipped-title{color:#fff4b8;filter:drop-shadow(0 2px 2px #132356b3);letter-spacing:.12em;text-shadow:0 0 5px #ffffffe0, 0 0 13px var(--title-accent,#ffd675), 0 2px 0 #2a265cb8;white-space:nowrap;align-items:center;gap:.45rem;padding:.12em .32em .2em;font-family:Noto Serif SC,Songti SC,STSong,serif;font-size:clamp(1.55rem,3.2vw,2.15rem);font-weight:900;line-height:1.15;animation:2.2s ease-in-out infinite character-title-breathe;display:inline-flex;position:relative;overflow:hidden}.character-equipped-title .virtual-limited-title-emblem{flex:none;width:2.65rem;height:2.65rem}.character-equipped-title:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 34%,#ffffffe6 49%,#0000 64%);animation:2.8s ease-in-out infinite character-title-sweep;position:absolute;inset:-35% -45%;transform:translate(-80%)}.character-equipped-title>span{z-index:1;position:relative}.virtual-limited-title,.virtual-dynamic-badge{color:#694610;background:#fffaf0;border:1px solid #e8bf67;border-radius:999px;align-items:center;gap:.35rem;max-width:100%;min-height:2rem;padding:.28rem .65rem;display:inline-flex}.virtual-limited-title{--title-accent:#f8d675;--title-bg-a:#17275d;--title-bg-b:#49347f;background:linear-gradient(115deg, var(--title-bg-a), var(--title-bg-b));border-color:var(--title-accent);box-shadow:0 0 12px color-mix(in srgb, var(--title-accent) 44%, transparent);color:#fff;position:relative;overflow:hidden}.virtual-limited-title>*{z-index:1;position:relative}.virtual-limited-title-emblem{filter:drop-shadow(0 2px 3px #00000047);object-fit:contain;width:2rem;height:2rem}.virtual-privilege-marks.is-compact .virtual-limited-title-emblem{width:1.35rem;height:1.35rem}.portal-student .student-store-page .store-product-card[data-template-key^=weekly-title]{--title-emblem-image:none}.portal-student .student-store-page .store-product-card[data-template-key^=weekly-title]:before{content:none;display:none}.portal-student .student-store-page .store-product-card[data-template-key^=weekly-title]>.store-product-icon{display:none}.portal-student .student-store-page .store-product-card[data-template-key=weekly-title]{--title-emblem-image:url(/title-emblems/star-river-roamer.webp)}.portal-student .student-store-page .store-product-card[data-template-key=weekly-title-study-light]{--title-emblem-image:url(/title-emblems/study-light-seeker.webp)}.portal-student .student-store-page .store-product-card[data-template-key=weekly-title-starlight]{--title-emblem-image:url(/title-emblems/starlight-radiance.webp)}.portal-student .student-store-page .store-product-card[data-template-key=weekly-title-dawn]{--title-emblem-image:url(/title-emblems/dawn-new-star.webp)}.portal-student .student-store-page .store-product-card[data-template-key=weekly-title-cloud]{--title-emblem-image:url(/title-emblems/cloud-star-catcher.webp)}.portal-student .student-store-page .store-product-card[data-template-key=weekly-title-radiant]{--title-emblem-image:url(/title-emblems/radiant-walker.webp)}.portal-student .student-store-page .store-product-card[data-template-key=weekly-title-dream]{--title-emblem-image:url(/title-emblems/star-river-dreamer.webp)}.portal-student .student-store-page .store-product-card[data-template-key=weekly-title-brilliant]{--title-emblem-image:url(/title-emblems/brilliant-edge.webp)}.portal-student .student-store-page .store-product-card[data-template-key=weekly-title-qinglan]{--title-emblem-image:url(/title-emblems/qinglan-firefly-whisper.webp)}.portal-student .student-store-page .store-product-card[data-template-key=weekly-title-jixue]{--title-emblem-image:url(/title-emblems/jixue-listening-wind.webp)}.portal-student .student-store-page .store-product-card[data-template-key=weekly-title-feiye]{--title-emblem-image:url(/title-emblems/feiye-gathered-light.webp)}.portal-student .student-store-page .store-product-card[data-template-key=weekly-title-tidal]{--title-emblem-image:url(/title-emblems/tidal-whale-song.webp)}.portal-student .student-store-page .store-product-card[data-template-key=weekly-title-youlan]{--title-emblem-image:url(/title-emblems/youlan-butterfly-dream.webp)}.portal-student .student-store-page .store-product-card[data-template-key=weekly-title-kite]{--title-emblem-image:url(/title-emblems/paper-kite-riding-wind.webp)}.virtual-limited-title:after{content:"";pointer-events:none;display:none;position:absolute;inset:0}.virtual-title-tone-astral.virtual-limited-title:after{background:radial-gradient(circle at 18% 38%,#fff4aadb 0 1px,#0000 1.7px),radial-gradient(circle at 54% 66%,#9fe0ffc7 0 1.2px,#0000 1.9px),radial-gradient(circle at 82% 28%,#ffffffe0 0 1px,#0000 1.8px);animation:5.2s cubic-bezier(.25,1,.5,1) infinite virtual-title-astral-stars;display:block;inset:-20% -12%}.virtual-title-tone-starlight.virtual-limited-title:after{background:radial-gradient(circle at 22% 32%,#ffe1f9eb 0 1.4px,#0000 2.2px),radial-gradient(circle at 70% 68%,#ffffffdb 0 1.2px,#0000 2px),radial-gradient(circle at 88% 24%,#ffbeece0 0 1px,#0000 1.8px);animation:3.2s ease-in-out infinite virtual-title-starlight-spark;display:block}.virtual-title-tone-dawn.virtual-limited-title:after{background:linear-gradient(#0000 18%,#ffe79985 52%,#0000 92%);animation:4.6s cubic-bezier(.22,1,.36,1) infinite virtual-title-dawn-sweep;display:block;inset:-45% 0;transform:translateY(72%)}.virtual-title-tone-brilliant.virtual-limited-title:after{background:linear-gradient(105deg,#0000 18%,#ffffff94 48%,#0000 76%);animation:3.8s cubic-bezier(.16,1,.3,1) infinite virtual-title-brilliant-edge;display:block;transform:translate(-130%)}.virtual-title-tone-study-light.virtual-limited-title:after{background:linear-gradient(112deg,#0000 14%,#9dffee75 46%,#0000 76%);animation:4.8s cubic-bezier(.25,1,.5,1) infinite virtual-title-study-light-flow;display:block;transform:translate(-128%)}.virtual-title-tone-cloud.virtual-limited-title:after{background:radial-gradient(at 24% 64%,#ffffff52 0 12%,#0000 30%),radial-gradient(at 72% 38%,#dcf4ff5c 0 10%,#0000 28%);animation:5.6s ease-in-out infinite virtual-title-cloud-mist;display:block;inset:-20% -16%}.virtual-title-tone-radiant.virtual-limited-title:after{background:radial-gradient(circle,#fff4b075 0 18%,#0000 62%);animation:4.2s ease-in-out infinite virtual-title-radiant-halo;display:block;inset:-70% -12%}.virtual-title-tone-dream.virtual-limited-title:after{background:radial-gradient(circle at 18% 68%,#99ebffbd 0 1px,#0000 1.8px),radial-gradient(circle at 52% 42%,#ffffffc2 0 1px,#0000 1.8px),linear-gradient(102deg,#0000 18%,#7bdfff57 50%,#0000 78%);animation:5.4s cubic-bezier(.22,1,.36,1) infinite virtual-title-dream-trail;display:block;transform:translate(-124%)}.virtual-title-tone-qinglan.virtual-limited-title:after{background:radial-gradient(circle at 20% 66%,#dcffbbdb 0 1px,#0000 2px),radial-gradient(circle at 52% 28%,#f4ffe1c7 0 1.2px,#0000 2.2px),radial-gradient(circle at 84% 58%,#b1ffddd1 0 1px,#0000 2px);animation:5.8s ease-in-out infinite virtual-title-qinglan-fireflies;display:block;inset:-24% -12%}.virtual-title-tone-jixue.virtual-limited-title:after{background:radial-gradient(circle at 18% 34%,#ffffffd1 0 1px,#0000 2px),radial-gradient(circle at 48% 72%,#cdefffbd 0 1.2px,#0000 2.2px),radial-gradient(circle at 82% 42%,#f1faffcc 0 1px,#0000 2px),linear-gradient(112deg,#0000 26%,#d6f2ff33 50%,#0000 72%);animation:6.2s ease-in-out infinite virtual-title-jixue-wind;display:block;inset:-22% -16%}.virtual-title-tone-feiye.virtual-limited-title:after{background:radial-gradient(circle at 44% 54%,#ffda736b 0 7%,#0000 28%),radial-gradient(circle at 76% 30%,#ffb34542 0 2%,#0000 12%),linear-gradient(118deg,#0000 28%,#ffd27e29 50%,#0000 72%);animation:6s ease-in-out infinite virtual-title-feiye-amber;display:block;inset:-22% -14%}.virtual-title-tone-tidal.virtual-limited-title:after{background:radial-gradient(circle at 18% 74%,#e0fbffe0 0 1.5px,#0000 2.5px),radial-gradient(circle at 46% 48%,#90eaffc7 0 2px,#0000 3px),radial-gradient(circle at 72% 66%,#ebfdffe6 0 1.2px,#0000 2.2px),radial-gradient(circle at 88% 34%,#7ddbffb8 0 2.2px,#0000 3.2px);animation:4.4s cubic-bezier(.37,0,.63,1) infinite virtual-title-tidal-bubbles;display:block;inset:-28% -14%}.virtual-title-tone-youlan.virtual-limited-title:after{background:radial-gradient(circle at 22% 68%,#e8d4ffc7 0 1.2px,#0000 2.2px),radial-gradient(circle at 54% 30%,#ffefc2ad 0 1px,#0000 2px),radial-gradient(circle at 82% 58%,#c3a8ffc2 0 1.4px,#0000 2.4px),radial-gradient(at 50% 54%,#a87aff3d 0 12%,#0000 42%);animation:5.6s ease-in-out infinite virtual-title-youlan-orbit;display:block;inset:-24% -14%}.virtual-title-tone-kite.virtual-limited-title:after{background:linear-gradient(118deg,#0000 20%,#ffefca47 48%,#0000 76%),radial-gradient(circle at 20% 70%,#ffca9ab3 0 1.2px,#0000 2.2px),radial-gradient(circle at 78% 30%,#9aefe9ad 0 1.2px,#0000 2.2px);animation:4.8s cubic-bezier(.37,0,.63,1) infinite virtual-title-kite-wind;display:block;inset:-28% -16%}:is(.virtual-title-tone-astral,.virtual-title-tone-study-light,.virtual-title-tone-starlight,.virtual-title-tone-dawn,.virtual-title-tone-cloud,.virtual-title-tone-radiant,.virtual-title-tone-dream,.virtual-title-tone-brilliant,.virtual-title-tone-qinglan,.virtual-title-tone-jixue,.virtual-title-tone-feiye,.virtual-title-tone-tidal,.virtual-title-tone-youlan,.virtual-title-tone-kite) .virtual-limited-title-emblem{transform-origin:50%}.virtual-title-tone-astral .virtual-limited-title-emblem,.portal-student .student-store-page .store-product-card[data-template-key=weekly-title] .store-title-preview img,.student-title-gallery-item.virtual-title-tone-astral .student-title-gallery-image{animation:5.2s ease-in-out infinite virtual-title-astral-float}.virtual-title-tone-starlight .virtual-limited-title-emblem,.portal-student .student-store-page .store-product-card[data-template-key=weekly-title-starlight] .store-title-preview img,.student-title-gallery-item.virtual-title-tone-starlight .student-title-gallery-image{animation:3.2s ease-in-out infinite virtual-title-starlight-pulse}.virtual-title-tone-dawn .virtual-limited-title-emblem,.portal-student .student-store-page .store-product-card[data-template-key=weekly-title-dawn] .store-title-preview img,.student-title-gallery-item.virtual-title-tone-dawn .student-title-gallery-image{animation:4.6s ease-in-out infinite virtual-title-dawn-rise}.virtual-title-tone-brilliant .virtual-limited-title-emblem,.portal-student .student-store-page .store-product-card[data-template-key=weekly-title-brilliant] .store-title-preview img,.student-title-gallery-item.virtual-title-tone-brilliant .student-title-gallery-image{animation:3.8s ease-in-out infinite virtual-title-brilliant-glint}.virtual-title-tone-study-light .virtual-limited-title-emblem,.portal-student .student-store-page .store-product-card[data-template-key=weekly-title-study-light] .store-title-preview img,.student-title-gallery-item.virtual-title-tone-study-light .student-title-gallery-image{animation:4.8s ease-in-out infinite virtual-title-study-light-current}.virtual-title-tone-cloud .virtual-limited-title-emblem,.portal-student .student-store-page .store-product-card[data-template-key=weekly-title-cloud] .store-title-preview img,.student-title-gallery-item.virtual-title-tone-cloud .student-title-gallery-image{animation:5.6s ease-in-out infinite virtual-title-cloud-float}.virtual-title-tone-radiant .virtual-limited-title-emblem,.portal-student .student-store-page .store-product-card[data-template-key=weekly-title-radiant] .store-title-preview img,.student-title-gallery-item.virtual-title-tone-radiant .student-title-gallery-image{animation:4.2s ease-in-out infinite virtual-title-radiant-pulse}.virtual-title-tone-dream .virtual-limited-title-emblem,.portal-student .student-store-page .store-product-card[data-template-key=weekly-title-dream] .store-title-preview img,.student-title-gallery-item.virtual-title-tone-dream .student-title-gallery-image{animation:5.4s ease-in-out infinite virtual-title-dream-sail}.virtual-title-tone-qinglan .virtual-limited-title-emblem,.portal-student .student-store-page .store-product-card[data-template-key=weekly-title-qinglan] .store-title-preview img,.student-title-gallery-item.virtual-title-tone-qinglan .student-title-gallery-image{animation:5.8s ease-in-out infinite virtual-title-qinglan-breathe}.virtual-title-tone-jixue .virtual-limited-title-emblem,.portal-student .student-store-page .store-product-card[data-template-key=weekly-title-jixue] .store-title-preview img,.student-title-gallery-item.virtual-title-tone-jixue .student-title-gallery-image{animation:6.2s ease-in-out infinite virtual-title-jixue-drift}.virtual-title-tone-feiye .virtual-limited-title-emblem,.portal-student .student-store-page .store-product-card[data-template-key=weekly-title-feiye] .store-title-preview img,.student-title-gallery-item.virtual-title-tone-feiye .student-title-gallery-image{animation:6s ease-in-out infinite virtual-title-feiye-orbit}.virtual-title-tone-tidal .virtual-limited-title-emblem,.portal-student .student-store-page .store-product-card[data-template-key=weekly-title-tidal] .store-title-preview img,.student-title-gallery-item.virtual-title-tone-tidal .student-title-gallery-image{transform-origin:48% 72%;animation:4.4s cubic-bezier(.37,0,.63,1) infinite virtual-title-tidal-surge}.virtual-title-tone-youlan .virtual-limited-title-emblem,.portal-student .student-store-page .store-product-card[data-template-key=weekly-title-youlan] .store-title-preview img,.student-title-gallery-item.virtual-title-tone-youlan .student-title-gallery-image{transform-origin:52% 54%;animation:5.6s ease-in-out infinite virtual-title-youlan-flutter}.virtual-title-tone-kite .virtual-limited-title-emblem,.portal-student .student-store-page .store-product-card[data-template-key=weekly-title-kite] .store-title-preview img,.student-title-gallery-item.virtual-title-tone-kite .student-title-gallery-image{transform-origin:58% 42%;animation:4.8s cubic-bezier(.37,0,.63,1) infinite virtual-title-kite-sway}.virtual-title-tone-study-light{--title-accent:#7ef4df;--title-bg-a:#075b69;--title-bg-b:#197d9e}.virtual-title-tone-starlight{--title-accent:#ffb9ec;--title-bg-a:#5a247e;--title-bg-b:#a62b77}.virtual-title-tone-dawn{--title-accent:#ffd074;--title-bg-a:#9e2b28;--title-bg-b:#d76722}.virtual-title-tone-cloud{--title-accent:#d7efff;--title-bg-a:#2867ad;--title-bg-b:#6b61bd}.virtual-title-tone-radiant{--title-accent:#fff0a6;--title-bg-a:#97540c;--title-bg-b:#cb7a06}.virtual-title-tone-dream{--title-accent:#92eaff;--title-bg-a:#293b91;--title-bg-b:#076f91}.virtual-title-tone-brilliant{--title-accent:#ffd0f0;--title-bg-a:#7f1f69;--title-bg-b:#b74158}.virtual-title-tone-qinglan{--title-accent:#bff5d7;--title-bg-a:#075f55;--title-bg-b:#168577}.virtual-title-tone-jixue{--title-accent:#e5f6ff;--title-bg-a:#395f7c;--title-bg-b:#718eaa}.virtual-title-tone-feiye{--title-accent:#ffd47d;--title-bg-a:#692129;--title-bg-b:#9c4828}.virtual-title-tone-tidal{--title-accent:#d8fbff;--title-bg-a:#075477;--title-bg-b:#138da3}.virtual-title-tone-youlan{--title-accent:#ead8ff;--title-bg-a:#3c246f;--title-bg-b:#7043a3}.virtual-title-tone-kite{--title-accent:#ffe2b0;--title-bg-a:#8d342a;--title-bg-b:#167a7d}.virtual-limited-title>span,.virtual-dynamic-badge>span:not(.virtual-dynamic-badge-icon){white-space:nowrap;font-weight:750}.virtual-limited-title small,.virtual-dynamic-badge small{color:#765f38;border-left:1px solid #6946103d;margin-left:.1rem;padding-left:.45rem;font-size:.74rem;font-weight:600}.virtual-limited-title small{color:#fff;border-left-color:#ffffff57}.virtual-dynamic-badge{color:#164f7e;background:#f3f9ff;border-color:#75b6ee}.virtual-privilege-marks:not(.is-compact) .virtual-dynamic-badge{animation:2.4s ease-in-out infinite virtual-badge-display-glow}.virtual-dynamic-badge-icon{justify-content:center;align-items:center;display:inline-flex;position:relative}.virtual-dynamic-badge-spark{color:#da9a20;transform-origin:45% 55%;animation:2.4s ease-in-out infinite virtual-badge-spark;position:absolute;top:-.32rem;right:-.34rem}.virtual-privilege-marks.is-compact{gap:.35rem;margin-top:.45rem}.virtual-privilege-marks.is-compact .virtual-limited-title,.virtual-privilege-marks.is-compact .virtual-dynamic-badge{min-height:1.55rem;padding:.18rem .48rem;font-size:.73rem}.virtual-spotlight-active{isolation:isolate;animation:2.8s ease-in-out infinite virtual-spotlight-aura;position:relative;box-shadow:0 0 0 2px #fff2c2d1,0 0 18px #e6b54d7a,0 14px 28px #1f5b8f2e;border:3px solid #e6b54d!important}.virtual-spotlight-active:before{z-index:1;content:"";opacity:0;pointer-events:none;background:linear-gradient(105deg,#0000 0%,#fff4c72e 28%,#ffe78eb8 50%,#fff4c72e 72%,#0000 100%);width:38%;animation:3.2s cubic-bezier(.22,1,.36,1) infinite virtual-spotlight-sweep;position:absolute;top:0;bottom:0;left:0;transform:translate(-150%)skew(-14deg)}.virtual-spotlight-active:after,.virtual-spotlight-label{color:#76500d;letter-spacing:.06em;text-align:center;text-shadow:0 1px #ffffffb8;transform-origin:50%;background:linear-gradient(135deg,#fff2c8,#e6b54d);border:2px solid #e6b54d;border-radius:999px;padding:.42rem .72rem;font-size:.82rem;font-weight:800;animation:2.2s ease-in-out infinite virtual-spotlight-label;box-shadow:0 0 0 2px #fff8dac2,0 5px 8px #8e5b0533}.virtual-spotlight-active:after{content:"✦ 星辉聚光 ✦";z-index:3;position:absolute;top:.75rem;right:.75rem}.character-wall-card.virtual-spotlight-active:after{display:none}.character-wall-card.virtual-spotlight-active .skin-preview{filter:saturate(1.06)brightness(1.03);border-bottom:2px solid #e6b54d}.character-wall-card.virtual-spotlight-active .character-wall-card-body{background:linear-gradient(#fff9e1b8,#fffdf63d);box-shadow:inset 0 1px #ffffffe0}.character-wall-card.virtual-spotlight-active .character-wall-card-body.has-spotlight{grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:.65rem}.character-wall-card-body.has-spotlight>small{grid-area:1/1}.character-wall-card-body.has-spotlight>h3{grid-area:2/1}.character-wall-card-body.has-spotlight>.virtual-spotlight-label{grid-area:1/2/span 2;justify-content:center;place-self:start end;align-items:center;max-width:100%;line-height:1.25;display:inline-flex}.character-wall-card-body.has-spotlight>:is(.virtual-privilege-marks,.character-wall-role,dl,.character-wall-latest-title,.status-pill){grid-column:1/-1}@media (max-width:380px){.character-wall-card.virtual-spotlight-active .character-wall-card-body.has-spotlight{grid-template-columns:minmax(0,1fr)}.character-wall-card-body.has-spotlight>.virtual-spotlight-label{grid-area:1/1;justify-self:start}.character-wall-card-body.has-spotlight>small{grid-row:2}.character-wall-card-body.has-spotlight>h3{grid-row:3}}@keyframes virtual-spotlight-aura{0%,to{box-shadow:0 0 0 2px #fff2c2d1,0 0 14px #e6b54d6b,0 14px 28px #1f5b8f2e}50%{box-shadow:0 0 0 3px #fff2c2f5,0 0 28px #e6b54db8,0 16px 30px #1f5b8f38}}@keyframes virtual-spotlight-sweep{0%,18%{opacity:0;transform:translate(-150%)skew(-14deg)}30%{opacity:.9}58%,to{opacity:0;transform:translate(360%)skew(-14deg)}}@keyframes virtual-spotlight-label{0%,to{filter:brightness();transform:scale(1)}50%{filter:brightness(1.1);transform:scale(1.055)}}@keyframes virtual-badge-spark{0%,to{opacity:.58;transform:rotate(-10deg)scale(.88)}50%{opacity:1;transform:rotate(12deg)scale(1.12)}}@keyframes virtual-title-astral-float{0%,to{filter:drop-shadow(0 4px 5px #1c2d5e33);transform:translate(0,0)rotate(-1deg)}50%{filter:drop-shadow(0 7px 8px #5c7ee757)brightness(1.06);transform:translateY(-4px)rotate(1deg)}}@keyframes virtual-title-astral-stars{0%,to{opacity:.42;transform:translate(-2%,2%)}50%{opacity:.95;transform:translate(3%,-2%)}}@keyframes virtual-title-starlight-pulse{0%,to{filter:drop-shadow(0 3px 4px #742a7b38);transform:scale(.99)}48%{filter:drop-shadow(0 6px 9px #f675d66b)brightness(1.1);transform:scale(1.025)}}@keyframes virtual-title-starlight-spark{0%,to{opacity:.34;transform:scale(.92)}38%{opacity:1;transform:scale(1.05)}64%{opacity:.58;transform:scale(.98)}}@keyframes virtual-title-dawn-rise{0%,to{filter:drop-shadow(0 4px 5px #77381133);transform:translateY(2px)}46%{filter:drop-shadow(0 7px 9px #f49a2a66)brightness(1.1);transform:translateY(-3px)}}@keyframes virtual-title-dawn-sweep{0%,58%{opacity:0;transform:translateY(72%)}76%{opacity:.9}to{opacity:0;transform:translateY(-72%)}}@keyframes virtual-title-brilliant-glint{0%,to{filter:drop-shadow(0 4px 5px #74215b38)saturate();transform:rotate(-.7deg)scale(1)}52%{filter:drop-shadow(0 7px 10px #dc48a26b)saturate(1.15)brightness(1.08);transform:rotate(.7deg)scale(1.018)}}@keyframes virtual-title-brilliant-edge{0%,64%{opacity:0;transform:translate(-130%)}76%{opacity:.92}to{opacity:0;transform:translate(130%)}}@keyframes virtual-title-study-light-current{0%,to{filter:drop-shadow(0 4px 5px #10637433);transform:translate(-1px,1px)}50%{filter:drop-shadow(0 7px 9px #41dbcc61)brightness(1.08);transform:translate(2px,-2px)}}@keyframes virtual-title-study-light-flow{0%,58%{opacity:0;transform:translate(-128%)}76%{opacity:.88}to{opacity:0;transform:translate(128%)}}@keyframes virtual-title-cloud-float{0%,to{filter:drop-shadow(0 4px 5px #4a76b42e);transform:translateY(2px)}50%{filter:drop-shadow(0 8px 10px #7cb4e752)brightness(1.05);transform:translateY(-5px)}}@keyframes virtual-title-cloud-mist{0%,to{opacity:.34;transform:translate(-3%,1%)scale(.98)}50%{opacity:.78;transform:translate(4%,-1%)scale(1.04)}}@keyframes virtual-title-radiant-pulse{0%,to{filter:drop-shadow(0 4px 5px #89510733);transform:scale(.99)}50%{filter:drop-shadow(0 8px 11px #fab5276b)brightness(1.1);transform:scale(1.025)}}@keyframes virtual-title-radiant-halo{0%,to{opacity:.28;transform:scale(.86)}50%{opacity:.82;transform:scale(1.08)}}@keyframes virtual-title-dream-sail{0%,to{filter:drop-shadow(0 4px 5px #1e5c9138);transform:translate(-2px,1px)rotate(-.6deg)}52%{filter:drop-shadow(0 7px 10px #49b5de61)brightness(1.07);transform:translate(3px,-3px)rotate(.6deg)}}@keyframes virtual-title-dream-trail{0%,62%{opacity:0;transform:translate(-124%)}78%{opacity:.78}to{opacity:0;transform:translate(124%)}}@keyframes virtual-title-qinglan-breathe{0%,to{filter:drop-shadow(0 4px 5px #075d4f33);transform:translateY(1px)scale(.995)}50%{filter:drop-shadow(0 7px 9px #45c99e57)brightness(1.06);transform:translateY(-2px)scale(1.012)}}@keyframes virtual-title-qinglan-fireflies{0%,to{opacity:.38;transform:translate(-2%,2%)rotate(-2deg)}50%{opacity:.88;transform:translate(3%,-2%)rotate(2deg)}}@keyframes virtual-title-jixue-drift{0%,to{filter:drop-shadow(0 4px 5px #3658742e);transform:translate(-1px,1px)rotate(-.5deg)}50%{filter:drop-shadow(0 7px 9px #9adaf24d)brightness(1.055);transform:translate(2px,-2px)rotate(.5deg)}}@keyframes virtual-title-jixue-wind{0%,to{opacity:.34;transform:translate(-3%,1%)}50%{opacity:.78;transform:translate(4%,-1%)}}@keyframes virtual-title-feiye-orbit{0%,to{filter:drop-shadow(0 4px 5px #67261838);transform:translate(-1px,1px)rotate(-.7deg)scale(.995)}50%{filter:drop-shadow(0 8px 10px #ec882a61)brightness(1.06);transform:translate(2px,-2px)rotate(.7deg)scale(1.015)}}@keyframes virtual-title-feiye-amber{0%,to{opacity:.34;transform:scale(.96)}50%{opacity:.78;transform:scale(1.04)}}@keyframes virtual-title-tidal-surge{0%,to{filter:drop-shadow(0 4px 5px #04537a3d);transform:translateY(1px)rotate(-2.2deg)scale(.99)}48%{filter:drop-shadow(0 10px 12px #27bee27a)brightness(1.1);transform:translateY(-6px)rotate(2.2deg)scale(1.035)}}@keyframes virtual-title-tidal-bubbles{0%,to{opacity:.3;transform:translate(-2%,7px)scale(.94)}48%{opacity:.95;transform:translate(3%,-9px)scale(1.08)}}@keyframes virtual-title-youlan-flutter{0%,to{filter:drop-shadow(0 4px 5px #3a206f3d);transform:translate(-1px,1px)rotate(-.45deg)scale(.995)}48%{filter:drop-shadow(0 8px 11px #915bdc6b)brightness(1.075);transform:translate(1px,-3px)rotate(.45deg)scale(1.018)}62%{transform:translateY(-2px)rotate(-.2deg)scaleX(.992)scaleY(1.014)}}@keyframes virtual-title-youlan-orbit{0%,to{opacity:.34;transform:translate(-2%,2%)rotate(-2deg)scale(.97)}48%{opacity:.86;transform:translate(3%,-2%)rotate(2deg)scale(1.04)}}@keyframes virtual-title-kite-sway{0%,to{filter:drop-shadow(0 4px 5px #48372d3d);transform:translate(-2px,2px)rotate(-1.8deg)scale(.99)}48%{filter:drop-shadow(0 9px 11px #23878b61)brightness(1.06);transform:translate(3px,-5px)rotate(1.8deg)scale(1.02)}}@keyframes virtual-title-kite-wind{0%,to{opacity:.28;transform:translate(-7%,4%)rotate(-3deg)}48%{opacity:.82;transform:translate(8%,-4%)rotate(3deg)}}@keyframes virtual-badge-display-glow{0%,to{border-color:#75b6ee;box-shadow:0 0 #68baff00}50%{border-color:#d3ab47;box-shadow:0 0 18px #68baff61}}@keyframes character-title-breathe{0%,to{opacity:.9;transform:translateY(0)scale(1)}50%{opacity:1;transform:translateY(-3px)scale(1.045)}}@keyframes character-title-sweep{0%,48%{opacity:0;transform:translate(-80%)}62%{opacity:.95}82%,to{opacity:0;transform:translate(80%)}}@media (max-width:520px){.virtual-privilege-marks:not(.is-compact){flex-direction:column;align-items:flex-start}.virtual-limited-title small,.virtual-dynamic-badge small{white-space:normal}}@media (prefers-reduced-motion:reduce){.character-equipped-title,.character-equipped-title:after,.virtual-privilege-marks:not(.is-compact) .virtual-dynamic-badge,.virtual-dynamic-badge-spark,.virtual-spotlight-active,.virtual-spotlight-active:before,.virtual-spotlight-active:after,.virtual-spotlight-label{opacity:1;animation:none;transform:none}.virtual-spotlight-active:before{display:none}.virtual-limited-title:after{animation:none;display:none}:is(.virtual-title-tone-astral,.virtual-title-tone-study-light,.virtual-title-tone-starlight,.virtual-title-tone-dawn,.virtual-title-tone-cloud,.virtual-title-tone-radiant,.virtual-title-tone-dream,.virtual-title-tone-brilliant,.virtual-title-tone-qinglan,.virtual-title-tone-jixue,.virtual-title-tone-feiye,.virtual-title-tone-tidal,.virtual-title-tone-youlan,.virtual-title-tone-kite) .virtual-limited-title-emblem,.portal-student .student-store-page .store-product-card[data-template-key^=weekly-title] .store-title-preview img,.student-title-gallery-item .student-title-gallery-image{filter:none;animation:none;transform:none}}
