.menu-btn-mastery{position:relative}.mastery-ready-pill{pointer-events:none;color:#ffef63;letter-spacing:1px;text-transform:uppercase;white-space:nowrap;text-shadow:0 0 4px oklab(93.9425% -.0351342 .154573/.5);z-index:1;background:linear-gradient(oklab(44.1062% -.00786534 .0299232/.966863),oklab(32.6592% .0187322 .00492614/.976471));border:1px solid oklab(93.9425% -.0351342 .154573/.75);border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:10px;font-weight:700;animation:1.8s ease-in-out infinite mastery-ready-pill-pulse;display:inline-flex;position:absolute;top:-8px;right:-8px;box-shadow:0 0 10px oklab(93.9425% -.0351342 .154573/.45)}.mastery-ready-pill-dot{background:#ffef63;border-radius:50%;width:6px;height:6px;box-shadow:0 0 6px #ffef63}.mastery-ready-pill-count{font-variant-numeric:tabular-nums;color:#fff;font-weight:700}@keyframes mastery-ready-pill-pulse{0%,to{transform:scale(1);box-shadow:0 0 8px oklab(93.9425% -.0351342 .154573/.35)}50%{transform:scale(1.06);box-shadow:0 0 16px oklab(93.9425% -.0351342 .154573/.7)}}@media (prefers-reduced-motion:reduce){.mastery-ready-pill{animation:none}}.map-mastery-ticker{z-index:10;-webkit-backdrop-filter:blur(4px);pointer-events:none;color:#b4b4c8d9;background:#0a0a14d9;border:1px solid #ffffff1f;border-radius:4px;flex-direction:column;gap:6px;min-width:200px;max-width:260px;padding:8px 12px;font-size:12px;display:flex;position:absolute;top:58px;left:16px}.map-mastery-ticker-header{letter-spacing:1.5px;text-transform:uppercase;color:#8ca0b4b3;border-bottom:1px solid #ffffff14;margin-bottom:2px;padding-bottom:4px;font-size:10px}.map-mastery-ticker--placeholder{color:#b4b4c88c}.map-mastery-placeholder-copy{color:#b4b4c8a6;padding:2px 0;font-size:11px;font-style:italic;line-height:1.4}.map-mastery-row{align-items:center;gap:8px;display:flex}.map-mastery-row-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.map-mastery-row-top{justify-content:space-between;align-items:baseline;gap:6px;display:flex}.map-mastery-row-name{color:#e7faff;letter-spacing:.5px;white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:12px;font-weight:600;overflow:hidden}.map-mastery-row-pct{font-variant-numeric:tabular-nums;color:color-mix(in oklab, var(--mastery-tier-color,#44e3ff) 80%, #e7faff 20%);font-size:11px;font-weight:600}.map-mastery-row-meta{color:#8296aab3;letter-spacing:.5px;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.map-mastery-row-meta-next{color:color-mix(in oklab, var(--mastery-tier-color,#44e3ff) 65%, #a0b4c899 35%)}.map-mastery-row-bar{background:#ffffff0f;border-radius:2px;height:3px;margin-top:2px;position:relative;overflow:hidden}.map-mastery-row-bar-fill{width:var(--mastery-pct,0%);background:linear-gradient(90deg, color-mix(in oklab, var(--mastery-tier-color,#44e3ff) 55%, transparent 0%), var(--mastery-tier-color,#44e3ff));box-shadow:0 0 6px color-mix(in oklab, var(--mastery-tier-color,#44e3ff) 60%, transparent);transition:width .22s ease-out;position:absolute;inset:0}.run-recap-panel{font-family:var(--cyberdeck-font-mono,monospace);color:#d4eaff;background:#080c16d1;border:1px solid #00ffff47;flex-direction:column;gap:10px;margin:12px 0;padding:12px 16px;display:flex;box-shadow:0 0 16px #00ffff0f,inset 0 0 0 1px #ffffff05}.run-recap-header{letter-spacing:.14em;text-transform:uppercase;color:var(--color-cyan);opacity:.85;margin-bottom:2px;font-size:10px}.run-recap-unlocks{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.run-recap-unlock-item{color:var(--color-gold);letter-spacing:.04em;align-items:center;gap:6px;font-size:11px;display:flex}.run-recap-unlock-icon{object-fit:cover;border:1px solid #ffd7004d;border-radius:4px;flex-shrink:0;width:48px;height:48px}.run-recap-unlock-icon-placeholder{background:#ffd70014;border:1px solid #ffd7004d;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;display:flex}.run-recap-unlock-name{color:var(--color-gold);word-break:break-word;max-width:120px;font-size:11px}.run-recap-deltas{flex-direction:column;gap:6px;display:flex}.run-recap-delta-row{grid-template-columns:28px 1fr auto;align-items:center;gap:6px;display:grid}.run-recap-delta-icon{object-fit:cover;border-radius:3px;flex-shrink:0;width:24px;height:24px}.run-recap-delta-icon-placeholder{background:#00ffff1a;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;display:flex}.run-recap-delta-bar-wrap{flex-direction:column;gap:2px;min-width:0;display:flex}.run-recap-delta-name{color:#aac8e0;letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.run-recap-delta-bar-track{background:#ffffff14;border-radius:3px;height:6px;position:relative;overflow:hidden}.run-recap-delta-bar-fill{background:linear-gradient(90deg,#00ffff8c,#00ffffd9);border-radius:3px;height:100%;transition:width .3s ease-out}.diff-cell-tier-1-bar .run-recap-delta-bar-fill{background:linear-gradient(90deg, rgba(var(--color-green-rgb), .6), rgba(var(--color-green-rgb), .9))}.diff-cell-tier-2-bar .run-recap-delta-bar-fill{background:linear-gradient(90deg, rgba(var(--color-yellow-rgb), .6), rgba(var(--color-yellow-rgb), .9))}.diff-cell-tier-3-bar .run-recap-delta-bar-fill{background:linear-gradient(90deg, rgba(var(--color-orange-rgb), .6), rgba(var(--color-orange-rgb), .95))}.diff-cell-tier-4-bar .run-recap-delta-bar-fill{background:linear-gradient(90deg, rgba(var(--color-red-rgb), .6), rgba(var(--color-red-rgb), .95))}.diff-cell-tier-5-bar .run-recap-delta-bar-fill{background:linear-gradient(90deg, rgba(var(--color-purple-rgb), .6), rgba(var(--color-purple-rgb), .95))}.run-recap-delta-stats{color:#7a9ab8;letter-spacing:.04em;text-align:right;white-space:nowrap;font-size:10px}.run-recap-delta-delta{color:var(--color-cyan);letter-spacing:.04em;white-space:nowrap;text-align:right;font-size:10px}.run-recap-legendary{color:var(--color-purple);letter-spacing:.06em;border-top:1px solid #c084fc2e;padding-top:6px;font-size:10px}.run-recap-legendary-all{color:var(--color-gold);letter-spacing:.06em;border-top:1px solid #ffd7002e;padding-top:6px;font-size:10px}.mastery-ready-pill{letter-spacing:0;justify-content:center;gap:4px;min-width:22px;padding:2px 6px;font-size:11px}.mastery-ready-pill-count{font-size:11px;line-height:1}.mastery-hub-detail-rules-head,.mastery-hub-detail-rules-row{grid-template-columns:1.3fr 1fr .7fr .9fr}.achievements-layout{z-index:2;justify-content:center;align-items:stretch;padding:32px 24px;display:flex;position:absolute;inset:0}.achievements-panel{width:min(1100px,100%);font-family:var(--cyberdeck-font-mono,monospace);color:#d4eaff;background:#080c16db;border:1px solid #00dcff52;flex-direction:column;padding:24px 28px;display:flex;position:relative;overflow:hidden;box-shadow:0 0 28px #00dcff1f,inset 0 0 0 1px #ffffff05}.achievements-panel-twocol{grid-template:"header header""rail content"1fr"back back"/180px 1fr;gap:12px 16px;display:grid}.achievements-panel-twocol .achievements-header{grid-area:header}.achievements-panel-twocol .achievements-rail{grid-area:rail}.achievements-panel-twocol .achievements-scroll{grid-area:content;min-height:0}.achievements-panel-twocol .achievements-back{grid-area:back;place-self:end start;margin-top:0}.achievements-header{border-bottom:1px solid #00dcff2e;justify-content:space-between;align-items:baseline;margin-bottom:16px;padding-bottom:14px;display:flex}.achievements-title{letter-spacing:.16em;text-transform:uppercase;color:#6ee5ff;text-shadow:0 0 8px #00dcff73;font-size:28px}.achievements-progress{color:#88a8c8;letter-spacing:.08em;font-size:14px}.achievements-scroll{scrollbar-width:thin;scrollbar-color:#00dcff59 transparent;flex:auto;padding-right:8px;overflow-y:auto}.achievements-section{margin-bottom:20px}.achievements-section-label{color:#ff70c8;letter-spacing:.18em;text-transform:uppercase;opacity:.85;margin-bottom:8px;font-size:12px}.achievements-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;display:grid}.achievement-card{background:#141c2cb3;border:1px solid #ffffff14;align-items:flex-start;gap:12px;padding:12px;display:flex}.achievement-unlocked{background:#142226bf;border-color:#00dcb499;box-shadow:0 0 12px #00dcb42e}.achievement-locked{filter:grayscale(.6);opacity:.78}.achievement-icon{background:#0009;border:1px solid #ffffff24;flex:0 0 56px;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.achievement-unlocked .achievement-icon{background:#001e1abf;border-color:#00dcb4b3}.achievement-icon-glyph{color:#6ee5ff;font-size:28px}.achievement-unlocked .achievement-icon-glyph{color:#6effd0}.achievement-locked .achievement-icon-glyph{color:#6a7a8c}.achievement-icon-img{width:56px;height:56px;image-rendering:pixelated;display:block}.achievement-locked .achievement-icon-img{filter:saturate(.35)brightness(.75)}.achievement-body{flex:auto;min-width:0}.achievement-name{letter-spacing:.08em;text-transform:uppercase;color:#d4eaff;margin-bottom:2px;font-size:14px}.achievement-unlocked .achievement-name{color:#c8fff0}.achievement-desc{color:#98b4cf;margin-bottom:4px;font-size:12px;line-height:1.4}.achievement-difficulty{justify-content:space-between;align-items:center;gap:10px;margin-top:4px;margin-bottom:4px;display:flex}.achievement-difficulty-left{align-items:center;gap:8px;min-width:0;display:inline-flex}.diff-row{gap:3px;display:inline-flex}.diff-cell{background:#ffffff0a;border:1px solid #ffffff2e;width:12px;height:12px}.diff-cell-tier-1{background:var(--color-green);border-color:var(--color-green);box-shadow:0 0 4px rgba(var(--color-green-rgb), .5)}.diff-cell-tier-2{background:var(--color-yellow);border-color:var(--color-yellow);box-shadow:0 0 4px rgba(var(--color-yellow-rgb), .5)}.diff-cell-tier-3{background:var(--color-orange);border-color:var(--color-orange);box-shadow:0 0 4px rgba(var(--color-orange-rgb), .6)}.diff-cell-tier-4{background:var(--color-red);border-color:var(--color-red);box-shadow:0 0 4px rgba(var(--color-red-rgb), .65)}.diff-cell-tier-5{background:var(--color-purple);border-color:var(--color-purple);box-shadow:0 0 5px rgba(var(--color-purple-rgb), .75)}.diff-label{letter-spacing:.16em;color:#7d92ad;text-transform:uppercase;font-size:10px}.achievement-locked .diff-cell{filter:saturate(.55)brightness(.85)}.achievements-rail{scrollbar-width:thin;scrollbar-color:#00dcff40 transparent;border-right:1px solid #00dcff24;flex-direction:column;gap:2px;min-height:0;padding-right:12px;display:flex;overflow-y:auto}.rail-item{cursor:pointer;text-align:left;color:#88a8c8;letter-spacing:.12em;text-transform:uppercase;background:0 0;border:0;align-items:center;gap:8px;padding:6px 8px 6px 0;font-family:inherit;font-size:11px;transition:color .12s ease-out;display:flex}.rail-item:hover{color:#c8e4ff}.rail-item-bar{background:0 0;flex:0 0 3px;height:14px;transition:background-color .16s ease-out,height .16s ease-out}.rail-item-active{color:#6ee5ff;text-shadow:0 0 6px #00dcff73}.rail-item-active .rail-item-bar{background:#6ee5ff;height:18px;box-shadow:0 0 6px #00dcff99}.rail-item-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}@keyframes ach-toast-in{0%{opacity:0;transform:translateY(8px)scale(.98)}60%{opacity:1;transform:translateY(0)scale(1.01)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes ach-toast-pulse{0%,to{box-shadow:0 0 18px rgba(var(--color-green-rgb), .4)}50%{box-shadow:0 0 36px rgba(var(--color-green-rgb), .65)}}.achievement-toast{z-index:9999;border:1px solid rgba(var(--color-green-rgb), .75);color:#d4f7ec;width:320px;font-family:var(--cyberdeck-font-mono,monospace);pointer-events:none;background:#08140cf0;padding:14px 16px;animation:.22s ease-out ach-toast-in,1.8s ease-in-out .22s infinite ach-toast-pulse;position:fixed;bottom:24px;right:22px}.achievement-toast-banner{letter-spacing:.22em;text-transform:uppercase;color:var(--color-green);text-shadow:0 0 8px rgba(var(--color-green-rgb), .7);margin-bottom:6px;font-size:10px}.achievement-toast-name{letter-spacing:.1em;text-transform:uppercase;color:#c8fff0;margin-bottom:4px;font-size:16px}.achievement-toast-desc{color:#aac8be;font-size:12px;line-height:1.4}.achievement-toast-queue{letter-spacing:.16em;color:#6a8a80;text-transform:uppercase;margin-top:6px;font-size:10px}.achievement-progress{margin:0}.achievement-progress-track{background:#ffffff0f;border:1px solid #ffffff1f;width:100%;height:6px;overflow:hidden}.achievement-progress-fill{background:linear-gradient(90deg,#6ee5ff8c,#6ee5ffd9);height:100%;transition:width .22s ease-out}.diff-cell-tier-1-bar .achievement-progress-fill{background:linear-gradient(90deg, rgba(var(--color-green-rgb), .6), rgba(var(--color-green-rgb), .9))}.diff-cell-tier-2-bar .achievement-progress-fill{background:linear-gradient(90deg, rgba(var(--color-yellow-rgb), .6), rgba(var(--color-yellow-rgb), .9))}.diff-cell-tier-3-bar .achievement-progress-fill{background:linear-gradient(90deg, rgba(var(--color-orange-rgb), .6), rgba(var(--color-orange-rgb), .95))}.diff-cell-tier-4-bar .achievement-progress-fill{background:linear-gradient(90deg, rgba(var(--color-red-rgb), .6), rgba(var(--color-red-rgb), .95))}.diff-cell-tier-5-bar .achievement-progress-fill{background:linear-gradient(90deg, rgba(var(--color-purple-rgb), .6), rgba(var(--color-purple-rgb), .95))}.achievement-progress-text{text-align:right;letter-spacing:.08em;color:#98b4cf;text-transform:uppercase;white-space:nowrap;flex:none;font-size:10px}.achievement-locked .achievement-progress-fill{opacity:.7}@keyframes ach-tick-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.achievement-tick{z-index:9998;border:1px solid rgba(var(--color-cyan-rgb), .22);color:#d4eaff;width:300px;font-family:var(--cyberdeck-font-mono,monospace);pointer-events:none;background:#080c16e0;padding:10px 14px;animation:.18s ease-out ach-tick-in;position:fixed;bottom:24px;right:22px}.achievement-tick-body{align-items:flex-start;gap:10px;display:flex}.achievement-tick-icon{border:1px solid rgba(var(--color-cyan-rgb), .2);background:#0000008c;flex:0 0 40px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;overflow:hidden}.achievement-tick-icon img{width:100%;height:100%;image-rendering:pixelated;display:block}.achievement-tick-icon-glyph{color:rgba(var(--color-cyan-rgb), .5);font-size:20px}.achievement-tick-text{flex:auto;min-width:0}.achievement-tick-delta{letter-spacing:.18em;text-transform:uppercase;color:rgba(var(--color-cyan-rgb), .75);font-size:11px}.achievement-tick-name{letter-spacing:.08em;text-transform:uppercase;color:#d4eaff;margin-top:2px;font-size:13px}.achievement-tick-desc{color:#a8bcd0;margin-top:4px;font-size:11px;line-height:1.35}.achievement-tick-bar{margin-top:4px}.achievement-tick-progress{color:#88a8c8;letter-spacing:.06em;margin-top:2px;font-size:10px}@keyframes ach-milestone-in{0%{opacity:0;transform:translateY(7px)scale(.98)}60%{opacity:1;transform:translateY(0)scale(1.01)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes ach-milestone-pulse{0%,to{box-shadow:0 0 14px rgba(var(--color-yellow-rgb), .3)}50%{box-shadow:0 0 28px rgba(var(--color-yellow-rgb), .55)}}.achievement-milestone{z-index:9998;border:1px solid rgba(var(--color-yellow-rgb), .55);color:#f5e8c0;width:310px;font-family:var(--cyberdeck-font-mono,monospace);pointer-events:none;background:#120e06eb;padding:12px 14px;animation:.2s ease-out ach-milestone-in,2s ease-in-out .2s infinite ach-milestone-pulse;position:fixed;bottom:24px;right:22px}.achievement-milestone-banner{letter-spacing:.22em;text-transform:uppercase;color:var(--color-yellow);text-shadow:0 0 8px rgba(var(--color-yellow-rgb), .65);margin-bottom:6px;font-size:10px}.achievement-milestone-body{align-items:flex-start;gap:10px;display:flex}.achievement-milestone-icon{border:1px solid rgba(var(--color-yellow-rgb), .28);background:#0000008c;flex:0 0 40px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;overflow:hidden}.achievement-milestone-icon img{width:100%;height:100%;image-rendering:pixelated;display:block}.achievement-milestone-icon-glyph{color:rgba(var(--color-yellow-rgb), .65);font-size:20px}.achievement-milestone-text{flex:auto;min-width:0}.achievement-milestone-name{letter-spacing:.08em;text-transform:uppercase;color:#f5e8c0;margin-top:2px;font-size:14px}.achievement-milestone-desc{color:#c8b494;margin-top:4px;font-size:11px;line-height:1.35}.achievement-milestone-bar{margin-top:4px}.achievement-milestone-progress{color:#b09870;letter-spacing:.06em;margin-top:2px;font-size:10px}.mastery-hub-detail-sparkline{border:1px solid color-mix(in oklab, var(--mastery-tier-color,#0fc) 22%, #ffffff14);background:linear-gradient(180deg, color-mix(in oklab, var(--mastery-tier-color,#0fc) 6%, #040e168c) 0%, #040e168c 100%);border-radius:4px;margin:12px 0 18px;padding:10px 12px 8px}.mastery-hub-detail-sparkline-kicker{letter-spacing:.18em;color:color-mix(in oklab, var(--mastery-tier-color,#0fc) 70%, #fff);text-transform:uppercase;margin-bottom:6px;font-size:9.5px;font-weight:600}.mastery-hub-detail-sparkline-svg{width:140px;height:24px;display:block;overflow:visible}.mastery-hub-detail-sparkline-bar{fill:var(--mastery-tier-color,#0fc);transition:opacity .18s ease-out}.mastery-hub-detail-sparkline-bar.is-latest{filter:drop-shadow(0 0 3px color-mix(in oklab, var(--mastery-tier-color,#0fc) 70%, transparent))}.mastery-hub-detail-sparkline-empty{align-items:flex-end;gap:4px;width:140px;height:24px;display:flex}.mastery-hub-detail-sparkline-empty-bar{background:color-mix(in oklab, var(--mastery-tier-color,#0fc) 30%, #ffffff1a);opacity:.2;border-radius:1px;flex:1}.mastery-hub-detail-sparkline-empty-bar:first-child{height:30%}.mastery-hub-detail-sparkline-empty-bar:nth-child(2){height:55%}.mastery-hub-detail-sparkline-empty-bar:nth-child(3){height:40%}.mastery-hub-detail-sparkline-empty-bar:nth-child(4){height:70%}.mastery-hub-detail-sparkline-empty-text{color:#ffffff73;margin-top:6px;font-size:11px;font-style:italic}.mastery-hub-detail-sparkline-meta{color:#ffffff8c;letter-spacing:.04em;margin-top:6px;font-size:10.5px}.mastery-hub-layout{z-index:2;color:var(--color-text,#e7faff);flex-direction:column;gap:8px;min-height:0;padding:12px 16px;display:flex;position:absolute;inset:8px;overflow:hidden}.mastery-hub-back-btn{z-index:8;position:absolute;bottom:24px;left:24px}.mastery-hub-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.mastery-hub-header h1{margin:0;font-size:28px;line-height:1}.mastery-hub-empty{color:#a7c6d6;text-align:center;padding:48px 16px}.mastery-hub-empty-sub{color:#6e8a98;margin-top:8px;font-size:13px}.mastery-hub-stats{background:#040e16bd;border:1px solid #00ffcc2e;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:stretch;gap:8px;padding:8px;display:grid}.mastery-hub-stat{flex-direction:column;justify-content:center;gap:4px;padding:8px 12px;display:flex}.mastery-hub-stat-label{color:#0fc;letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:800}.mastery-hub-stat-value{color:#fff;font-size:26px;font-weight:900}.mastery-hub-rings{border-left:1px solid #00ffcc2e;justify-content:flex-end;align-items:center;gap:10px;padding:0 6px;display:flex}.mastery-hub-ring{justify-content:center;align-items:center;width:52px;height:52px;display:flex;position:relative}.mastery-hub-ring-svg{width:100%;height:100%;position:absolute;inset:0}.mastery-hub-ring-track{stroke:#ffffff1a}.mastery-hub-ring-fill{stroke:var(--mastery-tier-color,#0fc);filter:drop-shadow(0 0 4px color-mix(in oklab, var(--mastery-tier-color,#0fc) 60%, transparent));transition:stroke-dasharray .32s ease-out}.mastery-hub-ring-text{flex-direction:column;align-items:center;gap:0;line-height:1.1;display:flex}.mastery-hub-ring-pct{color:#fff;font-size:12px;font-weight:900}.mastery-hub-ring-label{letter-spacing:.05em;color:#cfe8f2;text-transform:uppercase;font-size:8px;font-weight:800}.mastery-hub-ring-sub{color:#6e8a98;font-size:8px}.mastery-hub-ribbon{color:#fff8c5;cursor:pointer;text-align:left;background:linear-gradient(90deg,#ffef6329,#ffb04a1a);border:1px solid #ffef638c;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;font-family:inherit;font-weight:700;display:flex;position:relative;overflow:hidden}.mastery-hub-ribbon:hover,.mastery-hub-ribbon:focus-visible{background:linear-gradient(90deg,#ffef6340,#ffb04a2e);outline:none}.mastery-hub-ribbon-pulse{pointer-events:none;background:radial-gradient(at 0%,#ffef6359 0%,#0000 60%);animation:2.4s ease-in-out infinite mastery-hub-ribbon-sweep;position:absolute;inset:0}.mastery-hub-ribbon-text{z-index:1;letter-spacing:.02em;font-size:13px;position:relative}.mastery-hub-ribbon-cta{z-index:1;letter-spacing:.14em;color:#ffef63;font-size:11px;font-weight:900;position:relative}@keyframes mastery-hub-ribbon-sweep{0%{opacity:.65;transform:translate(-30%)}50%{opacity:1;transform:translate(20%)}to{opacity:.65;transform:translate(-30%)}}.mastery-hub-filters{background:#040e1699;border:1px solid #00ffcc29;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:8px 10px;display:flex}.mastery-hub-filter-group{flex-direction:row;align-items:center;gap:8px;display:flex}.mastery-hub-filter-label{color:#0fc;letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:800}.mastery-hub-chip-row{flex-wrap:wrap;gap:5px;display:flex}.mastery-hub-chip{color:#cfe8f2;letter-spacing:.04em;cursor:pointer;background:#00000057;border:1px solid #ffffff38;padding:4px 9px;font-family:inherit;font-size:12px;font-weight:700;transition:border-color .12s,background .12s,color .12s}.mastery-hub-chip:hover{border-color:var(--mastery-tier-color,#0fc9);color:#fff}.mastery-hub-chip.is-active{border-color:var(--mastery-tier-color,#0fc);color:#0a0a1a;background:var(--mastery-tier-color,#0fc);box-shadow:0 0 12px color-mix(in oklab, var(--mastery-tier-color,#0fc) 50%, transparent)}.mastery-hub-sort-select{color:#e7faff;letter-spacing:.04em;background:#040e16d9;border:1px solid #00ffcc8c;padding:5px 8px;font-family:inherit;font-size:12px;font-weight:700}.mastery-hub-filter-clear{color:#ff6f91;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#00000057;border:1px solid #ff6f918c;align-self:center;padding:5px 12px;font-family:inherit;font-size:11px;font-weight:800}.mastery-hub-body{grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;display:grid}.mastery-hub-gallery{min-width:0}.mastery-hub-gallery-meta{color:#a7c6d6;letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;font-weight:700;display:flex}.mastery-hub-root-flag{color:#ffef63;letter-spacing:.12em;font-weight:900}.mastery-hub-detail{border:1px solid var(--mastery-tier-color,#00ffcc8c);box-shadow:0 0 22px color-mix(in oklab, var(--mastery-tier-color,#0fc) 18%, transparent);background:#040e16eb;flex-direction:column;gap:14px;max-height:calc(100vh - 120px);padding:14px;display:flex;position:sticky;top:12px;overflow:auto}.mastery-hub-detail-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.mastery-hub-detail-close{padding:4px 10px;font-size:11px}.mastery-hub-detail-card{justify-content:center;padding:4px 0;display:flex}.mastery-hub-detail-tier{border-top:1px solid #ffffff14;flex-direction:column;gap:8px;padding-top:10px;display:flex}.mastery-hub-detail-tier-row{align-items:center;gap:10px;display:flex}.mastery-hub-detail-tier-text{flex-direction:column;gap:2px;display:flex}.mastery-hub-detail-tier-label{color:var(--mastery-tier-color,#fff);text-transform:uppercase;letter-spacing:.08em;font-size:16px;font-weight:900}.mastery-hub-detail-tier-meta{color:#a7c6d6;font-size:11px}.mastery-hub-detail-bar{background:#00000075;border:1px solid #ffffff24;height:8px;position:relative;overflow:hidden}.mastery-hub-detail-bar-fill{background:linear-gradient(90deg, color-mix(in oklab, var(--mastery-tier-color,#0fc) 55%, transparent 0%), var(--mastery-tier-color,#0fc));height:100%;box-shadow:0 0 10px color-mix(in oklab, var(--mastery-tier-color,#0fc) 50%, transparent);transition:width .28s ease-out}.mastery-hub-detail-bar-caption{color:var(--mastery-tier-color,#0fc);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.mastery-hub-detail-h3{color:#0fc;letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:900}.mastery-hub-detail-objective{border-top:1px solid #ffffff14;padding-top:10px}.mastery-hub-detail-objective-line{color:#e7faff;margin:0;font-size:13px;line-height:1.45}.mastery-hub-detail-objective-tag{color:var(--mastery-tier-color,#0fc);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:900}.mastery-hub-detail-objective-text{color:#cfe8f2}.mastery-hub-detail-hint{color:#cfe8f2;border-left:2px solid var(--mastery-tier-color,#0fc);background:#00ffcc14;margin:8px 0 0;padding:8px 10px;font-size:12px}.mastery-hub-detail-rules{border-top:1px solid #ffffff14;padding-top:10px}.mastery-hub-detail-rules-grid{gap:4px;display:grid}.mastery-hub-detail-rules-head,.mastery-hub-detail-rules-row{grid-template-columns:1.6fr .6fr .8fr .7fr;align-items:center;gap:6px;font-size:11px;display:grid}.mastery-hub-detail-rules-head{color:#6e8a98;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.mastery-hub-detail-rules-row{color:#cfe8f2;border-top:1px dashed #ffffff14;padding:4px 0}.mastery-hub-detail-rules-metric{color:#fff;font-weight:700}.mastery-hub-detail-history{border-top:1px solid #ffffff14;padding-top:10px}.mastery-hub-detail-history-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0;display:grid}.mastery-hub-detail-history-list>div{background:#00000057;border:1px solid #ffffff0f;flex-direction:column;gap:2px;padding:6px 8px;display:flex}.mastery-hub-detail-history-list dt{color:#6e8a98;text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:10px;font-weight:800}.mastery-hub-detail-history-list dd{color:#fff;margin:0;font-size:12px;font-weight:700}@media (width<=1024px){.mastery-hub-body{grid-template-columns:minmax(0,1fr)}.mastery-hub-detail{max-height:none;position:static}.mastery-hub-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.mastery-hub-rings{border-top:1px solid #00ffcc2e;border-left:0;grid-column:1/-1;justify-content:flex-start;padding-top:12px}}@media (width<=640px){.mastery-hub-layout{width:calc(100vw - 16px);margin:8px auto;padding:12px;overflow:auto}.mastery-hub-stats{grid-template-columns:1fr 1fr}.mastery-hub-header{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){.mastery-hub-ribbon-pulse{animation:none!important}.mastery-hub-detail-bar-fill,.mastery-hub-ring-fill{transition:none!important}}.mastery-progress-skeletons{flex-direction:column;gap:8px;margin-top:4px;transition:opacity .22s ease-out;display:flex}.mastery-progress-skeletons[data-fading=true]{opacity:0;pointer-events:none}.mastery-progress-skeleton-row{background:linear-gradient(#00ffcc0a 0%,#040e168c 100%);border:1px solid #00ffcc1a;align-items:center;gap:12px;padding:10px 12px;display:flex;position:relative;overflow:hidden}.mastery-progress-skeleton-row:before{content:"";background:linear-gradient(90deg,#0000 0%,#00ffcc14 50%,#0000 100%);animation:1.4s ease-in-out infinite mastery-skeleton-shimmer;position:absolute;inset:0}.mastery-progress-skeleton-badge{background:#00ffcc1f;border-radius:50%;flex:none;width:28px;height:28px}.mastery-progress-skeleton-lines{flex-direction:column;flex:auto;gap:6px;display:flex}.mastery-progress-skeleton-line{background:#00ffcc1a;height:8px}.mastery-progress-skeleton-line.is-short{width:38%}.mastery-progress-skeleton-line.is-medium{width:62%}.mastery-progress-skeleton-line.is-long{width:80%}.mastery-progress-skeleton-line.is-bar{width:100%;height:6px}@keyframes mastery-skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.mastery-progress-skeleton-row:before{animation:none}}.mastery-hub-stats-combined{background:#040e16b3;border:1px solid #00ffcc2e;flex-direction:column;flex:0 auto;justify-content:center;gap:2px;min-width:0;padding:8px 12px;display:flex}.mastery-hub-stats-combined-line{color:#d6f0fb;letter-spacing:.04em;font-size:12px;font-weight:700;line-height:1.25}.mastery-hub-stats-combined-line strong{color:var(--color-cyan,#0fc);text-shadow:0 0 8px #00ffcc59;font-weight:900}.mastery-hub-stats-combined-line .sep{color:#ffffff52;margin:0 6px}.mastery-hub-stats-combined-label{letter-spacing:.2em;text-transform:uppercase;color:#00ffccb8;font-size:9px;font-weight:800}.mastery-hub-stats.is-combined{align-items:stretch;gap:8px;display:flex}.mastery-hub-stats.is-combined .mastery-hub-rings{flex:auto;justify-content:flex-end}.mastery-hub-tier-supergroups{flex-wrap:wrap;gap:6px;display:flex}.mastery-hub-tier-supergroup{border:1px solid var(--mastery-tier-color,#00ffcc38);color:#cfe8f2;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:#040e16d1;align-items:center;gap:6px;padding:5px 10px;font-family:inherit;font-size:10px;font-weight:700;transition:background .14s,border-color .14s,color .14s;display:inline-flex}.mastery-hub-tier-supergroup:hover{border-color:var(--mastery-tier-color,#0fc)}.mastery-hub-tier-supergroup.is-active{background:linear-gradient(180deg, color-mix(in oklab, var(--mastery-tier-color,#0fc) 22%, transparent) 0%, #040e16bf 100%);color:#fff}.mastery-hub-tier-supergroup-dot{background:var(--mastery-tier-color,#0fc);width:9px;height:9px;box-shadow:0 0 8px color-mix(in oklab, var(--mastery-tier-color,#0fc) 60%, transparent);border-radius:50%}.mastery-hub-tier-supergroup.is-low{--mastery-tier-color:#4dffd6}.mastery-hub-tier-supergroup.is-mid{--mastery-tier-color:#c084fc}.mastery-hub-tier-supergroup.is-high{--mastery-tier-color:#fde047}.mastery-hub-ring-fill{transition:stroke-dasharray .72s cubic-bezier(.22,.61,.36,1) .3s,stroke .24s .3s}@media (prefers-reduced-motion:reduce){.mastery-hub-ring-fill{transition:none!important}}.mastery-hub-sort-group{min-width:0}.mastery-hub-sort-chip-row{gap:4px}.mastery-hub-sort-chip{--mastery-tier-color:#0fc}.mastery-hub-sort-chip:hover{border-color:#00ffccb3}.mastery-hub-sort-chip.is-active{box-shadow:0 0 14px #00ffcc8c,inset 0 0 0 1px #ffffff59}.mastery-hub-sort-chip:focus-visible{outline-offset:2px;outline:2px solid #0fc}.mastery-hub-back-btn{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.mastery-hub-back-label{letter-spacing:.04em;align-items:baseline;gap:6px;font-weight:700;display:inline-flex}.mastery-hub-back-step{color:#e7faff8c;transition:color .12s ease-out}.mastery-hub-back-step.is-current{color:#e7faff;text-shadow:0 0 6px #00ffcc73}.mastery-hub-back-sep{color:#00ffcc73;font-weight:800}.mastery-hub-body.is-split{flex:auto;grid-template-columns:minmax(340px,39%) minmax(0,1fr);align-items:stretch;gap:12px;min-height:0;display:grid}.mastery-hub-list-col{flex-direction:column;min-width:0;min-height:0;display:flex}.mastery-hub-list-meta{color:#a7c6d6;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:baseline;margin-bottom:6px;font-size:11px;font-weight:700;display:flex}.mastery-hub-list-meta-sub{color:#6e8a98;letter-spacing:.04em;text-transform:none;font-size:10px;font-weight:600}.mastery-hub-list{background:#040e168c;border:1px solid #00ffcc29;flex-direction:column;flex:auto;gap:6px;min-height:0;padding:5px 7px 12px 3px;display:flex;overflow:hidden auto}.mastery-hub-list::-webkit-scrollbar{width:8px}.mastery-hub-list::-webkit-scrollbar-track{background:#00000052}.mastery-hub-list::-webkit-scrollbar-thumb{background:#00ffcc3d;border:1px solid #0fc6}.mastery-hub-list::-webkit-scrollbar-thumb:hover{background:#0fc6}.mastery-hub-list-row{border:1px solid #0000;border-left:3px solid color-mix(in oklab, var(--mastery-tier-color,#0fc) 60%, transparent);color:#cfe8f2;cursor:pointer;text-align:left;background:#040e169e;grid-template-columns:74px minmax(0,1fr) 88px;align-items:center;gap:12px;min-height:72px;padding:9px 11px;font-family:inherit;transition:background .12s,border-color .12s,color .12s;display:grid}.mastery-hub-list-row:hover{border-color:color-mix(in oklab, var(--mastery-tier-color,#0fc) 40%, transparent);border-left-color:var(--mastery-tier-color,#0fc);color:#fff;background:#040e16d9}.mastery-hub-list-row.is-selected{background:linear-gradient(90deg, color-mix(in oklab, var(--mastery-tier-color,#0fc) 22%, #040e16eb) 0%, #040e16eb 70%);border-color:var(--mastery-tier-color,#0fc);border-left-color:var(--mastery-tier-color,#0fc);color:#fff;box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--mastery-tier-color,#0fc) 30%, transparent), 0 0 14px color-mix(in oklab, var(--mastery-tier-color,#0fc) 18%, transparent)}.mastery-hub-list-row:focus-visible{outline:2px solid var(--mastery-tier-color,#0fc);outline-offset:1px}.mastery-hub-list-row-art{border:1px solid color-mix(in oklab, var(--mastery-tier-color,#0fc) 34%, #ffffff1f);width:74px;height:52px;filter:drop-shadow(0 0 4px color-mix(in oklab, var(--mastery-tier-color,#0fc) 50%, transparent));background:#00000057;justify-content:center;align-items:center;display:flex;overflow:hidden}.mastery-hub-list-row-art-img,.mastery-hub-list-row-art .art-shimmer{object-fit:cover;width:100%;height:100%}.mastery-hub-list-row-art .art-fallback{color:#8fb7c7;text-align:center;text-transform:uppercase;justify-content:center;align-items:center;width:100%;height:100%;padding:4px;font-size:8px;line-height:1.1;display:flex}.mastery-hub-list-row-main{flex-direction:column;gap:4px;min-width:0;display:flex}.mastery-hub-list-row-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;letter-spacing:.02em;font-size:15px;font-weight:800;overflow:hidden}.mastery-hub-list-row-sub{color:#a7c6d6;letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.mastery-hub-list-row-sub-tier{color:var(--mastery-tier-color,#0fc);font-weight:900}.mastery-hub-list-row-sub-sep{color:#4a6573}.mastery-hub-list-row-sub-pool{color:#6e8a98}.mastery-hub-list-row-bar{background:#0006;border:1px solid #ffffff1a;height:5px;margin-top:4px;position:relative;overflow:hidden}.mastery-hub-list-row-bar-fill{background:linear-gradient(90deg, color-mix(in oklab, var(--mastery-tier-color,#0fc) 45%, transparent 0%), var(--mastery-tier-color,#0fc));height:100%;box-shadow:0 0 6px color-mix(in oklab, var(--mastery-tier-color,#0fc) 45%, transparent);transition:width .26s ease-out}.mastery-hub-list-row-trailing{letter-spacing:.06em;flex-direction:column;justify-content:center;align-items:flex-end;gap:3px;min-width:0;font-size:10px;font-weight:800;display:flex}.mastery-hub-list-row-trailing .mastery-badge{margin-bottom:1px}.mastery-hub-list-row-mp{color:#fff;white-space:nowrap}.mastery-hub-list-row-next{color:var(--mastery-tier-color,#0fc);text-transform:uppercase;white-space:nowrap}.mastery-hub-detail-col{flex-direction:column;min-width:0;min-height:0;display:flex}.mastery-hub-detail.is-persistent{flex:auto;height:100%;max-height:none;padding:12px;position:relative;top:0;overflow:hidden}.mastery-hub-detail-split{flex:auto;grid-template-columns:minmax(190px,230px) minmax(0,1fr);gap:14px;min-height:0;display:grid}.mastery-hub-detail-card-rail{flex-direction:column;gap:10px;min-width:0;min-height:0;display:flex}.mastery-hub-detail-card-rail .mastery-hub-detail-card{flex:none;padding:0}.mastery-hub-detail-card-rail .cd-card-frame{--cd-display-w:190px}.mastery-hub-detail-card-rail .mastery-hub-detail-tier{flex:none}.mastery-hub-detail-scroll{flex-direction:column;gap:12px;min-width:0;min-height:0;padding-right:8px;display:flex;overflow:hidden auto}.mastery-hub-detail-scroll::-webkit-scrollbar{width:8px}.mastery-hub-detail-scroll::-webkit-scrollbar-track{background:#00000047}.mastery-hub-detail-scroll::-webkit-scrollbar-thumb{background:#00ffcc38;border:1px solid #00ffcc61}.mastery-hub-detail-scroll>.mastery-hub-detail-objective{border-top:0;padding-top:0}.mastery-hub-detail-master-tip{border-left:3px solid var(--mastery-tier-color,#0fc);background:linear-gradient(90deg, color-mix(in oklab, var(--mastery-tier-color,#0fc) 12%, #040e16b8) 0%, #040e16b8 80%);margin:10px 0 0;padding:10px 12px 10px 14px;position:relative}.mastery-hub-detail-master-tip-kicker{color:var(--mastery-tier-color,#0fc);letter-spacing:.14em;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:900;display:block}.mastery-hub-detail-master-tip-text{color:#e7faff;margin:0;font-size:13px;font-style:italic;line-height:1.5}@media (width<=1024px){.mastery-hub-body.is-split{grid-template-columns:minmax(0,1fr)}.mastery-hub-list{max-height:40vh}.mastery-hub-detail.is-persistent{position:relative}.mastery-hub-detail-split{grid-template-columns:minmax(0,1fr)}.mastery-hub-detail-card-rail{align-items:center}.mastery-hub-detail-scroll{padding-right:0;overflow:visible}}@media (prefers-reduced-motion:reduce){.mastery-hub-list-row,.mastery-hub-list-row-bar-fill{transition:none!important}}.mastery-hub-empty-state{text-align:center;color:var(--mastery-tier-color,#0fc);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:56px 16px 48px;display:flex}.mastery-hub-empty-state-sigil{width:80px;height:80px;color:var(--mastery-tier-color,#0fc);filter:drop-shadow(0 0 6px color-mix(in oklab, var(--mastery-tier-color,#0fc) 50%, transparent));opacity:.85}.mastery-hub-empty-state-headline{letter-spacing:.28em;color:var(--mastery-tier-color,#0fc);text-transform:uppercase;margin:6px 0 0;font-size:13px;font-weight:800}.mastery-hub-empty-state-sub{color:#a7c6d6;max-width:320px;margin:0;font-size:13px;line-height:1.5}.confirm-modal-backdrop{z-index:500;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-modal-panel{border:2px solid var(--color-cyan);background:linear-gradient(#0c0c18fa 0%,#080812fa 100%);border-radius:8px;width:480px;max-width:calc(100vw - 48px);padding:32px;position:relative;box-shadow:0 0 40px #00ffff1f,0 0 80px #000c}.confirm-modal-title{color:#fff;text-transform:uppercase;letter-spacing:2px;margin:0 0 16px;font-family:Courier New,monospace;font-size:24px;font-weight:700}.confirm-modal-body{color:#b4b4d2e6;margin:0 0 28px;font-family:Courier New,monospace;font-size:15px;line-height:1.5}.confirm-modal-actions{flex-direction:row;justify-content:flex-end;gap:12px;display:flex}.mastery-rankup-card{align-items:stretch;padding:14px 14px 12px}.mastery-rankup-card .mastery-rankup-card-body{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.mastery-rankup-card-kicker{letter-spacing:.24em;text-transform:uppercase;color:color-mix(in oklab, var(--mastery-tier-color,#ffef63) 78%, #e7faff 22%);opacity:.92;font-variant-numeric:tabular-nums;font-size:10px;font-weight:800;line-height:1.1}.mastery-rankup-card-tier{letter-spacing:.1em;text-transform:uppercase;color:var(--mastery-tier-color,#ffef63);text-shadow:0 0 12px color-mix(in oklab, var(--mastery-tier-color,#ffef63) 65%, transparent), 0 0 2px #ffffff59;margin-top:1px;font-size:22px;font-weight:900;line-height:1.05}.mastery-rankup-card .mastery-rankup-card-name{color:#e7faff;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:13px;font-weight:700;line-height:1.2;overflow:hidden}.mastery-rankup-card-mp{letter-spacing:.06em;color:#a7c6d6;font-variant-numeric:tabular-nums;margin-top:2px;font-size:11px;font-weight:700}.mastery-rankup-card-mp .mastery-rankup-card-mp-value{color:#ffef63;margin-right:6px}.mastery-rankup-card.is-max .mastery-rankup-card-mp-value{color:#fff}.mastery-rankup-card.card-revealed .mastery-rankup-card-tier{animation:.72s cubic-bezier(.18,1.2,.32,1) both mastery-rankup-tier-flash}@keyframes mastery-rankup-tier-flash{0%{filter:brightness(.85);opacity:.6;transform:translateY(2px)}30%{filter:brightness(1.6)saturate(1.25);opacity:1;transform:translateY(0)}60%{filter:brightness(1.15)}to{filter:brightness();opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.mastery-rankup-card.card-revealed .mastery-rankup-card-tier{animation:none!important}}@media (width<=760px){.mastery-rankup-card-tier{font-size:20px}.mastery-rankup-card .mastery-rankup-card-name{font-size:12px}}
