/* Finishing layer: consistent light, material and motion hierarchy. */
.cm-portal{--finish-line:#bc9d5a33;--finish-paper:#f1e4cb}
.cm-portal .cm-hero{border-bottom-color:var(--finish-line)}
.cm-portal .cm-hero-content{padding-bottom:70px}
.cm-portal .cm-logo-reveal{filter:drop-shadow(0 5px 20px #0006)}
.cm-portal .cm-hero h1{color:var(--finish-paper);letter-spacing:-1.4px;text-shadow:0 4px 22px #0007}
.cm-portal .cm-hero h1 em{background:linear-gradient(110deg,#f6e6bf,#c6a76b);background-clip:text;-webkit-background-clip:text;color:transparent}
.cm-portal .cm-player-panel{border-color:#c9ab6c77;box-shadow:0 25px 70px #0009,inset 0 0 0 5px #111717,inset 0 0 0 6px #c6a96c13;background-color:#101717}
.cm-portal .cm-panel-heading{align-items:center;gap:11px}
.cm-portal .cm-panel-heading h2{font-size:23px;white-space:nowrap;letter-spacing:-.65px}
.cm-portal .cm-panel-heading>i{font-size:13px;margin-left:auto;opacity:.65}
.cm-portal .cm-panel-heading .cm-overline{font-size:8px;letter-spacing:1.6px;margin-bottom:9px}
.cm-portal .cm-panel-heading img{width:31px;height:38px}
.cm-portal .cm-panel-welcome{color:#b8bcad}
.cm-portal .cm-player-panel>.cm-button{min-height:52px;border-color:#edd49d;box-shadow:inset 0 1px #ffedbf88,inset 0 -2px #71501f80,0 8px 25px #0005}
.cm-portal .cm-panel-download{border-block-color:#d5ba7b25}
.cm-portal .cm-panel-next{padding-bottom:3px}
.cm-portal .cm-stat strong{font-variant-numeric:tabular-nums}
.cm-portal .cm-stat>span{color:#c3bba7;letter-spacing:1px}
.cm-portal .cm-stat small{color:#a5aa99;line-height:1.6}
.cm-portal .cm-heading{padding-bottom:21px;margin-bottom:26px;border-bottom-color:#c3ac7133}
.cm-portal .cm-heading .cm-overline{color:#bba16a;font-size:9px}
.cm-portal .cm-heading h2{line-height:1.15;letter-spacing:-.9px;color:#f0e5ce}
.cm-portal .cm-heading:after{width:52px;background:linear-gradient(90deg,#e3c58b,#9e7e43)}
.cm-portal .cm-event-spotlight{border-top:1px solid #c0a56944;box-shadow:0 12px 30px #0003,inset 0 1px #f1dab508}
.cm-portal .cm-event-info{background:linear-gradient(90deg,#0d161833,transparent)}
.cm-portal .cm-event-info h3{line-height:1.15}
.cm-portal .cm-countdown{gap:21px}
.cm-portal .cm-countdown strong{font-variant-numeric:tabular-nums;text-shadow:0 0 20px #e2bd4e12}
.cm-portal .cm-rank-empty{border-color:#baa16a40;background:radial-gradient(ellipse at center,#bbaa4d0b,transparent 70%),#0c121180}
.cm-portal .cm-rank-empty img{filter:drop-shadow(0 0 13px #bd933622)}
.cm-portal .cm-classes{border-block:1px solid #b7ad7330;box-shadow:inset 0 1px #dfc9970a,inset 0 -1px #dfc9970a}
.cm-portal .cm-class-selector button{position:relative;isolation:isolate;transition:color .22s,background .22s,padding .22s}
.cm-portal .cm-class-selector button[aria-selected=true]{background:linear-gradient(90deg,#d9b77425,#d9b77403);border-left:2px solid var(--cm-class-active,#d9b774);color:#f7dfae}
.cm-portal .cm-class-selector button[aria-selected=true]:after{content:'';position:absolute;inset:12px auto 12px -2px;width:2px;background:#f7e8bf;box-shadow:0 0 12px var(--cm-class-active,#d9b774)}
.cm-portal .cm-class-portrait img{filter:drop-shadow(0 20px 20px #0009) drop-shadow(0 0 35px #bea75212)}
.cm-portal .cm-class-description .cm-overline{letter-spacing:2.2px}
.cm-portal .cm-class-description h3{text-shadow:0 3px 20px #0004;letter-spacing:-1.4px}
.cm-portal .cm-class-description ul{gap:10px;margin-block:24px}
.cm-portal .cm-class-description li{background:#ffffff03;border:1px solid #c6ab6b2b;border-radius:2px;padding:7px 10px;margin:0;color:#d0c5aa}
.cm-portal .cm-class-stage:before{content:'';position:absolute;inset:0;pointer-events:none;z-index:4;background:linear-gradient(115deg,transparent 25%,#ead5a218 49%,transparent 70%);opacity:0;transform:translateX(-12%)}
.cm-portal .cm-class-stage.is-switching:before{animation:cm-class-light-pass .58s ease-out both}
.cm-portal .cm-news-feature{border-color:#b89b6040;box-shadow:0 15px 35px #0003}
.cm-portal .cm-news-guide{border-left-color:#b89b6055;padding-left:24px}
.cm-portal .cm-news-meta time{color:#b6b5a6}
.cm-portal .cm-quicklinks{border-color:#c1a46840;background:linear-gradient(180deg,#c5ac6510,transparent)}
.cm-portal .cm-quicklinks>a{transition:background-color .25s,box-shadow .25s}
.cm-portal .cm-quicklinks>a:hover,.cm-portal .cm-quicklinks>a:focus-visible{background-color:#d8bd7210;box-shadow:inset 0 -1px #b69a5e88}
.cm-portal .cm-quicklinks>a>span:last-child{transition:transform .25s,color .25s}
.cm-portal .cm-quicklinks>a:hover>span:last-child{transform:translate(2px,-2px);color:#f5d394}
.cm-reading-progress{position:fixed;left:0;top:0;width:100%;height:2px;background:linear-gradient(90deg,#8b6227,#edcf92);transform:scaleX(var(--cm-reading-progress,0));transform-origin:left;z-index:1101;pointer-events:none;box-shadow:0 0 9px #e7bb6644}
.cm-motion-paused *,.cm-motion-paused:before,.cm-motion-paused:after,.cm-motion-paused *:before,.cm-motion-paused *:after{animation-play-state:paused!important}
@keyframes cm-class-light-pass{0%{opacity:0;transform:translateX(-12%)}35%{opacity:1}100%{opacity:0;transform:translateX(12%)}}
@media(max-width:1100px){.cm-portal .cm-panel-heading h2{font-size:20px}.cm-portal .cm-panel-heading>i{display:none}.cm-portal .cm-panel-heading .cm-overline{letter-spacing:1.2px}}
@media(max-width:640px){.cm-portal .cm-hero-content{padding-bottom:42px}.cm-portal .cm-panel-heading h2{font-size:24px}.cm-portal .cm-panel-heading>i{display:block}.cm-portal .cm-countdown{gap:15px}.cm-portal .cm-countdown strong{font-size:34px}.cm-portal .cm-heading{padding-bottom:17px}.cm-portal .cm-class-description li{font-size:10px;padding:7px 9px}.cm-portal .cm-class-stage:before{display:none}.cm-reading-progress{height:1px}}
@media(prefers-reduced-motion:reduce){.cm-portal .cm-class-stage:before{display:none}.cm-portal .cm-quicklinks>a,.cm-portal .cm-quicklinks>a>span:last-child{transition:none}.cm-portal .cm-quicklinks>a:hover>span:last-child{transform:none}}
