/* Site-wide additions share the course palette and native accessible controls. */
.world-main{max-width:1140px;margin:30px auto;padding:0 24px 100px}.world-dialog{width:min(620px,calc(100vw - 28px));max-height:88dvh;overflow:auto;padding:24px;border:1px solid #4b9dc6;border-radius:12px;background:#0b213b;color:#eff7ff;box-shadow:0 24px 90px #000a}.world-dialog::backdrop{background:#020b19c9}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.world-dialog label{display:grid;gap:7px;margin:14px 0}.world-dialog form input,.world-dialog form select,.world-dialog textarea{width:100%;box-sizing:border-box;background:#102e4d;color:#eff7ff;border:1px solid #4b7293;padding:10px;border-radius:6px;min-height:44px;font:inherit}.world-dialog .check{display:flex}.world-dialog .check input{width:20px;min-height:20px}.world-dialog button{min-height:44px}.world-dialog :focus-visible,.world-main :focus-visible,.study-calendar :focus-visible{outline:3px solid #91e6ff;outline-offset:3px}.world-shell-title{padding:30px;border:1px solid #286080;border-left:3px solid #68e1d1;border-radius:12px;background:linear-gradient(110deg,#0d344d,#091c31);margin-bottom:22px}.gallery-total{color:#ffdb94;margin:18px 0}.trophy-cabinet{position:relative;isolation:isolate;overflow:hidden;border:8px solid #614b32;border-top:12px solid #ab8149;border-bottom:14px solid #4a3829;border-radius:8px;background:repeating-linear-gradient(0deg,#151b29 0 3px,#1e2738 3px 7px);box-shadow:inset 0 0 0 3px #d2a65b,0 14px 30px #0005;margin:26px 0;perspective:1200px}.trophy-cabinet>header{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 22px;border-bottom:4px solid #b08b50;background:linear-gradient(#443a30,#242a35);color:#ffe1a1}.trophy-shelf{position:relative;display:flex;flex-wrap:wrap;gap:24px;align-items:flex-end;min-height:200px;padding:30px 24px 26px;border-bottom:7px solid #9c7745;background:radial-gradient(ellipse at 50% 0,#ffd87c25,transparent 70%);box-shadow:inset 0 -6px #e5bb68,inset 0 15px 30px #0007}.trophy-cabinet:before,.trophy-cabinet:after{content:'';position:absolute;z-index:3;top:0;bottom:0;width:50%;pointer-events:none;border:4px solid #ba9457;background:repeating-linear-gradient(90deg,#59432c 0 9px,#654b30 9px 12px);animation:cabinet-open 1.15s cubic-bezier(.2,.8,.2,1) both;box-shadow:inset 0 0 30px #0008}.trophy-cabinet:before{left:0;transform-origin:left center;--door-angle:-110deg}.trophy-cabinet:after{right:0;transform-origin:right center;--door-angle:110deg}.trophy-badge{display:grid;justify-items:center;gap:8px;width:120px;min-height:142px;position:relative;padding:8px;background:none;border:1px solid transparent;color:#ffe9bd;perspective:500px}.trophy-badge img{image-rendering:pixelated;filter:drop-shadow(6px 8px 2px #0008);transform:rotateY(-14deg) rotateX(7deg);transition:transform .2s}.trophy-badge:hover img,.trophy-badge:focus-visible img{transform:rotateY(12deg) rotateX(0) translateY(-8px)}.trophy-badge span{font-size:12px}.empty-shelf{align-self:center;color:#c4cdd7;font-size:14px;max-width:500px}.badge-closeup{display:grid;place-items:center;min-height:300px;perspective:600px;background:radial-gradient(ellipse,#97794740,transparent 65%)}.badge-closeup img{image-rendering:pixelated;filter:drop-shadow(12px 18px 4px #0008);transition:transform .2s}.study-calendar{display:grid;gap:8px;margin:18px 0;grid-template-columns:repeat(7,minmax(0,1fr))}.study-calendar{grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:18px 0}.calendar-toolbar button[aria-pressed=true]{border-color:#76ecff;background:#174e71}.calendar-full-link{margin-left:auto}.calendar-day{min-width:0;min-height:160px;padding:9px;border:2px solid #285374;border-radius:0;background:linear-gradient(#0d2a43,#071b2f);box-shadow:3px 3px 0 #020b19}.calendar-day h4{font:700 12px monospace;color:#a9d5ee;border-bottom:2px solid #284d66;padding-bottom:8px;margin:0 0 9px}.calendar-day.today{border-color:#ffd680;box-shadow:3px 3px 0 #715a2e}.calendar-day.outside{opacity:.6}.study-session{display:block;width:100%;min-height:44px;text-align:left;overflow-wrap:anywhere;font-size:11px;line-height:1.5;padding:7px;margin:7px 0;border:1px solid #2da2b9;border-left:3px solid #6be7d6;background:#103a51;color:#e1f7ff}.study-session.complete{border-color:#a4cb7f;background:#243c31}.session-note{display:block;margin-top:6px;color:#bad9e8}.empty-day{font-size:11px;color:#809eb8}.add-day{min-width:44px;min-height:44px;margin-top:10px;padding:6px;font-size:20px}.period-title{font:700 18px monospace;color:#ffe2a2}.calendar-message{color:#a0efce;font-size:13px;min-height:20px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;text-align:center;color:#8fc2df;font:12px monospace}#study-plan-root{padding:22px;border:1px solid #285374;border-radius:10px;background:#081d32}#study-plan-root h1,#study-plan-root h2{margin-bottom:12px}.accessibility-trigger{position:fixed;right:14px;bottom:calc(85px + env(safe-area-inset-bottom,0px));z-index:45;min-width:44px;min-height:44px;padding:9px;border:2px solid #65d8ef;border-radius:7px;background:#0a2a43;color:#e8faff;font:700 12px Arial;box-shadow:0 4px 14px #0009}.access-setting{display:flex!important;align-items:center;gap:12px;min-height:44px}.access-setting input{width:20px;height:20px;accent-color:#5bdbff}.cs-skip-link{position:fixed;top:-100px;left:12px;z-index:20000;background:#fff;color:#000;padding:14px}.cs-skip-link:focus{top:12px}.world-dialog select,.world-dialog input{max-width:100%}html[data-cs-high-contrast] body,html[data-cs-high-contrast] .panel,html[data-cs-high-contrast] .calendar-day,html[data-cs-high-contrast] .course-row{background:#000!important;color:#fff!important}html[data-cs-high-contrast] p,html[data-cs-high-contrast] .muted,html[data-cs-high-contrast] .small{color:#fff!important}html[data-cs-high-contrast] a{color:#89eeff!important}html[data-cs-high-contrast] button{color:#fff!important;border-color:#fff!important;background:#071b32!important}html[data-cs-high-contrast] :focus-visible{outline:3px solid #ffed77!important;outline-offset:4px!important}@keyframes cabinet-open{from{transform:rotateY(0);opacity:1}85%{opacity:1}to{transform:rotateY(var(--door-angle));opacity:0}}html[data-cs-reduce-motion] *,html[data-cs-reduce-motion] *:before,html[data-cs-reduce-motion] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html[data-cs-reduce-motion] .trophy-cabinet:before,html[data-cs-reduce-motion] .trophy-cabinet:after{display:none}@media(prefers-reduced-motion:reduce){.trophy-cabinet:before,.trophy-cabinet:after{display:none;animation:none}.trophy-badge img,.badge-closeup img{transition:none}.trophy-badge:hover img{transform:none}}@media(max-width:800px){.study-calendar.week{grid-template-columns:1fr}.calendar-day{min-height:100px}.study-calendar.month{gap:3px}.month .calendar-day{padding:3px;min-height:90px;box-shadow:none}.month .calendar-day h4{font-size:11px}.month .study-session{font-size:9px;padding:3px}.month .empty-day{display:none}.month .add-day{padding:0;min-width:40px;min-height:40px;width:100%}.trophy-shelf{padding:24px 12px;gap:12px}.trophy-badge{width:100px}.world-main{padding:0 14px 100px}.world-shell-title{padding:22px}.world-dialog{padding:18px}.calendar-full-link{margin-left:0}}

#csNewCourseCards .card{display:flex;flex-direction:column}#csNewCourseCards .cardbody{display:flex;flex-direction:column;flex:1;gap:10px}#csNewCourseCards .course-version{font-size:12px;color:#b6d2e7;margin-bottom:auto}#csNewCourseCards .course-version p{padding:10px 0}#csNewCourseCards .btn.full{width:100%;box-sizing:border-box;text-align:center;justify-content:center}#csNewCourseCards .art{min-height:170px}

.session-time{display:none}@media(max-width:700px){.month .calendar-day{padding:2px;border-width:1px}.month .add-day{min-width:0;min-height:44px;width:100%}.month .session-summary,.month .session-note{display:none}.month .session-time{display:block;font:10px monospace}.month .study-session{padding:3px 0;min-width:0;min-height:44px}#study-plan-root{padding:14px}.calendar-weekdays{font-size:10px}}
#study-plan-root button,.world-dialog button{font:600 13px Arial,system-ui,sans-serif;min-height:44px;padding:10px 14px;border:1px solid #386f94;border-radius:4px;background:#123552;color:#eff8ff;cursor:pointer}#study-plan-root button:hover,.world-dialog button:hover{border-color:#7ce7ff}#study-plan-root button.primary,.world-dialog button.primary{background:#48c8ff;border-color:#8eeaff;color:#041527}#study-plan-root .calendar-day .add-day{padding:6px}#study-plan-root .study-session{text-align:left;background:#103a51;font-size:11px;padding:7px}.uniform-side-icon{display:grid;place-items:center}.hero-options{color:#bed1e6;font-size:12px;margin-top:14px!important}@media(max-width:700px){#study-plan-root .month .add-day{padding:0;min-width:0}#study-plan-root .month .study-session{padding:3px 0;font-size:10px}}

/* Read-aloud controls live in navigation flow and never cover study controls. */
.accessibility-trigger{position:static;right:auto;bottom:auto;flex:none;margin:0 0 0 8px;box-shadow:none;min-height:36px;padding:6px 10px}.cs-access-toolbar{display:flex;justify-content:flex-end;padding:4px 14px;background:#06172b;border-bottom:1px solid #245578}.examtop .accessibility-trigger{min-width:44px;padding:6px}.run-top .accessibility-trigger{margin-left:auto}html{scroll-padding-top:160px;scroll-padding-bottom:100px}

/* Original medal cards, centralized with all unlock requirements visible. */
.achievement-course{margin:26px 0}.achievement-course .badge-list{margin:22px 0 0}.achievement-course .badge-list li{align-items:flex-start;overflow-wrap:anywhere}.achievement-course .badge-list h3{font-size:15px;margin:0}.achievement-course .badge-list p{margin:6px 0 0}.achievement-course .badge-list .badge-status{font-size:11px;font-weight:700;color:#c5d6e8}.achievement-course .badge-list .earned .badge-status{color:#ffda86}.achievement-progress{height:8px;background:#18334e;border-radius:9px;overflow:hidden;margin-top:18px}.achievement-progress span{display:block;height:100%;background:#ffd080}.home-badge .medal{width:48px;height:48px}

/* Detailed illustrated portraits use smooth scaling at profile and gallery sizes. */
.cs-illustrated-avatar{image-rendering:auto!important}

/* Shared press feedback: no layout shift, delayed actions, or pointer overlays. */
.cs-pressing{scale:.97}.cs-click-feedback{animation:cs-control-tap 180ms ease-out;outline:2px solid #8de4ff;outline-offset:2px}@keyframes cs-control-tap{0%{scale:.97}65%{scale:1.015}100%{scale:1}}
@media(prefers-reduced-motion:reduce){.cs-pressing{scale:none}.cs-click-feedback{animation:none}}
html[data-cs-reduce-motion] .cs-pressing{scale:none}html[data-cs-reduce-motion] .cs-click-feedback{animation:none}

.commit-form{display:grid;gap:22px;margin:25px 0}.commit-form fieldset{padding:20px;border:1px solid #38617e;border-radius:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.commit-form legend{padding:0 8px;font-weight:700}.commit-form label,.commit-pop-quiz label{display:flex;gap:10px;align-items:center;min-height:44px;color:#e2f1ff}.commit-form input[type=checkbox],.commit-pop-quiz input{width:20px;height:20px;flex:none;accent-color:#67d7e6}.commit-form>label{display:grid;gap:8px}.commit-form select,.commit-form input[type=number]{background:#102e4d;color:#edf8ff;border:1px solid #4b7293;padding:11px;border-radius:6px;min-height:44px;font:inherit;max-width:100%}.commit-course-option{padding:12px;background:#102943;border:1px solid #2a5877;border-radius:6px}.commit-course-option span{display:grid;gap:4px}.commit-course-option small{color:#b2cce2}.commit-form button,.commit-pop-quiz button{min-height:44px;padding:12px 18px;white-space:normal}.commit-link{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;margin:7px 12px 7px 0;border:1px solid #438099;border-radius:6px;color:#a5eeff;text-decoration:none}.commit-recommendations{display:flex;flex-wrap:wrap;gap:8px}.commitment-dashboard{margin:22px 0;padding:24px;border:1px solid #2a5778;border-radius:10px;background:#0b213b}.commitment-dashboard h2,.commitment-dashboard h3{color:#edf7ff}.rift-promo{margin:18px 0;padding:20px;border:1px solid #5675a2;border-left:3px solid #d2a6ff;border-radius:8px;background:linear-gradient(90deg,#182847ed,#152543ba),url('/riftwalkers/art/riftforge.webp') center/cover}.commit-pop-quiz{padding:20px;border:1px solid #315c7c;border-radius:8px;background:#091e35}.commit-pop-quiz fieldset{min-width:0;padding:14px;border:1px solid #396681}.commit-pop-quiz legend{max-width:100%;white-space:pre-wrap;font-weight:700}.commit-pop-quiz label{padding:8px;white-space:pre-wrap}.commit-pop-quiz small{display:block;color:#bdd1e3}.commit-tag{display:inline-block;padding:5px 9px;border:1px solid #6ec1ae;border-radius:4px;font-size:11px;background:#123b38;color:#a5f1d2;margin-bottom:10px}@media(max-width:700px){.commit-form fieldset{grid-template-columns:1fr;padding:14px}.commitment-dashboard{padding:18px}.commit-link{margin-right:0}.commit-pop-quiz{padding:14px}}

.commit-pop-quiz legend{overflow-wrap:anywhere}

/* Shared profile dropdown: account, preferences and accessibility. */
.cs-profile-menu{position:relative;flex:none;z-index:65;color:#eaf5ff;font:14px/1.4 Arial,sans-serif}.cs-profile-menu summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:9px;color:#eaf5ff}.cs-profile-menu summary::-webkit-details-marker{display:none}.cs-profile-menu summary:focus-visible,.cs-profile-items :focus-visible{outline:3px solid #91e6ff;outline-offset:2px}.cs-profile-menu .cs-profile-items{position:absolute;inset:calc(100% + 12px) 0 auto auto;width:244px;max-width:calc(100vw - 24px);box-sizing:border-box;padding:7px;margin:0;display:grid;gap:2px;border:1px solid #2f5c81;border-radius:10px;background:#081c33;box-shadow:0 14px 32px #0007;z-index:80}.cs-profile-menu:not([open])>.cs-profile-items{display:none}.cs-profile-menu .cs-menu-item,.cs-settings-links .cs-menu-item{display:flex;align-items:center;justify-content:flex-start;gap:11px;min-height:44px;width:100%;box-sizing:border-box;padding:10px 12px;border:0;border-radius:6px;background:transparent;box-shadow:none;color:#e0efff;text-decoration:none;font:inherit;text-align:left;cursor:pointer;margin:0}.cs-profile-menu .cs-menu-item:hover,.cs-settings-links .cs-menu-item:hover{background:#173c59;color:#fff}.cs-menu-icon{width:18px;height:18px;flex:none;color:#8fcae9;pointer-events:none}.cs-profile-menu .cs-profile-items [aria-haspopup="dialog"]:nth-last-child(2){border-top:1px solid #29445f;border-radius:0 0 6px 6px;margin-top:5px;padding-top:13px}.cs-profile-menu .cs-profile-items p:empty{display:none}.cs-profile-fallback>summary{padding:6px 12px;border:1px solid #315b78;border-radius:7px;background:#0b263e;font-size:13px}.cs-profile-fallback>summary:after{content:'⌄';font-size:14px;color:#a6cde5}.cs-profile-dock{position:fixed;right:14px;top:14px;z-index:90}.cs-settings-links{display:grid;gap:5px}.cs-global:has(.cs-profile-menu[open]),header.top:has(.cs-profile-menu[open]),.examtop:has(.cs-profile-menu[open]),.run-top:has(.cs-profile-menu[open]){z-index:95}.rift-toolbar .cs-profile-menu .cs-profile-items{max-height:calc(100dvh - 100px);overflow:auto}html[data-cs-high-contrast] .cs-profile-items{background:#000;border-color:#fff}html[data-cs-high-contrast] .cs-menu-item{color:#fff}

@media(max-width:800px){.cs-global>.cs-profile-fallback{position:absolute;right:12px;top:6px}}

#csChangeAvatar.cs-menu-item{display:flex;gap:11px;justify-content:flex-start;background:transparent;border:0;box-shadow:none;border-radius:6px;padding:10px 12px;font:inherit}#csChangeAvatar.cs-menu-item:hover{background:#173c59}
