:root{color-scheme:dark;--bg:#0d0e11;--panel:#131417;--line:#222326;--text:#f0f2e9;--muted:#87888b;--lime:#b9dd7c;--mono:'Space Grotesk',monospace;--font:'Manrope',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:13px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{color:inherit}button{cursor:pointer;background:none;border:0}a{text-decoration:none}button:disabled{cursor:not-allowed;opacity:.35}button{transition:background .18s,color .18s,border-color .18s,transform .18s}button:hover:not(:disabled){color:var(--lime)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--lime);outline-offset:4px}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.ui-icon{fill:currentColor;stroke:none;stroke-width:0}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}.rail{position:fixed;left:0;top:0;bottom:0;width:80px;border-right:1px solid var(--line);display:flex;align-items:center;flex-direction:column;background:#101114;z-index:20}.brand-symbol{width:44px;height:44px;color:var(--lime);margin:24px 0 46px;display:grid;place-items:center}.brand-symbol svg{width:35px;height:35px;stroke-width:2}.rail-links{display:grid;gap:14px}.rail-btn{width:44px;height:46px;border-radius:9px;color:#797a7d;display:grid;place-items:center;position:relative}.rail-btn.active{background:#d0fa6913;color:var(--lime)}.rail-btn.active:before{content:'';position:absolute;left:-18px;width:3px;height:22px;background:var(--lime);border-radius:0 3px 3px 0}.rail-bottom{margin-top:auto;display:grid;justify-items:center;gap:18px;padding-bottom:26px}.rail-label{font-family:var(--mono);font-size:10px;color:#6a6b6e;writing-mode:vertical-rl;letter-spacing:3px}.system-dot,.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px #c5ed6340}.shell{margin-left:80px}.header{height:88px;padding:0 38px;display:flex;align-items:center;gap:48px;border-bottom:1px solid var(--line)}.wordmark{font-family:var(--mono);font-size:28px;font-weight:700;letter-spacing:-1.5px}.wordmark span{font-family:var(--font);color:var(--lime);font-size:11px;margin-left:5px;vertical-align:top;letter-spacing:0}.header nav{display:flex;align-self:stretch;gap:27px}.nav-link{position:relative;color:#919295;font-size:12px;font-weight:700;padding:0 0}.nav-link.active{color:var(--text)}.nav-link.active:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--lime)}.tiny-new{font:8px var(--mono);color:var(--lime);margin-left:3px}.header-right{margin-left:auto;display:flex;align-items:center;gap:19px}.language{font:11px var(--mono);color:#adb2a3}.language span{margin-left:9px;color:#78797c}.demo-tag{font:9px var(--mono);color:var(--lime);border:1px solid #525356;padding:4px 6px;border-radius:3px;letter-spacing:1px}.balance{border-left:1px solid var(--line);padding-left:19px;display:grid;gap:4px}.balance small{color:var(--muted);font-size:9px}.balance strong{font:600 15px var(--mono)}.balance strong span{color:var(--lime)}.steam-btn{display:flex;align-items:center;gap:11px;border:1px solid #313235;border-radius:7px;padding:12px 14px;font-size:11px;font-weight:700;background:#1c1d20;white-space:nowrap}.steam-btn svg{width:19px;height:19px}.steam-btn>span:last-child{color:var(--lime);margin-left:5px}.steam-btn:hover{background:#2a2b2e}.activity-strip{height:102px;display:flex;border-bottom:1px solid var(--line);overflow:hidden;padding-left:38px;background:#101114}.activity-title{width:126px;flex-shrink:0;display:flex;align-items:center;justify-content:center;align-content:center;flex-wrap:wrap;gap:8px;padding-right:20px}.activity-title strong{font-size:11px}.activity-title small{width:100%;font-size:9px;color:var(--muted);padding-left:17px}.activity-cards{display:flex;flex:1;min-width:0;overflow:hidden;gap:3px;padding:12px 0}.activity-card{min-width:156px;width:156px;padding:7px 10px;display:grid;grid-template-columns:60px 1fr;position:relative;background:linear-gradient(115deg,#ffffff02,#ffffff05);border-radius:5px;border-bottom:2px solid var(--rarity,#a16af1)}.activity-card img{width:68px;height:48px;object-fit:contain;grid-row:span 3;align-self:center;filter:drop-shadow(0 5px 8px #0008)}.activity-card small{font-size:8px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-card strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-card b{font:10px var(--mono);color:#d6ddca}.activity-card .event-badge{position:absolute;right:8px;top:5px;color:var(--lime);font:8px var(--mono)}.activity-more{width:45px;flex-shrink:0;background:#141518;color:var(--muted)}main{padding:0 38px;max-width:1800px;margin:auto}.page-heading{padding:35px 0 27px;display:flex;align-items:center;justify-content:space-between;gap:20px}.eyebrow{display:flex;align-items:center;gap:8px;letter-spacing:2px;font:9px var(--mono);color:#a1aa90}.eyebrow>span:first-child{height:5px;width:5px;background:var(--lime)}.version{color:#58595c;letter-spacing:1px;margin-left:5px}h1{font-size:43px;letter-spacing:-2px;line-height:1.16;font-weight:500;margin:13px 0 10px}h1>span{color:var(--lime)}h1 sup{font:26px var(--mono);color:var(--lime);margin-left:13px;vertical-align:top}p{color:var(--muted);line-height:1.7}.page-heading p{margin:0;font-size:11px}.site-stats{display:flex;align-items:center;gap:24px;margin-top:20px}.site-stats>div{display:grid;grid-template-columns:14px auto;gap:6px 8px;align-items:center}.site-stats strong{font:19px var(--mono)}.site-stats small{grid-column:2;font-size:9px;color:var(--muted)}.site-stats svg{color:var(--lime);width:15px;height:15px}.site-stats i{width:1px;height:30px;background:var(--line)}.lab{border:1px solid #2c2d30;border-radius:12px;overflow:hidden;background:radial-gradient(ellipse at 50% 38%,#24252855,transparent 45%),linear-gradient(115deg,#141518,#111215)}.lab-topline{height:45px;display:flex;justify-content:space-between;align-items:center;padding:0 24px;border-bottom:1px solid #252629}.lab-topline>span{font:9px var(--mono);letter-spacing:1.3px;color:#a4ac99;display:flex;align-items:center;gap:8px}.dot-square{width:5px;height:5px;background:var(--lime)}.lab-tools{display:flex;gap:7px}.icon-btn{width:28px;height:29px;display:grid;place-items:center;color:#7d7e81;border-radius:4px}.icon-btn svg{width:16px;height:16px}.icon-btn[aria-pressed=true]{background:#d0fa691a;color:var(--lime)}.lab-stage{display:grid;grid-template-columns:1fr 300px 1fr;gap:26px;align-items:center;padding:25px 42px 6px}.skin-stage{min-width:0;position:relative;align-self:stretch;display:flex;flex-direction:column;padding:12px 0 16px;background:radial-gradient(ellipse at center,#bb79ff0b,transparent 65%)}.target-stage{background:radial-gradient(ellipse at center,#caff640b,transparent 65%)}.stage-label{display:flex;gap:10px;align-items:center;font:9px var(--mono);letter-spacing:1px;color:#a6ad9c}.stage-label>span{color:#595a5d}.stage-label b{font:8px var(--mono);letter-spacing:0;color:#97989b;margin-left:auto;border:1px solid #2b2c2f;padding:3px 6px;border-radius:3px}.stage-display{display:flex;min-height:176px;flex:1;align-items:center;justify-content:center;flex-direction:column;padding:6px;position:relative}.stage-display>img,.stage-display .stage-skin-solo{width:100%;max-width:280px;height:130px;object-fit:contain;filter:drop-shadow(0 18px 20px #0009);transform:rotate(-9deg);transition:transform .4s}.target-stage .stage-display>img,.target-stage .stage-display .stage-skin-solo{transform:scaleX(-1) rotate(-9deg)}.stage-display:hover>img,.stage-display:hover .stage-skin-solo{transform:rotate(-5deg) scale(1.05)}.target-stage .stage-display:hover>img,.target-stage .stage-display:hover .stage-skin-solo{transform:scaleX(-1) rotate(-5deg) scale(1.05)}.stage-display .skin-weapon{font:10px var(--mono);color:#919295;margin:6px 0 3px}.stage-display .skin-name{font-size:16px;font-weight:700;letter-spacing:-.5px}.stage-display .skin-wear{font-size:8px;margin-top:6px;color:#78797c}.stage-value{display:flex;justify-content:space-between;align-items:end;padding:16px 0 0;margin:8px 0 0;border-top:1px solid #2b2c2f}.stage-value small{font-size:9px;color:var(--muted)}.stage-value strong{font:18px var(--mono)}.stage-value strong span{font-size:13px;color:var(--lime)}.stage-corner{position:absolute;width:8px;height:8px;border-color:#595a5d;border-style:solid}.tl{top:0;left:-14px;border-width:1px 0 0 1px}.tr{top:0;right:-14px;border-width:1px 1px 0 0}.br{bottom:0;right:-14px;border-width:0 1px 1px 0}.bl{bottom:0;left:-14px;border-width:0 0 1px 1px}.chance-stage{position:relative}.ring-wrap{position:relative;width:280px;height:280px;margin:auto}.chance-ring{width:280px;height:280px;overflow:visible}.ring-track{stroke:#2c2d30;stroke-width:2}.ring-ticks{stroke:#626366;stroke-width:4;stroke-dasharray:1 8}.chance-ring #ring-progress{stroke:var(--lime);stroke-width:5;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;stroke-dasharray:729;stroke-dashoffset:498;filter:drop-shadow(0 0 6px #d0fa6944);transition:stroke-dashoffset .4s}.orbit-ellipse{position:absolute;inset:49px -19px;border:1px solid #7a7b7e32;border-radius:50%;transform:rotate(-34deg);pointer-events:none}.chance-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.chance-text>span{font:8px var(--mono);letter-spacing:1.8px;color:#9caa86}.chance-text strong{font:500 49px var(--mono);letter-spacing:-2px;line-height:1.5}.chance-text strong span{font-size:22px;letter-spacing:-1px;color:var(--lime);margin-left:4px}.chance-text small{font-size:10px;color:#939497}.axis-label{position:absolute;color:#6b6c6f;font:8px var(--mono)}.axis-top{top:-6px;left:50%;transform:translateX(-50%)}.axis-bottom{bottom:-6px;left:50%;transform:translateX(-50%)}.axis-left{left:-10px;top:49%}.axis-right{right:-10px;top:49%}#ring-pointer{color:#e5e9df;transform-box:view-box;transform-origin:50% 50%;filter:drop-shadow(0 0 4px #e5e9df30)}.chance-adjust{display:flex;align-items:center;gap:9px;margin:17px 28px 0;color:#818285;font:8px var(--mono)}input[type=range]{accent-color:var(--lime);height:3px;width:100%;cursor:pointer}.lab-controls{display:grid;grid-template-columns:1fr 300px 1fr;gap:26px;padding:25px 42px 18px;align-items:center}.balance-control{max-width:230px}.balance-control>label{display:flex;justify-content:space-between;color:#9a9b9e;font-size:9px;margin-bottom:9px}.balance-control>label span{color:var(--lime)}.stake-field{height:39px;display:flex;border:1px solid #323336;background:#101114;border-radius:6px;align-items:center;padding:0 9px 0 12px}.stake-field input{border:0;outline:none;background:none;width:100%;color:var(--text);font:14px var(--mono);min-width:0}.stake-field input::-webkit-inner-spin-button{display:none}.stake-field button{font:8px var(--mono);color:var(--lime);border-radius:3px;border:1px solid #48494c;padding:4px 6px}.launch-wrap{text-align:center}.launch-btn{height:53px;width:100%;border-radius:6px;background:var(--lime);color:#1c1d20;display:flex;align-items:center;justify-content:center;gap:15px;font-size:14px;font-weight:800;box-shadow:0 4px 20px #d0fa6912}.launch-btn svg{width:19px;height:19px}.launch-btn svg:last-child{margin-left:12px}.launch-btn:hover:not(:disabled){background:#deff94;color:#111215;transform:translateY(-1px)}.launch-btn:disabled{background:#636467;opacity:.7;color:#b9c2a9}.launch-caption{display:block;color:#7a7b7e;font-size:8px;margin-top:9px}.multipliers{justify-self:end}.multipliers>span{color:#9a9b9e;font-size:9px;display:block;margin-bottom:10px}.multipliers>div{display:flex;gap:5px}.multipliers button{border:1px solid #313235;border-radius:4px;width:38px;height:31px;font:11px var(--mono);color:#a2af92;background:#1e1f22}.multipliers button.active{color:var(--lime);border-color:#747578;background:#d0fa6910}.lab-foot{border-top:1px solid #26272a;padding:11px 24px;display:flex;align-items:center;justify-content:space-between;color:#7b7c7f;font-size:8px;background:#10111477}.lab-foot>span{display:flex;align-items:center;gap:6px}.lab-foot svg{width:12px;height:12px;color:#9ab57a}.lab-foot button{font-size:13px;color:#b2c59a}.selection-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:29px}.selection-panel{min-width:0;background:#101114;border:1px solid var(--line);border-radius:9px;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:19px 17px 14px;gap:12px}h2{font-size:13px;font-weight:700;margin:0;letter-spacing:-.2px}h2>span{font:9px var(--mono);padding:3px 6px;border:1px solid #2b2c2f;border-radius:4px;color:#96979a;margin-left:6px}.text-btn{font-size:8px;color:#999a9d;white-space:nowrap}.panel-filters{display:flex;padding:0 17px 13px;gap:8px}.search{display:flex;align-items:center;gap:8px;min-width:0;border:1px solid #252629;background:#0e0f12;border-radius:5px;flex:1;padding:9px 10px}.search svg{width:14px;height:14px;color:#808184}.search input{width:100%;min-width:0;border:0;background:none;outline:none;font-size:10px;color:var(--text)}input::placeholder{color:#6c6d70}select,.filter-btn{font-size:9px;padding:8px 10px;background:#191a1d;border:1px solid #2d2e31;border-radius:5px;color:#9da98e;cursor:pointer}.category-filters{display:flex;gap:4px;padding:0 17px 13px;flex-wrap:wrap}.category-filters button{font-size:9px;color:#919295;border:1px solid transparent;padding:5px 8px;border-radius:4px}.category-filters button.active{color:var(--lime);background:#d0fa690b;border-color:#4f5053}.skin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 17px 17px}.skin-card{border:1px solid #252629;border-radius:6px;padding:11px;text-align:left;position:relative;min-width:0;background:linear-gradient(145deg,#1b1c1f,#151619);border-bottom:2px solid var(--rarity);overflow:hidden}.skin-card:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,var(--rarity),transparent 70%);opacity:.035;pointer-events:none}.skin-card.selected{border-color:#a8c65a;background:linear-gradient(145deg,#26272a,#1a1b1e)}.skin-card.selected .check{background:var(--lime);color:#222326;border-color:var(--lime)}.card-top{display:flex;justify-content:space-between;align-items:center;color:#b5bea9;font:11px var(--mono);gap:5px}.card-top span{font-size:8px;color:#86878a}.check{position:absolute;right:9px;bottom:11px;border:1px solid #46474a;border-radius:50%;width:15px;height:15px;display:grid;place-items:center;font-size:9px;color:transparent}.skin-card img{width:100%;height:78px;object-fit:contain;display:block;filter:drop-shadow(0 9px 7px #0007);margin:6px 0}.card-weapon{font-size:8px;color:#919295;display:block;margin-bottom:4px}.card-name{font-size:10px;font-weight:700;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:15px}.skin-card:hover:not(:disabled){border-color:#939497;transform:translateY(-2px)}.panel-note{font-size:8px;margin:0;padding:0 17px 16px;color:#6a6b6e}.subtle{color:#7a7b7e;font-size:8px}.pagination{padding:0 17px 17px;display:flex;align-items:center;justify-content:flex-end;gap:6px}.pagination>span{font:9px var(--mono);color:#8f9093;margin-right:auto}.pagination button{border:1px solid #2d2e31;border-radius:4px;width:29px;height:27px;color:#b0bf9b}.empty-state{grid-column:1/-1;padding:45px 20px;text-align:center;color:#96979a;font-size:12px;line-height:1.8}.empty-state svg{display:block;margin:0 auto 12px;width:35px;height:35px;color:var(--lime)}footer{display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);margin-top:36px;padding:27px 0;color:#717275;font-size:9px}footer .wordmark{font-size:20px;color:#b5bea9}footer>div{margin-left:auto;display:flex;align-items:center;gap:27px;font:8px var(--mono)}footer button{font-family:var(--font);font-size:9px}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:100;background:#d0fa69;color:#1c1d20;padding:13px 22px;border-radius:7px;box-shadow:0 10px 40px #0007;font-size:12px;font-weight:600;max-width:90%;transition:.25s}.toast.show{transform:translate(-50%,0);opacity:1}dialog{background:#16171a;color:var(--text);border:1px solid #5f6063;border-radius:16px;max-width:500px;width:calc(100% - 36px);padding:38px;box-shadow:0 30px 120px #0009}dialog::backdrop{background:#07080bb8;backdrop-filter:blur(6px)}.modal-close{position:absolute;top:12px;right:12px}.modal-eyebrow{font:9px var(--mono);letter-spacing:2px;color:var(--lime)}dialog h2{font-size:27px;line-height:1.2;margin:17px 0}dialog p,dialog li{font-size:12px;line-height:1.9;color:#a6b397}dialog ul{padding-left:19px}dialog .outline-btn{margin-top:12px}.outline-btn{border:1px solid #626366;color:var(--lime);border-radius:6px;padding:11px 16px;font-size:11px}.result-image{width:100%;height:145px;object-fit:contain}.result-roll{font:11px var(--mono);color:#949598;padding:15px 0}.market-status{border:1px solid #2f3033;border-radius:7px;padding:15px 18px;font-size:11px;color:#a7b993;background:#17181b;line-height:1.7;margin-bottom:19px}.market-toolbar{display:flex;gap:9px;margin-bottom:19px}.market-toolbar .search{max-width:470px}.market-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:20px}.market-grid .skin-card{padding:15px;min-height:185px}.market-grid .skin-card img{height:100px}.stock{display:block;font:8px var(--mono);color:#b2ca92;margin-top:9px}.no-image{display:grid;place-items:center;height:100px;color:#56575a}.no-image svg{width:48px;height:48px}.market-grid .card-name{font-size:11px}.history-toolbar{display:flex;gap:8px;margin-bottom:20px}.history-toolbar button{border:1px solid #2f3033;border-radius:5px;color:#9da88f;padding:9px 15px;font-size:11px}.history-toolbar button.active{background:#d0fa6915;color:var(--lime)}.history-row{display:grid;grid-template-columns:70px 1fr 130px 100px 110px;align-items:center;border-bottom:1px solid #26272a;padding:12px 16px;gap:16px;background:#151619}.history-row img{width:65px;height:45px;object-fit:contain}.history-row strong{font-size:12px}.history-row small{display:block;color:#8e8f92;font-size:9px;margin-top:4px}.history-row .won{color:var(--lime)}.history-row .lost{color:#c58b7e}.history-row>span{font:11px var(--mono)}.history-row time{font-size:10px;color:#828386}
@media(min-width:1500px){.lab-stage,.lab-controls{grid-template-columns:1fr 340px 1fr;padding-left:7%;padding-right:7%;gap:45px}.ring-wrap,.chance-ring{width:300px;height:300px}.stage-display>img,.stage-display .stage-skin-solo{height:155px;max-width:330px}.skin-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.lab-controls{padding-top:30px}.stage-display{min-height:200px}}
@media(max-width:1150px){.header{gap:28px;padding:0 25px}.header-right{gap:12px}.header nav{gap:18px}.language{display:none}.steam-btn{padding:11px}.steam-btn>span:last-child{display:none}.balance{padding-left:12px}.lab-stage,.lab-controls{gap:14px;padding-left:26px;padding-right:26px;grid-template-columns:1fr 260px 1fr}.ring-wrap,.chance-ring{width:240px;height:240px}.stage-display>img,.stage-display .stage-skin-solo{height:115px}.multipliers button{width:30px}.multipliers>div{gap:4px}main{padding:0 25px}.activity-strip{padding-left:25px}.stage-value{display:grid;gap:7px}.market-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.skin-grid{gap:6px;padding:0 12px 12px}.skin-card{padding:8px}.panel-heading,.panel-filters{padding-left:12px;padding-right:12px}.category-filters{padding-left:12px;padding-right:12px}.text-btn{font-size:7px}}
@media(max-width:900px){.rail{width:62px}.shell{margin-left:62px}.brand-symbol{margin-top:20px}.rail-btn.active:before{left:-9px}.header{height:78px;gap:20px}.wordmark{font-size:25px}.header nav{display:none}.steam-btn{font-size:10px}.header-right{gap:12px}.lab-stage,.lab-controls{grid-template-columns:1fr 220px 1fr;gap:12px;padding-left:24px;padding-right:24px}.ring-wrap,.chance-ring{width:215px;height:215px}.chance-text strong{font-size:39px}.chance-text>span{font-size:7px}.chance-text small{font-size:8px}.chance-adjust{margin-left:10px;margin-right:10px}.stage-display>img,.stage-display .stage-skin-solo{height:95px}.stage-display{min-height:160px}.stage-display .skin-name{font-size:13px}.stage-label{font-size:7px;gap:5px}.stage-label b{display:none}.multipliers>div{gap:3px}.multipliers button{width:27px;font-size:10px}.lab-controls{padding-top:24px}.launch-btn{font-size:12px;gap:8px}.balance-control>label,.multipliers>span{font-size:8px}.selection-columns{gap:14px}.skin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-heading{padding-top:16px;flex-wrap:wrap}.panel-heading h2{font-size:12px}.panel-filters{flex-wrap:wrap}.panel-filters>.search{flex-basis:100%}.site-stats{gap:15px}.site-stats strong{font-size:16px}h1{font-size:36px}.market-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.market-toolbar{flex-wrap:wrap}.market-toolbar>.search{min-width:100%;max-width:none}.history-row{grid-template-columns:50px 1fr 80px;gap:10px}.history-row time{grid-column:2}.history-row>span:nth-last-child(2){grid-column:3;grid-row:1}footer>span{display:none}footer>div{gap:15px}}
@media(max-width:650px){.rail{width:52px}.shell{margin-left:52px}.brand-symbol{width:34px;height:34px;margin:22px 0 35px}.brand-symbol svg{width:28px;height:28px}.rail-btn{width:35px;height:40px}.rail-btn.active:before{left:-8px}.rail-btn svg{width:19px;height:19px}.rail-label{display:none}.header{padding:0 16px;height:72px;gap:12px}.wordmark{font-size:23px}.header-right{gap:9px}.demo-tag{display:none}.balance{border:0;padding:0}.balance small{font-size:7px}.balance strong{font-size:11px}.steam-btn{padding:9px}.steam-btn>span{display:none}.steam-btn svg{width:18px;height:18px}.activity-strip{height:86px;padding-left:16px}.activity-title{width:83px;padding-right:8px;gap:5px}.activity-title strong{font-size:9px}.activity-title small{font-size:7px;padding-left:6px}.activity-card{min-width:144px;width:144px}.activity-more{width:26px}.activity-more svg{width:16px}main{padding:0 16px}.page-heading{padding:27px 0 22px;align-items:flex-start;position:relative}.eyebrow{font-size:7px;letter-spacing:1.5px}.version{display:none}h1{font-size:29px;letter-spacing:-1.3px;margin-top:13px}h1 sup{font-size:18px;margin-left:7px}.page-heading p{font-size:9px;max-width:190px}.site-stats{gap:8px;margin-top:32px;flex-direction:column;align-items:flex-start}.site-stats>div{gap:4px 3px;grid-template-columns:9px auto}.site-stats strong{font-size:12px}.site-stats small{font-size:7px;grid-column:2}.site-stats i{display:none}.site-stats svg{width:11px;height:11px}.site-stats .live-dot{width:4px;height:4px}.lab{border-radius:8px}.lab-topline{padding:0 12px;height:39px}.lab-topline>span{font-size:7px;letter-spacing:.7px}.lab-tools{gap:2px}.lab-tools .icon-btn{width:24px}.lab-stage{grid-template-columns:1fr 1fr;padding:19px 17px 8px;gap:16px}.chance-stage{grid-column:1/-1;grid-row:2}.ring-wrap,.chance-ring{width:225px;height:225px}.chance-adjust{max-width:230px;margin:9px auto}.skin-stage{padding:0 0 12px}.stage-label{font-size:7px;letter-spacing:.2px;white-space:nowrap}.stage-display{min-height:147px;padding:0}.stage-display>img,.stage-display .stage-skin-solo{height:85px}.stage-display .skin-weapon{font-size:8px}.stage-display .skin-name{font-size:12px}.stage-display .skin-wear{font-size:7px}.stage-value small{font-size:7px}.stage-value strong{font-size:15px}.stage-value{margin:0;padding-top:12px;gap:5px}.stage-corner{display:none}.lab-controls{grid-template-columns:1fr 1fr;padding:10px 16px 16px;gap:16px 10px}.launch-wrap{grid-column:1/-1;grid-row:2}.launch-btn{height:47px;font-size:14px}.multipliers{width:100%;min-width:0}.multipliers button{width:auto;min-width:23px;flex:1;font-size:9px}.balance-control>label,.multipliers>span{font-size:7px;white-space:nowrap}.multipliers>div{gap:3px}.balance-control{max-width:none}.stake-field{height:31px}.stake-field input{font-size:12px}.stake-field button{font-size:7px}.lab-foot{padding:10px 12px;font-size:7px}.lab-foot>span:last-child{display:none}.selection-columns{grid-template-columns:1fr;gap:18px;margin-top:20px}.skin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px 12px}.skin-card{padding:10px}.skin-card img{height:82px}.panel-filters>.search{flex-basis:unset}.panel-heading{flex-wrap:nowrap}.text-btn{font-size:8px}.subtle{font-size:7px}.market-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.market-grid .skin-card{padding:10px;min-height:170px}.market-grid .card-name{font-size:10px}.market-toolbar select{font-size:8px;padding:8px;flex:1;min-width:0}.market-status{padding:11px;font-size:9px}.market-toolbar{gap:6px}.history-row{padding:10px 7px;grid-template-columns:40px 1fr 60px;gap:8px}.history-row img{width:40px}.history-row strong{font-size:9px}.history-row>span{font-size:9px}.history-row time{font-size:8px}.history-toolbar button{padding:8px 10px;font-size:9px}footer{padding:22px 0;gap:8px}footer>div{display:grid;gap:9px;text-align:right;font-size:6px}footer button{font-size:8px}dialog{padding:30px 24px}dialog h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Dark graphite edition. Outcome feedback stays inside the upgrade terminal. */
:root{--bg:#090a0b;--panel:#111214;--line:#25272b;--text:#e9eaed;--muted:#9699a0;--lime:#b9dd7c}
body{background:var(--bg)}
.rail{background:#0d0e10}.header{background:#0b0c0e}.activity-strip{background:#0d0e10}
.lab{background:radial-gradient(ellipse at 50% 42%,#b9dd7c05,transparent 48%),#101113;border-color:#303239;transition:border-color .35s,box-shadow .35s}
.lab-topline{border-color:#24262b}.lab-foot{background:#0c0d0f;border-color:#24262b}
.selection-panel{background:#0e0f11}.search,.stake-field{background:#090a0c;border-color:#2b2e34}
.skin-card{background:linear-gradient(145deg,#191b1f,#111215)}
.skin-card.selected{background:linear-gradient(145deg,#1d231a,#131710);border-color:#6a8050}
.steam-btn{background:#171a15;border-color:#343d2b}.steam-btn:hover{background:#20271b}
.market-status{background:#11150f;border-color:#303d28}.stage-display .skin-wear{color:#8c919a}
.lab-foot{color:#959ba5}.stage-label>span{color:#8d929c}.launch-caption{color:#969e8e}
.chance-text{transition:opacity .16s ease;pointer-events:none}
.lab:is([data-wheel=won],[data-wheel=lost]) .chance-text{opacity:0}
.ring-wrap{isolation:isolate}
.ring-wrap:after{content:'';position:absolute;inset:22px;border-radius:50%;box-shadow:0 0 45px 8px #a4d97a12,inset 0 0 35px #a4d97a0b;opacity:0;transition:opacity .35s;pointer-events:none;z-index:-1}
#ring-pointer{transition:none;will-change:auto}
#ring-progress{stroke-linecap:butt!important}
.lab:is([data-wheel=spinning],[data-wheel=settling]) #ring-pointer{will-change:transform}
.lab:is([data-wheel=spinning],[data-wheel=settling]) .chance-ring #ring-progress{transition:none}
.lab[data-wheel=settling] #ring-pointer{filter:drop-shadow(0 0 5px #e9eee540)}
.lab[data-wheel=won]{border-color:#455b37;box-shadow:0 0 0 1px #b9dd7c06}
.lab[data-wheel=won] .ring-wrap:after{opacity:1}
.lab[data-wheel=won] #ring-pointer{color:#c2ed93;filter:drop-shadow(0 0 5px #b9dd7c80)}
.lab[data-wheel=won] .target-stage{background:radial-gradient(ellipse at center,#9bd76a0d,transparent 68%)}
.lab[data-wheel=lost] #ring-pointer{color:#d5a293;filter:drop-shadow(0 0 4px #d5a29330)}
.lab[data-wheel=lost] .ring-wrap:after{box-shadow:0 0 35px 6px #c2826c0a,inset 0 0 30px #c2826c08;opacity:1}
.lab:is([data-wheel=won],[data-wheel=lost]) .source-stage .stage-display{opacity:.45}
.wheel-outcome{position:absolute;inset:27px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:8px;--outcome:#b9e492;animation:outcome-appear .22s ease-out both}
.lab[data-wheel=lost] .wheel-outcome{--outcome:#d5a293}
.outcome-symbol{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--outcome) 9%,transparent);border:1px solid color-mix(in srgb,var(--outcome) 28%,transparent);color:var(--outcome);margin-bottom:3px}
.outcome-symbol svg{width:21px;height:21px;stroke-width:2.1}
.wheel-outcome>strong{font-size:27px;font-weight:700;letter-spacing:-1px;color:var(--outcome);line-height:1.1;white-space:nowrap}
.wheel-outcome>span{font-size:9px;line-height:1.5;color:#c1c6bc;max-width:160px}
.wheel-outcome>small{font:8px var(--mono);color:#979d94;line-height:1.6;white-space:nowrap}
.wheel-outcome>button{border:1px solid #3e4637;padding:7px 11px;border-radius:5px;color:#c5d6b6;font-size:9px;background:#161b12;margin-top:2px}
.wheel-outcome>button:hover{background:#222b19}
.launch-btn:active:not(:disabled){transform:scale(.985);transition:transform .08s}
@keyframes outcome-appear{from{opacity:0}to{opacity:1}}
@media(max-width:1150px){.wheel-outcome{inset:23px;gap:6px}.wheel-outcome>strong{font-size:25px}.outcome-symbol{width:30px;height:30px;margin-bottom:0}}
@media(max-width:900px){.wheel-outcome{inset:19px;gap:5px}.wheel-outcome>strong{font-size:23px}.wheel-outcome>span{font-size:8px}.wheel-outcome>small{font-size:7px}.wheel-outcome>button{padding:5px 9px;font-size:8px}.outcome-symbol{width:27px;height:27px}.outcome-symbol svg{width:18px;height:18px}}
@media(max-width:650px){.wheel-outcome{inset:23px;gap:6px}.wheel-outcome>strong{font-size:24px}.wheel-outcome>span{font-size:8px}.outcome-symbol{width:28px;height:28px}}
@media(prefers-reduced-motion:reduce){.wheel-outcome{animation:outcome-appear .12s ease-out both!important}.chance-text{transition:opacity .12s!important}}
@media(prefers-contrast:more){.wheel-outcome>span,.wheel-outcome>small{color:#e2e5df}.lab-foot,.launch-caption{color:#bdc1c8}.lab{border-color:#676b73}}

/* SkufDrop: transparent mascot inside the ring, stats on top */
.ring-wrap{overflow:visible}
.skuf-mascot{position:absolute;inset:6%;display:grid;place-items:end center;pointer-events:none;z-index:1;opacity:1;border-radius:50%;overflow:hidden;isolation:isolate;transition:opacity .35s,filter .35s,transform .45s cubic-bezier(.22,1,.36,1)}
.skuf-mascot:before{content:'';position:absolute;inset:0;border-radius:50%;background:radial-gradient(ellipse at 50% 70%,#1a1c1499 0%,#0f101400 68%);z-index:0;pointer-events:none}
.skuf-mascot img{position:relative;z-index:1;width:118%;max-width:none;height:auto;max-height:118%;object-fit:contain;object-position:center bottom;margin-bottom:-6%;filter:drop-shadow(0 10px 22px #000a);transform-origin:50% 90%;transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .3s;background:transparent}
.chance-text{z-index:4;gap:2px;padding:18px 22px 14px;background:radial-gradient(ellipse at center,#0b0c10f2 0%,#0b0c10d8 38%,#0b0c1088 55%,transparent 72%);text-shadow:0 1px 12px #000c,0 0 2px #000}
.chance-text .skuf-label,.skuf-label{display:block;margin-top:4px;font:700 8px var(--mono);letter-spacing:.8px;color:#b9dd7ccc;text-transform:uppercase;text-shadow:0 1px 8px #000}
.chance-ring,#ring-pointer{position:relative;z-index:5}
.wheel-outcome{z-index:6}
.skuf-mascot.skuf-swap img{animation:skuf-pop .42s cubic-bezier(.22,1,.36,1)}
.skuf-mascot.skuf-pulse img{animation:skuf-pulse .7s ease}
.skuf-mascot.skuf-spinning img{animation:skuf-bob .55s ease-in-out infinite}
.skuf-mascot.skuf-settling img{animation:skuf-bob .9s ease-in-out infinite;filter:drop-shadow(0 0 18px #b9dd7c44)}
.skuf-mascot.skuf-won{overflow:visible}
.skuf-mascot.skuf-won img{animation:skuf-win .85s cubic-bezier(.22,1,.36,1) both;filter:drop-shadow(0 0 24px #b9dd7c66)}
.skuf-mascot.skuf-lost img{animation:skuf-lose .55s ease both;opacity:.88}
.lab:is([data-wheel=won],[data-wheel=lost]) .skuf-mascot{inset:4%;z-index:2}
.lab:is([data-wheel=won],[data-wheel=lost]) .skuf-mascot img{width:128%;max-height:128%;margin-bottom:-2%}
.skuf-mascot[data-mood=sad] img{filter:drop-shadow(0 10px 22px #000a) saturate(.9) brightness(.96)}
.skuf-mascot[data-mood=legend] img,.skuf-mascot[data-mood=flex] img{filter:drop-shadow(0 10px 22px #000a) saturate(1.06) brightness(1.04)}

.source-stack{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:8px;min-height:140px}
.source-stack-fan{position:relative;width:min(100%,260px);height:118px;margin:0 auto}
.source-stack-fan .stack-skin{position:absolute;left:50%;top:50%;width:72%;max-width:200px;height:100px;object-fit:contain;filter:drop-shadow(0 14px 16px #0009);transform:translate(-50%,-50%) rotate(calc((var(--i) - (var(--n) - 1) / 2) * 9deg)) translateX(calc((var(--i) - (var(--n) - 1) / 2) * 18px));transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .3s;animation:stack-in .45s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--i) * 45ms);z-index:calc(var(--i) + 1)}
.source-stack[data-count="2"] .stack-skin{width:68%}
.source-stack[data-count="3"] .stack-skin,.source-stack[data-count="4"] .stack-skin,.source-stack[data-count="5"] .stack-skin{width:58%;height:90px}
.source-stack-meta{text-align:center}
.source-stack-meta .skin-name small{color:var(--lime);font-size:12px;margin-left:4px}
#source-display[data-count]:not([data-count="0"]):not([data-count="1"]) .stage-skin-solo{display:none}
.stage-display .stage-skin-solo{width:100%;max-width:280px;height:130px;object-fit:contain;filter:drop-shadow(0 18px 20px #0009);transform:rotate(-9deg);transition:transform .4s}
.source-stage .stage-display:hover .stack-skin{transform:translate(-50%,-54%) rotate(calc((var(--i) - (var(--n) - 1) / 2) * 11deg)) translateX(calc((var(--i) - (var(--n) - 1) / 2) * 20px)) scale(1.04)}
.outcome-symbol .ui-icon,svg#outcome-mark.ui-icon{width:21px;height:21px;fill:currentColor;stroke:none}

@keyframes skuf-pop{0%{opacity:.2;transform:scale(.86) translateY(10px)}60%{opacity:1;transform:scale(1.05) translateY(-2px)}100%{opacity:1;transform:scale(1) translateY(0)}}
@keyframes skuf-pulse{0%,100%{transform:scale(1)}40%{transform:scale(1.08)}70%{transform:scale(.97)}}
@keyframes skuf-bob{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1.5deg)}}
@keyframes skuf-win{0%{transform:scale(.9) translateY(8px);filter:brightness(.8)}45%{transform:scale(1.12) translateY(-6px) rotate(-3deg)}100%{transform:scale(1) translateY(0) rotate(0)}}
@keyframes skuf-lose{0%{transform:scale(1) translateY(0)}40%{transform:scale(.94) translateY(8px)}100%{transform:scale(.97) translateY(4px)}}
@keyframes stack-in{from{opacity:0;transform:translate(-50%,-40%) scale(.7) rotate(0)}to{opacity:1}}

@media(min-width:1500px){.skuf-mascot img{width:122%}.source-stack-fan{height:140px}.source-stack-fan .stack-skin{height:118px}}
@media(max-width:1150px){.skuf-mascot{inset:7%}.source-stack-fan{height:100px}.source-stack-fan .stack-skin{height:86px}}
@media(max-width:900px){.skuf-mascot{inset:8%}.skuf-label{font-size:7px}.source-stack-fan{height:88px}.source-stack-fan .stack-skin{height:76px;width:64%}}
@media(max-width:650px){.skuf-mascot{inset:7%}.lab:is([data-wheel=won],[data-wheel=lost]) .skuf-mascot img{width:130%}.source-stack{min-height:110px}.source-stack-fan{height:82px}.chance-text .skuf-label{display:none}}
@media(prefers-reduced-motion:reduce){.skuf-mascot img,.source-stack-fan .stack-skin{animation:none!important}}

/* ═══ PROFILE PAGE (SKUF DROP SPEC 1.0) ═══ */
:root {
  --skuf-ease: cubic-bezier(.22, 1, .36, 1);
  --color-canvas: #090b0c;
  --color-surface: #111416;
  --color-surface-2: #131618;
  --color-border: rgba(255, 255, 255, 0.08);
  --color-text: #f4f6f2;
  --color-muted: #8b938e;
  --color-accent: #c2f477;
}

.profile-layout {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 10px;
  width: 100%;
}

/* Block 1: Page Heading & Decorative Compact Banner */
.profile-heading {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 4px;
}
.profile-heading > div:first-child {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
/* Unified Profile Hero Card */
.profile-hero-card {
  position: relative;
  background: #0d1013 radial-gradient(circle at 85% 30%, #1a2026 0%, #0d1013 70%);
  border: 1px solid var(--color-border);
  border-radius: 16px;
  padding: 32px 36px 28px;
  margin-top: 10px;
  margin-bottom: 14px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0,0,0,0.45);
}

.hero-backdrop {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 1;
}

.hero-watermark {
  position: absolute;
  left: 45%;
  top: 18px;
  font-size: 116px;
  font-weight: 900;
  letter-spacing: 12px;
  color: rgba(255, 255, 255, 0.04);
  font-family: var(--display, var(--mono));
  user-select: none;
}

.hero-slogan {
  position: absolute;
  right: 36px;
  top: 26px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  z-index: 3;
  pointer-events: none;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.95);
}
.hero-slogan span {
  font: 700 10.5px var(--mono);
  color: #8c9790;
  letter-spacing: 1.5px;
  margin-bottom: 2px;
}
.hero-slogan strong {
  font: 800 13px var(--mono);
  color: #f0f4ee;
  letter-spacing: .5px;
}

.hero-boss-img {
  position: absolute;
  right: -10px;
  top: -20px;
  bottom: 0;
  height: 115%;
  width: auto;
  max-width: 65%;
  object-fit: cover;
  object-position: right top;
  pointer-events: none;
  z-index: 1;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,0.3) 14%, black 42%);
  mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,0.3) 14%, black 42%);
}

.profile-header-meta {
  position: relative;
  z-index: 3;
  margin-bottom: 30px;
  max-width: 480px;
}
.profile-header-meta .eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  font: 700 9.5px var(--mono);
  color: #8f9b90;
  letter-spacing: 2px;
  margin-bottom: 8px;
}
.profile-header-meta h1 {
  font-size: 42px;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: -1.5px;
  line-height: 1.1;
  margin: 0 0 8px;
}
.profile-header-meta h1 span {
  color: #ffffff;
}
.profile-header-meta p {
  font-size: 12px;
  color: #7f8a82;
  margin: 0;
  line-height: 1.5;
}

/* Block 2: Main Strip (User ~23%, Progress ~22%, Ranks ~55%) */
.profile-main-strip {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: 270px 250px 1fr;
  gap: 12px;
  align-items: stretch;
}

.profile-user-box {
  background: rgba(18, 22, 26, 0.88);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 16px 18px;
  display: flex;
  align-items: center;
  gap: 14px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.35);
}
.profile-avatar-wrap {
  position: relative;
  width: 66px;
  height: 66px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid rgba(194, 244, 119, 0.5);
  background: radial-gradient(circle, #252a32 0%, #15171a 100%);
  flex-shrink: 0;
  box-shadow: 0 0 16px rgba(194, 244, 119, 0.25), 0 4px 14px rgba(0,0,0,0.5);
}
.profile-avatar {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.profile-user-meta {
  min-width: 0;
  flex: 1;
}
.profile-user-meta h2 {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 6px;
  letter-spacing: -.2px;
  color: var(--color-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.profile-id-row {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--color-muted);
  font: 11px var(--mono);
}
.profile-id-row span {
  white-space: nowrap;
}
.profile-copy {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 5px;
  background: #17191d;
  color: #8b938e;
  border: 1px solid rgba(255,255,255,0.06);
  cursor: pointer;
  flex-shrink: 0;
  transition: all .16s var(--skuf-ease);
}
.profile-copy:hover {
  color: var(--color-accent);
  border-color: rgba(194,244,119,0.3);
}
.profile-copy svg {
  width: 11px;
  height: 11px;
}
.profile-logout-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 5px;
  padding: 4px 8px;
  font: 10px var(--mono);
  color: #909793;
  background: #15181b;
  cursor: pointer;
  transition: all .16s var(--skuf-ease);
  margin-left: auto;
  flex-shrink: 0;
}
.profile-logout-btn:hover {
  border-color: rgba(255,255,255,0.2);
  color: #f4f6f2;
  background: #1e2226;
}
.profile-logout-btn svg {
  width: 10px;
  height: 10px;
}

/* Progress box */
.profile-progress-box {
  background: rgba(18, 22, 26, 0.88);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 4px 20px rgba(0,0,0,0.35);
}
.profile-progress-header small {
  display: block;
  font: 700 9px var(--mono);
  color: #7b837d;
  letter-spacing: 1px;
  margin-bottom: 6px;
}
.profile-level-line {
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.level-big {
  font-size: 26px;
  font-weight: 800;
  color: #ffffff;
  line-height: 1;
}
.level-total {
  font: 600 12px var(--mono);
  color: #707672;
}
.level-name {
  font: 600 11px var(--mono);
  color: #cdd4cd;
  margin-left: auto;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rank-progress-bar {
  background: #191c20;
  border-radius: 4px;
  height: 6px;
  overflow: hidden;
  margin: 10px 0 8px;
  border: 1px solid rgba(255,255,255,0.04);
}
.rank-progress__fill {
  background: var(--color-accent);
  height: 100%;
  border-radius: 4px;
  width: 0%;
  transition: width 650ms var(--skuf-ease);
  box-shadow: 0 0 10px rgba(194,244,119,0.35);
}
.profile-progress-footer {
  font: 600 11px var(--mono);
  color: #8b938e;
}
.profile-progress-footer .currency-val {
  color: #8b938e;
}

/* 10 Ranks Row */
.profile-ranks-row {
  background: rgba(18, 22, 26, 0.88);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 10px 12px;
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 8px;
  align-items: stretch;
  min-height: 106px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.35);
}
.rank-slot {
  height: 84px;
  min-height: 84px;
  border-radius: 8px;
  background: #14171a;
  border: 1px solid rgba(255,255,255,0.06);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 4px 2px;
  cursor: pointer;
  outline: none;
  transition: transform 160ms var(--skuf-ease), border-color 160ms var(--skuf-ease);
}
.rank-slot:is(:hover, :focus-visible) {
  transform: translateY(-2px);
  border-color: rgba(194, 244, 119, 0.35);
}
.rank-slot-thumb {
  height: 52px;
  max-height: 52px;
  width: auto;
  max-width: 90%;
  object-fit: cover;
  border-radius: 4px;
  transition: transform 220ms var(--skuf-ease);
  filter: drop-shadow(0 4px 10px rgba(0,0,0,0.7));
}
.rank-slot:is(:hover, :focus-visible) .rank-slot-thumb {
  transform: scale(1.08);
}
.rank-slot-num {
  position: absolute;
  bottom: 3px;
  font: 700 9.5px var(--mono);
  color: #7f8a84;
}
.rank-slot--current {
  background: #192019;
  border-color: var(--color-accent) !important;
  outline: 1.5px solid var(--color-accent);
  box-shadow: 0 0 14px rgba(194, 244, 119, 0.25);
}
.rank-slot--current .rank-slot-num {
  color: var(--color-accent);
  font-weight: 800;
}
.rank-slot--locked {
  background: #0f1113;
  color: #68706b;
  border-color: rgba(255,255,255,0.04);
  cursor: default;
}
.rank-slot--locked .rank-locked-glyph {
  font-size: 22px;
  font-weight: 700;
  color: #68706b;
  line-height: 1;
  margin-bottom: 2px;
}
.rank-slot--locked .rank-locked-icon {
  width: 10px;
  height: 10px;
  color: #68706b;
  margin-bottom: 4px;
}
.rank-slot--locked .rank-slot-num {
  color: #68706b;
}

/* Block 3: Metrics Grid (Balance ~19%, Best Drop ~62%, Two stats ~19%) */
.profile-metrics-grid {
  display: grid;
  grid-template-columns: 240px 1fr 220px;
  gap: 12px;
  align-items: stretch;
}
.profile-metric-box {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 12px;
  padding: 16px 18px;
  display: flex;
  align-items: center;
  gap: 14px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}
.metric-icon {
  width: 38px;
  height: 38px;
  border-radius: 9px;
  background: rgba(194, 244, 119, 0.08);
  display: grid;
  place-items: center;
  color: var(--color-accent);
  flex-shrink: 0;
}
.metric-icon svg {
  width: 17px;
  height: 17px;
}
.profile-metric-box small {
  display: block;
  font: 700 9px var(--mono);
  color: #7b837d;
  letter-spacing: .5px;
  margin-bottom: 3px;
}
.profile-metric-box strong {
  font: 700 19px var(--mono);
  color: #ffffff;
}

/* Balance Box */
.profile-balance-box {
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
  gap: 14px;
  min-height: 155px;
}
.metric-box-header {
  display: flex;
  align-items: center;
  gap: 14px;
}
.profile-deposit-btn {
  width: 100%;
  height: 44px;
  font-size: 12px;
  border-radius: 8px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--color-accent);
  color: #10120d !important;
  border: none;
  cursor: pointer;
  transition: all .16s var(--skuf-ease);
}
.profile-deposit-btn:hover {
  background: #cbf574;
  color: #10120d !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(194,244,119,0.25);
}

/* Best Drop Card */
.best-drop-card {
  position: relative;
  background: radial-gradient(circle at 75% 50%, #171b1f 0%, #111416 75%);
  border: 1px solid var(--color-border);
  border-radius: 12px;
  padding: 16px 22px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 155px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}
.best-drop-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 2;
}
.best-drop-title {
  font: 700 11px var(--mono);
  color: #8b938e;
  letter-spacing: .2px;
}
.best-drop-body {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  position: relative;
  z-index: 2;
  flex: 1;
  margin-top: 6px;
}
.best-drop-info {
  display: flex;
  flex-direction: column;
  max-width: 50%;
  z-index: 3;
}
.best-drop-weapon {
  font: 700 9px var(--mono);
  color: #7b837d;
  text-transform: uppercase;
  letter-spacing: .8px;
  margin-bottom: 2px;
}
.best-drop-name {
  font-size: 18px;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: -.3px;
  margin: 0 0 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.best-drop-wear {
  font: 600 10px var(--mono);
  color: #7b837d;
  margin-bottom: 8px;
}
.best-drop-price-wrap {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.best-drop-price-wrap strong {
  font: 700 20px var(--mono);
  color: #ffffff;
  letter-spacing: -.3px;
}
.best-drop-visual {
  position: absolute;
  right: 12px;
  top: 0;
  bottom: 0;
  width: 55%;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.best-drop-img {
  position: relative;
  z-index: 2;
  max-width: 420px;
  max-height: 130px;
  object-fit: contain;
  filter: drop-shadow(0 12px 26px rgba(0,0,0,0.85));
  transform: rotate(-2deg);
  transition: transform 220ms var(--skuf-ease);
}
.best-drop-card:is(:hover, :focus-within) .best-drop-img {
  transform: rotate(-1deg) scale(1.03);
}

/* Mini Stats Column */
.profile-mini-stats {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 155px;
}
.profile-mini-stats .profile-metric-box {
  flex: 1;
}

/* Block 4: Extras (Email ~64-76px & Coupon ~64-76px) */
.profile-extras {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.profile-extra-card {
  min-height: 68px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 12px;
  padding: 0 20px;
  display: flex;
  align-items: center;
  gap: 14px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}
.profile-extra-icon {
  width: 40px;
  height: 40px;
  border-radius: 9px;
  background: rgba(194, 244, 119, 0.08);
  display: grid;
  place-items: center;
  color: var(--color-accent);
  flex-shrink: 0;
}
.profile-extra-icon svg {
  width: 17px;
  height: 17px;
}
.profile-extra-text strong {
  font-size: 13px;
  display: block;
  margin-bottom: 2px;
  color: #ffffff;
}
.profile-extra-text small {
  font-size: 10px;
  color: #7b837d;
  display: block;
}
.profile-extra-card .outline-btn {
  margin-left: auto;
  font-size: 11px;
  padding: 8px 16px;
  border-radius: 6px;
}
.profile-coupon-field {
  display: flex;
  gap: 8px;
  margin-left: auto;
}
.profile-coupon-field input {
  width: 150px;
  border: 1px solid rgba(255,255,255,0.08);
  background: #090b0c;
  border-radius: 6px;
  padding: 8px 12px;
  font: 11px var(--mono);
  color: var(--color-text);
  outline: none;
  transition: border-color .16s var(--skuf-ease);
}
.profile-coupon-field input:focus {
  border-color: var(--color-accent);
}
.profile-coupon-field .outline-btn {
  font-size: 11px;
  padding: 8px 14px;
}

/* Block 5: Tabs & 5-Column Inventory Grid */
.profile-tabs {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}
.profile-tab-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--color-border);
  padding: 0 16px;
}
.profile-tab-buttons {
  display: flex;
  align-items: center;
}
.profile-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 18px;
  font: 600 12px var(--mono);
  color: #8b938e;
  position: relative;
  background: none;
  border: none;
  cursor: pointer;
  transition: color 180ms var(--skuf-ease);
}
.profile-tab .tab-icon {
  width: 15px;
  height: 15px;
}
.profile-tab:hover {
  color: #dbe0db;
}
.profile-tab.active {
  color: #ffffff;
}
.profile-tab.active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 12px;
  right: 12px;
  height: 2px;
  background: var(--color-accent);
  border-radius: 2px 2px 0 0;
  transition: all 180ms var(--skuf-ease);
}
.profile-tab-tools {
  display: flex;
  align-items: center;
  gap: 10px;
}
.profile-tab-tools .filter-icon {
  width: 16px;
  height: 16px;
  color: #7b837d;
}
.profile-tab-tools select {
  background: #15181c;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 6px;
  padding: 6px 12px;
  font: 11px var(--mono);
  color: #cdd4cd;
  outline: none;
  cursor: pointer;
}
.profile-tab-tools select:focus {
  border-color: var(--color-accent);
}
.profile-refresh {
  width: 30px;
  height: 30px;
  border-radius: 6px;
  background: #15181c;
  border: 1px solid rgba(255,255,255,0.08);
  color: #8b938e;
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: all .16s var(--skuf-ease);
}
.profile-refresh:hover {
  color: var(--color-accent);
  border-color: rgba(194,244,119,0.3);
}
.profile-refresh svg {
  width: 12px;
  height: 12px;
}

.profile-tab-content {
  padding: 18px 20px 24px;
  min-height: 200px;
}

/* 5-Column Responsive Inventory Grid */
.profile-inventory-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
.profile-inventory-card {
  position: relative;
  background: var(--color-surface-2);
  border: 1px solid var(--color-border);
  border-bottom: 2px solid var(--rarity-color, #4a4f59);
  border-radius: 10px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 154px;
  cursor: pointer;
  outline: none;
  transition: transform 160ms var(--skuf-ease), border-color 160ms var(--skuf-ease);
}
.profile-inventory-card:is(:hover, :focus-visible) {
  transform: translateY(-2px);
  border-color: rgba(194,244,119,0.28);
}
.card-header-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.card-price-tag {
  font: 700 12px var(--mono);
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.card-wear-tag {
  font: 700 9px var(--mono);
  color: #7b837d;
  background: rgba(255,255,255,0.04);
  padding: 2px 5px;
  border-radius: 4px;
}
.card-img-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 0;
  min-height: 72px;
}
.card-img-wrap img {
  max-width: 100%;
  max-height: 70px;
  object-fit: contain;
  transition: transform 220ms var(--skuf-ease);
  filter: drop-shadow(0 6px 12px rgba(0,0,0,0.5));
}
.profile-inventory-card:is(:hover, :focus-visible) .card-img-wrap img {
  transform: scale(1.025);
}
.card-footer-meta {
  display: flex;
  flex-direction: column;
}
.card-weapon-label {
  font: 700 8.5px var(--mono);
  color: #7b837d;
  text-transform: uppercase;
  letter-spacing: .5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.card-name-label {
  font-size: 11.5px;
  font-weight: 700;
  color: #e6eae6;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* History lists inside Profile tabs */
.profile-history-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.profile-history-item {
  display: flex;
  align-items: center;
  gap: 14px;
  background: #14171a;
  border: 1px solid rgba(255,255,255,0.05);
  border-radius: 8px;
  padding: 10px 14px;
}
.profile-history-item img {
  width: 44px;
  height: 32px;
  object-fit: contain;
}
.profile-history-item .history-name {
  flex: 1;
  min-width: 0;
}
.profile-history-item .history-name strong {
  display: block;
  font-size: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.profile-history-item .history-name small {
  font: 10px var(--mono);
  color: #7b837d;
}

/* Unified Currency Icon (SkufDrop Coin) */
.currency-icon {
  display: inline-block;
  vertical-align: -2px;
  width: 14px;
  height: 14px;
  margin-left: 4px;
  margin-right: 1px;
  flex-shrink: 0;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.45));
  transition: transform 0.18s cubic-bezier(0.2, 0.9, 0.3, 1), filter 0.18s ease;
}
.currency-icon.large {
  width: 18px;
  height: 18px;
  vertical-align: -3px;
  margin-left: 6px;
}
.currency-icon.inline {
  width: 13px;
  height: 13px;
  vertical-align: -1.5px;
}
.currency-val {
  display: inline-flex;
  align-items: center;
}
button:hover .currency-icon,
.profile-inventory-card:hover .currency-icon,
.skin-card:hover .currency-icon {
  transform: scale(1.15) rotate(4deg);
  filter: drop-shadow(0 2px 6px rgba(185, 221, 124, 0.4));
}
@media (prefers-reduced-motion: reduce) {
  .currency-icon {
    transition: none !important;
    transform: none !important;
  }
}

/* Hover fixes for all buttons in profile and header */
.header-deposit-btn,
.header-deposit-btn:hover,
.launch-btn,
.launch-btn:hover,
.profile-deposit-btn,
.profile-deposit-btn:hover,
.profile-deposit-btn:focus,
.profile-deposit-btn:active {
  color: #10120d !important;
}
.header-deposit-btn svg,
.launch-btn svg,
.profile-deposit-btn svg,
.profile-deposit-btn:hover svg {
  fill: #10120d !important;
  color: #10120d !important;
}
.profile-deposit-btn span,
.profile-deposit-btn:hover span,
.profile-deposit-btn:focus span {
  color: #10120d !important;
}

.header-avatar {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid #4a4f59;
  flex-shrink: 0;
}
.steam-user-name {
  max-width: 115px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Deposit Modal Presets */
.deposit-presets {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 18px 0;
}
.deposit-chip {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 12px 14px;
  border-radius: 8px;
  background: #15161b;
  border: 1px solid #282a30;
  color: var(--color-text);
  cursor: pointer;
  transition: border-color .2s, background .2s;
  text-align: left;
}
.deposit-chip:hover {
  border-color: var(--color-accent);
  background: #1a1c24;
}
.deposit-chip strong {
  font: 600 14px var(--mono);
  color: var(--color-accent);
  margin-bottom: 3px;
}
.deposit-chip small {
  font-size: 9px;
  color: var(--color-muted);
}
.deposit-input-row {
  display: flex;
  gap: 10px;
  margin-top: 16px;
}
.deposit-input-row input {
  flex: 1;
  background: #0c0d0f;
  border: 1px solid #2e3036;
  border-radius: 6px;
  padding: 11px 14px;
  color: var(--color-text);
  font: 14px var(--mono);
  outline: none;
}
.deposit-input-row input:focus {
  border-color: var(--color-accent);
}
.deposit-input-row .launch-btn {
  padding: 11px 22px;
}

/* Responsive & Reduced Motion */
@media (max-width: 1200px) {
  .profile-main-strip {
    grid-template-columns: 220px 200px 1fr;
  }
  .profile-metrics-grid {
    grid-template-columns: 220px 1fr 200px;
  }
  .profile-inventory-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 1024px) {
  .profile-hero-card {
    padding: 24px 24px 20px;
  }
  .hero-boss-img {
    max-width: 50%;
    opacity: 0.75;
  }
  .profile-main-strip {
    grid-template-columns: 1fr 1fr;
  }
  .profile-ranks-row {
    grid-column: 1 / -1;
  }
  .profile-metrics-grid {
    grid-template-columns: 1fr 1fr;
  }
  .profile-mini-stats {
    grid-column: 1 / -1;
    flex-direction: row;
  }
  .profile-inventory-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .profile-hero-card {
    padding: 20px 16px 16px;
  }
  .hero-boss-img {
    opacity: 0.35;
    max-width: 75%;
  }
  .hero-slogan {
    position: static;
    align-items: flex-start;
    margin-bottom: 12px;
  }
  .profile-main-strip {
    grid-template-columns: 1fr;
  }
  .profile-ranks-row {
    overflow-x: auto;
    grid-template-columns: repeat(10, 68px);
    padding-bottom: 8px;
  }
  .profile-metrics-grid {
    grid-template-columns: 1fr;
  }
  .profile-mini-stats {
    flex-direction: column;
  }
  .profile-extras {
    grid-template-columns: 1fr;
  }
  .profile-inventory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .deposit-presets {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .hero-boss-img {
    display: none;
  }
  .hero-watermark {
    font-size: 64px;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
  }
  .deposit-presets {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rank-slot,
  .rank-slot-thumb,
  .profile-inventory-card,
  .card-img-wrap img,
  .best-drop-img,
  .rank-progress__fill,
  .profile-tab,
  .profile-deposit-btn {
    transition: none !important;
    transform: none !important;
    animation: none !important;
  }
}


/* Skuf Club: compact profile, shared surfaces and the player's own rank art. */
:root{--lime:#bee779;--color-accent:#bee779}
.wordmark b{font-weight:700;color:var(--lime)}
.wordmark sup{font-size:15px;color:var(--lime);vertical-align:top;margin-left:3px}
.brand-symbol{border:1px solid var(--lime);border-radius:50%;width:40px;height:40px}
.brand-symbol svg{fill:currentColor;stroke:none;width:23px;height:23px}
.header{gap:36px;height:78px}.header nav{gap:24px}.header-right{gap:14px}
button.header-avatar{width:38px;height:38px;padding:0;overflow:hidden;position:relative;border:1px solid #394030;border-radius:50%;background:#192014}
button.header-avatar img{width:100%;height:100%;object-fit:cover}
button.header-avatar[data-mascot=true] img{position:absolute;width:270%;height:270%;max-width:none;left:-85%;top:-17%;object-fit:contain}
body[data-view=profile] .activity-strip{display:none}
#profile-view{padding-top:12px}
.profile-hero-card{height:166px;margin:0 0 14px;padding:28px 8px;background:#0b0e0d;border:0;border-radius:10px;box-shadow:none;isolation:isolate}
.profile-garage{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:75% 63%;opacity:.65;mask-image:linear-gradient(90deg,transparent 20%,#000 70%)}
.hero-backdrop:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#090b0c,transparent 38%)}
.hero-character{position:absolute;right:14%;top:7px;width:270px;height:390px;object-fit:contain;object-position:center top;filter:drop-shadow(0 5px 24px #0009);z-index:2}
.hero-watermark{left:43%;top:32px;font-size:64px;line-height:.95;letter-spacing:-5px;font-style:italic;transform:rotate(-9deg);max-width:190px;opacity:.7;color:#e4eed00d}
.hero-slogan{right:22px;top:52px;transform:rotate(-5deg);text-align:left;align-items:flex-start;gap:4px}
.hero-slogan span{font-size:9px;color:#bccb9a;letter-spacing:1px}.hero-slogan strong{font-size:11px;color:#c7d5af}
.profile-header-meta{margin:0;max-width:48%;padding:4px 0}
.profile-header-meta .eyebrow{font-size:9px;letter-spacing:1.4px;margin:0 0 16px}
.profile-header-meta h1{font-size:42px;letter-spacing:-1.8px;font-weight:750;margin-bottom:10px}
.profile-header-meta h1 span{color:var(--lime)}
.profile-header-meta p{font-size:11px;color:#919991}
.profile-main-strip{grid-template-columns:minmax(230px,1.05fr) minmax(215px,.95fr) minmax(0,2.65fr);gap:0;padding:12px 8px;min-height:140px;background:linear-gradient(115deg,#111512,#0c0f0e);border:1px solid var(--color-border);border-radius:12px}
.profile-user-box,.profile-progress-box,.profile-ranks-row{background:transparent;backdrop-filter:none;border:0;border-radius:0;box-shadow:none;padding:10px 16px}
.profile-user-box{gap:14px;border-right:1px solid var(--color-border)}
.profile-avatar-wrap{width:78px;height:78px;border-color:#b7dc7c;box-shadow:0 0 20px #b9dd7c0b}
.profile-avatar-wrap[data-mascot=true] img{position:absolute;width:270%;height:270%;max-width:none;left:-85%;top:-18%;object-fit:contain}
.profile-user-meta h2{font-size:17px;margin-bottom:7px}
.profile-id-row{flex-wrap:wrap;font-family:var(--font);gap:7px;font-size:10px}
.profile-id-row>span{max-width:100%;overflow:hidden;text-overflow:ellipsis;flex-basis:100%}
.profile-logout-btn{margin-left:0;padding:5px 7px;font-family:var(--font)}
.profile-progress-box{margin:0 5px 0 0;justify-content:center;min-width:0}
.profile-progress-header small{font-family:var(--font);font-size:10px;letter-spacing:0;font-weight:500;margin-bottom:9px}
.level-big{font-family:var(--font);font-size:31px}.level-total{font-family:var(--font);font-size:12px}.level-name{font-family:var(--font);font-weight:500;font-size:10px;color:#9ba398}
.rank-progress-bar{height:7px;margin:11px 0 7px;background:#252a26}
.profile-progress-footer,.profile-progress-footer .currency-val{font-family:var(--font);font-weight:500;font-size:10px;color:#899286}
.profile-ranks-row{padding:18px 12px;gap:7px;align-items:center}
.rank-slot{min-width:0;height:76px;min-height:76px;padding:0 0 12px;background:linear-gradient(145deg,#1a1f1b88,#0b0d0c);border-color:#252a25;cursor:pointer;border-radius:9px}
.rank-slot-thumb{width:100%;max-width:100%;height:66px;max-height:66px;object-fit:contain;object-position:center;filter:drop-shadow(0 2px 5px #0006)}
.rank-slot--locked .rank-slot-thumb{opacity:.38;filter:saturate(.5)}
.rank-slot--current{outline:0;background:radial-gradient(ellipse at center,#465b292b,#10150e);box-shadow:0 0 0 1px #b9dd7c24,0 0 18px #b9dd7c0c}
.rank-slot-num{bottom:-9px;background:#171c17;border:1px solid #2c3429;border-radius:5px;padding:3px 6px;font:11px var(--font);color:#c5ccbd;z-index:2}
.rank-slot--current .rank-slot-num{border-color:var(--lime);color:var(--lime);background:#17200e}
.rank-lock{position:absolute;right:3px;top:4px;width:10px;height:10px;color:#939c8b}
.rank-slot--locked .rank-locked-glyph{color:#626a60;font-size:29px;margin-top:3px;font-weight:500}
.profile-layout{margin-top:14px;gap:12px}
.profile-metrics-grid{grid-template-columns:230px minmax(0,1fr) 190px;gap:12px}
.profile-metric-box,.best-drop-card,.profile-extra-card,.profile-tabs{background:linear-gradient(125deg,#111512,#0d100f);box-shadow:none;border-color:var(--color-border);border-radius:11px}
.profile-balance-box,.best-drop-card,.profile-mini-stats{min-height:160px}
.profile-metric-box{padding:16px;gap:12px}.profile-metric-box small{font:10px var(--font);letter-spacing:0;color:#949d91}.profile-metric-box strong{font:700 21px var(--font);letter-spacing:-.7px}
.metric-icon,.profile-extra-icon{background:#b9dd7c09;border-radius:8px;color:var(--lime)}
.profile-deposit-btn{height:42px;border-radius:7px;font-size:12px;box-shadow:0 0 20px #b9dd7c0b}
.best-drop-card{background:radial-gradient(ellipse at 75% 60%,#738b3f0b,transparent 55%),#101311;padding:17px 20px}
.best-drop-title{font:12px var(--font);color:#a0aa99}
.best-drop-info{max-width:48%;min-width:0}.best-drop-weapon{font:10px var(--font);letter-spacing:0}.best-drop-name{font-size:15px;line-height:1.4}.best-drop-wear{font:10px var(--font);margin-bottom:5px}
.best-drop-price-wrap strong{font:700 21px var(--font);color:var(--lime)}
.best-drop-visual{right:0;top:-20px;width:62%}.best-drop-img{width:100%;max-width:100%;height:130px;object-fit:contain}
.profile-mini-stats{gap:10px}.profile-mini-stats .profile-metric-box{padding:10px 16px}
.profile-extras{gap:12px}.profile-extra-card{padding:14px 16px;min-height:74px;gap:12px}.profile-extra-text{min-width:0}.profile-extra-text strong{font-size:12px}.profile-extra-text small{font-size:10px;line-height:1.6;color:#8c9588}
.profile-extra-card .outline-btn{font-size:10px;padding:9px 13px;white-space:nowrap}
.profile-coupon-field{gap:8px;min-width:0}.profile-coupon-field input{width:125px;min-width:0;font-family:var(--font)}.profile-coupon-field input:disabled{color:#727b6d;opacity:.6}
.profile-tab-bar{padding:0 16px;gap:14px;flex-wrap:wrap}
.profile-tab{padding:16px 12px;font:600 11px var(--font);white-space:nowrap;gap:8px}.profile-tab.active{color:var(--lime)}.profile-tab.active:after{left:8px;right:8px;height:2px}
.profile-tab-tools{gap:8px;margin-left:auto}.profile-tab-tools select{font:10px var(--font);padding:8px;background:#0c100d;color:#b6beb1;max-width:170px}
.profile-inventory-search{display:flex;align-items:center;gap:7px;border:1px solid #ffffff13;border-radius:6px;padding:7px 9px;width:140px;background:#0c100d}
.profile-inventory-search svg{width:12px;height:12px;color:#77826e}.profile-inventory-search input{width:100%;min-width:0;background:none;border:0;outline:none;color:var(--text);font-size:10px}
.profile-inventory-search:focus-within{border-color:var(--lime)}
.profile-tab-content{padding:16px;min-height:210px}.profile-inventory-grid{gap:12px;grid-template-columns:repeat(5,minmax(0,1fr))}
.profile-inventory-card{min-height:165px;padding:12px 13px;background:radial-gradient(ellipse at 50% 50%,#ffffff03,transparent),#121614;text-align:left;border-radius:8px;overflow:hidden}
.card-price-tag{font:700 12px var(--font);gap:0}.card-wear-tag{font:10px var(--font);background:none;padding:0;color:#848d7e}
.card-img-wrap{min-height:79px;padding:5px 0}.card-img-wrap img{max-height:78px}
.card-weapon-label{font:10px var(--font);text-transform:none;color:#91998a;letter-spacing:0;margin:0 0 4px}.card-name-label{font-size:12px;font-weight:500}
.inventory-action{position:absolute;right:10px;bottom:12px;opacity:0;transform:translateY(5px);font-size:9px;color:var(--lime);background:#111810e8;padding:5px 6px;border-radius:4px;transition:opacity .18s,transform .18s}
.profile-inventory-card:is(:hover,:focus-visible) .inventory-action{opacity:1;transform:translateY(0)}
.profile-inventory-card:focus-visible{outline:2px solid var(--lime);outline-offset:-4px}
.profile-history-item{background:#141914;border-color:#ffffff0a}.profile-history-item .won{color:var(--lime)}.profile-history-item .lost{color:#d5a293}
.rank-detail-art{height:250px;width:100%;object-fit:contain;margin:0 auto;display:block;filter:drop-shadow(0 10px 25px #0007)}
.deposit-presets{grid-template-columns:repeat(2,1fr)}.deposit-input-row input{min-width:0;width:100px}.deposit-input-row .launch-btn{width:auto;height:auto;white-space:nowrap;font-size:12px}
@media(min-width:1450px){.profile-main-strip{grid-template-columns:300px 275px minmax(0,1fr);min-height:150px}.profile-avatar-wrap{width:94px;height:94px}.profile-user-meta h2{font-size:20px}.profile-ranks-row{gap:12px;padding:18px 22px}.rank-slot{height:83px}.rank-slot-thumb{height:76px;max-height:76px}.profile-metrics-grid{grid-template-columns:265px minmax(0,1fr) 235px}.profile-balance-box,.best-drop-card,.profile-mini-stats{min-height:170px}.best-drop-img{height:145px}.profile-hero-card{height:170px}.hero-character{right:13%;width:290px}.profile-extra-card{min-height:78px}.profile-inventory-card{min-height:175px}.card-img-wrap img{max-height:90px}.card-img-wrap{min-height:95px}}
@media(max-width:1200px){.header{gap:23px}.header nav{gap:17px}.header-right{gap:10px}.header-deposit-btn{display:none}.profile-main-strip{grid-template-columns:220px 210px minmax(0,1fr)}.profile-user-box,.profile-progress-box{padding:10px 12px}.profile-avatar-wrap{width:63px;height:63px}.profile-user-meta h2{font-size:15px}.profile-ranks-row{gap:5px;padding:18px 10px}.profile-metrics-grid{grid-template-columns:215px minmax(0,1fr) 165px}.profile-tab-bar{padding-bottom:10px}.profile-tab-tools{margin-left:0}.profile-extra-card{flex-wrap:wrap}.profile-coupon-field{flex:1;justify-content:flex-end}.hero-character{right:12%}.hero-slogan{right:6px}}
@media(max-width:1050px){.profile-main-strip{grid-template-columns:1fr 1fr}.profile-ranks-row{grid-column:1/-1;padding:12px 16px 18px;gap:12px}.rank-slot{height:83px}.rank-slot-thumb{height:76px;max-height:76px}.profile-user-box,.profile-progress-box{padding:12px 20px}.profile-avatar-wrap{width:74px;height:74px}.profile-user-meta h2{font-size:18px}.profile-metrics-grid{grid-template-columns:210px minmax(0,1fr) 165px}.profile-mini-stats{grid-column:auto;flex-direction:column}.profile-inventory-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hero-character{right:3%}.hero-slogan{display:none}.hero-watermark{left:51%}.profile-extra-card{padding:14px}.profile-extra-icon{width:32px;height:32px}.profile-extra-text strong{font-size:11px}.profile-extra-card .outline-btn{padding:8px 10px}}
@media(max-width:800px){.profile-header-meta{max-width:65%}.profile-header-meta h1{font-size:36px}.hero-character{right:-5%;opacity:.85}.profile-metrics-grid{grid-template-columns:1fr 1fr}.profile-mini-stats{grid-column:1/-1;flex-direction:row;min-height:75px}.profile-mini-stats .profile-metric-box{min-width:0}.profile-extras{grid-template-columns:1fr}.profile-inventory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-tab-bar{gap:0}.profile-tab-tools{width:100%;padding:0 0 2px}.profile-inventory-search{flex:1}.profile-tab{font-size:10px;padding:16px 10px}.profile-coupon-field{flex:0;margin-left:auto}.hero-watermark{display:none}}
@media(max-width:650px){.header{height:68px;padding:0 14px;gap:10px}.header-right{gap:9px}.wordmark{font-size:23px}.header .language,.header .demo-tag{display:none}button.header-avatar{display:none}.brand-symbol{width:31px;height:31px}.brand-symbol svg{width:19px;height:19px}main{padding:0 14px}#profile-view{padding-top:0}.profile-hero-card{height:151px;padding:26px 0;margin-bottom:9px;border-radius:0}.profile-header-meta{max-width:68%}.profile-header-meta h1{font-size:29px;letter-spacing:-1.2px}.profile-header-meta .eyebrow{font-size:7px;margin-bottom:13px}.profile-header-meta p{font-size:9px;max-width:155px}.hero-character{height:310px;width:190px;right:-14%;top:16px;opacity:.65}.profile-garage{opacity:.4}.profile-main-strip{padding:6px;gap:0}.profile-user-box{padding:12px 8px;gap:9px}.profile-avatar-wrap{width:49px;height:49px}.profile-user-meta h2{font-size:12px}.profile-id-row{font-size:8px;gap:5px}.profile-copy{height:20px;width:20px}.profile-logout-btn{font-size:8px;padding:4px}.profile-progress-box{padding:10px 8px;margin:0}.profile-progress-header small{font-size:8px;margin-bottom:7px}.level-big{font-size:26px}.level-total{font-size:9px}.level-name{font-size:8px;max-width:55px;white-space:normal;margin-left:auto}.profile-level-line{gap:3px}.profile-progress-footer,.profile-progress-footer .currency-val{font-size:8px}.profile-progress-footer .currency-icon{width:11px;height:11px;margin-left:1px}.rank-progress-bar{margin:8px 0 6px;height:6px}.profile-ranks-row{grid-template-columns:repeat(10,53px);overflow-x:auto;gap:8px;padding:9px 7px 18px;min-height:100px;scrollbar-width:thin;scrollbar-color:#3e4a33 transparent}.rank-slot{height:70px;min-height:70px}.rank-slot-thumb{height:62px;max-height:62px}.rank-slot-num{font-size:9px;padding:2px 5px;bottom:-7px}.profile-layout{margin-top:10px;gap:10px}.profile-metrics-grid{gap:9px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.profile-balance-box,.best-drop-card{min-height:151px}.profile-metric-box{padding:12px;gap:7px}.metric-box-header{gap:8px}.metric-icon{width:28px;height:30px}.metric-icon svg{width:15px;height:15px}.profile-metric-box small{font-size:8px}.profile-metric-box strong{font-size:17px}.profile-deposit-btn{font-size:9px;height:36px;gap:5px}.profile-deposit-btn svg{width:13px;height:13px}.best-drop-card{padding:12px}.best-drop-title{font-size:9px}.best-drop-body{align-items:flex-end}.best-drop-info{max-width:100%}.best-drop-name{font-size:12px;max-width:110px}.best-drop-weapon,.best-drop-wear{font-size:8px}.best-drop-price-wrap strong{font-size:16px}.best-drop-visual{opacity:.24;width:100%;top:-10px;right:-20px;align-items:flex-start}.best-drop-img{height:85px}.profile-mini-stats{min-height:69px;gap:9px}.profile-mini-stats .profile-metric-box{flex:1;padding:10px}.profile-extras{gap:9px}.profile-extra-card{padding:12px;gap:10px}.profile-extra-text small{font-size:8px}.profile-extra-icon{width:30px;height:30px}.profile-extra-card .outline-btn{font-size:9px;padding:8px}.profile-coupon-field{max-width:100%;flex:1;justify-content:flex-end}.profile-coupon-field input{width:75px;font-size:10px;padding:8px}.profile-extra-text strong{font-size:11px}.profile-tab-bar{padding:0 10px 10px}.profile-tab-buttons{width:100%;overflow-x:auto}.profile-tab{font-size:9px;gap:6px;padding:14px 8px}.profile-tab .tab-icon{width:12px;height:12px}.profile-tab-tools{gap:6px}.profile-tab-tools select{font-size:8px;max-width:130px;padding:8px 5px}.profile-inventory-search{width:90px;padding:7px}.profile-inventory-search input{font-size:9px}.profile-tab-content{padding:10px}.profile-inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.profile-inventory-card{min-height:147px;padding:10px}.card-price-tag{font-size:10px}.card-wear-tag{font-size:8px}.card-price-tag .currency-icon{width:11px;height:11px;margin-left:3px}.card-img-wrap{min-height:68px}.card-img-wrap img{max-height:63px}.card-weapon-label{font-size:9px}.card-name-label{font-size:10px}.inventory-action{font-size:8px}.profile-history-item{padding:10px 8px;gap:8px}.profile-history-item .history-name strong{font-size:10px}.profile-history-item .history-name small{font-size:8px}.profile-history-item>span{font-size:9px}.profile-history-item img{width:34px}.deposit-input-row{flex-wrap:wrap}.deposit-input-row .launch-btn{padding:12px;width:100%}.deposit-presets{gap:8px}.deposit-chip{padding:12px}.rank-detail-art{height:220px}}
@media(prefers-reduced-motion:reduce){.inventory-action{transition:none;transform:none}}
.rank-lock svg{width:10px;height:10px;display:block;opacity:.65}
.rank-preview{height:250px;display:grid;place-items:center;background:radial-gradient(ellipse at center,#b9dd7c0a,transparent 65%)}
.rank-preview img{width:100%;height:250px;object-fit:contain;filter:drop-shadow(0 10px 25px #0007)}
.header-deposit-btn{display:inline-flex;align-items:center;gap:7px;background:var(--lime);border:1px solid #d3f5a3;border-radius:6px;padding:11px 13px;font-size:10px;font-weight:700;white-space:nowrap}
.header-deposit-btn:hover{background:#d1f39f}.header-deposit-btn svg{width:15px;height:15px}
.best-drop-img{height:230px;max-height:none}
@media(max-width:1200px){.header-deposit-btn{display:none}}
@media(max-width:650px){.best-drop-img{height:140px}.rank-preview,.rank-preview img{height:220px}}
.brand-symbol svg{width:29px;height:29px}
.profile-header-meta h1 span{margin-left:5px}
/* Keep mascot feedback inside the wheel, including its victory animation. */
.skuf-mascot,.skuf-mascot.skuf-won{inset:8%;overflow:hidden;place-items:center;opacity:.75}
.skuf-mascot img{width:100%;height:100%;max-height:100%;margin:0;object-fit:contain}
.lab:is([data-wheel=won],[data-wheel=lost]) .skuf-mascot{inset:8%;overflow:hidden;opacity:.35}
.lab:is([data-wheel=won],[data-wheel=lost]) .skuf-mascot img{width:100%;height:100%;max-height:100%;margin:0}
.wheel-outcome{border-radius:50%;background:radial-gradient(ellipse,#0d140bed 38%,#0b110ec9 65%,transparent 77%);gap:6px}
.lab[data-wheel=lost] .wheel-outcome{background:radial-gradient(ellipse,#17110eed 38%,#13100ec9 65%,transparent 77%)}
.best-drop-card[data-kind=Knives] .best-drop-img,.best-drop-card[data-kind=Gloves] .best-drop-img{height:145px;max-height:100%;object-fit:contain}
@media(max-width:650px){.best-drop-card[data-kind=Knives] .best-drop-img,.best-drop-card[data-kind=Gloves] .best-drop-img{height:90px}}
/* SkufDrop polish: one type family, restrained motion, explicit item actions. */
:root{--font:'Manrope',system-ui,sans-serif;--mono:var(--font);--display:var(--font);--skuf-ease:cubic-bezier(.22,1,.36,1)}
html{scroll-behavior:smooth;scrollbar-color:#3b4432 #0b0d0c;scrollbar-width:thin;scroll-padding-top:24px}
body{font-family:var(--font);font-optical-sizing:auto}
input,select,button,textarea{font-family:var(--font)}
.wordmark{font-family:var(--font);font-weight:800;letter-spacing:-1.3px}.wordmark b{font-weight:800}
.header nav{gap:25px}.nav-link{font-size:11px}.header{gap:32px}.header-right{gap:13px}.steam-btn{font-size:11px;font-weight:650}
.balance strong,.card-price-tag,.stage-value strong,.best-drop-price-wrap strong,.profile-metric-box strong{font-variant-numeric:tabular-nums}
.steam-avatar-wrap{width:25px;height:25px;position:relative;overflow:hidden;border-radius:50%;background:#172013;display:block;flex-shrink:0}
.steam-avatar-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.steam-avatar-wrap[data-mascot=true] img{position:absolute;max-width:none;width:270%;height:270%;left:-85%;top:-17%;object-fit:contain}
.profile-avatar-wrap img,button.header-avatar img{transition:opacity .2s ease}
button:not(:disabled):active{transform:translateY(1px) scale(.985);transition-duration:80ms}
#profile-view:not([hidden]),#upgrade-view:not([hidden]),#market-view:not([hidden]),#history-view:not([hidden]){animation:page-arrive .28s var(--skuf-ease) both}
@keyframes page-arrive{from{opacity:.55;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes dialog-arrive{from{opacity:.35;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
dialog[open]{animation:dialog-arrive .22s var(--skuf-ease);border-color:#434b3a}
dialog::backdrop{animation:backdrop-arrive .18s ease-out}
@keyframes backdrop-arrive{from{opacity:0}to{opacity:1}}
.profile-hero-card{height:185px;padding:32px 8px}
.profile-header-meta{max-width:45%}.profile-header-meta p{font-size:12px}.profile-header-meta .eyebrow{color:#8c9883}
.hero-garage{opacity:.7}.hero-watermark{top:38px;left:46%;font:900 italic 78px/.77 var(--font);letter-spacing:-7px;color:#d9e8bc12;max-width:240px;transform:rotate(-12deg)}
.hero-character{width:340px;height:440px;right:14%;top:-4px}
.hero-slogan{top:67px;right:26px;gap:6px;transform:rotate(-6deg)}.hero-slogan span{font-size:10px;letter-spacing:1px;color:#a6b68c}.hero-slogan strong{font-size:18px;font-weight:800;letter-spacing:-.3px;color:#cce79e;font-style:italic}
.hero-slogan:after{content:'';width:43px;height:2px;background:var(--lime);opacity:.65;margin-top:5px}
.profile-main-strip{transition:border-color .2s}.profile-user-meta h2{font-weight:700;line-height:1.4}
.rank-slot{transition:transform .22s var(--skuf-ease),border-color .22s,background .22s,box-shadow .22s}
.rank-slot:is(:hover,:focus-visible){transform:translateY(-3px);box-shadow:0 6px 18px #0004}
.rank-slot--current{box-shadow:0 0 0 1px #b9dd7c24,0 0 18px #b9dd7c0c}
.profile-ranks-row{scroll-snap-type:x proximity;overscroll-behavior-x:contain}.rank-slot{scroll-snap-align:start}
.best-drop-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;color:#c9e28a;opacity:.12;mask-image:linear-gradient(90deg,transparent 20%,#000 70%)}
.best-drop-atmosphere>svg{position:absolute;width:100%;height:100%;stroke-width:.65;stroke:currentColor;fill:none}
.best-drop-atmosphere i{position:absolute;left:var(--x);top:var(--y);width:3px;height:3px;border-radius:50%;background:currentColor;box-shadow:0 0 8px 2px #c9e28a55;animation:drop-spark 7s ease-in-out infinite;animation-delay:var(--t)}
@keyframes drop-spark{0%,100%{transform:translateY(4px);opacity:.25}50%{transform:translateY(-8px);opacity:1}}
.best-drop-card{isolation:isolate;border-color:#b9dd7c20}.best-drop-card:after{content:'';position:absolute;inset:auto 12% 0 30%;height:1px;background:linear-gradient(90deg,transparent,#cce49340,transparent);pointer-events:none}
.best-drop-info,.best-drop-header,.best-drop-visual{position:relative;z-index:2}.best-drop-visual{position:absolute}.best-drop-info{max-width:50%}
.best-drop-img{transition:transform .4s var(--skuf-ease);transform:rotate(-2deg)}.best-drop-card:hover .best-drop-img{transform:rotate(0) scale(1.025)}
.profile-tab-content{transition:min-height .2s ease}.profile-tabs{min-height:260px}
.profile-inventory-card{padding:0;min-height:209px;cursor:default;transition:transform .22s var(--skuf-ease),border-color .22s,box-shadow .22s}
.profile-inventory-card:hover{box-shadow:0 8px 20px #0003}
.profile-item-main{display:block;width:100%;padding:13px;text-align:left;position:relative;flex:1;border-radius:8px 8px 0 0;min-height:158px}
.profile-item-main:focus-visible{outline-offset:-4px}.profile-item-main .card-img-wrap{min-height:85px}
.inventory-action{bottom:12px;right:10px;font-weight:600}
.inventory-item-actions{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid #ffffff0b;padding:0 8px}
.inventory-item-actions button{min-height:35px;font-size:10px;color:#98a58d;white-space:nowrap;transition:color .18s,background .18s}
.inventory-item-actions button:first-child{color:#c6e79e}.inventory-item-actions button+button{border-left:1px solid #ffffff0b}
.inventory-item-actions button:hover{background:#b9dd7c08;color:var(--lime)}
.profile-item-main .card-weapon-label{font-size:10px}.card-name-label{font-weight:600}.profile-item-main .card-price-tag{font-weight:700}
.empty-state .outline-btn{display:block;margin:16px auto 0;font-size:11px}












.target-price-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:0 17px 9px}.target-price-inputs{display:flex;align-items:center;gap:9px;min-width:0;flex:1}.target-price-inputs>label{display:flex;align-items:center;gap:8px;min-width:0;flex:1;color:#94a487;font-size:9px;white-space:nowrap;border:1px solid #2d3528;border-radius:5px;background:#0c100d;padding:8px 10px}.target-price-inputs input{width:100%;min-width:0;background:none;border:0;outline:none;color:#dce6d2;font-size:11px;font-variant-numeric:tabular-nums}.target-price-inputs input::-webkit-inner-spin-button{display:none}.target-price-inputs>span{color:#637158;font-size:10px}.target-price-inputs>label:focus-within{border-color:#8fa867}.target-price-inputs label:has(input[aria-invalid=true]){border-color:#9e6d5c}
.target-filter-note{margin:0;padding:2px 17px 15px;min-height:30px;color:#8a9a7d;font-size:9px;line-height:1.5}.target-filter-note.filter-error{color:#d5a293}.target-price-toolbar .text-btn{font-size:9px;white-space:nowrap;color:#9ca98f}
.multipliers button{transition:background .18s,border-color .18s,transform .18s;min-height:32px}.multipliers button.active{background:#b9dd7c14;border-color:#98b768;color:#d5edb3}.multipliers button:active{transform:scale(.94)}
@media(min-width:1450px){.profile-hero-card{height:185px}.hero-watermark{font-size:94px;left:48%;top:23px}.hero-character{width:375px;right:14%;height:470px;top:-8px}.hero-slogan{right:36px}.profile-inventory-card{min-height:222px}.profile-item-main{padding:15px;min-height:180px}}
@media(max-width:1200px){.header{gap:22px}.header nav{gap:16px}.header-right{gap:10px}.hero-character{right:12%}.hero-slogan{right:8px}.hero-slogan strong{font-size:15px}.hero-watermark{left:43%}.target-price-toolbar{padding-left:12px;padding-right:12px}.target-price-inputs>label{gap:5px;padding:8px}.target-filter-note{padding-left:12px;padding-right:12px}}
@media(max-width:1050px){.hero-character{right:0;width:325px}.hero-watermark{left:48%;font-size:70px}.profile-header-meta{max-width:56%}.profile-hero-card{height:177px}.hero-slogan{display:none}.profile-item-main{padding:12px}.profile-inventory-card{min-height:205px}}
@media(max-width:800px){.profile-header-meta{max-width:67%}.hero-character{right:-7%;opacity:.8}}
@media(max-width:650px){.header{gap:9px}.header-right{gap:9px}.wordmark{font-size:22px}.steam-btn>.steam-avatar-wrap{display:block;width:22px;height:22px}.steam-btn:has(.steam-avatar-wrap){padding:6px}.profile-hero-card{height:161px;padding:28px 0}.profile-header-meta{max-width:71%}.profile-header-meta h1{font-size:28px}.profile-header-meta p{font-size:10px;max-width:178px}.hero-character{width:225px;height:340px;right:-20%;top:12px;opacity:.55}.hero-watermark{display:none}.profile-item-main{padding:10px;min-height:150px}.profile-inventory-card{min-height:185px}.profile-item-main .card-price-tag{font-size:10px}.profile-item-main .card-img-wrap{min-height:74px}.inventory-item-actions{padding:0 4px}.inventory-item-actions button{font-size:9px;min-height:33px}.profile-item-main .card-weapon-label{font-size:9px}.profile-item-main .card-name-label{font-size:10px}.inventory-action{font-size:8px;bottom:9px}.target-price-toolbar{padding:0 12px 9px;flex-wrap:wrap;gap:7px}.target-price-inputs{flex-basis:100%}.target-price-toolbar .text-btn{margin-left:auto}.target-filter-note{font-size:8px;padding-bottom:12px;min-height:25px}.target-price-inputs>label{font-size:9px;padding:8px}.target-price-inputs input{font-size:11px}.profile-tabs{min-height:240px}.profile-tab-content .empty-state{padding:30px 10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.best-drop-atmosphere i{animation:none}dialog[open],dialog::backdrop,#profile-view,#upgrade-view,#market-view,#history-view{animation:none!important}.rank-slot,.profile-inventory-card,.best-drop-img{transition:none;transform:none!important}}
/* Navigation now lives entirely in the header. */
.shell{margin-left:0}.header{position:sticky;top:0;z-index:30;max-width:1800px;margin:0 auto;height:78px;padding:0 38px;background:#0b0d0cf2;backdrop-filter:blur(16px);border-bottom:1px solid #ffffff0b}
main{width:100%}.header nav{display:flex}.header-right{gap:14px}.header .wordmark{flex-shrink:0}.header .nav-link{white-space:nowrap}
.price-value{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-variant-numeric:tabular-nums}
.price-value .currency-icon{margin:0;vertical-align:0;flex-shrink:0}.card-top>.price-value{font-size:11px;color:#cbd7bf}.card-top{gap:6px}.card-top>.price-value .currency-icon{width:12px;height:12px}
.currency-val{white-space:nowrap;gap:4px}.currency-val .currency-icon{margin-left:0}
.lab,.selection-panel{scroll-margin-top:100px}.profile-tabs{scroll-margin-top:100px}
@media(max-width:1150px){.header{padding:0 25px;gap:24px}.header nav{gap:20px}.header-right{gap:10px}.header .language{display:none}}
@media(max-width:900px){.header{height:auto;min-height:76px;flex-wrap:wrap;gap:0 16px;padding:14px 24px 0}.header nav{display:flex;order:3;flex-basis:100%;height:47px;gap:25px;margin-top:9px}.header .nav-link{font-size:11px}.header .header-right{gap:12px}.header .header-avatar{display:block}.header .wordmark{font-size:25px}.header .balance small{font-size:9px}.header .balance strong{font-size:14px}.lab,.selection-panel,.profile-tabs{scroll-margin-top:145px}}
@media(max-width:650px){.header{padding:13px 16px 0;min-height:72px;gap:0 10px}.header nav{height:43px;gap:0;justify-content:space-between;margin-top:10px}.header .nav-link{flex:1;font-size:10px;text-align:center;padding:0 5px}.header .wordmark{font-size:23px}.header .header-right{gap:10px}.header .header-avatar{display:none}.header .balance small{font-size:8px}.header .balance strong{font-size:12px}.header .steam-btn{padding:8px}.header .steam-btn:has(.steam-avatar-wrap){padding:6px}.header .steam-btn>.steam-avatar-wrap{display:block}.header .nav-link.active:after{left:5px;right:5px}.card-top>.price-value{font-size:10px}.price-value{gap:4px}main{padding:0 16px}.profile-header-meta h1{font-size:31px}.hero-character{right:-7%;opacity:.65}.profile-header-meta p{max-width:195px}.profile-main-strip{grid-template-columns:1fr 1fr}.profile-user-meta h2{font-size:14px}.profile-avatar-wrap{width:56px;height:56px}.profile-inventory-card{min-height:190px}}
@media(prefers-reduced-transparency:reduce){.header{background:#0b0d0c;backdrop-filter:none}}
/* Quick percentage presets and persistent upgrade settings. */
.multipliers{min-width:215px}.multipliers>div{justify-content:flex-end}.multipliers .quick-chances{margin-top:7px;gap:5px}.multipliers .quick-chances button{width:43px;font-size:10px}.multipliers .quick-chances .quick-settings{width:33px;color:#b9c7aa;background:#161c13}.quick-settings svg{width:16px;height:16px}
.settings-modal{max-width:620px;padding:30px 34px;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.settings-modal h2{font-size:28px;margin-bottom:24px}.settings-title-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.settings-title-row h3{font-size:13px;margin:0}.settings-title-row button{font-size:10px;color:var(--lime)}
.settings-preset-box{background:#b9dd7c04;border:1px solid #ffffff0a;border-radius:9px;padding:13px;margin-bottom:10px}.settings-preset-box>div:first-child{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.settings-preset-box strong{font-size:11px;font-weight:600;color:#aebca1}.settings-preset-box .text-btn{font-size:10px;color:#93a780}.settings-values{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.settings-values.chances{grid-template-columns:repeat(3,minmax(0,1fr));max-width:300px}.settings-values label{display:flex;gap:4px;align-items:center;border:1px solid #35402d;border-radius:6px;background:#0e130b;padding:9px 7px;color:#94a680;font-size:11px;min-width:0}.settings-values input{width:100%;min-width:0;background:none;outline:none;border:0;color:#dce9ce;font-size:13px;font-weight:650;font-variant-numeric:tabular-nums}.settings-values input::-webkit-inner-spin-button{display:none}.settings-values label:focus-within{border-color:var(--lime)}.settings-preset-box>small{display:block;margin-top:9px;color:#77876b;font-size:9px}
.settings-radio-group{margin:22px 0 0;padding:0;border:0}.settings-radio-group legend{font-size:13px;font-weight:700;padding:0}.settings-radio-group p{font-size:10px;line-height:1.6;color:#8d9c82;margin:7px 0 11px}.settings-radio-group>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.settings-radio-group label{display:flex;align-items:center;gap:9px;border:1px solid #ffffff12;border-radius:7px;padding:11px 12px;font-size:11px;color:#a4b298;cursor:pointer}.settings-radio-group label:has(input:checked){border-color:#819b60;background:#b9dd7c08;color:#dbeaca}.settings-radio-group input{accent-color:var(--lime);margin:0;width:14px;height:14px}
.settings-error{color:#d5a293;font-size:10px;line-height:1.6;margin:13px 0;min-height:0}.settings-error:empty{margin:16px 0}.settings-storage-note{font-size:9px;color:#7b8a71;text-align:center;margin:10px 0 0}.settings-modal .launch-btn{height:45px;font-size:12px}
@media(max-width:1150px){.multipliers{min-width:190px}.multipliers .quick-chances button{width:38px}.multipliers .quick-chances .quick-settings{width:30px}}
@media(max-width:900px){.multipliers{min-width:166px}.multipliers .quick-chances button{width:34px}.multipliers .quick-chances .quick-settings{width:28px}}
@media(max-width:650px){.multipliers{min-width:0;align-self:start}.multipliers>div{justify-content:stretch}.multipliers .quick-chances{gap:4px;margin-top:6px}.multipliers .quick-chances button{width:auto;flex:1;min-width:0;font-size:9px}.multipliers .quick-chances .quick-settings{width:26px;flex:0 0 26px}.multipliers .quick-settings svg{width:14px;height:14px}.lab-controls{align-items:start}.balance-control{padding-top:0}.settings-modal{padding:27px 19px;max-height:calc(100dvh - 24px)}.settings-modal h2{font-size:25px;margin-bottom:20px}.settings-preset-box{padding:11px}.settings-values{gap:5px}.settings-values label{padding:9px 5px;gap:2px}.settings-values input{font-size:12px}.settings-radio-group{margin-top:18px}.settings-radio-group label{font-size:11px;padding:10px 8px}.settings-title-row .text-btn{font-size:9px}}
/* Compact selection bars: one query field, one sort control, no filter-button wall. */
.target-compact-bar,.inventory-compact-bar{display:flex;align-items:center;flex-wrap:nowrap;padding:14px 16px 12px;gap:9px;min-width:0}
.target-compact-bar h2,.inventory-compact-bar h2{font-size:12px;white-space:nowrap;flex-shrink:0}.target-compact-bar h2>span{font-size:8px;padding:2px 4px;margin-left:4px}
.target-order{width:31px;height:35px;display:grid;place-items:center;background:#20251d;border:1px solid #ffffff09;border-radius:7px;flex-shrink:0;color:#78866c}.target-order svg{width:22px;height:22px;fill:currentColor;stroke:none}.target-order[data-order=asc] .sort-up,.target-order[data-order=desc] .sort-down{fill:#c4dcb0}
.compact-target-query{display:flex;align-items:stretch;gap:0;flex:1;min-width:0;height:35px;background:#171d14;border:1px solid #303a28;border-radius:7px;overflow:hidden}.target-name-query{display:flex;align-items:center;flex:1;min-width:0}.target-name-query input{width:100%;min-width:0;background:none;outline:none;border:0;color:#d9e4ce;padding:9px 10px;font-size:11px}.compact-target-query:focus-within{border-color:#839b66}
.target-search-mode{display:grid;place-items:center;width:35px;flex:0 0 35px;color:#b5c2a8;border-left:1px solid #ffffff09;background:#ffffff03}.target-search-mode svg{width:15px;height:15px}.target-search-mode:hover{background:#b9dd7c0b}
.target-price-query{display:flex;align-items:stretch;flex:1;min-width:0}.target-price-mode-label{display:flex;align-items:center;padding:0 10px;color:#8b9a7e;font-size:10px;border-right:1px solid #ffffff0b}.target-price-query>label{display:flex;align-items:center;gap:4px;min-width:0;flex:1;padding:0 7px}.target-price-query>label+label{border-left:1px solid #ffffff0b}.target-price-query .currency-icon{width:11px;height:11px;margin:0;color:var(--lime)}.target-price-query input{width:100%;min-width:0;background:none;border:0;outline:none;color:#d5e3c8;font-size:10px;font-variant-numeric:tabular-nums}.target-price-query input::-webkit-inner-spin-button{display:none}.target-price-query label:has(input[aria-invalid=true]){box-shadow:inset 0 -1px #c08b73}
.target-compact-meta{display:flex;align-items:center;gap:10px;padding:0 16px 11px;min-height:30px}.target-compact-meta select{font-size:9px;padding:5px 7px;border:1px solid #ffffff0b;color:#9eaf91;background:#141a11;max-width:110px;flex-shrink:0}.target-compact-meta .target-filter-note{padding:0;min-height:0;margin:0;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:8px;line-height:1.5}.target-clear{font-size:17px;width:25px;height:25px;display:grid;place-items:center;flex-shrink:0;color:#859777;border-radius:5px}.target-clear:hover{background:#b9dd7c0a}
.inventory-compact-bar h2{min-width:98px}.inventory-compact-bar .search{padding:8px 10px;border-radius:7px;background:#171d14;border-color:#303a28;height:35px;min-width:0}.inventory-compact-bar .search input{font-size:11px}.inventory-compact-bar .search svg{width:15px;height:15px}.inventory-clear{width:27px;height:30px;border-radius:6px;background:#1b2117;color:#91a280;font-size:19px;flex-shrink:0}.inventory-bottom-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 16px 14px}.inventory-bottom-bar .panel-note{padding:0;font-size:9px;color:#748568}.inventory-bottom-bar .text-btn{font-size:9px;white-space:nowrap;color:#92a77d}
.settings-values.preset-multipliers{min-width:0;justify-self:stretch}.settings-values.preset-chances{grid-template-columns:repeat(3,minmax(0,1fr));max-width:300px}
@media(max-width:1150px){.target-compact-bar,.inventory-compact-bar{padding-left:12px;padding-right:12px;gap:7px}.target-compact-bar h2,.inventory-compact-bar h2{font-size:11px}.target-compact-bar h2>span{display:none}.target-compact-meta{padding-left:12px;padding-right:12px;gap:8px}.target-price-mode-label{padding:0 7px}.inventory-compact-bar h2{min-width:84px}.target-price-query>label{padding:0 5px;gap:3px}.target-price-query input{font-size:9px}}
@media(max-width:900px){.target-compact-bar h2,.inventory-compact-bar h2{font-size:11px}.target-order{width:28px;flex-basis:28px}.target-price-mode-label{display:none}.target-search-mode{width:29px;flex-basis:29px}.target-name-query input{padding:8px;font-size:10px}.inventory-compact-bar .search input{font-size:10px}.inventory-compact-bar h2{min-width:76px}.target-compact-meta select{max-width:100px}}
@media(max-width:650px){.target-compact-bar,.inventory-compact-bar{padding-top:13px;padding-bottom:10px;gap:7px}.target-compact-bar h2,.inventory-compact-bar h2{font-size:12px}.target-price-mode-label{display:flex;padding:0 7px;font-size:9px}.target-compact-meta{padding-bottom:11px}.target-compact-meta .target-filter-note{font-size:8px}.inventory-compact-bar h2{min-width:89px}.inventory-compact-bar .search{padding:8px}.inventory-bottom-bar{padding:0 12px 13px}.inventory-bottom-bar .panel-note,.inventory-bottom-bar .text-btn{font-size:8px}.target-price-query input{font-size:10px}.target-order{height:35px}.target-compact-bar .compact-target-query{height:35px}}
@media(max-width:380px){.target-price-mode-label{display:none}.target-compact-bar h2{font-size:11px}.target-compact-bar,.inventory-compact-bar{gap:6px}.inventory-compact-bar h2{min-width:80px}}

/* Shared typography contract: every page title uses this same Manrope scale. */
:root{--title-size:clamp(32px,3.4vw,48px);--title-weight:800;--title-tracking:-.045em;--motion-soft:cubic-bezier(.22,1,.36,1)}
.page-heading h1,.profile-header-meta h1{font-family:var(--font);font-size:var(--title-size);font-weight:var(--title-weight);letter-spacing:var(--title-tracking);line-height:1.12;margin:14px 0 10px;font-synthesis:none}
.page-heading h1>span,.profile-header-meta h1>span{font:inherit;color:var(--lime);margin-left:.08em}
.page-heading .eyebrow,.profile-header-meta .eyebrow{font-family:var(--font);font-size:9px;font-weight:700;letter-spacing:1.7px;margin:0}
.page-heading p,.profile-header-meta p{font-family:var(--font);font-size:11px;font-weight:400;line-height:1.7}
.header,.header :is(button,a,small,strong,span){font-family:var(--font);font-synthesis:none}
.header .nav-link{font-weight:700;letter-spacing:-.015em}
.nav-link:after{transition:box-shadow .25s,opacity .25s,transform .25s var(--motion-soft)}
.nav-link.active:after{box-shadow:0 -3px 14px #b9dd7c24;animation:nav-arrive .28s var(--motion-soft)}

/* Material feedback, shared across inventory, market, profile and history. */
:is(.skin-card,.profile-inventory-card,.activity-card,.rank-slot){transition:transform .28s var(--motion-soft),border-color .24s,box-shadow .28s,background .24s}
@media(hover:hover){
  :is(.skin-card,.activity-card):hover:not(:disabled){transform:translateY(-3px);box-shadow:0 12px 28px #0004,inset 0 0 24px #ffffff03}
  .skin-card:hover img,.profile-inventory-card:hover .card-img-wrap img{transform:translateY(-3px) scale(1.045)}
}
.skin-card img,.card-img-wrap img{transition:transform .4s var(--motion-soft),filter .4s}
.skin-card[aria-pressed=true]{box-shadow:inset 0 0 26px #b9dd7c09,0 0 0 1px #b9dd7c15;animation:selection-arrive .28s ease-out}
:is(.outline-btn,.steam-btn,.quick-settings,.target-order):hover:not(:disabled){box-shadow:0 0 18px #b9dd7c09}
:is(.launch-btn,.profile-deposit-btn){transition:filter .24s,box-shadow .24s,transform .24s var(--motion-soft)}
:is(.launch-btn,.profile-deposit-btn):hover:not(:disabled){box-shadow:0 5px 24px #b9dd7c1e;filter:brightness(1.06)}
button:active:not(:disabled){translate:0 1px}
dialog[open]{animation:sheet-arrive .32s var(--motion-soft)}
dialog::backdrop{animation:backdrop-arrive .25s ease-out}
.profile-tab.active{animation:selection-arrive .28s ease-out}
#toast.show{animation:toast-arrive .3s var(--motion-soft)}
#toast{background:#182017;color:#edf5df;border:1px solid #c2e88d4d;border-left:3px solid #c2e88d;box-shadow:0 12px 36px #0007;border-radius:8px;font-size:12px;font-weight:600;line-height:1.5;padding:12px 18px}
#toast[data-kind=error]{background:#24191c;color:#ffe3e4;border:1px solid #ff4d5159;border-left:3px solid #ff4d51;box-shadow:0 12px 36px #0007}

/* A restrained energy field belongs to the spinning wheel, not the entire page. */
.ring-wrap:after{content:'';position:absolute;inset:4%;border-radius:50%;pointer-events:none;opacity:0;box-shadow:0 0 42px #b9dd7c17,inset 0 0 32px #b9dd7c0b;transition:opacity .5s}
.lab[data-wheel=spinning] .ring-wrap:after,.lab[data-wheel=settling] .ring-wrap:after{opacity:1;animation:wheel-breathe 1.6s ease-in-out infinite}
.lab[data-wheel=settling] .ring-wrap:after{animation-duration:2.6s}
.lab[data-wheel=spinning] #ring-pointer,.lab[data-wheel=settling] #ring-pointer{filter:drop-shadow(0 0 5px #bee77999)}
.lab[data-wheel=won] .ring-wrap:after{opacity:1;animation:result-halo .9s ease-out both}
.lab[data-wheel=lost] .ring-wrap:after{box-shadow:0 0 32px #b96f4515,inset 0 0 24px #b96f4510;opacity:.65}
.outcome-symbol{animation:result-mark .45s var(--motion-soft) both}

/* ImageGen alpha artwork + independent points of light at low opacity. */
.best-drop-card{background:radial-gradient(ellipse at 76% 70%,#aab8580d,transparent 64%),#101311;border-color:#b9dd7c30}
.best-drop-atmosphere{opacity:1;mask-image:linear-gradient(90deg,transparent 18%,#000 48%)}
.drop-constellation{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:66% 51%;opacity:.14;animation:constellation-drift 14s ease-in-out infinite;transform-origin:72% 50%}
.best-drop-atmosphere>svg{opacity:.045}
.best-drop-atmosphere i{opacity:.12;width:2px;height:2px;animation:rare-spark 6s ease-in-out infinite;animation-delay:var(--t);box-shadow:0 0 9px 2px #c9e28a44}
.best-drop-atmosphere i:nth-of-type(3n){width:5px;height:5px;clip-path:polygon(50% 0,62% 37%,100% 50%,62% 63%,50% 100%,38% 63%,0 50%,38% 37%);border-radius:0}
.best-drop-atmosphere i:nth-of-type(4n){width:4px;height:6px;rotate:25deg;border-radius:1px;background:#e0d5a6}
.best-drop-title{display:inline-flex;align-items:center;gap:7px;letter-spacing:.02em}
.best-drop-title:before{content:'';width:5px;height:5px;background:#cde797;rotate:45deg;box-shadow:0 0 9px #cde79744}
.best-drop-card:after{height:1px;background:linear-gradient(90deg,transparent,#d8dc8260,transparent)}
.best-drop-card:hover{border-color:#b9dd7c50;box-shadow:0 8px 28px #0003}
.best-drop-img{filter:drop-shadow(0 15px 16px #0007)}

@keyframes nav-arrive{from{transform:scaleX(.5);opacity:.3}to{transform:scaleX(1);opacity:1}}
@keyframes selection-arrive{from{filter:brightness(1.16)}to{filter:brightness(1)}}
@keyframes sheet-arrive{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes backdrop-arrive{from{opacity:0}to{opacity:1}}
@keyframes toast-arrive{from{opacity:0;translate:0 9px}to{opacity:1;translate:0 0}}
@keyframes wheel-breathe{0%,100%{opacity:.45}50%{opacity:.9}}
@keyframes result-halo{0%{opacity:.2;scale:.96}40%{opacity:1;scale:1.02}100%{opacity:.65;scale:1}}
@keyframes result-mark{from{opacity:0;scale:.8}to{opacity:1;scale:1}}
@keyframes constellation-drift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-4px,-3px) scale(1.035)}}
@keyframes rare-spark{0%,100%{transform:translateY(5px);opacity:.05}45%{opacity:.23}60%{transform:translateY(-6px);opacity:.12}}
@media(max-width:650px){:root{--title-size:32px}.page-heading .eyebrow,.profile-header-meta .eyebrow{font-size:8px}.page-heading p,.profile-header-meta p{font-size:10px}.drop-constellation{opacity:.12;object-position:70% 50%}.best-drop-atmosphere{mask-image:linear-gradient(90deg,transparent 15%,#000 90%)}}
@media(prefers-reduced-motion:reduce){:is(dialog[open],dialog::backdrop,.nav-link.active:after,.skin-card,.profile-tab,.outcome-symbol,#toast.show,.ring-wrap:after,.drop-constellation,.best-drop-atmosphere i){animation:none!important}:is(.skin-card,.profile-inventory-card,.activity-card,.rank-slot,.skin-card img,.card-img-wrap img){transition:none!important}button:active:not(:disabled){translate:none}}
.effects-paused *,.effects-paused *:before,.effects-paused *:after{animation-play-state:paused!important}

/* Guest mode: the account corner becomes one Steam button and every action button its Steam twin. */
body:not(.is-guest) :is(.header-steam-btn,.steam-cta){display:none!important}
body.is-guest .header-right>:is(.balance,#header-deposit-btn,.account-control){display:none}
body.is-guest .header-steam-btn{display:inline-flex;align-items:center;gap:9px;min-height:40px;padding:0 16px;border-radius:10px;background:var(--lime);color:#14200c;font:800 12px var(--font);text-decoration:none;white-space:nowrap;box-shadow:0 8px 24px #bee77933;transition:filter .2s,transform .2s var(--motion-soft)}
body.is-guest .header-steam-btn .ui-icon{width:17px;height:17px}
body.is-guest .header-steam-btn i{font-style:normal}
@media(hover:hover) and (pointer:fine){body.is-guest .header-steam-btn:hover{filter:brightness(1.06);transform:translateY(-1px)}}
body.is-guest .header-steam-btn:focus-visible{outline:2px solid var(--lime);outline-offset:3px}

/* The twin takes the original's class, so it keeps that page's size and placement. */
body.is-guest .steam-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;cursor:pointer}
body.is-guest .steam-cta .ui-icon{width:18px;height:18px;flex:none}
body.is-guest :is(#case-open,#upgrade-btn,#rl-spin,#ct-create,.asc-actions>:not(.steam-cta)){display:none!important}
body.is-guest .steam-cta:focus-visible{outline:2px solid var(--lime);outline-offset:3px}

/* Guest profile: the hero stays, the private blocks give way to one sign-in panel. */
.profile-guest{display:none}
body.is-guest #profile-view>:not(.profile-hero-card,.profile-guest){display:none}
body.is-guest .profile-guest{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;margin-top:14px;padding:26px 28px;border:1px solid #2a3025;border-radius:16px;background:radial-gradient(60% 120% at 0% 50%,#bee77914,transparent 70%),#0d100c}
.profile-guest-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:#bee7791a;color:var(--lime)}
.profile-guest-mark .ui-icon{width:28px;height:28px}
.profile-guest-copy h2{margin:8px 0 6px;font-size:22px;line-height:1.2}
.profile-guest-copy p{max-width:520px;margin:0;color:#98a58d;font-size:12px;line-height:1.55}
.profile-guest .steam-cta-solid{display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:0 24px;text-decoration:none;white-space:nowrap}

/* Sign-in prompt. */
.steam-gate{display:grid;justify-items:center;gap:12px;text-align:center}
.steam-gate-mark{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:radial-gradient(circle,#bee77933,#bee7790d 70%);color:var(--lime);box-shadow:0 0 40px #bee77926}
.steam-gate-mark .ui-icon{width:32px;height:32px}
.steam-gate h2{margin:0;line-height:1.15}
#modal .steam-gate h2 .steam-gate-accent{display:block;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--lime);font:inherit;letter-spacing:inherit;text-transform:none}
.steam-gate p{max-width:380px;margin:0;color:#aab4a2;font-size:13px;line-height:1.55}
.steam-gate-perks{display:grid;gap:8px;width:100%;max-width:340px;margin:6px 0 4px;padding:0;list-style:none;text-align:left}
.steam-gate-perks li{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid #ffffff0d;border-radius:10px;background:#ffffff05;color:#dde5d4;font-size:12px}
.steam-gate-perks .ui-icon{width:16px;height:16px;color:var(--lime);flex:none}
.steam-gate-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:340px;min-height:52px;text-decoration:none}
.steam-gate-cta .ui-icon{width:19px;height:19px}
.steam-gate-later{color:#8d9a83;font-size:12px}

@media(max-width:760px){
 body.is-guest .header-steam-btn{min-height:36px;padding:0 12px;font-size:11px}
 body.is-guest .header-steam-btn i{display:none}
 body.is-guest .profile-guest{grid-template-columns:1fr;justify-items:start;gap:14px;padding:22px 18px}
 .profile-guest .steam-cta-solid{width:100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){body.is-guest .header-steam-btn{transition:none}}

/* The same explicit, unchecked form is used in the dialog and direct sign-in page. */
#modal.steam-consent-modal{width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 28px);padding:0;overflow:auto;border-color:#a9cc7040;border-radius:22px;background:#111710}
#modal.steam-consent-modal .modal-close{z-index:2;top:14px;right:14px;background:#0b100bd9;border:1px solid #ffffff20;border-radius:10px}
.steam-consent{overflow:hidden;border-radius:inherit;text-align:left}
.steam-consent-art{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:188px;padding:24px;overflow:hidden;color:#d9efb9;background:radial-gradient(ellipse at 50% 100%,#a6d36933,transparent 65%),repeating-linear-gradient(135deg,#a6d36905 0 1px,transparent 1px 24px),#0b120c;border-bottom:1px solid #a9cc702e}
.steam-consent-art>span{font-size:8px;letter-spacing:3px;color:#91a77c}
.steam-consent-art>b{font-size:84px;font-weight:800;line-height:1.1;letter-spacing:-7px;text-shadow:0 0 45px #addd6b30}
.steam-consent-art>b>span{color:var(--lime);font-size:50px;vertical-align:top;letter-spacing:-3px}
.steam-consent-art>strong{font-size:10px;letter-spacing:1.5px;text-transform:uppercase}
.steam-consent-art>i{position:absolute;z-index:-1;inset:14px;border:1px solid #b9dd7c20;border-radius:12px;pointer-events:none}
.steam-consent-content{padding:26px 28px 22px}
.steam-consent-content h2{margin:8px 0 10px!important;font:800 27px/1.2 var(--font);letter-spacing:-.8px;color:#eef3e8}
.steam-consent-content>p{margin:0 0 20px;color:#9eac94;font-size:12px;line-height:1.65}
.steam-consent-form{display:grid;gap:10px}
.steam-consent-option{position:relative;display:flex;align-items:center;gap:12px;min-height:64px;padding:14px;border:1px solid #34412d;border-radius:12px;background:#171f15;color:#d8e1d0;font-size:12px;line-height:1.6;cursor:pointer;transition:border-color .2s,background .2s}
.steam-consent-option:has(input:checked){border-color:#9ac65d8c;background:#a6cf7010}
.steam-consent-option:has(input:focus-visible){outline:2px solid var(--lime);outline-offset:3px}
.steam-consent-option>input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.steam-consent-option>span:last-child{position:relative;pointer-events:none}
.steam-consent-option a{position:relative;pointer-events:auto;color:var(--lime);text-decoration:underline;text-underline-offset:3px}
.steam-consent-check{display:grid;place-items:center;width:24px;height:24px;flex:none;border:1px solid #596b49;border-radius:7px;background:#0d140c;color:#14200c;pointer-events:none}
.steam-consent-check .ui-icon{width:16px;height:16px;opacity:0;transform:scale(.75);transition:opacity .15s,transform .2s}
input:checked+.steam-consent-check{background:var(--lime);border-color:var(--lime)}
input:checked+.steam-consent-check .ui-icon{opacity:1;transform:none}
.steam-consent-submit.launch-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;margin-top:8px;color:#14200c;font-weight:800}
.steam-consent-submit.launch-btn:disabled{background:#222b1e;color:#9dae8e!important;border:1px solid #37432c;opacity:1;box-shadow:none}
.steam-consent-submit .ui-icon{width:20px;height:20px}
.steam-consent-status{min-height:18px;color:#a6b697;text-align:center;font-size:10px;line-height:1.7}
.steam-consent-privacy{margin:4px 0 0;color:#7f8f74;font-size:10px;line-height:1.8;text-align:center}
.steam-consent-privacy a{color:#acbf9a;text-decoration:underline;text-underline-offset:3px}
.steam-consent-later{display:block;margin:18px auto 0;font-size:11px;text-align:center;color:#a0b18f}
.steam-consent-page{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 50% 0,#24321c66,transparent 65%),#0b0e0c}
.steam-consent-page>main{width:min(520px,100%);padding:0;border:1px solid #a9cc7040;border-radius:22px;background:#111710;box-shadow:0 30px 100px #0008}
@media(max-width:480px){.steam-consent-content{padding:22px 18px}.steam-consent-art{min-height:160px;padding:20px}.steam-consent-art>b{font-size:68px}.steam-consent-art>b>span{font-size:42px}.steam-consent-option{padding:12px;font-size:11px;gap:10px}.steam-consent-content h2{font-size:24px}.steam-consent-page{padding:12px}}
@media(prefers-reduced-motion:reduce){.steam-consent-option,.steam-consent-check .ui-icon{transition:none}}

.steam-consent-submit.launch-btn:hover:not(:disabled){background:#c9ee93;color:#14200c;box-shadow:0 8px 28px #b9dd7c1f}

.steam-consent-submit.launch-btn:disabled .ui-icon{color:inherit!important;fill:currentColor!important}
.steam-login-status{display:grid;justify-items:center;gap:16px;padding:36px 28px;text-align:center;background:#111710}
.steam-login-status h1{margin:0;font:800 clamp(23px,5vw,30px)/1.2 var(--font);letter-spacing:-.7px}
.steam-login-status p{margin:0 0 8px;max-width:390px;color:#a4b19a;font-size:13px;line-height:1.8;overflow-wrap:anywhere}
.steam-login-status .launch-btn,.steam-login-status .outline-btn{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;text-decoration:none}
.steam-auth-mark{display:grid;place-items:center;width:72px;height:72px;margin-bottom:8px;border:1px solid #b9dd7c40;border-radius:22px;background:#b9dd7c0d;color:var(--lime)}
.steam-auth-mark .ui-icon{width:42px;height:42px}

.account-control{position:relative;flex-shrink:0}
.header .account-trigger{display:grid;place-items:center;width:42px;height:42px;border:1px solid #b9dd7c30;border-radius:50%;padding:0;background:#171e14;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.header .account-trigger:hover,.header .account-trigger[aria-expanded=true]{border-color:var(--lime);box-shadow:0 0 0 4px #b9dd7c08}
.account-trigger img{width:100%;height:100%;object-fit:cover;border-radius:50%;pointer-events:none}
.account-trigger[data-mascot=true] img{object-fit:cover;object-position:50% 18%}
.account-menu{position:absolute;right:0;top:calc(100% + 14px);width:244px;max-width:calc(100vw - 32px);padding:8px;background:#151917;border:1px solid #b9dd7c20;border-radius:13px;box-shadow:0 16px 50px #0008;z-index:45;overflow:hidden}
.account-menu-identity{padding:12px 12px 14px;display:grid;gap:5px;border-bottom:1px solid #ffffff0b;margin-bottom:5px}
.account-menu-identity strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-menu-identity small{font-size:10px;color:#83907f}
.account-menu :is(button,a){display:flex;align-items:center;gap:11px;text-align:left;width:100%;min-height:43px;border-radius:7px;padding:10px 12px;font-size:12px;font-weight:600;color:#d1d8cb}
.account-menu :is(button,a):hover:not(:disabled),.account-menu :is(button,a):focus-visible{background:#b9dd7c0d;color:var(--lime)}
.account-menu :is(button,a) svg{width:16px;height:16px;color:#a2b392}
.account-menu :is(button,a)>span:last-child:not(:first-of-type){margin-left:auto;color:#7d8e70}
.account-menu-divider{height:1px;background:#ffffff0b;margin:6px 4px}
.account-menu{max-height:calc(100dvh - 96px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.account-volume{margin:0 4px 6px;padding:12px 8px 14px;border-bottom:1px solid #ffffff0b}
.account-volume>label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;font-weight:650;color:#cbd5c3;cursor:pointer}
.account-volume output{font-size:11px;color:var(--lime);font-variant-numeric:tabular-nums;min-width:34px;text-align:right}
.account-volume[data-muted=true] output{color:#8f9a86}
.account-volume input[type=range]{--audio-fill:50%;display:block;width:100%;height:36px;margin:4px 0 0;padding:0;border:0;border-radius:6px;background:transparent;cursor:pointer;accent-color:var(--lime);appearance:none;-webkit-appearance:none;outline:none}
.account-volume input[type=range]::-webkit-slider-runnable-track{height:5px;border-radius:8px;background:linear-gradient(to right,var(--lime) 0 var(--audio-fill),#343e2e var(--audio-fill) 100%)}
.account-volume input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:16px;height:16px;margin-top:-5.5px;border:3px solid #151b13;border-radius:50%;background:var(--lime);box-shadow:0 0 0 1px #b9dd7c99;transition:box-shadow .15s}
.account-volume input[type=range]::-moz-range-track{height:5px;border-radius:8px;background:#343e2e}.account-volume input[type=range]::-moz-range-progress{height:5px;border-radius:8px;background:var(--lime)}
.account-volume input[type=range]::-moz-range-thumb{width:10px;height:10px;border:3px solid #151b13;border-radius:50%;background:var(--lime);box-shadow:0 0 0 1px #b9dd7c99}
.account-volume input[type=range]:focus-visible{outline:2px solid #b9dd7caa;outline-offset:3px}.account-volume input[type=range]:active::-webkit-slider-thumb{box-shadow:0 0 0 5px #b9dd7c14,0 0 0 1px var(--lime)}
.account-volume-limits{display:flex;justify-content:space-between;gap:12px;font-size:9px;color:#7d8c73;line-height:1.3;pointer-events:none}
@media(max-width:650px){.account-volume input[type=range]{height:44px;margin-top:1px}.account-volume{padding-bottom:15px}}
.account-streamer-note{display:block;font-size:9px;color:var(--lime);padding:9px 12px 5px}
.account-settings-modal{max-width:600px;padding:30px 32px;max-height:calc(100dvh - 30px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.account-settings-modal h2{font:800 30px/1.15 var(--font);letter-spacing:-1px;margin:12px 0 25px}
.account-field{display:grid;gap:9px;margin-bottom:22px}
.account-field>span{display:flex;gap:15px;justify-content:space-between;align-items:center;font-weight:700;font-size:12px;color:#d8ded4}
.account-field>span :is(small,a){font-size:10px;font-weight:500;color:#7c8975}
.account-field>span a:hover{color:var(--lime)}
.account-field input{width:100%;min-width:0;background:#0e120f;border:1px solid #ffffff13;border-radius:9px;padding:13px 14px;color:#dce5d4;outline:none;transition:border-color .2s;font-size:12px}
.account-field input:focus{border-color:#b9dd7c77;box-shadow:0 0 0 3px #b9dd7c07}
.account-field>small{color:#73806c;font-size:9px;line-height:1.6}
.account-privacy{border:0;padding:0;margin:0 0 23px;min-width:0}
.account-privacy legend{font-size:12px;font-weight:700;color:#d8ded4;padding:0}
.account-privacy>p{font-size:10px;margin:8px 0 14px;line-height:1.6}
.account-privacy-option{display:flex;align-items:flex-start;gap:10px;cursor:pointer;border:1px solid transparent;border-radius:8px;padding:10px 8px;margin:3px -8px}
.account-privacy-option:has(input:checked){border-color:#b9dd7c20;background:#b9dd7c04}
.account-privacy-option input{margin:2px 0 0;accent-color:var(--lime);width:14px;height:14px;flex-shrink:0}
.account-privacy-option span{display:grid;gap:6px}
.account-privacy-option strong{font-size:11px;font-weight:650;color:#c4cebd}
.account-privacy-option small{font-size:10px;line-height:1.65;color:#7d8976}
.account-privacy-option.unavailable{cursor:default;opacity:.5}
.account-streamer-switch{display:flex;align-items:center;gap:15px;position:relative;cursor:pointer;padding:17px 0;border-top:1px solid #ffffff0b}
.account-streamer-switch>span{display:grid;gap:7px;flex:1;min-width:0}
.account-streamer-switch strong{font-size:12px;font-weight:700}.account-streamer-switch small{font-size:10px;color:#7d8976;line-height:1.6}
.account-streamer-switch input{position:absolute;right:0;width:38px;height:23px;opacity:0;cursor:pointer}
.account-streamer-switch i{width:36px;height:21px;background:#30372d;border-radius:20px;position:relative;pointer-events:none;transition:background .2s;flex-shrink:0}
.account-streamer-switch i:after{content:'';position:absolute;left:3px;top:3px;width:15px;height:15px;border-radius:50%;background:#9aa392;transition:transform .25s var(--skuf-ease),background .2s}
.account-streamer-switch input:checked+i{background:#93b950}.account-streamer-switch input:checked+i:after{transform:translateX(15px);background:#17200e}
.account-streamer-switch input:focus-visible+i{outline:2px solid var(--lime);outline-offset:4px}
.account-settings-error{font-size:11px;color:#e2b39c;line-height:1.6;margin:10px 0 16px}.account-settings-error:empty{margin:8px 0}
.account-settings-modal .launch-btn{height:45px;font-size:12px;width:100%}
.account-settings-note{font-size:9px;line-height:1.7;text-align:center;color:#74816d;margin:12px 0 0}
.account-share{display:block;margin:13px auto 0;color:#a8c08d;font-size:10px;padding:7px}
.stream-mask{letter-spacing:3px;font-size:14px;color:#a3b095;user-select:none}
body[data-streamer=true] #profile-progress-money{color:transparent;position:relative;user-select:none}
body[data-streamer=true] #profile-progress-money>*{visibility:hidden}
body[data-streamer=true] #profile-progress-money:after{content:'••••';color:#a3b095;letter-spacing:2px;position:absolute;left:0}
body[data-streamer=true] :is(#stake,#deposit-amount){-webkit-text-security:disc}
.shared-profile-identity{display:flex;align-items:center;gap:18px;margin-top:20px}.shared-profile-identity>img{width:76px;height:76px;border-radius:50%;object-fit:cover;object-position:50% 18%;border:1px solid #b9dd7c55;background:#10150e}.shared-profile-identity h2{font-size:25px;margin:0 0 7px}.shared-profile-identity p{font-size:11px;margin:0}
.shared-profile-stats{display:flex;gap:14px;margin:25px 0}.shared-profile-stats>span{display:grid;gap:8px;padding:15px;border:1px solid #ffffff0b;border-radius:8px;font-size:10px;color:#85917c;flex:1}.shared-profile-stats strong{font-size:24px;color:#d8e4ce}
.shared-profile-drop{display:grid;text-align:center;gap:10px;background:#b9dd7c04;border-radius:10px;padding:18px}.shared-profile-drop small{color:#91a87b}.shared-profile-drop img{max-width:100%;width:270px;height:150px;object-fit:contain;margin:auto}.shared-profile-drop strong{font-size:13px}
@media(max-width:650px){.header .account-trigger{display:grid;width:36px;height:36px}.header-right{gap:10px}.account-menu{top:calc(100% + 12px);width:230px}.account-settings-modal{padding:27px 20px;max-height:calc(100dvh - 20px)}.account-settings-modal h2{font-size:27px;margin-bottom:22px}.account-field{margin-bottom:19px}.account-field>span :is(small,a){font-size:9px}.account-privacy-option{padding:9px 7px}.account-privacy-option small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.account-streamer-switch i,.account-streamer-switch i:after,.account-trigger{transition:none}}
/* Keep a large balance and the account actions inside very narrow headers. */
@media(max-width:360px){.header .header-right{gap:5px}.header .balance strong{font-size:11px}}

/* The identity is the single, primary profile entry at the top of the menu. */
.account-menu .account-menu-identity{display:flex;align-items:center;gap:12px;padding:13px 12px 15px;margin-bottom:5px;min-height:66px;border-bottom:1px solid #ffffff0b;border-radius:8px 8px 0 0;background:transparent}
.account-menu .account-profile-copy{display:grid;gap:5px;min-width:0;flex:1}
.account-menu-identity strong{font-size:14px;line-height:1.4;color:#e1e8dc}
.account-menu-identity small{font-size:10px;line-height:1.4;color:#a9c18b;font-weight:550}
.account-menu .account-menu-identity>.ui-icon{flex-shrink:0;width:14px;height:14px;color:#a9c18b}
.account-menu .account-menu-identity:focus-visible{outline:2px solid var(--lime);outline-offset:-2px}

.header .header-deposit-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:37px;padding:0 13px;border-radius:7px;background:var(--lime);color:#17210d;font-size:11px;font-weight:750}
.header .header-deposit-btn svg{width:15px;height:15px}
.source-mode-tabs{display:flex;gap:6px;padding:12px 13px;border-bottom:1px solid #ffffff0a}.source-mode-tabs button{min-height:33px;display:flex;align-items:center;gap:7px;padding:8px 12px;border-radius:6px;color:#87947c;font-weight:700;font-size:11px}.source-mode-tabs button[aria-pressed=true]{background:#b9dd7c12;color:#c9e7ac}.source-mode-tabs svg{width:15px;height:15px}
.shop-toolbar{display:flex;gap:9px;align-items:center;padding:13px 13px 9px}.shop-toolbar .search{flex:1;min-width:0}.shop-toolbar input{width:100%;min-width:0}
.shop-filters{display:flex;gap:7px;padding:0 13px 10px}.shop-filters>label{display:flex;align-items:center;gap:5px;flex:1;min-width:0;border:1px solid #ffffff10;border-radius:6px;background:#0b0f0c;padding:7px 8px}.shop-filters>label span{font-size:9px;color:#74836a}.shop-filters input{width:100%;min-width:0;background:none;border:0;outline:none;color:#c5d5b9;font-size:11px}.shop-filters select{max-width:110px;background:#141b11;border:1px solid #ffffff0c;border-radius:6px;color:#9eaf91;font-size:10px;padding:5px}
.shop-options{display:flex;gap:15px;padding:0 13px 12px}.shop-options label{display:flex;align-items:center;gap:5px;font-size:9px;color:#96a489}.shop-options input{accent-color:var(--lime);width:12px;height:12px;margin:0}
.shop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:0 12px;min-height:320px;overflow:visible;align-content:start;scrollbar-width:thin;scrollbar-color:#3b4932 transparent;overscroll-behavior:contain}
.shop-card{position:relative;min-width:0;min-height:135px;padding:9px 8px 11px;border:1px solid #ffffff0b;border-bottom:2px solid var(--rarity);border-radius:7px;text-align:left;background:radial-gradient(ellipse at 50% 50%,color-mix(in srgb,var(--rarity) 9%,transparent),transparent 75%),#121514;display:flex;flex-direction:column;gap:3px;transition:border-color .2s,background .2s,box-shadow .2s}
.shop-card .card-top{font-size:9px;gap:3px}.shop-card .price-value{font-size:10px;gap:3px;color:#d1e1c0}.shop-card .currency-icon{width:10px;height:10px}.shop-card .card-top small{font-size:8px;color:#7b8972}.shop-card>img{width:100%;height:66px;object-fit:contain;filter:drop-shadow(0 5px 9px #0006);transition:transform .3s var(--skuf-ease)}
.shop-card .card-weapon{font-size:8px;color:#87977c;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shop-card .card-name{font-size:10px;line-height:1.3;letter-spacing:-.15px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding-right:10px}
.shop-card.in-cart{border-color:#b9dd7c80;box-shadow:inset 0 0 15px #b9dd7c09}.shop-add-mark{position:absolute;right:6px;bottom:8px;color:#9fc97d;font-size:10px}.shop-card:hover:not(:disabled){border-color:#b9dd7c65}.shop-card:hover:not(:disabled)>img{transform:translateY(-2px) scale(1.06)}
.shop-no-image,.stage-no-image{display:grid;place-items:center;min-height:66px;width:100%;color:#71885b}.shop-no-image svg{width:27px;height:27px;opacity:.45}.stage-no-image{height:130px}
.shop-checkout{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;border-top:1px solid #ffffff0b;margin-top:6px}.shop-checkout>span{display:grid;gap:6px}.shop-checkout small{font-size:9px;color:#7d8c72}.shop-checkout strong{display:flex;align-items:center;gap:5px;font-size:15px;color:#c1dfa5}.shop-checkout strong svg{width:13px;height:13px}.shop-checkout .outline-btn{font-size:10px;padding:9px 12px}
.skin-card .card-name{font-size:12px;line-height:1.4}.skin-card .card-weapon{font-size:10px}.skin-card .card-top .price-value{font-size:12px}.skin-card .card-top{min-height:18px}.skin-card{min-height:175px}
.outcome-loot{position:relative;display:grid;place-items:center;width:150px;height:62px}.outcome-loot img{position:relative;z-index:2;width:150px;height:65px;object-fit:contain;filter:drop-shadow(0 7px 12px #0007);animation:loot-capture .6s var(--skuf-ease) both}.outcome-loot:before{content:'';position:absolute;inset:-22px -20px;background:radial-gradient(ellipse,#b9dd7c27,transparent 68%);animation:loot-light 1.5s ease-out both}
.lab[data-wheel=won] .outcome-symbol{display:none}.lab[data-wheel=won] .wheel-outcome{gap:5px}.lab[data-wheel=won] #outcome-title{font-size:27px;text-shadow:0 0 22px #c1ef6f40}.lab[data-wheel=won] .target-stage{background:radial-gradient(ellipse,#9ecb3c12,transparent 70%)}.lab[data-wheel=won] .target-stage .skin-name{color:#cae6a8}.lab[data-wheel=won]{border-color:#9cc94a70;box-shadow:0 0 35px #a2c84808}
@keyframes loot-capture{from{opacity:0;transform:translateY(9px) rotate(-8deg) scale(.8)}to{opacity:1;transform:translateY(0) rotate(-2deg) scale(1)}}
@keyframes loot-light{0%{opacity:0;scale:.6}35%{opacity:1;scale:1.1}100%{opacity:.6;scale:1}}
@media(min-width:1450px){.shop-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:900px){.shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shop-filters select{max-width:90px}}
@media(max-width:650px){.header .header-deposit-btn{display:inline-flex;width:35px;height:35px;padding:0}.header .header-deposit-btn span{display:none}.shop-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:0 10px;gap:6px;max-height:none}.shop-card{padding:8px 7px;min-height:133px}.shop-card .price-value{font-size:9px}.shop-card .card-top small{font-size:7px}.shop-card .card-name{font-size:9px}.shop-card>img{height:63px}.source-mode-tabs{padding:10px}.source-mode-tabs button{font-size:10px}.shop-options label{font-size:8px}.skin-card .card-name{font-size:11px}.skin-card .card-weapon{font-size:9px}.skin-card .card-top .price-value{font-size:10px}.skin-card{min-height:155px}.cart-line{gap:8px}.cart-line>img{width:47px}.cart-line strong{font-size:10px}.cart-receipt strong{font-size:17px}}
@media(max-width:380px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.outcome-loot img,.outcome-loot:before{animation:none}.shop-card,.shop-card>img{transition:none}}



/* The header surface spans the viewport; its contents follow the main page gutters. */
.header{max-width:none;width:100%;margin:0;padding-inline:32px}
.shop-compact-controls .shop-toolbar{padding:10px 12px 7px;gap:7px}.shop-compact-controls .shop-toolbar .search{flex:1;min-width:65px}.shop-compact-controls .shop-toolbar input{font-size:10px;height:33px}.shop-compact-controls .target-order{width:32px;height:33px;flex-shrink:0}.shop-price-toggle{display:flex;align-items:center;justify-content:center;gap:7px;height:33px;padding:0 10px;border:1px solid #ffffff0d;border-radius:6px;font-size:10px;color:#9aaa8c;white-space:nowrap}.shop-price-toggle.active,.shop-price-toggle[aria-expanded=true]{border-color:#b9dd7c55;color:var(--lime)}.shop-price-toggle span{transition:transform .2s}.shop-price-toggle[aria-expanded=true] span{transform:rotate(180deg)}.shop-toolbar select{height:33px;width:99px;min-width:0;border:1px solid #ffffff10;border-radius:6px;background:#131b10;color:#a7b59a;font-size:10px;padding:0 6px}.shop-compact-controls .shop-options{padding:0 13px 10px;gap:12px;min-height:24px;align-items:center}.shop-options>small{margin-left:auto;max-width:45%;text-align:right;font-size:8px;line-height:1.4;color:#a3bd85}.shop-compact-controls .shop-filters{padding-bottom:9px}.shop-compact-controls .shop-filters>label{height:31px}.shop-compact-controls{border-bottom:1px solid #ffffff08;margin-bottom:10px}
.profile-sell-all{font-size:10px!important;min-height:32px;padding:7px 11px!important;white-space:nowrap}.sell-all-cancel{display:block;margin:14px auto 0}.profile-load-more{display:flex;align-items:center;justify-content:center;gap:20px;padding:22px 8px 6px;flex-wrap:wrap}.profile-load-more>span{font-size:10px;color:#8d9c80}.profile-load-more button{min-width:180px;font-size:11px}.profile-inventory-grid{align-items:start}#inventory-grid{align-content:start}#inventory-pagination{margin-top:auto}#inventory-pagination>span{font-size:10px}.profile-tab-tools{flex-wrap:wrap}
@media(max-width:1150px){.header{padding-inline:25px}.profile-tab-bar{flex-wrap:wrap}.profile-tab-tools{justify-content:flex-end}}
@media(max-width:900px){.header{padding-inline:24px}}
@media(max-width:650px){.header{padding-inline:16px}.shop-compact-controls .shop-toolbar{padding-inline:10px;gap:5px}.shop-toolbar select{width:83px;font-size:9px}.shop-price-toggle{padding:0 7px;font-size:9px;gap:4px}.shop-compact-controls .shop-toolbar .search{min-width:60px}.shop-compact-controls .shop-toolbar input{font-size:9px;padding-left:8px}.shop-compact-controls .shop-options{padding-inline:11px;gap:9px}.profile-sell-all{font-size:9px!important;padding:7px 8px!important}.profile-tab-tools{width:100%;justify-content:flex-start;gap:7px}.profile-load-more{gap:12px;padding-top:18px}.profile-load-more>span{font-size:9px}}
@media(prefers-reduced-motion:reduce){.shop-price-toggle span{transition:none}}

.chance-ring #ring-gold{fill:none;stroke:#ff4d51;stroke-width:5;stroke-linecap:butt;transform:rotate(-90deg);transform-origin:140px 140px;filter:drop-shadow(0 0 4px #ff4d5180);transition:none;pointer-events:none}.image-unavailable{opacity:.45}
@keyframes secret-loot-capture{0%{opacity:0;transform:translateY(12px) rotate(-10deg) scale(.65)}65%{opacity:1;transform:translateY(-2px) rotate(1deg) scale(1.05)}100%{transform:rotate(-2deg) scale(1)}}
@media(max-width:650px){.lab[data-wheel=secret] #outcome-title{font-size:22px}}
@media(prefers-reduced-motion:reduce){.lab[data-wheel=secret] .outcome-loot img{animation:none}}

/* Stable selection pages: twelve cards fill 2, 3 or 4 column rows. */
.selection-panel{display:flex;flex-direction:column;align-self:stretch}
.selection-panel>.skin-grid{flex:1;align-content:start;grid-auto-rows:175px;min-height:741px}
.selection-panel>.skin-grid>.skin-card{height:175px;min-height:0}
.selection-panel>.skin-grid>.empty-state{grid-column:1/-1;height:190px}
.selection-footer{margin-top:auto;min-height:84px;flex:none;border-top:1px solid #c2dc8110;display:flex;flex-direction:column;justify-content:space-between;background:#080b0838}
.selection-footer>.pagination{margin:0!important;padding:13px 16px 10px}
.selection-footer .inventory-bottom-bar{padding:0 16px 13px}
#shop-view:not([hidden]){display:flex;flex-direction:column;flex:1}
#shop-view>.shop-grid{flex:1;align-content:start}
@media(min-width:1500px){.selection-panel>.skin-grid{min-height:558px}}
@media(max-width:900px){.selection-panel>.skin-grid{min-height:1090px}}
@media(max-width:650px){.selection-panel>.skin-grid{grid-auto-rows:160px;min-height:1012px}.selection-panel>.skin-grid>.skin-card{height:160px}.selection-footer>.pagination{padding-inline:12px}.selection-footer .inventory-bottom-bar{padding-inline:12px}}
/* Secret drop: one red sector in the same five-pixel success track. */
.lab{--secret:#ff4d51}
.lab[data-gold-round=true] #ring-gold{animation:secret-sector-arrive .65s cubic-bezier(.2,.75,.25,1) both}
.lab[data-wheel=secret]{border-color:#ff4d5166;box-shadow:0 0 38px #ff4d5117,inset 0 0 55px #ff4d5108}
.lab[data-wheel=secret] #outcome-title{color:var(--secret);font-size:23px;text-shadow:0 0 24px #ff4d513d;animation:secret-title-arrive .6s var(--skuf-ease) both}
.lab[data-wheel=secret] #outcome-caption{color:#ecb1b3;font-size:9px;animation:secret-title-arrive .7s .15s both}
.lab[data-wheel=secret] #outcome-next{border-color:#ff4d5155;color:#ff9da0}
.lab[data-wheel=secret] #ring-pointer{color:var(--secret);filter:drop-shadow(0 0 5px #ff4d5166)}
.lab[data-wheel=secret] .target-stage{background:radial-gradient(ellipse,#ff4d5112,transparent 70%)}
.lab[data-wheel=secret] .target-stage .skin-name{color:#ff989b}
.lab[data-wheel=secret] .outcome-loot{height:82px;width:160px;isolation:isolate}
.lab[data-wheel=secret] .outcome-loot:before{inset:-17px -18px;background:radial-gradient(ellipse,#ff4d513b,transparent 68%);animation:secret-halo 1.15s ease-out both}
.lab[data-wheel=secret] .outcome-loot img{width:160px;height:85px;filter:drop-shadow(0 5px 15px #ff4d5140);animation:secret-loot-unseal .85s .16s cubic-bezier(.2,.8,.25,1) both}
.secret-reveal{position:absolute;inset:-8px 25px;z-index:3;pointer-events:none}
.secret-sigil{width:100%;height:100%;fill:#181016;stroke:var(--secret);stroke-width:1.2;filter:drop-shadow(0 0 7px #ff4d5155);animation:secret-seal-open .65s ease-out both}
.secret-sigil path:nth-child(2){stroke-opacity:.35}.secret-sigil path:nth-child(3){fill:#ff4d5120;stroke-width:2}
.secret-reveal i{position:absolute;left:50%;top:50%;width:3px;height:13px;background:linear-gradient(#ff4d51,transparent);border-radius:2px;transform-origin:50% 0;animation:secret-ray .85s .1s ease-out both;--turn:calc(var(--ray)*45deg)}
@keyframes secret-sector-arrive{0%{opacity:0;filter:drop-shadow(0 0 0 #ff4d5100)}45%{opacity:1;filter:drop-shadow(0 0 8px #ff4d51a0)}100%{opacity:1;filter:drop-shadow(0 0 3px #ff4d5170)}}
@keyframes secret-seal-open{0%{opacity:0;transform:scale(.72) rotate(-12deg)}28%{opacity:1;transform:scale(1) rotate(0)}52%{opacity:.9}100%{opacity:0;transform:scale(1.35) rotate(15deg)}}
@keyframes secret-loot-unseal{0%{opacity:0;transform:scale(.65) translateY(9px);filter:blur(6px)}48%{opacity:1;filter:blur(0)}78%{transform:scale(1.04) translateY(-2px)}100%{opacity:1;transform:scale(1) translateY(0)}}
@keyframes secret-ray{0%{opacity:0;transform:rotate(var(--turn)) translateY(-15px) scaleY(.3)}25%{opacity:.8}100%{opacity:0;transform:rotate(var(--turn)) translateY(-70px) scaleY(.1)}}
@keyframes secret-title-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes secret-halo{from{opacity:0;transform:scale(.7)}55%{opacity:1}to{opacity:.65;transform:scale(1.1)}}
@media(prefers-reduced-motion:reduce){.lab[data-gold-round=true] #ring-gold,.lab[data-wheel=secret] #outcome-title,.lab[data-wheel=secret] #outcome-caption,.lab[data-wheel=secret] .outcome-loot img,.lab[data-wheel=secret] .outcome-loot:before{animation:none}.secret-reveal{display:none}}

.selection-header{min-height:120px;display:flex;flex-direction:column;justify-content:space-between;flex:none}
#inventory-panel[data-source-mode=shop] .selection-header{min-height:0}
.selection-footer[hidden]{display:none}
.lab[data-wheel=secret] .outcome-symbol{display:none}.lab[data-wheel=secret] .wheel-outcome{gap:5px}
.lab[data-wheel=secret] .chance-text{opacity:0;visibility:hidden}
.lab[data-wheel=secret] .wheel-outcome{background:radial-gradient(ellipse,#190e12ed 38%,#140d10c9 65%,transparent 77%);--outcome:#ff4d51}

.lab[data-spin-style=bait][data-wheel=rebounding] #ring-pointer{filter:drop-shadow(0 0 4px #c2e88d60)}
.lab[data-wheel=waiting] #chance-kicker{color:#c2c99e}

/* The shop uses the same twelve-card page geometry as the inventory. */
.selection-panel{--selection-columns:3;--selection-card-height:175px;--selection-grid-height:741px}
#shop-view>.shop-grid{grid-template-columns:repeat(var(--selection-columns),minmax(0,1fr));grid-auto-rows:var(--selection-card-height);min-height:var(--selection-grid-height);max-height:none;overflow:visible;gap:8px;padding:0 17px 17px}
#shop-view .shop-compact-controls{min-height:120px;flex:none}
#shop-grid>.shop-card{height:var(--selection-card-height);min-height:0;padding:12px;gap:4px}
#shop-grid .card-top{min-height:18px}#shop-grid .price-value{font-size:12px}#shop-grid .card-weapon{font-size:10px}#shop-grid .card-name{font-size:12px;line-height:1.4;padding-right:14px}#shop-grid .shop-add-mark{right:10px;bottom:12px}
#shop-grid>.shop-card>img{height:78px;margin:6px 0;flex-shrink:0}#shop-grid .shop-no-image{height:90px}
.shop-footer{margin-top:auto}.shop-footer .shop-checkout{min-height:52px;margin:0;padding:0 16px 12px;border-top:0}.shop-footer .shop-checkout>span{gap:4px}.shop-footer .shop-checkout strong{font-size:13px}.shop-footer .shop-checkout .outline-btn{min-height:34px}
@media(min-width:1500px){.selection-panel{--selection-columns:4;--selection-grid-height:558px}}
@media(max-width:900px){.selection-panel{--selection-columns:2;--selection-grid-height:1090px}}
@media(max-width:650px){.selection-panel{--selection-card-height:160px;--selection-grid-height:1012px}#shop-view>.shop-grid{padding:0 12px 12px}#shop-grid>.shop-card{padding:10px}#shop-grid .price-value{font-size:10px}#shop-grid .card-weapon{font-size:9px}#shop-grid .card-name{font-size:11px}#shop-grid>.shop-card>img{height:72px;margin:3px 0}.shop-footer .shop-checkout{padding-inline:12px}.shop-footer .shop-checkout .outline-btn{min-height:40px}}

/* Administration follows the same Manrope, spacing and surface system as the site. */
#admin-view,#shared-view,#not-found-view{padding:38px 0 48px;min-height:70vh}#admin-view .page-heading{padding:0 0 24px}.admin-nav{display:flex;gap:8px;padding:8px;background:#101310;border:1px solid #2b3028;border-radius:12px;margin-bottom:24px;overflow-x:auto}.admin-nav a{text-decoration:none;color:#929b8b;padding:12px 18px;border-radius:8px;font-weight:700;white-space:nowrap}.admin-nav a:hover,.admin-nav a.active{background:#20291a;color:#c1e887}.admin-card{border:1px solid #2b3028;border-radius:14px;padding:24px;background:linear-gradient(145deg,#151915,#101210);min-width:0}.admin-card h2{font-size:26px;letter-spacing:-.8px;margin:12px 0 20px}.admin-card h3{font-size:16px;margin:0 0 16px}.admin-card p,.admin-user-heading p{font-size:12px;color:#969f91;line-height:1.8}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.admin-stats small{display:block;font-size:11px;color:#929d88;margin-bottom:16px}.admin-stats strong{font-size:25px;color:#c2e88d;overflow-wrap:anywhere}.admin-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-facts{display:grid;gap:18px;margin:26px 0}.admin-facts span{display:flex;justify-content:space-between;gap:12px;color:#929d88;font-size:12px}.admin-facts strong{color:#e0e5db}.admin-log article{padding:16px 0;border-bottom:1px solid #282e25}.admin-log article:last-child{border-bottom:0}.admin-log article>div{display:flex;justify-content:space-between;gap:14px;font-size:12px}.admin-log time,.admin-log small{font-size:10px;color:#929d88}.admin-log p{margin:8px 0}.admin-log details{margin-top:10px;font-size:11px;color:#aab99a}.admin-log summary{cursor:pointer}.admin-log pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px;color:#a4ad9c}.admin-search{display:flex;gap:12px;margin-bottom:20px}.admin-search label{flex:1}.admin-search input,.admin-card input,.admin-card select,#admin-promo-status input{width:100%;min-width:0;background:#0c100b;color:#e4e8df;border:1px solid #38422e;border-radius:8px;padding:12px;font:inherit;font-size:12px}.admin-card label,#admin-promo-status label{display:grid;gap:8px;font-size:11px;color:#b1bcaa;margin:18px 0}.admin-card select{min-height:42px}.admin-table-wrap{overflow:auto;border:1px solid #2b3028;border-radius:12px}.admin-table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}.admin-table th{text-align:left;background:#171c15;color:#9fac93;font-size:10px;padding:16px}.admin-table td{padding:16px;border-top:1px solid #252c21}.admin-table td:first-child b{color:#c2e88d;margin-right:8px}.admin-table td:first-child span{display:inline-block;max-width:220px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.admin-pager{display:flex;justify-content:space-between;align-items:center;color:#929d88;font-size:11px;margin-top:18px}.admin-pager>div{display:flex;gap:8px}.admin-pager button{height:34px;min-width:34px}.admin-back{display:inline-block;margin:0 0 24px;color:#b5cb9d;text-decoration:none;font-size:12px}.admin-user-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.admin-user-heading h2{font-size:30px;letter-spacing:-1px;margin:12px 0;overflow-wrap:anywhere}.admin-operations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:24px}.admin-operation{display:flex;flex-direction:column}.admin-operation p{margin:0 0 12px}.admin-operation button{margin-top:auto}.admin-form-error{color:#ff888a!important;font-size:12px;line-height:1.7}.admin-promo-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:24px;align-items:start}.admin-promo-layout>.admin-card{position:sticky;top:110px}.admin-promo-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.admin-promo-title{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.admin-promo-title h3{overflow-wrap:anywhere}.admin-status{font-size:10px;color:#a0a895}.admin-good{color:#c2e88d!important}.admin-promo-amount{font-size:28px;color:#c2e88d;display:block;margin:12px 0}.admin-usage{height:4px;background:#30372a;border-radius:5px;margin:18px 0}.admin-usage i{display:block;height:100%;background:#c2e88d;border-radius:5px}.admin-access{max-width:650px;margin:40px auto}.admin-access .outline-btn{display:inline-flex;margin:12px 10px 0 0;text-decoration:none}.admin-card a.outline-btn,.admin-user-heading a{text-decoration:none;display:inline-flex}.profile-site-id-line{display:flex;gap:8px;align-items:center;margin:6px 0;color:#c2e88d;font-size:11px}.chance-bonus-note{color:#c2e88d;font-size:10px;text-align:center;line-height:1.7;max-width:320px;margin:8px auto}.shared-page-card{max-width:780px;margin:24px auto}.shared-page-card .shared-profile-drop img{object-fit:contain}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:1000px){.admin-operations{grid-template-columns:1fr 1fr}.admin-operations form:last-child{grid-column:1/-1}.admin-promo-layout{grid-template-columns:1fr}.admin-promo-layout>.admin-card{position:static}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){#admin-view,#shared-view,#not-found-view{padding-top:24px}.admin-nav{gap:4px;padding:5px}.admin-nav a{padding:10px 12px;font-size:11px}.admin-stats{gap:9px;margin-bottom:14px}.admin-card{padding:16px}.admin-stats strong{font-size:21px}.admin-overview-grid,.admin-operations,.admin-promo-list{grid-template-columns:1fr;gap:14px}.admin-user-heading{align-items:flex-start;flex-direction:column}.admin-user-heading p{overflow-wrap:anywhere}.admin-user-heading h2{font-size:25px}.admin-log article>div{flex-wrap:wrap}.admin-card h2{font-size:23px}.admin-search{gap:8px}.admin-search input{font-size:11px}.admin-table td,.admin-table th{padding:12px}.admin-promo-layout{gap:14px}.profile-site-id-line{font-size:9px}}

.header a.nav-link{display:flex;align-items:center;text-decoration:none;justify-content:center}.header .nav-link.active:after{bottom:0}

.profile-user-meta{min-width:0}.profile-id-row{flex-wrap:wrap}#profile-steam-id{overflow-wrap:anywhere;min-width:0}.profile-site-id-line{flex-wrap:wrap}

/* Console: quiet surfaces, clear operational hierarchy, familiar site accents. */
#admin-remove-form label{display:grid;gap:8px;margin:18px 0;font-size:12px;color:#b4c5a4}#admin-remove-form input{width:100%;box-sizing:border-box;min-width:0;min-height:44px;padding:12px;border:1px solid #405031;border-radius:8px;color:#e1ebd8;background:#10150c;font:inherit;font-size:12px}#admin-remove-form input:focus-visible{outline:2px solid #bfe887;outline-offset:2px}#admin-remove-form .launch-btn{width:100%;font-size:12px;min-height:44px}@media(max-width:700px){#admin-content .admin-inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
#admin-content{--admin-line:#2a3225;--admin-muted:#929e87}.admin-section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.admin-section-head h2{margin:8px 0;font-size:25px;letter-spacing:-.7px}.admin-section-head p{margin:6px 0 0;font-size:12px;color:var(--admin-muted);line-height:1.75}.admin-section-head>.outline-btn{flex-shrink:0}.admin-metric{padding:20px;position:relative;overflow:hidden;background:radial-gradient(ellipse at top right,#b9df7810,transparent 70%),#121611}.admin-metric>div{display:flex;align-items:center;gap:9px;margin-bottom:20px}.admin-metric>div>.ui-icon{width:16px;height:16px;color:#b9de82}.admin-metric small{margin:0}.admin-metric strong{font-size:clamp(19px,2vw,28px);letter-spacing:-.7px;line-height:1.3;color:#e4ebdc;font-variant-numeric:tabular-nums}.admin-metric strong>.currency-icon{width:17px;height:17px}.admin-metric p{font-size:10px;margin:9px 0 0;color:#8b9782}.admin-space{margin-top:22px}.admin-chart{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;align-items:end;height:175px;padding:0 5px 18px;border-bottom:1px solid var(--admin-line);margin:14px 0}.admin-chart>div{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:9px;height:100%}.admin-chart span{font-size:11px;font-weight:700;color:#d6e3c6}.admin-chart i{display:block;width:100%;max-width:36px;min-height:3px;border-radius:5px 5px 2px 2px;background:linear-gradient(#bfe780,#5b7839)}.admin-chart small{font-size:9px;color:var(--admin-muted)}.admin-game-list article{padding:14px 0;border-top:1px solid var(--admin-line)}.admin-game-list article:first-child{border-top:0;padding-top:0}.admin-game-list article>div{display:flex;align-items:center;justify-content:space-between;font-size:13px}.admin-game-list b{font-size:19px;color:#c3e88d;font-variant-numeric:tabular-nums}.admin-game-list p{margin:5px 0}.admin-game-list small{font-size:10px;color:#a9bc93}.admin-shortcuts{display:grid;gap:10px}.admin-shortcuts a{display:flex;align-items:center;gap:13px;padding:16px;border:1px solid var(--admin-line);border-radius:10px;text-decoration:none;color:#bdda9e;background:#171d13;transition:background .18s,border-color .18s}.admin-shortcuts a:hover{background:#202a18;border-color:#667a48}.admin-shortcuts a>.ui-icon{width:21px;height:21px}.admin-shortcuts a>.ui-icon:last-child{margin-left:auto;width:16px}.admin-shortcuts a span{display:grid;gap:5px}.admin-shortcuts a strong{font-size:13px;color:#e0e7d8}.admin-shortcuts a small{font-size:10px;color:var(--admin-muted)}.admin-list-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.admin-chips{display:flex;gap:5px;flex-wrap:wrap}.admin-chips button{min-height:36px;border:1px solid transparent;border-radius:7px;padding:8px 12px;color:#9daa91;background:#151a12;font:inherit;font-size:11px;cursor:pointer}.admin-chips button[aria-pressed=true]{border-color:#556d38;color:#c7eaa0;background:#222e19}.admin-search label{display:flex;align-items:center;gap:11px;border:1px solid var(--admin-line);background:#0e120d;border-radius:10px;padding-left:15px;min-width:0}.admin-search label>.ui-icon{width:18px;color:#93a280;flex-shrink:0}.admin-search input{background:transparent;border:0;padding:14px;width:100%;color:#e4ebdf;font:inherit;font-size:12px;min-width:0}.admin-search label:focus-within{outline:2px solid #b9df78;outline-offset:2px}.admin-search input:focus{outline:0}.admin-user-cell{display:flex;align-items:center;gap:12px;min-width:0}.admin-user-cell>div{min-width:0}.admin-user-cell strong{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;max-width:220px}.admin-user-cell small,.admin-user-table td>small{display:block;font-size:10px;color:var(--admin-muted);margin-top:7px}.admin-avatar{width:37px;height:37px;border:1px solid #465738;border-radius:12px;background:linear-gradient(140deg,#354628,#20291a);display:flex;align-items:center;justify-content:center;color:#cae4ab;font-size:16px;font-weight:800;flex-shrink:0}.admin-avatar-large{width:66px;height:66px;font-size:28px;border-radius:18px}.admin-user-heading h2{margin:8px 0}.admin-user-heading p{margin:0}.admin-user-table td{white-space:normal}.admin-user-table td:first-child{min-width:220px}.admin-user-table td:nth-child(2){min-width:160px;font-variant-numeric:tabular-nums}.admin-user-table td:nth-child(3){min-width:180px}.admin-user-table .outline-btn{padding:10px;min-width:38px}.admin-mode-pills{display:flex;gap:6px;flex-wrap:wrap}.admin-mode-pills>span{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid #37432d;border-radius:6px;color:#adbf99;background:#1c2517;font-size:10px;line-height:1.3}.admin-mode-pills .ui-icon{width:13px;height:13px}.admin-presence{font-size:10px;color:var(--admin-muted)}.admin-presence.is-online{color:#c3e78f}.admin-presence.is-online:before{content:'';width:5px;height:5px;display:inline-block;border-radius:50%;background:#bce77e;margin-right:6px}.admin-heading-actions{display:flex;align-items:center;gap:8px}.admin-user-tabs{display:flex;gap:5px;padding:5px;background:#0e120c;border:1px solid var(--admin-line);border-radius:11px;margin-bottom:22px;overflow-x:auto}.admin-user-tabs button{background:transparent;color:#91a081;border:1px solid transparent;min-height:40px;padding:10px 18px;border-radius:7px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.admin-user-tabs button[aria-selected=true]{color:#ceecad;background:#26331c;border-color:#425735}.admin-detail-list{margin:0}.admin-detail-list>div{display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--admin-line);padding:14px 0;font-size:11px}.admin-detail-list dt{color:var(--admin-muted)}.admin-detail-list dd{margin:0;text-align:right;color:#dce5d4;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0}.admin-note{display:flex;align-items:flex-start;gap:10px;border:1px solid #38452b;border-radius:10px;background:#202b173f;color:#aaba99;padding:15px;margin:20px 0;font-size:11px;line-height:1.8}.admin-note>.ui-icon{width:16px;height:16px;margin-top:2px;flex-shrink:0;color:#b9da90}.admin-balance-operations{grid-template-columns:1fr 1fr}.admin-balance-operations form:last-child{grid-column:auto}.admin-operation h3{font-size:19px}.admin-operation .launch-btn{min-height:46px;font-size:12px}.admin-operation input:focus-visible,.admin-card select:focus-visible,.admin-card input:focus-visible{outline:2px solid #bce681;outline-offset:2px}.admin-operation p{max-width:70ch}.admin-event-options{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-controls-form fieldset{border:1px solid var(--admin-line);border-radius:12px;padding:18px;margin:0;min-width:0;background:#10150d}.admin-controls-form legend{padding:0 8px;color:#d4e9bb;font-size:13px;font-weight:700}.admin-controls-form legend>.ui-icon{width:16px;height:16px;vertical-align:middle;margin-right:5px;color:#bfdf94}.admin-controls-form fieldset p{min-height:48px;margin-bottom:14px}.admin-segmented{display:flex;gap:4px;flex-wrap:wrap;padding:4px;border:1px solid var(--admin-line);background:#0b1008;border-radius:8px}.admin-segmented label{position:relative;margin:0;display:flex;flex:1;min-width:0;cursor:pointer}.admin-segmented input{position:absolute;opacity:0;width:1px;height:1px;padding:0;border:0;pointer-events:none}.admin-segmented span{display:flex;align-items:center;justify-content:center;width:100%;min-height:36px;padding:8px;font-size:11px;white-space:nowrap;border-radius:5px;color:#93a185}.admin-segmented input:checked+span{background:#2c3c1d;color:#d0efad;box-shadow:inset 0 0 0 1px #567b35}.admin-segmented input:focus-visible+span{outline:2px solid #bee783;outline-offset:2px}.admin-two-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center;margin-top:20px}.admin-controls-form .admin-two-fields fieldset{border:0;padding:0;background:none}.admin-controls-form .admin-two-fields legend{padding:0;margin-bottom:9px;font-weight:500;font-size:11px;color:#a8b69d}.admin-controls-form>button{align-self:flex-end;min-width:240px}.admin-inventory-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;align-items:start}.admin-inventory-layout>form{position:sticky;top:105px}.admin-inventory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.admin-inventory-grid>article{position:relative;border:1px solid #303b28;background:radial-gradient(ellipse at 50% 20%,#9bc1620b,transparent 70%),#10150d;border-radius:10px;padding:12px;min-width:0;display:flex;flex-direction:column}.admin-inventory-art{height:85px;display:flex;align-items:center;justify-content:center}.admin-inventory-art img{width:100%;height:100%;object-fit:contain}.admin-inventory-art>.ui-icon{width:35px;height:35px;color:#647552}.admin-inventory-grid small{color:#819174;font-size:9px;position:absolute;top:10px;right:10px}.admin-inventory-grid strong{font-size:11px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:10px 0 8px}.admin-inventory-grid span{color:#c8e2ab;font-size:11px;font-variant-numeric:tabular-nums}.admin-inventory-grid .outline-btn{align-self:flex-end;padding:7px;min-height:30px;min-width:30px;margin-top:8px;color:#94a586}.admin-inventory-pager{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:20px;color:#99aa8a;font-size:11px}.admin-inventory-pager button{min-height:38px;min-width:38px;padding:10px}.admin-inventory-pager button:disabled{opacity:.3;cursor:default}.admin-event-list article{display:flex;align-items:center;gap:16px;padding:16px 0;border-top:1px solid var(--admin-line)}.admin-event-list article:first-child{border:0}.admin-event-art{display:flex;align-items:center;justify-content:center;width:66px;height:60px;background:#192113;border:1px solid #2e3a24;border-radius:9px;flex-shrink:0}.admin-event-art img{width:90%;height:90%;object-fit:contain}.admin-event-list article>div:nth-child(2){flex:1;min-width:0}.admin-event-list strong{display:block;font-size:12px;color:#dbe9ce;margin:7px 0;overflow-wrap:anywhere}.admin-event-list p{margin:0 0 5px;font-size:11px;font-variant-numeric:tabular-nums}.admin-event-list small{font-size:10px;color:#8e9e80;line-height:1.8}.admin-event-list>.admin-status{flex-shrink:0}.admin-setting-title{display:flex;align-items:center;gap:13px;margin:20px 0 8px}.admin-setting-title>.ui-icon{width:30px;height:30px;color:#bedb91}.admin-setting-title h3{margin:0}.admin-setting-title p{margin:5px 0 0}.admin-explainer{padding-left:20px;color:#bed69e;font-size:13px}.admin-explainer li{padding:12px 0 12px 8px}.admin-explainer p{margin:7px 0 0}.admin-audit-filter{display:flex;align-items:end;gap:12px;margin-bottom:22px;padding:15px 20px}.admin-audit-filter label{flex:1;margin:0;min-width:0}.admin-audit-filter>.outline-btn{flex-shrink:0;min-height:42px}.admin-log summary{min-height:28px}.admin-card .outline-btn{font-size:11px}.admin-card .admin-facts strong{text-align:right}.admin-card .currency-icon{vertical-align:-2px}
@media(max-width:1050px){.admin-inventory-layout{grid-template-columns:250px minmax(0,1fr)}.admin-inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-user-table th:nth-child(3),.admin-user-table td:nth-child(3){display:none}.admin-event-options{grid-template-columns:1fr}.admin-controls-form fieldset p{min-height:0}}
@media(max-width:700px){.admin-section-head{align-items:flex-start;gap:12px;margin-bottom:18px;flex-wrap:wrap}.admin-section-head h2{font-size:22px}.admin-metric{padding:15px}.admin-metric>div{gap:6px;margin-bottom:14px}.admin-metric small{font-size:10px}.admin-metric strong{font-size:20px}.admin-metric p{font-size:9px}.admin-list-tools{align-items:flex-start;flex-direction:column}.admin-user-tabs{gap:2px}.admin-user-tabs button{padding:9px 13px;font-size:11px}.admin-inventory-layout{grid-template-columns:1fr}.admin-inventory-layout>form{position:static}.admin-inventory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-inventory-grid>article{padding:9px}.admin-inventory-art{height:65px}.admin-two-fields{grid-template-columns:1fr;gap:4px}.admin-controls-form>button{align-self:stretch;min-width:0}.admin-balance-operations{grid-template-columns:1fr}.admin-controls-form fieldset{padding:12px}.admin-event-list article{gap:10px;align-items:flex-start}.admin-event-art{width:47px;height:47px}.admin-event-list strong{font-size:11px}.admin-event-list .admin-status{font-size:9px}.admin-audit-filter{flex-wrap:wrap;padding:16px}.admin-audit-filter label{flex-basis:calc(50% - 12px)}.admin-audit-filter>.outline-btn{flex:1}.admin-heading-actions{flex-wrap:wrap}.admin-user-heading{gap:15px}.admin-avatar-large{width:50px;height:50px;border-radius:13px;font-size:22px}.admin-detail-list>div{gap:12px;font-size:10px}.admin-detail-list dd{max-width:65%}.admin-note{padding:12px;font-size:10px}.admin-chart{gap:9px}.admin-user-table thead{display:none}.admin-user-table,.admin-user-table tbody,.admin-user-table tr,.admin-user-table td{display:block;width:100%;white-space:normal}.admin-user-table tr{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid var(--admin-line);padding:14px;gap:12px}.admin-user-table td{border:0;padding:0!important;min-width:0!important}.admin-user-table td:first-child{grid-column:1/-1}.admin-user-table td:nth-child(2){grid-column:1}.admin-user-table td:nth-child(4){grid-column:1;font-size:10px}.admin-user-table td:last-child{grid-column:2;grid-row:2/4;align-self:center}.admin-user-table .admin-user-cell strong{max-width:100%}.admin-user-table .currency-icon{width:12px;height:12px}.admin-game-list article>div{font-size:12px}}
@media(max-width:370px){.admin-inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-segmented span{font-size:10px;padding:8px 6px}.admin-metric strong{font-size:18px}.admin-metric>div>.ui-icon{width:13px;height:13px}.admin-audit-filter label{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){#admin-view *{scroll-behavior:auto!important;transition:none!important}}

.admin-change-summary{color:#c0df9b!important;font-variant-numeric:tabular-nums}
@media(max-width:700px){#admin-content .admin-stats .admin-card{grid-column:auto}#admin-content .admin-user-table tbody{display:block}#admin-content .admin-user-table tr{grid-template-columns:1fr auto}#admin-content .admin-user-table td:nth-child(2){grid-column:1}#admin-content .admin-user-table td:last-child{grid-column:2}#admin-content .admin-user-table td:before{display:none}#admin-content .admin-user-table td:nth-child(2):before{display:block}#admin-content .admin-user-table td:last-child .outline-btn{min-width:40px}}
.admin-mutation-review{padding:16px 18px;border:1px solid #405331;border-radius:10px;background:#172010;margin:18px 0}.admin-mutation-review p{line-height:1.85;overflow-wrap:anywhere}.admin-mutation-review small{font-size:10px;color:#93aa7f}.admin-mutation-warning{color:#d4e5a1!important;font-weight:700}.admin-mutation-reason{overflow-wrap:anywhere}#admin-mutation-reload{margin-top:12px}#admin-mutation-form input[readonly]{opacity:.65}
#admin-mutation-form{display:grid;gap:14px}#admin-mutation-form>label{display:grid;gap:10px;font-size:12px;color:#a5b795}#admin-mutation-form input{width:100%;min-width:0;box-sizing:border-box;height:44px;padding:0 13px;background:#0e1609;border:1px solid #425b2d;border-radius:8px;font:inherit;color:#e2ecd9}#admin-mutation-form input:focus-visible{outline:2px solid #bee48b;outline-offset:2px}#admin-mutation-form>.admin-form-error:empty{display:none}#admin-mutation-form .launch-btn{width:100%;min-width:0;white-space:normal;line-height:1.5;padding:13px 16px}

.activity-cards{isolation:isolate}.activity-card{position:relative;overflow:hidden;flex-shrink:0}.activity-card:before,.activity-card:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:0;border-radius:inherit}.activity-card:before{background:radial-gradient(ellipse at 20% 80%,color-mix(in srgb,var(--feed-accent,var(--rarity)) 21%,transparent),transparent 75%);z-index:-1}.activity-card:after{background:linear-gradient(110deg,transparent 25%,#ffffff1c 48%,#fff3 50%,transparent 73%);transform:translateX(-120%)}.activity-card[data-feed-result=secret]{border-bottom-color:#ff4d51!important;background:linear-gradient(120deg,#ff4d510c,#111410)}.activity-card[data-feed-result=secret] b{color:#ff777b}.activity-card[data-feed-result=win] b{color:#c2e88d}.activity-card[data-feed-result=loss] b{color:#939a90}.activity-card img{position:relative;z-index:1;filter:drop-shadow(0 5px 8px #0006) drop-shadow(0 0 10px color-mix(in srgb,var(--rarity,#a16af1) 0%,transparent))}.activity-card small,.activity-card strong,.activity-card b{position:relative;z-index:2}.activity-card.feed-arrival{will-change:transform,opacity}.activity-card.feed-arrival:before{animation:feed-surface .62s var(--feed-enter-delay,0ms) ease-out}.activity-card.feed-arrival:after{animation:feed-sheen .48s calc(var(--feed-enter-delay,0ms) + 80ms) cubic-bezier(.2,.7,.3,1)}
@keyframes feed-surface{0%{opacity:.1}25%{opacity:1}100%{opacity:0}}@keyframes feed-sheen{0%{opacity:0;transform:translateX(-120%)}20%{opacity:1}100%{opacity:0;transform:translateX(120%)}}
@media(prefers-reduced-motion:reduce){.activity-card.feed-arrival:before,.activity-card.feed-arrival:after{animation:none!important}.activity-card.feed-arrival{will-change:auto}}

.activity-cards:empty:before{content:attr(data-empty);align-self:center;padding:0 18px;color:#8e9984;font-size:11px;white-space:nowrap}@media(max-width:650px){.activity-cards:empty:before{font-size:9px;padding:0 10px}}

/* Strip polish: a soft light along the top, live radar ping, cards that glow in their rarity on hover
   with a light sweep and a tilting skin. The right edge fades into the "all drops" button. */
.activity-strip{position:relative;background:radial-gradient(ellipse 60% 120% at 8% 0,#b9dd7c0d,transparent 70%),linear-gradient(180deg,#111412,#0d0f0e)}
.activity-strip:before{content:'';position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,#ffffff12 30%,#ffffff12 70%,transparent);pointer-events:none}
.activity-title .live-dot{position:relative;background:#c5ed63;box-shadow:0 0 10px #c5ed63aa}
.activity-title .live-dot:after{content:'';position:absolute;inset:-1px;border-radius:50%;border:1px solid #c5ed63;animation:feed-ping 1.9s cubic-bezier(.2,.7,.3,1) infinite}
@keyframes feed-ping{0%{transform:scale(1);opacity:.9}100%{transform:scale(3.6);opacity:0}}
.activity-title strong{letter-spacing:.01em;text-shadow:0 0 14px #b9dd7c33}
.activity-cards{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent)}
.activity-card{border:1px solid #ffffff08;border-bottom:2px solid var(--rarity,#a16af1);background:linear-gradient(180deg,#ffffff05,#ffffff02 55%,color-mix(in srgb,var(--rarity,#a16af1) 9%,transparent))}
/* Hover glow fades in at once: the skin keeps the same two shadows and only their colour changes, so the
   browser interpolates instead of popping in a second shadow. */
.activity-card img{transition:transform .4s var(--motion-soft),filter .28s cubic-bezier(.23,1,.32,1)}
.activity-card:focus-visible{outline:2px solid var(--lime);outline-offset:-2px}
.activity-card[data-feed-result=secret]{animation:feed-secret 2.6s ease-in-out infinite}
@keyframes feed-secret{50%{box-shadow:inset 0 -14px 22px -14px #ff4d5166,0 0 14px #ff4d5122}}
.activity-more{position:relative;transition:color .2s,background .2s}
.activity-more svg{transition:transform .3s var(--motion-soft)}
.feed-pause{transition:color .2s,border-color .2s,box-shadow .2s,transform .2s}
@media(hover:hover) and (pointer:fine){
 .activity-card:hover:not(:disabled){border-color:color-mix(in srgb,var(--rarity,#a16af1) 35%,transparent);box-shadow:0 12px 26px #0006,0 6px 22px -8px color-mix(in srgb,var(--rarity,#a16af1) 55%,transparent),inset 0 -18px 26px -18px var(--rarity,#a16af1)}
 .activity-card:hover:before{opacity:1;transition:opacity .3s}
 .activity-card:hover:after{opacity:1;transform:translateX(120%);transition:transform .75s cubic-bezier(.2,.7,.3,1),opacity .2s}
 .activity-card:hover img{transform:scale(1.12) rotate(-7deg) translateY(-2px);filter:drop-shadow(0 6px 10px #0008) drop-shadow(0 0 10px color-mix(in srgb,var(--rarity,#a16af1) 60%,transparent))}
 .activity-card:hover strong{color:#fff}
 .activity-cards:has(.activity-card:hover) .activity-card:not(:hover){opacity:.62;transition:opacity .25s,transform .28s var(--motion-soft)}
 .activity-more:hover{color:var(--lime);background:#181c16}
 .activity-more:hover svg{transform:translateX(3px)}
 .feed-pause:hover{box-shadow:0 0 12px #b9dd7c33;transform:translateY(-1px)}
}
@media(prefers-reduced-motion:reduce){
 .activity-title .live-dot:after,.activity-card[data-feed-result=secret]{animation:none!important}
 .activity-card:hover:after{transition:none!important;opacity:0!important}
 .activity-card:hover img,.activity-more:hover svg,.feed-pause:hover{transform:none!important;transition:none!important}
}
/* One mobile layout owns the strip, card and artwork geometry. The artwork is
   an ordinary grid cell: no absolute offsets or inherited negative margins. */
@media(max-width:760px){
 .activity-strip{height:94px;min-height:94px;padding:10px 0 11px 12px;gap:10px;align-items:center}
 .activity-title{display:grid;grid-template-columns:5px auto;justify-content:center;align-content:center;align-items:center;column-gap:4px;row-gap:3px;width:54px;min-width:54px;padding:0}
 .activity-title strong{font-size:9px;line-height:12px;white-space:nowrap}
 .activity-title small{grid-column:1/-1;width:auto;padding:0;text-align:center;font-size:8px;line-height:10px}
 .activity-title>.live-dot{width:4px;height:4px;margin:0}
 .activity-title .feed-pause{grid-column:1/-1;width:30px;height:30px;min-width:30px;min-height:30px;margin:0;justify-self:center;display:grid;place-items:center}
 .activity-title .feed-pause .ui-icon{width:12px;height:12px}
 .activity-cards{height:72px;min-height:72px;padding:0;gap:6px;align-items:stretch;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent)}
 .activity-card{flex:0 0 180px;width:180px;min-width:180px;height:72px;min-height:72px;padding:8px;border-radius:9px;grid-template-columns:64px minmax(0,1fr);grid-template-rows:12px 16px 13px;grid-template-areas:'art weapon' 'art name' 'art result';column-gap:6px;row-gap:2px;align-content:center;text-align:left}
 .activity-card img{grid-area:art;position:static;inset:auto;width:64px;height:52px;max-width:100%;margin:0;align-self:center;object-fit:contain}
 .activity-card small,.activity-card strong,.activity-card b{min-width:0;max-width:100%;width:auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
 .activity-card small{grid-area:weapon;font-size:8px;line-height:12px}
 .activity-card strong{grid-area:name;font-size:11px;line-height:16px}
 .activity-card b{grid-area:result;font:9px/13px var(--font)}
 .activity-card b .ui-icon{width:9px;height:9px;vertical-align:-1px}
}
/* Steam nicknames run from 2 to 32 characters: one line, ellipsis; the full name stays in the aria-label. */
.activity-card b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Odometer reels (odometer.mjs). Each reel is one digit tall with soft top and bottom edges, so a digit rolls in
   from below and leaves upwards instead of being cut by a hard line. Only the strip's transform moves. */
.odo{display:inline-flex;align-items:flex-start;height:1.3em;line-height:1.3em;vertical-align:middle}
.odo-col{display:block;height:1.3em;overflow:hidden;-webkit-mask-image:linear-gradient(transparent,#000 24%,#000 76%,transparent);mask-image:linear-gradient(transparent,#000 24%,#000 76%,transparent)}
.odo-strip{display:flex;flex-direction:column}
.odo-strip i{display:block;height:1.3em;font-style:normal;text-align:center}
.odo-sep{display:block;min-width:.22em}
.header-online strong{display:inline-flex;transition:color .5s ease}
.header-online strong.is-ticking{color:var(--lime);transition-duration:.15s}
.header-online.is-ticking .live-dot{animation:odo-ping .9s cubic-bezier(.23,1,.32,1)}
@keyframes odo-ping{from{box-shadow:0 0 0 0 #b9dd7caa}to{box-shadow:0 0 0 7px #b9dd7c00}}
@media(prefers-reduced-motion:reduce){.header-online.is-ticking .live-dot{animation:none}}

/* Cases use the same Manrope, graphite surfaces and lime feedback as the upgrader. */
#cases-view[hidden],#case-detail-view[hidden]{display:none}
#cases-view,#case-detail-view{width:100%;min-width:0}

.case-quantities button{border:1px solid #2a3027;border-radius:6px;background:#131611;padding:11px 15px;color:#a8b19e;font-size:11px;font-weight:600;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
.case-quantities button.active{background:var(--lime);color:#15200d;border-color:var(--lime)}

:is(#cases-view,#case-detail-view) .currency-icon{width:14px;height:14px;flex-shrink:0;vertical-align:middle}
.case-empty{grid-column:1/-1;min-height:170px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:28px;color:#a8b29d;text-align:center;font-size:12px}.case-empty a{color:var(--lime)}
.case-detail-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0 20px}.case-detail-bar>span{font-size:8px;letter-spacing:1.6px;color:#8c957d}.case-detail-bar .outline-btn{font-size:10px;padding:9px 12px;background:#11140f;border-color:#30362b}.case-detail-bar button[aria-pressed=true]{color:var(--lime);border-color:#b9dd7c80}
.case-scene{position:relative;isolation:isolate;border:1px solid #2c3425;border-radius:12px;overflow:hidden;background:#0d100c;min-width:0}
.case-scene-bg{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#080c0870,transparent 34%,#080c08b0 86%,#080c08f5),url('/assets/case-bg/warehouse-v2.webp') center 53%/cover;opacity:.85;transition:filter .45s,opacity .45s}
.case-scene-title{text-align:center;padding:28px 20px 0;position:relative;z-index:2}.case-scene-title h1{font-size:var(--title-size);margin-top:10px}.case-scene-title p{color:#b0b7a6;max-width:520px;margin:8px auto 0}.case-scene-title .eyebrow{color:#b6c699}
.case-stage{position:relative;height:335px;display:grid;place-items:center;min-width:0;transition:height .35s var(--motion-soft)}
.case-stage-crate{width:min(470px,75%);height:100%;object-fit:contain;filter:drop-shadow(0 20px 22px #0009);transition:opacity .3s,transform .5s var(--motion-soft);pointer-events:none}
.is-opening .case-stage-crate{opacity:0;transform:translateY(8px) scale(.97)}.is-opening .case-scene-bg{filter:brightness(.65);opacity:.9}
.case-controls{display:flex;justify-content:center;align-items:center;gap:18px;padding:8px 24px;position:relative;z-index:4;flex-wrap:wrap}
.case-quantities{display:flex;gap:5px}.case-quantities button{padding:11px 12px;font-size:11px;min-width:36px;background:#10150ed9}.case-quantities button.active{background:#b9dd7c15;color:var(--lime);border-color:#b9dd7c9c}
.case-open{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--lime);color:#16210e;border:1px solid #c9e99a;border-radius:7px;min-height:44px;min-width:250px;padding:12px 24px;font-size:12px;font-weight:800;transition:filter .2s,box-shadow .2s}
.case-open:disabled{opacity:.5;cursor:default}.case-open:not(:disabled):hover{filter:brightness(1.07);box-shadow:0 4px 24px #b9dd7c20}.case-open .currency-icon{color:inherit}
.case-open[data-state=insufficient]{flex-direction:column;gap:3px;opacity:1;background:#1c2416;border-color:#4b5d32;color:#d5e5bf;cursor:not-allowed;padding-block:7px}
.case-open[data-state=insufficient]>span{display:flex;align-items:center;justify-content:center;gap:6px}
.case-open[data-state=insufficient]>small{font-size:9px;line-height:1.2;font-weight:500;color:#a5b58f}
.case-load-notice{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px 16px;border:1px solid #364328;border-radius:10px;background:#151c10;color:#b4c3a0;font-size:11px;line-height:1.6}
.case-load-notice p{flex:1;min-width:180px;margin:0}
.case-fast{display:flex;align-items:center;justify-content:center;gap:8px;font-size:10px;color:#b1b9a8;border:1px solid #343b2c;background:#0e140cce;border-radius:6px;height:39px;padding:0 12px}.case-fast svg{width:12px;height:12px}.case-switch{width:28px;height:16px;position:relative;border-radius:20px;background:#363d2e}.case-switch:after{content:'';position:absolute;width:12px;height:12px;border-radius:50%;background:#a2aa98;left:2px;top:2px;transition:transform .2s,background .2s}.case-fast[aria-checked=true] .case-switch:after{transform:translateX(12px);background:var(--lime)}.case-fast[aria-checked=true]{border-color:#b9dd7c66;color:var(--lime)}
.case-scene-note{font-size:9px;line-height:1.7;color:#939e87;text-align:center;margin:12px 18px 24px}
.case-reel-layer{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:12px;animation:case-reel-arrive .45s var(--motion-soft)}.case-reel-layer[hidden]{display:none}.case-reel-status{text-align:center;color:#dde9d0;font-size:12px;font-weight:700;min-height:18px}
.case-reels{display:flex;flex-direction:column;gap:10px;min-width:0}.case-reel{position:relative;height:218px;overflow:hidden;isolation:isolate;mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.case-reel:before,.case-reel:after{content:'';position:absolute;left:50%;transform:translateX(-50%) rotate(45deg);width:9px;height:9px;background:var(--lime);z-index:5;box-shadow:0 0 15px #b9dd7c99}.case-reel:before{top:2px}.case-reel:after{bottom:2px}.case-center-line{position:absolute;left:50%;top:0;bottom:0;width:1px;background:#b9dd7c75;box-shadow:0 0 12px #b9dd7c66;z-index:4;pointer-events:none}
.case-reel-track{position:relative;display:flex;gap:8px;align-items:stretch;will-change:transform;height:calc(100% - 16px);top:8px;width:max-content}
.case-loot{display:flex;flex-direction:column;min-width:0;padding:12px;background:radial-gradient(ellipse at 50% 25%,color-mix(in srgb,var(--rarity) 13%,transparent),transparent 80%),#121611e8;border:1px solid #31382b;border-bottom:2px solid var(--rarity);border-radius:7px;overflow:hidden;position:relative}
.case-loot-top{display:flex;justify-content:space-between;gap:5px;font-size:8px;color:#9ea795;min-height:14px}.case-odds{font-variant-numeric:tabular-nums;color:#bbc9a8}.case-loot img{width:100%;height:110px;object-fit:contain;filter:drop-shadow(0 9px 10px #0006);margin:5px 0 10px}.case-loot small{font-size:9px;color:#9ba68f;line-height:1.5;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.case-loot>strong{font-size:11px;color:#edf1e7;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;line-height:1.6}.case-loot-price{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:#cfdfba;margin-top:10px}.case-loot-price svg{width:11px;height:11px}
.case-roll-card{flex:0 0 180px;width:180px}.case-roll-card img{height:90px;margin:0 0 5px}.case-roll-card .case-loot-price{display:none}.case-roll-card.is-award{border-color:var(--lime);box-shadow:inset 0 0 30px #b9dd7c13,0 0 24px #b9dd7c30}.case-roll-card.is-award:after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,#fff2 45%,transparent 65%);animation:case-award-shine .8s ease-out both;pointer-events:none}
.case-reels-multi{display:grid;grid-template-columns:repeat(var(--reel-columns),minmax(0,1fr));padding:0 16px;gap:9px}.case-reels-multi .case-reel{height:134px}.case-reels-multi .case-roll-card{flex-basis:140px;width:140px;padding:6px 9px}.case-reels-multi .case-loot-top{min-height:8px;font-size:7px}.case-reels-multi .case-loot img{height:56px;margin:0}.case-reels-multi .case-loot small{font-size:8px}.case-reels-multi .case-loot strong{font-size:9px}.case-stage.case-stage-multi{height:335px}.case-stage-multi .case-stage-crate{position:absolute;inset:0;margin:auto}.case-stage-multi .case-reel-layer{width:100%;padding:12px 0}
.case-contents{padding:32px 0 12px}.case-contents-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.case-contents-head h2{font-size:22px;letter-spacing:-.035em;margin:8px 0}.case-contents-head .eyebrow{color:#9bb17c;font-size:8px}.case-contents-source{font-size:9px;color:#93a082;line-height:1.8;text-align:right}.case-contents-note{font-size:10px;color:#909d82;line-height:1.7;margin:4px 0 20px}.case-contents-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px}
.case-results{max-width:780px;padding:28px;max-height:90dvh;overflow:auto;border-color:#485b34;background:#11160f}.case-results h2{letter-spacing:-.045em;margin:12px 0 22px;font-size:28px}.case-results::backdrop{background:#030702c9;backdrop-filter:blur(8px)}.case-results .eyebrow{color:#b9cd9e}.case-result-close{font-size:24px;background:none;border:0;color:#9ca88d}.case-result-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;max-height:46dvh;overflow:auto}.case-result-items:has(>.case-loot:only-child){max-width:280px;margin:auto}.case-result-items .case-loot{padding:14px}.case-result-total{display:flex;justify-content:space-between;gap:16px;align-items:center;color:#9fae90;font-size:11px;margin:22px 0 0}.case-result-total strong{display:flex;gap:6px;align-items:center;color:var(--lime);font-size:18px}.case-result-caption{font-size:9px!important;margin:8px 0 20px;line-height:1.7!important;color:#8d9b7d!important}.case-result-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}.case-result-actions .case-open{min-width:160px;flex:1}.case-result-actions .outline-btn{margin:0;min-height:44px}

@keyframes case-reel-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes case-award-shine{from{transform:translateX(-100%)}to{transform:translateX(100%)}}

@media(max-width:1050px){.case-contents-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.case-controls{gap:10px}}
@media(max-width:700px){.case-detail-bar{gap:6px}.case-detail-bar>span{font-size:7px;letter-spacing:1px}.case-detail-bar .outline-btn{font-size:9px;padding:8px}.case-scene-title{padding:24px 15px 0}.case-scene-title h1{font-size:32px}.case-scene-title p{font-size:10px}.case-stage{height:275px}.case-stage-crate{width:90%}.case-controls{padding:0 14px;gap:12px}.case-quantities{order:2;gap:4px;flex:1}.case-quantities button{flex:1;min-width:0;font-size:10px;padding:10px 8px}.case-open{min-width:0;flex-basis:100%;min-height:46px;font-size:12px}.case-fast{order:3;font-size:9px;padding:0 8px;height:35px}.case-fast .ui-icon{display:none}.case-switch{width:26px}.case-fast[aria-checked=true] .case-switch:after{transform:translateX(10px)}.case-scene-note{font-size:8px;margin:14px 15px 20px}.case-contents{padding-top:28px}.case-contents-head{align-items:flex-start;gap:10px}.case-contents-head h2{font-size:20px}.case-contents-source{font-size:8px;max-width:130px}.case-contents-note{font-size:9px}.case-contents-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.case-loot{padding:10px}.case-loot img{height:92px}.case-loot>strong{font-size:10px}.case-odds{font-size:8px}.case-reel{height:200px}.case-roll-card{flex-basis:154px;width:154px}.case-roll-card img{height:92px}.case-reel-status{font-size:10px}.case-reels-multi{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 7px;gap:5px}.case-reels-multi .case-reel{height:127px}.case-stage-multi .case-reel-layer{padding-top:12px}.case-results{padding:25px 18px}.case-results h2{font-size:25px}.case-result-items{grid-template-columns:repeat(2,minmax(0,1fr))}.case-result-items:has(>.case-loot:only-child){display:block}.case-result-total{font-size:10px}.case-result-total strong{font-size:16px}.case-result-actions .outline-btn{font-size:10px;padding:10px}.case-result-actions .case-open{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.case-stage,.case-stage-crate,.case-scene-bg{transition:none}.case-reel-layer,.case-roll-card.is-award:after{animation:none}}

@media(max-width:700px){.case-stage.case-stage-multi{height:335px}.case-reels-multi[data-count="5"] .case-reel{height:88px}.case-reels-multi[data-count="10"] .case-reel{height:52px}.case-reels-multi[data-count="5"] .case-loot img{height:30px}.case-reels-multi[data-count="5"] .case-loot-top{display:none}.case-reels-multi[data-count="10"] .case-roll-card{display:grid;grid-template-columns:38px 1fr;grid-template-rows:12px 13px;column-gap:5px;align-content:center}.case-reels-multi[data-count="10"] .case-loot img{height:30px;grid-row:1/3;grid-column:1}.case-reels-multi[data-count="10"] .case-loot-top{display:none}.case-reels-multi[data-count="10"] .case-loot small,.case-reels-multi[data-count="10"] .case-loot strong{grid-column:2;font-size:8px;line-height:1.4}}

.case-reel-status{padding-left:84px;padding-right:84px}
/* These headings contain a vertical composition; the site's shared heading is a flex row. */
.case-scene-title.page-heading{display:block}
.case-scene-title.page-heading{padding-bottom:0}
.case-stage-crate{position:absolute;inset:0;margin:auto;min-height:0;max-height:100%;height:100%;width:min(470px,85%)}
.case-stage{overflow:hidden}
.case-reel-layer{animation:none}
.case-reels{transition:opacity .18s ease}
.case-reel-track{opacity:0}
.case-loot.is-award{isolation:isolate}
.case-roll-card.is-award{transition:border-color .22s,box-shadow .3s}
.case-results .case-open{color:#16210e}
@media(max-width:700px){.case-stage-crate{width:90%}}
@media(prefers-reduced-motion:reduce){.case-reels,.case-roll-card.is-award{transition:none}}
body[data-view="case-detail"] .activity-strip{display:none}
.case-scene-title .eyebrow{justify-content:center}
@media(max-width:700px){.case-stage{height:335px}}
.case-detail-actions{display:flex;align-items:center;gap:7px}
@media(max-width:400px){.case-detail-bar>span{display:none}}
/* A shallow curved conveyor: side cards recede; the server-selected card stays centered. */
.case-open:is(:hover,:focus-visible,:active):not(:disabled),.case-results .case-open:is(:hover,:focus-visible,:active){color:#16210e;-webkit-text-fill-color:#16210e}
.case-open{isolation:isolate;text-shadow:none}
.case-reel{perspective:1100px;perspective-origin:50% 50%}
/* Flat on purpose: each card carries its own perspective(); preserve-3d and backface-visibility made every card a
   compositor layer and re-layerized ~340 of them each frame at ×10 (≈12–40 fps). */
.case-reel-track{transition:opacity .18s ease-out}
.case-roll-card{transform-origin:center center}
.case-roll-card.is-focus{border-color:color-mix(in srgb,var(--rarity) 65%,#adb99c);box-shadow:inset 0 0 28px color-mix(in srgb,var(--rarity) 10%,transparent)}
.case-roll-card.is-award{border-color:var(--lime);box-shadow:0 0 23px #b9dd7c45,inset 0 0 30px #b9dd7c18}
.case-center-line{background:linear-gradient(0deg,#b9dd7c90,#d4f6aa,#b9dd7c90);box-shadow:0 0 12px #b9dd7ca0}
.case-reel-layer .case-reel-status{letter-spacing:.025em;color:#edf6e2;text-shadow:0 0 18px #b9dd7c30}
.case-drop-fx{position:absolute;inset:0;pointer-events:none;z-index:6;opacity:0;overflow:hidden}
.case-drop-fx:before{content:'';position:absolute;left:50%;top:50%;width:230px;height:230px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,color-mix(in srgb,var(--drop-color,#b9dd7c) 20%,transparent),transparent 70%)}
.case-drop-fx:after{content:'';position:absolute;left:50%;top:50%;width:160px;height:160px;border:1px solid color-mix(in srgb,var(--drop-color,#b9dd7c) 55%,transparent);border-radius:50%;transform:translate(-50%,-50%) scale(.7)}
.case-drop-fx i{position:absolute;left:50%;top:50%;width:3px;height:17px;background:linear-gradient(var(--drop-color,#b9dd7c),transparent);border-radius:5px;transform:rotate(calc(var(--spark)*30deg)) translateY(55px);opacity:0}
.is-revealing .case-drop-fx{animation:case-drop-light .7s ease-out both}
.is-revealing .case-drop-fx:after{animation:case-drop-wave .65s ease-out both}
.is-revealing .case-drop-fx i{animation:case-drop-sparks .6s cubic-bezier(.1,.65,.2,1) both;animation-delay:calc(var(--spark)*5ms)}
.case-results[open]{animation:case-result-enter .32s var(--motion-soft) both}
.case-results[open]::backdrop{animation:case-backdrop-enter .3s ease-out both}
.case-result-items .case-loot:only-child{background:radial-gradient(ellipse at 50% 35%,color-mix(in srgb,var(--rarity) 20%,transparent),transparent 78%),#121611}
.case-result-items .case-loot:only-child img{animation:case-loot-enter .5s var(--motion-soft) both}
@keyframes case-drop-light{0%{opacity:0}20%{opacity:1}100%{opacity:0}}
@keyframes case-drop-wave{0%{transform:translate(-50%,-50%) scale(.7);opacity:.7}100%{transform:translate(-50%,-50%) scale(1.75);opacity:0}}
@keyframes case-result-enter{from{opacity:0;transform:translateY(12px) scale(.975)}to{opacity:1;transform:none}}
@keyframes case-backdrop-enter{from{opacity:0}to{opacity:1}}
@keyframes case-loot-enter{from{opacity:.2;transform:translateY(9px) scale(.94)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.case-reel-track{transition:none}.case-drop-fx,.case-drop-fx:before,.case-drop-fx:after,.case-drop-fx i,.case-results[open],.case-results[open]::backdrop,.case-result-items .case-loot:only-child img{animation:none!important}.case-drop-fx{display:none}}
.case-roll-card{will-change:auto}
@media(prefers-reduced-motion:reduce){.case-roll-card{transform:none!important}}

.case-scene{user-select:none}

/* Premium drops reveal their identity only after the conveyor has stopped. */
.case-drop-fx .case-special-label{position:absolute;top:13px;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:2px;color:var(--drop-color);white-space:nowrap;text-shadow:0 0 18px color-mix(in srgb,var(--drop-color) 60%,transparent)}
.case-stage-multi .case-special-label{top:2px;font-size:8px}
.case-special-orbit{display:none;position:absolute;left:50%;top:50%;width:245px;height:245px;border:1px solid transparent;border-top-color:#efc779b3;border-bottom-color:#efc77980;border-radius:50%;transform:translate(-50%,-50%) rotate(-28deg) scaleY(.43);box-shadow:0 -3px 20px #efc77918}
.case-drop-fx i{transform:rotate(calc(var(--spark)*15deg)) translateY(55px)}
.case-stage[data-drop-tier=standard] .case-drop-fx i:nth-of-type(odd){display:none}
.case-stage[data-drop-tier=standard] .case-drop-fx i{height:10px;opacity:.4}
.case-stage[data-drop-tier=special] .case-drop-fx:before{width:370px;height:370px;background:radial-gradient(circle,#efc77924,transparent 67%)}
.case-stage[data-drop-tier=special] .case-drop-fx i{height:22px;background:linear-gradient(#fff6d4,#efc779a3,transparent)}
.case-stage[data-drop-tier=special].is-revealing .case-drop-fx{animation-duration:1.05s}
.case-stage[data-drop-tier=rare].is-revealing .case-drop-fx{animation-duration:.85s}
.case-stage[data-drop-tier=special].is-revealing .case-special-orbit{display:block;animation:case-special-orbit .9s cubic-bezier(.2,.7,.2,1) both}
.case-roll-card.is-award[data-reveal-tier=special]{border-color:#efc779;box-shadow:0 0 30px #efc77950,inset 0 0 30px #efc77913}
.case-roll-card.is-award[data-reveal-tier=rare]{box-shadow:0 0 30px color-mix(in srgb,var(--rarity) 40%,transparent),inset 0 0 28px color-mix(in srgb,var(--rarity) 15%,transparent)}
.case-results[data-reveal-tier=special]{border-color:#9e8548;box-shadow:0 25px 100px #000b,0 0 45px #efc77915}
.case-results[data-reveal-tier=special]>.eyebrow{color:#efc779;letter-spacing:2px}
.case-result-items .case-loot:is([data-case-kind=knife],[data-case-kind=gloves]){border-color:#9f8547;border-bottom-color:#efc779;background:radial-gradient(ellipse at 50% 35%,#efc77924,transparent 78%),#121611}
.case-result-items .case-loot:is([data-case-kind=knife],[data-case-kind=gloves]):before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 25%,#efc77919 47%,transparent 67%);animation:case-award-shine .85s ease-out both;pointer-events:none}
@keyframes case-special-orbit{0%{opacity:0;transform:translate(-50%,-50%) rotate(-55deg) scale(.6) scaleY(.43)}25%{opacity:.9}100%{opacity:0;transform:translate(-50%,-50%) rotate(20deg) scale(1.35) scaleY(.43)}}
@keyframes case-drop-sparks{0%{transform:rotate(calc(var(--spark)*15deg)) translateY(55px) scaleY(.4);opacity:0}18%{opacity:.7}100%{transform:rotate(calc(var(--spark)*15deg)) translateY(145px) scaleY(.2);opacity:0}}
@media(prefers-reduced-motion:reduce){.case-special-orbit,.case-result-items .case-loot:before{animation:none!important}.case-special-orbit{display:none!important}}

.case-composition-summary{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:8px 12px;border:1px solid #b9dd7c30;border-radius:999px;background:#b9dd7c08;color:#b9cc9e;font-size:11px}.case-composition-summary[hidden]{display:none}@media(max-width:760px){.case-contents-head{flex-wrap:wrap;gap:14px}}

/* Shared motion vocabulary. Only the current event gets a strong accent. */
:root{--motion-press:90ms;--motion-selection:150ms;--motion-window:260ms;--motion-reveal:440ms}
button:active:not(:disabled),a.outline-btn:active{transform:scale(.985);transition-duration:var(--motion-press)}
.skin-card,.profile-tab{transition-duration:var(--motion-selection)}
dialog[open]{animation-duration:var(--motion-window)}
.feed-pause{width:25px;height:22px;border:1px solid #30362c;border-radius:5px;color:#9aa68d;font-size:11px;line-height:1;grid-column:1/-1;justify-self:center}
.feed-pause:hover,.feed-pause[aria-pressed=true]{color:var(--lime);border-color:#7f9757}
.activity-title small{width:auto}
.case-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:.7;transition:opacity .25s}
.case-atmosphere i{position:absolute;left:calc(8% + var(--mote)*17%);bottom:10%;width:3px;height:3px;background:var(--case-accent);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);animation:case-mote 7s calc(var(--mote)*-1.2s) ease-in-out infinite}
.is-opening .case-atmosphere{opacity:0}
.is-opening .case-atmosphere i{animation-play-state:paused}
.case-stage.is-revealing .case-center-line{animation:marker-land .44s ease-out both;background:var(--drop-color);box-shadow:0 0 12px var(--drop-color)}
.case-stage.is-revealing .case-center-line:before,.case-stage.is-revealing .case-center-line:after{border-color:var(--drop-color)}
.case-drop-fx i{width:7px;height:13px;border-radius:0;clip-path:polygon(50% 0,100% 35%,70% 100%,0 65%);background:var(--drop-color)}
.case-stage[data-drop-tier=standard] .case-drop-fx i{display:none}
.case-stage[data-drop-tier=standard] .case-drop-fx i:nth-of-type(6n){display:block;height:7px;width:3px}
.case-stage[data-drop-tier=rare] .case-drop-fx i:nth-of-type(n+13){display:none}
.case-stage[data-drop-tier=special] .case-drop-fx i{width:9px;height:18px;clip-path:polygon(0 0,42% 24%,65% 0,100% 90%,30% 100%);background:linear-gradient(135deg,#fff6d4,#e8b85f)}
.case-results .case-result-items{animation:reward-continuity .32s var(--motion-soft) both}
/* Keep the familiar portrait rigid; movement reads as a pose, never rubber. */
.skuf-mascot.skuf-swap img{animation:mascot-arrive .3s ease-out both}
.skuf-mascot.skuf-spinning img,.skuf-mascot.skuf-settling img{animation:mascot-breathe 1.8s ease-in-out infinite}
.skuf-mascot.skuf-pulse img,.skuf-mascot.skuf-won img{animation:mascot-arrive .44s var(--motion-soft) both}
.lab[data-wheel=spinning] .ring-track{animation:rim-intent .35s ease-out both}
.lab:is([data-wheel=settling],[data-wheel=rebounding]) #ring-pointer{filter:drop-shadow(0 0 7px #d8f5a4)}
.lab:is([data-wheel=won],[data-wheel=lost]) #ring-pointer{animation:pointer-land .32s ease-out}
.lab[data-gold-round=true] #ring-gold{animation:secret-arc .36s ease-out both}
@keyframes case-mote{0%,100%{transform:translate3d(0,0,0);opacity:0}30%{opacity:.35}70%{transform:translate3d(12px,-100px,0);opacity:0}}
@keyframes marker-land{0%{opacity:.4;scale:1 .88}35%{opacity:1;scale:1.4 1.03}100%{opacity:1;scale:1}}
@keyframes reward-continuity{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes mascot-arrive{from{opacity:.25;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes mascot-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes rim-intent{from{opacity:.3}50%{opacity:1}to{opacity:.65}}
@keyframes pointer-land{0%{opacity:.5}40%,100%{opacity:1}}
@keyframes secret-arc{0%{opacity:0;stroke-width:2}40%{opacity:1;stroke-width:7}100%{opacity:1;stroke-width:5}}
@media(max-width:650px){.case-drop-fx i:nth-of-type(n+13){display:none!important}.case-atmosphere i:nth-child(n+4){display:none}.feed-pause{width:22px;height:20px}}
@media(prefers-reduced-motion:reduce){.case-atmosphere{display:none}:is(.case-center-line,.case-results .case-result-items,.skuf-mascot img,.ring-track,#ring-pointer,#ring-gold){animation:none!important}.case-atmosphere,button,a.outline-btn{transition:none!important}button:active:not(:disabled),a.outline-btn:active{transform:none}}

/* Site-wide optical alignment and responsive composition. */
:root{--surface:#111512;--surface-raised:#171c17;--line:#293029;--muted:#9aa397;--radius:12px;--control-height:40px;--space-section:28px}
html{scroll-padding-top:104px}body{background:#0b0e0c}
main{width:100%;min-width:0}main>section{min-width:0}
.header{background:#0b0f0deF;border-bottom:1px solid #ffffff0b}
.header-right{min-width:0}.header .balance strong{font-variant-numeric:tabular-nums;white-space:nowrap}
.header .account-trigger{overflow:hidden}.header nav{scrollbar-width:none}.header nav::-webkit-scrollbar{display:none}
.page-heading p,.profile-header-meta p{color:#a3ad9f;font-size:12px}
.page-heading .eyebrow,.profile-header-meta .eyebrow{color:#a2b18e}
.page-heading{gap:24px}.page-heading>div{min-width:0}
.page-heading>.outline-btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;flex-shrink:0;min-height:40px}
:is(.outline-btn,.search,select){border-radius:8px}
.market-toolbar :is(.search,select){min-height:var(--control-height)}
:is(input,select)::placeholder{color:#7f8b7b;opacity:1}
.skin-card,.profile-inventory-card{background:radial-gradient(ellipse at 50% 20%,#ffffff04,transparent 75%),var(--surface)}
.card-weapon,.card-weapon-label{color:#9ba496}.card-name{line-height:1.4}
.selection-panel,.profile-tabs{border-color:var(--line);background:#0f1310}
.selection-footer{background:#0f1310;border-top:1px solid #ffffff09;padding-top:12px}
.pagination button{min-width:34px;min-height:34px;border-radius:7px}
.pagination{font-variant-numeric:tabular-nums}.pagination>span{color:#a0ad98}
.empty-state{color:#a2ad9b;line-height:1.7;min-width:0;text-align:center}
dialog{background:#141915;border-color:#384330;color:var(--text);box-shadow:0 24px 90px #0009}.settings-preset-box{background:#101610;border-color:#2c3528}.settings-radio-group label{background:#151b15}.settings-modal{max-height:calc(100dvh - 32px)}
.activity-strip{border-color:#242c25}.activity-title small{color:#95a18c}
.feed-pause{min-width:25px;min-height:25px;font-family:var(--font)}
.case-detail-bar{margin:18px 0}.case-detail-bar .outline-btn{min-height:36px}
.case-contents-head{gap:20px}.case-contents-note,.case-contents-source{color:#a0ad94;line-height:1.7}
.case-result-items .case-loot{min-width:0}.case-result-caption{line-height:1.6}
.case-reels-multi[data-count="10"] .case-reel:before,.case-reels-multi[data-count="10"] .case-reel:after{width:4px;height:4px;box-shadow:none}.case-reels-multi[data-count="10"] .case-center-line{opacity:.65}
.case-open:focus-visible{outline-offset:5px}.case-controls{align-items:center}
/* Market: one compact status rhythm and controls that occupy the full row. */
.market-status{padding:16px 18px;background:#11170f;border:1px solid #2c3926;border-radius:10px;color:#bdcbb0;font-size:12px;line-height:1.7}
.market-status .subtle{color:#8f9d86;font-size:10px}#market-live{margin-top:-9px;padding:10px 18px;border-top:0;border-radius:0 0 10px 10px;background:#0f140e;font-size:11px;line-height:1.6}
.market-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) repeat(3,minmax(130px,170px));gap:10px;margin:20px 0}
.market-toolbar>.search{max-width:none;width:100%;min-width:0}.market-toolbar select{width:100%;font-size:11px;padding:0 12px;color:#c4cebb;background:var(--surface)}
.market-grid{gap:12px}.market-grid .skin-card{border-radius:10px}.market-grid .stock{font-size:10px;line-height:1.6;color:#a0b18f}
/* History uses the same material as inventory, with deliberate columns. */
.history-toolbar{gap:8px;margin-bottom:16px}.history-toolbar button{min-height:40px;border-radius:8px;font-weight:600}
.history-columns,.history-row{display:grid;grid-template-columns:48px minmax(160px,1fr) minmax(150px,180px) 106px 100px;gap:16px;align-items:center}
.history-columns{padding:12px 18px;color:#93a28b;font-size:10px;letter-spacing:.04em}
.history-columns>span:first-child{grid-column:1/3}.history-columns>span:nth-child(2){text-align:right}
#history-table{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}
.history-row{padding:16px 18px;background:transparent;border-bottom:1px solid #ffffff08;min-width:0}
.history-row:last-child{border-bottom:0}.history-row>div{min-width:0}.history-row img{width:48px;height:48px;object-fit:contain}
.history-row strong{display:block;font-size:12px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}
.history-row small{font-size:10px;color:#95a18d;line-height:1.6}.history-row>.price-value{font-size:12px;text-align:right;font-variant-numeric:tabular-nums}
.history-row>span:nth-last-child(2){font-size:11px}.history-row time{font-size:10px;color:#9aa493;font-variant-numeric:tabular-nums}
.history-row:hover{background:#c6e5a503}.history-row .lost{color:#ca9f95}.history-row .won{color:#bbdc8a}
/* Profile: the face is atmosphere, typography stays in the foreground. */
.profile-hero-card{border:1px solid #ffffff0a;border-radius:12px;padding-left:24px;padding-right:24px;margin:20px 0 16px;isolation:isolate}
.profile-header-meta{position:relative;z-index:3;max-width:60%}.hero-backdrop{z-index:-1}
.profile-main-strip,.profile-metric-box,.best-drop-card,.profile-extra-card{border-color:var(--line)}
.profile-user-meta h2{overflow-wrap:anywhere}.profile-user-box,.profile-progress-box{min-width:0}
.profile-user-meta{min-width:0}.profile-site-id-line,.profile-id-row{row-gap:6px}
.profile-metric-box .currency-val,.best-drop-price-wrap .currency-val{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;line-height:1.4}
.profile-balance-box .metric-box-header{min-width:0;gap:10px}.profile-balance-box .metric-box-header>div:last-child{min-width:0}
.profile-balance-box .metric-box-header{display:grid;grid-template-columns:30px minmax(0,1fr);gap:6px 10px}.profile-balance-box .metric-box-header>div:last-child{display:contents}.profile-balance-box .metric-icon{grid-column:1;grid-row:1;width:30px;height:30px}.profile-balance-box .metric-box-header small{grid-column:2;grid-row:1;align-self:center}
#profile-balance{grid-column:1/-1;grid-row:2;font-size:clamp(17px,1.65vw,23px);display:block;white-space:nowrap}
.profile-extra-card{min-width:0}.profile-coupon-form{min-width:0}.profile-coupon-form input{min-width:0}
.profile-tab-content{padding:16px}.profile-inventory-card .card-price-tag{font-variant-numeric:tabular-nums}
body[data-view=admin] .activity-strip{display:none}
.admin-nav{margin-bottom:20px}.admin-nav a{font-size:12px;min-height:40px}.admin-card{border-radius:12px}.admin-card h2{font-size:24px;line-height:1.3}
.admin-facts strong{overflow-wrap:anywhere;text-align:right}.admin-table th{font-size:11px}
.not-found-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:center;gap:30px;max-width:980px;margin:30px auto;min-height:380px}
.not-found-layout .page-heading{padding:0}.not-found-mascot{width:100%;max-height:340px;object-fit:contain;opacity:.8;filter:drop-shadow(0 20px 22px #0007)}
.not-found-layout .outline-btn{display:inline-flex;margin-top:16px;min-height:42px;align-items:center}
@media(max-width:1100px){.market-toolbar{grid-template-columns:minmax(160px,1fr) repeat(3,minmax(110px,140px))}.history-columns,.history-row{grid-template-columns:44px minmax(130px,1fr) 150px 90px 84px;gap:12px}}
@media(max-width:700px){
 :root{--space-section:20px;--control-height:40px}
 .page-heading{gap:12px}.page-heading p,.profile-header-meta p{font-size:11px}
 .header{display:grid;grid-template-columns:minmax(96px,1fr) auto;grid-template-rows:52px 40px;column-gap:8px;row-gap:0;height:auto;min-height:92px;padding:0 16px}.header .wordmark{grid-column:1;grid-row:1}.header-right{grid-column:2;grid-row:1;margin-left:0;gap:10px}.header .balance{padding-left:0;border-left:0}.header .balance strong{font-size:12px}.header .account-trigger{width:36px;height:36px}
 .header nav{grid-column:1/-1;grid-row:2;width:100%;height:40px;margin:0;gap:0;justify-content:space-between;overflow-x:auto}.header .nav-link{flex:0 0 auto;padding-inline:5px;font-size:10px}.header .nav-link:first-child{padding-left:0}
 .case-detail-bar{margin:14px 0}.case-detail-bar>span{display:none}.case-scene-title p{font-size:11px}.case-contents-head{flex-direction:column;gap:8px}.case-contents-source{max-width:none;text-align:left;font-size:10px}.case-contents-note{font-size:10px}.case-loot>strong{font-size:11px}.case-loot>small{font-size:10px}
 .case-skip{min-height:30px;top:0;font-size:9px}.case-reel-status{font-size:11px;padding-inline:85px}
 .market-toolbar{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}.market-toolbar>.search{grid-column:1/-1;min-width:0}.market-toolbar select{font-size:10px;padding:0 8px}.market-status{padding:14px;font-size:11px}#market-live{padding:10px 14px;font-size:10px}.market-grid{gap:10px}
 #market-view>.page-heading{display:block}#market-view>.page-heading>.outline-btn{margin-top:14px;font-size:11px}
 .history-columns{display:none}#history-table{border:0;background:none;display:grid;gap:8px}.history-row{grid-template-columns:40px minmax(0,1fr) 88px;grid-template-rows:auto auto;gap:5px 10px;padding:14px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
 .history-row img{grid-column:1;grid-row:1/3;width:40px}.history-row>div{grid-column:2;grid-row:1}.history-row strong{font-size:11px}.history-row>.price-value{grid-column:2;grid-row:2;text-align:left;font-size:10px;white-space:normal}.history-row>span:nth-last-child(2){grid-column:3;grid-row:1;font-size:10px;text-align:right}.history-row time{grid-column:3;grid-row:2;font-size:9px;text-align:right}.history-row small{font-size:9px}
 .profile-hero-card{height:180px;padding:28px 18px;margin-top:16px;overflow:hidden}.profile-header-meta{max-width:75%}.profile-header-meta h1{max-width:260px;text-wrap:balance}.profile-header-meta p{max-width:185px}.hero-character{width:200px;height:300px;top:12px;right:-15%;opacity:.4;mask-image:linear-gradient(90deg,transparent,#000 40%)}
 .profile-main-strip{grid-template-columns:minmax(0,1fr);padding:6px 12px}.profile-user-box{border-right:0;border-bottom:1px solid var(--line);padding:14px 4px;gap:12px}.profile-user-meta h2{font-size:17px}.profile-avatar-wrap{flex-shrink:0}.profile-progress-box{margin:0;padding:14px 4px}.profile-level-line{align-items:baseline}.profile-level-line .level-name{margin-left:auto;max-width:none;font-size:11px}.profile-progress-header>small{font-size:10px}.profile-progress-footer{font-size:10px}.profile-ranks-row{grid-column:1;margin:0;padding:8px 2px 18px;min-width:0}
 .profile-extra-card{padding:14px}.profile-tab-content{padding:12px}.profile-copy{flex-shrink:0}.profile-site-id-line{font-size:10px}#profile-steam-id{font-size:10px}
 .profile-metrics-grid{gap:10px}#profile-balance{font-size:clamp(13px,4vw,17px);line-height:1.5}.best-drop-name{overflow-wrap:anywhere}.best-drop-price-wrap .currency-val{font-size:18px}
 .admin-nav{gap:4px;padding:6px}.admin-nav a{font-size:11px;padding:10px 12px}.admin-card{padding:18px}.admin-stats{gap:10px}.admin-stats strong{font-size:22px}.admin-card h2{font-size:22px}.admin-user-heading h2{font-size:26px}.admin-promo-layout>.admin-card{position:static}
 .admin-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.admin-nav a{text-align:center;justify-content:center}
 .admin-user-heading+.admin-stats .admin-card:is(:first-child,:last-child){grid-column:1/-1}
 .admin-table-wrap{overflow:visible;border:0;background:none}.admin-table{display:block;white-space:normal}.admin-table thead{display:none}.admin-table tbody{display:grid;gap:12px}.admin-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
 .admin-table td{display:flex;flex-direction:column;gap:4px;padding:0;border:0;min-width:0;overflow-wrap:anywhere;white-space:normal;font-size:11px}.admin-table td:before{content:attr(data-label);font-size:9px;color:#96a38c}.admin-table td:first-child{display:block;grid-column:1/-1;font-size:13px}.admin-table td:first-child:before{display:block;margin-bottom:6px}.admin-table td:first-child span{max-width:100%;white-space:normal}.admin-table td:nth-child(2),.admin-table td:last-child{grid-column:1/-1}.admin-table td:last-child:before{display:none}.admin-table td:last-child .outline-btn{min-height:40px;justify-content:center}
 .settings-modal{max-height:calc(100dvh - 24px);padding:26px 20px}.settings-values.preset-multipliers{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-values label{min-width:0}.profile-copy{min-width:24px;min-height:24px}
 .not-found-layout{grid-template-columns:1fr;gap:12px;margin:10px 0;text-align:center}.not-found-mascot{max-height:210px;grid-row:1}.not-found-layout .page-heading{justify-content:center}
}
@media(max-width:360px){.header{padding-inline:12px}.header .wordmark{font-size:22px}.header .balance strong{font-size:10px}.header-right{gap:8px}.header .nav-link{font-size:9px;padding-inline:3px}.header .balance .currency-icon{width:10px}.profile-header-meta{max-width:88%}.hero-character{right:-27%;opacity:.25}.history-row{grid-template-columns:34px minmax(0,1fr) 76px;gap:6px}.history-row img{width:34px}}
/* Telegram link in the header: a dark tile with a lime paper plane, in the site style.
   It sends a soft pulse now and then; on hover the tile fills with lime and the plane flies out and back. */
.header-telegram{position:relative;display:grid;place-items:center;flex:none;width:40px;height:40px;border:1px solid #bee77955;border-radius:11px;background:radial-gradient(circle at 30% 20%,#bee7791f,transparent 70%),#10140e;color:var(--lime);transition:background .25s,border-color .25s,box-shadow .25s,transform .25s var(--motion-soft)}
.header-telegram:before{content:'';position:absolute;inset:-1px;border:1px solid var(--lime);border-radius:inherit;opacity:0;pointer-events:none;animation:tg-pulse 4.2s 1.5s ease-out infinite}
.header-telegram>span{display:grid;place-items:center;width:100%;height:100%;overflow:hidden;border-radius:inherit}
.header-telegram .ui-icon{width:19px;height:19px;transform:translate(-1px,1px) rotate(-12deg);filter:drop-shadow(0 0 6px #bee77966);transition:filter .25s}
.header-telegram:hover{border-color:var(--lime);background:var(--lime);color:#14200c;box-shadow:0 6px 22px #bee77940;transform:translateY(-1px)}
.header-telegram:hover .ui-icon{filter:none;animation:tg-fly .7s cubic-bezier(.5,0,.3,1)}
.header-telegram:hover:before{animation:none}
.header-telegram:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
@keyframes tg-pulse{0%{opacity:.7;transform:scale(1)}60%,100%{opacity:0;transform:scale(1.45)}}
@keyframes tg-fly{0%{transform:translate(-1px,1px) rotate(-12deg)}40%{transform:translate(20px,-20px) rotate(-12deg);opacity:0}41%{transform:translate(-22px,22px) rotate(-12deg);opacity:0}100%{transform:translate(-1px,1px) rotate(-12deg);opacity:1}}
@media(max-width:650px){.header-telegram{width:34px;height:34px;border-radius:10px}.header-telegram .ui-icon{width:16px;height:16px}}
@media(prefers-reduced-motion:reduce){.header-telegram,.header-telegram .ui-icon{transition:none}.header-telegram:before,.header-telegram:hover .ui-icon{animation:none}}

/* Navigation is a consistent control group, not two faint floating arrows. */
.pager{container:pagination/inline-size;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;margin:0;padding:16px;font-family:var(--font)}
.pager>.pager-range{margin:0;color:#a7b39d;font:600 11px/1.6 var(--font);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.pager-controls{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid #303c2c;border-radius:12px;background:#10170f;min-width:0}
.pager .pager-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;height:40px;min-width:40px;min-height:40px;padding:0 12px;border:1px solid #526743;border-radius:8px;background:#b9dd7c10;color:#d1e9ae;opacity:1;transition:background .15s,border-color .15s,color .15s,transform .1s}
.pager .pager-button:not(:disabled):hover{background:#b9dd7c24;color:#e2f6c7;border-color:#b9dd7c90}
.pager .pager-button:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.pager .pager-button:disabled{background:transparent;border-color:transparent;color:#596652;opacity:1;cursor:default;box-shadow:none}
.pager-button .ui-icon{width:15px;height:15px;flex-shrink:0}.pager-previous .ui-icon{transform:rotate(180deg)}
.pager .pager-button-label{font:600 11px var(--font);margin:0;color:inherit;white-space:nowrap}
.pager .pager-page{margin:0;padding:0 5px;min-width:58px;text-align:center;color:#c5cfbb;font:600 11px var(--font);font-variant-numeric:tabular-nums;white-space:nowrap}
.selection-footer{padding-top:0;min-height:119px;justify-content:flex-start;background:linear-gradient(180deg,#10160f,#0d120d)}
.selection-footer .pager{padding:14px 16px 10px;margin:0!important}
.selection-footer .inventory-bottom-bar,.selection-footer .selection-footer-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px 12px;min-height:44px}
.inventory-bottom-bar .panel-note,.selection-footer-meta .panel-note{display:flex;align-items:center;gap:7px;margin:0;padding:0;color:#91a183;font:500 10px/1.5 var(--font)}
.footer-note-icon{display:inline-flex;align-items:center;justify-content:center;color:#a5b894}.footer-note-icon svg{width:13px;height:13px}
.inventory-bottom-bar .text-btn{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:5px 8px;border:1px solid #ffffff0b;border-radius:7px;background:#ffffff03;color:#a9bb98;font:600 10px var(--font);white-space:nowrap}
.inventory-bottom-bar .text-btn:hover{color:#d1eaa9;border-color:#6b8453;background:#b9dd7c09}.inventory-bottom-bar .text-btn:disabled{color:#626f59;opacity:.6}
.footer-action-icon{font-size:15px;line-height:1}.selection-footer-meta>span{color:#94a982;font:600 10px var(--font);white-space:nowrap}
#shop-view>.pager,#market-view>.pager,#admin-content .pager{border-top:1px solid #ffffff0b;margin-top:14px;background:#0e140e;border-radius:0 0 12px 12px}
.shop-checkout{border-top-color:#293627;padding-top:14px}.shop-checkout small{font-size:11px;color:#9fb28e}
.profile-load-more{justify-content:space-between;gap:12px;margin-top:16px;padding:16px 0 0;border-top:1px solid #ffffff0b}
.profile-load-more>span{font:600 11px var(--font);font-variant-numeric:tabular-nums;color:#a7b39d}.profile-load-more button{min-height:40px;min-width:170px;border-color:#526743;background:#b9dd7c0b;color:#cbe4aa;border-radius:9px;font-weight:600}
@container pagination (max-width:420px){.pager .pager-button-label{display:none}.pager .pager-button{padding:0;min-width:40px}.pager .pager-page{min-width:56px;padding:0 3px}}
@media(max-width:700px){.pager{padding:14px 12px;gap:10px}.pager .pager-button{min-width:44px;min-height:44px;height:44px}.pager .pager-button-label{display:none}.pager-controls{gap:2px;padding:3px;border-radius:11px}.pager .pager-page{min-width:54px}.pager>.pager-range{font-size:10px}.selection-footer{min-height:119px}.selection-footer .pager{padding:12px 12px 8px}.selection-footer .inventory-bottom-bar,.selection-footer .selection-footer-meta{padding:0 12px 12px;gap:8px}.inventory-bottom-bar .panel-note,.selection-footer-meta .panel-note{font-size:9px;gap:5px}.inventory-bottom-bar .text-btn{font-size:9px;padding:5px 7px;gap:5px}.selection-footer-meta>span{font-size:9px}.profile-load-more>span{font-size:10px}.profile-load-more button{min-width:145px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.pager .pager-button{transition:none}}

.site-access-notice{position:fixed;z-index:110;top:96px;left:50%;transform:translateX(-50%);width:min(620px,calc(100% - 32px));display:flex;align-items:center;gap:20px;padding:20px;border:1px solid #687c49;border-radius:14px;background:#161d14;box-shadow:0 16px 60px #0008;color:#e4ebdb}
.site-access-notice[hidden]{display:none}.site-access-notice strong{font:700 15px/1.4 var(--font)}.site-access-notice p{margin:6px 0 0;color:#aebb9f;font:500 12px/1.65 var(--font)}.site-access-notice .outline-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:44px;border-color:#91ad60;color:#d1e9aa;text-decoration:none;white-space:nowrap}
@media(max-width:700px){.site-access-notice{top:108px;align-items:stretch;flex-direction:column;gap:14px;padding:18px}.site-access-notice .outline-btn{width:100%}}

.case-admin-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 20px}.case-admin-heading h2,.case-admin-heading h3{margin:0}.case-admin-heading p{color:#98a78c;font-size:12px}.case-admin-heading .launch-btn{width:auto;padding:14px 22px;min-height:44px}.case-admin-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.case-admin-card{min-width:0;display:flex;flex-direction:column;gap:14px}.case-admin-card>img{width:100%;height:180px;object-fit:contain;background:radial-gradient(ellipse,#b9dd7c12,transparent 70%)}.case-admin-card h3{margin:10px 0 5px}.case-admin-card small{color:#849479;overflow-wrap:anywhere}.case-admin-card p{margin:12px 0}.case-admin-card>.outline-btn{margin-top:auto;min-height:44px}
.case-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:22px}.case-editor-main,.case-editor-aside{display:grid;gap:20px;min-width:0}.case-editor-aside{position:sticky;top:100px}.case-editor-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.case-editor-wide{grid-column:1/-1}.case-editor-layout label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#b4c0a9;min-width:0}.case-editor-layout input,.case-editor-layout select,.case-editor-layout textarea{width:100%;min-width:0;min-height:42px;padding:11px;border:1px solid #394331;background:#0d120d;border-radius:8px;color:#e4e9df;font:500 12px/1.5 var(--font)}.case-editor-layout input:focus-visible,.case-editor-layout select:focus-visible,.case-editor-layout textarea:focus-visible{outline:2px solid var(--lime);outline-offset:2px}.case-editor-layout input[readonly]{color:#829078;background:#101610}.case-editor-layout input[type=color]{padding:5px}.case-editor-layout p{font-size:12px;line-height:1.7;color:#99a98c}.case-editor-tags{display:flex;flex-wrap:wrap;gap:14px;margin-top:18px}.case-editor-tags label{flex-direction:row;align-items:center;font-size:11px}.case-editor-tags input{width:15px;min-height:15px;accent-color:var(--lime)}.case-editor-cover{text-align:center}.case-editor-cover>img{width:100%;height:220px;object-fit:contain}.case-editor-cover>strong{color:var(--lime);font-size:20px}.case-editor-publish{display:grid;gap:16px}.case-editor-publish h3,.case-editor-publish p{margin:0}.case-editor-publish .launch-btn{width:100%;min-height:46px}
.case-skin-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:295px;overflow:auto;margin:12px 0 20px}.case-skin-results button{display:flex;align-items:center;gap:8px;text-align:left;background:#121a10;border:1px solid #2d3b26;border-radius:8px;padding:8px;color:#dae5cf;min-width:0}.case-skin-results button:hover{border-color:#7d9a52;background:#1a2515}.case-skin-results img{width:50px;height:40px;object-fit:contain;flex-shrink:0}.case-skin-results span{flex:1;min-width:0;font-size:10px;line-height:1.4;overflow-wrap:anywhere}.case-skin-results small{display:block;color:#a0b58a;margin-top:4px}.case-skin-results b{color:var(--lime)}.case-pool-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;margin-bottom:10px}.case-pool-heading [data-valid=true]{color:#b9dd7c}.case-pool-heading [data-valid=false]{color:#ff999b}.case-editor-drops{display:grid;gap:8px;margin-bottom:18px}.case-editor-drop{display:grid;grid-template-columns:48px minmax(0,1fr) 75px 47px 32px;align-items:center;gap:9px;padding:10px;border:1px solid #2b3725;background:#10170f;border-radius:9px}.case-editor-drop>img{width:48px;height:42px;object-fit:contain}.case-editor-drop strong{display:block;font-size:11px;line-height:1.5;overflow-wrap:anywhere}.case-editor-drop small{display:block;font-size:10px;line-height:1.5;color:#98a98a;margin-top:4px}.case-editor-drop label{font-size:9px;gap:3px}.case-editor-drop input{padding:7px;min-height:36px}.case-editor-probability{font-size:10px;color:#aabf94;text-align:center;font-variant-numeric:tabular-nums}.case-editor-drop .icon-btn{min-height:32px;min-width:32px;color:#ff9a9d;border:1px solid #ff4d5125}.case-editor-preview-summary{display:flex;flex-wrap:wrap;gap:12px;padding:14px 0;font-size:11px;color:#abbba0}.case-editor-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.case-editor-preview-grid article{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid #34432a;border-radius:8px;background:#0f170d}.case-editor-preview-grid img{width:100%;height:70px;object-fit:contain}.case-editor-preview-grid strong{font-size:10px;line-height:1.5;overflow-wrap:anywhere}.case-editor-preview-grid span{font-size:10px;color:#aabd98}.case-editor-layout .case-editor-warning{color:#edb77e;background:#c28c2010;padding:12px;border-radius:8px}
@media(max-width:1050px){.case-admin-list{grid-template-columns:repeat(2,minmax(0,1fr))}.case-editor-layout{grid-template-columns:minmax(0,1fr) 260px}.case-editor-drop{grid-template-columns:38px minmax(0,1fr) 65px 32px}.case-editor-drop>img{width:38px}.case-editor-probability{display:none}}
@media(max-width:760px){.case-editor-layout{grid-template-columns:minmax(0,1fr)}.case-editor-aside{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.case-editor-cover>img{height:150px}.case-editor-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-editor-layout>.case-editor-main>.admin-card{padding:18px}.case-admin-heading{align-items:flex-start}.case-admin-heading h2{font-size:23px}.case-admin-heading .launch-btn{font-size:11px;padding:12px}}
@media(max-width:480px){.case-admin-list,.case-editor-fields,.case-editor-aside{grid-template-columns:minmax(0,1fr)}.case-admin-heading{flex-wrap:wrap}.case-admin-heading>.launch-btn{width:100%}.case-editor-drop{grid-template-columns:30px minmax(0,1fr) 60px 30px;gap:6px;padding:8px}.case-editor-drop>img{width:30px}.case-editor-drop strong{font-size:10px}.case-skin-results{grid-template-columns:minmax(0,1fr)}.case-editor-tags{gap:12px}.case-pool-heading{font-size:11px}.case-pool-heading .text-btn{font-size:10px}.case-editor-layout label{font-size:11px}.case-editor-cover>img{height:160px}}

.case-admin-heading h2{font-size:26px;line-height:1.25;letter-spacing:-.7px}.case-editor-layout label{margin:0}.case-editor-tags label{margin:0}.case-editor-publish>.launch-btn:disabled{opacity:.55}
@media(max-width:700px){.admin-nav{display:flex;flex-wrap:wrap;overflow:visible}.admin-nav a{flex:1 1 26%;text-align:center}.case-admin-heading h2{font-size:23px}}

/* Seasonal events reuse the case workshop layout; only the case rows and list actions are new. */
.admin-event-cases{display:grid;gap:10px}
.admin-event-case{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto auto;align-items:end;gap:10px;padding:12px;border:1px solid #ffffff12;border-radius:12px;background:#ffffff05}
.admin-event-opened{padding-bottom:10px;color:#9ea894;font-size:11px;white-space:nowrap}
.admin-event-opened b{color:#e7eadf}
.admin-event-case .text-btn{height:40px}
.admin-event-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
@media(max-width:760px){.admin-event-case{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.admin-event-case>label:first-child{grid-column:1/-1}.admin-event-actions{align-items:stretch}}
.case-x3-field{max-width:420px;margin-top:12px}.case-x3-field small{font-size:10px;line-height:1.6;color:#859177}

.cart-modal{width:600px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);padding:0;overflow:hidden;border-radius:18px;background:#141815;box-shadow:0 32px 100px #000a}
.cart-modal #modal-body{padding:0}.cart-modal #modal-close{position:absolute;z-index:3;right:18px;top:19px;width:44px;height:44px;border-radius:10px;background:#ffffff04}
#cart-content{display:flex;flex-direction:column;max-height:calc(100dvh - 36px);min-height:290px}
.basket-header{padding:28px 28px 19px;border-bottom:1px solid #ffffff0b;flex-shrink:0}.basket-header .modal-eyebrow{margin:0 55px 13px 0}.basket-header h2{margin:0 50px 9px 0}.basket-header p{margin:0;font-size:11px;color:#98a28f;line-height:1.5}
.basket-lines{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#46513e transparent;padding:0 28px;min-height:0;flex:1}
.basket-row{display:grid;grid-template-columns:76px minmax(0,1fr) 44px;grid-template-areas:'art item remove' 'art quantity subtotal';align-items:center;gap:9px 14px;padding:19px 0;border-bottom:1px solid #ffffff0a}.basket-row:last-child{border-bottom:0}
.basket-art{grid-area:art;width:76px;height:88px;display:grid;place-items:center;border:1px solid #ffffff09;border-bottom:2px solid var(--rarity);border-radius:9px;background:radial-gradient(ellipse,color-mix(in srgb,var(--rarity) 11%,transparent),transparent 85%),#0d120f}.basket-art img{width:86px;max-width:100%;height:65px;object-fit:contain;filter:drop-shadow(0 5px 8px #0006)}
.basket-item{grid-area:item;display:grid;gap:4px;min-width:0}.basket-item>span{font-size:9px;color:#929a8c;line-height:1.5}.basket-item strong{font-size:12px;line-height:1.55;overflow-wrap:anywhere;color:#f0f2e9}.basket-item small{font-size:10px;color:#a1b38d;line-height:1.5;font-variant-numeric:tabular-nums}
.basket-remove{grid-area:remove;width:44px;height:44px;border:1px solid transparent;border-radius:9px;color:#899181;justify-self:end;display:grid;place-items:center}.basket-remove svg{width:16px;height:16px}.basket-remove:hover:not(:disabled){color:#ff8487;background:#ff4d510d;border-color:#ff4d5126}
.basket-quantity{grid-area:quantity;display:flex;align-items:center;width:max-content;border:1px solid #35402e;background:#0e140e;border-radius:8px;overflow:hidden}.basket-quantity button{width:36px;height:34px;font-size:17px;display:grid;place-items:center;color:#d1dcca}.basket-quantity button:hover:not(:disabled){background:#b9dd7c14;color:var(--lime)}.basket-quantity input{width:36px;height:34px;border:0;background:transparent;color:#e2e8dc;text-align:center;padding:0;font-size:11px;font-weight:700;appearance:textfield;-moz-appearance:textfield}.basket-quantity input::-webkit-inner-spin-button,.basket-quantity input::-webkit-outer-spin-button{appearance:none;margin:0}.basket-quantity input:focus-visible{outline-offset:-3px;border-radius:5px}
.basket-subtotal{grid-area:subtotal;justify-self:end;display:flex;align-items:center;justify-content:flex-end;gap:4px;white-space:nowrap;font-size:12px;font-variant-numeric:tabular-nums;grid-column:2/4;pointer-events:none}.basket-quantity{z-index:1}.basket-subtotal svg{width:11px;height:11px;color:#badc8b}
.basket-footer{display:block;flex-shrink:0;margin:0;padding:18px 28px 20px;border-top:1px solid #ffffff10;background:linear-gradient(#171d17,#131813);box-shadow:0 -10px 20px #0002}
.basket-balance{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#9aa58f;font-size:10px;line-height:1.5}.basket-balance strong{font-size:11px;font-weight:600;display:flex;align-items:center;gap:4px}.basket-balance svg{width:11px;height:11px}
.basket-total{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:12px 0 18px;line-height:1.5}.basket-total>span{font-size:12px;color:#cbd3c1}.basket-total strong{display:flex;align-items:center;gap:6px;font-size:24px;letter-spacing:-.7px;color:#e4efd9;font-variant-numeric:tabular-nums}.basket-total svg{width:16px;height:16px;color:var(--lime)}
.basket-footer .launch-btn,.sale-modal .launch-btn{width:100%;min-height:50px;color:#17210d}.basket-footer .launch-btn:hover:not(:disabled),.sale-modal .launch-btn:hover:not(:disabled){color:#17210d;background:#cff09b}.basket-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px}.basket-bottom small{color:#8b9881;font-size:9px;line-height:1.6}.basket-bottom .text-btn{font-size:10px;min-height:36px;color:#a1ad98;padding:4px 0 4px 12px}
.trade-notice{margin:0 0 15px;padding:12px 14px;border:1px solid #a9c98130;border-radius:9px;background:#b9dd7c07;color:#c6d5b8;font-size:11px;line-height:1.65;overflow-wrap:anywhere}
.basket-empty{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:44px 25px;gap:12px;min-height:270px}.basket-empty>svg{width:34px;height:34px;color:var(--lime);opacity:.7;margin-bottom:7px}.basket-empty strong{font-size:17px}.basket-empty p{margin:0 0 9px;font-size:12px;color:#98a58c}.basket-empty button{min-height:44px;padding:10px 20px}
.sale-preview{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 0 20px}.sale-preview img{width:65px;max-width:20%;height:65px;object-fit:contain;filter:drop-shadow(0 5px 8px #0007)}.sale-preview>span{font-size:11px;color:#a5b594}.sale-modal .basket-total{border-top:1px solid #ffffff10;padding-top:18px}.sale-modal .sell-all-cancel{width:100%;margin-top:10px;min-height:44px}
@media(max-width:650px){.basket-quantity button{width:44px;height:44px}.basket-quantity input{width:36px;height:44px}.basket-bottom .text-btn{min-height:44px}.basket-total strong{font-size:22px}.cart-modal{max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:14px}#cart-content{max-height:calc(100dvh - 24px)}.basket-header{padding:25px 20px 16px}.basket-lines{padding:0 20px}.basket-footer{padding:15px 20px}.cart-modal #modal-close{right:10px;top:12px}.basket-row{grid-template-columns:60px minmax(0,1fr) 32px;gap:9px 10px;padding:17px 0}.basket-art{width:60px;height:82px}.basket-art img{height:54px}.basket-item strong{font-size:11px}.basket-row{grid-template-areas:'art item remove' 'quantity subtotal subtotal'}.basket-art{height:66px}.basket-quantity{margin-left:0}.basket-subtotal{font-size:11px}.basket-item small{font-size:9px}.basket-remove{margin-right:-6px}.basket-bottom{gap:8px}.basket-bottom small{max-width:175px}.basket-footer .launch-btn{font-size:13px}.trade-notice{font-size:10px;padding:10px 12px}}
@media(prefers-reduced-motion:reduce){.basket-row button,.basket-row img{transition:none}}

/* The opening and its result share the same scene; only the task sheet is modal. */
.case-scene[data-phase=result]>.case-stage,.case-scene[data-phase=result]>.case-controls,.case-scene[data-phase=result]>.case-scene-note{display:none}
.case-scene[data-phase=result]>.case-scene-bg{opacity:.38;filter:saturate(.65)}
.case-scene[data-phase=result]>.case-scene-title{padding-top:22px}.case-scene[data-phase=result]>.case-scene-title h1{margin:6px 0}.case-scene[data-phase=result]>.case-scene-title p{display:none}.case-scene[data-phase=result]>.case-scene-title .eyebrow{font-size:8px}
.case-outcome{position:relative;max-width:1180px;margin:0 auto;padding:24px 32px 28px;min-width:0;animation:outcome-enter .32s var(--motion-soft) both}
.outcome-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.outcome-heading .eyebrow{font-size:8px;letter-spacing:1.7px;color:var(--drop-color)}.outcome-heading h2{font:800 28px/1.15 var(--font);letter-spacing:-.04em;margin:9px 0}.outcome-heading h2:focus{outline:0}.outcome-heading p{color:#9da994;font-size:10px;margin:0;line-height:1.6}
.outcome-back{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff12;background:#141b159c;border-radius:9px;color:#9caa93;flex-shrink:0}.outcome-back svg{width:15px;height:15px}.outcome-back:hover{border-color:#b9dd7c66;background:#b9dd7c0c}
.case-outcome-grid{display:grid;grid-template-columns:repeat(var(--outcome-columns),minmax(0,1fr));gap:12px;max-height:460px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#48543d transparent;overscroll-behavior:contain;padding:2px 3px 8px}
.outcome-card{position:relative;min-width:0;border:1px solid #ffffff16;border-bottom:2px solid var(--rarity);border-radius:11px;background:radial-gradient(ellipse at 50% 25%,color-mix(in srgb,var(--rarity) 16%,transparent),transparent 75%),#121713;overflow:hidden;animation:outcome-card-enter .38s var(--motion-soft) both;animation-delay:calc(min(var(--arrival),5)*35ms)}
.outcome-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 12px 0;color:#91a083;font-size:8px;white-space:nowrap}.outcome-owned{display:flex;align-items:center;gap:4px;color:#b3c2a3}.outcome-owned svg{width:10px;height:10px}
.outcome-art{position:relative;display:grid;place-items:center;height:112px;margin:4px 0 6px}.outcome-art:before{content:'';position:absolute;width:110px;height:64px;border-radius:50%;background:var(--rarity);opacity:.08;filter:blur(24px);transform:scale(1.2)}.outcome-art img{position:relative;object-fit:contain;width:92%;height:100%;filter:drop-shadow(0 10px 12px #0008);transition:transform .28s var(--motion-soft),opacity .25s}
.outcome-card-copy{padding:0 13px 14px;display:grid;gap:4px;min-width:0}.outcome-card-copy small{font-size:9px;line-height:1.5;color:#98a48d}.outcome-card-copy h3{font:750 12px/1.5 var(--font);letter-spacing:-.02em;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.outcome-card-copy>strong{display:flex;align-items:center;gap:5px;font-size:13px;line-height:1.5;font-variant-numeric:tabular-nums;color:#d9e7c9}.outcome-card-copy svg{width:11px;height:11px;color:var(--lime)}
.outcome-card-actions{display:flex;border-top:1px solid #ffffff0c;background:#080e084d}.outcome-card-actions button{display:flex;gap:5px;align-items:center;justify-content:center;min-height:42px;font-size:10px;font-weight:700;flex:1;min-width:0;color:#b8d49e}.outcome-card-actions button:last-child{flex:0 0 44px;border-left:1px solid #ffffff0c}.outcome-card-actions svg{width:13px;height:13px}.outcome-card-actions button:hover:not(:disabled){color:#e0f2ca;background:#b9dd7c0d}.outcome-card-actions button:active:not(:disabled){background:#b9dd7c19}
.outcome-card.is-sold{border-color:#658e4945;background:#101610;animation:none}.outcome-card.is-sold .outcome-art img{opacity:.32;transform:scale(.9)}.outcome-card.is-sold .outcome-card-copy{opacity:.6}.outcome-card.is-sold .outcome-owned{color:#bddf9f}.outcome-card.is-sold .outcome-card-actions button{opacity:.55}
.case-outcome[data-count="1"] .case-outcome-grid{display:block;max-height:none;max-width:510px;margin:0 auto;padding:0 0 12px;overflow:visible}.case-outcome[data-count="1"] .outcome-card{border:0;border-radius:0;background:transparent;overflow:visible;text-align:center;animation-delay:0s}.case-outcome[data-count="1"] .outcome-card-top{max-width:310px;margin:0 auto;justify-content:space-between}.case-outcome[data-count="1"] .outcome-art{height:165px;margin:0}.case-outcome[data-count="1"] .outcome-art img{width:320px;max-width:95%}.case-outcome[data-count="1"] .outcome-art:before{width:250px;height:130px;opacity:.17}.case-outcome[data-count="1"] .outcome-card-copy{gap:5px;padding:8px 0 16px}.case-outcome[data-count="1"] .outcome-card-copy h3{font-size:23px;white-space:normal}.case-outcome[data-count="1"] .outcome-card-copy small{font-size:11px}.case-outcome[data-count="1"] .outcome-card-copy>strong{justify-content:center;font-size:20px}.case-outcome[data-count="1"] .outcome-card-actions{max-width:220px;margin:0 auto;border:1px solid #b9dd7c2b;border-radius:8px;overflow:hidden}
.case-outcome.is-updated .outcome-card{animation:none}.case-outcome[data-count="2"] .case-outcome-grid{max-width:680px;margin-inline:auto}.case-outcome[data-count="3"] .case-outcome-grid{max-width:850px;margin-inline:auto}
.outcome-footer{margin-top:10px;border-top:1px solid #ffffff13;padding-top:19px}.outcome-total{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.outcome-total>span{display:grid;gap:6px;font-size:11px;color:#d2ddc6}.outcome-total small{font-size:9px;color:#929e85;line-height:1.6}.outcome-total>strong{margin-left:auto;display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:23px;color:#e6efd9;font-variant-numeric:tabular-nums;letter-spacing:-.6px}.outcome-total svg{width:17px;height:17px;color:var(--lime)}
.outcome-actions{display:flex;gap:10px;justify-content:center}.outcome-actions>button{min-height:50px;border-radius:8px;white-space:nowrap;padding:12px 18px;font-size:11px;font-weight:750}.outcome-actions .case-open{display:flex;justify-content:center;align-items:center;gap:16px;flex:1;min-width:0;margin:0;color:#17210d}.outcome-actions .case-open span{display:flex;align-items:center;gap:4px;border-left:1px solid #17210d30;padding-left:16px;font-size:11px}.outcome-actions .case-open svg{width:12px;height:12px}.outcome-actions .case-open:hover{color:#17210d}.outcome-sell-all{display:flex;justify-content:center;align-items:center;gap:7px;flex:1;background:#1a2616;border:1px solid #b9dd7c5c;color:#d1e9b8}.outcome-sell-all svg{width:15px;height:15px}.outcome-sell-all:hover:not(:disabled){background:#24341b;border-color:#b9dd7c9c}.outcome-note{display:block;text-align:center;font-size:9px;line-height:1.6;color:#8b9b7c;margin-top:13px}
.outcome-receipt{display:flex;gap:10px;align-items:center;background:#b9dd7c09;border:1px solid #b9dd7c2b;border-radius:9px;padding:13px 16px;margin:10px 0 16px;color:#b7d698;animation:outcome-enter .28s var(--motion-soft)}.outcome-receipt>svg{width:24px;height:24px;padding:5px;background:#b9dd7c13;border-radius:50%}.outcome-receipt>span{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:1;font-size:11px}.outcome-receipt strong{display:flex;align-items:center;gap:4px;color:#d7eac1;font-size:12px;font-variant-numeric:tabular-nums}.outcome-receipt strong svg{width:11px;height:11px}
.outcome-card:is([data-outcome-kind=knife],[data-outcome-kind=gloves]) .outcome-art:before{background:#efc779;opacity:.2}.case-outcome[data-reveal-tier=special] .outcome-heading .eyebrow{color:#efc779}
@keyframes outcome-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes outcome-card-enter{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(min-width:1350px){.case-outcome[data-count="10"] .case-outcome-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:850px){.case-outcome{padding:22px}.case-outcome-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.outcome-actions{flex-wrap:wrap}.outcome-actions .case-open{flex-basis:100%}.outcome-actions #case-inventory{flex:1}.outcome-card-top{padding:9px 9px 0;gap:3px}.outcome-owned svg{display:none}}
@media(max-width:520px){.case-outcome{padding:20px 13px}.outcome-heading{margin-bottom:15px}.outcome-heading h2{font-size:25px}.outcome-heading p{font-size:9px}.case-outcome-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:400px}.outcome-art{height:82px;margin:4px 0}.outcome-card{border-radius:8px}.outcome-card-copy{padding:0 9px 11px;gap:4px}.outcome-card-copy h3{font-size:11px}.outcome-card-copy>strong{font-size:12px}.outcome-card-copy small{font-size:8px}.outcome-card-top{font-size:7px}.outcome-card-actions button{min-height:44px}.outcome-total>strong{font-size:20px}.outcome-total>span{font-size:10px;max-width:60%}.outcome-total small{font-size:8px}.outcome-actions>button{padding:11px 9px;font-size:10px;min-height:46px}.outcome-actions .case-open span{font-size:10px}.outcome-sell-all svg{display:none}.outcome-note{font-size:8px}.outcome-receipt{padding:11px}.outcome-receipt>span{display:grid;gap:5px;font-size:10px}.outcome-receipt strong{font-size:11px}.case-outcome[data-count="1"] .outcome-art{height:150px}.case-outcome[data-count="1"] .outcome-card-copy h3{font-size:22px}}
@media(prefers-reduced-motion:reduce){.case-outcome,.outcome-card,.outcome-receipt{animation:none}.outcome-art img{transition:none}}

.sale-modal{width:600px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);border-radius:16px;padding:0;overflow:hidden;background:#141a15;box-shadow:0 35px 110px #000a}.sale-modal #modal-body{display:flex;flex-direction:column;max-height:calc(100dvh - 36px);padding:0;min-height:0}.sale-modal #modal-close{position:absolute;top:18px;right:16px;z-index:2;width:44px;height:44px;border-radius:9px;background:#ffffff04}
.sale-sheet-heading{padding:29px 28px 20px;border-bottom:1px solid #ffffff0c;flex-shrink:0}.sale-sheet-heading .modal-eyebrow{margin:0 55px 16px 0}.sale-sheet-heading h2{margin:0 40px 10px 0;font-size:28px;letter-spacing:-.045em;line-height:1.2}.sale-sheet-heading p{font-size:11px;line-height:1.6;margin:0;color:#98a78c}
.sale-sheet-list{overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#45553a transparent;min-height:90px;padding:3px 28px;flex:1}
.sale-sheet-row{display:grid;grid-template-columns:56px minmax(0,1fr) auto 44px;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #ffffff0c;min-height:86px}.sale-sheet-row:last-child{border-bottom:0}.sale-sheet-row>img{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 6px 7px #0007);border-radius:6px;background:radial-gradient(ellipse,color-mix(in srgb,var(--rarity) 13%,transparent),transparent 85%)}.sale-sheet-row>div{min-width:0;display:grid;gap:5px}.sale-sheet-row small{font-size:9px;color:#98a48c;line-height:1.5}.sale-sheet-row strong{font-size:12px;line-height:1.5;overflow-wrap:anywhere}.sale-sheet-row>span{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:750;color:#d2e6bc;white-space:nowrap;font-variant-numeric:tabular-nums}.sale-sheet-row>span svg{width:11px;height:11px;color:var(--lime)}.sale-sheet-row>button{width:44px;height:44px;display:grid;place-items:center;color:#819275;border:1px solid transparent;border-radius:8px}.sale-sheet-row>button svg{width:13px;height:13px}.sale-sheet-row>button:hover:not(:disabled){color:#d3e5bf;background:#b9dd7c09;border-color:#b9dd7c26}
.sale-sheet-footer{padding:19px 28px 18px;flex-shrink:0;background:linear-gradient(#182017,#121911);border-top:1px solid #ffffff12;box-shadow:0 -12px 25px #0002}.sale-sheet-total{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.sale-sheet-total>span{display:grid;gap:6px;font-size:12px;color:#d1ddc5}.sale-sheet-total small{font-size:9px;color:#91a27f}.sale-sheet-total strong{margin-left:auto;display:flex;align-items:center;gap:6px;color:#dfedcf;font-size:26px;letter-spacing:-.7px;font-variant-numeric:tabular-nums;white-space:nowrap}.sale-sheet-total strong svg{width:16px;height:16px;color:var(--lime)}
.sale-sheet-footer .launch-btn{min-height:50px}.sale-sheet-cancel{width:100%;min-height:44px;margin-top:6px;font-size:11px;font-weight:650;color:#a2b58e}.sale-sheet-note{display:block;text-align:center;font-size:9px;line-height:1.6;color:#879a75}.sale-undo{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:#a6b695;margin:-3px 0 14px}.sale-undo button{min-height:36px;color:#cce7ac;padding:5px 7px;border:1px solid #b9dd7c29;border-radius:6px;font-size:10px}.sale-empty{display:grid;justify-items:center;align-content:center;gap:10px;padding:30px 15px}.sale-empty>svg{width:28px;height:28px;color:#b9dd7c}.sale-empty strong{font-size:14px}.sale-empty p{margin:0;font-size:11px;color:#8fa27b}
@media(max-width:520px){.sale-modal{max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:13px}.sale-modal #modal-body{max-height:calc(100dvh - 24px)}.sale-sheet-heading{padding:25px 19px 17px}.sale-sheet-heading h2{font-size:25px}.sale-sheet-list{padding:0 17px}.sale-sheet-footer{padding:16px 19px}.sale-sheet-row{grid-template-columns:46px minmax(0,1fr) 44px;gap:5px 10px;grid-template-areas:'art name remove' 'art price remove';min-height:90px;padding:12px 0}.sale-sheet-row>img{grid-area:art;width:46px;height:56px}.sale-sheet-row>div{grid-area:name}.sale-sheet-row>span{grid-area:price;font-size:11px}.sale-sheet-row>button{grid-area:remove}.sale-sheet-row strong{font-size:11px}.sale-sheet-row small{font-size:8px}.sale-sheet-total strong{font-size:22px}.sale-sheet-footer .launch-btn{font-size:13px}.sale-modal #modal-close{right:9px;top:12px}.sale-undo button{min-height:44px}.sale-sheet-note{font-size:8px}}
@media(prefers-reduced-motion:reduce){.sale-sheet-row button{transition:none}}

@media(max-height:600px){.sale-modal{overflow-y:auto;scrollbar-width:thin}.sale-modal #modal-body{max-height:none}.sale-sheet-list{flex:none;max-height:42dvh;min-height:70px}.sale-sheet-heading{padding-top:22px;padding-bottom:14px}.sale-sheet-footer{padding-top:14px}}

/* IMPULSE: one quiet field, one moving subject, one shared cinematic clock. */
.heart-scene{--scene-alpha:0;--appear:0;--pulse:0;--echo:0;--build:0;--break:0;--fractured:0;--crack:0;--impact:0;--exit:0;--shake-x:0;--shake-y:0;--heart-scale:.78;--heart-tilt:0deg;position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;color:#f5ebd9;background:#050407;opacity:var(--scene-alpha);isolation:isolate;outline:none}
.heart-scene::backdrop{background:transparent}.heart-scene *{box-sizing:border-box}
.heart-world,.heart-grain,.heart-haze{position:absolute;inset:0;pointer-events:none}
.heart-world{inset:-10px;background:radial-gradient(ellipse at 50% 52%,#210a13 0%,#0d070e 40%,#030507 78%);transform:translate(calc(var(--shake-x)*-.35px),calc(var(--shake-y)*-.35px))}
.heart-haze{inset:-15%;background:radial-gradient(ellipse at 50% 52%,#9a13372b,transparent 47%);opacity:calc(.18 + var(--build)*.52 + var(--pulse)*.10);transform:scale(calc(.92 + var(--build)*.16 + var(--pulse)*.035));will-change:transform,opacity}
.heart-grain{opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.3' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
.heart-scene .heart-title{position:absolute;top:max(8vh,env(safe-area-inset-top));left:5%;width:90%;margin:0;padding-left:.45em;text-align:center;color:#e7c8c7;font-family:Georgia,'Times New Roman',serif;font-size:clamp(28px,4.2vw,58px);font-weight:400;line-height:1.4;letter-spacing:.45em;text-transform:uppercase;opacity:calc(var(--appear)*(1 - var(--break)*.85));transform:translateY(calc((1 - var(--appear))*12px));text-shadow:0 0 22px #e3b9bf24;z-index:3}
.heart-composition{position:absolute;inset:0;display:grid;place-items:center;padding-top:9vh;perspective:1000px;transform:translate(calc(var(--shake-x)*1px),calc(var(--shake-y)*1px));pointer-events:none}
.heart-art{position:relative;width:min(53vh,530px,76vw);aspect-ratio:1;opacity:var(--appear);transform:rotate(var(--heart-tilt)) scale(var(--heart-scale));will-change:transform,opacity;filter:drop-shadow(0 14px 50px #cf17432b)}
.heart-art img,.heart-art>svg{width:100%;height:100%;object-fit:contain;overflow:visible}
.heart-art .heart-silhouette,.heart-art .heart-red-paint,.heart-art .heart-white-outlines{transform-box:view-box;transform-origin:50% 52%;will-change:transform}
.heart-red-paint{transform:scale(calc(1 + var(--pulse)*.05),calc(1 - var(--pulse)*.032))}
.heart-white-outlines{transform:translateY(calc(var(--echo)*-4px)) scale(calc(1 + var(--echo)*.045));opacity:calc(.90 + var(--pulse)*.1)}
.heart-silhouette{transform:scale(calc(1 + var(--echo)*.02))}
.heart-intact{opacity:calc(1 - var(--fractured))}.heart-fragments{opacity:var(--fractured)}
.heart-fragment{transform-box:view-box;transform-origin:50% 51%;transform:translate(calc(var(--break)*var(--sx)),calc(var(--break)*var(--sy))) rotate(calc(var(--break)*var(--sr))) scale(calc(1 - var(--break)*.18));opacity:calc(1 - var(--break)*.95);will-change:transform,opacity}
.heart-art .heart-crack{fill:none;stroke:#f5dace;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--crack));opacity:calc(var(--crack)*(1 - var(--fractured)));filter:drop-shadow(0 0 5px #ff4d51)}
.heart-aura{position:absolute;left:50%;top:54.5%;width:min(82vh,840px,125vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(ellipse,#bc153329,transparent 64%);transform:translate(-50%,-50%) scale(calc(.75 + var(--build)*.3 + var(--pulse)*.08));opacity:calc(var(--appear)*(.3 + var(--build)*.6))}
.heart-shock{position:absolute;left:50%;top:54.5%;width:min(52vh,520px,75vw);aspect-ratio:1;border:1px solid #d9a3ac;border-radius:50%;opacity:calc(var(--fractured)*(1 - var(--break))*.35);transform:translate(-50%,-50%) scale(calc(1 + var(--break)*2.6));box-shadow:0 0 32px #ff4d5112}
.heart-veins{position:absolute;inset:0;width:100%;height:100%;overflow:visible;opacity:calc(var(--appear)*(.07 + var(--build)*.3 + var(--echo)*.08)*(1 - var(--break)*.7))}
.heart-veins path{fill:none;stroke:#a72a4b;stroke-width:1.4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--build));vector-effect:non-scaling-stroke}
.heart-veins path+path{stroke:#783042;stroke-width:.65}
.heart-orbit{position:absolute;left:50%;top:54.5%;width:min(73vh,750px);aspect-ratio:1;border:1px solid #a44a5c1a;border-radius:50%;transform:translate(-50%,-50%) rotateX(66deg) rotateZ(calc(-30deg + var(--time,0)*1.8deg)) scale(calc(.8 + var(--build)*.2));opacity:calc(var(--appear)*.28)}
.heart-orbit.orbit-two{width:min(94vh,970px);transform:translate(-50%,-50%) rotateY(66deg) rotateZ(calc(20deg - var(--time,0)*1.2deg));border-style:dashed;opacity:calc(var(--appear)*.12)}
.heart-mote{position:absolute;left:var(--x);top:var(--y);width:2px;height:2px;border-radius:50%;background:#e06f83;opacity:calc(var(--build)*.23*(1 - var(--exit)));transform:rotate(calc(var(--r) + var(--time,0)*3deg)) translateY(calc(-20px - var(--build)*60px - var(--break)*130px));box-shadow:0 0 7px #e33a6522}
.heart-scene[data-reduced=true] .heart-world{background:#10090e}.heart-scene[data-reduced=true] .heart-art{filter:none}.heart-scene[data-reduced=true] .heart-art path{transform:none}.heart-scene[data-reduced=true] .heart-orbit,.heart-scene[data-reduced=true] .heart-shock,.heart-scene[data-reduced=true] .heart-crack{display:none}
@media(max-width:600px){.heart-scene .heart-title{top:max(12vh,env(safe-area-inset-top));font-size:clamp(25px,8.1vw,36px);letter-spacing:.38em;padding-left:.38em}.heart-art{width:min(49vh,80vw)}.heart-veins{opacity:calc(var(--build)*.2)}.heart-composition{padding-top:6vh}}
@media(max-height:520px) and (min-width:601px){.heart-scene .heart-title{top:5vh;font-size:26px;letter-spacing:.45em}.heart-art{width:56vh}.heart-composition{padding-top:13vh}}
@media(prefers-reduced-motion:reduce){.heart-scene .heart-art,.heart-scene .heart-art path,.heart-scene .heart-aura,.heart-scene .heart-title,.heart-scene .heart-composition,.heart-scene .heart-world{transform:none!important;will-change:auto}.heart-scene .heart-veins,.heart-scene .heart-mote,.heart-scene .heart-orbit,.heart-scene .heart-fragments,.heart-scene .heart-crack,.heart-scene .heart-shock{display:none}}
/* IMPULSE depth: letters ignite one by one, a cardiogram runs under the heart, rays and sparks carry the fracture, and the exit flashes through into the wheel. */
.heart-scene .heart-title{text-shadow:calc(var(--pulse)*-3px) 0 #ff3b5c80,calc(var(--pulse)*3px) 0 #63d9ff40,0 0 calc(18px + var(--pulse)*34px) #ff4d5133}
.heart-scene .heart-title>span{margin:0;padding:0;border:0;border-radius:0;font:inherit;color:inherit;display:inline-block;opacity:0;filter:blur(8px);transform:translateY(12px) scale(1.25);animation:heart-letter 1s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(.4s + var(--l)*.1s)}
.heart-vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 calc(130px + var(--pulse)*90px) calc(18px + var(--pulse)*34px) #4e0414;opacity:calc(.45 + var(--build)*.45)}
.heart-ecg{position:absolute;left:0;top:calc(54.5% - 100px);width:100%;height:200px;overflow:visible;opacity:calc(var(--appear)*(.3 + var(--build)*.55)*(1 - var(--break)*.85));transform:scaleY(calc(1 + var(--pulse)*.55 + var(--echo)*.2))}
.heart-ecg path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.heart-ecg-base{stroke:#ff4d511f;stroke-width:1.2}
.heart-ecg-head{stroke:#ff7686;stroke-width:2.2;stroke-dasharray:.08 .92;stroke-dashoffset:var(--ecg,0);filter:drop-shadow(0 0 6px #ff3b5c)}
.heart-rays{position:absolute;left:50%;top:54.5%;width:min(125vh,1320px,175vw);aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(#ff4d5100 0deg 6deg,#ff4d5124 8deg 10deg,#ff4d5100 12deg 21deg);-webkit-mask:radial-gradient(closest-side,#000 6%,#0000 72%);mask:radial-gradient(closest-side,#000 6%,#0000 72%);transform:translate(-50%,-50%) rotate(calc(var(--time,0)*7deg)) scale(calc(.72 + var(--build)*.3 + var(--break)*.55));opacity:calc(var(--appear)*(var(--build)*.55 + var(--pulse)*.22 + var(--impact))*(1 - var(--exit)));will-change:transform,opacity}
.heart-art{filter:drop-shadow(0 14px calc(46px + var(--pulse)*44px) #d4174a40)}
.heart-shock.shock-two{border:2px solid #ff4d51;box-shadow:0 0 40px #ff4d5155,inset 0 0 30px #ff4d5133;transform:translate(-50%,-50%) scale(calc(.55 + var(--break)*3.8));opacity:calc(var(--fractured)*(1 - var(--break))*.7)}
.heart-spark{position:absolute;left:50%;top:54.5%;width:var(--w);height:calc(var(--w)*6);border-radius:3px;background:linear-gradient(#fff4ea,#ff4d51);box-shadow:0 0 9px #ff4d51;opacity:calc(var(--fractured)*(1 - var(--break))*(1 - var(--exit)));transform:translate(-50%,-50%) rotate(var(--a)) translateY(calc(var(--break)*var(--d)*-1.7)) scaleY(calc(1.7 - var(--break)))}
.heart-flash{position:absolute;inset:0;z-index:4;pointer-events:none;background:radial-gradient(circle at 50% 54%,#fff3ee 0%,#ff7a8a 26%,#ff4d5100 68%);mix-blend-mode:screen;opacity:calc(var(--impact)*.7 + var(--exit)*(1 - var(--exit))*1.8)}
.heart-composition{transform:translate(calc(var(--shake-x)*1px),calc(var(--shake-y)*1px)) scale(calc(1 + var(--exit)*.4));filter:blur(calc(var(--exit)*7px))}
@keyframes heart-letter{to{opacity:1;filter:blur(0);transform:none}}
.heart-scene[data-reduced=true] .heart-title span{animation:none;opacity:1;filter:none;transform:none}
.heart-scene[data-reduced=true] :is(.heart-rays,.heart-flash,.heart-vignette){display:none}
@media(max-width:600px){.heart-ecg{height:140px;top:calc(54.5% - 70px)}.heart-rays{width:190vw}}
@media(prefers-reduced-motion:reduce){.heart-scene .heart-title span{animation:none;opacity:1;filter:none;transform:none}.heart-scene :is(.heart-rays,.heart-ecg,.heart-spark,.heart-flash){display:none}.heart-scene .heart-composition{filter:none}}

/* Both sides share one toolbar, one metadata row, and twelve fixed card slots. */
#upgrade-view .selection-panel .selection-header{height:104px;min-height:104px;display:block;padding:12px 14px;border-bottom:1px solid #ffffff09;margin-bottom:12px}
.selection-toolbar{display:grid;grid-template-columns:132px 34px minmax(0,1fr) 36px;align-items:center;gap:8px;min-width:0;height:38px}
.selection-query-controls{display:contents}
#upgrade-view .source-mode-tabs{display:flex;align-items:center;padding:0;gap:4px;border:0;min-width:0}
#upgrade-view .source-mode-tabs button{display:flex;justify-content:center;gap:6px;min-height:36px;height:36px;padding:0 8px;font-size:11px;white-space:nowrap;border:1px solid transparent}
#upgrade-view .source-mode-tabs button[aria-pressed=false]{width:30px;padding:0;color:#7c8a72}
#upgrade-view .source-mode-tabs button[aria-pressed=false] span{display:none}
#upgrade-view .source-mode-tabs button[aria-pressed=true]{background:#b9dd7c15;border-color:#b9dd7c20;color:#d2e8b5}
#upgrade-view .source-mode-tabs svg{width:15px;height:15px}
.selection-title{display:flex;align-items:center;gap:6px;margin:0;min-width:0;font:750 12px/1.3 var(--font);white-space:nowrap}
.selection-title>span{color:#839477;font-size:9px;font-weight:500}
.selection-toolbar .selection-sort,.selection-toolbar .selection-action{display:grid;place-items:center;width:100%;min-width:0;height:36px;min-height:36px;padding:0;border:1px solid #ffffff0c;border-radius:7px;background:#ffffff04;color:#a8ba96;font-size:20px}
.selection-sort svg{width:16px;height:20px;fill:currentColor;stroke:none}
.selection-sort[data-order=asc] .sort-down,.selection-sort[data-order=desc] .sort-up{opacity:.3}
.selection-query{display:flex;align-items:stretch;min-width:0;width:100%;height:36px;border:1px solid #303b2a;border-radius:7px;background:#0c100d;overflow:hidden}
.selection-query:focus-within{border-color:#a0c674;box-shadow:0 0 0 2px #b9dd7c10}
.selection-name-query{display:flex;flex:1;min-width:0}
.selection-query input{width:100%;min-width:0;border:0;background:transparent;color:#d4dfcc;font:500 11px var(--font);padding:0 9px;outline:none;box-shadow:none}
.selection-query input::placeholder{color:#7f8b75}
.selection-price-query{display:flex;flex:1;min-width:0}
.selection-price-query>label{display:flex;align-items:center;gap:3px;flex:1;min-width:0;padding-left:7px}
.selection-price-query>label+label{border-left:1px solid #ffffff0b}
.selection-price-query .currency-icon{width:10px;height:10px;color:#a4bf81;flex:none}
.selection-price-query input{padding:0 3px;font-size:10px;appearance:textfield;-moz-appearance:textfield}
.selection-price-query input::-webkit-inner-spin-button,.selection-price-query input::-webkit-outer-spin-button{appearance:none;margin:0}
.selection-price-query input[aria-invalid=true]{color:#e3a092}
.selection-query .selection-search-mode{display:grid;place-items:center;flex:0 0 32px;width:32px;padding:0;border:0;border-left:1px solid #ffffff09;border-radius:0;background:#ffffff03;color:#a2b794}
.selection-search-mode svg{width:15px;height:15px}
.selection-search-mode[aria-pressed=true]{color:#c7e99c;background:#b9dd7c0d}
.selection-toolbar .selection-action:hover:not(:disabled),.selection-query .selection-search-mode:hover{color:#d8f4b6;background:#b9dd7c14}
.selection-toolbar .selection-cart{position:relative;background:#b9dd7c17;border-color:#b9dd7c38;color:#c9eaa3}
.selection-cart svg{width:19px;height:19px}
.selection-cart #shop-cart-count{position:absolute;right:-4px;top:-6px;min-width:16px;height:16px;display:grid;place-items:center;padding:0 3px;border-radius:6px;background:var(--lime);color:#17210d;border:2px solid #101510;font:800 9px var(--font)}
.selection-cart[data-empty=true] #shop-cart-count{display:none}
#upgrade-view .selection-meta{display:flex;align-items:center;gap:8px;min-width:0;height:28px;min-height:28px;margin:10px 0 0;padding:0;color:#839477;font-size:10px}
.selection-meta h2{margin:0;font:600 10px var(--font);color:#96a58c}
.selection-meta h2>span{margin-left:4px;color:#c0ceae;font-variant-numeric:tabular-nums}
.selection-meta .selection-hint{margin-left:auto;font-size:9px}
.selection-meta .selection-reset{display:grid;place-items:center;flex:0 0 26px;width:26px;height:28px;padding:0;font-size:18px;color:#93aa7e;border-radius:5px}
.selection-meta .selection-reset:hover{background:#b9dd7c10;color:#d0eaaa}
#upgrade-view .selection-meta select{width:100px;max-width:100px;min-width:0;flex:none;height:28px;padding:0 7px;background:#141b11;border:1px solid #ffffff0c;border-radius:6px;color:#9dad90;font-size:9px}
#upgrade-view .selection-meta.shop-options{gap:8px}
.selection-meta.shop-options label{display:flex;align-items:center;gap:4px;font-size:9px;white-space:nowrap}
.selection-meta.shop-options input{width:12px;height:12px;margin:0;accent-color:var(--lime)}
.selection-meta.shop-options .selection-reset{margin-left:auto}
#upgrade-view .selection-meta .target-filter-note{flex:1;min-width:0;margin:0;padding:0;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5}
.selection-meta .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
#upgrade-view .selection-panel{--selection-card-height:156px;--selection-grid-height:660px}
#upgrade-view .selection-panel>.skin-grid,#upgrade-view #shop-view>.shop-grid{grid-template-columns:repeat(var(--selection-columns),minmax(0,1fr));grid-auto-rows:var(--selection-card-height);min-height:var(--selection-grid-height);padding:0 14px 12px;gap:8px;align-content:start;overflow:visible}
#upgrade-view .selection-panel .skin-card,#upgrade-view #shop-grid>.shop-card{height:var(--selection-card-height);min-height:0;padding:10px;gap:3px}
#upgrade-view .selection-panel .card-top{min-height:18px}
#upgrade-view .selection-panel .price-value{font-size:11px}
#upgrade-view .selection-panel .card-weapon{font-size:9px}
#upgrade-view .selection-panel .card-name{font-size:11px;line-height:1.4;padding-right:14px}
#upgrade-view .selection-panel .skin-card>img,#upgrade-view #shop-grid>.shop-card>img{height:66px;min-height:66px;margin:4px 0;flex-shrink:0}
#upgrade-view .selection-panel .shop-no-image{height:74px;min-height:74px}
#upgrade-view .selection-panel .selection-footer{min-height:88px;margin-top:auto;padding:0;border-top:1px solid #ffffff08;background:#0e130f}
#upgrade-view .selection-footer .pager{grid-template-columns:1fr;gap:6px;padding:10px 14px 12px}
#upgrade-view .selection-footer .pager-controls{grid-row:1;justify-self:center;padding:3px;gap:4px;border-color:#ffffff0c;background:#ffffff02;border-radius:10px}
#upgrade-view .selection-footer .pager-range{grid-row:2;text-align:center;font-size:9px;color:#78896d}
#upgrade-view .selection-footer .pager-page{font-size:10px;min-width:52px}
#upgrade-view .selection-footer .pager-button{width:34px;min-width:34px;height:34px;min-height:34px;padding:0;border-color:transparent;background:#b9dd7c09}
#upgrade-view .selection-footer .pager-button:disabled{background:transparent;color:#4d5a46}
#upgrade-view .selection-footer .pager-button-label{display:none}
@media(min-width:1500px){#upgrade-view .selection-panel{--selection-grid-height:496px}}
@media(max-width:900px){
 #upgrade-view .selection-panel .selection-header{height:146px;min-height:146px;padding:12px}
 .selection-toolbar{height:80px;grid-template-columns:minmax(0,1fr) 36px 36px;grid-template-rows:36px 36px;gap:8px}
 .selection-toolbar .selection-query{grid-column:1/-1;grid-row:2}
 #upgrade-view .selection-panel>.skin-grid,#upgrade-view #shop-view>.shop-grid{padding-inline:12px}
}
@media(max-width:900px){#upgrade-view .selection-panel{--selection-grid-height:988px}}
@media(max-width:650px){
 #upgrade-view .selection-panel{--selection-card-height:146px;--selection-grid-height:928px}
 #upgrade-view .selection-meta select{width:85px;max-width:85px;padding-inline:5px}
 #upgrade-view .selection-meta,#upgrade-view .selection-meta.shop-options{gap:6px}
 .selection-meta.shop-options label{font-size:8px}
 .selection-query input{font-size:11px}
 .selection-query .selection-search-mode{width:40px;flex-basis:40px}
 #upgrade-view .selection-panel .skin-card>img,#upgrade-view #shop-grid>.shop-card>img{height:60px;min-height:60px;margin:2px 0}
 #upgrade-view .selection-panel .card-name{font-size:10px}
 #upgrade-view .selection-footer .pager-button{width:40px;min-width:40px;height:40px;min-height:40px}
 #upgrade-view .selection-panel .selection-footer{min-height:94px}
}

/* Whole-inventory valuation, independent of the visible page and filters. */
#inventory-meta .inventory-summary{display:flex;align-items:center;gap:10px;min-width:0}
#inventory-meta .inventory-summary h2{white-space:nowrap;flex:none}
.inventory-worth{display:inline-flex;align-items:center;gap:6px;min-width:0;padding:5px 8px;border:1px solid #b9dd7c20;border-radius:6px;background:#b9dd7c08;line-height:1;white-space:nowrap}
.inventory-worth-label{color:#8c9c7e;font-size:9px}
.inventory-worth output{display:inline-flex;align-items:center;gap:5px;color:#c5e29d;font:700 10px var(--font);font-variant-numeric:tabular-nums}
.inventory-worth .currency-icon{width:11px;height:11px}
.inventory-worth[data-state=loading] output{color:#809073}
@media(max-width:1150px){#inventory-meta .inventory-worth-label,#inventory-meta .selection-hint{display:none}#inventory-meta .selection-reset{margin-left:auto}#inventory-meta .inventory-summary{gap:7px}.inventory-worth{padding:5px 6px}.inventory-worth output{font-size:9px}}
@media(max-width:380px){#inventory-meta .inventory-summary{flex-direction:column;align-items:flex-start;gap:7px}#inventory-meta .inventory-worth-label{display:inline}.inventory-worth output{font-size:10px}}

/* Shared public filter controls. Native inputs retain their behaviour and value. */
.filter-select{position:relative;flex:0 0 106px;width:106px;min-width:0;height:30px}
.filter-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;height:30px;padding:0 9px;border:1px solid #38432f;border-radius:8px;background:linear-gradient(180deg,#20271b,#171e15);box-shadow:inset 0 1px #ffffff05;color:#b9c7ac;font:650 10px var(--font);text-align:left;white-space:nowrap}
.filter-select-trigger>[data-select-label]{overflow:hidden;text-overflow:ellipsis}
.filter-select-trigger:hover:not(:disabled){border-color:#6c8253;background:#242e1c;color:#d7e8bf}
.filter-select-trigger[data-filtered=true],.filter-select-trigger[aria-expanded=true]{border-color:#a2c87580;color:#d5ecb9;background:#b9dd7c12}
.filter-select-chevron{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform .16s}
.filter-select-trigger[aria-expanded=true] .filter-select-chevron{transform:rotate(180deg)}
.filter-select-trigger:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.filter-select-popup{position:fixed;inset:auto;margin:0;padding:10px;border:1px solid #778c5459;border-radius:14px;background:linear-gradient(145deg,#1c2419,#101610 75%);color:#e3eadc;box-shadow:0 20px 60px #0009,0 3px 12px #0007,inset 0 1px #e2f1c60b;z-index:110;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#536640 transparent;animation:filter-menu-enter .14s ease-out}
.filter-select-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 5px 12px;border-bottom:1px solid #ffffff0a;margin-bottom:8px}
.filter-select-heading>span{color:#dae6cd;font:750 11px var(--font)}
.filter-select-heading>small{color:#7c8e70;font:500 9px var(--font)}
.filter-select-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.filter-select-options>[role=option]{display:flex;align-items:center;gap:7px;min-width:0;height:42px;padding:0 8px;border:1px solid #ffffff06;border-radius:8px;background:#ffffff02;color:#aab89e;font:600 10px var(--font);text-align:left;transition:background .12s,border-color .12s,color .12s}
.filter-select-options>[role=option]>span{min-width:0;flex:1;white-space:nowrap}
.filter-category-art{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;color:#91a47c}
.filter-select-check{width:12px;height:12px;flex:none;fill:none;stroke:currentColor;stroke-width:2;opacity:0}
.filter-select-options>[role=option]:hover:not(:disabled),.filter-select-options>[data-active=true]{border-color:#b9dd7c40;background:#b9dd7c0c;color:#e3f1d0}
.filter-select-options>[aria-selected=true]{border-color:#b9dd7c70;background:linear-gradient(120deg,#b9dd7c21,#b9dd7c09);color:#d7f2af}
.filter-select-options>[aria-selected=true] .filter-select-check{opacity:1}
.filter-select-options>[aria-selected=true] .filter-category-art{color:#c3e58e}
#upgrade-view .selection-meta{height:30px;min-height:30px}
#upgrade-view .selection-meta.shop-options{gap:7px}
#upgrade-view .selection-meta.shop-options .filter-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:0;height:30px;padding:0 7px;border:1px solid #ffffff0d;border-radius:8px;background:#ffffff03;color:#8fa181;font:600 9px var(--font);cursor:pointer;transition:background .15s,border-color .15s,color .15s}
#upgrade-view .filter-toggle>input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.filter-toggle-track{position:relative;display:inline-block;width:21px;height:12px;flex:none;border:1px solid #65745a;border-radius:8px;background:#0c110b;transition:background .15s,border-color .15s;pointer-events:none}
.filter-toggle-track:after{content:'';position:absolute;left:2px;top:2px;width:6px;height:6px;border-radius:50%;background:#7c8b70;transition:transform .15s,background .15s}
#upgrade-view .selection-meta.shop-options .filter-toggle:has(input:checked){background:#b9dd7c0c;border-color:#b9dd7c49;color:#d0e6b5}
.filter-toggle:has(input:checked) .filter-toggle-track{background:#b9dd7c24;border-color:#a9cf75}
.filter-toggle:has(input:checked) .filter-toggle-track:after{transform:translateX(8px);background:#c8ee91}
#upgrade-view .selection-meta.shop-options .filter-toggle:hover{border-color:#8ba76d85;color:#d5e8bf}
.filter-toggle:has(input:focus-visible){outline:2px solid var(--lime);outline-offset:3px}
.filter-toggle:has(input:disabled){opacity:.4;cursor:not-allowed}
@keyframes filter-menu-enter{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:1150px){.filter-select{flex-basis:98px;width:98px}.filter-select-trigger{font-size:9px;padding-inline:7px}#upgrade-view .selection-meta.shop-options .filter-toggle{padding-inline:5px;font-size:9px;gap:4px}.filter-toggle-track{width:19px}.filter-toggle:has(input:checked) .filter-toggle-track:after{transform:translateX(6px)}}
@media(min-width:651px) and (max-width:900px){#upgrade-view .selection-meta.shop-options .filter-toggle{font-size:8px;padding-inline:4px}}
@media(max-width:650px){.filter-select-options>[role=option]{height:44px}.filter-select{flex-basis:98px;width:98px}}
@media(max-width:380px){
 #upgrade-view .selection-panel .selection-header{height:184px;min-height:184px}
 #upgrade-view .selection-meta{height:66px;min-height:66px}
 #upgrade-view .selection-meta.shop-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 26px;grid-template-rows:30px 30px;gap:6px}
 .selection-meta.shop-options .filter-select{grid-column:1/3;grid-row:1;width:110px}
 .selection-meta.shop-options .filter-toggle{grid-row:2}
 .selection-meta.shop-options .selection-reset{grid-column:3;grid-row:1}
 #upgrade-view .selection-meta.shop-options .filter-toggle{font-size:10px;padding-inline:7px}
 #upgrade-view .target-compact-meta{display:grid;grid-template-columns:110px minmax(0,1fr);grid-template-rows:30px 30px;gap:6px}
 .target-compact-meta .filter-select{grid-column:1;grid-row:1;width:110px}
 #upgrade-view .target-compact-meta .target-filter-note{grid-column:1/-1;grid-row:2;white-space:normal;line-height:1.5}
}
@media(prefers-reduced-motion:reduce){.filter-select-popup{animation:none}.filter-select-chevron,.filter-toggle-track,.filter-toggle-track:after{transition:none}}

/* Boxicons from icons0: Solid variants: one filled 24px system for every UI control. */
svg.ui-icon,svg.currency-icon{fill:currentColor;stroke:none;vertical-align:middle;flex-shrink:0}
.ui-icon{width:16px;height:16px;display:inline-block}
.currency-icon{width:13px;height:13px;display:inline-block;color:var(--lime)}
.currency-icon.large{width:18px;height:18px}
.filter-select-chevron.ui-icon{width:14px;height:14px}
.filter-select-check.ui-icon{width:13px;height:13px}
.filter-category-art.ui-icon{width:24px;height:24px}
.check .ui-icon,.shop-add-mark .ui-icon{width:12px;height:12px}
.selection-reset .ui-icon,.inventory-clear .ui-icon{width:16px;height:16px}
.basket-quantity .ui-icon{width:14px;height:14px}
.feed-pause .ui-icon,.activity-card b .ui-icon{width:11px;height:11px}
.case-fav .ui-icon{width:20px;height:20px}
.case-detail-fav .ui-icon{width:16px;height:16px}

h1 sup .ui-icon{width:1em;height:1em}
.profile-inventory-card button .ui-icon,.profile-inventory-card a .ui-icon{width:12px;height:12px}
.account-menu-arrow .ui-icon{width:13px;height:13px}
.rank-locked-glyph .ui-icon{width:28px;height:28px}

.filter-weapon-art.ui-icon{width:28px;height:28px;margin-inline:-2px}
.currency-icon.currency-inline{display:inline-block;width:.9em;height:.9em;min-width:.9em;vertical-align:-.1em;margin-inline:.08em;color:var(--lime,#b9dd7c);fill:currentColor;flex-shrink:0}
button .currency-icon.currency-inline{color:inherit}

/* Upgrade CTA: a quiet rising chevron wave; the status label remains stable. */
#upgrade-btn{display:grid;place-items:center;gap:0;padding:0 40px;isolation:isolate}
#upgrade-btn .upgrade-button-label{position:relative;z-index:1;min-width:0;max-width:100%;color:inherit;line-height:20px;text-align:center;white-space:nowrap}
#upgrade-btn .upgrade-button-arrows{position:absolute;z-index:1;right:14px;top:50%;transform:translateY(-50%);display:block;width:24px;height:30px;pointer-events:none}
#upgrade-btn .upgrade-button-arrows .ui-icon{position:absolute;left:0;bottom:-1px;width:24px;height:24px;margin:0;fill:currentColor!important;color:inherit!important;opacity:.5;animation:upgrade-chevron-rise 2.1s ease-in-out infinite;will-change:transform,opacity}
#upgrade-btn .upgrade-button-arrows .ui-icon:nth-child(2){bottom:7px;animation-delay:.16s}
#upgrade-btn:is(:hover,:focus-visible):not(:disabled) .upgrade-button-arrows .ui-icon{animation-duration:1.25s}
#upgrade-btn:disabled .upgrade-button-arrows{visibility:hidden}
#upgrade-btn:disabled .upgrade-button-arrows .ui-icon{animation:none;transform:none;will-change:auto}
@keyframes upgrade-chevron-rise{0%,100%{transform:translateY(2px);opacity:.28}45%{transform:translateY(-1px);opacity:1}75%{transform:translateY(-3px);opacity:.45}}
@media(max-width:360px){#upgrade-btn{padding-inline:32px;font-size:13px}#upgrade-btn .upgrade-button-arrows{right:8px}}
@media(prefers-reduced-motion:reduce){#upgrade-btn .upgrade-button-arrows .ui-icon{animation:none!important;transform:none;opacity:.85;will-change:auto}}

/* Case catalogue: hero with the case of the day, price shelves and cards lit in each case's own colour. */
.cc-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,440px);align-items:center;gap:24px;min-height:350px;padding:40px 44px;border:1px solid #23271f;border-radius:16px;overflow:hidden;background:#0a0c09}
.cc-hero-bg{position:absolute;inset:0;z-index:-1;background:radial-gradient(48% 80% at 80% 52%,color-mix(in srgb,var(--case-accent) 24%,transparent),transparent 72%),linear-gradient(90deg,#090b08 0%,#090b08eb 36%,#090b08a6 66%,#090b08d9 100%),url('/assets/case-bg/warehouse-v2.webp') center 45%/cover}
.cc-hero-bg:before{content:'';position:absolute;inset:0;background:linear-gradient(#ffffff08 1px,transparent 1px) 0 0/48px 48px,linear-gradient(90deg,#ffffff08 1px,transparent 1px) 0 0/48px 48px;mask-image:linear-gradient(90deg,#000 0%,transparent 55%)}
.cc-hero-bg:after{content:'';position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,#090b08)}
.cc-hero-copy.page-heading{display:block;position:relative;min-width:0;max-width:560px;padding:0}
.cc-hero-copy p{max-width:430px;color:#aab4a2}
.cc-stats{display:flex;flex-wrap:wrap;row-gap:12px;margin:28px 0 0;padding:0}
.cc-stats div{padding:0 22px;border-left:1px solid #ffffff17}.cc-stats div:first-child{padding-left:0;border-left:0}
.cc-stats dt{font-size:9px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:#7d8875}
.cc-stats dd{display:flex;align-items:center;gap:6px;margin:7px 0 0;font-size:21px;font-weight:800;letter-spacing:-.03em;color:#f1f3ec;white-space:nowrap}
#cases-view .cc-stats .currency-icon{width:15px;height:15px}

.cc-feature{position:relative;display:grid;justify-items:center;align-content:center;min-height:270px;color:inherit;text-decoration:none;outline:none}
.cc-feature-rays{position:absolute;left:50%;top:43%;width:440px;height:440px;border-radius:50%;transform:translate(-50%,-50%);background:repeating-conic-gradient(color-mix(in srgb,var(--case-accent) 26%,transparent) 0 5deg,transparent 5deg 15deg);mask-image:radial-gradient(circle,#000 18%,transparent 66%);opacity:.75;animation:cc-spin 60s linear infinite;pointer-events:none}
.cc-feature img{position:relative;width:min(290px,100%);height:auto;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 26px 26px #000c) drop-shadow(0 0 36px color-mix(in srgb,var(--case-accent) 32%,transparent));animation:cc-float 6s ease-in-out infinite}
.cc-feature-tag{position:absolute;top:0;right:4px;z-index:1;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid color-mix(in srgb,var(--case-accent) 50%,#2a2f26);border-radius:999px;background:#0b0d0acc;backdrop-filter:blur(6px);color:#f4f1e4;font-size:9px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase}
.cc-feature-tag .ui-icon{width:12px;height:12px;color:var(--case-accent)}
.cc-feature-meta{position:relative;display:flex;align-items:center;gap:14px;margin-top:-6px;padding:7px 7px 7px 18px;border:1px solid #ffffff17;border-radius:999px;background:#0b0d0ad9;backdrop-filter:blur(8px);white-space:nowrap}
.cc-feature-meta strong{font-size:14px;font-weight:800;color:#f1f3ec}
.cc-feature-meta em{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 15px;border-radius:999px;background:var(--lime);color:#14200c;font-size:11px;font-style:normal;font-weight:800;transition:filter .25s,transform .25s var(--motion-soft)}
.cc-feature-meta em .ui-icon{width:13px;height:13px}
.cc-feature:focus-visible .cc-feature-meta{outline:2px solid var(--lime);outline-offset:3px}

.cc-toolbar{display:grid;grid-template-columns:minmax(200px,1fr) auto auto;align-items:center;gap:12px;margin:28px 0 0}
.cc-search{display:flex;align-items:center;gap:10px;height:44px;padding:0 14px;border:1px solid #262a23;border-radius:10px;background:#0e100d;transition:border-color .2s}
.cc-search:focus-within{border-color:#bee77980}
.cc-search .ui-icon{flex:none;width:16px;height:16px;color:#7d8875}
.cc-search input{flex:1;min-width:0;border:0;outline:0;background:none;color:var(--text);font:500 12px var(--font)}
.cc-search input::-webkit-search-cancel-button{display:none}
.cc-tabs{display:flex;gap:3px;padding:4px;border:1px solid #262a23;border-radius:12px;background:#0e100d;overflow-x:auto;scrollbar-width:none}
.cc-tabs button,.cc-sort{height:34px;padding:0 14px;border:0;border-radius:8px;background:none;color:#9ea894;font:700 11px var(--font);white-space:nowrap;cursor:pointer;transition:background .2s,color .2s}
.cc-tabs button:hover{color:#e7eadf;background:#ffffff08}
.cc-tabs button.active{background:var(--lime);color:#14200c}
.cc-sort{display:inline-flex;align-items:center;gap:8px;height:44px;border:1px solid #262a23;border-radius:10px;background:#0e100d;color:#c3cab9}
.cc-sort:hover{border-color:#3a4134;color:#eef1e8}.cc-sort .ui-icon{width:15px;height:15px;color:var(--lime)}
:is(.cc-tabs button,.cc-sort,.cc-fav):focus-visible{outline:2px solid var(--lime);outline-offset:2px}

.cc-shelves{display:grid;gap:40px;margin-top:30px}
.cc-shelf-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.cc-shelf-head:after{content:'';order:2;flex:1;height:1px;background:linear-gradient(90deg,#ffffff17,transparent)}
.cc-shelf-index{display:grid;place-items:center;flex:none;width:32px;height:32px;border:1px solid #bee77945;border-radius:9px;background:#bee7790d;color:var(--lime);font-size:11px;font-weight:800}
.cc-shelf:is([data-shelf=premium],[data-shelf=luxury]) .cc-shelf-index{border-color:#f2c45a66;background:#f2c45a12;color:#f2c45a}
.cc-shelf-head h2{margin:0;font-size:20px;font-weight:800;letter-spacing:-.03em;color:#f1f3ec}
.cc-shelf-hint{font-size:11px;font-weight:600;color:#7d8875}
.cc-shelf-count{order:3;min-width:28px;padding:4px 8px;border:1px solid #ffffff14;border-radius:999px;color:#9ea894;font-size:10px;font-weight:700;text-align:center}
.cc-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}

.cc-card{position:relative;min-width:0;border:1px solid #232720;box-shadow:0 0 0 #0000,0 0 32px #0000;border-radius:14px;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--case-accent) 10%,#10120f),#0d0f0c 60%);transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--lift,0px));animation:cc-card-in .6s var(--motion-soft) backwards;animation-delay:calc(min(var(--i),14) * 35ms);transition:transform .3s var(--motion-soft),border-color .3s ease-out,box-shadow .3s ease-out}
.cc-card:before{content:'';position:absolute;inset:0 0 auto;z-index:2;height:2px;background:linear-gradient(90deg,transparent,var(--case-accent),transparent);opacity:.75}
.cc-card:after{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(115deg,transparent 38%,#ffffff10 50%,transparent 62%);transform:translateX(-110%);pointer-events:none}
.cc-card-link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none;outline:none}
.cc-card:has(.cc-card-link:focus-visible){border-color:var(--lime);box-shadow:0 0 0 1px var(--lime)}
.cc-card-stage{position:relative;display:grid;place-items:center;aspect-ratio:1/.84;overflow:hidden;background:radial-gradient(52% 48% at 50% 54%,color-mix(in srgb,var(--case-accent) 30%,transparent),transparent 76%),repeating-linear-gradient(135deg,#ffffff05 0 1px,transparent 1px 11px)}
.cc-card-stage:after{content:'';position:absolute;left:22%;right:22%;bottom:11%;height:12px;border-radius:50%;background:#000c;filter:blur(9px)}
/* #text-outline (index.html) outlines the filled glyph union: -webkit-text-stroke draws Manrope's overlapping contours as triangles. */
.cc-card-num{position:absolute;left:12px;bottom:2px;font-size:62px;font-weight:800;line-height:1;letter-spacing:0;color:var(--case-accent);opacity:.3;filter:url(#text-outline);will-change:transform;pointer-events:none}
.cc-card-stage:before{content:'';position:absolute;inset:0;z-index:2;background:radial-gradient(circle at var(--mx,50%) var(--my,35%),#ffffff14,transparent 45%);opacity:0;transition:opacity .3s;pointer-events:none}
.cc-card:hover .cc-card-stage:before{opacity:1}
.cc-card-stage img{position:absolute;left:50%;top:50%;z-index:1;width:auto;max-width:none;height:min(calc(70% / var(--ah,1)),calc(100% / var(--aw,1)));aspect-ratio:1;object-fit:contain;translate:calc((.5 - var(--ax,.5))*100% - 50%) calc((.5 - var(--ay,.5))*100% - 50%);filter:none;transition:transform .55s var(--motion-soft),filter .55s}
.cc-card-body{display:flex;flex-direction:column;flex:1;padding:14px 16px 16px;border-top:1px solid #ffffff08}
.cc-card h3{margin:0;font-size:17px;font-weight:800;line-height:1.25;letter-spacing:-.03em;color:#f2f4ee;overflow-wrap:anywhere}
.cc-card p{display:-webkit-box;margin:6px 0 14px;overflow:hidden;color:#929c89;font-size:11px;line-height:1.55;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.cc-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}
.cc-price{display:inline-flex;align-items:center;gap:6px;color:var(--lime);font-size:16px;font-weight:800;letter-spacing:-.02em;white-space:nowrap}
.cc-open{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border:1px solid #2c3128;border-radius:8px;color:#c7cfbd;font-size:10px;font-weight:700;white-space:nowrap;transition:background .25s,color .25s,border-color .25s}
.cc-open .ui-icon{width:13px;height:13px}
.cc-badge{position:absolute;top:12px;left:12px;z-index:3;padding:4px 8px;border-radius:6px;font-size:9px;font-weight:800;letter-spacing:1.2px;pointer-events:none}
.cc-badge[data-badge=hit]{background:var(--lime);color:#14200c}
.cc-badge[data-badge=new]{border:1px solid #bee77966;background:#0b0d0ae0;color:var(--lime)}
.cc-badge[data-badge=top]{background:linear-gradient(135deg,#ffe28e,#e3a43a);color:#2a1b04}
.cc-fav{position:absolute;top:10px;right:10px;z-index:3;display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #ffffff14;border-radius:9px;background:#0b0d0acc;backdrop-filter:blur(6px);color:#7f887a;cursor:pointer;transition:color .2s,border-color .2s,transform .2s var(--motion-soft)}
.cc-fav .ui-icon{width:15px;height:15px}
.cc-fav:hover{color:#e7eadf}.cc-fav:active{transform:scale(.9)}
.cc-fav.active{border-color:#bee77966;color:var(--lime)}

.cc-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:52px 0 0;padding:0;list-style:none}
.cc-steps li{position:relative;padding:20px 20px 20px 70px;border:1px solid #232720;border-radius:14px;background:#0d0f0c}
.cc-steps b{position:absolute;left:20px;top:18px;display:grid;place-items:center;width:34px;height:34px;border:1px solid #3a4530;border-radius:10px;background:#b9dd7c12;color:var(--lime);font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}
.cc-steps strong{display:block;color:#eef1e8;font-size:14px;font-weight:800}
.cc-steps span{display:block;margin-top:5px;color:#8d9784;font-size:11px;line-height:1.55}
.cc-footnote{margin:18px 0 8px;color:#6f7868;font-size:10px;line-height:1.7}

@media(hover:hover){
 .cc-card:hover{--lift:-6px;border-color:var(--case-edge,#4a5240);box-shadow:0 20px 40px #000a,0 0 32px var(--case-glow,#b9dd7c24)}
 .cc-card:hover:after{transform:translateX(110%);transition:transform .9s var(--motion-soft)}
 .cc-card:hover .cc-card-stage img{transform:translateY(-6px) scale(1.07) rotate(-2deg);filter:drop-shadow(0 22px 18px #000c) drop-shadow(0 0 22px var(--case-halo,#b9dd7c59))}
 .cc-card:hover .cc-open{border-color:var(--lime);background:var(--lime);color:#14200c}
 .cc-feature:hover em{filter:brightness(1.08);transform:translateX(2px)}
}
@keyframes cc-spin{to{transform:translate(-50%,-50%) rotate(1turn)}}
@keyframes cc-float{50%{transform:translateY(-10px)}}
@keyframes cc-card-in{from{opacity:0;transform:translateY(14px)}}

@media(max-width:1250px){.cc-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){
 .cc-hero{grid-template-columns:minmax(0,1fr) 300px;padding:34px 32px}
 .cc-feature-rays{width:360px;height:360px}
 .cc-toolbar{grid-template-columns:minmax(0,1fr) auto}.cc-tabs{grid-column:1/-1;grid-row:2;justify-self:start;max-width:100%}
 .cc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
 .cc-hero{grid-template-columns:1fr;gap:18px;min-height:0;padding:28px 22px 22px}
 .cc-feature{grid-template-columns:120px minmax(0,1fr);justify-items:start;align-items:center;gap:6px 14px;min-height:0;padding:10px 14px 10px 6px;border:1px solid #ffffff14;border-radius:14px;background:#0b0d0abf;backdrop-filter:blur(6px)}
 .cc-feature-rays{left:66px;top:50%;width:220px;height:220px}
 .cc-feature img{grid-row:1/3;width:120px;animation:none}
 .cc-feature-tag{position:static;align-self:end;padding:5px 10px}
 .cc-feature-meta{flex-wrap:wrap;gap:8px 12px;margin:0;padding:0;border:0;background:none;backdrop-filter:none;align-self:start;white-space:normal}
 .cc-steps{grid-template-columns:1fr;gap:10px;margin-top:40px}
}
@media(max-width:700px){
 .cc-stats div{padding:0 14px}.cc-stats dd{font-size:17px}
 .cc-toolbar{gap:10px;margin-top:20px}.cc-search,.cc-sort{height:40px}.cc-sort{padding:0 12px;font-size:10px}
 .cc-tabs button{height:32px;padding:0 11px;font-size:10px}
 .cc-shelves{gap:30px;margin-top:24px}.cc-shelf-head{gap:10px;margin-bottom:12px}.cc-shelf-head h2{font-size:17px}.cc-shelf-index{width:28px;height:28px;font-size:10px}.cc-shelf-hint{font-size:10px}
 .cc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .cc-card{border-radius:12px}.cc-card-num{font-size:44px;left:8px}
 .cc-card-body{padding:11px 12px 12px}.cc-card h3{font-size:14px}.cc-card p{margin:4px 0 10px;font-size:10px}
 .cc-price{font-size:14px}.cc-open{width:30px;padding:0;justify-content:center;font-size:0;gap:0}
 .cc-badge{top:8px;left:8px;padding:3px 6px;font-size:8px}.cc-fav{top:7px;right:7px;width:28px;height:28px}
}
@media(max-width:380px){.cc-sort span{display:none}.cc-sort{width:40px;justify-content:center;padding:0}.cc-stats div{padding:0 10px}.cc-stats dd{font-size:15px}.cc-feature{grid-template-columns:96px minmax(0,1fr)}.cc-feature img{width:96px}}
@media(prefers-reduced-motion:reduce){.cc-card,.cc-feature img,.cc-feature-rays{animation:none}.cc-card,.cc-card:after,.cc-card-stage img,.cc-open,.cc-feature-meta em{transition:none}}
/* Active seasonal events sit between the hero and the toolbar; one card per event. */
.cc-events{display:grid;gap:12px;margin-top:20px}
.cc-event{position:relative;display:grid;grid-template-columns:132px minmax(0,1fr) auto;align-items:center;gap:20px;padding:14px 24px 14px 14px;border:1px solid var(--case-edge,#ffffff1f);border-radius:16px;overflow:hidden;background:radial-gradient(120% 160% at 0% 50%,var(--case-glow,#bee77914),transparent 60%),#0b0d0a;color:inherit;text-decoration:none;transition:border-color .2s ease,transform .2s cubic-bezier(.23,1,.32,1)}
.cc-event img{width:132px;height:112px;object-fit:contain;filter:drop-shadow(0 10px 18px #0009)}
.cc-event-copy{display:grid;gap:5px;min-width:0}
.cc-event-tag{display:inline-flex;align-items:center;gap:6px;color:var(--case-accent);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.cc-event-tag .ui-icon{width:14px;height:14px}
.cc-event strong{font-size:22px;font-weight:800;letter-spacing:-.03em;color:#f1f3ec}
.cc-event-copy>span:last-child:not(.cc-event-tag){color:#9ea894;font-size:12px;line-height:1.45}
.cc-event em{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px;border-radius:10px;background:var(--case-accent);color:#11140e;font-style:normal;font-size:12px;font-weight:800;white-space:nowrap}
.cc-event em .ui-icon{width:14px;height:14px}
.cc-event:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.cc-shelf[data-shelf=events] .cc-shelf-index{border-color:var(--case-edge,#bee77945);color:var(--lime)}
.cc-shelf[data-shelf=events] .cc-shelf-index .ui-icon{width:15px;height:15px}
@media(hover:hover) and (pointer:fine){.cc-event:hover{border-color:var(--case-halo,#bee77959);transform:translateY(-2px)}}
@media(max-width:700px){.cc-event{grid-template-columns:84px minmax(0,1fr);gap:4px 12px;padding:12px}.cc-event img{width:84px;height:76px;grid-row:span 2}.cc-event strong{font-size:17px}.cc-event em{justify-self:start;height:32px;padding:0 12px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.cc-event{transition:none}}

/* Repaint a decoded cover once, without relying on pointer movement or a permanent GPU layer. */
.cc-card-stage img.is-ready{filter:drop-shadow(0 14px 14px #000b)}

/* Case scene polish: lit stage in the case colour, charged opening, focused reel and a showcase reveal.
   Loaded last; every effect is decorative and stops under reduced motion. */
.case-scene{border-color:#262c21;border-radius:16px;background:#0a0c09}
.case-scene-bg{background:radial-gradient(40% 50% at 50% 58%,color-mix(in srgb,var(--case-accent) 22%,transparent),transparent 72%),radial-gradient(120% 90% at 50% 40%,transparent 45%,#060805e6 100%),linear-gradient(180deg,#080c0870,transparent 34%,#080c08b0 86%,#080c08f5),url('/assets/case-bg/warehouse-v2.webp') center 53%/cover}
.case-scene-title h1{text-shadow:0 0 42px color-mix(in srgb,var(--case-accent) 30%,transparent)}
.case-scene-title .eyebrow{color:color-mix(in srgb,var(--case-accent) 55%,#c9d3bb)}
.case-scene-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;min-height:30px;margin-top:14px}
.case-scene-meta span{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:1px solid #ffffff17;border-radius:999px;background:#0a0d09b3;backdrop-filter:blur(6px);color:#cdd5c3;font-size:10px;font-weight:700;animation:outcome-enter .45s var(--motion-soft) both}
.case-scene-meta span:nth-child(2){animation-delay:.06s}.case-scene-meta span:nth-child(3){animation-delay:.12s}
.case-scene-meta .ui-icon{width:13px;height:13px;color:color-mix(in srgb,var(--case-accent) 70%,#e7ecdf)}
.case-scene-meta .currency-icon{width:11px!important;height:11px!important}
.case-scene-meta .is-special{border-color:#efc77966;color:#f3d79a}.case-scene-meta .is-special .ui-icon{color:#efc779}
.case-scene-meta .is-event{border-color:color-mix(in srgb,var(--case-accent) 55%,transparent);color:#f1f3ec}.case-scene-meta .is-event .ui-icon{color:var(--case-accent)}.case-scene-meta .is-closed{border-color:#ff8a7a55;color:#ffb3a8}
.case-scene[data-phase=result] .case-scene-meta{display:none}.case-scene.is-opening .case-scene-meta{opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}

/* Idle stage: a light cone, a glowing floor and a slowly hovering crate. */
.case-stage:before{content:'';position:absolute;inset:0;background:radial-gradient(38% 46% at 50% 44%,color-mix(in srgb,var(--case-accent) 26%,transparent),color-mix(in srgb,var(--case-accent) 8%,transparent) 55%,transparent 72%);pointer-events:none;transition:opacity .5s}
.case-stage-glow{position:absolute;left:50%;bottom:6%;width:min(420px,70%);height:64px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--case-accent) 48%,transparent),color-mix(in srgb,var(--case-accent) 12%,transparent) 55%,transparent);filter:blur(10px);pointer-events:none;animation:case-floor-pulse 5s ease-in-out infinite;transition:opacity .45s}
.case-stage{overflow:visible}
.case-stage-crate{z-index:1;height:84%;max-height:84%;filter:drop-shadow(0 26px 24px #000b) drop-shadow(0 0 36px color-mix(in srgb,var(--case-accent) 22%,transparent));animation:case-crate-hover 6s ease-in-out infinite;transition:opacity .3s}
.case-scene:not(.is-opening) .case-stage-crate{animation:case-crate-enter .7s var(--motion-soft) both,case-crate-hover 6s .7s ease-in-out infinite}

/* Opening: the crate shakes, charges with light and bursts before the reel takes its place. */
.is-opening .case-stage-crate{opacity:1;transform:none;animation:case-crate-burst .5s cubic-bezier(.4,0,.2,1) forwards}
.is-opening :is(.case-reels,.case-reel-head){animation:case-reels-in .3s .34s ease-out both}
.is-opening .case-stage:before{opacity:0}
.is-opening .case-stage-glow{animation:case-floor-flash .62s ease-out forwards}
.is-opening .case-scene-bg{filter:brightness(.5) saturate(.8);opacity:1}
.case-scene.is-opening:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(60% 40% at 50% 55%,color-mix(in srgb,var(--case-accent) 30%,transparent),transparent 70%);animation:case-open-flash .7s .32s ease-out both}

.case-reel-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;min-height:30px;padding:0 16px}
.case-reel-head .case-reel-status{grid-column:2;padding:0}
/* Reel: a glass conveyor band, a glowing marker and dimmed neighbours once the award has landed. */
.case-reel{border-block:1px solid #ffffff0d;background:linear-gradient(180deg,#0000,#05070580 20%,#05070580 80%,#0000)}
/* The marker glows with reel speed (--speed 0–1 from the controller) and pulses once per card crossing. */
.case-center-line{width:2px;opacity:1;transform:translateX(-50%);background:linear-gradient(180deg,transparent,var(--lime) 18%,var(--lime) 82%,transparent);box-shadow:0 0 calc(10px + var(--speed,0) * 18px) #bee779aa,0 0 calc(24px + var(--speed,0) * 40px) #bee77955}
.case-center-line:before{content:'';position:absolute;left:50%;top:6%;bottom:6%;width:calc(70px + var(--speed,0) * 150px);transform:translateX(-50%);background:radial-gradient(closest-side,#bee77930,transparent);opacity:calc(.35 + var(--speed,0) * .65);pointer-events:none}
.case-center-line.is-tick{animation:case-marker-tick .2s ease-out}
.case-roll-card.is-focus{filter:brightness(1.18)}
.case-reel.is-settled .case-center-line:before{opacity:0;transition:opacity .4s}
.case-reel:before,.case-reel:after{width:11px;height:11px;box-shadow:0 0 16px #bee779cc}
.case-roll-card{background:radial-gradient(ellipse at 50% 30%,color-mix(in srgb,var(--rarity) 18%,transparent),transparent 78%),#10140fe6;border-color:#2c3327;transition:filter .45s,opacity .45s}
.case-roll-card:before{content:'';position:absolute;inset:auto 0 0;height:40%;background:linear-gradient(transparent,color-mix(in srgb,var(--rarity) 16%,transparent));pointer-events:none}
.case-reel.is-settled .case-roll-card:not(.is-award){filter:brightness(.45) saturate(.6)}
.case-roll-card.is-award{z-index:2;border-color:var(--rarity);box-shadow:0 0 0 1px var(--rarity),0 0 38px color-mix(in srgb,var(--rarity) 45%,transparent),inset 0 0 34px color-mix(in srgb,var(--rarity) 16%,transparent)}
.case-roll-card.is-award img{animation:case-award-pop .55s cubic-bezier(.2,1.5,.35,1) both}

/* Reveal burst: rotating rays in the drop colour behind the landed card. */
.case-drop-rays{position:absolute;left:50%;top:50%;width:520px;height:520px;border-radius:50%;transform:translate(-50%,-50%) scale(.4);opacity:0;background:repeating-conic-gradient(color-mix(in srgb,var(--drop-color,#bee779) 30%,transparent) 0 4deg,transparent 4deg 14deg);mask-image:radial-gradient(circle,#000 10%,transparent 62%)}
.is-revealing .case-drop-rays{animation:case-rays 1.3s cubic-bezier(.2,.7,.2,1) both}
.case-stage-multi .case-drop-rays{width:760px;height:760px}

/* Quantity and open controls read as one console. */
.case-quantities{gap:2px;padding:3px;border:1px solid #2b3226;border-radius:11px;background:#0b0e0ad9;backdrop-filter:blur(6px)}
.case-quantities button{min-width:40px;border:0;border-radius:8px;background:none;color:#a3ad98;font-weight:700;transition:background .2s,color .2s}
.case-quantities button:hover:not(:disabled){color:#eef1e8;background:#ffffff0a}
.case-quantities button.active{background:var(--lime);color:#14200c;border:0}
.case-open{position:relative;overflow:hidden;border-radius:11px;box-shadow:0 8px 28px #bee77926}
.case-open:not(:disabled):after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#ffffff70 50%,transparent 65%);transform:translateX(-120%);animation:case-open-sheen 4.5s 1.2s ease-in-out infinite;pointer-events:none}
.case-fast{border-radius:11px;height:44px}

/* Contents grid: rarity-lit cards that lift on hover. */
.case-contents-grid .case-loot{border-radius:12px;border-color:#262c22;background:radial-gradient(ellipse at 50% 30%,color-mix(in srgb,var(--rarity) 17%,transparent),transparent 75%),#0e110d;transition:transform .3s var(--motion-soft),border-color .3s,box-shadow .3s}
.case-contents-grid .case-loot img{transition:transform .4s var(--motion-soft)}
.case-contents-grid .case-loot:is([data-case-kind=knife],[data-case-kind=gloves]){border-color:#5f5130;background:radial-gradient(ellipse at 50% 30%,#efc77926,transparent 75%),#11110c}
.case-contents-grid .case-loot:is([data-case-kind=knife],[data-case-kind=gloves]) .case-loot-top:after{content:'★';color:#efc779}

/* Result showcase: the drop rises on a lit pedestal in its own colour. */
.case-outcome-grid{max-height:none;overflow:visible}
/* The art row has a fixed height so a percentage-sized image cannot overflow into the caption. */
.outcome-art{grid-template-rows:minmax(0,100%)}.outcome-art img{max-height:100%;min-height:0}
.case-outcome[data-count="10"] .case-outcome-grid,.case-outcome[data-count="5"] .case-outcome-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.case-outcome[data-count="10"] .outcome-art{height:92px}.case-outcome[data-count="10"] .outcome-card-copy{padding-bottom:10px}.case-outcome[data-count="10"] .outcome-card-actions button{min-height:36px}
.outcome-heading{justify-content:center;text-align:center}
.outcome-heading>div{display:flex;flex-direction:column;align-items:center}
.outcome-heading .eyebrow{display:flex;justify-content:center;width:100%}
.case-outcome[data-count="1"] .outcome-card-top{justify-content:center;gap:8px}
.case-outcome[data-count="1"] .outcome-card-top>span{padding:5px 10px;border:1px solid #ffffff17;border-radius:999px;background:#0a0d09b3;font-size:9px;font-weight:700}
.case-outcome[data-count="1"] .outcome-card-top>span:first-child{border-color:color-mix(in srgb,var(--rarity) 55%,transparent);color:color-mix(in srgb,var(--rarity) 70%,#e2e8da)}
.case-scene[data-phase=result]>.case-scene-bg{opacity:.55;filter:saturate(.7) brightness(.7)}
.case-outcome:before{content:'';position:absolute;left:50%;top:38%;width:min(760px,100%);height:420px;transform:translate(-50%,-50%);background:radial-gradient(closest-side,color-mix(in srgb,var(--drop-color) 18%,transparent),transparent);pointer-events:none;z-index:-1}
.case-outcome{isolation:isolate}
.outcome-heading .eyebrow{text-shadow:0 0 16px color-mix(in srgb,var(--drop-color) 50%,transparent)}
.case-outcome[data-count="1"] .outcome-art{height:250px}
.case-outcome[data-count="1"] .outcome-art:before{width:340px;height:170px;opacity:.28;filter:blur(30px)}
.case-outcome[data-count="1"] .outcome-art:after{content:'';position:absolute;left:50%;top:50%;width:420px;height:420px;border-radius:50%;transform:translate(-50%,-50%);background:repeating-conic-gradient(color-mix(in srgb,var(--rarity) 20%,transparent) 0 3deg,transparent 3deg 12deg);mask-image:radial-gradient(circle,#000 8%,transparent 58%);animation:case-showcase-spin 28s linear infinite;z-index:-1}
.case-outcome[data-count="1"] .outcome-art img{width:400px;max-width:96%;filter:drop-shadow(0 22px 20px #000c) drop-shadow(0 0 28px color-mix(in srgb,var(--rarity) 30%,transparent));animation:case-showcase-rise .8s cubic-bezier(.2,1.25,.35,1) both,case-showcase-float 5s .8s ease-in-out infinite}
.case-outcome[data-count="1"] .outcome-card-copy{animation:outcome-enter .5s .25s var(--motion-soft) both}
.case-outcome[data-count="1"] .outcome-card-copy small{color:color-mix(in srgb,var(--rarity) 60%,#c8d0bd);font-weight:700;letter-spacing:.04em}
.case-outcome[data-count="1"] .outcome-card-copy h3{font-size:30px;letter-spacing:-.04em}
.case-outcome[data-count="1"] .outcome-card-copy>strong{font-size:22px;color:var(--lime)}
.case-outcome[data-count="1"] .outcome-card-actions{animation:outcome-enter .5s .4s var(--motion-soft) both;border-radius:10px}
.case-outcome:not([data-count="1"]) .outcome-card{animation:case-card-flip .55s cubic-bezier(.2,1.1,.35,1) both;animation-delay:calc(min(var(--arrival),9) * 60ms);transform-origin:50% 60%}
.case-outcome:not([data-count="1"]) .outcome-card:hover .outcome-art img{transform:translateY(-3px) scale(1.05)}
.outcome-actions>button{border-radius:11px}
.outcome-footer{animation:outcome-enter .5s .5s var(--motion-soft) both}

@media(hover:hover){
 .case-contents-grid .case-loot:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--rarity) 55%,#2b3027);box-shadow:0 14px 30px #0009,0 0 22px color-mix(in srgb,var(--rarity) 16%,transparent)}
 .case-contents-grid .case-loot:hover img{transform:scale(1.08) rotate(-3deg)}
}

@keyframes case-marker-tick{0%{width:4px;filter:brightness(1.8)}100%{width:2px;filter:none}}
@keyframes case-reels-in{from{opacity:0;transform:scale(.97)}}
@keyframes case-crate-hover{50%{transform:translateY(-7px)}}
@keyframes case-crate-enter{from{opacity:0;transform:translateY(16px) scale(.94)}}
@keyframes case-floor-pulse{50%{opacity:.65;transform:translateX(-50%) scale(.94)}}
@keyframes case-crate-burst{0%{transform:none}14%{transform:translateX(-5px) rotate(-3deg)}28%{transform:translateX(5px) rotate(3deg)}42%{transform:translateX(-3px) rotate(-1.5deg) scale(1.02)}60%{transform:scale(1.06);filter:brightness(1.7) drop-shadow(0 0 34px var(--case-accent));opacity:1}100%{transform:scale(1.12);filter:brightness(2.4) blur(10px);opacity:0}}
@keyframes case-floor-flash{40%{opacity:1;transform:translateX(-50%) scale(1.25)}100%{opacity:0;transform:translateX(-50%) scale(1.6)}}
@keyframes case-open-flash{0%{opacity:0}35%{opacity:1}100%{opacity:0}}
@keyframes case-award-pop{0%{transform:scale(1)}40%{transform:scale(1.16) translateY(-4px)}100%{transform:none}}
@keyframes case-rays{0%{opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(0)}30%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.15) rotate(40deg)}}
@keyframes case-open-sheen{0%,70%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
@keyframes case-showcase-spin{to{transform:translate(-50%,-50%) rotate(1turn)}}
@keyframes case-showcase-rise{0%{opacity:0;transform:translateY(40px) scale(.55) rotate(-12deg);filter:brightness(3) blur(6px)}60%{opacity:1;filter:brightness(1.3) blur(0)}100%{transform:none}}
@keyframes case-showcase-float{50%{transform:translateY(-8px) rotate(-1.5deg)}}
@keyframes case-card-flip{0%{opacity:0;transform:perspective(700px) rotateY(80deg) translateY(10px) scale(.92)}60%{opacity:1}100%{transform:none}}

@media(max-width:900px){.case-outcome[data-count="10"] .case-outcome-grid,.case-outcome[data-count="5"] .case-outcome-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){
 .case-outcome[data-count="10"] .case-outcome-grid,.case-outcome[data-count="5"] .case-outcome-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .case-stage:before{width:90%}
 .case-stage-glow{bottom:4%;height:48px;width:80%}
 .case-quantities{order:2;flex:1}.case-quantities button{min-width:0}
 .case-fast{height:38px}
 .case-outcome[data-count="1"] .outcome-art{height:170px}
 .case-outcome[data-count="1"] .outcome-art:after{width:300px;height:300px}
 .case-outcome[data-count="1"] .outcome-card-copy{padding-top:16px}.case-outcome[data-count="1"] .outcome-card-copy h3{font-size:24px}
 .case-drop-rays{width:380px;height:380px}
}
@media(prefers-reduced-motion:reduce){
 .case-stage-crate,.case-scene:not(.is-opening) .case-stage-crate,.case-stage-glow,.case-open:not(:disabled):after,.case-roll-card.is-award img,.case-outcome .outcome-art img,.case-outcome .outcome-art:after,.case-outcome .outcome-card,.case-outcome .outcome-card-copy,.case-outcome .outcome-card-actions,.outcome-footer,.case-scene-meta span,.case-center-line.is-tick,.case-scene.is-opening:after{animation:none!important}
 .is-opening .case-stage-crate{opacity:0}
 .is-opening :is(.case-reels,.case-reel-head){animation:none}
 .case-drop-rays{display:none}
 .case-contents-grid .case-loot,.case-contents-grid .case-loot img,.case-roll-card{transition:none}
}

/* Weekly roulette: hero with the night airfield, a large prize wheel seen from its top arc, rarity legend and prize grid. */
#roulette-view[hidden]{display:none}
#roulette-view{width:100%;min-width:0}
.rl{--r:760px;--seg-w:154px;--seg-h:238px;--wheel-top:52px;--view-h:410px}

.rl-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;min-height:340px;padding:40px 44px 28px}
/* User-provided warehouse / night airfield scene behind the hero and wheel. The fade runs bottom-up: the wheel stands on the plain
   background (the lower scene fades), the picture is at its clearest at the top, and the halfway point
   sits at the wheel's top edge. It is a single eased gradient measured from the bottom of the block
   (the wheel's viewport is --view-h tall), so hero and wheel share it and no seam or cut glow shows. */
.rl-scene{position:relative;isolation:isolate;border:1px solid #23271f;border-radius:16px;overflow:hidden;background:#0a0c09}
.rl-backdrop{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0a0c09d9,#0a0c0973 34%,#0a0c091a 70%),url('/assets/case-bg/roulette-airfield-v1.webp') center top/cover no-repeat;pointer-events:none;animation:rl-backdrop-in .9s var(--motion-soft) both}
.rl-backdrop:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0a0c09 0,#0a0c09 calc(var(--view-h) * .3),#0a0c09d9 calc(var(--view-h) * .62),#0a0c09a6 calc(var(--view-h) * .86),#0a0c0980 var(--view-h),#0a0c0952 calc(var(--view-h) + 90px),#0a0c0926 calc(var(--view-h) + 190px),#0a0c0900 calc(var(--view-h) + 300px))}
@keyframes rl-backdrop-in{from{opacity:0}}
.rl-hero-copy.page-heading{display:block;position:relative;z-index:1;min-width:0;max-width:560px;padding:0}
.rl-hero-copy h1>span{display:block;margin:0}
.rl-hero-copy p{max-width:440px;color:#aab4a2}.rl-hero-copy p b{color:#f1f3ec}
.rl-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;margin-top:24px}
.rl-spin{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:230px;min-height:58px;padding:0 28px;border:0;border-radius:12px;overflow:hidden;background:var(--lime);color:#14200c;font:800 14px var(--font);cursor:pointer;box-shadow:0 10px 34px #bee77933;transition:filter .2s,transform .2s var(--motion-soft),box-shadow .2s}
.rl-spin .ui-icon{width:18px;height:18px}
.rl-spin:not(:disabled):after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#ffffff80 50%,transparent 65%);transform:translateX(-120%);animation:case-open-sheen 4s 1s ease-in-out infinite;pointer-events:none}
.rl-spin:not(:disabled):hover{color:#14200c;filter:brightness(1.07);transform:translateY(-1px);box-shadow:0 14px 40px #bee77944}
.rl-spin:disabled{background:#1a2015;color:#7f8a76;box-shadow:none;cursor:default}
.rl-spin:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.rl-timer{display:flex;align-items:center;gap:14px;min-height:58px;padding:0 20px;border:1px solid #2a3025;border-radius:12px;background:#0d100cd9;backdrop-filter:blur(6px)}
.rl-timer>.ui-icon{width:22px;height:22px;color:var(--lime)}
.rl-timer span{display:grid;gap:3px}.rl-timer small{color:#8d9784;font-size:10px}
.rl-timer strong{color:#eef1e8;font-size:14px;font-weight:600;white-space:nowrap}.rl-timer strong b{font-size:17px;font-weight:800;margin-right:2px}
.rl-timer.is-ready strong{color:var(--lime);font-weight:800}
.rl-last{display:flex;align-items:center;gap:12px;max-width:440px;margin-top:14px;padding:8px 14px 8px 8px;border:1px solid color-mix(in srgb,var(--rarity) 40%,#2a3025);border-radius:12px;background:#0d100cd9;animation:outcome-enter .4s var(--motion-soft) both}
.rl-last img{width:64px;height:44px;object-fit:contain}.rl-last span{display:grid;gap:2px;min-width:0;flex:1}.rl-last small{color:#8d9784;font-size:9px}
.rl-last strong{overflow:hidden;color:#eef1e8;font-size:12px;white-space:nowrap;text-overflow:ellipsis}.rl-last b{display:flex;align-items:center;gap:5px;color:var(--lime);font-size:13px;white-space:nowrap}


/* The hero always ends in the stage colour: this overlay sits above the art and below the copy,
   so neither the art nor the background can leave a visible edge where the wheel begins. */
/* Hero art comes from the reference design; its edges dissolve into the hero background. */
/* The wheel: only its top arc is visible; segments are wedges placed around the centre. */
.rl-stage{position:relative;overflow:hidden}
.rl-viewport{position:relative;height:var(--view-h);overflow:hidden;--glow:#bee7791a}
/* The wheel's glow fades in from the top too, so it has no edge where the hero ends. */
.rl-viewport:before{content:'';position:absolute;inset:0;background:radial-gradient(60% 75% at 50% 32%,var(--glow),transparent 72%);-webkit-mask-image:linear-gradient(transparent,#000 140px);mask-image:linear-gradient(transparent,#000 140px);pointer-events:none}
.rl-viewport:after{content:'';position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(90deg,#0a0c09 0%,transparent 14%,transparent 86%,#0a0c09 100%),linear-gradient(transparent 70%,#0a0c09cc)}
.rl-wheel{position:absolute;left:50%;top:var(--wheel-top);width:calc(var(--r) * 2);height:calc(var(--r) * 2);margin-left:calc(var(--r) * -1);border-radius:50%;transform:rotate(var(--rot,0deg));will-change:transform}
.rl-wheel:before{content:'';position:absolute;inset:-5px;border-radius:50%;border:2px solid #bee77966;box-shadow:0 0 36px #bee77940,inset 0 0 30px #bee77926}
.rl-seg{position:absolute;left:50%;top:7px;width:var(--seg-w);height:var(--seg-h);margin-left:calc(var(--seg-w) / -2);transform-origin:50% calc(var(--r) - 7px);transform:rotate(calc(var(--i) * 12deg));transition:filter .25s}
.rl-seg:before,.rl-seg-body{clip-path:polygon(0 0,100% 0,84% 100%,16% 100%)}
.rl-seg:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--rarity) 70%,transparent),#ffffff12 60%,transparent)}
.rl-seg-body{position:absolute;inset:1.5px;display:flex;flex-direction:column;align-items:center;padding:16px 18% 0;text-align:center;background:radial-gradient(70% 45% at 50% 20%,color-mix(in srgb,var(--rarity) 26%,transparent),transparent 75%),linear-gradient(180deg,#141812,#0b0d0a 80%);transition:background .25s}
.rl-seg img{width:118%;max-width:none;height:34%;object-fit:contain;filter:drop-shadow(0 8px 10px #000a);transition:transform .3s var(--motion-soft)}
.rl-seg small{margin-top:10px;max-width:100%;overflow:hidden;color:#8f9a86;font-size:9px;white-space:nowrap;text-overflow:ellipsis}
.rl-seg strong{max-width:100%;overflow:hidden;color:#eef1e8;font-size:11px;line-height:1.35;white-space:nowrap;text-overflow:ellipsis}
.rl-seg em{margin-top:4px;color:color-mix(in srgb,var(--rarity) 85%,#fff);font-size:8px;font-style:normal;font-weight:800;letter-spacing:1px;text-transform:uppercase;white-space:nowrap}
.rl-seg:is([data-kind=knife],[data-kind=gloves]) em{color:#efc779}
.rl-seg-body{transform-origin:50% 35%;transition:transform .16s var(--motion-soft),background .25s}
.rl-seg:before{transform-origin:50% 35%;transition:transform .16s var(--motion-soft)}
.rl-seg.is-near:before{transform:scale(1.03)}
.rl-seg.is-active:before{transform:scale(1.1)}
.rl-seg.is-near .rl-seg-body{transform:scale(1.03)}
.rl-seg.is-active{z-index:2;filter:drop-shadow(0 0 12px color-mix(in srgb,var(--rarity) 55%,transparent))}
.rl-seg.is-active .rl-seg-body{transform:scale(1.1);background:radial-gradient(70% 45% at 50% 20%,color-mix(in srgb,var(--rarity) 40%,transparent),transparent 75%),linear-gradient(180deg,#1b2118,#0e110d 80%)}
.rl-seg.is-active img{transform:scale(1.2) translateY(-2px)}
.rl-wheel.is-fast .rl-seg img{filter:blur(1.2px) drop-shadow(0 8px 10px #000a)}
.rl-wheel:after{content:'';position:absolute;inset:-11px;border-radius:50%;background:repeating-conic-gradient(#bee779 0 .7deg,transparent .7deg 6deg);-webkit-mask-image:radial-gradient(closest-side,transparent calc(100% - 4px),#000 calc(100% - 3px),#000 calc(100% - 1px),transparent);mask-image:radial-gradient(closest-side,transparent calc(100% - 4px),#000 calc(100% - 3px),#000 calc(100% - 1px),transparent);opacity:.45;filter:drop-shadow(0 0 4px #bee779);transition:opacity .4s}
.rl-stage.is-spinning .rl-wheel:after{opacity:1;animation:rl-bulbs .5s steps(2) infinite}
.rl-stage.is-won .rl-wheel:after{opacity:.9;background:repeating-conic-gradient(var(--drop-color) 0 .7deg,transparent .7deg 6deg);filter:drop-shadow(0 0 5px var(--drop-color))}
.rl-seg.is-win{z-index:2;filter:drop-shadow(0 0 16px var(--rarity)) drop-shadow(0 0 4px var(--rarity))}
.rl-seg.is-win .rl-seg-body{background:radial-gradient(70% 50% at 50% 22%,color-mix(in srgb,var(--rarity) 55%,transparent),transparent 78%),linear-gradient(180deg,#20271c,#10130e 80%)}
.rl-seg.is-win img{animation:rl-win-pop .7s cubic-bezier(.2,1.5,.35,1) both}
.rl-stage.is-won .rl-seg:not(.is-win){filter:brightness(.42) saturate(.6)}
.rl-hub{position:absolute;left:50%;top:calc(var(--wheel-top) + var(--seg-h) + 22px);z-index:1;width:calc((var(--r) - var(--seg-h) - 22px) * 2);height:calc((var(--r) - var(--seg-h) - 22px) * 2);transform:translateX(-50%);border:1px solid #bee77933;border-radius:50%;background:radial-gradient(50% 18% at 50% 0%,#bee7791f,transparent),#0b0d0a;box-shadow:inset 0 10px 50px #000c,0 0 30px #0008}
.rl-pointer{position:absolute;left:50%;top:18px;z-index:5;width:38px;height:30px;transform:translateX(-50%);background:var(--lime);clip-path:polygon(0 0,100% 0,50% 100%);filter:drop-shadow(0 0 10px #bee779)}
.rl-pointer:after{content:'';position:absolute;left:50%;top:-18px;width:2px;height:18px;background:var(--lime);transform:translateX(-50%)}
.rl-stage.is-tick .rl-pointer{animation:rl-pointer-tick .16s ease-out}
.rl-stage.is-spinning .rl-viewport{--glow:#bee77926}
.rl-stage.is-won .rl-pointer{background:var(--drop-color);filter:drop-shadow(0 0 14px var(--drop-color))}
.rl-status{position:absolute;left:50%;bottom:30px;z-index:5;max-width:80%;transform:translateX(-50%);color:#cdd5c3;font-size:13px;font-weight:700;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rl-stage.is-won .rl-status{color:var(--drop-color);text-shadow:0 0 18px color-mix(in srgb,var(--drop-color) 60%,transparent)}

/* Win burst: rays and sparks at the winning segment under the pointer. */
.rl-burst{position:absolute;left:50%;top:calc(var(--wheel-top) + var(--seg-h) / 2);z-index:3;width:0;height:0;pointer-events:none}
.rl-burst s{position:absolute;left:0;top:0;width:560px;height:560px;border-radius:50%;transform:translate(-50%,-50%) scale(.4);opacity:0;background:repeating-conic-gradient(color-mix(in srgb,var(--drop-color,#bee779) 30%,transparent) 0 4deg,transparent 4deg 14deg);mask-image:radial-gradient(circle,#000 8%,transparent 62%)}
.rl-burst i{position:absolute;left:0;top:0;width:6px;height:14px;opacity:0;background:var(--drop-color,#bee779);clip-path:polygon(50% 0,100% 35%,70% 100%,0 65%)}
.rl-stage.is-won .rl-burst s{animation:case-rays 1.6s cubic-bezier(.2,.7,.2,1) both}
.rl-stage.is-won .rl-burst i{animation:rl-spark .9s cubic-bezier(.1,.65,.2,1) both;animation-delay:calc(var(--spark) * 12ms)}

/* Result card overlays the wheel after the stop. */
.rl-result{position:absolute;inset:0;z-index:8;display:grid;place-items:center;padding:20px;background:radial-gradient(50% 60% at 50% 45%,color-mix(in srgb,var(--rarity) 16%,transparent),transparent 75%),#080a07d9;backdrop-filter:blur(6px);animation:outcome-enter .4s var(--motion-soft) both}
.rl-result[hidden]{display:none}
.rl-result-card{display:flex;flex-direction:column;align-items:center;max-width:560px;text-align:center}
.rl-result-card .eyebrow{display:flex;justify-content:center;color:color-mix(in srgb,var(--rarity) 75%,#e6ecdd);font-size:9px;font-weight:800;letter-spacing:1.7px}
.rl-result-art{position:relative;display:grid;grid-template-rows:minmax(0,100%);place-items:center;width:320px;height:160px;margin:8px 0 12px}
.rl-result-art:before{content:'';position:absolute;left:50%;top:50%;width:380px;height:380px;border-radius:50%;transform:translate(-50%,-50%);background:repeating-conic-gradient(color-mix(in srgb,var(--rarity) 22%,transparent) 0 3deg,transparent 3deg 12deg);mask-image:radial-gradient(circle,#000 8%,transparent 58%);animation:case-showcase-spin 28s linear infinite}
.rl-result-art img{position:relative;width:100%;height:100%;max-height:100%;min-height:0;object-fit:contain;filter:drop-shadow(0 18px 18px #000c) drop-shadow(0 0 26px color-mix(in srgb,var(--rarity) 35%,transparent));animation:case-showcase-rise .8s cubic-bezier(.2,1.25,.35,1) both}
.rl-result-card small{color:color-mix(in srgb,var(--rarity) 60%,#c8d0bd);font-size:11px;font-weight:700}
.rl-result-card h2{margin:4px 0;font-size:28px;font-weight:800;letter-spacing:-.04em;outline:0}
.rl-result-card>strong{display:flex;align-items:center;gap:6px;color:var(--lime);font-size:20px}
.rl-result-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}
.rl-result-actions>button{min-height:44px;padding:0 18px;border-radius:11px;font-size:11px;font-weight:800;white-space:nowrap}
.rl-result-actions .case-open{min-width:0}.rl-result-actions .outcome-sell-all{flex:0 1 auto}
.rl-result-card>p{margin:12px 0 0;color:#7f8a76;font-size:10px}

.rl-legend{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;margin-top:14px;padding:16px 20px;border:1px solid #23271f;border-radius:14px;background:#0d0f0c}
.rl-legend-gift{display:flex;align-items:center;gap:12px;padding-right:24px;border-right:1px solid #ffffff12}
.rl-legend-gift>.ui-icon{width:42px;height:42px;padding:10px;border:1px solid #bee77940;border-radius:10px;background:#bee7790f;color:var(--lime)}
.rl-legend-gift span{display:grid;gap:3px}.rl-legend-gift strong{color:#eef1e8;font-size:12px}.rl-legend-gift small{color:#8d9784;font-size:10px}
.rl-legend-list{display:grid;gap:8px;min-width:0}.rl-legend-list>small{color:#8d9784;font-size:10px}
.rl-legend-list ul{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;list-style:none}
.rl-legend-list li{display:flex;align-items:center;gap:7px;color:#c3cab9;font-size:11px}
.rl-legend-list li:before{content:'';width:8px;height:8px;border-radius:50%;background:var(--rarity);box-shadow:0 0 8px var(--rarity)}
.rl-legend-note{display:flex;align-items:center;gap:10px;max-width:250px;margin:0;padding-left:24px;border-left:1px solid #ffffff12;color:#8d9784;font-size:10px;line-height:1.5}
.rl-legend-note .ui-icon{flex:none;width:18px;height:18px;color:#a9b49e}
.rl-prizes{margin-top:34px}
.rl-prizes .case-contents-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.rl-prizes .case-contents-head{margin-bottom:16px}

@keyframes rl-bulbs{50%{opacity:.55}}
@keyframes rl-pointer-tick{0%{transform:translateX(-50%) rotate(-14deg)}100%{transform:translateX(-50%)}}
@keyframes rl-win-pop{0%{transform:scale(1)}40%{transform:scale(1.22) translateY(-6px)}100%{transform:scale(1.08)}}
@keyframes rl-spark{0%{opacity:0;transform:rotate(calc(var(--spark) * 25.7deg)) translateY(30px)}20%{opacity:.9}100%{opacity:0;transform:rotate(calc(var(--spark) * 25.7deg)) translateY(150px) scale(.4)}}

@media(max-width:1100px){
 .rl{--r:600px;--seg-w:120px;--seg-h:200px;--view-h:360px}
 .rl-hero{padding:34px 30px 24px}
 .rl-legend{grid-template-columns:1fr;gap:14px}.rl-legend-gift{border-right:0;padding-right:0}.rl-legend-note{max-width:none;padding-left:0;border-left:0}
}
@media(max-width:760px){
 .rl-prizes .case-contents-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .rl{--r:430px;--seg-w:86px;--seg-h:150px;--wheel-top:46px;--view-h:290px}
 .rl-hero{grid-template-columns:1fr;min-height:0;padding:26px 20px 10px}
 .rl-backdrop{background:linear-gradient(#0a0c0966,#0a0c0966),url('/assets/case-bg/roulette-airfield-v1.webp') 60% 0/auto 500px no-repeat}
 .rl-actions{flex-direction:column}.rl-spin,.rl-timer{width:100%;min-height:52px}
 .rl-seg-body{padding:10px 14% 0}.rl-seg small,.rl-seg strong{display:none}.rl-seg em{margin-top:6px;font-size:6.5px;letter-spacing:.4px}
 .rl-pointer{top:14px;width:30px;height:24px}
 .rl-status{bottom:20px;font-size:11px}
 .rl-result-art{width:240px;height:120px}.rl-result-card h2{font-size:22px}.rl-result-actions>button{flex:1 1 100%}
 .rl-stage:has(.rl-result:not([hidden])) .rl-viewport{height:480px}
}
@media(prefers-reduced-motion:reduce){
 .rl-spin:after,.rl-backdrop,.rl-wheel:after,.rl-seg img,.rl-burst s,.rl-burst i,.rl-result,.rl-result-art:before,.rl-result-art img,.rl-last,.rl-stage.is-tick .rl-pointer{animation:none!important}
 .rl-seg,.rl-seg-body,.rl-seg img,.rl-spin{transition:none}
 .rl-wheel.is-fast .rl-seg img{filter:none}
}

/* Profile polish: rank ladder with contained art, a lit best-drop showcase, livelier hovers and a staggered entrance.
   Loaded last and scoped to #profile-view so the older layered rules stay untouched. */
#profile-view>*{animation:prof-in .55s var(--motion-soft) both}
#profile-view>*:nth-child(2){animation-delay:.06s}#profile-view>*:nth-child(3){animation-delay:.12s}#profile-view>*:nth-child(4){animation-delay:.18s}

/* Hero: the current Skuf breathes gently; the slogan gets a slow lime sheen. */
#profile-view .profile-hero-card{border:1px solid #1f241c;border-radius:16px;overflow:hidden}
#profile-view .hero-character{animation:prof-float 6s ease-in-out infinite;filter:drop-shadow(0 8px 26px #000a) drop-shadow(0 0 30px #bee77914)}
#profile-view .hero-slogan strong{background:linear-gradient(100deg,var(--lime) 30%,#f4ffd9 50%,var(--lime) 70%) 0 0/250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:prof-sheen 5s 1s ease-in-out infinite}

/* Identity strip */
#profile-view .profile-main-strip{border-radius:16px;border-color:#232820;background:radial-gradient(60% 120% at 0% 0%,#bee7790d,transparent 60%),linear-gradient(115deg,#111512,#0c0f0e)}
#profile-view .profile-avatar-wrap{position:relative}
#profile-view .profile-avatar-wrap:after{content:'';position:absolute;inset:-4px;border-radius:50%;border:1px solid #bee77955;animation:prof-ring 3.5s ease-out infinite;pointer-events:none}
#profile-view .rank-progress-bar{position:relative;overflow:hidden;border-radius:999px}
#profile-view .rank-progress__fill{position:relative;border-radius:inherit;background:linear-gradient(90deg,#8fbf4d,var(--lime));box-shadow:0 0 12px #bee77966;transition:width 1s var(--motion-soft)}
#profile-view .rank-progress__fill:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,#ffffff70,transparent);transform:translateX(-100%);animation:prof-bar 2.8s 1s ease-in-out infinite}

/* Rank ladder: every Skuf stays inside its tile; a track underneath fills up to the current rank. */
#profile-view .profile-ranks-row{position:relative;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));align-items:end;gap:8px;padding:16px 18px 26px}
#profile-view .profile-ranks-row:before,#profile-view .profile-ranks-row:after{content:'';position:absolute;left:24px;right:24px;bottom:12px;height:3px;border-radius:3px;background:#20251d}
#profile-view .profile-ranks-row:after{right:auto;width:calc((100% - 48px) * var(--rank-progress,0));background:linear-gradient(90deg,#6f9a3a,var(--lime));box-shadow:0 0 10px #bee77980;transition:width 1.1s var(--motion-soft)}
#profile-view .rank-slot{position:relative;display:block;width:100%;height:92px;min-height:0;padding:0;overflow:visible;border:1px solid #262c23;border-radius:12px;background:radial-gradient(80% 60% at 50% 100%,#bee77914,transparent 70%),linear-gradient(180deg,#151a13,#0c0f0b);cursor:pointer;animation:prof-in .5s var(--motion-soft) both;animation-delay:calc(.15s + var(--rank-i) * 40ms);transition:transform .3s var(--motion-soft),border-color .25s,box-shadow .3s,background .25s}
#profile-view .rank-slot-art{position:absolute;inset:0;overflow:hidden;border-radius:inherit}
#profile-view .rank-slot-thumb{position:absolute;left:50%;bottom:6px;width:auto;max-width:96%;height:86%;max-height:none;transform:translateX(-50%);transform-origin:50% 100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 4px 8px #0008);transition:transform .35s var(--motion-soft),filter .3s}
#profile-view .rank-slot-num{position:absolute;left:50%;bottom:-9px;z-index:2;min-width:22px;padding:3px 6px;transform:translateX(-50%);border:1px solid #2c3429;border-radius:6px;background:#141912;color:#c5ccbd;font:700 10px var(--font);text-align:center;transition:background .25s,color .25s,border-color .25s}
#profile-view .rank-lock{position:absolute;right:6px;top:6px;z-index:2;display:grid;place-items:center;width:18px;height:18px;border-radius:6px;background:#0b0d0acc;color:#8f988a}
#profile-view .rank-lock .ui-icon{width:10px;height:10px}
#profile-view .rank-slot--locked{background:linear-gradient(180deg,#121510,#0b0d0a);border-color:#1f241d}
#profile-view .rank-slot--locked .rank-slot-thumb{opacity:.32;filter:grayscale(.85) brightness(.7)}
#profile-view .rank-locked-glyph{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:#4d554a}
#profile-view .rank-locked-glyph .ui-icon{width:26px;height:26px;animation:prof-mystery 3s ease-in-out infinite;animation-delay:calc(var(--rank-i) * -.4s)}
#profile-view .rank-slot--current{border-color:var(--lime);background:radial-gradient(80% 70% at 50% 100%,#bee77938,transparent 72%),linear-gradient(180deg,#1a2214,#0e120c);box-shadow:0 0 0 1px #bee77940,0 0 26px #bee77933}
#profile-view .rank-slot--current:before{content:'ТЫ';position:absolute;left:50%;top:-9px;z-index:3;padding:2px 7px;transform:translateX(-50%);border-radius:6px;background:var(--lime);color:#14200c;font:800 8px var(--font);letter-spacing:1px}
#profile-view .rank-slot--current .rank-slot-num{border-color:var(--lime);background:var(--lime);color:#14200c}
#profile-view .rank-slot--current .rank-slot-thumb{animation:prof-nudge 4s ease-in-out infinite}
@media(hover:hover){
 #profile-view .rank-slot:hover{z-index:2;transform:translateY(-5px);border-color:#bee77999;box-shadow:0 12px 26px #000a,0 0 18px #bee77926}
 #profile-view .rank-slot:not(.rank-slot--locked):hover .rank-slot-thumb{transform:translateX(-50%) scale(1.09);filter:drop-shadow(0 6px 12px #000a) drop-shadow(0 0 10px #bee77955)}
 #profile-view .rank-slot--locked:hover .rank-slot-thumb{opacity:.55}
}
#profile-view .rank-slot:focus-visible{outline:2px solid var(--lime);outline-offset:3px}

/* Metric boxes */
#profile-view :is(.profile-metric-box,.profile-extra-card){border-radius:14px;transition:transform .3s var(--motion-soft),border-color .25s,box-shadow .3s}
#profile-view :is(.metric-icon,.profile-extra-icon){transition:transform .35s var(--motion-soft),background .25s,box-shadow .25s}
@media(hover:hover){
 #profile-view :is(.profile-metric-box,.profile-extra-card):hover{transform:translateY(-3px);border-color:#bee77955;box-shadow:0 12px 28px #0008}
 #profile-view :is(.profile-metric-box,.profile-extra-card):hover :is(.metric-icon,.profile-extra-icon){transform:rotate(-8deg) scale(1.1);background:#bee7791f;box-shadow:0 0 14px #bee77933}
}

/* Best drop: a contained showcase lit in the item's rarity colour. */
#profile-view .best-drop-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-template-rows:auto 1fr;align-items:center;column-gap:16px;min-height:150px;padding:18px 22px;overflow:hidden;border-radius:14px;background:radial-gradient(45% 90% at 72% 55%,color-mix(in srgb,var(--drop-color,#bee779) 18%,transparent),transparent 70%),#0f120e;transition:border-color .3s,box-shadow .3s}
#profile-view .best-drop-header{grid-column:1/-1;position:relative;z-index:2}
#profile-view .best-drop-title{display:inline-flex;align-items:center;gap:7px;padding:4px 10px;border:1px solid color-mix(in srgb,var(--drop-color,#bee779) 40%,#2a3025);border-radius:999px;background:#0b0d0acc;color:#d6ddcc;font:700 10px var(--font);letter-spacing:.3px}
#profile-view .best-drop-body{display:contents}
#profile-view .best-drop-info{position:relative;z-index:2;max-width:none;align-self:end}
#profile-view .best-drop-weapon{color:color-mix(in srgb,var(--drop-color,#bee779) 60%,#c8d0bd);font-weight:700}
#profile-view .best-drop-name{font-size:17px;letter-spacing:-.02em}
#profile-view .best-drop-visual{position:relative;inset:auto;z-index:1;display:grid;grid-template-rows:minmax(0,100%);place-items:center;width:auto;height:118px;opacity:1;align-self:center}
#profile-view .best-drop-visual:before{content:'';position:absolute;left:50%;top:50%;width:300px;height:300px;border-radius:50%;transform:translate(-50%,-50%);background:repeating-conic-gradient(color-mix(in srgb,var(--drop-color,#bee779) 18%,transparent) 0 3deg,transparent 3deg 13deg);mask-image:radial-gradient(circle,#000 6%,transparent 60%);animation:prof-spin 30s linear infinite;pointer-events:none}
#profile-view .best-drop-img{position:relative;width:100%;height:100%;max-height:100%;min-height:0;object-fit:contain;filter:drop-shadow(0 14px 16px #000b) drop-shadow(0 0 18px color-mix(in srgb,var(--drop-color,#bee779) 35%,transparent));animation:prof-nudge 5s ease-in-out infinite;transition:transform .45s var(--motion-soft)}
#profile-view .best-drop-card.is-empty .best-drop-visual:before{display:none}
#profile-view .best-drop-atmosphere{opacity:.55}
@media(hover:hover){
 #profile-view .best-drop-card:hover{border-color:color-mix(in srgb,var(--drop-color,#bee779) 50%,#2a3025);box-shadow:0 14px 34px #0009,0 0 26px color-mix(in srgb,var(--drop-color,#bee779) 14%,transparent)}
 #profile-view .best-drop-card:hover .best-drop-img{transform:scale(1.08) rotate(-4deg)}
}

/* Inventory cards: lift, rarity glow, a light sweep and a tilted skin. */
#profile-view .profile-inventory-card{position:relative;border-radius:14px;transition:transform .3s var(--motion-soft),border-color .25s,box-shadow .3s}
#profile-view .profile-inventory-card:after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 38%,#ffffff0f 50%,transparent 62%);transform:translateX(-110%);pointer-events:none}
#profile-view .profile-inventory-card .card-img-wrap{position:relative}
#profile-view .profile-inventory-card .card-img-wrap:before{content:'';position:absolute;left:50%;top:50%;width:70%;height:70%;border-radius:50%;transform:translate(-50%,-50%);background:var(--rarity-color);opacity:.1;filter:blur(18px);transition:opacity .3s}
#profile-view .profile-inventory-card .card-img-wrap img{position:relative;transition:transform .45s var(--motion-soft)}
@media(hover:hover){
 #profile-view .profile-inventory-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--rarity-color) 55%,#2a3025);box-shadow:0 14px 30px #0009,0 0 22px color-mix(in srgb,var(--rarity-color) 16%,transparent)}
 #profile-view .profile-inventory-card:hover:after{transform:translateX(110%);transition:transform .9s var(--motion-soft)}
 #profile-view .profile-inventory-card:hover .card-img-wrap img{transform:scale(1.1) rotate(-4deg)}
 #profile-view .profile-inventory-card:hover .card-img-wrap:before{opacity:.28}
}

/* Item history timeline: days as chapters, a rail with kind-coloured nodes, light rows instead of boxes. */
#profile-view .hx{display:grid;gap:26px;padding:4px 2px}
#profile-view .hx-day-title{display:flex;align-items:baseline;gap:10px;margin:0 0 8px 56px;color:#eef1e8;font-size:14px;font-weight:800;letter-spacing:-.01em}
#profile-view .hx-day-title small{color:#6f7a68;font-size:10px;font-weight:600}
#profile-view .hx-list{position:relative;margin:0;padding:0;list-style:none}
#profile-view .hx-list:before{content:'';position:absolute;left:19px;top:20px;bottom:20px;width:2px;border-radius:2px;background:linear-gradient(#bee77950,#ffffff0d)}
#profile-view .hx-item{--accent:#bee779;position:relative;display:grid;grid-template-columns:40px 120px 280px minmax(40px,1fr) minmax(220px,1.1fr) 150px;align-items:center;gap:14px;padding:10px 16px 10px 0;border-radius:14px;animation:prof-row-in .5s var(--motion-soft) both;animation-delay:calc(var(--i,0) * 40ms);transition:background .3s}
#profile-view .hx-item.is-lost{--accent:#e0866f}
#profile-view .hx-item.is-gold{--accent:#ff4d51}
#profile-view .hx-item.is-case{--accent:#c58bff}
#profile-view .hx-item.is-weekly{--accent:#5fd6c4}
#profile-view .hx-item.is-sale{--accent:#efc779}
#profile-view .hx-item.is-purchase{--accent:#6fb7ff}
#profile-view .hx-node{position:relative;z-index:1;display:grid;place-items:center;width:40px;height:40px;border:1px solid color-mix(in srgb,var(--accent) 45%,#2a3025);border-radius:12px;background:#0d100c;color:var(--accent);box-shadow:0 0 0 5px #0b0d0a;transition:transform .35s var(--motion-soft),background .3s,box-shadow .3s}
#profile-view .hx-node .ui-icon{width:18px;height:18px}
#profile-view .hx-day:first-child .hx-item:first-child .hx-node:after{content:'';position:absolute;inset:-1px;border:1px solid var(--accent);border-radius:inherit;animation:prof-ring 2.6s ease-out infinite}
#profile-view .hx-meta{min-width:0}
#profile-view .hx-meta b{display:block;overflow:hidden;color:var(--accent);font-size:12px;font-weight:800;white-space:nowrap;text-overflow:ellipsis}
#profile-view .hx-meta time{color:#6f7a68;font-size:10px}
#profile-view .hx-from{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;min-width:0}
#profile-view .hx-thumb{position:relative;display:grid;place-items:center;width:58px;height:40px;border-bottom:2px solid var(--rarity);border-radius:9px;background:radial-gradient(closest-side,color-mix(in srgb,var(--rarity) 26%,transparent),transparent),#0f120e;transition:transform .3s var(--motion-soft)}
#profile-view .hx-thumb img{width:88%;height:88%;object-fit:contain;filter:drop-shadow(0 4px 6px #000a)}
#profile-view .hx-thumb b{position:absolute;right:-4px;top:-6px;padding:1px 5px;border-radius:6px;background:#bee779;color:#14200c;font-size:9px}
#profile-view .hx-thumb.is-missing{border-bottom-color:#3a4034;color:#6f7a68;font-weight:800}
#profile-view .hx-more,#profile-view .hx-chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:999px;background:color-mix(in srgb,var(--accent) 9%,#0d100c);color:#e6ebde;font-size:12px;font-weight:700;white-space:nowrap}
#profile-view .hx-chip .ui-icon{width:15px;height:15px;color:var(--accent)}
#profile-view .hx-chip .currency-icon,#profile-view .hx-value .currency-icon{width:12px;height:12px}
#profile-view .hx-arrow{position:relative;height:2px;background:repeating-linear-gradient(90deg,var(--accent) 0 5px,transparent 5px 10px) 0 0/20px 2px;opacity:.55;animation:prof-flow 1.1s linear infinite}
#profile-view .hx-arrow:after{content:'';position:absolute;right:-2px;top:50%;width:8px;height:10px;transform:translateY(-50%);background:var(--accent);clip-path:polygon(0 0,100% 50%,0 100%)}
#profile-view .hx-to{display:flex;align-items:center;gap:12px;min-width:0}
#profile-view .hx-to>div{min-width:0}
#profile-view .hx-to-art{position:relative;display:grid;place-items:center;flex:none;width:84px;height:54px}
#profile-view .hx-to-art:before{content:'';position:absolute;inset:8px 6px;border-radius:50%;background:var(--rarity);opacity:.2;filter:blur(14px)}
#profile-view .hx-to-art img{position:relative;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 8px #000b);transition:transform .45s var(--motion-soft)}
#profile-view .hx-to small{display:block;color:#7d8875;font-size:10px}
#profile-view .hx-to strong{display:block;overflow:hidden;color:#eef1e8;font-size:13px;white-space:nowrap;text-overflow:ellipsis}
#profile-view .hx-to em{color:var(--accent);font-size:10px;font-style:normal;font-weight:700}
#profile-view .hx-to-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}
#profile-view .hx-to-icon .ui-icon{width:18px;height:18px}
#profile-view .hx-item.is-lost .hx-to{opacity:.55;filter:grayscale(.6)}
#profile-view .hx-value{text-align:right}
#profile-view .hx-value strong{display:inline-flex;align-items:center;gap:5px;color:var(--accent);font-size:15px;font-weight:800;white-space:nowrap}
#profile-view .hx-value small{display:block;margin-top:2px;color:#6f7a68;font-size:10px}
@media(hover:hover){
 #profile-view .hx-item:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 10%,transparent),transparent 75%)}
 #profile-view .hx-item:hover .hx-node{transform:scale(1.1) rotate(-6deg);background:color-mix(in srgb,var(--accent) 16%,#0d100c);box-shadow:0 0 0 5px #0b0d0a,0 0 18px color-mix(in srgb,var(--accent) 35%,transparent)}
 #profile-view .hx-item:hover .hx-to-art img{transform:scale(1.1) rotate(-5deg)}
 #profile-view .hx-item:hover .hx-thumb{transform:translateY(-2px)}
}
@keyframes prof-row-in{from{opacity:0;transform:translateX(-14px)}}
@keyframes prof-flow{to{background-position:20px 0}}
@media(max-width:900px){
 #profile-view .hx-item{grid-template-columns:40px minmax(0,1fr) auto;grid-template-areas:"node meta value" "node from from" "node to to";row-gap:8px;padding:12px 10px 12px 0}
 #profile-view .hx-node{grid-area:node;align-self:start}#profile-view .hx-meta{grid-area:meta}#profile-view .hx-value{grid-area:value}#profile-view .hx-from{grid-area:from}#profile-view .hx-to{grid-area:to}
 #profile-view .hx-arrow{display:none}
 #profile-view .hx-day-title{margin-left:54px}
}
@keyframes prof-in{from{opacity:0;transform:translateY(12px)}}
@keyframes prof-float{50%{transform:translateY(-5px)}}
@keyframes prof-sheen{0%,60%{background-position:100% 0}100%{background-position:-50% 0}}
@keyframes prof-ring{0%{opacity:.8;transform:scale(1)}70%,100%{opacity:0;transform:scale(1.18)}}
@keyframes prof-bar{0%,40%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@keyframes prof-mystery{50%{transform:scale(1.12);color:#6d7768}}
@keyframes prof-spin{to{transform:translate(-50%,-50%) rotate(1turn)}}
/* Uses the translate property so it composes with each element's own transform. */
@keyframes prof-nudge{50%{translate:0 -5px}}

@media(max-width:1100px){#profile-view .profile-ranks-row{padding:14px 12px 24px;gap:6px}#profile-view .rank-slot{height:84px}}
@media(max-width:650px){
 #profile-view .profile-ranks-row{grid-template-columns:repeat(10,58px);overflow-x:auto;padding:16px 10px 26px;scrollbar-width:thin}
 #profile-view .profile-ranks-row:before,#profile-view .profile-ranks-row:after{left:14px;right:auto;width:calc(10 * 58px + 9 * 6px - 8px)}
 #profile-view .profile-ranks-row:after{width:calc((10 * 58px + 9 * 6px - 8px) * var(--rank-progress,0))}
 #profile-view .rank-slot{height:76px}
 #profile-view :is(.profile-balance-box,.best-drop-card){grid-column:1/-1}
 #profile-view .profile-balance-box{min-height:0;gap:14px}
 #profile-view .best-drop-card{grid-template-columns:minmax(0,1fr) 150px;padding:14px;min-height:0}
 #profile-view .best-drop-visual{height:90px}#profile-view .best-drop-visual:before{width:200px;height:200px}
 #profile-view .best-drop-name{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
 #profile-view>*,#profile-view .rank-slot,#profile-view .hero-character,#profile-view .hero-slogan strong,#profile-view .profile-avatar-wrap:after,#profile-view .rank-progress__fill:after,#profile-view .rank-locked-glyph .ui-icon,#profile-view .rank-slot--current .rank-slot-thumb,#profile-view .best-drop-visual:before,#profile-view .best-drop-img,#profile-view #profile-tab-content>*,#profile-view .hx-item,#profile-view .hx-node:after,#profile-view .hx-arrow{animation:none!important}
 #profile-view :is(.hx-item,.hx-node,.hx-to-art img,.hx-thumb,.rank-slot,.rank-slot-thumb,.profile-metric-box,.profile-extra-card,.profile-inventory-card,.card-img-wrap img,.best-drop-img,.rank-progress__fill,.profile-ranks-row:after){transition:none}
}

/* Balance tile carries the withdrawn total as a quiet second line above the deposit button. */
#profile-view .profile-withdrawn-row{display:flex;align-items:center;gap:8px;min-width:0;margin:auto 0 10px;padding:6px 10px 6px 6px;border:1px solid #ffffff0d;border-radius:10px;background:#ffffff05}
#profile-view .profile-withdrawn-icon{display:grid;flex:none;place-items:center;width:22px;height:22px;border-radius:7px;background:#bee77914;color:var(--lime)}
#profile-view .profile-withdrawn-icon .ui-icon{width:12px;height:12px}
#profile-view .profile-withdrawn-row small{flex:1;min-width:0;color:#98a58d;font-size:10px}
#profile-view .profile-withdrawn-row strong{color:#f1f3ec;font-size:13px;font-weight:800;white-space:nowrap}

/* Inventory origin: a link pill that takes the price/wear row's place on hover or keyboard focus, so the
   skin art stays clear; it opens the case (or page) the item came from. */
#profile-view .inventory-origin{position:absolute;left:0;right:0;top:6px;z-index:3;display:flex;align-items:center;gap:7px;width:fit-content;max-width:calc(100% - 12px);margin-inline:auto;padding:3px 10px 3px 3px;border:1px solid color-mix(in srgb,var(--rarity-color) 38%,#2a3025);border-radius:999px;background:#0b100aeb;box-shadow:0 8px 18px #0009;color:inherit;text-decoration:none;opacity:0;transform:translateY(-6px) scale(.96);transition:opacity .2s ease-out,transform .25s var(--motion-soft),border-color .2s,background .2s;pointer-events:none}
#profile-view .profile-inventory-card .card-header-line{transition:opacity .2s ease-out}
#profile-view .profile-inventory-card:is(:hover,:focus-within):has(.inventory-origin) .card-header-line{opacity:0}
#profile-view a.inventory-origin:hover{border-color:var(--lime);background:#141c11f2}
#profile-view a.inventory-origin:hover .inventory-origin-text b{color:var(--lime)}
#profile-view a.inventory-origin:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
#profile-view .inventory-origin-art{display:grid;flex:none;place-items:center;width:24px;height:24px;border-radius:50%;background:radial-gradient(circle,#bee77924,#bee77908 70%);color:var(--lime);overflow:hidden}
#profile-view .inventory-origin-art img{width:26px;height:26px;object-fit:contain;transform:none!important;filter:drop-shadow(0 2px 3px #000a)}
#profile-view .inventory-origin-art .ui-icon{width:13px;height:13px}
#profile-view .inventory-origin-text{display:grid;min-width:0;line-height:1.2;text-align:left}
#profile-view .inventory-origin-text b{overflow:hidden;color:#eef3e6;font-size:10px;font-weight:700;white-space:nowrap;text-overflow:ellipsis}
#profile-view .inventory-origin-text small{color:#8d9a83;font-size:8px}
#profile-view .profile-inventory-card:is(:hover,:focus-within) .inventory-origin{opacity:1;transform:none;pointer-events:auto}
/* Touch screens have no hover: the source stays visible as a small mark in the corner. */
@media(hover:none){
 #profile-view .inventory-origin{top:34px;right:auto;left:6px;margin:0;padding:2px;opacity:1;transform:none;pointer-events:auto}
 #profile-view .profile-inventory-card:is(:hover,:focus-within):has(.inventory-origin) .card-header-line{opacity:1}
 #profile-view .inventory-origin-text{display:none}
 #profile-view .inventory-origin-art{width:20px;height:20px}
 #profile-view .inventory-origin-art img{width:22px;height:22px}
}
@media(prefers-reduced-motion:reduce){#profile-view .inventory-origin{transition:none;transform:none}}

.profile-data-notice{margin:14px 20px 0;padding:12px 14px;border:1px solid #b9dd7c33;border-radius:10px;background:#b9dd7c08;color:#b3c49f;font-size:11px;line-height:1.7}

/* Upgrader polish: living stages, a charged wheel, tactile controls and a distinct finish for win, loss, IMPULSE and the secret drop. */
#upgrade-view .lab{position:relative;isolation:isolate}
#upgrade-view .lab:before{content:'';position:absolute;left:0;right:0;top:0;z-index:3;height:1px;background:linear-gradient(90deg,transparent,#bee779b3,transparent) no-repeat;background-size:38% 100%;animation:lab-scan 7s linear infinite;pointer-events:none}
#upgrade-view .lab-stage{position:relative}
#upgrade-view .lab-stage:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(#ffffff0e 1px,transparent 1.3px) 0 0/22px 22px;-webkit-mask:radial-gradient(ellipse 58% 72% at 50% 42%,#000 15%,transparent 78%);mask:radial-gradient(ellipse 58% 72% at 50% 42%,#000 15%,transparent 78%);pointer-events:none}

/* Stages: rarity aura, a slow float and an entrance whenever the skin changes. */
#upgrade-view .stage-display{isolation:isolate;border-radius:14px}
#upgrade-view .stage-aura{position:absolute;left:50%;top:42%;z-index:-1;width:min(80%,300px);aspect-ratio:1.55;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--rarity,#bee779) 34%,transparent),transparent);translate:-50% -50%;opacity:.5;pointer-events:none;animation:stage-aura 4.6s ease-in-out infinite;transition:opacity .45s}
#upgrade-view .stage-skin-solo{animation:stage-float 4.4s ease-in-out infinite}
#upgrade-view .target-stage .stage-skin-solo{animation-delay:-2.2s}
#upgrade-view .stage-display.is-fresh>:not(.stage-aura){animation:stage-in .5s cubic-bezier(.2,.8,.2,1) both}
#upgrade-view .stage-display.is-fresh .skin-name{animation-delay:.05s}
#upgrade-view .stage-display.is-fresh .skin-wear{animation-delay:.1s}
#upgrade-view .stage-display.is-fresh .stage-skin-solo{animation:stage-skin-in .65s cubic-bezier(.2,.8,.2,1) both,stage-float 4.4s .65s ease-in-out infinite}
#upgrade-view .stage-corner{transition:width .35s cubic-bezier(.2,.8,.2,1),height .35s cubic-bezier(.2,.8,.2,1),border-color .35s}
@media(hover:hover){
 #upgrade-view .skin-stage:hover .stage-aura{opacity:.95}
 #upgrade-view .skin-stage:hover .stage-corner{width:18px;height:18px;border-color:#bee779}
 #upgrade-view .stage-display:hover .skin-name{color:#f4fbe9}
}
#upgrade-view .lab:is([data-wheel=won],[data-wheel=lost],[data-wheel=secret]) .source-stage .stage-aura{opacity:.15;animation:none}

/* Energy flows from the stake into the wheel and out to the target while a round is live. */
#upgrade-view .chance-stage{position:relative}
#upgrade-view .chance-stage:before,#upgrade-view .chance-stage:after{content:'';position:absolute;top:140px;width:clamp(36px,5vw,80px);height:2px;background:repeating-linear-gradient(90deg,#bee779 0 6px,transparent 6px 14px) 0 0/28px 2px;filter:drop-shadow(0 0 4px #bee779);-webkit-mask:linear-gradient(90deg,transparent,#000 35%,#000 65%,transparent);mask:linear-gradient(90deg,transparent,#000 35%,#000 65%,transparent);opacity:0;transition:opacity .45s;pointer-events:none}
#upgrade-view .chance-stage:before{right:calc(100% - 6px)}
#upgrade-view .chance-stage:after{left:calc(100% - 6px)}
#upgrade-view .lab:is([data-wheel=spinning],[data-wheel=waiting],[data-wheel=settling],[data-wheel=rebounding]) .chance-stage:before,#upgrade-view .lab:is([data-wheel=spinning],[data-wheel=waiting],[data-wheel=settling],[data-wheel=rebounding]) .chance-stage:after{opacity:.8;animation:beam-flow .7s linear infinite}

/* Wheel: gradient arc, turning ticks, an orbiting spark and a speed trail behind the pointer. */
#upgrade-view .chance-ring #ring-progress{stroke:url(#ring-grad);filter:drop-shadow(0 0 7px #bee77966);transition:stroke-dashoffset .6s cubic-bezier(.22,1,.36,1)}
#upgrade-view .ring-ticks{transform-box:view-box;transform-origin:50% 50%;transition:stroke .5s}
#upgrade-view .lab:is([data-wheel=spinning],[data-wheel=waiting],[data-wheel=settling],[data-wheel=rebounding]) .ring-ticks{animation:ticks-turn 14s linear infinite}
#upgrade-view .lab[data-gold-round=true]:not([data-wheel=won],[data-wheel=lost],[data-wheel=secret]) .ring-ticks{stroke:#ff4d5199}
#upgrade-view .orbit-ellipse{animation:orbit-drift 48s linear infinite;transition:border-color .5s}
#upgrade-view .orbit-ellipse:after{content:'';position:absolute;left:50%;top:-3px;width:5px;height:5px;border-radius:50%;background:#bee779;box-shadow:0 0 10px #bee779,0 0 3px #fff}
#upgrade-view .lab:not([data-wheel=idle]) .orbit-ellipse{border-color:#bee77933}
#ring-trail{--trail:0;opacity:var(--trail);transition:opacity .45s;pointer-events:none}
#ring-trail circle{fill:none;stroke:#d8f5a4;stroke-width:5;stroke-linecap:round;stroke-dasharray:0 729;transform-origin:140px 140px;opacity:.2}
#ring-trail circle:nth-child(2){stroke-width:6;opacity:.3}
#ring-trail circle:nth-child(3){stroke:#eaffc4;stroke-width:6;opacity:.55;filter:drop-shadow(0 0 5px #bee779)}
#upgrade-view #chance.is-ticking{animation:chance-tick .38s cubic-bezier(.2,.8,.2,1)}

/* After IMPULSE the boosted chance arrives as a red charge on the wheel. */
#upgrade-view .ring-wrap:before{content:'';position:absolute;inset:8.6%;z-index:4;border-radius:50%;opacity:0;pointer-events:none}
#upgrade-view .lab[data-impulse=true] .ring-wrap:before{box-shadow:0 0 0 2px #ff4d51,0 0 42px 8px #ff4d5166,inset 0 0 42px #ff4d5140;animation:impulse-ring 2.8s ease-out both}
#upgrade-view .lab[data-impulse=true] #ring-progress{transition:stroke-dashoffset 1.5s cubic-bezier(.2,.8,.2,1)!important}
#upgrade-view .lab[data-impulse=true] #chance{animation:impulse-number 1.6s cubic-bezier(.2,.8,.2,1) both}
#upgrade-view .lab[data-impulse=true] .chance-bonus-note{animation:impulse-note 1.2s cubic-bezier(.2,.8,.2,1) both}

/* Controls */
#upgrade-btn{position:relative;overflow:hidden;border-radius:10px}
#upgrade-btn:before{content:'';position:absolute;top:0;bottom:0;left:-35%;z-index:-1;width:28%;background:linear-gradient(100deg,transparent,#ffffffa6,transparent);transform:skewX(-18deg);pointer-events:none;opacity:0}
#upgrade-btn:not(:disabled){animation:btn-ready 2.8s ease-in-out infinite}
#upgrade-btn:not(:disabled):before{opacity:1;animation:btn-shine 3.4s 1s ease-in-out infinite}
#upgrade-btn:hover:not(:disabled){animation:none;transform:translateY(-2px);box-shadow:0 12px 34px #bee7794d,0 0 0 1px #e6ffbf66 inset}
#upgrade-btn:hover:not(:disabled):before{animation-duration:1.5s;animation-delay:0s}
#upgrade-btn:disabled{border:1px solid #39412f;background:#20251b;color:#9aa88a!important;opacity:1}
#upgrade-view .lab:not([data-wheel=idle]) #upgrade-btn:disabled{border-color:#4a5c37;background:linear-gradient(180deg,#26311f,#1c2418);color:#c7e5a0!important;animation:none}
#upgrade-btn:after{content:'';position:absolute;left:0;bottom:0;width:35%;height:2px;background:linear-gradient(90deg,transparent,#bee779,transparent);pointer-events:none;visibility:hidden}
#upgrade-view[aria-busy=true] #upgrade-btn:after,#upgrade-view .lab:not([data-wheel=idle]) #upgrade-btn:disabled:after{visibility:visible;animation:upgrade-status-track 1.6s ease-in-out infinite}
@keyframes upgrade-status-track{from{transform:translateX(-100%)}to{transform:translateX(390%)}}
#upgrade-view .multipliers button{transition:transform .22s cubic-bezier(.2,.8,.2,1),border-color .2s,background .2s,color .2s,box-shadow .25s}
#upgrade-view .multipliers button.active{box-shadow:0 0 0 1px #bee77940,0 0 16px #bee77926}
#upgrade-view .stake-field{transition:border-color .25s,box-shadow .25s}
#upgrade-view .stake-field:focus-within{border-color:#8fb35e;box-shadow:0 0 0 3px #bee77914}
#upgrade-view .stake-field input:focus-visible{outline:none}
#upgrade-view #max-stake{transition:background .2s,color .2s,border-color .2s}
@media(hover:hover){
 #upgrade-view .multipliers button:hover:not(:disabled){transform:translateY(-2px);border-color:#7f9757;background:#bee77912;color:#e4f5c8}
 #upgrade-view #max-stake:hover:not(:disabled){border-color:#bee779;background:#bee779;color:#14200c}
}
#chance-slider{height:20px;background:transparent;-webkit-appearance:none;appearance:none}
#chance-slider::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(90deg,#8fc456,#bee779 var(--fill,40%),#2a3026 var(--fill,40%))}
#chance-slider::-webkit-slider-thumb{width:16px;height:16px;margin-top:-6px;border:3px solid #141812;border-radius:50%;background:#bee779;box-shadow:0 0 0 1px #bee779aa,0 0 12px #bee77966;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s;-webkit-appearance:none;appearance:none}
#chance-slider::-moz-range-track{height:4px;border-radius:4px;background:#2a3026}
#chance-slider::-moz-range-progress{height:4px;border-radius:4px;background:#bee779}
#chance-slider::-moz-range-thumb{width:10px;height:10px;border:3px solid #141812;border-radius:50%;background:#bee779;box-shadow:0 0 0 1px #bee779aa,0 0 12px #bee77966}
#chance-slider:hover:not(:disabled)::-webkit-slider-thumb{transform:scale(1.2);box-shadow:0 0 0 1px #bee779,0 0 18px #bee77999}
#chance-slider:active:not(:disabled)::-webkit-slider-thumb{transform:scale(1.3)}
#chance-slider:disabled{opacity:.45}

/* Inventory and target cards */
#upgrade-view .selection-panel .skin-card{isolation:isolate}
#upgrade-view .selection-panel .skin-card:before{transition:opacity .35s}
#upgrade-view .selection-panel .skin-card:after{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(115deg,transparent 35%,#ffffff14 50%,transparent 65%);translate:-120% 0;transition:translate .75s cubic-bezier(.2,.8,.2,1);pointer-events:none}
#upgrade-view .selection-panel .skin-card.selected{box-shadow:0 0 0 1px #bee77955,0 10px 26px -10px #bee77955,inset 0 0 26px #bee7790d}
@media(hover:hover){
 #upgrade-view .selection-panel .skin-card:hover:not(:disabled){border-color:color-mix(in srgb,var(--rarity) 55%,#3b3e39);box-shadow:0 14px 30px #0007,0 8px 26px -10px color-mix(in srgb,var(--rarity) 55%,transparent)}
 #upgrade-view .selection-panel .skin-card:hover:not(:disabled):before{opacity:.14}
 #upgrade-view .selection-panel .skin-card:hover:not(:disabled):after{translate:120% 0}
 #upgrade-view .selection-panel .skin-card:hover:not(:disabled) img{transform:translateY(-4px) scale(1.08) rotate(-4deg)}
 #upgrade-view .selection-panel .skin-card:hover:not(:disabled) .card-name{color:#fff}
}

/* Results */
#upgrade-view .lab[data-wheel=won] #outcome-title{background:linear-gradient(90deg,#d6f7a2,#f4ffe0 45%,#bee779 60%,#d6f7a2) 0 0/220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 0 14px #bee77955);animation:title-shine 2.6s linear infinite}
#upgrade-view .lab[data-wheel=won] .target-stage .stage-aura{opacity:1;animation:won-aura 1.6s cubic-bezier(.2,.8,.2,1) both}
#upgrade-view .lab[data-wheel=lost] .ring-wrap{animation:ring-shake .55s cubic-bezier(.36,.07,.19,.97) both}
#upgrade-view .lab[data-wheel=lost] .target-stage .stage-skin-solo{filter:grayscale(.75) brightness(.7) drop-shadow(0 18px 20px #0009);transition:filter .6s}
.upgrade-burst{position:absolute;inset:0;z-index:7;pointer-events:none}
.upgrade-burst b{position:absolute;left:50%;top:50%;width:84%;aspect-ratio:1;border:2px solid var(--burst);border-radius:50%;opacity:0;translate:-50% -50%;animation:burst-ring 1.1s cubic-bezier(.2,.7,.2,1) forwards}
.upgrade-burst b:nth-child(2){border-width:1px;animation-delay:.12s}
.upgrade-burst b:nth-child(3){border-width:1px;animation-delay:.26s}
.upgrade-burst i{position:absolute;left:50%;top:50%;width:4px;height:12px;margin:-6px 0 0 -2px;border-radius:3px;background:var(--burst);box-shadow:0 0 8px var(--burst);opacity:0;rotate:var(--a);animation:burst-spark 1s var(--t) cubic-bezier(.15,.75,.25,1) forwards}
.upgrade-burst.is-won{--burst:#c8f08a}
.upgrade-burst.is-lost{--burst:#d5a29399}
.upgrade-burst.is-lost b:nth-child(n+2){display:none}
.upgrade-burst.is-secret{--burst:#ff4d51}
.upgrade-burst.is-secret i:nth-child(3n){background:#ffd7a8;box-shadow:0 0 8px #ffb36b}

/* Secret drop: the lab floods red, the target turns into the bonus skin under rotating rays and a stamp. */
#upgrade-view .lab[data-gold-round=true]:not([data-wheel=secret],[data-wheel=won],[data-wheel=lost]) #ring-gold{animation:secret-sector-arrive .65s cubic-bezier(.2,.75,.25,1) both,gold-breathe 1.3s .65s ease-in-out infinite}
#upgrade-view .lab[data-wheel=secret]:after{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 60% 70% at 50% 38%,#ff4d5133,transparent 70%);pointer-events:none;animation:secret-flood 2.2s ease-out both}
#upgrade-view .lab[data-wheel=secret] .ring-ticks{stroke:#ff4d51aa}
#upgrade-view .lab[data-wheel=secret] .orbit-ellipse{border-color:#ff4d5155}
#upgrade-view .lab[data-wheel=secret] .orbit-ellipse:after{background:#ff4d51;box-shadow:0 0 12px #ff4d51,0 0 3px #fff}
#upgrade-view .lab[data-wheel=secret] .target-stage .stage-aura{width:min(96%,340px);aspect-ratio:1;background:repeating-conic-gradient(#ff4d5100 0deg 9deg,#ff4d5138 11deg 15deg,#ff4d5100 17deg 30deg),radial-gradient(closest-side,#ff4d5150,transparent);-webkit-mask:radial-gradient(closest-side,#000 25%,transparent);mask:radial-gradient(closest-side,#000 25%,transparent);opacity:1;animation:secret-aura-in .9s cubic-bezier(.2,.8,.2,1) both,secret-rays 12s linear infinite}
#upgrade-view .lab[data-wheel=secret] .target-stage .stage-display.is-fresh .stage-skin-solo{animation:secret-skin-in 1.1s cubic-bezier(.2,.8,.2,1) both,stage-float 4.4s 1.1s ease-in-out infinite}
#upgrade-view .lab[data-wheel=secret] .target-stage .stage-skin-solo{filter:drop-shadow(0 16px 22px #000a) drop-shadow(0 0 18px #ff4d5166)}
#upgrade-view .lab[data-wheel=secret] .target-stage[data-secret]:not([data-secret=''])::after{content:attr(data-secret);position:absolute;top:44px;left:50%;z-index:3;padding:6px 13px;border:1px solid #ff4d5199;border-radius:999px;background:#2a0d12eb;color:#ffc1c3;font:800 10px var(--font);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;box-shadow:0 0 26px #ff4d5144;translate:-50% 0;animation:secret-stamp .7s .45s cubic-bezier(.2,1.5,.4,1) both}
#upgrade-view .lab[data-wheel=secret] .target-stage .stage-value strong{color:#ff9da0}
#upgrade-view .lab[data-wheel=secret] #outcome-title{background:linear-gradient(90deg,#ff4d51,#ffd1c4 45%,#ff4d51 60%,#ff7b7e) 0 0/220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 0 14px #ff4d5166);animation:secret-title-arrive .6s cubic-bezier(.2,.8,.2,1) both,title-shine 2.4s .6s linear infinite}

@keyframes lab-scan{from{background-position:-70% 0}to{background-position:170% 0}}
@keyframes stage-aura{50%{opacity:.78;scale:1.08}}
@keyframes stage-float{50%{translate:0 -7px}}
@keyframes stage-in{from{opacity:0;translate:0 8px}}
@keyframes stage-skin-in{from{opacity:0;scale:.82;translate:0 14px}}
@keyframes beam-flow{to{background-position:28px 0}}
@keyframes ticks-turn{to{rotate:360deg}}
@keyframes orbit-drift{to{rotate:360deg}}
@keyframes chance-tick{from{opacity:.35;translate:0 6px}}
@keyframes impulse-ring{0%{opacity:0;scale:1.45}18%{opacity:1;scale:1}70%{opacity:.55}100%{opacity:0;scale:1.04}}
@keyframes impulse-number{0%{color:#ff8d98;scale:1.18;text-shadow:0 0 28px #ff4d51}100%{scale:1}}
@keyframes impulse-note{0%{opacity:0;translate:0 6px;color:#ff9da0}40%{opacity:1;color:#ff9da0}}
@keyframes btn-ready{0%,100%{box-shadow:0 0 0 0 #bee77950,0 6px 24px #bee77926}50%{box-shadow:0 0 0 7px #bee77900,0 8px 32px #bee7793d}}
@keyframes btn-shine{0%{translate:0 0}40%,100%{translate:560% 0}}
@keyframes btn-busy{to{background-position:28.28px 0}}
@keyframes title-shine{to{background-position:-220% 0}}
@keyframes won-aura{0%{opacity:0;scale:.6}40%{opacity:1;scale:1.25}100%{opacity:1;scale:1}}
@keyframes ring-shake{10%,90%{translate:-1px 0}20%,80%{translate:3px 0}30%,50%,70%{translate:-5px 0}40%,60%{translate:5px 0}}
@keyframes burst-ring{0%{opacity:.9;scale:.7}100%{opacity:0;scale:1.9}}
@keyframes burst-spark{0%{opacity:1;transform:translateY(-104px) scale(var(--s))}100%{opacity:0;transform:translateY(calc(-104px - var(--d))) scale(calc(var(--s)*.3))}}
@keyframes gold-breathe{50%{stroke-width:8;filter:drop-shadow(0 0 10px #ff4d51)}}
@keyframes secret-flood{0%{opacity:0}25%{opacity:1}100%{opacity:.55}}
@keyframes secret-aura-in{from{opacity:0;scale:.4}}
@keyframes secret-rays{to{rotate:360deg}}
@keyframes secret-skin-in{0%{opacity:0;scale:.35;translate:0 26px}55%{opacity:1;scale:1.16;translate:0 -6px}100%{scale:1;translate:0 0}}
@keyframes secret-stamp{0%{opacity:0;scale:1.8}100%{opacity:1;scale:1}}

@media(min-width:1500px){#upgrade-view .chance-stage:before,#upgrade-view .chance-stage:after{top:150px}}
@media(max-width:1150px){#upgrade-view .chance-stage:before,#upgrade-view .chance-stage:after{top:120px;width:28px}}
@media(max-width:900px){#upgrade-view .chance-stage:before,#upgrade-view .chance-stage:after{top:107px;width:20px}}
@media(max-width:650px){
 #upgrade-view .chance-stage:before,#upgrade-view .chance-stage:after{display:none}
 #upgrade-view .lab[data-wheel=secret] .target-stage[data-secret]:not([data-secret=''])::after{top:8px;padding:4px 9px;font-size:8px;letter-spacing:.08em}
 @keyframes burst-spark{0%{opacity:1;transform:translateY(-84px) scale(var(--s))}100%{opacity:0;transform:translateY(calc(-84px - var(--d)*.7)) scale(calc(var(--s)*.3))}}
}
@media(prefers-reduced-motion:reduce){
 #upgrade-view :is(.lab,.stage-aura,.stage-skin-solo,.stage-display>*,.orbit-ellipse,.ring-ticks,.ring-wrap,#chance,.chance-bonus-note,#outcome-title,#ring-gold),#upgrade-view .lab:before,#upgrade-view .lab:after,#upgrade-view .ring-wrap:before,#upgrade-view .chance-stage:before,#upgrade-view .chance-stage:after,#upgrade-btn,#upgrade-btn:before,#upgrade-view .target-stage::after{animation:none!important}
 #ring-trail,.upgrade-burst{display:none}
 #upgrade-view .selection-panel .skin-card:after{display:none}
 #upgrade-btn:hover:not(:disabled){transform:none}
 #upgrade-btn:after{animation:none!important;left:25%;width:50%;transform:none;opacity:.5}
}
#upgrade-view .lab[data-wheel=lost] .target-stage .stage-aura{opacity:.18;animation:none}
@media(max-width:650px){#upgrade-view .lab:is([data-wheel=secret],[data-wheel=won]) #outcome-title{font-size:20px}}
@media(max-width:360px){#upgrade-view .lab:is([data-wheel=secret],[data-wheel=won],[data-wheel=lost]) #outcome-title{font-size:17px}}
#upgrade-view .lab[data-chance-adjusting=true] #ring-progress{transition:none}

/* Contract Lab — a bounded inventory, ten physical slots and one contained reveal. */
.ct-jump{display:none}#profile-view .hx-item.is-contract{--accent:#bce879}
.ct-machine[data-phase=result] .ct-slot{visibility:hidden;pointer-events:none}
.ct-receipt{text-align:center;width:100%}.ct-receipt>span{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 22px;border:1px solid #bee77944;border-radius:50%;color:var(--lime);background:#bee7790a;box-shadow:0 0 45px #bee7790b}.ct-receipt>span .ui-icon{width:26px;height:26px}.ct-receipt h3{font-size:17px;margin:0 0 10px}.ct-receipt p{font-size:10px;color:#8fa17f;line-height:1.8}.ct-receipt dl{margin:27px 0 20px}.ct-receipt dl>div{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #bee77912;font-size:10px}.ct-receipt dt{color:#8fa17f;text-align:left}.ct-receipt dd{font-weight:800;margin:0;white-space:nowrap}.ct-receipt dd.is-positive{color:var(--lime)}.ct-receipt .currency-icon{height:10px;width:10px}.ct-receipt>small{display:block;font-size:9px;line-height:1.8;color:#8fa17f}.ct-preview:has(.ct-receipt) #ct-preview-content{display:flex;padding:24px 18px}
@media(max-width:760px){.ct-jump{display:flex;align-items:center;gap:5px;margin-left:auto;color:var(--lime);font-size:9px}.ct-jump .ui-icon{width:13px;height:13px}.ct-panel-title{padding-inline:12px}}
.ct-heading{gap:24px}.ct-heading p{max-width:520px}.ct-heading-badge{display:flex;align-items:center;gap:13px;padding:13px 18px;border:1px solid #bee77926;border-radius:12px;background:#bee77905}.ct-heading-badge>.ui-icon{width:26px;height:26px;color:var(--lime)}.ct-heading-badge span{display:grid;gap:4px}.ct-heading-badge b{font-size:16px;letter-spacing:1px}.ct-heading-badge small{font-size:10px;color:var(--muted)}
.ct-layout{display:grid;grid-template-columns:minmax(260px,1fr) minmax(390px,1.5fr) minmax(220px,.8fr);gap:16px;align-items:stretch}.ct-inventory,.ct-preview{min-width:0;border:1px solid #30392c;border-radius:14px;background:linear-gradient(145deg,#171d1599,#101410);overflow:hidden}.ct-panel-title{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;gap:6px;border-bottom:1px solid #bee7790d}.ct-panel-title h2{display:flex;align-items:center;gap:8px;min-width:0;margin:0;font-size:12px;letter-spacing:0;font-weight:800}.ct-panel-title h2>.ui-icon{width:16px;height:16px;color:#94ac7b}.ct-panel-title h2>span{font-size:9px;color:#96a48c;padding:3px 5px;border:1px solid #35412e;border-radius:4px}.ct-filters{display:flex;padding:12px;gap:6px}.ct-filters label{display:flex;align-items:center;gap:8px;min-width:0;flex:1;padding:0 10px;background:#0b100b;border:1px solid #30392c;border-radius:7px}.ct-filters .ui-icon{width:14px;height:14px;color:#829477}.ct-filters input{width:100%;min-width:0;border:0;background:none;color:var(--text);height:35px;outline-offset:2px;font-size:10px}.ct-filters .icon-btn{height:37px;width:32px;border:1px solid #30392c;background:#1c2519}
.ct-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:110px;gap:7px;padding:0 12px;min-height:461px;align-content:start}.ct-card{position:relative;display:flex;flex-direction:column;min-width:0;text-align:left;border:1px solid #30392c;border-bottom:2px solid var(--rarity);border-radius:7px;padding:7px;background:radial-gradient(ellipse at 50% 35%,color-mix(in srgb,var(--rarity) 10%,transparent),transparent 80%),#121711;overflow:hidden;transition:background .18s,border-color .18s,transform .18s}.ct-card:active:not(:disabled){transform:scale(.96)}.ct-card.is-selected{border-color:var(--lime);background:#bee77912;box-shadow:0 0 0 1px #bee77926 inset}.ct-card-top{display:flex;justify-content:space-between;align-items:center;gap:3px;width:100%}.ct-card-top b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ct-card-top .currency-icon{width:9px;height:9px}.ct-card-top small{font-size:7px;color:#8c9a82}.ct-card img{width:100%;min-height:0;height:51px;object-fit:contain;margin:2px 0 4px;filter:drop-shadow(0 6px 6px #0008);transition:transform .25s}.ct-card-weapon{font-size:7px;color:#8c9a82;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ct-card>strong{font-size:9px;line-height:14px;max-width:calc(100% - 13px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ct-card-toggle{position:absolute;bottom:5px;right:5px;width:15px;height:15px;display:grid;place-items:center;color:#8a9a7f}.ct-card-toggle .ui-icon{width:12px;height:12px}.ct-card.is-selected .ct-card-toggle{color:var(--lime)}.ct-card:disabled{opacity:.4}.ct-card.is-selected:disabled{opacity:.6}.ct-pager{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:10px 12px;gap:6px;font-size:9px;color:#8c9a82}.ct-pager>div{display:flex;align-items:center;gap:9px}.ct-pager button{width:28px;height:29px;border-radius:7px;background:#1c2519;border:1px solid #303b29;display:grid;place-items:center}.ct-pager .ui-icon{width:14px;height:14px}.ct-empty{grid-column:1/-1;grid-row:1/5;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;text-align:center;padding:20px;color:#8e9c83}.ct-empty>.ui-icon{width:36px;height:36px;color:#66834d}.ct-empty strong{font-size:13px;color:#dce7d2}.ct-empty span{font-size:10px}.ct-empty .outline-btn{margin-top:8px}
.ct-machine{position:relative;min-width:0;overflow:hidden;isolation:isolate;border:1px solid #3e5130;border-radius:16px;background:radial-gradient(ellipse at 50% 48%,#64883a17,transparent 62%),linear-gradient(155deg,#171e16,#0c110d);display:flex;flex-direction:column;justify-content:space-between}.ct-machine:before{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#b2d57a04 1px,transparent 1px),linear-gradient(90deg,#b2d57a04 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(ellipse,#000,transparent 75%);pointer-events:none}.ct-machine-top{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:17px 17px 0;color:#738c62;font-size:8px;letter-spacing:1.2px}.ct-machine-top>span:first-child{display:flex;align-items:center;gap:7px;white-space:nowrap}.ct-machine-top>span:last-child{font-size:8px;letter-spacing:0;text-align:right}.ct-machine-top i{width:4px;height:4px;background:var(--lime);box-shadow:0 0 7px var(--lime);border-radius:50%}.ct-orbit{position:relative;width:100%;max-width:530px;aspect-ratio:1;align-self:center;isolation:isolate}.ct-orbit-ring{position:absolute;inset:15%;border:1px solid #8fac5550;border-radius:50%;box-shadow:0 0 38px #9ad14b08,inset 0 0 40px #9ad14b08;pointer-events:none}.ct-orbit-ring:after{content:'';position:absolute;inset:-7px;border:1px dashed #8fac5529;border-radius:50%}.ct-orbit-ring-inner{inset:24%;border:1px solid #bee77917;box-shadow:none}.ct-orbit-path{position:absolute;inset:13%;border:1px solid transparent;border-top-color:#c4ed7a66;border-bottom-color:#c4ed7a22;border-radius:50%;animation:ct-orbit-turn 28s linear infinite;pointer-events:none}.ct-core{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:44%;height:44%;border:1px solid #62833d4d;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;background:radial-gradient(ellipse,#172310,#0e150e 73%);box-shadow:0 0 40px #92cb3b0d,inset 0 0 22px #87b4440b}.ct-core-label{font-size:7px;letter-spacing:1.8px;color:#718960}.ct-core #ct-count{font-size:42px;font-weight:800;letter-spacing:-2px;line-height:1.1}.ct-core #ct-count small{font-size:19px;color:#6f855c;letter-spacing:-1px}.ct-core-caption{font-size:9px;color:#929f86;text-align:center}.ct-create{min-height:38px;border-radius:7px;padding:9px 15px;background:var(--lime);color:#182110!important;font-weight:800;font-size:11px;line-height:16px;display:flex;align-items:center;justify-content:center;gap:7px;box-shadow:0 4px 22px #bee77916}.ct-create:disabled{background:#26301f;box-shadow:none;opacity:1;color:#839274!important}.ct-core .ct-create{width:83%;font-size:10px;min-height:36px;padding:8px 4px}.ct-core-total{font-size:13px;font-weight:800;color:#cbdaba}.ct-core-total .currency-icon{width:12px;height:12px}.ct-slot{position:absolute;z-index:3;left:calc(50% + var(--x));top:calc(50% + var(--y));transform:translate(-50%,-50%) rotate(var(--tilt));width:17%;height:19%;border:1px dashed #485d3655;border-radius:9px;background:#17200f66;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;transition:background .2s,border-color .2s,box-shadow .2s;will-change:auto}.ct-slot:disabled{opacity:1;cursor:default}.ct-slot>small{position:absolute;top:6px;left:7px;font-size:6px;color:#4e663c;letter-spacing:1px}.ct-slot>.ui-icon{width:21px;height:21px;color:#54703d;opacity:.65}.ct-slot.is-filled{background:radial-gradient(ellipse at center,color-mix(in srgb,var(--rarity) 16%,#131b12),#11180f);border:1px solid color-mix(in srgb,var(--rarity) 45%,#37402e);box-shadow:0 5px 15px #0004;animation:ct-slot-enter .35s cubic-bezier(.2,.8,.2,1) both}.ct-slot.is-filled img{width:92%;height:58%;object-fit:contain;filter:drop-shadow(0 5px 5px #000a);pointer-events:none}.ct-slot>span{font-size:7px;font-weight:700;max-width:85%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#b6c6a9}.ct-machine-bottom{position:relative;z-index:5;padding:0 20px 17px;text-align:center}.ct-machine-bottom>span{display:flex;justify-content:center;gap:4px}.ct-machine-bottom i{height:3px;width:17px;border-radius:2px;background:#27341f;transition:background .18s,box-shadow .18s}.ct-machine-bottom i.is-active{background:#a7d365;box-shadow:0 0 8px #a7d34535}.ct-machine-bottom p{margin:11px auto 0;font-size:9px;line-height:1.6;max-width:340px;min-height:29px;color:#91a47d}
.ct-preview{display:flex;flex-direction:column}.ct-preview .ct-panel-title{flex-shrink:0}.ct-preview #ct-preview-content{flex:1;display:flex;flex-direction:column;justify-content:center;padding:22px 16px}.ct-preview-art{height:230px;position:relative;margin:0 -6px 20px;display:flex;align-items:center;justify-content:center}.ct-preview-art>div{position:absolute;width:72%;height:150px;border:1px solid color-mix(in srgb,var(--rarity) 32%,#26301f);border-radius:12px;background:radial-gradient(ellipse,color-mix(in srgb,var(--rarity) 12%,#131a13),#11170f);padding:12px;display:flex;align-items:center;flex-direction:column;box-shadow:0 12px 28px #0006;transform:translate(calc((var(--preview-i) - .5)*22px),calc((var(--preview-i) - .5)*55px)) rotate(calc((var(--preview-i) - .5)*-14deg));z-index:calc(2 - var(--preview-i))}.ct-preview-art img{width:100%;height:90px;object-fit:contain;filter:drop-shadow(0 7px 8px #0008)}.ct-preview-art small{font-size:8px;color:#90a07e}.ct-preview-art strong{font-size:10px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%}.ct-reward-label{font-size:7px;letter-spacing:1.3px;color:#819571;text-align:center}.ct-reward-range{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px;margin-top:12px;font-size:14px;font-weight:800}.ct-reward-range>span:first-child{color:#c7ba8b}.ct-reward-range>span:last-child{color:var(--lime)}.ct-reward-range>i{font-style:normal;color:#657a52}.ct-reward-range .currency-icon{width:12px;height:12px}.ct-value-track{height:5px;border-radius:5px;margin-top:20px;background:linear-gradient(90deg,#9d7751,#b7ba69 46%,#b9dd7c 75%,#90c780);position:relative}.ct-value-track i{position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:#e6f7d5}.ct-value-labels{display:flex;justify-content:space-between;font-size:7px;color:#849577;margin-top:7px}.ct-preview-detail{font-size:9px;color:#7e9272;text-align:center;margin:16px 0 0}.ct-preview-note{border-top:1px solid #bee7790d;display:flex;gap:9px;padding:14px;color:#789064}.ct-preview-note>.ui-icon{width:14px;height:14px;margin-top:3px;flex-shrink:0}.ct-preview-note p{font-size:9px;line-height:1.7;color:#899a7b;margin:0}.ct-preview-empty{display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center;min-height:370px}.ct-preview-empty>.ui-icon{width:70px;height:70px;color:#6b8c45;filter:drop-shadow(0 0 30px #a5d44a30);margin-bottom:22px}.ct-preview-empty>strong{font-size:14px;line-height:1.5}.ct-preview-empty p{font-size:10px;color:#7f9470;line-height:1.8;max-width:200px}.ct-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:22px 0 30px;padding:18px 0;border-block:1px solid #bee77910}.ct-steps li{display:flex;align-items:center;justify-content:center;gap:13px}.ct-steps li>b{font-size:22px;font-weight:500;color:#4f6640;letter-spacing:-1px}.ct-steps li>span{display:grid;gap:5px}.ct-steps strong{font-size:11px}.ct-steps small{font-size:9px;color:#7f9173}
.ct-result{position:absolute;inset:15%;z-index:6;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--reward-color) 13%,#11190f),#10160ff2 65%,#10160fd9);animation:ct-result-enter .6s cubic-bezier(.2,.8,.2,1) both}.ct-result-tag{color:var(--lime);font-size:7px;font-weight:800;letter-spacing:2px}.ct-result>img{width:83%;height:110px;object-fit:contain;filter:drop-shadow(0 0 25px color-mix(in srgb,var(--reward-color) 30%,transparent));animation:ct-result-art .8s cubic-bezier(.2,.9,.2,1) both}.ct-result>small{font-size:9px;color:#9baf89}.ct-result>h2{font-size:20px;margin:4px 0 8px;line-height:1.2;max-width:95%;overflow-wrap:anywhere;letter-spacing:-.6px}.ct-result>strong{font-size:20px;color:#d0e8b6}.ct-result>strong .currency-icon{width:15px;height:15px}.ct-result-comparison{margin-top:6px;font-size:8px;color:#8fa57e}.ct-result-comparison .currency-icon{width:9px;height:9px}.ct-result-actions{display:flex;flex-direction:column;align-items:center;gap:7px;margin-top:15px}.ct-result-actions .ct-create{font-size:10px;min-height:34px;padding:7px 14px}.ct-result-actions .ui-icon{width:14px;height:14px}.ct-result-actions .outline-btn{font-size:9px;min-height:30px;padding:6px 12px}.ct-result-actions .text-btn{font-size:9px;color:#849e70}.ct-machine[data-phase=result] .ct-core{visibility:hidden}.ct-machine[data-phase=result] .ct-slot{opacity:.25;filter:saturate(.3)}.ct-machine[data-phase=result] .ct-orbit-ring{border-color:#bee77944}
.ct-flash{position:absolute;inset:5%;z-index:5;pointer-events:none;border-radius:50%;background:radial-gradient(circle,#edffce,transparent 65%);opacity:0}.ct-particles{position:absolute;inset:0;pointer-events:none;z-index:7;overflow:hidden}.ct-particles i{position:absolute;left:50%;top:50%;height:6px;width:2px;background:#d7f6a7;border-radius:2px;opacity:0}.ct-machine[data-phase=charging] .ct-core{box-shadow:0 0 50px #b0dc4a25;transition:box-shadow .35s}.ct-machine[data-phase=assembling] .ct-slot.is-filled{animation:ct-consume 1.55s var(--delay) cubic-bezier(.6,.05,.2,1) both;will-change:transform,opacity}.ct-machine[data-phase=assembling] .ct-orbit-path{animation:ct-orbit-turn 1.1s linear infinite;border-top-color:#e6ffba;border-bottom-color:#bee779}.ct-machine[data-phase=assembling] .ct-core{animation:ct-core-charge 2.6s ease-in-out both}.ct-machine:is([data-phase=reveal],[data-phase=result]) .ct-flash{animation:ct-reveal-flash .65s ease-out both}.ct-machine:is([data-phase=reveal],[data-phase=result]) .ct-particles i{animation:ct-spark .85s calc(var(--i)*9ms) ease-out both}
@keyframes ct-orbit-turn{to{transform:rotate(360deg)}}@keyframes ct-slot-enter{from{opacity:0;scale:.8}to{opacity:1;scale:1}}@keyframes ct-consume{0%{transform:translate(-50%,-50%) rotate(var(--tilt));opacity:1}20%{transform:translate(-50%,-50%) rotate(calc(var(--tilt) + 8deg)) scale(1.06);opacity:1}100%{transform:translate(calc(-50% + var(--tx,0px)),calc(-50% + var(--ty,0px))) rotate(240deg) scale(.08);opacity:0}}@keyframes ct-core-charge{0%{filter:brightness(1)}45%{filter:brightness(1.3);box-shadow:0 0 55px #b0dc4a35}78%{scale:.95;filter:brightness(1.7)}100%{scale:1.04;filter:brightness(2);opacity:.5}}@keyframes ct-reveal-flash{0%{opacity:0;transform:scale(.2)}20%{opacity:.5}100%{opacity:0;transform:scale(1.3)}}@keyframes ct-spark{0%{opacity:0;transform:rotate(calc(var(--i)*18deg)) translateX(45px) scale(.6)}20%{opacity:1}100%{opacity:0;transform:rotate(calc(var(--i)*18deg)) translateX(210px) scale(.1)}}@keyframes ct-result-enter{from{opacity:0;scale:.88}to{opacity:1;scale:1}}@keyframes ct-result-art{0%{transform:translateY(15px) scale(.75)}70%{transform:translateY(-4px) scale(1.05)}100%{transform:none}}
@media(hover:hover){.ct-card:hover:not(:disabled){border-color:#a8c984;transform:translateY(-2px);background-color:#202b1a}.ct-card:hover:not(:disabled) img{transform:scale(1.08) rotate(-3deg)}.ct-slot.is-filled:hover:not(:disabled){border-color:var(--lime);box-shadow:0 0 18px #bee77930}.ct-create:hover:not(:disabled){background:#d4efaa;box-shadow:0 4px 26px #bee77930}}
@media(max-width:1150px) and (min-width:761px){.ct-layout{grid-template-columns:minmax(260px,1fr) minmax(380px,1.5fr)}.ct-preview{grid-column:1/-1;display:grid;grid-template-columns:180px 1fr 220px;align-items:center}.ct-preview .ct-panel-title{border:0}.ct-preview #ct-preview-content{padding:12px 20px;display:grid;grid-template-columns:160px 1fr;column-gap:18px}.ct-preview-art{height:150px;grid-row:1/6;margin:0}.ct-preview-art>div{height:100px;padding:8px;transform:translate(calc((var(--preview-i) - .5)*20px),calc((var(--preview-i) - .5)*20px)) rotate(calc((var(--preview-i) - .5)*-10deg))}.ct-preview-art img{height:58px}.ct-preview-detail{margin:8px 0 0}.ct-preview-empty{grid-column:1/-1;flex-direction:row;gap:16px;min-height:120px}.ct-preview-empty>.ui-icon{width:40px;height:40px;margin:0}.ct-preview-empty>strong{font-size:12px}.ct-preview-empty p{max-width:180px;text-align:left}.ct-preview-note{border-top:0;border-left:1px solid #bee7790d}.ct-reward-range{margin-top:7px}.ct-value-track{margin-top:10px}.ct-core #ct-count{font-size:36px}.ct-core-caption{font-size:8px}.ct-core{gap:6px}.ct-core .ct-create{font-size:9px;min-height:32px}.ct-result>img{height:90px}.ct-result>h2{font-size:17px}.ct-result-actions{gap:5px;margin-top:10px}.ct-result-comparison{font-size:7px}}
@media(max-width:760px){.ct-heading{padding-block:25px 20px}.ct-heading-badge{display:none}.ct-layout{display:flex;flex-direction:column;gap:14px}.ct-machine{order:0}.ct-inventory{order:1}.ct-preview{order:2}.ct-orbit{max-width:470px}.ct-machine-top{padding:15px 15px 0;font-size:7px}.ct-machine-top>span:last-child{font-size:7px}.ct-core{gap:6px}.ct-core-label{font-size:6px;letter-spacing:1px}.ct-core #ct-count{font-size:33px}.ct-core #ct-count small{font-size:16px}.ct-core-caption{font-size:8px}.ct-core .ct-create{font-size:8px;min-height:31px;padding:6px 2px}.ct-core-total{font-size:11px}.ct-slot{border-radius:7px}.ct-slot>small{top:4px;left:4px;font-size:5px}.ct-slot>span{font-size:6px}.ct-slot>.ui-icon{width:17px;height:17px}.ct-machine-bottom{padding:0 18px 14px}.ct-machine-bottom p{font-size:9px;min-height:0}.ct-items{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:120px;min-height:501px}.ct-card img{height:58px}.ct-card>strong{font-size:10px}.ct-card-weapon{font-size:8px}.ct-card-top b{font-size:10px}.ct-preview #ct-preview-content{padding:20px;display:grid;grid-template-columns:130px 1fr;column-gap:14px}.ct-preview-art{grid-row:1/6;height:175px;margin:0}.ct-preview-art>div{width:95%;height:115px;transform:translate(calc((var(--preview-i) - .5)*8px),calc((var(--preview-i) - .5)*38px)) rotate(calc((var(--preview-i) - .5)*-10deg))}.ct-preview-art img{height:67px}.ct-preview-art small{font-size:7px}.ct-preview-art strong{font-size:8px}.ct-reward-range{font-size:12px;margin-top:8px}.ct-reward-label{font-size:6px;line-height:1.8}.ct-value-track{margin-top:12px}.ct-preview-detail{font-size:8px;margin-top:10px}.ct-preview-empty{grid-column:1/-1;min-height:175px}.ct-preview-empty>.ui-icon{width:42px;height:42px;margin-bottom:12px}.ct-preview-empty p{max-width:250px}.ct-steps{grid-template-columns:1fr;gap:17px;padding:20px 12px}.ct-steps li{justify-content:flex-start}.ct-result{inset:10%}.ct-result>img{height:95px;width:75%}.ct-result>h2{font-size:17px;max-width:90%}.ct-result>strong{font-size:18px}.ct-result-actions{gap:5px;margin-top:10px}.ct-result-actions .ct-create{min-height:30px;font-size:9px}.ct-result-actions .outline-btn{min-height:27px;font-size:8px}.ct-result-tag{font-size:6px}.ct-result-comparison{font-size:7px}.ct-heading p{font-size:10px}}
@media(max-width:360px){.ct-core{gap:4px}.ct-core #ct-count{font-size:26px}.ct-core-caption{font-size:7px}.ct-core .ct-create{font-size:7px;min-height:28px}.ct-core-total{font-size:10px}.ct-machine-top>span:last-child{display:none}.ct-result>img{height:65px}.ct-result>h2{font-size:14px}.ct-result-actions{margin-top:7px}.ct-result-actions .ct-create{min-height:27px}.ct-preview #ct-preview-content{grid-template-columns:105px 1fr}.ct-items{grid-auto-rows:110px;min-height:461px}.ct-card img{height:51px}.ct-card>strong{font-size:9px}}
.effects-paused .ct-machine *{animation-play-state:paused!important}
@media(max-width:760px){.ct-machine[data-phase=result] .ct-orbit{aspect-ratio:auto;min-height:440px}.ct-result{inset:5% 8%;border-radius:22px}.ct-result>img{height:110px;flex-shrink:0}.ct-result>h2{font-size:20px;max-width:90%}.ct-result-actions{display:grid;grid-template-columns:1fr 1fr;width:86%;max-width:260px;gap:8px;margin-top:16px}.ct-result-actions .ct-create{grid-column:1/-1;font-size:11px;min-height:44px}.ct-result-actions .outline-btn,.ct-result-actions .text-btn{font-size:10px;min-height:44px;padding:6px;line-height:1.5;border:1px solid #45603080;border-radius:7px}.ct-result-comparison{font-size:8px;max-width:90%}.ct-result-tag{font-size:7px}}
@media(prefers-reduced-motion:reduce){.ct-machine *,.ct-card img{animation:none!important;transition:none!important}.ct-machine[data-phase=assembling] .ct-slot.is-filled{opacity:.3}.ct-card:hover:not(:disabled){transform:none}.ct-flash,.ct-particles{display:none}}

/* Motion belongs to the selected items, never to empty placeholder cards. */
.ct-slot.is-filled{animation:none;border-radius:11px;background:radial-gradient(ellipse at 45% 30%,color-mix(in srgb,var(--rarity) 18%,#182015),#0d140d);box-shadow:0 8px 22px #0005,inset 0 1px 0 #ffffff0b}
.ct-slot.is-filled:after{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(130deg,transparent 20%,#ffffff0a 45%,transparent 65%);pointer-events:none}
.ct-slot.is-filled>small{color:#9ab084}.ct-slot img{transition:filter .25s}.ct-orbit-ring{background:radial-gradient(ellipse,transparent 58%,#a6cb5906 72%,transparent 74%)}
.ct-energy-lines{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .6s}.ct-energy-lines svg{width:100%;height:100%;overflow:visible}.ct-energy-lines path{stroke:#d4f994;stroke-width:.2;stroke-linecap:round;stroke-dasharray:4 96;filter:drop-shadow(0 0 1px #a9e560)}
.ct-aperture{position:absolute;inset:27%;z-index:4;pointer-events:none;opacity:0;border-radius:50%;background:radial-gradient(ellipse,#d6fca119,#99d23c08 44%,transparent 72%)}
.ct-aperture i{position:absolute;inset:0;border-radius:50%;border:1px solid #bff18b55;box-shadow:0 0 30px #a4e34312,inset 0 0 30px #a4e3430c}.ct-aperture i:nth-child(2){inset:13%;border-style:dashed}.ct-aperture i:nth-child(3){inset:28%;border:0;background:radial-gradient(ellipse,#e6ffd5,#b3ed6d55 16%,#9ed8550d 45%,transparent 69%);filter:blur(2px)}
.ct-machine[data-phase=charging] .ct-orbit-path{animation-duration:7s}.ct-machine[data-phase=charging] .ct-slot{box-shadow:0 0 20px #b4ed4920}
.ct-machine[data-phase=assembling] .ct-energy-lines{opacity:1}.ct-machine[data-phase=assembling] .ct-energy-lines path{animation:ct-energy-flow 1.4s var(--delay) cubic-bezier(.4,0,.2,1) 2 both}
.ct-machine[data-phase=assembling] .ct-slot.is-filled{animation:ct-draw-in 2.15s var(--delay) cubic-bezier(.45,.03,.15,1) both}
.ct-machine[data-phase=assembling] .ct-core{animation:ct-reactor-charge 2.6s ease-in-out both}.ct-machine[data-phase=assembling] .ct-core>*{animation:ct-copy-away .7s .55s ease both}
.ct-machine[data-phase=assembling] .ct-aperture{animation:ct-aperture-charge 2.6s ease both}.ct-machine[data-phase=assembling] .ct-aperture i:first-child{animation:ct-ring-breathe 1.3s ease-in-out 2}.ct-machine[data-phase=assembling] .ct-aperture i:nth-child(2){animation:ct-orbit-turn 3s linear infinite}
.ct-machine[data-phase=synthesis] .ct-slot,.ct-machine[data-phase=reveal] .ct-slot{visibility:hidden}.ct-machine:is([data-phase=synthesis],[data-phase=reveal]) .ct-core>*{opacity:0}.ct-machine[data-phase=synthesis] .ct-core{box-shadow:0 0 65px #b7ed6c38;background:radial-gradient(ellipse,#a4da4c22,#101a0d 70%)}
.ct-machine[data-phase=synthesis] .ct-aperture{animation:ct-synthesis 1.1s cubic-bezier(.4,0,.2,1) both}.ct-machine[data-phase=synthesis] .ct-aperture i:first-child{animation:ct-ring-fold 1.1s cubic-bezier(.2,.6,.2,1) both}.ct-machine[data-phase=synthesis] .ct-aperture i:nth-child(2){animation:ct-orbit-turn 1.1s linear infinite}.ct-machine[data-phase=synthesis] .ct-orbit-path{animation-duration:1.8s;border-top-color:#d6fca1}
.ct-machine[data-phase=synthesis] #ct-progress i{animation:ct-progress-wave .65s calc(var(--i,0)*40ms) ease-in-out infinite}.ct-machine[data-phase=reveal] .ct-aperture{animation:ct-aperture-release .55s ease-out both}
.ct-machine:is([data-phase=reveal],[data-phase=result]) .ct-flash{animation:ct-soft-burst .75s ease-out both}.ct-machine[data-phase=result] .ct-orbit-ring{box-shadow:0 0 35px #c0ee8b0c}.ct-machine[data-phase=result] .ct-result{animation:ct-materialize .85s cubic-bezier(.16,.8,.2,1) both}
.ct-result:before{content:'';position:absolute;inset:5%;z-index:-1;border-radius:50%;background:conic-gradient(from 20deg,transparent,color-mix(in srgb,var(--reward-color) 14%,transparent),transparent 36%,color-mix(in srgb,var(--reward-color) 10%,transparent),transparent 80%);filter:blur(15px);animation:ct-orbit-turn 24s linear infinite;pointer-events:none}.ct-result>img{animation:ct-reward-arrive 1.05s cubic-bezier(.15,.8,.2,1) both}
.ct-best-label{text-align:center;color:#a5bd8b;font-size:7px;font-weight:800;letter-spacing:1.6px}.ct-preview-art.ct-preview-top{height:260px;margin:10px -4px 16px;isolation:isolate}.ct-preview-art.ct-preview-top:before{content:'';position:absolute;inset:20%;border-radius:50%;background:var(--rarity);opacity:.12;filter:blur(30px)}
.ct-preview-art.ct-preview-top>div{position:relative;width:100%;height:250px;transform:none;background:radial-gradient(ellipse at 50% 35%,color-mix(in srgb,var(--rarity) 10%,#121a12),#0e150ee0);border-radius:12px;box-shadow:0 14px 35px #0003;padding:16px 12px;justify-content:center;animation:ct-prize-in .55s cubic-bezier(.2,.8,.2,1) both}
.ct-preview-art.ct-preview-top img{height:130px;width:100%;min-height:0;margin-bottom:8px;filter:drop-shadow(0 12px 15px #0008)}.ct-preview-art.ct-preview-top small{font-size:9px;color:#879c77}.ct-preview-art.ct-preview-top strong{font-size:14px;line-height:1.5;max-width:100%;margin-top:4px;color:#e0ebd7}.ct-preview-art.ct-preview-top b{font-size:18px;color:var(--lime);margin-top:10px}.ct-preview-top small,.ct-preview-top strong,.ct-preview-top b{flex-shrink:0}.ct-preview-top .currency-icon{width:13px;height:13px}
@keyframes ct-energy-flow{0%{stroke-dashoffset:100;opacity:0}20%{opacity:.8}100%{stroke-dashoffset:0;opacity:0}}
@keyframes ct-draw-in{0%{transform:translate(-50%,-50%) rotate(var(--tilt));opacity:1}18%{transform:translate(calc(-50% - var(--tx)*.05),calc(-50% - var(--ty)*.05)) rotate(calc(var(--tilt) - 5deg)) scale(1.04);opacity:1}56%{transform:translate(calc(-50% + var(--tx)*.3),calc(-50% + var(--ty)*.3 - 20px)) rotate(calc(var(--tilt) + 18deg)) scale(.9);opacity:1}94%,100%{transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) rotate(120deg) scale(.06);opacity:0}}
@keyframes ct-reactor-charge{0%{filter:brightness(1)}48%{filter:brightness(1.15);box-shadow:0 0 40px #ace15b25}100%{filter:brightness(1.5);box-shadow:0 0 65px #bbf07b38}}
@keyframes ct-copy-away{to{opacity:0;transform:translateY(-6px)}}@keyframes ct-aperture-charge{0%,15%{opacity:0;scale:1.2}55%{opacity:.4;scale:1.05}100%{opacity:1;scale:.9}}
@keyframes ct-ring-breathe{0%,100%{scale:1;opacity:.4}50%{scale:1.12;opacity:1}}@keyframes ct-ring-fold{0%{transform:rotateX(0) rotateZ(0);scale:1}65%{transform:rotateX(65deg) rotateZ(110deg);scale:1.4}100%{transform:rotateX(0) rotateZ(180deg);scale:.5}}
@keyframes ct-synthesis{0%{opacity:1;scale:.9;filter:brightness(1)}60%{opacity:1;scale:1.12;filter:brightness(1.5)}100%{opacity:1;scale:.68;filter:brightness(2)}}@keyframes ct-aperture-release{from{opacity:1;scale:.68}to{opacity:0;scale:2.6}}
@keyframes ct-progress-wave{50%{opacity:.3;scale:1 .7}}@keyframes ct-soft-burst{0%{opacity:0;scale:.2}30%{opacity:.35}100%{opacity:0;scale:1.5}}
@keyframes ct-materialize{from{opacity:0;transform:translateY(12px) scale(.92)}to{opacity:1;transform:none}}@keyframes ct-reward-arrive{0%{opacity:0;transform:translateY(18px) scale(.65);filter:brightness(2) drop-shadow(0 0 25px var(--reward-color))}55%{opacity:1;transform:translateY(-3px) scale(1.035)}100%{opacity:1;transform:none}}
@keyframes ct-prize-in{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:1150px) and (min-width:761px){.ct-preview #ct-preview-content:has(.ct-preview-top){grid-template-columns:135px 1fr;column-gap:12px}.ct-preview-art.ct-preview-top{grid-column:1;grid-row:1/8;margin:0;height:180px}.ct-preview-art.ct-preview-top>div{height:170px;padding:7px}.ct-preview-art.ct-preview-top img{height:90px}.ct-preview-art.ct-preview-top strong{font-size:9px}.ct-preview-art.ct-preview-top small{font-size:7px}.ct-preview-art.ct-preview-top b{font-size:13px;margin-top:6px}.ct-best-label{font-size:6px;letter-spacing:1px;line-height:1.7}}
@media(max-width:760px){.ct-preview #ct-preview-content:has(.ct-preview-top){grid-template-columns:130px 1fr;column-gap:16px}.ct-preview-art.ct-preview-top{grid-column:1;grid-row:1/8;height:200px;margin:0}.ct-preview-art.ct-preview-top>div{height:190px;padding:9px}.ct-preview-art.ct-preview-top img{height:105px}.ct-preview-art.ct-preview-top strong{font-size:10px}.ct-preview-art.ct-preview-top small{font-size:7px}.ct-preview-art.ct-preview-top b{font-size:14px;margin-top:7px}.ct-best-label{font-size:6px;letter-spacing:1px;line-height:1.8}.ct-result:before{filter:blur(12px)}}
@media(max-width:360px){.ct-preview #ct-preview-content:has(.ct-preview-top){grid-template-columns:105px 1fr;column-gap:12px}.ct-preview-art.ct-preview-top strong{font-size:9px}.ct-preview-art.ct-preview-top img{height:90px}.ct-preview-art.ct-preview-top b{font-size:12px}}
@media(prefers-reduced-motion:reduce){.ct-machine *,.ct-machine *:before,.ct-preview-top>div,.ct-card{animation:none!important;transition:none!important}.ct-aperture,.ct-energy-lines{display:none}.ct-machine[data-phase=assembling] .ct-slot.is-filled{opacity:0}.ct-result>img{filter:none}.ct-preview-art.ct-preview-top:before{display:none}}

/* Contract Lab polish: odds you can read at a glance, a living chamber and a reward that lands as profit or loss. */
#contracts-view{--win:#bee779;--loss:#e5916f}
#contracts-view .ct-heading-badge{gap:14px;background:linear-gradient(120deg,#bee7790c,#bee77903);box-shadow:inset 0 1px 0 #ffffff08}
#contracts-view .ct-heading-badge>i{width:1px;align-self:stretch;background:#bee77926}
#contracts-view .ct-heading-badge b.is-win{color:var(--win)}

/* Inventory cards */
#contracts-view .ct-card{isolation:isolate;transition:background .2s,border-color .2s,transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s}
#contracts-view .ct-card:after{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(115deg,transparent 35%,#ffffff14 50%,transparent 65%);translate:-120% 0;transition:translate .75s cubic-bezier(.2,.8,.2,1);pointer-events:none}
#contracts-view .ct-card img{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
#contracts-view .ct-card.is-selected{border-color:#bee779b3;background:radial-gradient(ellipse at 50% 35%,#bee7791f,transparent 80%),#141c11;box-shadow:0 0 0 1px #bee77933 inset,0 8px 22px -10px #bee77966}
#contracts-view .ct-card-order{position:absolute;top:22px;left:6px;z-index:3;display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--win);color:#152010;font-size:9px;font-weight:800;box-shadow:0 0 12px #bee77966;animation:ct-order-pop .35s cubic-bezier(.2,1.6,.4,1) both}
@media(hover:hover){
 #contracts-view .ct-card:hover:not(:disabled){transform:translateY(-3px);border-color:color-mix(in srgb,var(--rarity) 60%,#3b4535);box-shadow:0 12px 26px #0007,0 8px 24px -10px color-mix(in srgb,var(--rarity) 60%,transparent)}
 #contracts-view .ct-card:hover:not(:disabled):after{translate:120% 0}
 #contracts-view .ct-card:hover:not(:disabled) img{transform:translateY(-3px) scale(1.1) rotate(-5deg)}
 #contracts-view .ct-card:hover:not(:disabled) .ct-card-toggle{color:var(--win)}
}

/* Chamber */
#contracts-view .ct-scan{position:absolute;inset:13%;z-index:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 300deg,#bee77912 340deg,#bee77930 360deg);-webkit-mask:radial-gradient(closest-side,transparent 62%,#000 63%);mask:radial-gradient(closest-side,transparent 62%,#000 63%);animation:ct-orbit-turn 6s linear infinite;pointer-events:none}
#contracts-view .ct-machine:not([data-phase=idle]) .ct-scan{animation-duration:1.4s}
#contracts-view .ct-core-ring{position:absolute;inset:-7px;width:calc(100% + 14px);height:calc(100% + 14px);transform:rotate(-90deg);pointer-events:none;overflow:visible}
#contracts-view .ct-core-ring circle{fill:none;stroke:#bee77914;stroke-width:1.4}
#contracts-view .ct-core-ring .ct-core-fill{stroke:var(--win);stroke-width:1.8;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--fill,0));filter:drop-shadow(0 0 3px #bee779aa);transition:stroke-dashoffset .6s cubic-bezier(.2,.8,.2,1)}
#contracts-view .ct-core #ct-count{transition:color .3s}
#contracts-view .ct-slot.is-filled img{animation:ct-float 3.8s ease-in-out infinite;animation-delay:calc(var(--delay,0ms) * -6)}
#contracts-view .ct-slot.is-filled{transition:box-shadow .25s,border-color .25s}
#contracts-view .ct-create{position:relative;overflow:hidden;isolation:isolate;transition:background .2s,box-shadow .25s,transform .25s cubic-bezier(.2,.8,.2,1)}
#contracts-view .ct-create:not(:disabled){animation:ct-ready 2.6s ease-in-out infinite}
#contracts-view .ct-create:not(:disabled):before{content:'';position:absolute;top:0;bottom:0;left:-40%;z-index:-1;width:30%;background:linear-gradient(100deg,transparent,#ffffffa6,transparent);transform:skewX(-18deg);animation:ct-shine 3.2s .8s ease-in-out infinite;pointer-events:none}
#contracts-view .ct-create:hover:not(:disabled){animation:none;transform:translateY(-2px);box-shadow:0 10px 28px #bee77955}

/* Synthesis roll: real pool rewards flick past and settle on the server's pick. */
#contracts-view .ct-roll{position:absolute;left:50%;top:50%;z-index:6;width:38%;aspect-ratio:1;overflow:hidden;border-radius:50%;translate:-50% -50%;-webkit-mask:radial-gradient(closest-side,#000 62%,transparent);mask:radial-gradient(closest-side,#000 62%,transparent);animation:ct-roll-in .3s ease-out both;pointer-events:none}
#contracts-view .ct-roll-strip{display:flex;flex-direction:column;height:calc(var(--n) * 100%);will-change:transform}
#contracts-view .ct-roll-strip span{display:grid;place-items:center;flex:1;background:radial-gradient(closest-side,color-mix(in srgb,var(--rarity) 30%,transparent),transparent)}
#contracts-view .ct-roll-strip img{width:82%;height:70%;object-fit:contain;filter:drop-shadow(0 8px 10px #000a)}
#contracts-view .ct-machine[data-phase=reveal] .ct-roll{animation:ct-roll-out .4s ease-in forwards}

/* Result */
#contracts-view .ct-result{isolation:isolate}
#contracts-view .ct-result-rays{position:absolute;left:50%;top:38%;z-index:-1;width:130%;aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(color-mix(in srgb,var(--reward-color) 0%,transparent) 0 9deg,color-mix(in srgb,var(--reward-color) 26%,transparent) 11deg 14deg,transparent 16deg 30deg);-webkit-mask:radial-gradient(closest-side,#000 20%,transparent);mask:radial-gradient(closest-side,#000 20%,transparent);translate:-50% -50%;animation:ct-rays-in .9s ease-out both,ct-orbit-turn 16s linear infinite;pointer-events:none}
#contracts-view .ct-result[data-outcome=loss] .ct-result-rays{opacity:.45}
#contracts-view .ct-result-delta{display:inline-flex;align-items:center;gap:4px;margin-top:7px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:800;animation:ct-delta-in .5s .5s cubic-bezier(.2,1.4,.4,1) both}
#contracts-view .ct-result-delta .currency-icon{width:11px;height:11px}
#contracts-view .ct-result[data-outcome=profit] .ct-result-delta{border:1px solid #bee77966;background:#bee77918;color:var(--win);box-shadow:0 0 22px #bee77933}
#contracts-view .ct-result[data-outcome=loss] .ct-result-delta{border:1px solid #e5916f55;background:#e5916f14;color:var(--loss)}
#contracts-view .ct-result[data-outcome=profit] .ct-result-tag{color:var(--win);text-shadow:0 0 14px #bee77999}
#contracts-view .ct-result[data-outcome=loss] .ct-result-tag{color:#b9c6ab}
#contracts-view .ct-result>img{animation:ct-reward-arrive 1.05s cubic-bezier(.15,.8,.2,1) both,ct-float 4s 1.1s ease-in-out infinite}
#contracts-view .ct-machine[data-outcome=profit]{border-color:#7fa64d;box-shadow:0 0 50px #bee7791a}
#contracts-view .ct-machine[data-outcome=profit] .ct-particles i{background:var(--win);box-shadow:0 0 8px var(--win)}
#contracts-view .ct-receipt dd.is-negative{color:var(--loss)}

/* Reward panel: the jackpot, a face-down deck and the value range — no odds, the drop stays a surprise. */
#contracts-view #ct-preview-content:has(.ct-mystery){justify-content:flex-start;gap:16px;padding:16px 14px 14px;min-height:0}
#contracts-view .ct-top{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;padding:12px 10px 14px;overflow:hidden;border:1px solid color-mix(in srgb,var(--rarity) 40%,#2b3526);border-radius:14px;background:radial-gradient(ellipse at 50% 30%,color-mix(in srgb,var(--rarity) 16%,#121a12),#0e150e);text-align:center;animation:ct-prize-in .55s cubic-bezier(.2,.8,.2,1) both;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}
#contracts-view .ct-top-rays{position:absolute;left:50%;top:45%;z-index:-1;width:150%;aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(transparent 0 10deg,color-mix(in srgb,var(--rarity) 22%,transparent) 12deg 15deg,transparent 17deg 30deg);-webkit-mask:radial-gradient(closest-side,#000 15%,transparent);mask:radial-gradient(closest-side,#000 15%,transparent);translate:-50% -50%;animation:ct-orbit-turn 20s linear infinite;pointer-events:none;transition:opacity .35s}
#contracts-view .ct-top:after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,#ffffff12 50%,transparent 60%);translate:-120% 0;animation:ct-glint 4.5s 1s ease-in-out infinite;pointer-events:none}
#contracts-view .ct-top-tag{padding:3px 9px;border:1px solid #bee77933;border-radius:999px;background:#0b110acc;color:var(--win);font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
#contracts-view .ct-top img{width:100%;height:112px;margin:8px 0 4px;object-fit:contain;filter:drop-shadow(0 10px 14px #000a);animation:ct-float 4s ease-in-out infinite;transition:scale .4s cubic-bezier(.2,.8,.2,1)}
#contracts-view .ct-top small{font-size:8px;color:#8ea07e}
#contracts-view .ct-top strong{max-width:100%;overflow:hidden;font-size:13px;white-space:nowrap;text-overflow:ellipsis}
#contracts-view .ct-top b{margin-top:4px;color:var(--win);font-size:16px}
#contracts-view .ct-top .currency-icon{width:12px;height:12px}
#contracts-view .ct-mystery{display:grid;gap:10px;animation:ct-prize-in .55s .12s cubic-bezier(.2,.8,.2,1) both}
#contracts-view .ct-mystery-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
#contracts-view .ct-mystery-head span{color:#d9e6cc;font-size:11px;font-weight:800}
#contracts-view .ct-mystery-head small{color:#7a8c6d;font-size:8px}
#contracts-view .ct-deck{position:relative;display:flex;justify-content:center;height:96px;perspective:600px}
#contracts-view .ct-mystery-card{position:relative;display:grid;place-items:center;width:52px;height:74px;margin:0 -7px;border:1px solid color-mix(in srgb,var(--c) 55%,#2b3526);border-radius:9px;overflow:hidden;background:repeating-linear-gradient(45deg,#ffffff05 0 6px,transparent 6px 12px),radial-gradient(ellipse at 50% 40%,color-mix(in srgb,var(--c) 26%,#121a12),#0c120c);box-shadow:0 8px 18px #0008,inset 0 0 18px color-mix(in srgb,var(--c) 18%,transparent);color:color-mix(in srgb,var(--c) 70%,#fff);rotate:calc(var(--k) * 7deg);translate:0 calc(var(--k) * var(--k) * 3px);transform-origin:50% 120%;animation:ct-card-breathe 3.6s var(--d) ease-in-out infinite;transition:translate .35s cubic-bezier(.2,.8,.2,1),rotate .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,z-index 0s;cursor:default}
#contracts-view .ct-mystery-card .ui-icon{width:22px;height:22px;filter:drop-shadow(0 0 6px var(--c));transition:scale .35s cubic-bezier(.2,1.6,.4,1),rotate .5s}
#contracts-view .ct-mystery-card:after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,#ffffff26 48%,transparent 62%);translate:-130% 0;animation:ct-glint 5s var(--d) ease-in-out infinite;pointer-events:none}
#contracts-view .ct-range{display:grid;gap:8px;animation:ct-prize-in .55s .2s cubic-bezier(.2,.8,.2,1) both}
#contracts-view .ct-range-labels{display:flex;justify-content:space-between;gap:8px;color:#8a9c7c;font-size:9px}
#contracts-view .ct-range-labels b{display:inline-flex;align-items:center;gap:3px;color:#e3ecd9;font-size:11px}
#contracts-view .ct-range-labels span:last-child b{color:var(--win)}
#contracts-view .ct-range-labels .currency-icon{width:10px;height:10px}
#contracts-view .ct-range-track{position:relative;height:6px;margin-top:16px;border-radius:6px;background:linear-gradient(90deg,#7a4f3c,#b2a65f 45%,#bee779);box-shadow:0 0 12px #bee77922}
#contracts-view .ct-range-track:after{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,transparent,#ffffff8c,transparent) no-repeat;background-size:30% 100%;animation:ct-track-run 3.2s ease-in-out infinite}
#contracts-view .ct-range-track i{position:absolute;top:-5px;bottom:-5px;width:2px;border-radius:2px;background:#f2fbe6;box-shadow:0 0 8px #fff;animation:ct-mark-pulse 2s ease-in-out infinite}
#contracts-view .ct-range-track i span{position:absolute;bottom:calc(100% + 4px);left:50%;padding:2px 6px;border-radius:6px;background:#1b2417;color:#d7e4cb;font-size:8px;font-weight:700;white-space:nowrap;translate:-50% 0}
#contracts-view .ct-range p{margin:4px 0 0;color:#7e9272;font-size:9px;line-height:1.6;text-align:center}
@media(hover:hover){
 #contracts-view .ct-top:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--rarity) 70%,#2b3526);box-shadow:0 14px 34px #0008,0 0 30px -6px color-mix(in srgb,var(--rarity) 60%,transparent)}
 #contracts-view .ct-top:hover img{scale:1.08}
 #contracts-view .ct-top:hover .ct-top-rays{opacity:1.6;animation-duration:6s}
 #contracts-view .ct-deck:hover .ct-mystery-card{rotate:calc(var(--k) * 11deg);translate:calc(var(--k) * 6px) calc(var(--k) * var(--k) * 4px)}
 #contracts-view .ct-deck .ct-mystery-card:hover{z-index:2;rotate:0deg;translate:calc(var(--k) * 6px) -14px;box-shadow:0 16px 28px #000a,0 0 26px color-mix(in srgb,var(--c) 55%,transparent);filter:brightness(1.25)}
 #contracts-view .ct-mystery-card:hover .ui-icon{scale:1.35;rotate:360deg}
}

@keyframes ct-order-pop{from{opacity:0;scale:.3}}
@keyframes ct-float{50%{translate:0 -4px}}
@keyframes ct-ready{0%,100%{box-shadow:0 0 0 0 #bee77950,0 4px 22px #bee77920}50%{box-shadow:0 0 0 7px #bee77900,0 6px 30px #bee77940}}
@keyframes ct-shine{0%{translate:0 0}40%,100%{translate:600% 0}}
@keyframes ct-glint{0%{translate:-120% 0}35%,100%{translate:120% 0}}
@keyframes ct-roll-in{from{opacity:0;scale:.6}}
@keyframes ct-roll-out{to{opacity:0;scale:1.4;filter:brightness(2)}}
@keyframes ct-rays-in{from{opacity:0;scale:.4}}
@keyframes ct-card-breathe{50%{filter:brightness(1.3)}}
@keyframes ct-track-run{0%{background-position:-60% 0}60%,100%{background-position:160% 0}}
@keyframes ct-mark-pulse{50%{box-shadow:0 0 14px #fff,0 0 4px #bee779}}
@keyframes ct-delta-in{from{opacity:0;scale:.6}}

@media(max-width:1150px){
 #contracts-view .ct-preview{display:flex;flex-direction:column}
 #contracts-view .ct-preview .ct-preview-note{border-left:0;border-top:1px solid #bee7790d}
 #contracts-view #ct-preview-content:has(.ct-mystery){width:100%;max-width:none;align-self:stretch;display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);grid-template-rows:auto 1fr;gap:14px 24px;padding:16px}
 #contracts-view #ct-preview-content:has(.ct-mystery) .ct-top{grid-column:1;grid-row:1/3}
 #contracts-view #ct-preview-content:has(.ct-mystery) .ct-mystery{grid-column:2;grid-row:1}
 #contracts-view #ct-preview-content:has(.ct-mystery) .ct-range{grid-column:2;grid-row:2;align-self:end}
}
@media(max-width:760px){
 #contracts-view #ct-preview-content:has(.ct-mystery){display:flex;padding:14px 12px}
 #contracts-view .ct-top img{height:84px}
 #contracts-view .ct-heading-badge{display:none}
}
@media(prefers-reduced-motion:reduce){
 #contracts-view :is(.ct-scan,.ct-top-rays,.ct-result-rays,.ct-top,.ct-top img,.ct-mystery,.ct-mystery-card,.ct-range,.ct-range-track i,.ct-card-order,.ct-create,.ct-slot img,.ct-result-delta,.ct-roll),#contracts-view .ct-create:before,#contracts-view .ct-top:after,#contracts-view .ct-mystery-card:after,#contracts-view .ct-range-track:after{animation:none!important}
 #contracts-view .ct-card:after,#contracts-view .ct-create:before,#contracts-view .ct-top:after{display:none}
 #contracts-view .ct-roll{display:none}
}

/* Deposit sheet: presets, own amount, a promo code with a live bonus and a counted total. */
#modal.deposit-modal{width:min(540px,calc(100vw - 24px));max-width:none;overflow:hidden;border-color:#3d4c32;background:radial-gradient(ellipse 80% 55% at 85% -10%,#bee77918,transparent 60%),radial-gradient(ellipse 60% 50% at 0% 110%,#bee7790c,transparent 60%),#0f140e;box-shadow:0 30px 80px #000c,0 0 0 1px #bee7790d inset}
#modal.deposit-modal:before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,#bee779cc,transparent) no-repeat;background-size:40% 100%;animation:dp-scan 5s linear infinite;pointer-events:none}
.dp{position:relative;display:grid;gap:14px}
.dp>*{animation:dp-in .45s cubic-bezier(.2,.8,.2,1) both}
.dp>:nth-child(2){animation-delay:.03s}.dp>:nth-child(3){animation-delay:.06s}.dp>:nth-child(4){animation-delay:.09s}.dp>:nth-child(5){animation-delay:.12s}.dp>:nth-child(6){animation-delay:.15s}.dp>:nth-child(7){animation-delay:.18s}.dp>:nth-child(8){animation-delay:.21s}.dp>:nth-child(9){animation-delay:.24s}.dp>:nth-child(10){animation-delay:.27s}
.dp h2{margin:0}
.dp h2>span{margin:0;padding:0;border:0;border-radius:0;font:inherit;letter-spacing:inherit;color:var(--lime)}
.dp .dp-lead{margin:-6px 0 0;color:#9aa88d;font-size:12px}
.dp-balance{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;border:1px solid #bee7791f;border-radius:12px;background:#bee77908}
.dp-balance small{color:#8a9b7c;font-size:11px}
.dp-balance b{display:flex;align-items:center;gap:6px;font-size:16px;font-variant-numeric:tabular-nums}
.dp-balance .currency-icon{width:14px;height:14px}
.dp-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.dp-preset{position:relative;isolation:isolate;display:grid;gap:4px;justify-items:start;padding:12px 12px 13px;overflow:hidden;border:1px solid #2c3627;border-radius:12px;background:linear-gradient(160deg,#171e14,#10150f);text-align:left;transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .25s,box-shadow .28s,background .25s}
.dp-preset:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 35%,#ffffff14 50%,transparent 65%);translate:-120% 0;transition:translate .7s cubic-bezier(.2,.8,.2,1)}
.dp-preset small{color:#7f9171;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.dp-preset strong{display:flex;align-items:center;gap:5px;color:#e4efd8;font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}
.dp-preset .currency-icon{width:13px;height:13px}
.dp-preset small{display:flex;align-items:center;gap:4px}
.dp-preset small .ui-icon{width:11px;height:11px}
.dp-preset.is-hit small{color:var(--lime)}
.dp-preset.is-hit:before{content:'';position:absolute;left:14px;right:14px;top:0;height:2px;border-radius:0 0 2px 2px;background:var(--lime);box-shadow:0 0 12px var(--lime)}
.dp-preset[aria-pressed=true]{border-color:#bee779b3;background:radial-gradient(ellipse at 30% 0%,#bee77926,transparent 70%),#151d11;box-shadow:0 0 0 1px #bee77933 inset,0 10px 26px -12px #bee77999}
.dp-preset[aria-pressed=true] strong{color:var(--lime)}
.dp-preset.is-picked{animation:dp-pick .38s cubic-bezier(.2,1.5,.4,1)}
.dp-field{display:flex;align-items:center;gap:10px;height:50px;padding:0 14px;border:1px solid #2c3627;border-radius:12px;background:#0a0e09;transition:border-color .25s,box-shadow .25s}
.dp-field:focus-within{border-color:#8fb35e;box-shadow:0 0 0 3px #bee77914}
.dp-field input{flex:1;min-width:0;height:100%;border:0;background:none;color:var(--text);font-size:17px;font-weight:700;outline:none;font-variant-numeric:tabular-nums}
.dp-field input::-webkit-inner-spin-button,.dp-field input::-webkit-outer-spin-button{appearance:none;margin:0}
.dp-field>.ui-icon{width:18px;height:18px;color:#8fb35e;flex:none}
.dp-field .currency-icon{width:16px;height:16px;flex:none}
.dp-amount>span{color:#7f9171;font-size:11px;white-space:nowrap}
.dp-promo{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.dp-promo .dp-field input{font-size:14px;letter-spacing:.12em;text-transform:uppercase}
.dp-promo .dp-field input::placeholder{letter-spacing:0;text-transform:none;font-weight:600;color:#6b7c5f}
.dp-promo .dp-field input:disabled{color:var(--lime);opacity:1}
.dp-promo-apply{min-width:118px;height:50px;padding:0 18px;border:1px solid #bee77966;border-radius:12px;background:#bee77912;color:var(--lime);font-size:13px;font-weight:800;transition:background .2s,color .2s,transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s}
.dp[data-promo=true] .dp-promo .dp-field{border-color:#bee77999;background:linear-gradient(90deg,#bee77914,#0a0e09 70%);box-shadow:0 0 22px -8px #bee779aa}
.dp[data-promo=true] .dp-promo-apply{border-color:#3a4434;background:#151b13;color:#a7b597}
.dp-promo.is-shake{animation:dp-shake .45s cubic-bezier(.36,.07,.19,.97)}
.dp-promo-status{min-height:16px;margin:-6px 2px 0;color:#8a9b7c;font-size:11px}
.dp-promo-status[data-kind=ok]{color:var(--lime)}
.dp-promo-status[data-kind=error]{color:#e5916f}
.dp-promo-status.is-new{animation:dp-in .35s cubic-bezier(.2,.8,.2,1) both}
.dp-summary{display:grid;gap:8px;padding:14px 16px;border:1px solid #2a3425;border-radius:14px;background:linear-gradient(180deg,#141b12,#0e130d)}
.dp-summary>div{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#9aa88d;font-size:12px}
.dp-summary b{display:flex;align-items:center;gap:5px;color:#e4efd8;font-variant-numeric:tabular-nums}
.dp-summary .currency-icon{width:12px;height:12px}
.dp-bonus-row{max-height:0;overflow:hidden;opacity:0;transition:max-height .35s cubic-bezier(.2,.8,.2,1),opacity .3s}
.dp[data-promo=true] .dp-bonus-row{max-height:24px;opacity:1}
.dp-bonus-row b{color:var(--lime)!important}
.dp-total{padding-top:10px;border-top:1px dashed #bee77926}
.dp-total span{color:#c9d6bc;font-weight:700}
.dp-total strong{display:flex;align-items:center;gap:6px;color:var(--lime);font-size:24px;font-weight:800;font-variant-numeric:tabular-nums;text-shadow:0 0 18px #bee77955}
.dp-total .currency-icon{width:18px;height:18px}
.dp-submit{position:relative;overflow:hidden;isolation:isolate;height:54px;gap:9px;border-radius:12px;font-size:15px}
.dp-submit>.ui-icon{width:18px;height:18px}
.dp-submit .currency-icon{width:15px;height:15px}
.dp-submit:before{content:'';position:absolute;top:0;bottom:0;left:-40%;z-index:-1;width:28%;background:linear-gradient(100deg,transparent,#ffffffb3,transparent);transform:skewX(-18deg);animation:dp-shine 3.2s 1s ease-in-out infinite;pointer-events:none}
.dp-submit:not(:disabled){animation:dp-ready 2.6s ease-in-out infinite}
.dp-submit.is-loading{opacity:.75}
.dp .deposit-note{margin:-4px 0 0;color:#76886a;font-size:10px;text-align:center}
#balance.is-credited{animation:dp-credit .9s cubic-bezier(.2,.8,.2,1)}
@media(hover:hover){
 .dp-preset:hover{transform:translateY(-3px);border-color:#7f9757;box-shadow:0 12px 26px #0007,0 6px 22px -10px #bee77977}
 .dp-preset:hover:after{translate:120% 0}
 .dp-preset:hover strong{color:#f1ffe0}
 .dp-promo-apply:hover:not(:disabled){transform:translateY(-2px);background:var(--lime);color:#152010;box-shadow:0 10px 24px -8px #bee779aa}
 .dp[data-promo=true] .dp-promo-apply:hover:not(:disabled){background:#2a1d18;border-color:#e5916f88;color:#ffb39a;box-shadow:none}
 .dp-submit:hover:not(:disabled){animation:none;transform:translateY(-2px);box-shadow:0 14px 34px #bee77955}
 .dp-submit:hover:not(:disabled):before{animation-duration:1.4s;animation-delay:0s}
}
@keyframes dp-in{from{opacity:0;translate:0 10px}}
@keyframes dp-scan{from{background-position:-70% 0}to{background-position:170% 0}}
@keyframes dp-pick{40%{scale:.95}}
@keyframes dp-shake{20%,60%{translate:-6px 0}40%,80%{translate:6px 0}}
@keyframes dp-shine{0%{translate:0 0}40%,100%{translate:600% 0}}
@keyframes dp-ready{0%,100%{box-shadow:0 0 0 0 #bee77950,0 6px 24px #bee77926}50%{box-shadow:0 0 0 7px #bee77900,0 8px 32px #bee7793d}}
@keyframes dp-credit{30%{scale:1.12;color:var(--lime);text-shadow:0 0 16px #bee779}}
@media(max-width:560px){
 .dp-presets{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dp-promo-apply{min-width:0;padding:0 14px}
 .dp-total strong{font-size:20px}
}
@media(prefers-reduced-motion:reduce){
 .dp>*,.dp-preset,.dp-preset.is-picked,.dp-promo.is-shake,.dp-submit,.dp-submit:before,#modal.deposit-modal:before,#balance.is-credited,.dp-promo-status.is-new{animation:none!important}
 .dp-preset:after{display:none}
}
.admin-deposit-promos{margin-top:28px}

/* Deposit sheet (components.jsx). Left: three numbered steps, because filling it in really is a sequence.
   Right: a paper receipt with a torn bottom edge — the one memorable element; everything else stays quiet. */
[data-tone=lime]{--tone:#c6e88f}[data-tone=silver]{--tone:#cfd9e4}[data-tone=teal]{--tone:#5fd1b5}[data-tone=blue]{--tone:#8ebcdc}[data-tone=violet]{--tone:#bba6e0}[data-tone=amber]{--tone:#dfbe7e}

.pay-dialog{width:min(920px,calc(100vw - 40px));max-width:none;max-height:min(880px,calc(100dvh - 40px));padding:0;overflow:auto;border:1px solid #30362b;border-radius:24px;background:#10140f;color:var(--text);box-shadow:0 40px 140px #000b;font-family:var(--font);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#3d4a31 transparent;animation:pay-arrive .28s cubic-bezier(.23,1,.32,1)}
.pay-dialog::backdrop{background:#050805c9;backdrop-filter:blur(9px)}
.pay-dialog button,.pay-dialog input{font-family:inherit}
.pay-dialog button{cursor:pointer}
.pay-dialog button:disabled{cursor:not-allowed}
.pay-dialog :focus-visible{outline:2px solid var(--lime);outline-offset:2px}
@keyframes pay-arrive{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.pay-shell{display:grid}

.pay-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:30px 34px 22px;border-bottom:1px solid #232720}
.pay-header .eyebrow{font-size:9px;font-weight:700;letter-spacing:1.7px;color:#a2b18e}
.pay-header h2{margin:8px 0 10px;font-size:clamp(28px,3vw,36px);font-weight:800;letter-spacing:-.045em;line-height:1.12}
.pay-header h2>span{padding:0;border:0;border-radius:0;font:inherit;color:var(--lime)}
.pay-status{display:flex;align-items:center;gap:8px;margin:0;color:#9aa397;font-size:12px;line-height:1.5}
.pay-status i{width:6px;height:6px;flex:none;border-radius:50%;background:#dfbe7e;box-shadow:0 0 0 3px #dfbe7e22}
.pay-close{display:grid;place-items:center;width:42px;height:42px;flex:none;border:1px solid #30362b;border-radius:10px;background:#141812;color:#c4cdbb;transition:border-color .15s,color .15s}
.pay-close .ui-icon{width:18px;height:18px}

.pay-layout{display:grid;grid-template-columns:minmax(0,1fr) 316px;gap:30px;padding:26px 34px 28px}
.pay-flow{display:grid;gap:26px;align-content:start;min-width:0}
.pay-step{display:grid;gap:12px;min-width:0}
.pay-step-title{display:flex;align-items:center;gap:10px;margin:0;color:#e9eaed;font-size:14px;font-weight:800;letter-spacing:-.01em}
.pay-step-title b{display:grid;place-items:center;width:22px;height:22px;flex:none;border-radius:7px;background:#1b2117;border:1px solid #3a4530;color:var(--lime);font-size:11px;font-variant-numeric:tabular-nums}
.pay-step-title small{margin-left:auto;color:#87947c;font-size:11px;font-weight:600}
.pay-step-title label{cursor:text}

.pay-tabs{position:relative;display:grid;grid-template-columns:repeat(3,1fr);padding:4px;border:1px solid #262c23;border-radius:12px;background:#0c0f0b;isolation:isolate}
.pay-tab-glider{position:absolute;z-index:-1;top:4px;bottom:4px;left:4px;width:calc((100% - 8px)/3);border-radius:9px;background:var(--lime);transform:translateX(calc(var(--tab,0)*100%));transition:transform .24s cubic-bezier(.23,1,.32,1)}
.pay-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:0;border-radius:9px;background:none;color:#84917a;font-size:12px;font-weight:800;transition:color .18s}
.pay-tabs button[aria-selected=true]{color:#10120d}
.pay-tabs .ui-icon{width:15px;height:15px}

.pay-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pay-methods-crypto{grid-template-columns:repeat(3,minmax(0,1fr))}
.pay-methods-skins{grid-template-columns:1fr}
.pay-method{position:relative;display:flex;align-items:center;gap:12px;min-width:0;padding:12px;border:1px solid #262c23;border-radius:12px;background:#131712;cursor:pointer;transition:border-color .15s,background .15s;animation:pay-method-in .26s calc(var(--i,0)*40ms) cubic-bezier(.23,1,.32,1) both}
@keyframes pay-method-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.pay-method input{position:absolute;opacity:0;pointer-events:none}
.pay-method-mark{display:grid;place-items:center;min-width:46px;height:40px;padding:0 6px;flex:none;border-radius:9px;background:color-mix(in srgb,var(--tone) 12%,#0d100c);color:var(--tone);font-size:12px;font-weight:800;letter-spacing:.02em}
.pay-method-text{display:grid;gap:3px;min-width:0}
.pay-method-text b{color:#e9eaed;font-size:13px;font-weight:800}
.pay-method-text small{display:-webkit-box;overflow:hidden;color:#87947c;font-size:11px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.pay-radio{display:grid;place-items:center;width:20px;height:20px;margin-left:auto;flex:none;border:1px solid #3a4230;border-radius:50%;color:transparent;transition:background .15s,border-color .15s,color .15s}
.pay-radio .ui-icon{width:12px;height:12px}
.pay-method[data-selected=true]{border-color:color-mix(in srgb,var(--lime) 60%,transparent);background:#171d14}
.pay-method[data-selected=true] .pay-radio{border-color:var(--lime);background:var(--lime);color:#10120d}
.pay-method:has(input:focus-visible){outline:2px solid var(--lime);outline-offset:2px}
.pay-method[data-available=false]{cursor:default;background:#10140f;border-color:#262c23}
.pay-method[data-available=false] .pay-method-mark{filter:grayscale(1);color:var(--muted)}
.pay-methods-crypto .pay-method{flex-direction:column;align-items:flex-start;gap:10px;padding:12px 12px 13px}
.pay-methods-crypto .pay-radio{position:absolute;top:12px;right:12px}
.pay-methods-crypto .pay-method-text{width:100%}
.pay-method-note{margin:10px 0 0;color:#87947c;font-size:11px;line-height:1.6}
.pay-skin-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 0;padding:0;list-style:none;counter-reset:skin}
.pay-skin-steps li{counter-increment:skin;padding:10px 12px;border:1px dashed #30362b;border-radius:10px;color:#9aa397;font-size:11px;line-height:1.45}
.pay-skin-steps li:before{content:counter(skin);display:block;margin-bottom:4px;color:var(--lime);font-weight:800}
.pay-skeleton{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pay-skeleton i{height:66px;border-radius:12px;background:linear-gradient(90deg,#141812,#1b2017,#141812);background-size:200% 100%;animation:pay-shimmer 1.2s linear infinite}
@keyframes pay-shimmer{to{background-position:-200% 0}}
.pay-load-error{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid #5a2a24;border-radius:12px;background:#1a110f;color:#ffb3a7;font-size:12px}
.pay-load-error p{margin:0}
.pay-load-error .outline-btn{display:inline-flex;align-items:center;gap:6px}

/* The amount is typed straight into a large figure, not a boxed form field. */
.pay-amount{display:flex;align-items:baseline;gap:8px;padding:2px 0 10px;border-bottom:2px solid #30362b;transition:border-color .18s}
.pay-amount:focus-within{border-color:var(--lime)}
.pay-amount[data-invalid=true]{border-color:#ff7a6a}
.pay-amount input{width:calc(var(--chars,3)*1ch + 4px);min-width:2ch;max-width:100%;padding:0;border:0;background:none;color:#f1f4ec;font:800 clamp(40px,5vw,54px)/1.05 var(--font);letter-spacing:-.04em;font-variant-numeric:tabular-nums;outline:none}
.pay-amount span{color:#6f7d64;font-size:28px;font-weight:800}
.pay-presets{display:flex;flex-wrap:wrap;gap:8px}
.pay-presets button{min-height:34px;padding:0 14px;border:1px solid #30362b;border-radius:999px;background:#131712;color:#c4cdbb;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;transition:border-color .15s,background .15s,color .15s}
.pay-presets button[aria-pressed=true]{border-color:var(--lime);background:#b9dd7c1a;color:var(--lime)}
.pay-field-error{min-height:16px;margin:-4px 0 0;color:#ff9a8b;font-size:11px}

.pay-flash{display:flex;align-items:center;gap:10px;width:100%;padding:11px 14px;border:1px solid #dfbe7e4d;border-radius:12px;background:linear-gradient(90deg,#dfbe7e14,#dfbe7e05);color:#e9dcc0;font-size:12px;text-align:left}
.pay-flash .ui-icon{width:16px;height:16px;flex:none;color:#dfbe7e}
.pay-flash b{color:#f3e2bd}
.pay-flash small{margin-left:auto;color:#cdb98e;font-variant-numeric:tabular-nums}
.pay-flash em{font-style:normal;font-weight:800;color:#dfbe7e}
.pay-promo-open{display:inline-flex;align-items:center;gap:10px;width:max-content;padding:0;border:0;background:none;color:#9aa397;font-size:13px;font-weight:700;transition:color .15s}
.pay-promo-open b{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;border:1px dashed #3a4530;color:#87947c;font-size:11px}
.pay-promo{display:grid;gap:10px}
.pay-promo-row{display:flex;gap:8px}
.pay-promo-row input{flex:1;min-width:0;height:44px;padding:0 14px;border:1px solid #30362b;border-radius:10px;background:#0c0f0b;color:#e9eaed;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.pay-promo-row input::placeholder{color:#5c6a51;text-transform:none;letter-spacing:0;font-weight:600}
.pay-promo-row input:focus{border-color:var(--lime);outline:none}
.pay-promo-row button{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 16px;border:1px solid #30362b;border-radius:10px;background:#11140f;color:var(--lime);font-size:12px;font-weight:800}
.pay-promo-row button .ui-icon{width:14px;height:14px}
.pay-promo-message{min-height:15px;margin:0;color:#ff9a8b;font-size:11px}
.pay-promo-message[data-ok=true]{color:var(--lime)}

/* Receipt: off-white paper would shout on this site, so it is a warm graphite slip with a zigzag tear and
   dotted leaders between each line and its value. */
.pay-receipt{display:grid;gap:14px;align-content:start}
.pay-receipt-paper{position:relative;padding:18px 18px 26px;background:#171c16;border:1px solid #2b3127;border-bottom:0;border-radius:14px 14px 0 0;-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/14px 100%;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/14px 100%}
.pay-receipt-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px dashed #343b2f}
.pay-receipt-head>span:first-child{color:#e9eaed;font-size:13px;font-weight:800}
.pay-receipt-method{display:flex;align-items:center;gap:7px;min-width:0;overflow:hidden;color:#9aa397;font-size:11px;white-space:nowrap;text-overflow:ellipsis}
.pay-receipt-method b{padding:3px 6px;border-radius:5px;background:color-mix(in srgb,var(--tone,#c6e88f) 14%,transparent);color:var(--tone,#c6e88f);font-size:10px;font-weight:800}
.pay-receipt dl{display:grid;gap:9px;margin:14px 0 0}
.pay-receipt dl>div{display:flex;align-items:baseline;gap:6px;font-size:12px}
.pay-receipt dl>div:after{content:'';order:1;flex:1;min-width:12px;border-bottom:1px dotted #3a4232;transform:translateY(-3px)}
.pay-receipt dt{color:#9aa397}
.pay-receipt dd{order:2;margin:0;color:#dfe5d8;font-weight:700;font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;gap:4px}
.pay-receipt .pay-muted{color:#6f7d64;font-weight:600}
.pay-bonus.is-on dt,.pay-bonus.is-on dd{color:var(--lime)}
.pay-total{display:grid;gap:4px;margin-top:16px;padding-top:14px;border-top:1px dashed #343b2f}
.pay-total>span{color:#9aa397;font-size:11px;font-weight:700}
.pay-total strong{display:flex;align-items:center;gap:8px;color:var(--lime);font-size:38px;font-weight:800;letter-spacing:-.04em;line-height:1.05;font-variant-numeric:tabular-nums}
.pay-total strong .currency-icon,.pay-total strong svg{width:24px;height:24px}
.pay-after{margin:8px 0 0;color:#87947c;font-size:11px;line-height:1.5}
.pay-after b{color:#dfe5d8}
.pay-actions{display:grid;gap:8px}
.pay-free{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;border-radius:10px;font-size:13px;font-weight:800}
.pay-free .ui-icon{width:17px;height:17px}
.pay-submit{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:1px solid #2b3127;border-radius:10px;background:#11140f;color:#87947c;font-size:12px;font-weight:800}
.pay-submit .ui-icon{width:14px;height:14px}
.pay-submit small{padding:2px 6px;border-radius:5px;background:#dfbe7e1f;color:#dfbe7e;font-size:9px;font-weight:800}
.pay-actions p{margin:0;color:#6f7d64;font-size:10px;line-height:1.5;text-align:center}

.pay-footer{display:flex;justify-content:space-between;align-items:center;gap:16px 24px;flex-wrap:wrap;padding:16px 34px 20px;border-top:1px solid #232720;background:#0d100c}
.pay-footer p{display:flex;align-items:center;gap:8px;margin:0;max-width:440px;color:#7c8a72;font-size:11px;line-height:1.5}
.pay-footer p .ui-icon{width:15px;height:15px;flex:none;color:#87947c}
.pay-footer nav{display:flex;flex-wrap:wrap;gap:6px 16px}
.pay-footer nav :is(a,button){padding:0;border:0;background:none;color:#a2b18e;font-size:11px;font-weight:700;text-decoration:none;transition:color .15s}

@media(hover:hover) and (pointer:fine){
 .pay-close:hover{border-color:#4a5640;color:var(--lime)}
 .pay-tabs button:not([aria-selected=true]):hover{color:#d6ddca}
 .pay-method:not([data-selected=true]):hover{border-color:#3a4230;background:#151a13}
 .pay-presets button:not([aria-pressed=true]):hover{border-color:#4a5640;color:#e9eaed}
 .pay-promo-open:hover{color:var(--lime)}
 .pay-flash:hover{border-color:#dfbe7e99}
 .pay-footer nav :is(a,button):hover{color:var(--lime)}
}
@media(max-width:760px){
 .pay-dialog{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;margin:0;border:0;border-radius:0}
 .pay-header{padding:22px 16px 16px}
 .pay-layout{grid-template-columns:1fr;gap:24px;padding:20px 16px 22px}
 .pay-methods{grid-template-columns:1fr}
 .pay-methods.pay-methods-crypto{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pay-skin-steps{grid-template-columns:1fr}
 .pay-footer{padding:16px}
}
@media(max-width:360px){.pay-tabs button span{font-size:11px}.pay-tabs .ui-icon{display:none}}
@media(prefers-reduced-motion:reduce){.pay-dialog,.pay-method,.pay-skeleton i{animation:none}.pay-tab-glider{transition:none}}
.payment-result{max-width:820px;margin:50px auto;padding:36px 30px;background:linear-gradient(140deg,#182211,#0d120e);border:1px solid #3d4e2c;border-radius:18px;text-align:center}.payment-result h1{font-size:clamp(27px,5vw,42px);letter-spacing:-1px;margin:18px 0}.payment-result>p{max-width:62ch;margin:16px auto;color:#aab69c;line-height:1.8}.payment-result-mark{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;border:1px solid #5b733b;background:#28351e;color:#c5e78f;margin:24px auto}.payment-result-mark .ui-icon{width:32px;height:32px}.payment-result-mark.is-paid{background:#bde778;color:#192312}.payment-result-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:25px 0}.payment-result-actions .launch-btn,.payment-result-actions .outline-btn{width:auto;min-height:44px;padding:12px 18px;display:inline-flex;align-items:center;gap:8px;font-size:12px}.payment-order-summary{display:flex;flex-direction:column;gap:10px;border:1px solid #354d28;border-radius:10px;padding:20px;margin:25px 0;background:#1d2b16}.payment-order-summary strong{font-size:24px}.payment-order-summary small{overflow-wrap:anywhere;font-size:10px;color:#9cae89}.payment-order-summary span{font-size:11px;color:#b2ca96}.payment-history{border-top:1px solid #35452b;margin-top:35px;padding-top:25px;text-align:left}.payment-history h2{font-size:20px}.payment-history ul{list-style:none;padding:0}.payment-history li{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #2c3b22;padding:17px 0;font-size:11px}.payment-history small{display:block;font-size:9px;color:#91a57e;overflow-wrap:anywhere}.payment-history p{font-size:12px;color:#9caf88}@media(max-width:600px){.payment-result{margin:22px 0;padding:25px 18px}.payment-result-actions{flex-direction:column}.payment-result-actions>*{justify-content:center;width:100%!important}.payment-history li{align-items:start}.payment-history li>span{max-width:110px;text-align:right}}

body[data-view="payment-result"] .activity-strip{display:none}

.pay-actions [hidden],.pay-promo-open[hidden]{display:none!important}

.pay-step[hidden]{display:none!important}

.pay-submit:not(:disabled){background:var(--lime,#bde778);color:#14220b;border-color:#bde778;cursor:pointer;opacity:1}.pay-submit:not(:disabled):hover{filter:brightness(1.05)}

/* Timed deposit promo: the cases hero widget and the "hot code" strip in the deposit sheet. Colour follows the bonus size. */
[data-flash-promo]{--fp:#bee779;--fp-ink:#141c0e;--fp-left:1}
[data-flash-promo][data-level=warm]{--fp:#f5c04e;--fp-ink:#231904}
[data-flash-promo][data-level=hot]{--fp:#ff6a45;--fp-ink:#2a0d05}
.flash-bar{position:absolute;left:0;right:0;bottom:0;height:2px;background:#ffffff0d;pointer-events:none}
.flash-bar i{display:block;height:100%;width:100%;transform-origin:left;scale:var(--fp-left) 1;background:linear-gradient(90deg,color-mix(in srgb,var(--fp) 40%,transparent),var(--fp));box-shadow:0 0 10px var(--fp);transition:scale 1s linear}

.cc-flash{position:relative;isolation:isolate;display:inline-flex;align-items:stretch;max-width:100%;margin-top:24px;overflow:hidden;border:1px solid color-mix(in srgb,var(--fp) 30%,#262b22);border-radius:16px;background:radial-gradient(ellipse 70% 120% at 0% 50%,color-mix(in srgb,var(--fp) 16%,transparent),transparent 70%),linear-gradient(180deg,#141812f2,#0c0f0bf2);box-shadow:0 18px 40px -22px #000,0 0 0 1px #ffffff05 inset;backdrop-filter:blur(6px);animation:fp-in .6s .15s cubic-bezier(.2,.8,.2,1) both,fp-float 7s .8s ease-in-out infinite;transition:border-color .3s,box-shadow .35s,translate .35s cubic-bezier(.2,.8,.2,1)}
.cc-flash:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 30%,color-mix(in srgb,var(--fp) 14%,transparent) 50%,transparent 70%) no-repeat;background-size:60% 100%;animation:fp-sweep 6s 1.2s ease-in-out infinite;pointer-events:none}
.cc-flash>span:not(.flash-bar),.cc-flash>button{position:relative;display:flex;align-items:center;gap:12px;padding:12px 18px}
.cc-flash>span+span:not(.flash-bar):before{content:'';position:absolute;left:0;top:14px;bottom:14px;width:1px;background:#ffffff14}

.cc-flash-ico{position:relative;display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:12px;background:linear-gradient(145deg,var(--fp),color-mix(in srgb,var(--fp) 55%,#000));color:var(--fp-ink);box-shadow:0 8px 20px -8px var(--fp),0 0 0 1px #ffffff2e inset;rotate:-8deg;transition:rotate .45s cubic-bezier(.2,1.6,.4,1),scale .45s cubic-bezier(.2,1.6,.4,1)}
.cc-flash-ico .ui-icon{width:24px;height:24px}
.cc-flash-ico{animation:fp-bob 4.6s ease-in-out infinite}
.cc-flash>.cc-flash-code{animation:fp-breathe 4s ease-in-out infinite}
.dp-flash{animation:fp-breathe-soft 4s ease-in-out infinite}
.cc-flash-ico:after{content:'';position:absolute;inset:-4px;border-radius:15px;border:1px solid var(--fp);opacity:0;animation:fp-ping 2.4s ease-out infinite}
.cc-flash-bonus strong{display:block;color:var(--fp);font-size:24px;font-weight:800;line-height:1;letter-spacing:-.03em;text-shadow:0 0 18px color-mix(in srgb,var(--fp) 45%,transparent)}
.cc-flash-bonus small{display:block;margin-top:3px;color:#aab4a2;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}

.cc-flash>span.cc-flash-time{display:grid;grid-template-columns:auto auto;align-content:center;align-items:center;column-gap:10px;row-gap:6px}
.cc-flash-time small{grid-column:1/-1;color:#8b9682;font-size:9px;font-weight:800;line-height:1;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.cc-flash-clock{display:flex;padding:6px 10px;border:1px solid color-mix(in srgb,var(--fp) 38%,transparent);border-radius:10px;background:#07090699;color:#f1f5ea;font-size:22px;font-weight:800;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;box-shadow:0 0 18px -6px color-mix(in srgb,var(--fp) 55%,transparent),0 0 0 1px #ffffff06 inset;transition:color .3s,border-color .3s}
.cc-flash-clock span,.dp-flash-clock span{display:inline-block;min-width:.62em;text-align:center}
.cc-flash-clock .is-sep,.dp-flash-clock .is-sep{min-width:0;padding:0 1px;color:color-mix(in srgb,var(--fp) 70%,#fff);animation:fp-blink 1s steps(1) infinite}
.cc-flash-clock .is-tick,.dp-flash-clock .is-tick{animation:fp-tick .42s cubic-bezier(.2,.9,.3,1.2)}
.cc-flash-watch{display:grid;color:var(--fp);transform-origin:50% 55%;animation:fp-watch 1s ease-in-out infinite}
.cc-flash-watch .ui-icon{width:22px;height:22px;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--fp) 60%,transparent))}

.cc-flash>.cc-flash-code{display:grid;grid-template-columns:auto auto;align-content:center;column-gap:10px;row-gap:3px;margin:8px 8px 8px 4px;padding:9px 14px 9px 16px;overflow:hidden;border:0;border-radius:11px;background:linear-gradient(135deg,color-mix(in srgb,var(--fp) 92%,#fff),var(--fp) 45%,color-mix(in srgb,var(--fp) 70%,#000));color:var(--fp-ink);text-align:left;box-shadow:0 10px 24px -10px var(--fp),0 0 0 1px #ffffff40 inset;cursor:pointer;transition:translate .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,filter .3s}
.cc-flash-code:after{content:'';position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,#ffffffa6,transparent);transform:skewX(-18deg);animation:fp-shine 3.4s 1.5s ease-in-out infinite;pointer-events:none}
.cc-flash-code small,.cc-flash-code strong{white-space:nowrap}
.cc-flash-code small{grid-column:1;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.cc-flash-code strong{grid-column:1;font-size:18px;font-weight:900;line-height:1;letter-spacing:.06em}
.cc-flash-go{grid-column:2;grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#00000024;transition:background .25s,rotate .35s cubic-bezier(.2,1.6,.4,1)}
.cc-flash-go .ui-icon{width:16px;height:16px}
.cc-flash-code:focus-visible{outline:2px solid #fff;outline-offset:2px}

.cc-flash.is-ending .cc-flash-clock,.dp-flash.is-ending .dp-flash-clock{color:#ff8a6a;border-color:#ff6a4599;animation:fp-alarm 1s ease-in-out infinite}
.cc-flash.is-swap{animation:fp-swap .8s cubic-bezier(.2,.8,.2,1),fp-float 7s .8s ease-in-out infinite}
.cc-flash.is-swap .cc-flash-code strong,.cc-flash.is-swap .cc-flash-bonus strong{animation:fp-glitch .7s steps(2) both}

.dp-flash{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--fp) 35%,#2c3627);border-radius:12px;background:linear-gradient(90deg,color-mix(in srgb,var(--fp) 13%,#0f140e),#0d110c 75%);transition:border-color .25s,box-shadow .3s}
.dp-flash-btn{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:0;background:none;color:inherit;text-align:left;cursor:pointer}
.dp-flash-btn:disabled{cursor:default;opacity:1}
.dp-flash-ico{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:10px;background:linear-gradient(145deg,var(--fp),color-mix(in srgb,var(--fp) 55%,#000));color:var(--fp-ink);box-shadow:0 6px 16px -6px var(--fp)}
.dp-flash-ico .ui-icon{width:19px;height:19px;animation:fp-flame 1.6s ease-in-out infinite;transform-origin:50% 90%}
.dp-flash-copy{display:grid;gap:3px;min-width:0;flex:1}
.dp-flash-copy small{color:#8a9b7c;font-size:10px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dp-flash-copy strong{display:flex;align-items:center;gap:6px;color:#eef5e4;font-size:14px;font-weight:900;letter-spacing:.06em}
.dp-flash-copy em{padding:2px 6px;border-radius:6px;background:color-mix(in srgb,var(--fp) 18%,transparent);color:var(--fp);font-size:11px;font-style:normal;letter-spacing:0}
.dp-flash-clock{display:flex;color:#f1f5ea;font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}
.dp-flash-cta{display:grid;flex:none;padding:7px 11px;border-radius:9px;background:var(--fp);color:var(--fp-ink);font-size:12px;font-weight:800;transition:translate .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background .25s}
.dp-flash-cta>span{grid-area:1/1;display:flex;align-items:center;gap:4px;transition:opacity .2s,translate .25s}
.dp-flash-cta .ui-icon{width:13px;height:13px}
.dp-flash-cta .is-on,.dp-flash.is-applied .dp-flash-cta .is-idle{opacity:0;translate:0 6px}
.dp-flash.is-applied .dp-flash-cta .is-on{opacity:1;translate:0 0}
.dp-flash.is-applied{animation:none;border-color:color-mix(in srgb,var(--fp) 70%,transparent);box-shadow:0 0 22px -8px var(--fp)}
.dp-flash.is-applied .dp-flash-cta{background:color-mix(in srgb,var(--fp) 18%,transparent);color:var(--fp)}
.dp-flash.is-swap{animation:fp-swap .8s cubic-bezier(.2,.8,.2,1)}
.dp>.dp-flash[hidden]{display:none}

@media(hover:hover){
 .cc-flash:hover{border-color:color-mix(in srgb,var(--fp) 60%,transparent);box-shadow:0 22px 46px -22px #000,0 0 30px -12px var(--fp)}
 .cc-flash:hover .cc-flash-ico{rotate:0deg;scale:1.06}
 .cc-flash>.cc-flash-code:hover{animation:none;color:var(--fp-ink);background:linear-gradient(135deg,color-mix(in srgb,var(--fp) 92%,#fff),var(--fp) 45%,color-mix(in srgb,var(--fp) 70%,#000))}
 .cc-flash-code:hover{translate:0 -2px;filter:brightness(1.06) saturate(1.1);box-shadow:0 16px 30px -10px var(--fp),0 0 0 1px #ffffff59 inset}
 .cc-flash-code:hover:after{animation-duration:1.2s;animation-delay:0s}
 .cc-flash-code:hover .cc-flash-go{background:#00000038;rotate:-10deg}
 .dp-flash:has(.dp-flash-btn:not(:disabled):hover){animation:none;border-color:color-mix(in srgb,var(--fp) 65%,transparent);box-shadow:0 0 24px -10px var(--fp)}
 .dp-flash-btn:not(:disabled):hover .dp-flash-cta{translate:0 -2px;box-shadow:0 8px 18px -6px var(--fp)}
}
/* Gentle idle drift: a few pixels and a fraction of a degree, slow enough to read as "alive", not as motion. */
@keyframes fp-float{0%,100%{translate:0 0;rotate:0deg}30%{translate:0 -3px;rotate:-.25deg}65%{translate:0 -1px;rotate:.2deg}}
@keyframes fp-bob{0%,100%{translate:0 0}50%{translate:0 -2px}}
@keyframes fp-breathe{0%,100%{box-shadow:0 10px 24px -10px var(--fp),0 0 0 1px #ffffff40 inset}50%{box-shadow:0 12px 30px -8px var(--fp),0 0 0 1px #ffffff55 inset}}
@keyframes fp-breathe-soft{0%,100%{box-shadow:0 0 0 transparent}50%{box-shadow:0 0 20px -10px var(--fp)}}
@keyframes fp-in{from{opacity:0;translate:0 12px;filter:blur(4px)}}
@keyframes fp-sweep{0%{background-position:-80% 0}45%,100%{background-position:220% 0}}
@keyframes fp-ping{0%{opacity:.7;scale:.9}70%,100%{opacity:0;scale:1.25}}
@keyframes fp-blink{50%{opacity:.25}}
@keyframes fp-tick{0%{translate:0 -45%;opacity:0;filter:blur(2px)}100%{translate:0 0;opacity:1}}
@keyframes fp-watch{0%,100%{rotate:0deg}10%{rotate:-12deg}20%{rotate:8deg}30%{rotate:0deg}}
@keyframes fp-shine{0%{translate:0 0}35%,100%{translate:450% 0}}
@keyframes fp-alarm{50%{box-shadow:0 0 22px -2px #ff6a45aa}}
@keyframes fp-swap{0%{filter:brightness(2.2) saturate(0);scale:.97}40%{filter:brightness(1.4)}100%{filter:none;scale:1}}
@keyframes fp-glitch{0%{opacity:0;translate:-6px 0;text-shadow:3px 0 #ff6a45,-3px 0 #4ee6ff}50%{opacity:1;translate:4px 0}100%{translate:0 0}}
@keyframes fp-flame{0%,100%{scale:1 1}50%{scale:1.08 .94;rotate:-4deg}}
@media(max-width:760px){
 .cc-flash{display:grid;grid-template-columns:auto minmax(0,1fr);width:100%}
 .cc-flash>span:not(.flash-bar),.cc-flash>button{padding:12px 14px}
 .cc-flash>span.cc-flash-time{justify-content:end}
 .cc-flash>.cc-flash-code{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;margin:0 8px 10px}
}
@media(max-width:440px){
 .cc-flash>span:not(.flash-bar){gap:8px;padding:12px 10px}
 .cc-flash-time small{display:none}
 .cc-flash-ico{width:34px;height:34px;border-radius:10px}.cc-flash-ico .ui-icon{width:20px;height:20px}
 .cc-flash-bonus strong{font-size:20px}.cc-flash-bonus small{font-size:9px}
 .cc-flash-clock{padding:5px 7px;font-size:17px}
 .cc-flash-watch .ui-icon{width:18px;height:18px}
 .dp-flash-copy small{display:none}
}
@media(max-width:350px){.cc-flash-watch{display:none}}
@media(prefers-reduced-motion:reduce){
 .cc-flash,.cc-flash:before,.cc-flash-ico,.cc-flash>.cc-flash-code,.dp-flash,.cc-flash-ico:after,.cc-flash-watch,.cc-flash-code:after,[data-flash-promo] .is-sep,[data-flash-promo] .is-tick,.cc-flash.is-ending .cc-flash-clock,.dp-flash.is-ending .dp-flash-clock,.dp-flash-ico .ui-icon,.is-swap,.is-swap strong{animation:none!important}
 .flash-bar i{transition:none}
}

/* Legal pages share the site's typography and surfaces; the text remains readable without JS. */
#legal-view{padding:38px 0 50px;max-width:1180px;margin:auto}#legal-view .page-heading{padding:0 0 24px}#legal-view .page-heading h1{max-width:980px;overflow-wrap:anywhere}#legal-view .page-heading p{font-size:13px;max-width:700px}.legal-nav{display:flex;gap:7px;flex-wrap:wrap;padding:7px;border:1px solid #303928;border-radius:12px;background:#10150e;margin-bottom:22px}.legal-nav a{padding:12px 17px;color:#96a68b;text-decoration:none;font-size:12px;font-weight:700;border-radius:7px}.legal-nav a:hover,.legal-nav a[aria-current=page]{background:#26351b;color:#c9eaa4}.legal-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border:1px solid #405330;border-radius:12px;background:radial-gradient(ellipse at left top,#bce68012,transparent 80%),#12190f;margin-bottom:24px}.legal-summary>div{position:relative;display:grid;gap:8px}.legal-summary>div:first-child{padding-left:18px}.legal-summary>div:last-child{text-align:right}.legal-summary strong{font-size:13px;font-weight:700;color:#d9e9c8}.legal-summary span{font-size:11px;color:#b3c59e}.legal-summary small{font-size:10px;color:#92a182}.legal-status-dot{position:absolute;left:0;top:4px;width:6px;height:6px;border-radius:50%;background:#b9e47f}.legal-reader{display:grid;grid-template-columns:220px minmax(0,1fr);gap:32px;align-items:start}.legal-contents{display:grid;gap:5px;position:sticky;top:108px;max-height:calc(100dvh - 140px);overflow:auto}.legal-contents>strong{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#9aac8b;padding:6px 10px 12px}.legal-contents>a{display:block;color:#97a78b;font-size:11px;text-decoration:none;line-height:1.65;padding:8px 10px;border-left:1px solid #2d3a25;transition:color .18s,border-color .18s}.legal-contents>a:hover{color:#c7e69f;border-color:#bbdf86}.legal-article{border:1px solid #2c3726;border-radius:15px;background:linear-gradient(145deg,#141a11,#0e130d);padding:6px 32px}.legal-article>section{padding:26px 0;border-bottom:1px solid #2b3524;scroll-margin-top:110px}.legal-article>section:last-child{border-bottom:0}.legal-article h2{font-size:19px;letter-spacing:-.4px;line-height:1.45;color:#e1ead7;margin:0 0 18px}.legal-article p,.legal-article li{font-size:13px;line-height:1.95;color:#aebaa4}.legal-article p{margin:13px 0}.legal-article ul{padding-left:20px;margin:15px 0}.legal-article li{padding-left:5px;margin:10px 0}.legal-article li::marker{color:#bddf91}.legal-table-wrap{overflow-x:auto;border:1px solid #34402b;border-radius:10px;margin:20px 0}.legal-table-wrap table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11px;line-height:1.8}.legal-table-wrap th,.legal-table-wrap td{text-align:left;vertical-align:top;padding:14px;border-bottom:1px solid #2c3725;overflow-wrap:anywhere}.legal-table-wrap thead th{font-size:10px;color:#c2d7ab;background:#202a18}.legal-table-wrap tbody th{width:30%;color:#c1d2ad;font-weight:600}.legal-table-wrap td{color:#a0b18f}.legal-table-wrap tr:last-child>*{border-bottom:0}.legal-edition-note{margin:25px 0 0;color:#819374;font-size:10px;line-height:1.9;max-width:800px}.legal-actions{display:flex;justify-content:flex-end;margin:22px 0}.legal-request-center{margin:28px 0 0 252px;padding:28px 32px;background:#151c10;border:1px solid #3a4c2a;border-radius:14px;scroll-margin-top:110px}.legal-request-center h2{font-size:24px;letter-spacing:-.6px;color:#dfebd1;margin:10px 0}.legal-request-center>p{font-size:12px;color:#9faf90;line-height:1.9;max-width:630px}.legal-request-center>.outline-btn{margin-top:12px}.support-identity{display:flex;align-items:center;gap:9px;border-top:1px solid #344528;padding-top:20px;margin-top:22px;font-size:12px;color:#b6cd9f}.support-identity>.ui-icon{width:18px}.support-identity>button{margin-left:auto;min-width:40px;min-height:40px;padding:9px}.support-small{font-size:10px!important;line-height:1.9;color:#91a47f!important}.support-small a{color:#c2dd9d}.legal-request-center fieldset{border:0;padding:0;margin:20px 0}.legal-request-center legend,.support-message{font-size:11px;color:#c0d3ac}.support-topics{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.support-topics label{position:relative;cursor:pointer}.support-topics input{position:absolute;opacity:0;width:1px;height:1px}.support-topics span{display:block;padding:10px 13px;background:#10160c;border:1px solid #35472a;border-radius:7px;font-size:10px;color:#9eae8e}.support-topics input:checked+span{background:#2a3a1c;color:#d1ecb1;border-color:#647f46}.support-topics input:focus-visible+span{outline:2px solid #c1e796;outline-offset:3px}.support-message{display:grid;gap:10px;margin:22px 0 10px}.support-message textarea,.admin-support-list textarea{font:inherit;font-size:12px;line-height:1.8;min-width:0;box-sizing:border-box;width:100%;resize:vertical;min-height:120px;padding:12px 14px;background:#0c1208;color:#dce7d1;border:1px solid #435a31;border-radius:9px}.support-message textarea:focus-visible,.admin-support-list textarea:focus-visible{outline:2px solid #bfdc94;outline-offset:2px}.support-list-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:28px;padding-top:25px;border-top:1px solid #36482b}.support-list-heading h3{font-size:14px;margin:0;color:#c6deb1}.support-list-heading>span{font-size:10px;color:#8ea07c}.support-request{padding:22px 0;border-bottom:1px solid #344529}.support-request:last-child{border:0}.support-request>div:first-child{display:flex;gap:15px;justify-content:space-between;font-size:12px;color:#d1e1c1}.support-request>small{display:block;font-size:9px;color:#819772;line-height:1.8;overflow-wrap:anywhere;margin-top:9px}.support-request p{font-size:12px;color:#afc09d;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.support-status{font-size:10px;color:#bdd995;flex-shrink:0}.support-reply{padding:14px;border-radius:9px;border:1px solid #3e572b;background:#20301860}.support-reply>strong{font-size:11px;color:#c9e8a5}.support-reply small{font-size:9px;color:#9bb283}.support-waiting{font-size:10px!important;color:#879b77!important}.support-filters{margin-bottom:20px}.admin-support-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-support-list .admin-section-head{align-items:flex-start;margin-bottom:15px}.admin-support-list h3{margin:9px 0;font-size:14px}.admin-support-list small{font-size:9px;color:#839875;overflow-wrap:anywhere}.admin-support-message{padding:15px;border:1px solid #324327;border-radius:9px;background:#0d1509;white-space:pre-wrap;overflow-wrap:anywhere;color:#bdcdb0!important}.support-admin-status{padding:0;border:0;margin:20px 0}.support-admin-status legend{font-size:11px;color:#b6c7a6;margin-bottom:10px}.site-footer{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:40px;padding:34px 0 22px;margin-top:30px;border-top:1px solid #2d3727;color:#899d78;font-size:11px}.site-footer .wordmark{font-size:25px}.site-footer-brand p{max-width:310px;font-size:10px;line-height:1.9;margin:15px 0}.site-footer nav{display:grid;gap:11px;align-content:start}.site-footer nav>strong{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#b1c59e;margin-bottom:4px}.site-footer nav>a,.site-footer nav>button{color:#9bab8b;font:inherit;text-align:left;text-decoration:none;background:transparent;border:0;padding:0;width:fit-content;cursor:pointer;line-height:1.6}.site-footer nav>a:hover,.site-footer nav>button:hover{color:#c5e898}.site-footer-meta{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:20px;border-top:1px solid #2a3523;font-size:9px;color:#718763}.site-footer-meta button{background:none;border:0;color:#9caf8c;font:inherit;cursor:pointer}.storage-notice{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:75;display:flex;align-items:center;gap:25px;width:min(1100px,calc(100vw - 40px));padding:19px 22px;box-sizing:border-box;border:1px solid #4b6238;border-radius:13px;background:#172010f5;box-shadow:0 16px 60px #0009;backdrop-filter:blur(16px)}.storage-notice>div:first-child{display:flex;gap:13px;flex:1}.storage-notice>div:first-child>.ui-icon{width:20px;height:20px;flex-shrink:0;color:#bfdf91;margin-top:2px}.storage-notice strong{font-size:12px;color:#d8e8c6}.storage-notice p{font-size:10px;line-height:1.8;color:#98ae85;margin:8px 0 0}.storage-notice a,.storage-hint a{color:#c7e6a5;text-underline-offset:3px}.storage-actions{display:flex;gap:9px;flex-wrap:wrap}.storage-actions .outline-btn{font-size:10px;min-height:42px;justify-content:center}.storage-notice .storage-actions{flex-shrink:0}.storage-option{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid #34442a}.storage-option strong{display:block;font-size:13px;color:#d2e4be}.storage-option small{display:block;max-width:360px;margin-top:7px;font-size:10px;line-height:1.8;color:#91a47f}.storage-option>span{font-size:9px;color:#a6c287;white-space:nowrap}.storage-option input{width:20px;height:20px;accent-color:#bde780;flex-shrink:0}.storage-option+.storage-actions{margin-top:25px;display:grid;grid-template-columns:1fr 1fr}.storage-hint{font-size:10px;line-height:1.9;color:#8ba077;margin-top:18px}[data-view=legal] .activity-strip,[data-view=legal] .header-right{display:none}
@media(max-width:1000px){.legal-reader{grid-template-columns:1fr;gap:18px}.legal-contents{position:static;display:flex;flex-wrap:wrap;gap:4px;max-height:none;padding:14px;border:1px solid #2e3b25;border-radius:10px}.legal-contents>strong{width:100%;padding:0 4px 8px}.legal-contents>a{padding:5px 8px;border:0;font-size:10px;flex-basis:calc(50% - 4px);box-sizing:border-box}.legal-request-center{margin-left:0}.storage-notice{flex-direction:column;align-items:stretch;gap:16px}.storage-notice .storage-actions{display:grid;grid-template-columns:1fr 1fr}.admin-support-list{grid-template-columns:1fr}.site-footer{gap:24px;grid-template-columns:1fr 1fr}.site-footer-brand{grid-column:1/-1}.site-footer-brand p{max-width:none}}
@media(max-width:600px){#legal-view{padding-top:25px}.legal-nav{gap:3px}.legal-nav a{padding:9px 10px;font-size:10px}.legal-summary{align-items:flex-start;flex-direction:column;padding:17px;gap:16px}.legal-summary>div:last-child{text-align:left;padding-left:18px}.legal-summary strong{font-size:12px}.legal-summary small{font-size:9px;line-height:1.7}.legal-article{padding:0 18px}.legal-article>section{padding:23px 0}.legal-article h2{font-size:17px}.legal-article p,.legal-article li{font-size:12px;line-height:1.95}.legal-table-wrap table,.legal-table-wrap tbody,.legal-table-wrap tr{display:block;table-layout:auto}.legal-table-wrap thead{display:none}.legal-table-wrap tr{padding:12px;border-bottom:1px solid #34452a}.legal-table-wrap tr:last-child{border:0}.legal-table-wrap tbody th,.legal-table-wrap td{display:block;width:auto;border:0;padding:0;margin:0 0 8px;font-size:11px}.legal-table-wrap tbody th{font-size:12px;color:#d0e4bb}.legal-request-center{padding:23px 18px}.legal-request-center h2{font-size:22px}.legal-contents>a{flex-basis:100%;font-size:10px}.legal-contents{padding:12px}.legal-edition-note{font-size:9px}.site-footer{gap:24px 16px;padding-top:25px}.site-footer nav>a,.site-footer nav>button{font-size:10px}.site-footer-meta{align-items:flex-start;flex-direction:column;font-size:9px}.storage-notice{bottom:10px;width:calc(100vw - 20px);padding:15px;gap:12px}.storage-notice strong{font-size:11px}.storage-notice p{font-size:9px}.storage-notice>div:first-child{gap:9px}.storage-notice>div:first-child>.ui-icon{width:17px}.storage-actions .outline-btn{font-size:9px;padding:10px 9px;min-height:42px}.storage-option{gap:12px}.storage-option>span{white-space:normal;max-width:75px;text-align:right;line-height:1.8}.support-list-heading{align-items:flex-start;gap:10px}.support-request>div:first-child{flex-wrap:wrap}.support-request>small{font-size:8px}.admin-support-list .admin-section-head{flex-wrap:wrap}.site-footer [data-action=help]{text-align:left}}
@media(prefers-reduced-motion:reduce){.legal-contents>a{transition:none}.legal-article>section{scroll-behavior:auto}}
@media print{body[data-view=legal]{background:white!important;color:black!important}body[data-view=legal] .header,body[data-view=legal] .site-footer,body[data-view=legal] .legal-nav,body[data-view=legal] .legal-contents,body[data-view=legal] .storage-notice,body[data-view=legal] .legal-request-center,body[data-view=legal] .legal-actions{display:none!important}#legal-view{padding:0;max-width:none}.legal-reader{display:block}.legal-article{border:0;background:white;padding:0}.legal-article h2,.legal-article p,.legal-article li,.legal-table-wrap td,.legal-table-wrap th{color:black!important}.legal-summary{background:white;border-color:#aaa}.legal-article section{break-inside:avoid}}

#legal-view .legal-reader{display:block;max-width:880px;margin:auto}#legal-view .legal-contents{position:static;max-height:none;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:17px 20px;border:1px solid #2d3b24;border-radius:11px;margin-bottom:22px}#legal-view .legal-contents>strong{grid-column:1/-1;padding:0 8px 10px}#legal-view .legal-contents>a{border:0;padding:7px 8px}#legal-view .legal-request-center{max-width:880px;margin:28px auto 0;box-sizing:border-box}@media(max-width:600px){#legal-view .legal-contents{grid-template-columns:1fr;padding:14px}.legal-contents>a{font-size:10px}}
.legal-summary[data-stage=draft]{border-color:#bd9a4a55;background:linear-gradient(100deg,#b79b4314,#171b11)}
.legal-summary[data-stage=draft] strong{color:#e0cb93}.legal-summary[data-stage=draft] .legal-status-dot{background:#d8b969;box-shadow:0 0 14px #c5a64a44}
.legal-related{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;max-width:880px;margin:24px auto 0}
.legal-related a{display:flex;align-items:center;min-height:48px;padding:12px 14px;border:1px solid #34452a;border-radius:10px;background:#152010;color:#b6cea0;font-size:10px;line-height:1.7;text-decoration:none;transition:background .2s,border-color .2s}
.legal-related a:hover{background:#203018;border-color:#759651}.legal-related a:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
@media(max-width:760px){.legal-related{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:360px){.legal-related{grid-template-columns:1fr}}
@media print{.legal-related{display:none}}
.merchant-readiness{max-width:880px;margin:24px auto;padding:24px;box-sizing:border-box;border:1px solid var(--line);border-radius:14px;background:var(--surface);scroll-margin-top:110px}
.merchant-readiness h2{font-size:20px;letter-spacing:-.5px;margin:10px 0;color:var(--text)}
.merchant-readiness>p,.merchant-readiness li p{font-size:12px;line-height:1.8;color:var(--muted);margin:8px 0 0}
.merchant-readiness ul{list-style:none;padding:0;margin:20px 0}
.merchant-readiness li{display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:start;gap:20px;padding:16px 0;border-top:1px solid var(--line)}
.merchant-readiness li strong{font-size:12px;color:var(--text)}
.merchant-readiness li>span{font-size:10px;text-align:right;line-height:1.7;color:var(--muted)}
.merchant-readiness li>span[data-ready=true]{color:var(--lime)}
.merchant-readiness nav{display:flex;flex-wrap:wrap;gap:12px 20px}
.merchant-readiness a{font-size:11px;color:var(--lime);text-underline-offset:4px;line-height:1.8}
.merchant-readiness a:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
#admin-content .merchant-readiness{max-width:none;scroll-margin-top:154px}
@media(max-width:600px){.merchant-readiness{padding:18px}.merchant-readiness li{grid-template-columns:1fr;gap:7px}.merchant-readiness li>span{text-align:left}.merchant-readiness nav{gap:12px}}

/* Motion references: 21st Animated Border (kevingirelli) and Number Ticker
   (danielpetho), shared visual treatment for the React giveaway components. */
.gw-heading{gap:24px}.gw-heading p{max-width:none}.gw-heading>.outline-btn{flex-shrink:0}.gw-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:0 0 24px;color:var(--muted);font-size:11px}.gw-summary>span{display:flex;align-items:center;gap:8px}.gw-summary b{color:var(--text);font-weight:600}.gw-summary i{width:3px;height:3px;background:var(--muted);border-radius:50%;margin:0 5px}.gw-summary .ui-icon{width:15px;height:15px;color:var(--lime)}
.gw-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gw-card{position:relative;isolation:isolate;overflow:hidden;border-radius:19px;background:#2b302a;padding:1px;min-width:0;}.gw-card.is-fresh{animation:gw-arrive .65s var(--motion-soft) both;animation-delay:var(--gw-delay)}.gw-card-inner{position:relative;z-index:1;background:linear-gradient(155deg,#191d18,#101310 65%);border-radius:18px;overflow:hidden;height:100%}.gw-border-light{position:absolute;z-index:0;top:50%;left:50%;margin:-100%;width:200%;aspect-ratio:1;background:conic-gradient(from 0deg,transparent 0 65%,var(--lime) 82%,transparent 96%);animation:gw-border 7s linear infinite;animation-play-state:paused;opacity:0;transition:opacity .5s}.gw-card.is-entered.in-view .gw-border-light{opacity:.7;animation-play-state:running}.gw-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:21px 20px 0;position:relative;z-index:2}.gw-card-top>span:first-child{display:flex;gap:7px;align-items:center;font-size:11px;font-weight:700;color:#cfd7c6}.gw-card-top .ui-icon{width:15px;height:15px}.gw-state{font-size:9px;display:flex;align-items:center;gap:4px;color:#919b86;white-space:nowrap}.gw-state.is-active{color:var(--lime)}.gw-state .ui-icon{width:11px;height:11px}.gw-art{height:218px;position:relative;display:grid;place-items:center;isolation:isolate}.gw-art:after{content:"";position:absolute;left:13%;right:13%;bottom:19px;height:1px;background:linear-gradient(90deg,transparent,var(--gw-rarity),transparent);opacity:.45}.gw-aura{position:absolute;inset:18% 4% 0;background:radial-gradient(ellipse,color-mix(in srgb,var(--gw-rarity) 17%,transparent),transparent 67%);filter:blur(7px)}.gw-edition{position:absolute;left:20px;top:20px;font-size:100px;font-weight:800;letter-spacing:-.06em;line-height:1;color:#ffffff04;user-select:none}.gw-art>img{width:90%;height:190px;object-fit:contain;z-index:1;filter:drop-shadow(0 19px 16px #0008);transform:rotate(-7deg) translateY(0);transition:transform .65s var(--motion-soft),filter .65s}.gw-wear{position:absolute;bottom:29px;right:24px;font-size:9px;letter-spacing:1px;color:#98a08f}.gw-prize{padding:0 23px 22px;min-height:103px}.gw-prize>span{font-size:11px;color:#8f9988}.gw-prize h2{font-size:21px;letter-spacing:-.035em;line-height:1.15;margin:6px 0 10px;overflow-wrap:anywhere;font-weight:800}.gw-prize>strong{font-size:19px;color:var(--lime);display:flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums}.gw-prize>strong .ui-icon{width:13px;height:13px}.gw-countdown{display:flex;justify-content:space-between;gap:8px;margin:0 22px;padding:17px 0;border-top:1px solid #ffffff09;border-bottom:1px solid #ffffff09}.gw-countdown>div>small{display:block;font-size:9px;color:#8d9784;margin-bottom:6px}.gw-countdown>div>strong{font-size:25px;letter-spacing:.015em;font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.gw-countdown>span{display:grid;grid-template-columns:14px auto;gap:2px 5px;align-content:center;text-align:right}.gw-countdown>span>.ui-icon{width:13px;height:13px;color:#a3ad96;align-self:center}.gw-countdown b{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.gw-countdown>span>small{grid-column:1/-1;font-size:9px;color:#8d9784}.gw-entry{padding:22px 22px 13px}.gw-entry-label{display:flex;justify-content:space-between;gap:8px;font-size:9px;margin-bottom:10px;color:#9aa58f;min-height:14px;flex-wrap:wrap}.gw-entry-label>b{font-weight:600;color:#c3ccb8;font-variant-numeric:tabular-nums}.gw-entry-label .ui-icon{width:9px;height:9px}.gw-progress{height:4px;border-radius:5px;overflow:hidden;background:#ffffff0b;margin-bottom:18px}.gw-progress>i{display:block;height:100%;width:var(--gw-progress);background:var(--lime);box-shadow:0 0 12px #b9dd7c66;transition:width .65s var(--motion-soft)}.gw-enter{display:flex;justify-content:center;align-items:center;gap:8px;width:100%;height:45px;border:1px solid #414b34;border-radius:9px;background:#b9dd7c;color:#11170c;font-size:11px;font-weight:800;transition:background .25s,box-shadow .25s,transform .25s}.gw-enter>.ui-icon{width:15px;height:15px}.gw-enter:not(:disabled):hover{background:#c9eb94;box-shadow:0 7px 25px #b9dd7c20}.gw-enter.is-entered{opacity:1;background:#b9dd7c0c;color:var(--lime);border-color:#b9dd7c2a}.gw-enter:disabled:not(.is-entered){background:#252b20;color:#88937e}.gw-entry>p{text-align:center;font-size:9px;line-height:1.6;color:#839076;margin:10px 0 0}.gw-history-link{width:100%;display:flex;justify-content:center;align-items:center;gap:8px;background:#ffffff02;border:0;border-top:1px solid #ffffff07;padding:15px;font-size:10px;color:#a3af96}.gw-history-link:hover{background:#b9dd7c06;color:var(--lime)}.gw-history-link .ui-icon{width:12px;height:12px}.gw-page-note{font-size:10px;color:#86917c;text-align:center;margin:20px 0 0}.gw-prize-wait{display:grid;gap:13px;justify-items:center;color:#87947a;font-size:11px;text-align:center;padding:20px}.gw-prize-wait>.ui-icon{width:48px;height:48px;opacity:.6}.gw-skeleton{padding:80px 20px;background:#131711;border:1px solid #252e20;border-radius:17px;color:#9eab90;grid-column:1/-1;text-align:center}.gw-error{display:flex;align-items:center;justify-content:space-between;padding:15px;border:1px solid #713b37;border-radius:10px;margin-bottom:16px;font-size:12px;gap:12px}.gw-error[hidden],.gw-pending[hidden]{display:none}
.gw-history-section{margin-top:48px}.gw-section-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;padding-bottom:19px}.gw-section-heading h2{font-size:25px;letter-spacing:-.04em;margin:7px 0 0}.gw-section-heading>span{font-size:10px;color:#8a957f;display:flex;gap:6px;align-items:center}.gw-section-heading .ui-icon{width:13px;height:13px}.gw-winners{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gw-winner{display:flex;align-items:center;gap:13px;padding:15px 17px;border:1px solid #2b3326;border-radius:12px;background:#11150f;min-width:0}.gw-winner.is-you{border-color:#b9dd7c66;background:#b9dd7c08}.gw-winner>img{width:63px;height:46px;object-fit:contain}.gw-winner>div:not(.gw-winner-value){flex:1;min-width:0;display:grid;gap:4px}.gw-winner strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gw-winner span,.gw-winner small{font-size:9px;line-height:1.5;color:#8d9a7f}.gw-winner small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gw-winner-value{display:grid;gap:7px;text-align:right;flex-shrink:0}.gw-winner-value>b{font-size:11px;color:#c2d0b2}.gw-winner-value .ui-icon{width:10px;height:10px}.gw-history-empty{grid-column:1/-1;border:1px dashed #333d2b;padding:30px;display:flex;gap:17px;align-items:center;border-radius:13px}.gw-history-empty>.ui-icon{color:#768b5d;width:30px;height:30px}.gw-history-empty strong{font-size:13px;font-weight:600;color:#c0ccb3}.gw-history-empty p{font-size:11px;color:#8f9d80;margin:6px 0 0}.gw-winners-modal{display:grid;gap:9px;margin-top:23px}.gw-pending>article{display:flex;gap:14px;padding:20px;background:#b9dd7c0b;border:1px solid #b9dd7c55;border-radius:12px;margin-bottom:20px;align-items:center}.gw-pending>article>.ui-icon{width:26px;height:26px;color:var(--lime)}.gw-pending>article>div{flex:1;display:grid;gap:5px}.gw-pending strong{font-size:13px}.gw-pending span,.gw-pending small{font-size:10px;color:#a3b18f}.gw-rules{display:grid;gap:24px;margin-top:27px}.gw-rules>article{display:flex;gap:15px}.gw-rules>article>b{font-size:11px;color:var(--lime);padding-top:5px}.gw-rules h3{font-size:15px;margin:0 0 6px}.gw-rules p,.gw-rules-note{font-size:11px;line-height:1.9;color:#99a88a;margin:0}.gw-rules-note{border-top:1px solid #333c2b;padding-top:20px;margin-top:24px;font-size:10px}
.gw-win{text-align:center;position:relative;isolation:isolate;overflow:hidden;padding:10px 0}.gw-win-art{height:220px;display:grid;place-items:center}.gw-win-art>img{width:90%;height:205px;object-fit:contain;filter:drop-shadow(0 0 32px #b9dd7c44);animation:gw-prize-reveal 1s var(--motion-soft) both}.gw-win h3{font-size:24px;letter-spacing:-.03em;margin:7px 0 12px}.gw-win>small{color:#9ba88c;font-size:11px}.gw-win>strong{color:var(--lime);font-size:22px}.gw-win>p{font-size:11px;color:#9ba88c}.gw-win .launch-btn{width:100%;margin-top:24px}.gw-win>.text-btn{margin-top:14px}.gw-win-rays{position:absolute;inset:15% -50%;background:repeating-conic-gradient(from 0deg,transparent 0 18deg,#b9dd7c09 18deg 20deg);z-index:-1;animation:gw-win-ray 1.4s ease-out both;pointer-events:none}.gw-win-sparks{position:absolute;inset:45% 50%;pointer-events:none}.gw-win-sparks>i{position:absolute;width:4px;height:9px;background:var(--lime);transform:rotate(calc(var(--n)*22.5deg));animation:gw-spark 1s cubic-bezier(.12,.75,.25,1) both;animation-delay:.15s}
.admin-gw-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.admin-gw-form{display:grid;gap:16px;align-content:start}.admin-gw-form h3{font-size:21px;letter-spacing:-.03em;margin:0}.admin-gw-form>.eyebrow{color:var(--lime)}.admin-gw-form>label{display:grid;gap:7px;font-size:11px;color:#b2bfa4}.admin-gw-form input:not([type=checkbox]),.admin-gw-form select{width:100%;min-width:0;background:#10150c;border:1px solid #3a482e;border-radius:7px;padding:10px;color:#d8e6c6;font:inherit}.admin-gw-form small{font-size:10px;line-height:1.7;color:#94a485}.admin-gw-form .admin-gw-enabled{display:flex;align-items:center;gap:8px}.admin-gw-enabled input{accent-color:var(--lime)}.admin-gw-rounds{margin-top:22px}.admin-gw-rounds small{display:block;margin-top:5px}
@media(hover:hover){.gw-card:hover .gw-art>img{transform:rotate(-3deg) translateY(-6px) scale(1.055);filter:drop-shadow(0 23px 18px #0008)}.gw-card:hover{background:#5d7148}.gw-card.is-unlocked .gw-art>img{animation:gw-prize-reveal .85s var(--motion-soft)}}
@keyframes gw-border{to{transform:rotate(360deg)}}@keyframes gw-arrive{from{opacity:0;transform:translateY(17px)}to{opacity:1;transform:translateY(0)}}@keyframes gw-prize-reveal{0%{opacity:.3;transform:scale(.83) rotate(-9deg)}55%{opacity:1;transform:scale(1.06) rotate(-2deg)}100%{transform:scale(1) rotate(0)}}@keyframes gw-spark{0%{opacity:0;translate:0 0}15%{opacity:1}100%{opacity:0;translate:calc(cos(var(--n)*22.5deg)*190px) calc(sin(var(--n)*22.5deg)*190px);rotate:150deg}}@keyframes gw-win-ray{0%{opacity:0;transform:scale(.6) rotate(-10deg)}40%{opacity:1}100%{opacity:0;transform:scale(1.15) rotate(5deg)}}
@media(max-width:1100px){.gw-cards{gap:12px}.gw-card-top{padding:19px 16px 0;flex-wrap:wrap;min-height:55px}.gw-art{height:185px}.gw-art>img{height:160px}.gw-prize{padding:0 17px 18px}.gw-prize h2{font-size:19px}.gw-entry{padding:18px 16px 12px}.gw-countdown{margin:0 16px}.gw-countdown>div>strong{font-size:22px}.gw-enter{font-size:10px}.admin-gw-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.gw-cards{grid-template-columns:1fr;gap:20px}.gw-card-top{min-height:0;padding:20px 22px 0;flex-wrap:nowrap}.gw-art{height:220px}.gw-art>img{height:205px;width:85%}.gw-prize{padding:0 23px 22px}.gw-prize h2{font-size:25px}.gw-entry{padding:23px 22px 13px}.gw-countdown{margin:0 22px}.gw-countdown>div>strong{font-size:28px}.gw-card-top>span:first-child{font-size:13px}.gw-state{font-size:10px}.gw-enter{height:47px;font-size:12px}.gw-summary{font-size:10px;gap:12px}.gw-summary>span:first-child{flex-wrap:wrap}.gw-summary i{display:none}.gw-winners{grid-template-columns:1fr}.gw-section-heading{align-items:start;flex-direction:column;gap:10px}.gw-heading{align-items:start;gap:14px;flex-direction:column}.gw-heading>.outline-btn{font-size:10px}.gw-winner{gap:10px;padding:14px 11px}.gw-winner>img{width:48px}.gw-winner-value>b{font-size:10px}.gw-pending>article{flex-wrap:wrap}.gw-pending>article>div{min-width:170px}.gw-pending button{width:100%;justify-content:center}.admin-gw-grid{grid-template-columns:1fr}.gw-history-section{margin-top:35px}.gw-history-empty{padding:23px 18px}.gw-win-art{height:180px}.gw-win-art>img{height:170px}}
@media(prefers-reduced-motion:reduce){.gw-border-light,.gw-card,.gw-art>img,.gw-win-rays,.gw-win-sparks>i{animation:none!important}.gw-progress>i{transition:none!important}}

body[data-view=giveaways] .activity-strip{display:none}
@media(min-width:761px){.gw-art{height:175px}.gw-art>img{height:160px}.gw-prize{min-height:95px}.gw-heading{padding-top:30px;padding-bottom:22px}.gw-entry{padding-top:18px}.gw-countdown{padding-top:13px;padding-bottom:13px}}
@media(max-width:760px){.gw-entry-label,.gw-entry>p,.gw-countdown>div>small,.gw-countdown>span>small{font-size:10px}}

/* Explicit filled-button foreground overrides the shared lime hover rule. */
#giveaways-view .gw-enter:not(:disabled):is(:hover,:focus-visible,:active){color:#11170c;background:#c9eb94}
#giveaways-view .gw-enter:not(:disabled):is(:hover,:focus-visible,:active) :is(span,svg){color:inherit;fill:currentColor}

/* Decorative rotating light must not make focus restoration scroll the card. */
.gw-card,.gw-card-inner{overflow:clip}

/* Odometer countdown: dark split tiles, each digit rolls down into place when it changes.
   The last five minutes warm up the tiles; zero turns into a "drawing" state with bouncing dots. */
.gw-countdown>div>strong.gw-clock{display:block;font-size:inherit;letter-spacing:0}
.gw-clock-face{display:flex;align-items:flex-start;gap:5px}
.gw-unit{display:grid;justify-items:center;gap:5px}
.gw-unit>small{font-size:8px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#7f8a76}
.gw-unit-digits{display:flex;gap:3px}
.gw-digit{position:relative;display:grid;place-items:center;width:23px;height:34px;overflow:hidden;border-radius:6px;border:1px solid #ffffff0d;background:linear-gradient(180deg,#22281f 0 49%,#1a1f18 51% 100%);box-shadow:inset 0 1px #ffffff0f,0 4px 10px #0005;transition:border-color .4s,box-shadow .4s}
.gw-digit:after{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:#0009;box-shadow:0 1px #ffffff08;pointer-events:none}
.gw-digit>i{font-style:normal;font-size:21px;font-weight:800;line-height:1;color:#eef3e6;font-variant-numeric:tabular-nums;animation:gw-roll .42s var(--motion-soft) both}
.gw-colon{align-self:flex-start;height:34px;display:grid;place-items:center;font-size:17px;font-weight:800;color:#b9dd7c99;animation:gw-colon 1s steps(1) infinite}
.gw-clock.is-soon .gw-digit{border-color:#ff6b5e55;box-shadow:inset 0 1px #ffffff0f,0 0 14px #ff6b5e2e}
.gw-clock.is-soon .gw-digit>i{color:#ffd2cc}
.gw-clock.is-soon .gw-colon{color:#ff8a7e}
.gw-clock.is-drawing{display:flex!important;align-items:center;gap:10px;height:34px;font-size:15px!important;color:var(--lime)}
.gw-drawing-dots{display:flex;gap:4px}
.gw-drawing-dots>i{width:6px;height:6px;border-radius:50%;background:var(--lime);animation:gw-dot 1s ease-in-out infinite}
.gw-drawing-dots>i:nth-child(2){animation-delay:.15s}.gw-drawing-dots>i:nth-child(3){animation-delay:.3s}
@keyframes gw-roll{from{transform:translateY(-105%);opacity:0;filter:blur(2px)}to{transform:none;opacity:1;filter:none}}
@keyframes gw-colon{50%{opacity:.35}}
@keyframes gw-dot{0%,100%{transform:translateY(0);opacity:.5}40%{transform:translateY(-5px);opacity:1}}
@media(max-width:1100px){.gw-digit{width:19px;height:30px}.gw-digit>i{font-size:17px}.gw-colon{height:30px;font-size:14px}.gw-clock-face{gap:3px}.gw-unit-digits{gap:2px}}
@media(max-width:760px){.gw-digit{width:24px;height:36px}.gw-digit>i{font-size:22px}.gw-colon{height:36px}}
@media(max-width:360px){.gw-digit{width:20px;height:31px}.gw-digit>i{font-size:18px}.gw-colon{height:31px}}

/* Card life: live participation dot, idle float of the prize, light sweep over the art,
   shimmer on the progress bar, rarity glow and a lift on hover. */
.gw-card{transition:translate .45s var(--motion-soft),box-shadow .45s,background .35s}
.gw-live{position:relative;width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 8px #b9dd7c99;margin-right:2px}
.gw-live:after{content:'';position:absolute;inset:0;border-radius:50%;border:1px solid var(--lime);animation:gw-ping 1.8s cubic-bezier(.2,.7,.3,1) infinite}
@keyframes gw-ping{to{transform:scale(3.2);opacity:0}}
.gw-state.is-active{padding:4px 8px;border-radius:20px;background:#b9dd7c0f;border:1px solid #b9dd7c26}
.gw-aura{opacity:.75;transition:opacity .5s,transform .7s var(--motion-soft)}
.gw-edition{transition:color .5s,transform .7s var(--motion-soft)}
.gw-sweep{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(105deg,transparent 35%,#ffffff12 48%,#ffffff22 50%,transparent 64%);transform:translateX(-120%)}
.gw-card.in-view .gw-art>img{animation:gw-float 5s ease-in-out infinite;animation-delay:calc(var(--gw-delay) * 6)}
@keyframes gw-float{50%{translate:0 -6px}}
.gw-progress{position:relative}
.gw-progress>i{position:relative;overflow:hidden;border-radius:inherit}
.gw-progress>i:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,#ffffffa0,transparent) 0 0/40% 100% no-repeat;background-position:-60% 0;animation:gw-shimmer 2.6s ease-in-out infinite;animation-play-state:paused}
.gw-card.in-view .gw-progress>i:after{animation-play-state:running}
@keyframes gw-shimmer{60%,100%{background-position:220% 0}}
.gw-enter:not(:disabled){position:relative;overflow:hidden;isolation:isolate}
.gw-enter:not(:disabled):after{content:'';position:absolute;top:-2px;bottom:-2px;left:-60%;width:40%;background:linear-gradient(105deg,transparent,#ffffffa6,transparent);transform:skewX(-18deg);pointer-events:none;animation:gw-btn-sheen 5s 1.5s ease-in-out infinite}
.gw-enter>*{position:relative;z-index:1}
@keyframes gw-btn-sheen{0%,70%{left:-60%}90%,100%{left:130%}}
.gw-enter>.ui-icon:last-child,.gw-history-link .ui-icon{transition:transform .3s var(--motion-soft)}
.gw-enter.is-entered>.ui-icon{animation:gw-check 2.8s ease-in-out infinite}
@keyframes gw-check{0%,80%,100%{transform:scale(1)}88%{transform:scale(1.25)}}
.gw-winner{transition:translate .3s var(--motion-soft),border-color .3s,background .3s}
.gw-winner>img{transition:transform .4s var(--motion-soft)}
@media(hover:hover) and (pointer:fine){
 .gw-card:hover{translate:0 -4px;background:#2b302a;box-shadow:0 28px 60px -28px #000,0 14px 30px -18px #0009}
 .gw-card:hover:before,.gw-card:hover .gw-card-inner:before{opacity:1}
 .gw-card:hover .gw-aura{opacity:1;transform:scale(1.15)}
 .gw-card:hover .gw-edition{color:#ffffff09;transform:translateX(8px)}
 .gw-card:hover .gw-sweep{transform:translateX(120%);transition:transform 1s cubic-bezier(.2,.7,.3,1)}
 .gw-card:hover .gw-digit{border-color:#b9dd7c2e}
 .gw-enter:not(:disabled):hover{transform:translateY(-1px)}
 .gw-enter:not(:disabled):hover>.ui-icon:last-child,.gw-history-link:hover .ui-icon{transform:translateX(4px)}
 .gw-winner:hover{translate:0 -2px;border-color:#b9dd7c40;background:#141a11}
 .gw-winner:hover>img{transform:rotate(-6deg) scale(1.08)}
}
@media(prefers-reduced-motion:reduce){
 .gw-digit>i,.gw-colon,.gw-drawing-dots>i,.gw-live:after,.gw-card.in-view .gw-art>img,.gw-progress>i:after,.gw-enter:not(:disabled):after,.gw-enter.is-entered>.ui-icon{animation:none!important}
 .gw-card,.gw-aura,.gw-edition,.gw-sweep,.gw-winner,.gw-winner>img,.gw-enter>.ui-icon:last-child,.gw-history-link .ui-icon{transition:none!important}
 .gw-card:hover,.gw-winner:hover{translate:none}
 .gw-card:hover .gw-sweep{transform:translateX(-120%)}
}

/* Hover light follows the cursor: a soft lime edge on the border near the pointer and a faint
   spotlight inside the card, instead of a coloured halo under it. Both fade by opacity only. */
.gw-card:before{content:'';position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .45s;background:radial-gradient(220px circle at var(--gw-mx,50%) var(--gw-my,0),#d9f7a8,#b9dd7c55 35%,transparent 70%)}
.gw-card-inner:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity .45s;background:radial-gradient(380px circle at var(--gw-mx,50%) var(--gw-my,0),#ffffff0b,transparent 65%),radial-gradient(600px circle at var(--gw-mx,50%) var(--gw-my,0),color-mix(in srgb,var(--gw-rarity) 7%,transparent),transparent 70%)}
.gw-card-inner{isolation:isolate}
@media(prefers-reduced-motion:reduce){.gw-card:before,.gw-card-inner:before{transition:none}}

/* Header polish: a living accent line, glowing navigation, a sheen on the deposit button
   and a lit avatar ring. Hover effects only on real pointers; reduced motion keeps static states. */
.header{isolation:isolate}
.header:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,#b9dd7c00 12%,#b9dd7c80 50%,#b9dd7c00 88%,transparent) 0 0/200% 100%;opacity:.55;animation:hdr-line 9s linear infinite}
@keyframes hdr-line{to{background-position:-200% 0}}

/* Wordmark: lime part catches a light sweep, the dot breathes. */
.header .wordmark{position:relative;display:inline-flex;align-items:flex-start;transition:transform .3s var(--motion-soft)}
.header .wordmark b{background:linear-gradient(100deg,var(--lime) 38%,#f4ffe0 50%,var(--lime) 62%) 120% 0/250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;transition:background-position .9s var(--motion-soft)}
.header .wordmark sup{display:inline-block;text-shadow:0 0 10px #b9dd7c99;animation:hdr-dot 3.2s ease-in-out infinite}
@keyframes hdr-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.8)}}

.header .nav-link{transition:color .22s}
.header .nav-link:not(.active):after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--lime);opacity:.45;transform:scaleX(0)}

.header .nav-link.active:after{background:linear-gradient(90deg,var(--lime),#effdd7,var(--lime)) 0 0/200% 100%;box-shadow:0 -2px 12px #b9dd7c55,0 0 4px #b9dd7c80;border-radius:2px 2px 0 0}

/* Balance: the currency coin turns once on hover. */
.header .balance{transition:transform .25s var(--motion-soft)}
.header .balance .currency-icon{transition:transform .6s var(--motion-soft),filter .3s}

/* Deposit: periodic light sweep, lift and glow on hover. */
.header .header-deposit-btn{position:relative;overflow:hidden;isolation:isolate;box-shadow:0 0 0 1px #d3f5a355 inset,0 4px 16px #b9dd7c22;transition:transform .25s var(--motion-soft),box-shadow .25s,background .25s}
.header .header-deposit-btn:after{content:'';position:absolute;inset:-2px auto -2px -60%;width:45%;background:linear-gradient(105deg,transparent,#ffffffa6,transparent);transform:skewX(-18deg);pointer-events:none;z-index:1;animation:hdr-sheen 5.5s 2s ease-in-out infinite}
.header .header-deposit-btn>*{position:relative;z-index:2}
@keyframes hdr-sheen{0%,72%{left:-60%}92%,100%{left:130%}}
.header .header-deposit-btn:active{transform:translateY(0) scale(.97)}

/* Avatar: lime halo, the mascot leans in. */
.header .account-trigger img{transition:transform .35s var(--motion-soft),opacity .2s}

@media(hover:hover) and (pointer:fine){
 .header .wordmark:hover{transform:translateY(-1px)}
 .header .wordmark:hover b{background-position:-20% 0}
 .header .nav-link:hover{color:#eef3e6}
 .header .nav-link:not(.active):hover:after{transform:scaleX(.55);transition:transform .3s var(--motion-soft)}
 .header .balance:hover{transform:translateY(-1px)}
 .header .balance:hover .currency-icon{transform:rotateY(360deg);filter:drop-shadow(0 0 6px #b9dd7caa)}
 .header .header-deposit-btn:hover{transform:translateY(-2px);background:#d4f5a6;box-shadow:0 0 0 1px #effdd7 inset,0 8px 26px #b9dd7c55,0 0 40px #b9dd7c22}
 .header .header-deposit-btn:hover svg{animation:hdr-wallet .5s var(--motion-soft)}
 .header .account-trigger:hover{box-shadow:0 0 0 3px #b9dd7c1f,0 0 22px #b9dd7c40}
 .header .account-trigger:hover img{transform:scale(1.08) translateY(-1px)}
}
@keyframes hdr-wallet{30%{transform:rotate(-12deg) scale(1.15)}65%{transform:rotate(6deg)}}
.header .nav-link.active:after{animation:nav-arrive .28s var(--motion-soft),hdr-active 3.5s .3s linear infinite}
@keyframes hdr-active{to{background-position:-200% 0}}
.header .nav-link:focus-visible{outline:2px solid var(--lime);outline-offset:4px;border-radius:4px}

@media(prefers-reduced-motion:reduce){
 .header:after,.header .wordmark sup,.header .header-deposit-btn:after,.header .nav-link.active:after,.header .header-deposit-btn:hover svg{animation:none!important}
 .header .header-deposit-btn:after{display:none}
 .header .wordmark,.header .wordmark b,.header .nav-link,.header .nav-link:after,.header .balance,.header .balance .currency-icon,.header .header-deposit-btn,.header .account-trigger img{transition:none!important}
 .header .wordmark:hover,.header .balance:hover,.header .header-deposit-btn:hover,.header .account-trigger:hover img,.header .balance:hover .currency-icon{transform:none}
}

/* Case arena: the photo backdrop is replaced by a lit void in the case colour — a light beam from above,
   a perspective grid floor drifting toward the viewer and the case name as a huge outlined watermark.
   The crate rests on a rotating pedestal ring; opening charges it while the server confirms, bursts it
   with a shockwave and unfolds the reel from the centre line. Loaded last; reduced motion keeps it static. */
.case-scene{background:#060806;border-color:#1c2219}
.case-scene-bg,.case-scene.is-opening .case-scene-bg,.case-scene[data-phase=result]>.case-scene-bg{opacity:1;filter:none;overflow:hidden;background:radial-gradient(70% 55% at 50% -8%,color-mix(in srgb,var(--case-accent) 20%,transparent),transparent 70%),radial-gradient(45% 38% at 50% 64%,color-mix(in srgb,var(--case-accent) 13%,transparent),transparent 72%),#060806}
.case-scene-bg:after{content:'';position:absolute;inset:0;background:radial-gradient(120% 95% at 50% 42%,transparent 52%,#030403 100%);pointer-events:none}

.case-beam{position:absolute;left:50%;top:-12%;width:min(760px,90%);height:92%;transform:translateX(-50%);transform-origin:50% 0;background:conic-gradient(from 180deg at 50% 0,transparent 157deg,color-mix(in srgb,var(--case-accent) 22%,transparent) 172deg,#ffffff14 180deg,color-mix(in srgb,var(--case-accent) 22%,transparent) 188deg,transparent 203deg);filter:blur(14px);opacity:.85;animation:arena-beam 9s ease-in-out infinite}
@keyframes arena-beam{0%,100%{transform:translateX(-50%) rotate(-2.5deg)}50%{transform:translateX(-50%) rotate(2.5deg)}}

.case-floor{position:absolute;left:-30%;right:-30%;bottom:-6%;height:58%;overflow:hidden;transform:perspective(520px) rotateX(64deg);transform-origin:50% 100%;-webkit-mask-image:radial-gradient(60% 90% at 50% 100%,#000 25%,transparent 75%);mask-image:radial-gradient(60% 90% at 50% 100%,#000 25%,transparent 75%)}
.case-floor>b{position:absolute;left:0;right:0;top:-56px;bottom:0;background:linear-gradient(color-mix(in srgb,var(--case-accent) 45%,transparent) 1px,transparent 1px) 0 0/56px 56px,linear-gradient(90deg,color-mix(in srgb,var(--case-accent) 45%,transparent) 1px,transparent 1px) 0 0/56px 56px;animation:arena-floor 2.6s linear infinite}
@keyframes arena-floor{to{transform:translateY(56px)}}

.case-watermark{position:absolute;left:50%;top:21%;transform:translateX(-50%);font-size:clamp(70px,15vw,230px);font-weight:800;line-height:1;letter-spacing:0;text-transform:uppercase;white-space:nowrap;color:var(--case-accent);opacity:.07;will-change:transform;-webkit-mask-image:linear-gradient(180deg,#000 30%,transparent 92%);mask-image:linear-gradient(180deg,#000 30%,transparent 92%);user-select:none}
.case-scene[data-phase=result] .case-watermark{opacity:.035}

/* Title block: tighter, the case number lives in the eyebrow. */
.case-scene-title .eyebrow{letter-spacing:.22em;color:color-mix(in srgb,var(--case-accent) 60%,#d5ddca)}
.case-scene-title h1{letter-spacing:-.045em;text-shadow:0 0 50px color-mix(in srgb,var(--case-accent) 38%,transparent),0 2px 0 #0008}

/* Pedestal: a lit floor disc with a slowly turning ring of light under the crate. */
.case-stage{height:360px}
.case-stage-glow{bottom:7%;width:min(460px,72%);height:70px;background:radial-gradient(closest-side,color-mix(in srgb,var(--case-accent) 55%,transparent),color-mix(in srgb,var(--case-accent) 12%,transparent) 60%,transparent);filter:blur(4px)}
.case-pedestal{position:absolute;left:50%;bottom:3%;width:min(440px,70%);aspect-ratio:1;transform:translateX(-50%) perspective(600px) rotateX(78deg);transform-origin:50% 100%;pointer-events:none}
.case-pedestal>i{position:absolute;inset:0;border-radius:50%}
.case-pedestal>i:first-child{border:1px solid color-mix(in srgb,var(--case-accent) 55%,transparent);box-shadow:0 0 30px color-mix(in srgb,var(--case-accent) 40%,transparent),inset 0 0 40px color-mix(in srgb,var(--case-accent) 25%,transparent)}
.case-pedestal>i:last-child{inset:-7%;background:conic-gradient(from 0deg,transparent 0 55%,color-mix(in srgb,var(--case-accent) 85%,#fff) 78%,transparent 92%);-webkit-mask:radial-gradient(closest-side,transparent 92%,#000 93%,#000 99%,transparent 100%);mask:radial-gradient(closest-side,transparent 92%,#000 93%,#000 99%,transparent 100%);animation:arena-ring 6s linear infinite}
@keyframes arena-ring{to{rotate:1turn}}

.case-stage-crate{z-index:2;height:80%;max-height:80%}

/* Charge: while the server confirms, the crate trembles and rings of light converge on it. */
.case-charge,.case-shock{position:absolute;left:50%;top:52%;pointer-events:none;z-index:1}
.case-charge>i{position:absolute;left:0;top:0;width:340px;height:340px;margin:-170px;border-radius:50%;border:2px solid color-mix(in srgb,var(--case-accent) 80%,#fff);box-shadow:0 0 24px color-mix(in srgb,var(--case-accent) 60%,transparent);opacity:0}
.case-scene.is-opening[data-phase=pending] .case-charge>i{animation:arena-converge 1.1s cubic-bezier(.4,0,.2,1) infinite}
.case-scene.is-opening[data-phase=pending] .case-charge>i:nth-child(2){animation-delay:.37s}
.case-scene.is-opening[data-phase=pending] .case-charge>i:nth-child(3){animation-delay:.74s}
@keyframes arena-converge{0%{opacity:0;transform:scale(1.5)}35%{opacity:.75}100%{opacity:0;transform:scale(.35)}}
.case-scene.is-opening[data-phase=pending] .case-stage-crate{opacity:1;animation:arena-charge .5s ease-in-out infinite}
@keyframes arena-charge{0%,100%{transform:translate(0,0) rotate(0) scale(1.02);filter:drop-shadow(0 26px 24px #000b) drop-shadow(0 0 30px color-mix(in srgb,var(--case-accent) 40%,transparent)) brightness(1.1)}25%{transform:translate(-3px,1px) rotate(-1.6deg) scale(1.03)}75%{transform:translate(3px,-1px) rotate(1.6deg) scale(1.03);filter:drop-shadow(0 26px 24px #000b) drop-shadow(0 0 48px color-mix(in srgb,var(--case-accent) 70%,transparent)) brightness(1.35)}}
.case-scene.is-opening[data-phase=pending] .case-pedestal>i:last-child{animation-duration:1.2s}
.case-scene.is-opening[data-phase=pending] .case-reel-head{animation:none}

/* Burst: the crate flares and disappears, a shockwave rolls out and the reel unfolds from the marker. */
.case-shock{width:0;height:0}
.case-shock:before,.case-shock:after{content:'';position:absolute;left:0;top:0;width:300px;height:300px;margin:-150px;border-radius:50%;opacity:0}
.case-shock:before{border:3px solid color-mix(in srgb,var(--case-accent) 70%,#fff);box-shadow:0 0 40px color-mix(in srgb,var(--case-accent) 70%,transparent),inset 0 0 30px color-mix(in srgb,var(--case-accent) 50%,transparent)}
.case-shock:after{background:radial-gradient(closest-side,#fff,color-mix(in srgb,var(--case-accent) 70%,transparent) 35%,transparent)}
.case-scene.is-opening[data-phase=spinning] .case-shock:before{animation:arena-shock .7s cubic-bezier(.23,1,.32,1) both}
.case-scene.is-opening[data-phase=spinning] .case-shock:after{animation:arena-flash .5s ease-out both}
@keyframes arena-shock{0%{opacity:1;transform:scale(.3)}100%{opacity:0;transform:scale(3.2)}}
@keyframes arena-flash{0%{opacity:.9;transform:scale(.4)}100%{opacity:0;transform:scale(2.4)}}
.case-scene.is-opening:is([data-phase=spinning],[data-phase=reveal]) .case-stage-crate{animation:arena-burst .42s cubic-bezier(.23,1,.32,1) forwards}
@keyframes arena-burst{0%{opacity:1;transform:scale(1.03);filter:brightness(1.4)}40%{opacity:1;transform:scale(1.16);filter:brightness(2.6) drop-shadow(0 0 40px var(--case-accent))}100%{opacity:0;transform:scale(1.3);filter:brightness(3) blur(8px)}}
.case-scene.is-opening:is([data-phase=spinning],[data-phase=reveal]) .case-pedestal{opacity:.35;transition:opacity .4s}
.case-scene.case-scene.is-opening:after{display:none}
.case-scene[data-phase=spinning] .case-reel{animation:arena-unfold .46s .1s cubic-bezier(.23,1,.32,1) backwards}
@keyframes arena-unfold{from{clip-path:inset(0 50% 0 50%);opacity:.4}to{clip-path:inset(0 0 0 0);opacity:1}}
.is-opening :is(.case-reels,.case-reel-head){animation:none}
.case-scene[data-phase=spinning] .case-reel-head{animation:arena-fade .3s ease-out both}
@keyframes arena-fade{from{opacity:0;transform:translateY(-6px)}}

/* Reel: room above and below the cards so the award glow is never clipped, no per-frame transitions. */
.case-reel{height:262px}
.case-reel-track{top:30px;height:calc(100% - 60px)}
.case-roll-card{transition:filter .45s}
.case-roll-card.is-focus{filter:none;border-color:color-mix(in srgb,var(--rarity) 70%,#c6d2b6)}
.case-center-line.is-tock{animation:arena-tock .2s ease-out}
@keyframes arena-tock{0%{width:4px;filter:brightness(1.8)}100%{width:2px;filter:none}}
.case-reel.is-settled .case-roll-card.is-award{z-index:3;border-color:var(--rarity)}
.case-reel.is-settled .case-roll-card.is-award:before{background:linear-gradient(transparent,color-mix(in srgb,var(--rarity) 30%,transparent))}
.case-stage.is-revealing .case-shock:before{animation:arena-shock .8s cubic-bezier(.23,1,.32,1) both;border-color:var(--drop-color,var(--case-accent));box-shadow:0 0 40px var(--drop-color,var(--case-accent))}
.case-stage.is-revealing .case-shock{top:50%;z-index:5}

/* Controls dock: one floating glass console under the stage. */
@media(min-width:701px){
 .case-controls{width:fit-content;margin:6px auto 0;padding:8px;gap:8px;border:1px solid #ffffff12;border-radius:16px;background:linear-gradient(180deg,#141812e6,#0a0c09e6);box-shadow:0 18px 40px #0008,inset 0 1px #ffffff0d;backdrop-filter:blur(10px)}
 .case-controls .case-quantities{border:0;background:#ffffff06}
 .case-controls .case-fast{border-color:#ffffff12;background:#ffffff06}
}
.case-open{min-width:270px;font-size:13px;letter-spacing:-.01em}
@media(hover:hover) and (pointer:fine){
 .case-open:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 12px 34px #bee77940}
 .case-open{transition:transform .2s var(--motion-soft),box-shadow .2s,filter .2s}
}
.case-open:not(:disabled):active{transform:scale(.97)}

/* Contents: a rarity strip on top and a calm lift on hover. */
.case-contents{margin-top:34px}
.case-contents-grid .case-loot{position:relative;border-bottom-width:1px}
.case-contents-grid .case-loot:after{content:'';position:absolute;left:14px;right:14px;top:0;height:2px;border-radius:0 0 3px 3px;background:var(--rarity);box-shadow:0 0 14px var(--rarity);opacity:.8}

@media(max-width:700px){
 .case-stage{height:290px}
 .case-reel{height:236px}
 .case-reel-track{top:20px;height:calc(100% - 40px)}
 .case-pedestal{width:82%}
 .case-watermark{top:26%}
 .case-charge>i{width:240px;height:240px;margin:-120px}
}
.case-reels-multi:not([data-count="10"]) .case-reel{height:150px}
.case-reels-multi .case-reel-track{top:8px;height:calc(100% - 16px)}
@media(max-width:700px){.case-reels-multi:not([data-count="10"]) .case-reel{height:127px}.case-reels-multi[data-count="5"] .case-reel{height:88px}}

@media(prefers-reduced-motion:reduce){
 .case-beam,.case-floor>b,.case-pedestal>i:last-child,.case-charge>i,.case-shock:before,.case-shock:after,.case-scene .case-reel,.case-center-line.is-tock,.case-scene[data-phase=spinning] .case-reel-head{animation:none!important}
 .case-scene.is-opening .case-stage-crate{animation:none!important;opacity:0}
 .case-open{transition:none}
}
.case-scene.is-opening[data-phase=pending] .case-reel-head{opacity:0}

/* Восхождение: a lit lift tower in the middle of one stage, glass stake/reward panels on its sides,
   a control dock under the tower and floor callouts that travel with the camera.
   Geometry is in container units of the tower, so the hero's feet always sit on the platform deck:
   platform art is 1280×512 (height 40% of width), its deck line is 30.7% of that height above the
   bottom; the hero art is 600×1023 with 2.4% padding under the feet and the feet centred at 56.7%. */
.ascent-view{max-width:1480px;margin:auto;padding:30px 24px 64px}
.asc-app{--asc-lime:#c0e67c;--asc-red:#ff6a5c;--asc-muted:#89927f;--asc-line:#ffffff12;--asc-ease:cubic-bezier(.65,0,.25,1);color:#e6eadf}
.asc-app button,.asc-app input{font:inherit}
.asc-app button{cursor:pointer}
.asc-app button:disabled{cursor:default}
.asc-app button:focus-visible,.asc-app input:focus-visible{outline:2px solid var(--asc-lime);outline-offset:3px}

.asc-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px}
.asc-heading h1{font-size:clamp(34px,4vw,56px);font-weight:800;letter-spacing:-.045em;line-height:1;margin:10px 0 10px}
.asc-heading h1 span{color:var(--asc-lime)}
.asc-heading p{color:#a3ad97;font-size:15px;font-weight:600;margin:0}
.asc-heading .eyebrow{letter-spacing:3px;font-size:9px;color:var(--asc-lime)}
.asc-heading .outline-btn{display:flex;align-items:center;gap:8px;min-height:42px;flex-shrink:0}

/* Stage */
.asc-stage{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(250px,290px) minmax(0,1fr) minmax(250px,290px);grid-template-rows:600px 156px;border:1px solid #ffffff10;border-radius:22px;overflow:hidden;background:#060907;box-shadow:0 30px 90px #0007}
.asc-backdrop{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.asc-shaft{position:absolute;left:-40px;right:-40px;top:-120px;height:1240px;background:url('/assets/ascent/shaft.webp') center top/auto 100%;filter:saturate(.7) brightness(.62);transform:translateY(calc(var(--camera)*14px));transition:transform 2.6s var(--asc-ease)}
.asc-backdrop:after{content:'';position:absolute;inset:0;background:radial-gradient(60% 70% at 50% 45%,transparent 30%,#050806d9 100%),linear-gradient(180deg,#050806aa,transparent 22%,transparent 70%,#050806f2)}
.asc-beams>i{position:absolute;top:-10%;width:22%;height:85%;left:calc(18% + var(--n,0)*26%);background:linear-gradient(180deg,#ffd9a033,transparent 75%);clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);filter:blur(10px);opacity:.55;animation:asc-flicker 7s ease-in-out infinite}
.asc-beams>i:nth-child(2){--n:1;background:linear-gradient(180deg,#c0e67c2e,transparent 72%);animation-delay:-2.3s}
.asc-beams>i:nth-child(3){--n:2;animation-delay:-4.6s}
.asc-particles>i{position:absolute;left:calc(8% + var(--i)*6.5%);bottom:-10px;width:3px;height:3px;border-radius:50%;background:#e8ffc0;opacity:0;animation:asc-dust calc(7s + var(--i)*.37s) linear infinite;animation-delay:calc(var(--i)*-.9s)}
.asc-app[data-visible=false] :is(.asc-beams>i,.asc-particles>i,.asc-hero :is(.asc-hero-body,.asc-part),.asc-floor.target .asc-platform){animation-play-state:paused}

/* Glass panels */
.asc-panel{position:relative;z-index:3;margin:16px;align-self:start;display:flex;flex-direction:column;min-width:0;padding:18px;border:1px solid #ffffff14;border-radius:16px;background:linear-gradient(160deg,#151b14e6,#0a0e0bec);box-shadow:0 20px 50px #0008,inset 0 1px #ffffff0d;backdrop-filter:blur(14px)}
.asc-stake{grid-column:1;grid-row:1/3}
.asc-reward{grid-column:3;grid-row:1/3}
.asc-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:14px;border-bottom:1px solid var(--asc-line)}
.asc-panel-head>span{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800;letter-spacing:-.01em}
.asc-panel-head .ui-icon{width:17px;height:17px;color:var(--asc-lime)}
.asc-panel-head small{font-size:8px;letter-spacing:1.2px;color:#8a977c;white-space:nowrap}
.asc-price{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1.2}
.asc-price .currency-icon{width:.78em;height:.78em;color:var(--asc-lime);flex:none}

.asc-stake-total{padding:16px 0 12px}
.asc-stake-total>small{display:block;font-size:10px;color:var(--asc-muted);margin-bottom:6px}
.asc-stake-total>strong{font-size:32px;font-weight:800;letter-spacing:-.03em}
.asc-amount{display:block;font-size:10px;color:#a4ad9a}
.asc-amount>div{display:flex;align-items:center;gap:8px;min-height:44px;margin-top:7px;padding:0 10px;border:1px solid #3f4c34;border-radius:10px;background:#090d0acc;transition:border-color .2s}
.asc-amount>div:focus-within{border-color:#c0e67c88}
.asc-amount input{width:100%;min-width:0;border:0;outline:none;background:none;color:#ebf1e2;font-size:16px;font-weight:700}
.asc-amount button{padding:6px;border:0;background:none;color:#8e9c7c;font-size:9px}
.asc-amount .currency-icon{width:13px;height:13px;color:var(--asc-lime);flex:none}
.asc-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:8px}
.asc-quick button{height:30px;border:1px solid #ffffff12;border-radius:8px;background:#ffffff06;color:#c6d3b6;font-size:10px;font-weight:700;transition:background .2s,border-color .2s,color .2s}
.asc-quick button:disabled{opacity:.35}
.asc-wallet{display:flex;justify-content:space-between;margin:10px 0 16px;font-size:9px;color:#7d8a72}
.asc-wallet .asc-price{color:#b9c7a6}
.asc-inventory-head{display:flex;justify-content:space-between;align-items:center;font-size:11px}
.asc-inventory-head small{margin-left:8px;color:#adcb7e;font-size:9px}
.asc-inventory-head button{border:0;background:none;color:#9eac8e;font-size:9px;text-decoration:underline}
.asc-search{display:flex;align-items:center;gap:7px;min-height:34px;margin:10px 0;padding:0 9px;border:1px solid #2f392a;border-radius:8px;background:#090d0acc}
.asc-search .ui-icon{width:13px;height:13px;color:#7f8e70}
.asc-search input{width:100%;min-width:0;border:0;outline:none;background:none;color:#dde7ce;font-size:10px}
.asc-inventory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;align-content:start}
.asc-inventory-item{position:relative;min-width:0;height:92px;padding:6px;border:1px solid #333b2d;border-bottom:2px solid var(--item-color);border-radius:9px;background:radial-gradient(ellipse at 50% 65%,color-mix(in srgb,var(--item-color) 14%,transparent),transparent 80%),#0e130e;color:#bac5ae;text-align:left;transition:transform .2s var(--motion-soft),border-color .2s,background .2s}
.asc-inventory-item.selected{border-color:var(--asc-lime);background:#22301bcc;box-shadow:inset 0 0 16px #b3df6b14}
.asc-inventory-item .asc-price{font-size:8px;font-weight:700}
.asc-inventory-item img{display:block;width:100%;height:46px;object-fit:contain;filter:drop-shadow(0 3px 4px #0009)}
.asc-inventory-item>span:last-of-type{display:block;max-width:calc(100% - 10px);overflow:hidden;font-size:8px;white-space:nowrap;text-overflow:ellipsis}
.asc-inventory-item>i{position:absolute;right:4px;bottom:5px;display:flex}
.asc-inventory-item>i .ui-icon{width:10px;height:10px;color:var(--asc-lime)}
.asc-inventory-item:disabled:not(.selected){opacity:.45}
.asc-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:12px}
.asc-pagination button{display:grid;place-items:center;width:28px;height:28px;border:1px solid #2f3b28;border-radius:7px;background:#1b2417;color:#b6cb99}
.asc-pagination button:disabled{opacity:.3}
.asc-pagination .ui-icon{width:12px;height:12px}
.asc-pagination small{min-width:34px;font-size:9px;color:#7e8a72;text-align:center}

/* Locked stake: the skins in play fan out like a hand of cards. */
.asc-stake-locked{display:grid;justify-items:center;gap:10px;padding-top:14px;text-align:center}
.asc-stake-stack{position:relative;width:100%;height:150px;display:grid;place-items:center;border-radius:12px;background:radial-gradient(ellipse at 50% 60%,#c0e67c14,transparent 70%),#0a0e0b99}
.asc-stake-stack>img{position:absolute;width:62%;height:100px;object-fit:contain;filter:drop-shadow(0 8px 10px #000b);transform:translateX(calc((var(--n) - (var(--count) - 1)/2)*16%)) rotate(calc((var(--n) - (var(--count) - 1)/2)*9deg));animation:asc-fan .6s var(--motion-soft) both;animation-delay:calc(var(--n)*70ms)}
.asc-stake-stack>.ui-icon{width:48px;height:48px;color:#c0e67c88}
.asc-stake-locked>strong{font-size:32px;font-weight:800;letter-spacing:-.03em}
.asc-stake-chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 14px;border:1px solid #ffffff17;border-radius:9px;background:#ffffff08;color:#c9d3bd;font-size:11px;font-weight:700}
.asc-stake-chip .ui-icon{width:13px;height:13px}
.asc-app[data-phase=lost] .asc-stake-chip{border-color:#ff6a5c55;color:#ffb4ab}
.asc-stake-locked>small{font-size:10px;color:#93a084}
.asc-stake-locked>p{margin:0;font-size:9px;color:#748267}

/* Scene and tower */
.asc-scene{position:relative;z-index:1;grid-column:2;grid-row:1;height:600px;overflow:hidden;container:ascscene/inline-size}
.asc-scene-top{position:absolute;z-index:6;top:18px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.6px;color:#a7b694}
.asc-scene-top>span{display:flex;align-items:center;gap:7px}
.asc-scene-top i{width:6px;height:6px;border-radius:50%;background:var(--asc-lime);box-shadow:0 0 10px var(--asc-lime);animation:asc-blink 1.6s ease-in-out infinite}
.asc-scene-top small{font-size:8px;letter-spacing:1px}
.asc-scene-top b{margin:0 4px;font-size:15px;color:#e1f1c8}
.asc-tower{--base:58px;--step:46cqw;position:absolute;top:0;bottom:0;left:50%;width:min(380px,54%);translate:-50% 0;container-type:inline-size}
.asc-world{position:absolute;inset:0;transform:translateY(calc(var(--camera)*var(--step)));transition:transform 2.5s var(--asc-ease)}
.asc-floor{position:absolute;left:0;right:0;height:40cqw;bottom:calc(var(--base) + var(--floor)*var(--step))}
.asc-floor:before{content:'';position:absolute;left:12%;right:12%;bottom:12cqw;height:34cqw;background:radial-gradient(ellipse at 50% 100%,#c0e67c26,transparent 70%);opacity:0;transition:opacity .8s}
.asc-floor.focus:before{opacity:1}
.asc-platform{position:absolute;left:0;bottom:0;width:100%;height:auto;max-width:none;filter:brightness(.5) saturate(.7);transition:filter .8s}
.asc-floor.focus .asc-platform,.asc-floor.passed .asc-platform{filter:brightness(.82) saturate(.75)}
.asc-floor:after{content:'';position:absolute;left:16%;right:16%;bottom:11.6cqw;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,#c0e67c,transparent);box-shadow:0 0 14px #c0e67ccc;opacity:.12;transition:opacity .6s,background .6s}
.asc-floor.passed:after,.asc-floor.focus:after{opacity:.85}
.asc-floor.failed:after{opacity:1;background:linear-gradient(90deg,transparent,var(--asc-red),transparent);box-shadow:0 0 16px var(--asc-red)}
.asc-floor.target .asc-platform{animation:asc-charge 0.9s ease-in-out infinite}
.asc-floor-sign{position:absolute;right:calc(100% + 6px);bottom:12cqw;font-size:clamp(28px,13cqw,58px);font-weight:800;line-height:.8;letter-spacing:0;color:#c0e67c;opacity:.3;filter:url(#text-outline);will-change:transform;transition:opacity .6s,text-shadow .6s}
.asc-floor.passed .asc-floor-sign,.asc-floor.focus .asc-floor-sign{color:var(--asc-lime);opacity:1;filter:none;text-shadow:0 0 24px #c0e67c66}
.asc-floor.failed .asc-floor-sign{color:var(--asc-red);opacity:1;filter:none;text-shadow:0 0 24px #ff6a5c77}
.asc-floor-prize{position:absolute;left:5cqw;bottom:12.3cqw;width:30cqw;height:17cqw;display:flex;align-items:flex-end;justify-content:center}
.asc-floor-prize:before{content:'';position:absolute;left:10%;right:10%;bottom:-2cqw;height:5cqw;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--item-color) 55%,transparent),transparent);filter:blur(3px)}
.asc-floor-prize img{position:relative;width:100%;height:100%;object-fit:contain;object-position:50% 100%;filter:drop-shadow(0 6px 8px #000c) drop-shadow(0 0 10px color-mix(in srgb,var(--item-color) 35%,transparent));transform:rotate(-8deg);transition:transform .6s var(--motion-soft),opacity .6s}
.asc-floor.passed .asc-floor-prize img{opacity:.5}
.asc-floor.focus .asc-floor-prize img{animation:asc-hover 3.4s ease-in-out infinite}

/* Floor callouts travel with the floors; compact inside the tower on narrow scenes. */
.asc-floor-card{position:absolute;left:calc(100% + 10px);bottom:15cqw;width:152px;padding:10px 12px;border:1px solid #ffffff17;border-radius:12px;background:linear-gradient(160deg,#171d16f5,#0b0f0cfa);box-shadow:0 10px 26px #0008;transition:border-color .5s,box-shadow .5s,transform .5s var(--motion-soft)}
.asc-floor-card>div{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700;color:#cbd5bf}
.asc-floor-card>div>b{font-size:14px;font-weight:800;color:#fff}
.asc-floor-card>div>span:before{content:'·';margin-right:6px;color:#7f8b73}
.asc-floor-card>div>i{display:grid;place-items:center;width:20px;height:20px;margin-left:auto;border-radius:50%;background:var(--asc-lime);color:#132008;animation:asc-pop .5s var(--motion-soft) both}
.asc-floor-card>div>i .ui-icon{width:12px;height:12px}
.asc-floor-card footer{display:flex;justify-content:space-between;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid #ffffff10;font-size:12px;font-weight:800;color:#e9f3dc}
.asc-floor-card footer>span{display:inline-flex;align-items:center}
.asc-floor-card footer .asc-price .currency-icon{width:12px;height:12px}
.asc-floor-card.is-start,.asc-floor-card.is-empty{opacity:.65}
.asc-floor.focus .asc-floor-card{border-color:#c0e67c66;box-shadow:0 10px 30px #0009,0 0 24px #c0e67c22}
.asc-floor.passed .asc-floor-card{border-color:#c0e67c44}
.asc-floor.target .asc-floor-card{border-color:var(--asc-lime);animation:asc-glow 1s ease-in-out infinite}
.asc-floor.failed .asc-floor-card{border-color:#ff6a5c88;box-shadow:0 0 26px #ff6a5c33}
.asc-floor.failed .asc-floor-card>div>span{color:#ffb4ab}

/* Hero */
.asc-player{position:absolute;z-index:4;left:calc(50% - 17.1cqw);width:34cqw;height:34cqw;bottom:calc(var(--base) + var(--player-floor)*var(--step) + 11.4cqw);transition:bottom 2.5s var(--asc-ease)}
.asc-player-shadow{position:absolute;left:24%;bottom:-.6cqw;width:54%;height:2.4cqw;border-radius:50%;background:#000;filter:blur(4px);opacity:.75}
.asc-player-aura{position:absolute;inset:10% -40% -6%;background:radial-gradient(ellipse at 50% 85%,#c0e67c2e,transparent 62%);filter:blur(12px)}
.asc-lift-trail{position:absolute;left:30%;width:40%;top:70%;height:60cqw;background:linear-gradient(180deg,#c0e67c55,transparent);filter:blur(6px);opacity:0;transform-origin:50% 0}
.asc-player.rising .asc-lift-trail{animation:asc-trail 2.5s ease-out both}
.asc-player.rising .asc-player-aura{opacity:1;filter:blur(8px) brightness(1.6)}

.asc-app[data-phase=lost] .asc-scene-top{color:#d8a79c}
.asc-app[data-phase=lost] .asc-scene-top i{background:var(--asc-red);box-shadow:0 0 10px var(--asc-red)}

/* Reward panel */
.asc-reward-art{position:relative;isolation:isolate;height:200px;display:flex;align-items:center;justify-content:center;margin-top:12px;border-radius:12px;background:radial-gradient(circle at 50% 55%,color-mix(in srgb,var(--item-color) 22%,transparent),transparent 68%),#0a0e0b99}
.asc-reward-art img{width:92%;height:160px;object-fit:contain;filter:drop-shadow(0 12px 14px #000a);animation:asc-reward-in .8s var(--motion-soft) both}
.asc-reward-art>.ui-icon{width:56px;height:56px;color:#c0e67c55}
.asc-reward-ring{position:absolute;z-index:-1;width:170px;height:170px;border-radius:50%;border:1px solid color-mix(in srgb,var(--item-color) 30%,transparent);animation:asc-spin 18s linear infinite}
.asc-reward-ring:before{content:'';position:absolute;inset:14px;border-radius:50%;border:1px dashed color-mix(in srgb,var(--item-color) 25%,transparent)}
.asc-app[data-phase=lost] .asc-reward-art img{filter:grayscale(1) brightness(.55) drop-shadow(0 12px 14px #000a)}
.asc-reward-copy{padding-top:14px}
.asc-reward-copy>small{display:block;font-size:11px;color:#97a487}
.asc-reward-copy h3{margin:4px 0 2px;font-size:22px;font-weight:800;letter-spacing:-.03em;line-height:1.2}
.asc-reward-copy>span{font-size:9px;letter-spacing:1px;color:#879675}
.asc-reward-copy>strong{display:block;margin:12px 0 4px;font-size:30px;font-weight:800;letter-spacing:-.02em;color:#c9ec8f}
.asc-reward-ready{display:flex;align-items:center;gap:7px;margin:8px 0 0;font-size:11px;color:#b9cfa0}
.asc-reward-ready .ui-icon{width:15px;height:15px;color:var(--asc-lime)}
.asc-route-stats{margin-top:16px;padding-top:14px;border-top:1px solid var(--asc-line)}
.asc-route-stats>div{display:flex;justify-content:space-between;gap:8px;margin-bottom:10px;font-size:10px;color:#869678}
.asc-route-stats b{font-size:14px;color:#cfe6a8;font-variant-numeric:tabular-nums}
.asc-note{font-size:9px;line-height:1.8;color:#77866b}

/* Dock */
.asc-dock{position:relative;z-index:3;grid-column:2;grid-row:2;display:grid;grid-template-rows:24px 54px auto;align-content:start;justify-items:center;gap:12px;height:156px;padding:6px 16px 22px;text-align:center}
.asc-dock-status{font-size:18px;font-weight:800;letter-spacing:-.02em;text-shadow:0 2px 12px #000}
.asc-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.asc-actions button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 26px;border-radius:12px;font-size:14px;font-weight:800;line-height:1.2;transition:transform .2s var(--motion-soft),box-shadow .2s,background .2s,border-color .2s}
.asc-actions .launch-btn{position:relative;overflow:hidden;min-width:250px;border:1px solid #d6f4a3;background:var(--asc-lime);color:#132008;box-shadow:0 10px 30px #c0e67c2e}
.asc-actions .launch-btn:not(:disabled):after{content:'';position:absolute;top:-2px;bottom:-2px;left:-60%;width:40%;background:linear-gradient(105deg,transparent,#ffffffa0,transparent);transform:skewX(-18deg);animation:asc-sheen 4.5s 1.5s ease-in-out infinite;pointer-events:none}
.asc-actions .launch-btn .currency-icon{color:inherit}
.asc-actions .launch-btn:disabled{border-color:#3d512d;background:#1d2a17;color:#9db084}
.asc-actions .asc-next{min-width:230px;border:1px solid var(--asc-lime);background:#0e150cf2;color:#e3f5c8}
.asc-actions .asc-next small{font-size:13px;font-weight:800;color:var(--asc-lime)}
.asc-actions .ui-icon{width:17px;height:17px;flex:none}
.asc-actions button:not(:disabled):active{transform:scale(.97)}
.asc-chevrons{display:flex;flex-direction:column;justify-content:center;width:17px;height:22px}
.asc-chevrons .ui-icon{width:15px;height:12px;flex:none;animation:asc-chevron 1.4s ease-in-out infinite}
.asc-chevrons .ui-icon:nth-child(2){margin-top:-4px;animation-delay:.15s}
.asc-dock-note{margin:0;font-size:10px;color:#93a184}
.asc-dock-note b{color:var(--asc-lime)}

.asc-error{display:flex;align-items:center;gap:10px;margin-top:14px;padding:14px;border:1px solid #99754b80;border-radius:10px;background:#33251577;color:#e0cba8;font-size:12px}
.asc-error .ui-icon{width:16px;height:16px;flex:none}
.asc-error button{margin-left:auto;border:0;background:none;color:#d7e7b9;font-size:10px;text-decoration:underline}

/* How it works */
.asc-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0 0;padding:0;list-style:none}
.asc-steps>li{position:relative;display:flex;gap:14px;padding:18px;border:1px solid #ffffff0e;border-radius:14px;background:linear-gradient(160deg,#121711,#0b0e0b)}
.asc-steps>li>b{font-size:34px;font-weight:800;line-height:.9;color:var(--asc-lime);text-shadow:0 0 22px #c0e67c44}
.asc-steps h3{margin:2px 0 6px;font-size:14px;font-weight:800}
.asc-steps p{margin:0;font-size:11px;line-height:1.55;color:#93a184}
.asc-steps>li:not(:last-child):after{content:'';position:absolute;right:-9px;top:50%;width:6px;height:6px;border-top:2px solid #c0e67c66;border-right:2px solid #c0e67c66;transform:translateY(-50%) rotate(45deg)}
.asc-steps>li:last-child>b{color:var(--asc-red);text-shadow:0 0 22px #ff6a5c44}
.asc-footnote{display:flex;align-items:center;justify-content:center;gap:7px;margin:18px 0 0;font-size:9px;line-height:1.6;color:#6c7b60;text-align:center}
.asc-footnote .ui-icon{width:12px;height:12px;flex:none}

.asc-history{margin-top:30px}
.asc-history h2{margin-bottom:14px;font-size:17px;font-weight:800;letter-spacing:-.3px}
.asc-history>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.asc-history article{display:flex;align-items:center;gap:12px;padding:13px 16px;border:1px solid #2b3821;border-radius:10px;background:#0f150e;font-size:10px;transition:translate .25s var(--motion-soft),border-color .25s}
.asc-history article.lost{border-color:#3a2a25}
.asc-history article>.ui-icon{width:19px;height:19px;color:#a4c578}
.asc-history article.lost>.ui-icon{color:#c98b80}
.asc-history article>span:nth-child(2){display:flex;flex-direction:column;gap:4px;margin-right:auto}
.asc-history small{font-size:8px;color:#738367}
.asc-history article>b{color:#96a881}
.asc-history .asc-price{color:#c2d9a5}

.asc-rules{width:min(540px,calc(100vw - 32px));max-height:85dvh;overflow:auto;padding:0;border:1px solid #6d835049;border-radius:16px;background:#131b11;color:#e2ead9;box-shadow:0 30px 120px #000a}
.asc-rules::backdrop{background:#030702bc;backdrop-filter:blur(10px)}
.asc-rules>div{position:relative;padding:35px}
.asc-rules h2{margin:17px 0 25px;font-size:27px;line-height:1.2;letter-spacing:-1px}
.asc-rules ol{display:grid;gap:18px;padding-left:19px;color:#a1b192;font-size:12px;line-height:1.7}
.asc-rules li::marker{color:var(--lime);font-weight:750}
.asc-rules li b{display:block;color:#dae9c7}
.asc-rules p{margin:22px 0;font-size:10px;line-height:1.9;color:#849874}
.asc-rules .launch-btn{width:100%;min-height:45px;font-size:12px}
.asc-rules-close{position:absolute;top:17px;right:17px;padding:4px;border:0;background:none;color:#9dad8d}
.asc-rules-close .ui-icon{width:19px;height:19px}
.asc-loading{display:grid;place-items:center;min-height:60vh;color:#a5b98a;font-size:14px}

@media(hover:hover) and (pointer:fine){
 .asc-inventory-item:not(:disabled):hover{transform:translateY(-2px);border-color:#a5cb6b}
 .asc-quick button:not(:disabled):hover{border-color:#c0e67c66;color:#eaf7d8;background:#c0e67c12}
 .asc-actions button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 12px 34px #c0e67c38}
 .asc-actions .asc-next:not(:disabled):hover{background:#1a2814}
 .asc-floor-card:hover{transform:translateX(3px)}
 .asc-history article:hover{translate:0 -2px;border-color:#c0e67c44}
 .asc-pagination button:not(:disabled):hover{background:#344a25}
}

@keyframes asc-flicker{0%,100%{opacity:.5}45%{opacity:.62}50%{opacity:.4}55%{opacity:.6}}
@keyframes asc-dust{0%{transform:translate(0,0);opacity:0}15%{opacity:.6}100%{transform:translate(18px,-620px);opacity:0}}
@keyframes asc-blink{50%{opacity:.35}}
@keyframes asc-hover{0%,100%{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(-6deg) translateY(-1.2cqw)}}
@keyframes asc-trail{0%,100%{opacity:0;transform:scaleY(.2)}20%,75%{opacity:1;transform:scaleY(1)}}
@keyframes asc-fall{0%{transform:translateY(0) rotate(0);opacity:1}25%{transform:translateY(-3cqw) rotate(-4deg)}100%{transform:translateY(70cqw) rotate(14deg);opacity:0}}
@keyframes asc-charge{0%,100%{filter:brightness(.6) saturate(.7)}50%{filter:brightness(1.05) saturate(.9) drop-shadow(0 0 14px #c0e67c55)}}
@keyframes asc-glow{50%{box-shadow:0 0 30px #c0e67c44}}
@keyframes asc-pop{from{transform:scale(.4);opacity:0}}
@keyframes asc-fan{from{opacity:0;transform:translateY(20px) rotate(0) scale(.9)}}
@keyframes asc-reward-in{from{opacity:0;transform:translateY(14px) scale(.9) rotate(-6deg)}}
@keyframes asc-spin{to{rotate:1turn}}
@keyframes asc-shake{0%,100%{transform:none}20%{transform:translateX(-6px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
@keyframes asc-flash{0%{opacity:0}25%{opacity:1}100%{opacity:0}}
@keyframes asc-sheen{0%,70%{left:-60%}90%,100%{left:130%}}
@keyframes asc-chevron{0%,100%{transform:translateY(2px);opacity:.5}50%{transform:translateY(-2px);opacity:1}}

/* Narrow scene: callouts and floor numbers move inside the tower. */
@container ascscene (max-width:700px){
 .asc-tower{width:min(440px,90%)}
 .asc-floor-card{left:auto;right:4cqw;bottom:1.5cqw;z-index:5;width:auto;display:flex;align-items:center;gap:8px;padding:5px 9px;border-radius:999px}
 .asc-floor-card>div{gap:5px;font-size:10px}
 .asc-floor-card>div>b{font-size:11px}
 .asc-floor-card>div>span,.asc-floor-card>div>i{display:none}
 .asc-floor-card footer{gap:8px;margin:0;padding:0 0 0 8px;border-top:0;border-left:1px solid #ffffff1a;font-size:10px}
 .asc-floor-card footer .asc-price .currency-icon{width:10px;height:10px}
 .asc-floor.passed .asc-floor-card{background:#2b3b1ee6}
 .asc-floor-sign,.asc-floor-card.is-start,.asc-floor-card.is-empty{display:none}
 .asc-floor-prize{left:4cqw;width:27cqw}
}

@media(min-width:1280px){.header{gap:18px}.header nav{gap:20px}.header .nav-link{font-size:12px}}
@media(max-width:1179px){
 .asc-stage{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:560px 156px auto}
 .asc-scene{grid-column:1/-1;grid-row:1;height:560px}
 .asc-dock{grid-column:1/-1;grid-row:2}
 .asc-stake{grid-column:1;grid-row:3}
 .asc-reward{grid-column:2;grid-row:3}
 .asc-panel{margin:0 14px 14px}
 .asc-inventory{grid-template-columns:repeat(4,minmax(0,1fr))}
 .asc-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
 .asc-steps>li:nth-child(2):after{display:none}
}
@media(max-width:760px){
 .ascent-view{padding:18px 12px 32px}
 .asc-heading{align-items:flex-start}
 .asc-heading p{font-size:13px}
 .asc-heading .outline-btn{min-height:38px;padding:8px 12px;font-size:11px}
 .asc-stage{display:flex;flex-direction:column;border-radius:16px}
 .asc-scene{order:1;height:440px;flex:none}
 .asc-dock{order:2;padding:4px 12px 16px;height:auto;min-height:158px;grid-template-rows:22px auto auto}
 .asc-stake{order:3}
 .asc-reward{order:4}
 .asc-app:is([data-phase=active],[data-phase=climbing],[data-phase=claim_pending]) .asc-reward{order:3}
 .asc-panel{margin:0 10px 10px;padding:14px}
 .asc-tower{--base:44px}
 .asc-scene-top{top:12px;left:12px;right:12px}
 .asc-dock-status{font-size:15px}
 .asc-actions{display:grid;grid-template-columns:1fr;width:100%}
 .asc-actions:has(.asc-next){grid-template-columns:1fr 1fr}
 .asc-actions button{min-width:0;min-height:52px;padding:0 12px;font-size:13px}
 .asc-actions .launch-btn,.asc-actions .asc-next{min-width:0}
 .asc-inventory{grid-template-columns:repeat(3,minmax(0,1fr))}
 .asc-reward-art{height:170px}
 .asc-reward-art img{height:135px}
 .asc-steps{grid-template-columns:1fr;gap:8px}
 .asc-steps>li{padding:14px}
 .asc-steps>li:after{display:none}
 .asc-history>div{grid-template-columns:1fr}
}
@media(max-width:380px){
 .asc-actions:has(.asc-next){grid-template-columns:1fr}
 .asc-scene{height:400px}
}

@media(prefers-reduced-motion:reduce){
 .asc-app *,.asc-app *:before,.asc-app *:after{animation:none!important}
 .asc-world,.asc-player,.asc-shaft{transition-duration:.01s!important}
}

/* Buttons share one row on desktop so the dock height never changes between states. */
@media(min-width:761px){
 .asc-actions{flex-wrap:nowrap;width:min(540px,100%)}
 .asc-actions button{flex:1 1 0;min-width:0;padding:0 16px}
 .asc-actions .launch-btn,.asc-actions .asc-next{min-width:0;max-width:320px}
}

/* Static end states (also after a reload): the fallen hero is gone, the winner stands proud. */
.asc-player.fallen .asc-hero,.asc-player.fallen :is(.asc-player-aura,.asc-player-shadow){opacity:0}
.asc-app[data-phase=lost] .asc-stage:before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(120% 90% at 50% 50%,transparent 55%,#ff3b2a1f 100%)}
.asc-app[data-phase=claimed] .asc-stage:before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(120% 90% at 50% 50%,transparent 60%,#c0e67c14 100%)}

/* Full-screen impact: a red vignette sweeps the whole window, the stage jolts, then calms down. */
.asc-vignette{position:fixed;inset:0;z-index:60;pointer-events:none;opacity:0}
.asc-app[data-moment=lost] .asc-vignette{background:radial-gradient(130% 100% at 50% 50%,transparent 45%,#ff2a1a55 85%,#ff2a1a99 100%);animation:asc-vignette 1.9s .5s ease-out both}
.asc-app[data-moment=won] .asc-vignette{background:radial-gradient(130% 100% at 50% 50%,transparent 50%,#c0e67c40 100%);animation:asc-vignette 1.6s ease-out both}
.asc-app[data-moment=lost] .asc-stage{animation:asc-jolt .55s .55s cubic-bezier(.36,.07,.19,.97) both}
@keyframes asc-vignette{0%{opacity:0}18%{opacity:1}100%{opacity:0}}
@keyframes asc-jolt{0%,100%{transform:none}15%{transform:translate(-7px,3px) rotate(-.25deg)}35%{transform:translate(6px,-2px) rotate(.2deg)}55%{transform:translate(-4px,1px)}75%{transform:translate(2px,0)}}

/* The slip: feet skid, arms windmill backwards, he hangs for a beat and tumbles out of frame. */
.asc-player-dust{position:absolute;left:50%;bottom:0;width:0;height:0;pointer-events:none}
.asc-player-dust>i{position:absolute;left:0;bottom:0;width:4cqw;height:4cqw;border-radius:50%;background:radial-gradient(circle,#d8ccb0aa,#d8ccb000 70%);opacity:0}
.asc-app[data-moment=lost] .asc-player.fallen .asc-hero{opacity:1}
.asc-app[data-moment=lost] .asc-player.fallen .asc-player-shadow{opacity:.75;animation:asc-shadow-out 1.2s ease-in both}
.asc-app[data-moment=lost] .asc-player-dust>i{animation:asc-puff .7s .12s ease-out both}
.asc-app[data-moment=lost] .asc-player-dust>i:nth-child(1){--dx:-7cqw;--dy:-1cqw}
.asc-app[data-moment=lost] .asc-player-dust>i:nth-child(2){--dx:-4cqw;--dy:-4cqw;animation-delay:.18s}
.asc-app[data-moment=lost] .asc-player-dust>i:nth-child(3){--dx:5cqw;--dy:-2cqw;animation-delay:.15s}
.asc-app[data-moment=lost] .asc-player-dust>i:nth-child(4){--dx:8cqw;--dy:-3cqw;animation-delay:.22s}
.asc-app[data-moment=lost] .asc-player-dust>i:nth-child(5){--dx:1cqw;--dy:-5cqw;animation-delay:.26s}
@keyframes asc-slip{
 0%{transform:translate(0,0) rotate(0)}
 10%{transform:translate(3cqw,0) rotate(-6deg)}
 22%{transform:translate(5cqw,-1cqw) rotate(14deg)}
 32%{transform:translate(3cqw,-4cqw) rotate(-10deg)}
 42%{transform:translate(4cqw,-5cqw) rotate(18deg)}
 50%{transform:translate(5cqw,-5.5cqw) rotate(24deg)}
 58%{transform:translate(6cqw,-3cqw) rotate(40deg);opacity:1}
 100%{transform:translate(9cqw,80cqw) rotate(200deg);opacity:0}}
@keyframes asc-shadow-out{0%{opacity:.75;transform:scaleX(1)}35%{opacity:.6;transform:translateX(4cqw) scaleX(1.2)}100%{opacity:0;transform:translateX(6cqw) scaleX(.2)}}
@keyframes asc-puff{0%{opacity:0;transform:translate(0,0) scale(.4)}30%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(2.4)}}

/* The failed floor cracks: a red flash runs along the deck and the platform shudders. */
.asc-floor.failed .asc-platform{filter:brightness(.55) saturate(.6) sepia(.3) hue-rotate(-30deg)}
.asc-app[data-moment=lost] .asc-floor.failed .asc-platform{animation:asc-shudder .45s .5s ease-out both}
.asc-app[data-moment=lost] .asc-floor.failed:after{animation:asc-crack .9s .45s ease-out both}
@keyframes asc-shudder{0%,100%{transform:none}20%{transform:translateY(1cqw) rotate(.6deg)}45%{transform:translateY(-.6cqw) rotate(-.4deg)}70%{transform:translateY(.3cqw)}}
@keyframes asc-crack{0%{opacity:0;transform:scaleX(.1)}25%{opacity:1;transform:scaleX(1.15);height:4px}100%{opacity:1;transform:scaleX(1);height:2px}}

/* Landing on a new floor: the deck flashes and a ring of light spreads from the hero's feet. */
.asc-app[data-moment=landed] .asc-floor.focus .asc-platform{animation:asc-land .9s ease-out both}
.asc-app[data-moment=landed] .asc-player-shadow{animation:asc-ring .9s ease-out both}
@keyframes asc-land{0%{filter:brightness(1.6) saturate(1) drop-shadow(0 0 20px #c0e67c)}100%{filter:brightness(.82) saturate(.75)}}
@keyframes asc-ring{0%{box-shadow:0 0 0 0 #c0e67cbb}100%{box-shadow:0 0 0 9cqw #c0e67c00}}

/* Victory: a jump with a squash, light rays behind the reward. */
.asc-app[data-moment=won] .asc-reward-art:after{content:'';position:absolute;inset:-20%;z-index:-1;border-radius:50%;background:repeating-conic-gradient(#c0e67c33 0 6deg,transparent 6deg 18deg);animation:asc-rays 1.8s ease-out both}
@keyframes asc-rays{0%{opacity:0;transform:scale(.5) rotate(0)}30%{opacity:1}100%{opacity:0;transform:scale(1.1) rotate(40deg)}}

@media(prefers-reduced-motion:reduce){.asc-vignette{display:none}.asc-app[data-moment] .asc-stage{animation:none!important}}

/* The mug: foam bubbles drift up while he stands, splash out on landing and spill as beer when he slips. */
.asc-mug{position:absolute;z-index:3;left:66%;top:4%;width:0;height:0;pointer-events:none}
.asc-foam>i{position:absolute;left:calc(var(--x,0) * 1cqw);top:0;width:1.1cqw;height:1.1cqw;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#fff7e0cc 55%,#fff0);opacity:0;animation:asc-bubble 2.8s ease-out infinite}
.asc-foam>i:nth-child(1){--x:-2;animation-delay:0s}
.asc-foam>i:nth-child(2){--x:1;animation-delay:.6s;width:.8cqw;height:.8cqw}
.asc-foam>i:nth-child(3){--x:3;animation-delay:1.2s}
.asc-foam>i:nth-child(4){--x:-1;animation-delay:1.8s;width:.7cqw;height:.7cqw}
.asc-foam>i:nth-child(5){--x:2;animation-delay:2.3s;width:.9cqw;height:.9cqw}
.asc-player.rising .asc-foam>i{animation-duration:1.1s}
.asc-player.fallen .asc-foam{display:none}
.asc-app[data-visible=false] .asc-foam>i{animation-play-state:paused}
@keyframes asc-bubble{0%{opacity:0;transform:translate(0,0) scale(.5)}20%{opacity:.95}100%{opacity:0;transform:translate(calc(var(--x,0) * .6cqw),-7cqw) scale(1.2)}}

.asc-splash>i{position:absolute;left:0;top:0;width:1.6cqw;height:2.2cqw;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:radial-gradient(circle at 35% 30%,#fff3c4,#f6b91f 45%,#c27a08);opacity:0}
.asc-app[data-moment=lost] .asc-splash>i{animation:asc-spill 1.1s cubic-bezier(.2,.6,.4,1) both}
.asc-app[data-moment=lost] .asc-splash>i:nth-child(1){--sx:-8cqw;--sy:-9cqw;animation-delay:.12s}
.asc-app[data-moment=lost] .asc-splash>i:nth-child(2){--sx:-4cqw;--sy:-12cqw;animation-delay:.16s}
.asc-app[data-moment=lost] .asc-splash>i:nth-child(3){--sx:2cqw;--sy:-11cqw;animation-delay:.2s}
.asc-app[data-moment=lost] .asc-splash>i:nth-child(4){--sx:-11cqw;--sy:-5cqw;animation-delay:.22s}
.asc-app[data-moment=lost] .asc-splash>i:nth-child(5){--sx:6cqw;--sy:-8cqw;animation-delay:.26s}
.asc-app[data-moment=lost] .asc-splash>i:nth-child(6){--sx:-6cqw;--sy:-14cqw;animation-delay:.3s}
.asc-app[data-moment=lost] .asc-splash>i:nth-child(7){--sx:9cqw;--sy:-6cqw;animation-delay:.34s}
.asc-app[data-moment=lost] .asc-splash>i:nth-child(8){--sx:-2cqw;--sy:-16cqw;animation-delay:.38s}
@keyframes asc-spill{0%{opacity:0;transform:translate(0,0) scale(.4)}12%{opacity:1}45%{transform:translate(var(--sx),var(--sy)) scale(1) rotate(30deg)}100%{opacity:0;transform:translate(calc(var(--sx) * 1.4),calc(var(--sy) * -1.6)) scale(.7) rotate(90deg)}}

/* Landing and victory: a white foam burst over the rim. */
.asc-app:is([data-moment=landed],[data-moment=won]) .asc-foam>i{animation:asc-foam-burst .9s cubic-bezier(.2,.8,.3,1) both}
.asc-app:is([data-moment=landed],[data-moment=won]) .asc-foam>i:nth-child(1){--fx:-4cqw;--fy:-6cqw}
.asc-app:is([data-moment=landed],[data-moment=won]) .asc-foam>i:nth-child(2){--fx:-1cqw;--fy:-9cqw;animation-delay:.05s}
.asc-app:is([data-moment=landed],[data-moment=won]) .asc-foam>i:nth-child(3){--fx:3cqw;--fy:-7cqw;animation-delay:.08s}
.asc-app:is([data-moment=landed],[data-moment=won]) .asc-foam>i:nth-child(4){--fx:-6cqw;--fy:-3cqw;animation-delay:.1s}
.asc-app:is([data-moment=landed],[data-moment=won]) .asc-foam>i:nth-child(5){--fx:5cqw;--fy:-4cqw;animation-delay:.12s}
.asc-app[data-moment=won] .asc-foam>i{animation-duration:1.3s}
@keyframes asc-foam-burst{0%{opacity:0;transform:translate(0,0) scale(.6)}20%{opacity:1;transform:translate(calc(var(--fx) * .4),calc(var(--fy) * .4)) scale(2.2)}100%{opacity:0;transform:translate(var(--fx),var(--fy)) scale(1.4)}}


/* Ascent hero as a cut-out puppet: six layers of hero-beer.webp (see src/assets/ascent/ART.md) placed on
   the original 1254×1254 frame, each turning on its own joint. Joints use the individual transform
   properties so they compose: `translate` rides with the breath/jump, `rotate` is the joint angle,
   `scale` is squash and stretch. Every movement is composited (transform only), nothing triggers layout. */

.asc-hero{position:relative;z-index:2;width:100%;height:100%}
.asc-hero-body{position:absolute;inset:0;transform-origin:50.3% 97.6%}
.asc-part{position:absolute;display:block}
.asc-part>img{display:block;width:100%;height:auto;filter:drop-shadow(0 .5cqw .7cqw #0009)}
/* left/top/width: piece box on the frame; origin: the joint inside the piece. */
.asc-part[data-part=leg-l]{left:26.635%;top:83.413%;width:21.053%;transform-origin:64.8% 17.1%}
.asc-part[data-part=leg-r]{left:51.834%;top:83.652%;width:22.329%;transform-origin:38.2% 16.9%}
.asc-part[data-part=torso]{left:26.555%;top:43.7%;width:47.687%;transform-origin:49.8% 99.6%}
.asc-part[data-part=head]{left:22.488%;top:.478%;width:58.612%;transform-origin:55.5% 96.1%}
.asc-part[data-part=arm]{left:67.065%;top:47.368%;width:13.238%;transform-origin:16.3% 18.8%}
.asc-part[data-part=mug]{left:13.955%;top:39.793%;width:27.113%;transform-origin:92.6% 76.6%}

/* Idle: he breathes (the chest lifts head and arms with it), sways on his heels, the head lags behind,
   and every few breaths the mug comes up for a lazy toast. Two loop lengths so it never looks canned. */
.asc-hero-body{animation:asc-h-sway 6.3s ease-in-out infinite}
.asc-part[data-part=torso]{animation:asc-h-breath 4.2s ease-in-out infinite}
.asc-part[data-part=head]{animation:asc-h-ride-head 4.2s -.25s ease-in-out infinite,asc-h-tilt 6.3s -1.2s ease-in-out infinite}
.asc-part[data-part=mug]{animation:asc-h-ride-mug 4.2s -.1s ease-in-out infinite,asc-h-toast 8.4s 1.5s ease-in-out infinite}
.asc-part[data-part=arm]{animation:asc-h-ride-arm 4.2s -.1s ease-in-out infinite,asc-h-arm-idle 6.3s ease-in-out infinite}
@keyframes asc-h-sway{0%,100%{rotate:-.6deg}50%{rotate:.6deg}}
@keyframes asc-h-breath{0%,100%{scale:1}50%{scale:1.008 1.016}}
@keyframes asc-h-ride-head{0%,100%{translate:0 0}50%{translate:0 -1.3%}}
@keyframes asc-h-ride-mug{0%,100%{translate:0 0}50%{translate:0 -1.7%}}
@keyframes asc-h-ride-arm{0%,100%{translate:0 0}50%{translate:0 -1.6%}}
@keyframes asc-h-tilt{0%,100%{rotate:-1.2deg}50%{rotate:1deg}}
@keyframes asc-h-toast{0%,58%,92%,100%{rotate:0deg}68%{rotate:11deg}74%{rotate:9deg}80%{rotate:11deg}}
@keyframes asc-h-arm-idle{0%,100%{rotate:0deg}50%{rotate:-1.6deg}}

/* The jump to the next floor (2.5s, in step with the camera): crouch, push off, mug and free arm swing up
   for balance, legs tuck under, he hangs at the apex while the shaft rushes past, reaches down with his
   feet and lands with a squash. The outcome is still unknown here, so it always ends standing. */
.asc-player.rising .asc-hero-body{animation:asc-h-jump 2.5s linear both}
.asc-player.rising .asc-part[data-part=torso]{animation:none}
.asc-player.rising .asc-part[data-part=head]{animation:asc-h-jump-head 2.5s linear both}
.asc-player.rising .asc-part[data-part=mug]{animation:asc-h-jump-mug 2.5s linear both}
.asc-player.rising .asc-part[data-part=arm]{animation:asc-h-jump-arm 2.5s linear both}
.asc-player.rising .asc-part[data-part=leg-l]{animation:asc-h-jump-leg-l 2.5s linear both}
.asc-player.rising .asc-part[data-part=leg-r]{animation:asc-h-jump-leg-r 2.5s linear both}
@keyframes asc-h-jump{
 0%{translate:0 0;scale:1;rotate:0deg;animation-timing-function:cubic-bezier(.3,0,.6,1)}
 9%{translate:0 0;scale:1.07 .9;rotate:0deg;animation-timing-function:cubic-bezier(.2,.9,.3,1)}
 18%{translate:0 -5cqw;scale:.93 1.09;rotate:-2deg;animation-timing-function:cubic-bezier(.2,.7,.4,1)}
 34%{translate:0 -11cqw;scale:1;rotate:-3deg;animation-timing-function:ease-in-out}
 58%{translate:0 -12.5cqw;scale:1;rotate:-1deg;animation-timing-function:cubic-bezier(.5,0,.9,.6)}
 84%{translate:0 -2cqw;scale:.97 1.04;rotate:1deg;animation-timing-function:cubic-bezier(.4,0,1,1)}
 89%{translate:0 0;scale:1.08 .9;rotate:0deg;animation-timing-function:cubic-bezier(.2,.8,.3,1)}
 95%{translate:0 0;scale:.98 1.02}
 100%{translate:0 0;scale:1;rotate:0deg}}
@keyframes asc-h-jump-head{
 0%{rotate:0deg;translate:0 0}9%{rotate:3deg;translate:0 2%}18%{rotate:-4deg;translate:0 -2%}34%{rotate:-3deg;translate:0 -1%}
 58%{rotate:-1deg;translate:0 0}84%{rotate:2deg;translate:0 -1%}89%{rotate:3deg;translate:0 3%}95%{rotate:-1deg;translate:0 -1%}100%{rotate:0deg;translate:0 0}}
@keyframes asc-h-jump-mug{0%{rotate:0deg}9%{rotate:-3deg}18%{rotate:16deg}34%{rotate:14deg}58%{rotate:10deg}84%{rotate:6deg}89%{rotate:-2deg}95%{rotate:3deg}100%{rotate:0deg}}
@keyframes asc-h-jump-arm{0%{rotate:0deg}9%{rotate:4deg}18%{rotate:-14deg}34%{rotate:-12deg}58%{rotate:-9deg}84%{rotate:-6deg}89%{rotate:3deg}100%{rotate:0deg}}
@keyframes asc-h-jump-leg-l{0%,18%{translate:0 0;rotate:0deg}30%{translate:0 -14%;rotate:9deg}58%{translate:0 -12%;rotate:7deg}80%{translate:0 2%;rotate:-2deg}89%{translate:0 0;rotate:4deg}100%{translate:0 0;rotate:0deg}}
@keyframes asc-h-jump-leg-r{0%,18%{translate:0 0;rotate:0deg}30%{translate:0 -14%;rotate:-9deg}58%{translate:0 -12%;rotate:-7deg}80%{translate:0 2%;rotate:2deg}89%{translate:0 0;rotate:-4deg}100%{translate:0 0;rotate:0deg}}

/* Landed safely: a little settle bounce and a "cheers" with the mug, the head nods along. */
.asc-app[data-moment=landed] .asc-hero-body{animation:asc-h-settle .8s cubic-bezier(.3,1.3,.5,1) both}
.asc-app[data-moment=landed] .asc-part[data-part=mug]{animation:asc-h-cheers 1.2s cubic-bezier(.3,1.2,.5,1) both}
.asc-app[data-moment=landed] .asc-part[data-part=head]{animation:asc-h-nod 1.2s ease-out both}
.asc-app[data-moment=landed] .asc-part[data-part=arm]{animation:asc-h-arm-out 1.2s ease-out both}
.asc-app[data-moment=landed] .asc-part[data-part=leg-l]{animation:asc-h-plant-l .5s ease-out both}
.asc-app[data-moment=landed] .asc-part[data-part=leg-r]{animation:asc-h-plant-r .5s ease-out both}
@keyframes asc-h-settle{0%{translate:0 0;scale:1.04 .95}30%{translate:0 -1.5cqw;scale:.98 1.03}60%{translate:0 0;scale:1.01 .99}100%{translate:0 0;scale:1}}
@keyframes asc-h-cheers{0%{rotate:0deg}35%{rotate:18deg}65%{rotate:15deg}100%{rotate:0deg}}
@keyframes asc-h-nod{0%{rotate:0deg;translate:0 0}35%{rotate:-3deg;translate:0 -1%}60%{rotate:2deg;translate:0 1%}100%{rotate:0deg;translate:0 0}}
@keyframes asc-h-arm-out{0%{rotate:0deg}35%{rotate:-10deg}100%{rotate:0deg}}
@keyframes asc-h-plant-l{0%{rotate:4deg}100%{rotate:0deg}}
@keyframes asc-h-plant-r{0%{rotate:-4deg}100%{rotate:0deg}}

/* Victory: he hops with both arms up, the mug high for a toast, legs kicking out. */
.asc-app[data-moment=won] .asc-hero-body{animation:asc-h-hop 1.4s linear both}
.asc-app[data-moment=won] .asc-part[data-part=mug]{animation:asc-h-win-mug 1.4s ease-in-out both}
.asc-app[data-moment=won] .asc-part[data-part=arm]{animation:asc-h-win-arm 1.4s ease-in-out both}
.asc-app[data-moment=won] .asc-part[data-part=head]{animation:asc-h-win-head 1.4s ease-in-out both}
.asc-app[data-moment=won] .asc-part[data-part=leg-l]{animation:asc-h-win-leg-l 1.4s ease-in-out both}
.asc-app[data-moment=won] .asc-part[data-part=leg-r]{animation:asc-h-win-leg-r 1.4s ease-in-out both}
@keyframes asc-h-hop{
 0%{translate:0 0;scale:1;rotate:0deg;animation-timing-function:cubic-bezier(.3,0,.6,1)}
 14%{translate:0 0;scale:1.06 .92;animation-timing-function:cubic-bezier(.2,.8,.4,1)}
 34%{translate:0 -7cqw;scale:.96 1.05;rotate:-2deg;animation-timing-function:cubic-bezier(.5,0,.9,.5)}
 52%{translate:0 0;scale:1.06 .93;rotate:0deg;animation-timing-function:cubic-bezier(.3,1.3,.5,1)}
 68%{scale:.99 1.01}
 100%{translate:0 0;scale:1;rotate:0deg}}
@keyframes asc-h-win-mug{0%{rotate:0deg}14%{rotate:-3deg}34%{rotate:30deg}52%{rotate:24deg}80%{rotate:28deg}100%{rotate:0deg}}
@keyframes asc-h-win-arm{0%{rotate:0deg}14%{rotate:4deg}34%{rotate:-20deg}52%{rotate:-10deg}70%{rotate:-18deg}100%{rotate:0deg}}
@keyframes asc-h-win-head{0%{rotate:0deg;translate:0 0}14%{rotate:3deg;translate:0 2%}34%{rotate:-6deg;translate:0 -2%}52%{rotate:3deg;translate:0 2%}70%{rotate:-2deg;translate:0 0}100%{rotate:0deg;translate:0 0}}
@keyframes asc-h-win-leg-l{0%,14%{translate:0 0;rotate:0deg}34%{translate:0 -10%;rotate:10deg}52%,100%{translate:0 0;rotate:0deg}}
@keyframes asc-h-win-leg-r{0%,14%{translate:0 0;rotate:0deg}34%{translate:0 -10%;rotate:-10deg}52%,100%{translate:0 0;rotate:0deg}}

/* The slip (body path is asc-slip): arms windmill, the beer flies, legs kick as he goes over. */
.asc-app[data-moment=lost] .asc-player.fallen .asc-hero-body{animation:asc-slip 1.7s cubic-bezier(.3,0,.6,1) both}
.asc-app[data-moment=lost] .asc-player.fallen .asc-part[data-part=torso]{animation:none}
.asc-app[data-moment=lost] .asc-player.fallen .asc-part[data-part=mug]{animation:asc-h-flail-mug 1.7s ease-in-out both}
.asc-app[data-moment=lost] .asc-player.fallen .asc-part[data-part=arm]{animation:asc-h-flail-arm 1.7s ease-in-out both}
.asc-app[data-moment=lost] .asc-player.fallen .asc-part[data-part=head]{animation:asc-h-flail-head 1.7s ease-in-out both}
.asc-app[data-moment=lost] .asc-player.fallen .asc-part[data-part=leg-l]{animation:asc-h-flail-leg-l 1.7s ease-in-out both}
.asc-app[data-moment=lost] .asc-player.fallen .asc-part[data-part=leg-r]{animation:asc-h-flail-leg-r 1.7s ease-in-out both}
@keyframes asc-h-flail-mug{0%{rotate:0deg}10%{rotate:4deg}22%{rotate:22deg}32%{rotate:6deg}42%{rotate:26deg}58%{rotate:40deg}100%{rotate:70deg}}
@keyframes asc-h-flail-arm{0%{rotate:0deg}10%{rotate:-8deg}22%{rotate:-36deg}32%{rotate:-10deg}42%{rotate:-42deg}58%{rotate:-50deg}100%{rotate:-50deg}}
@keyframes asc-h-flail-head{0%{rotate:0deg}10%{rotate:2deg}22%{rotate:7deg}32%{rotate:-5deg}42%{rotate:8deg}58%{rotate:-6deg}100%{rotate:10deg}}
@keyframes asc-h-flail-leg-l{0%{rotate:0deg}10%{rotate:-10deg}22%{rotate:20deg}32%{rotate:-6deg}42%{rotate:22deg}58%{rotate:30deg}100%{rotate:35deg}}
@keyframes asc-h-flail-leg-r{0%{rotate:0deg}10%{rotate:12deg}22%{rotate:-6deg}32%{rotate:18deg}42%{rotate:-14deg}58%{rotate:-28deg}100%{rotate:-35deg}}

/* Mobile shell owns its dock and sheet. Desktop keeps the existing header. */
#mobile-navigation,.mobile-picker-tabs{display:none}
.mobile-more{border:1px solid #49603570;border-bottom:0;padding:12px 20px 22px;background:linear-gradient(145deg,#1c2718,#10180f);color:#e3ecd8;border-radius:24px 24px 0 0;width:min(560px,100%);max-width:100%;max-height:85dvh;position:fixed;inset:auto 0 0;margin:0 auto;overflow:auto;overscroll-behavior:contain;box-shadow:0 -12px 70px #0006;animation:mobile-sheet-in .3s cubic-bezier(.2,.75,.25,1) both;padding-bottom:calc(22px + env(safe-area-inset-bottom))}
.mobile-more::backdrop{background:#030802b8;backdrop-filter:blur(7px)}
.mobile-more-handle{width:34px;height:4px;margin:0 auto 22px;border-radius:4px;background:#667d4d55}
.mobile-more header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:21px}
.mobile-more header small{font-size:9px;letter-spacing:2px;color:#a7c582}
.mobile-more h2{font:750 25px/1.2 var(--font);letter-spacing:-.8px;margin:8px 0 0}
.mobile-more header>button{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid #829d4d3b;border-radius:13px;background:#cadfa00a;color:#adc591}
.mobile-more header>button .ui-icon{width:21px;height:21px}
.mobile-more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mobile-more-grid button{text-align:left;position:relative;display:grid;gap:5px;min-height:112px;padding:15px;border:1px solid #536b3d55;border-radius:14px;background:linear-gradient(140deg,#d8efad08,#080e070d);color:#d5e5c1;touch-action:manipulation}
.mobile-more-grid button>span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#b9dd7c12;color:var(--lime);margin-bottom:4px}
.mobile-more-grid .ui-icon{width:19px;height:19px}
.mobile-more-grid b{font-size:13px;font-weight:700}
.mobile-more-grid small{color:#8c9e7c;font-size:9px;line-height:1.5}
.mobile-more-grid button.is-active{border-color:#b9dd7c88;background:#b9dd7c12}
.mobile-more>p{font-size:10px;line-height:1.6;text-align:center;margin:18px 0 0;color:#7f926e}
.mobile-more button:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
@keyframes mobile-sheet-in{from{opacity:.5;transform:translateY(35px)}to{opacity:1;transform:none}}
@media(max-width:760px){
 :root{--mobile-dock-height:74px;scroll-padding-top:88px;scroll-padding-bottom:calc(90px + env(safe-area-inset-bottom))}
 /* With viewport-fit=cover the page starts under the notch / in-app browser bar: keep content below it. */
 body{padding-top:env(safe-area-inset-top);padding-bottom:calc(var(--mobile-dock-height) + env(safe-area-inset-bottom));overflow-x:clip}
 button,a,input,select{touch-action:manipulation}
 #mobile-navigation{display:block}
 .mobile-dock{position:fixed;z-index:75;inset:auto 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;align-items:stretch;min-height:var(--mobile-dock-height);padding:7px max(7px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left));background:#11190ff5;border-top:1px solid #a2c36632;box-shadow:0 -10px 35px #0005;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transform:translateY(var(--mobile-viewport-gap,0px))}
 /* The dock's surface continues past the screen edge, so no strip of page can ever show beneath it. */
 .mobile-dock:after{content:'';position:absolute;left:0;right:0;top:100%;height:160px;background:#11190f;pointer-events:none}
 .mobile-dock>a,.mobile-dock>button{position:relative;min-width:0;min-height:56px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;padding:5px 2px;border-radius:12px;color:#829270;line-height:1;transition:color .18s,background .18s;touch-action:manipulation}
 .mobile-dock>button:disabled{opacity:.5}
 .mobile-dock small{font-size:clamp(8px,2.25vw,10px);font-weight:650;letter-spacing:-.1px;white-space:nowrap}
 .mobile-dock .ui-icon{width:23px;height:23px;margin:0;stroke:none;fill:currentColor}
 .mobile-dock .is-active{color:#c4e890;background:linear-gradient(#badf7b0c,transparent)}
 .mobile-dock .is-active:before{content:'';position:absolute;top:-8px;left:calc(50% - 12px);width:24px;height:2px;border-radius:3px;background:#badf7b;box-shadow:0 0 13px #badf7b55}
 .mobile-dock .mobile-dock-deposit{padding-top:0;color:#c5e794;gap:4px}
 .mobile-dock-deposit>span{width:46px;height:42px;margin-top:-11px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#d1ed9b,#afd46a);color:#203010;border:1px solid #daeeac;box-shadow:0 5px 19px #8eb34328,0 0 0 5px #11190f}
 .mobile-dock-deposit>span .ui-icon{width:23px;height:23px}
 .mobile-dock>a:active,.mobile-dock>button:active{background:#c2e88b12;transition:none}
 .mobile-dock-deposit:active>span{transform:scale(.95)}
 body.mobile-keyboard-open .mobile-dock{display:none}
 .header{top:env(safe-area-inset-top)}
 .header:before{content:'';position:absolute;left:0;right:0;bottom:100%;height:env(safe-area-inset-top);background:#0c120c;pointer-events:none}
 .header{height:66px;min-height:66px;display:flex;flex-wrap:nowrap;gap:10px;padding:9px max(14px,env(safe-area-inset-right)) 9px max(14px,env(safe-area-inset-left));align-items:center;background:#0c120cf5;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid #a6c9711f}
 .header nav{display:none!important}
 .header .wordmark{font-size:24px;letter-spacing:-1px;flex:none;margin:0}
 .header .wordmark sup{font-size:14px;top:0}
 .header-right{margin-left:auto;gap:12px;min-width:0;flex:0 1 auto;justify-content:flex-end}
 .header .header-telegram,.header #header-deposit-btn{display:none}
 .header .balance{margin:0;padding:0;border:0;min-width:0;display:flex;align-items:flex-end;flex-direction:column;gap:3px}
 .header .balance small{font-size:8px;color:#8c9d7b;line-height:1}
 .header #balance{font-size:13px;letter-spacing:-.3px;line-height:1.25;white-space:nowrap;max-width:148px}
 .header #balance .currency-icon{width:11px;height:11px;margin-left:3px}
 .header .header-avatar{width:37px;height:37px;flex:none;border-radius:12px}
 .header .account-control{flex:none}
 .header .account-menu{position:fixed;top:72px;right:12px;left:auto;width:min(300px,calc(100vw - 24px));max-height:calc(100dvh - 166px);overflow:auto;border-radius:16px;overscroll-behavior:contain;box-shadow:0 15px 70px #000a}
 .header .account-menu button,.header .account-menu a{min-height:46px}
 main{padding:22px 12px 36px}
 .page-heading{margin:0 0 22px;padding:0;gap:12px;align-items:flex-start}
 .page-heading h1{font-size:var(--title-size,32px);line-height:1.08;letter-spacing:-1.2px}
 .page-heading p{font-size:11px;line-height:1.7;max-width:300px}
 #upgrade-view>.page-heading{justify-content:center;text-align:center;margin:7px 0 22px}
 #upgrade-view>.page-heading .eyebrow{justify-content:center;letter-spacing:2px;font-size:8px}
 #upgrade-view>.page-heading h1 sup,#upgrade-view>.page-heading .site-stats,#upgrade-view>.page-heading .version{display:none}
 #upgrade-view>.page-heading p{font-size:10px;max-width:285px;margin:9px auto 0}
 .lab{border-radius:17px;overflow:hidden}
 .lab-topline{min-height:47px;padding:10px 13px;border-bottom:1px solid #a3bf7620}
 .lab-topline>span{font-size:8px;letter-spacing:1px}.lab-tools{gap:6px}.lab-tools .icon-btn{width:36px;height:34px;border-radius:9px}
 .lab-stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:14px 12px 0;gap:13px 10px;align-items:stretch}
 .lab-stage .chance-stage{grid-column:1/-1;grid-row:1;justify-self:center;width:100%;padding:0 0 13px;margin:0}
 .chance-stage .ring-wrap{width:clamp(245px,72vw,292px);height:clamp(245px,72vw,292px);margin:0 auto}
 .chance-stage .chance-adjust{margin:14px auto 0;width:min(290px,94%);gap:10px;min-height:30px}
 .chance-adjust input{min-height:32px;touch-action:pan-y}
 .chance-stage .chance-text>strong{font-size:clamp(40px,11vw,52px)}
 .chance-stage .skuf-mascot{width:83%;height:83%;left:8.5%;top:8.5%}.skuf-mascot img{max-width:100%;max-height:100%}
 .lab-stage .source-stage{grid-row:2;grid-column:1}.lab-stage .target-stage{grid-row:2;grid-column:2}
 .lab-stage .skin-stage{border:1px solid #35452a80;border-radius:12px;min-width:0;background:radial-gradient(ellipse at 50% 55%,#a9d66a0b,transparent 70%),#11190f;padding:11px 10px 10px}
 .skin-stage .stage-label{font-size:8px;letter-spacing:0;gap:4px;display:flex;align-items:center;justify-content:space-between;min-height:15px;flex-wrap:wrap;line-height:1.5}
 .skin-stage .stage-label>span{display:none}.skin-stage .stage-label b{font-size:7px;padding:2px 4px;white-space:nowrap}
 .skin-stage .stage-display{min-height:125px;height:125px;max-height:145px;padding:4px 0 0;width:100%;overflow:hidden}
 .skin-stage .stage-display img{height:72px;max-height:72px;object-fit:contain;width:100%}
 .skin-stage .skin-weapon{font-size:8px}.skin-stage .skin-name{font-size:11px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:block}.skin-stage .skin-wear{font-size:7px}
 .skin-stage .stage-empty{min-height:110px;padding:10px 0}.skin-stage .stage-empty strong{font-size:11px;line-height:1.4}.skin-stage .stage-empty small{font-size:8px}.skin-stage .stage-empty .ui-icon{width:25px;height:25px}
 .skin-stage .stage-value{display:flex;align-items:center;justify-content:space-between;gap:5px;padding-top:9px;margin-top:4px;min-height:30px;flex-wrap:wrap}
 .stage-value small{font-size:7px;line-height:1.4}.stage-value strong{font-size:13px}.stage-value .currency-icon{width:10px;height:10px}
 .skin-stage .stage-corner{display:none}.source-stack{height:100%;justify-content:center}.source-stack-fan{height:78px}.source-stack-meta .skin-name{max-width:120px}.skin-stage .source-stack-fan img{height:64px;max-height:64px;width:88px}
 .lab-controls{display:grid;grid-template-columns:minmax(0,1fr);padding:14px 12px 12px;gap:12px}
 .lab-controls .balance-control{grid-column:1;grid-row:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid #34482a77;border-radius:10px;background:#0c140a}
 .balance-control label{font-size:10px;line-height:1.6;max-width:145px}.balance-control label .currency-icon{width:10px;height:10px}
 .balance-control .stake-field{width:145px;max-width:48%;height:40px;margin:0;min-width:0}.balance-control input{font-size:16px;min-width:0;width:100%}.balance-control #max-stake{font-size:9px;min-width:36px;padding:0 5px}
 .lab-controls .launch-wrap{grid-row:2;grid-column:1;min-width:0}.lab-controls .launch-btn{height:52px;font-size:14px;border-radius:11px}.launch-caption{font-size:8px;margin-top:6px}
 .lab-controls .multipliers{grid-row:3;grid-column:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px 9px;text-align:center}
 .multipliers>span{font-size:8px;flex:1 0 100%;margin:0 0 2px}.multipliers #quick-multipliers,.multipliers .quick-chances{display:flex;gap:5px;justify-content:center;margin:0}.multipliers button{min-width:34px;min-height:34px;font-size:10px;border-radius:7px;padding:5px}
 .lab-foot{padding:10px 12px;gap:6px;font-size:7px;flex-wrap:wrap;justify-content:center;line-height:1.7}.lab-foot .ui-icon{width:10px;height:10px}
 .selection-columns{grid-template-columns:minmax(0,1fr);gap:0;margin-top:20px}
 .mobile-picker-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:5px;background:#121c0f;border:1px solid #3e512e70;border-radius:12px;margin-bottom:12px;grid-column:1/-1}
 .mobile-picker-tabs button{min-height:43px;border-radius:8px;font-size:12px;font-weight:700;color:#8ea078;padding:8px 5px}.mobile-picker-tabs button[aria-selected=true]{background:#b9dd7c;color:#19250e;box-shadow:0 3px 12px #0002}
 .selection-columns[data-mobile-panel=inventory] #target-panel,.selection-columns[data-mobile-panel=target] #inventory-panel{display:none}
 .selection-panel{min-width:0;border-radius:14px;scroll-margin-top:80px;overflow:visible;min-height:0}
 .selection-header{padding:11px;min-height:0}.selection-toolbar{gap:7px;flex-wrap:wrap;min-height:0}.selection-query-controls{gap:6px;flex:1;min-width:0}.selection-query{min-width:0;flex:1}.selection-query input{font-size:16px;min-width:0}.selection-name-query input::placeholder{font-size:11px}
 .source-mode-tabs{gap:3px;padding:4px;border-radius:9px;flex:none}.source-mode-tabs button{min-height:36px;padding:6px 8px;font-size:10px}.source-mode-tabs .ui-icon{width:14px;height:14px}
 .selection-sort,.selection-action,.selection-search-mode{width:36px;min-width:36px;height:38px;min-height:38px;border-radius:8px}.selection-toolbar .selection-query{min-height:38px}.selection-meta{margin-top:9px;gap:8px;min-height:34px;flex-wrap:wrap}.selection-meta .filter-select{max-width:145px}.selection-meta .filter-select-trigger{min-height:36px}.selection-meta .filter-toggle{min-height:34px;font-size:10px;padding:6px 8px}.target-filter-note{font-size:8px;line-height:1.6;flex:1;min-width:125px}
 .selection-panel .skin-grid,.selection-panel .shop-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:0 10px 10px;min-height:0;max-height:none;height:auto;overflow:visible}
 .selection-panel .skin-card{min-width:0;min-height:137px;height:137px;padding:8px;border-radius:9px;overflow:hidden}.skin-card .card-img,.skin-card>img{height:66px;max-height:66px;object-fit:contain}.skin-card .skin-image{height:66px}.skin-card .card-price{font-size:10px}.skin-card .card-wear{font-size:7px}.skin-card .card-weapon{font-size:8px}.skin-card .card-name{font-size:10px;line-height:1.4}.selection-panel .skin-card strong{max-width:100%;overflow:hidden;text-overflow:ellipsis}.selection-footer{padding:12px 10px}.selection-footer .pager{justify-content:center;gap:8px}.selection-footer button{min-height:40px;min-width:40px;font-size:10px}
 .filter-options,.filter-select-menu{max-height:min(420px,65dvh);overscroll-behavior:contain}
 #ascent-view{padding:1px 0 12px}.asc-heading h1{font-size:32px}.asc-heading .eyebrow{letter-spacing:1.5px}.asc-actions .asc-climb-button:disabled{color:#d2eab1;background:#26341c;opacity:1}
 .cases-view,.cases-page{padding-inline:0}.cases-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.case-card{min-width:0;border-radius:13px}.case-card h3{font-size:14px}.case-card p{font-size:9px;line-height:1.6}.case-card-art{min-height:155px}
 .ct-heading{padding-top:0}.ct-inventory,.ct-preview,.ct-machine{border-radius:14px}.ct-core .ct-create{min-height:39px;font-size:9px}.ct-search input{font-size:16px}.ct-filters button{min-height:40px}.ct-steps{gap:9px}.ct-step{min-width:0}
 .gw-heading{padding-top:0}.gw-card-top,.gw-prize,.gw-entry{padding-inline:18px}.gw-enter{min-height:46px}.gw-page-note{font-size:10px;line-height:1.7}
 #modal{width:calc(100% - 24px);max-width:520px;max-height:calc(100dvh - 28px);padding:29px 19px 22px;border-radius:18px;margin:auto;overscroll-behavior:contain}#modal-close{width:42px;height:42px;top:6px;right:6px}#modal input:not([type=range]):not([type=checkbox]):not([type=radio]){font-size:16px}#modal .launch-btn{min-height:47px}
 #toast{bottom:calc(88px + env(safe-area-inset-bottom));max-width:calc(100vw - 30px);font-size:11px;border-radius:11px;line-height:1.5}
 #storage-notice{bottom:calc(84px + env(safe-area-inset-bottom));left:12px;right:12px;width:auto;max-width:none;padding:16px;border-radius:14px}#storage-notice button{min-height:42px;font-size:10px}
 .site-footer{padding-bottom:25px}.site-footer a,.site-footer button{min-height:36px;line-height:1.6}
}
@media(max-width:359px){
 .header{gap:8px;padding-inline:10px}.header .wordmark{font-size:21px}.header-right{gap:8px}.header #balance{font-size:11px;max-width:120px}.header .header-avatar{width:33px;height:33px}
 .skin-stage .stage-label{font-size:7px}.skin-stage .stage-value strong{font-size:12px}.selection-panel .skin-grid,.selection-panel .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.selection-toolbar .source-mode-tabs{width:100%;justify-content:center}.source-mode-tabs button{flex:1}.asc-actions button{font-size:9px}
 .mobile-more{padding-inline:15px}.mobile-more-grid{gap:8px}.mobile-more-grid button{padding:12px}.mobile-more h2{font-size:23px}
}
@media(prefers-reduced-motion:reduce){.mobile-more{animation:none}.mobile-dock *{transition:none!important}}

@media(max-width:760px){.selection-panel .shop-card{min-width:0;height:137px;min-height:137px;padding:8px;border-radius:9px}.selection-panel .shop-card>img{height:66px;width:100%;object-fit:contain}.selection-panel .shop-card .card-name{font-size:10px;line-height:1.4}.selection-panel .shop-card .card-weapon{font-size:8px}.selection-panel .shop-card .price-value{font-size:10px}.selection-panel .shop-card .card-top>small{font-size:7px}}

@media(max-width:760px){#storage-notice{transform:none;translate:none}.chance-stage .chance-ring{width:100%;height:100%}.chance-stage .skuf-mascot{width:76%;height:76%;left:12%;top:12%}}
@media(max-width:760px){.skin-stage .stage-display>:is(.skin-weapon,.skin-name,.skin-wear){flex-shrink:0;line-height:1.5;margin:2px 0 0}.skin-stage .stage-display>img{flex-shrink:1}.skin-stage .stage-display>.ui-icon{width:26px;height:26px;margin-bottom:7px;flex-shrink:0}}

/* Presence shares the wordmark column, so a long balance never competes with it on phones. */
.header-brand{display:flex;align-items:center;gap:18px;flex:none;min-width:0}
.header-brand .wordmark{margin-right:0}
.header-online{display:flex;align-items:center;gap:5px;min-height:28px;padding:5px 9px;border:1px solid #b9dd7c20;border-radius:9px;background:#b9dd7c08;color:#b6c5a7;white-space:nowrap}
.header-online .live-dot{width:5px;height:5px;margin-right:2px;flex:none;background:#b9dd7c;box-shadow:0 0 8px #b9dd7c66}
.header-online strong{color:#dae8cb;font-size:11px;font-weight:800;font-variant-numeric:tabular-nums;min-width:1ch}
.header-online small{font-size:9px;color:#90a17f}
@media(min-width:761px) and (max-width:1300px){.header-brand{gap:10px}.header-online{gap:4px;padding:5px 7px}.header-online small{display:none}}
@media(max-width:760px){.header-brand{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px}.header-online{min-height:12px;padding:0 0 0 1px;border:0;background:none;gap:4px;line-height:1}.header-online strong,.header-online small{font-size:8px}.header-online .live-dot{width:4px;height:4px;box-shadow:0 0 5px #b9dd7c66}.header-brand .wordmark{line-height:1.1}}

.header-online[data-mode="manual"] .live-dot{background:#d7bd7b;box-shadow:none}.header-online[data-mode="manual"] small{display:block;color:#c9b47d}

/* Skuf opens the case as a short cutscene and is otherwise off screen: he runs in on "Открыть", strikes
   the lock in a proper wind-up / swing / impact cycle while the server confirms, and the burst blows
   him out of frame before the reel starts. After landing he pops up once as a corner reaction sticker.
   Poses are stacked sprites (344×399, feet at 49.4% / 98.7%); every movement is transform/opacity. */

.case-stage{--skuf-h:300px;--hit:.62s;--enter:.38s}
.case-skuf{position:absolute;z-index:8;left:calc(50% - 445px);bottom:3%;height:var(--skuf-h);aspect-ratio:344/399;pointer-events:none;opacity:0;visibility:hidden}
.case-skuf-body{position:relative;width:100%;height:100%;transform-origin:49.4% 98.7%}
.case-skuf-body>:is(img,.case-rig){position:absolute;inset:0;width:100%;height:100%;opacity:0;filter:drop-shadow(0 14px 14px #000b)}
.case-skuf-shadow{position:absolute;left:24%;right:24%;bottom:-1.5%;height:7%;border-radius:50%;background:radial-gradient(closest-side,#000d,transparent)}

/* Run in: shoulder pose, a quick dash with a lean, then he plants his feet. */
.case-scene.is-opening[data-phase=pending] .case-skuf{visibility:visible;opacity:1;animation:skuf-run-in var(--enter) cubic-bezier(.2,.8,.3,1) both}
.case-scene.is-opening[data-phase=pending] .case-skuf [data-pose=shoulder]{animation:skuf-show-first var(--enter) steps(1,end) both}
.case-scene.is-opening[data-phase=pending] .case-skuf [data-pose=swing]{animation:skuf-show-after var(--enter) steps(1,end) both}
@keyframes skuf-run-in{0%{transform:translateX(-260px) rotate(8deg);opacity:0}55%{opacity:1;transform:translateX(12px) rotate(4deg)}100%{transform:none}}
@keyframes skuf-show-first{0%{opacity:1}100%{opacity:0}}
@keyframes skuf-show-after{0%{opacity:0}100%{opacity:1}}

/* Strike cycle (one per --hit): slow wind-up, a fast swing, a held impact frame, recovery. */
.case-scene.is-opening[data-phase=pending] .case-skuf-body{animation:skuf-strike var(--hit) var(--enter) linear infinite}
@keyframes skuf-strike{
 0%{transform:rotate(-1deg);animation-timing-function:cubic-bezier(.4,0,.6,1)}
 50%{transform:translate(-8px,-2px) rotate(-3deg);animation-timing-function:cubic-bezier(.7,0,1,.6)}
 61%{transform:translate(16px,3px) rotate(3deg) scale(1.03,.97)}
 72%{transform:translate(14px,3px) rotate(2deg) scale(1.02,.98);animation-timing-function:cubic-bezier(.2,.8,.3,1)}
 100%{transform:rotate(-1deg)}}
.case-skuf-whoosh{position:absolute;left:28%;top:-6%;width:86%;aspect-ratio:1;border-radius:50%;border:5px solid transparent;border-top-color:#fff9;border-right-color:#ffffff40;filter:blur(1px) drop-shadow(0 0 8px #fff8);opacity:0;transform:rotate(-40deg)}
.case-scene.is-opening[data-phase=pending] .case-skuf-whoosh{animation:skuf-whoosh var(--hit) var(--enter) linear infinite}
@keyframes skuf-whoosh{0%,50%{opacity:0;transform:rotate(-60deg)}55%{opacity:1}62%{opacity:.8;transform:rotate(30deg)}70%,100%{opacity:0;transform:rotate(40deg)}}

/* Impact at the lock: a comic burst, sparks, the crate squashes and the stage jolts on every hit. */
.case-impact{position:absolute;z-index:9;left:calc(50% - 150px);top:58%;width:0;height:0;pointer-events:none}
.case-impact>b{position:absolute;left:-60px;top:-60px;width:120px;height:120px;background:radial-gradient(circle,#fff 0 22%,color-mix(in srgb,var(--case-accent) 60%,#fff) 40%,transparent 62%);clip-path:polygon(50% 0,61% 32%,95% 18%,72% 46%,100% 62%,66% 66%,72% 100%,50% 74%,26% 98%,32% 66%,0 60%,28% 46%,6% 16%,40% 32%);opacity:0}
.case-impact>span>i{position:absolute;left:0;top:0;width:3px;height:16px;margin-left:-1.5px;border-radius:2px;background:linear-gradient(#fff,#ffd36b 50%,transparent);opacity:0;rotate:calc(var(--n) * 36deg)}
.case-impact>span>i:nth-child(1){--n:0}.case-impact>span>i:nth-child(2){--n:1}.case-impact>span>i:nth-child(3){--n:2}.case-impact>span>i:nth-child(4){--n:3}.case-impact>span>i:nth-child(5){--n:4}.case-impact>span>i:nth-child(6){--n:5}.case-impact>span>i:nth-child(7){--n:6}.case-impact>span>i:nth-child(8){--n:7}.case-impact>span>i:nth-child(9){--n:8}.case-impact>span>i:nth-child(10){--n:9}
.case-scene.is-opening[data-phase=pending] .case-impact>b{animation:impact-burst var(--hit) var(--enter) linear infinite}
.case-scene.is-opening[data-phase=pending] .case-impact>span>i{animation:impact-spark var(--hit) var(--enter) linear infinite}
@keyframes impact-burst{0%,60%{opacity:0;transform:scale(.3) rotate(0)}63%{opacity:1;transform:scale(1.15) rotate(12deg)}80%,100%{opacity:0;transform:scale(1.5) rotate(20deg)}}
@keyframes impact-spark{0%,60%{opacity:0;transform:translateY(0) scaleY(.3)}63%{opacity:1;transform:translateY(-14px) scaleY(1)}85%,100%{opacity:0;transform:translateY(-58px) scaleY(.4)}}
.case-scene.is-opening[data-phase=pending] .case-stage-crate{animation:case-hit var(--hit) var(--enter) linear infinite}
@keyframes case-hit{0%,60%,100%{transform:scale(1.02);filter:drop-shadow(0 26px 24px #000b) drop-shadow(0 0 30px color-mix(in srgb,var(--case-accent) 40%,transparent))}
 63%{transform:translate(10px,3px) rotate(3deg) scale(1.06,.95);filter:drop-shadow(0 26px 24px #000b) drop-shadow(0 0 60px color-mix(in srgb,var(--case-accent) 85%,transparent)) brightness(1.5)}
 72%{transform:translate(-5px,-2px) rotate(-1.5deg) scale(.99,1.03)}
 84%{transform:translate(2px,0) rotate(.6deg) scale(1.02)}}
.case-scene.is-opening[data-phase=pending] .case-stage{animation:stage-jolt var(--hit) var(--enter) linear infinite}
@keyframes stage-jolt{0%,60%,100%{transform:none}63%{transform:translate(3px,2px)}68%{transform:translate(-2px,-1px)}74%{transform:none}}

/* The burst: a white flash from the lock and Skuf is blown out of frame, tumbling. */
.case-scene[data-phase=spinning] .case-skuf{visibility:visible;opacity:1;animation:skuf-blown .75s cubic-bezier(.2,.7,.4,1) forwards}
.case-scene[data-phase=spinning] .case-skuf [data-pose=recoil]{opacity:1}
.case-scene[data-phase=spinning] .case-impact>b{animation:impact-final .5s ease-out both}
@keyframes skuf-blown{0%{transform:translateX(20px);opacity:1}25%{transform:translate(-60px,-40px) rotate(-14deg)}100%{transform:translate(-460px,-200px) rotate(-75deg) scale(.6);opacity:0}}
@keyframes impact-final{0%{opacity:1;transform:scale(.6)}40%{opacity:1;transform:scale(4)}100%{opacity:0;transform:scale(6)}}

/* Reaction sticker: pops up in the screen corner, says one line, slides away. Never over the buttons. */
.case-reaction{position:fixed;z-index:70;left:18px;bottom:18px;width:150px;aspect-ratio:344/399;pointer-events:none;transform-origin:30% 100%;animation:reaction-life 2.9s cubic-bezier(.3,1.3,.5,1) both}
.case-reaction>:is(img,.case-rig){position:relative;display:block;width:100%;height:100%;filter:drop-shadow(0 12px 16px #000c)}
.case-reaction>b{position:absolute;left:38%;top:-14%;padding:9px 13px;border-radius:14px 14px 14px 4px;background:#fff;color:#141812;font-size:14px;font-weight:800;line-height:1.1;white-space:nowrap;box-shadow:0 8px 22px #0008;transform-origin:0 100%;animation:reaction-bubble .45s .25s cubic-bezier(.3,1.5,.5,1) both}
.case-reaction[data-tier=profit]>b{background:var(--lime);color:#132008}
.case-reaction[data-tier=special]>b{background:linear-gradient(135deg,#ffe7a3,#efc779);color:#2a1d05;font-size:16px}
.case-reaction[data-tier=special]>img{animation:reaction-shake .1s .3s linear 8}
.case-reaction[data-tier=legendary]{width:190px;animation-duration:4s}
.case-reaction[data-tier=legendary]>b{padding:11px 16px;border-radius:16px 16px 16px 4px;background:linear-gradient(135deg,#fff3c4,#efc779 45%,#ff8a3d);color:#2a1205;font-size:20px;letter-spacing:.02em;box-shadow:0 0 0 2px #fff6,0 10px 30px #ff8a3d66,0 0 40px #efc77999;animation:reaction-bubble .45s .25s cubic-bezier(.3,1.5,.5,1) both,legend-glow 1s .7s ease-in-out 3}
.case-reaction[data-tier=legendary]:before{content:'';position:absolute;left:-30%;right:-30%;top:-20%;bottom:-10%;z-index:-1;border-radius:50%;background:repeating-conic-gradient(#efc77955 0 8deg,transparent 8deg 20deg);animation:legend-rays 4s linear both;-webkit-mask:radial-gradient(closest-side,#000,transparent);mask:radial-gradient(closest-side,#000,transparent)}
@keyframes legend-glow{50%{transform:scale(1.08) rotate(-3deg)}}
@keyframes legend-rays{0%{opacity:0;rotate:0deg}15%{opacity:1}85%{opacity:1}100%{opacity:0;rotate:90deg}}
@keyframes reaction-life{0%{opacity:0;transform:translateY(110%) rotate(-10deg)}12%{opacity:1;transform:translateY(-6%) rotate(3deg)}20%{transform:none}84%{opacity:1;transform:none}100%{opacity:0;transform:translateY(115%) rotate(-6deg)}}
@keyframes reaction-bubble{from{opacity:0;transform:scale(.3) rotate(-10deg)}}
@keyframes reaction-shake{50%{transform:translateX(3px) rotate(1.5deg)}}

@media(max-width:700px){
 .case-stage{--skuf-h:170px}
 .case-skuf{left:-6px}
 .case-impact{left:calc(50% - 80px)}
 .case-reaction>b{font-size:12px;padding:7px 10px}
 .case-reaction{width:104px}
}
/* Phones and small tablets have the bottom dock: the sticker sits above it. */
@media(max-width:760px){.case-reaction{left:10px;bottom:calc(env(safe-area-inset-bottom) + 92px)}.case-reaction[data-tier=legendary]{width:140px}}
@media(prefers-reduced-motion:reduce){
 .case-skuf,.case-impact,.case-reaction{display:none!important}
 .case-scene.is-opening .case-stage{animation:none!important}
}

/* Reel: one static window frames the centre card; speed only flips a class. */
.case-reel-track{will-change:transform}
.case-roll-card{will-change:auto;transition:none}
.case-roll-card.is-focus{border-color:#31382b}
/* No frame: a soft light column sits behind the centre card instead of a bordered window. */
.case-reel{border-block:0!important}
/* The strip is clipped sideways only: the edge-fade mask reaches 24px above and below the box, so the
   marker diamonds' glow is not cut flat at the reel's top and bottom. */
.case-reel{overflow:hidden;overflow-x:clip;overflow-y:visible;-webkit-mask-clip:no-clip;mask-clip:no-clip;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% calc(100% + 48px);mask-size:100% calc(100% + 48px);-webkit-mask-position:0 50%;mask-position:0 50%}
.case-reel-window{position:absolute;z-index:0;left:50%;top:0;bottom:0;width:calc(var(--card-w,180px) + 60px);translate:-50% 0;background:radial-gradient(closest-side,#c0e67c26,transparent);pointer-events:none;opacity:.8;transition:opacity .3s}
.case-reels:not(.case-reels-multi) .case-reel.is-fast .case-reel-window{opacity:1}
.case-reels:not(.case-reels-multi) .case-reel.is-fast .case-center-line{box-shadow:0 0 22px #bee779cc,0 0 54px #bee77966}
.case-reel.is-settled .case-center-line{opacity:0;transition:opacity .3s}
/* Marker clicks pulse with transform/opacity only (the old width/filter pulse forced layout ten times a frame). */
.case-center-line.is-tick{animation:marker-pulse-a .2s ease-out}
.case-center-line.is-tock{animation:marker-pulse-b .2s ease-out}
@keyframes marker-pulse-a{0%{transform:translateX(-50%) scaleX(2.2);opacity:1}100%{transform:translateX(-50%) scaleX(1)}}
@keyframes marker-pulse-b{0%{transform:translateX(-50%) scaleX(2.2);opacity:1}100%{transform:translateX(-50%) scaleX(1)}}
/* Landing dim: one mask per reel (a hole around the award) instead of fading hundreds of cards. */
.case-reel.is-settled .case-reel-window{z-index:5;width:calc(var(--card-w,180px) + 22px);top:12px;bottom:12px;border-radius:12px;background:transparent!important;box-shadow:0 0 0 100vmax #040604b3;animation:settle-dim .45s ease-out both}
/* The reel no longer clips vertically, so the dim stops at the reel's own top and bottom. */
.case-reel.is-settled .case-reel-window{clip-path:inset(-12px -100vmax)}
.case-reels-multi .case-reel.is-settled .case-reel-window{top:4px;bottom:4px;width:calc(var(--card-w) + 4px);border-radius:8px;clip-path:inset(-4px -100vmax)}
@keyframes settle-dim{from{opacity:0}to{opacity:1}}
.case-reel.is-settled .case-roll-card{filter:none!important}
.case-reel.is-settled .case-roll-card.is-award{z-index:6;translate:0 -6px;scale:1.06;transition:translate .4s var(--motion-soft),scale .4s var(--motion-soft);border-color:var(--drop-color,#c0e67c);box-shadow:0 0 30px color-mix(in srgb,var(--drop-color,#c0e67c) 45%,transparent)}

/* Several reels are the single reel in a smaller cut: same edge fade, 3D card poses and card art,
   only a narrower card. No box around a strip. */
.case-reels-multi .case-reel{--card-w:140px}
.case-reels-multi .case-reel.is-settled .case-roll-card.is-award{translate:0 -3px;scale:1.04}
/* The arena keeps still while reels run, so the GPU only composites the strips. */
.case-scene.is-opening:is([data-phase=spinning],[data-phase=reveal]) :is(.case-beam,.case-floor>b,.case-pedestal>i,.case-atmosphere i){animation-play-state:paused}

.case-reel-track>.case-roll-card{width:var(--roll-w);flex-basis:var(--roll-w)}
.case-scene.is-opening[data-phase=pending] .case-reels{visibility:hidden}
.case-stage.case-stage-multi{height:360px}


/* Case Skuf as cut-out puppets (scripts/assets/case-skuf-rig.py): each rigged pose is a stack of
   full-frame layers, so a joint is just a transform-origin on the 344×399 frame. Cuts follow the real
   contours and every layer extends under its neighbours, so joints turn without tearing. Motion is
   transform only, never layout. Every joint moves only within what its layer can cover: heads turn on the
   chin without lifting, arms slide or turn towards their neighbour, the hips stay within ±7°. */

.case-skuf-body>.case-rig,.case-rig{filter:none}
.case-rig img,.case-rig-upper{position:absolute;inset:0;width:100%;height:100%;transform-origin:49.4% 98.7%}
.case-rig :is(img[data-part=body],img[data-part=legs]){filter:drop-shadow(0 14px 14px #000b)}
.case-reaction .case-rig img[data-part=body]{filter:drop-shadow(0 12px 16px #000c)}
.case-rig[data-pose=swing] .case-rig-upper{transform-origin:45.1% 72.7%}
.case-rig[data-pose=swing] img[data-part=body]{transform-origin:45.1% 72.7%}
.case-rig[data-pose=swing] img[data-part=head]{transform-origin:65.4% 51.4%}
.case-rig[data-pose=swing] img[data-part=bar]{transform-origin:27.6% 29.6%}
.case-rig[data-pose=shrug] img[data-part=head]{transform-origin:50.9% 51.4%}
.case-rig[data-pose=shrug] img[data-part=arm-l]{transform-origin:30.5% 49.4%}
.case-rig[data-pose=shrug] img[data-part=arm-r]{transform-origin:64.5% 50.1%}
.case-rig[data-pose=cheer] img[data-part=head]{transform-origin:55.2% 51.4%}
.case-rig[data-pose=cheer] img[data-part=fist]{transform-origin:36.3% 53.9%}

/* Strikes, in step with skuf-strike (--hit). Feet stay planted: the upper body turns on the hips.
   Wind-up: weight rocks back onto the rear leg, chest opens, the crowbar cocks behind him while the
   head keeps its eyes on the lock. Swing: the weight drives onto the front leg, the knees give under
   the hit, the crowbar whips past the lock and wobbles, the head jerks with the recoil. */
.case-scene.is-opening[data-phase=pending] .case-rig[data-pose=swing] .case-rig-upper{animation:skuf-rig-hips var(--hit) var(--enter) linear infinite}
.case-scene.is-opening[data-phase=pending] .case-rig[data-pose=swing] img[data-part=legs]{animation:skuf-rig-legs var(--hit) var(--enter) linear infinite}
.case-scene.is-opening[data-phase=pending] .case-rig[data-pose=swing] img[data-part=head]{animation:skuf-rig-head var(--hit) var(--enter) linear infinite}
.case-scene.is-opening[data-phase=pending] .case-rig[data-pose=swing] img[data-part=bar]{animation:skuf-rig-bar var(--hit) var(--enter) linear infinite}
.case-scene.is-opening[data-phase=pending] .case-rig[data-pose=swing] img[data-part=body]{animation:skuf-rig-heave var(--hit) var(--enter) ease-in-out infinite}
@keyframes skuf-rig-hips{
 0%{rotate:-1deg;animation-timing-function:cubic-bezier(.4,0,.6,1)}
 50%{rotate:-7deg;animation-timing-function:cubic-bezier(.7,0,1,.6)}
 58%{rotate:3deg}
 61%{rotate:7deg;animation-timing-function:cubic-bezier(.3,0,.5,1)}
 66%{rotate:5.5deg}
 72%{rotate:6.5deg;animation-timing-function:cubic-bezier(.2,.8,.3,1)}
 100%{rotate:-1deg}}
@keyframes skuf-rig-legs{
 0%,100%{scale:1}
 50%{scale:.99 1.015;animation-timing-function:cubic-bezier(.7,0,1,.6)}
 61%{scale:1.05 .93;animation-timing-function:cubic-bezier(.2,.8,.3,1)}
 72%{scale:1.02 .97}}
@keyframes skuf-rig-head{
 0%{rotate:0deg;animation-timing-function:cubic-bezier(.4,0,.6,1)}
 50%{rotate:2deg;animation-timing-function:cubic-bezier(.7,0,1,.6)}
 61%{rotate:-2deg}
 65%{rotate:2deg;animation-timing-function:cubic-bezier(.2,.8,.3,1)}
 100%{rotate:0deg}}
@keyframes skuf-rig-bar{
 0%{rotate:0deg;animation-timing-function:cubic-bezier(.4,0,.6,1)}
 50%{rotate:-10deg;animation-timing-function:cubic-bezier(.7,0,1,.6)}
 58%{rotate:4deg}
 62%{rotate:18deg;animation-timing-function:cubic-bezier(.3,0,.5,1)}
 68%{rotate:9deg}
 74%{rotate:13deg;animation-timing-function:cubic-bezier(.2,.8,.3,1)}
 100%{rotate:0deg}}
/* Puffing between hits: the chest fills on the wind-up and is squeezed by the impact. */
@keyframes skuf-rig-heave{0%,100%{scale:1}40%{scale:1.01 1.025}62%{scale:1.02 .98}}

/* Reaction sticker. Everyone breathes; after the pop-in each pose acts its line. Shrugging arms only
   slide up out of the vest, never swing, so no fabric or gap moves with them. */
.case-reaction .case-rig img[data-part=body]{animation:sticker-breath 1.15s ease-in-out infinite}
@keyframes sticker-breath{0%,100%{scale:1}50%{scale:1.012 1.028}}

/* «Сегодня без пива(»: two lazy shrugs, the head rolls with a sigh. */
.case-reaction .case-rig[data-pose=shrug] img[data-part=arm-l]{animation:sticker-shrug-l 2.9s .3s ease-in-out both}
.case-reaction .case-rig[data-pose=shrug] img[data-part=arm-r]{animation:sticker-shrug-r 2.9s .3s ease-in-out both}
.case-reaction .case-rig[data-pose=shrug] img[data-part=head]{animation:sticker-sigh 2.9s .3s ease-in-out both}
@keyframes sticker-shrug-l{0%,100%{translate:0 0}10%{translate:0 -2.6%}22%{translate:0 .3%}38%{translate:0 -2.4%}52%{translate:0 0}72%{translate:0 -.6%}}
@keyframes sticker-shrug-r{0%,100%{translate:0 0}10%{translate:0 -2.6%}22%{translate:0 .3%}38%{translate:0 -2.4%}52%{translate:0 0}72%{translate:0 -.6%}}
@keyframes sticker-sigh{0%,100%{rotate:0deg}12%{rotate:-3deg}26%{rotate:2deg}40%{rotate:-3deg}56%{rotate:3deg}80%{rotate:1deg}}

/* «Да ладно?!»: the fist pumps on the shoulder towards the head, so the arm only ever covers more of it, the head laughs, a little hop on each pump. */
.case-reaction .case-rig[data-pose=cheer] img[data-part=fist]{animation:sticker-pump .34s .3s cubic-bezier(.3,0,.4,1) 5 alternate both}
.case-reaction .case-rig[data-pose=cheer] img[data-part=head]{animation:sticker-laugh .17s .3s ease-in-out 10 alternate both}
.case-reaction .case-rig[data-pose=cheer]{animation:sticker-hop .34s .3s cubic-bezier(.3,0,.4,1) 5 alternate both;transform-origin:49.4% 98.7%}
@keyframes sticker-pump{from{rotate:0deg}to{rotate:5deg}}
@keyframes sticker-laugh{from{rotate:-3deg}to{rotate:1.5deg}}
@keyframes sticker-hop{from{translate:0 0;scale:1.03 .97}to{translate:0 -3%;scale:.99 1.02}}

/* «КЛЯНИСЬ?!»: a whole-sprite pose; he trembles, pants and keeps flinching. */
.case-reaction[data-tier=legendary]>img{transform-origin:49.4% 98.7%;animation:sticker-tremble .08s .3s linear 30,sticker-pant .5s .3s ease-in-out 7}
@keyframes sticker-tremble{25%{translate:1.5px 0;rotate:.8deg}75%{translate:-1.5px 0;rotate:-.8deg}}
@keyframes sticker-pant{0%,100%{scale:1}50%{scale:1.025 .975}}

.admin-presence{margin-top:24px;padding:26px}.admin-presence>header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.admin-presence h2{margin:10px 0;font-size:25px;letter-spacing:-.7px}.admin-presence p{color:#9ead93;font-size:12px;line-height:1.8}.admin-presence header .outline-btn{display:flex;align-items:center;gap:8px;flex:none}.admin-presence .ui-icon{width:17px;height:17px}.ap-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:30px;margin-top:20px}.admin-presence fieldset{min-width:0;padding:0;border:0;display:grid;gap:18px}.admin-presence legend{margin-bottom:10px;color:#becbb1;font-size:12px;font-weight:700}.ap-modes{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ap-modes label{position:relative;display:grid;gap:6px;padding:16px;border:1px solid #35402d;border-radius:12px;background:#131b11;cursor:pointer}.ap-modes label.is-active{border-color:#b9dd7c99;background:#b9dd7c0d}.ap-modes label:focus-within{outline:2px solid var(--lime);outline-offset:3px}.ap-modes input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.ap-modes b{font-size:12px;color:#dce7d1}.ap-modes small{font-size:10px;color:#94a686}.ap-field{display:grid;gap:8px;color:#b8c6ac;font-size:12px}.ap-field input,.ap-field select{width:100%;min-height:44px;padding:10px 12px;border:1px solid #455236;border-radius:10px;background:#0e150c;color:#ecf1e6}.ap-field input:disabled,.ap-field select:disabled{opacity:.45;cursor:not-allowed}.admin-presence .ap-check{display:flex;align-items:flex-start;gap:10px;margin:0;cursor:pointer}.admin-presence .ap-check input{width:18px;min-width:0;height:18px;padding:0;margin:1px 0 0;accent-color:var(--lime);flex:none}.ap-check span{display:grid;gap:4px}.ap-check b{font-size:12px;color:#dce7d1}.ap-check small{font-size:11px;color:#87947c}.ap-check:has(input:disabled){opacity:.45;cursor:not-allowed}.ap-rates{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:end}.ap-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-presence .ap-hint{margin:-8px 0 0;color:#87947c;font-size:11px;line-height:1.6}.ap-preview strong em{font-style:normal;font-size:12px;color:#c9b47d}.ap-layout aside{padding:20px;border:1px solid #b9dd7c1f;border-radius:14px;background:#0b110ad9}.ap-preview{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;margin:18px 0;border:1px solid #b9dd7c33;border-radius:10px;background:#b9dd7c08}.ap-preview strong{font-size:18px;color:#e1edd5;font-variant-numeric:tabular-nums}.ap-preview small{font-size:11px;color:#9cae8d}.ap-preview.is-manual small{color:#c9b47d}.ap-preview.is-manual .live-dot{background:#d7bd7b;box-shadow:none}.ap-layout dl{margin:0}.ap-layout dl>div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #ffffff0a;padding:12px 0;font-size:11px}.ap-layout dt{color:#8fa17e}.ap-layout dd{margin:0;color:#d5e2c8;text-align:right}.ap-message{padding:10px 14px;border:1px solid #b9dd7c44;border-radius:10px;background:#b9dd7c0a}.admin-presence fieldset:disabled{opacity:.7}.case-admin-tools{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.case-admin-tools input,.case-admin-tools select{min-height:42px;padding:10px 12px;border:1px solid #3b4930;border-radius:10px;background:#10170e;color:#dfe9d5}.case-admin-tools input{flex:1;min-width:180px}.case-audit-bands{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.case-audit-bands>div{display:grid;gap:6px;padding:12px;border:1px solid #a5c17d26;border-radius:10px;background:#b9dd7c05}.case-audit-bands small{color:#8fa17e}.case-audit-bands strong{color:#d9e9c9}.case-audit-note{padding:10px 12px;border-left:2px solid #b9dd7c66;background:#b9dd7c08;color:#acbd9a;font-size:11px;line-height:1.8}.case-audit-note.is-warning{border-color:#d7bd7b;color:#d7c59c}@media(max-width:760px){.ap-rates{grid-template-columns:1fr 1fr}.admin-presence{padding:18px}.admin-presence>header{flex-direction:column}.ap-layout{grid-template-columns:1fr;gap:18px}.ap-modes label{padding:12px}.ap-layout aside{padding:16px}.case-audit-bands{grid-template-columns:1fr}.case-admin-tools>*{width:100%}.admin-presence h2{font-size:22px}}@media(prefers-reduced-motion:reduce){.admin-presence *{scroll-behavior:auto}}
.case-collection-field{display:grid;gap:9px;margin:18px 0;color:#d1dfc4}.case-collection-field select{min-height:44px;padding:10px;border:1px solid #465237;border-radius:10px;background:#10170e;color:#dce9ce}.case-collection-field small{color:#8f9f81;font-size:11px;line-height:1.7}

/* Arc, secret sector and grip use the exact same SVG pivot. */
#upgrade-view .chance-ring :is(#ring-progress,#ring-gold,#sector-handle){transform-origin:140px 140px;transform-box:view-box}
.sector-handle{touch-action:none;cursor:grab;outline:none}
.chance-ring .sector-hit{fill:transparent;stroke:none;pointer-events:all}
.chance-ring .sector-grip{fill:#11170e;stroke:var(--lime);stroke-width:3;pointer-events:none}
.sector-handle:hover .sector-grip,.sector-handle.is-dragging .sector-grip{fill:var(--lime);stroke:#f1ffd8}
.sector-handle:focus-visible .sector-grip{stroke:#fff;stroke-width:4;filter:drop-shadow(0 0 4px #bee779)}
.sector-handle.is-dragging{cursor:grabbing}
.sector-handle[aria-disabled=true]{opacity:0;pointer-events:none}

body[data-view=not-found]{background:#0b0e0b;padding-bottom:0!important}
body[data-view=not-found] :is(.header-right,.header-online,.header nav,.activity-strip,footer,#mobile-navigation){display:none!important}
body[data-view=not-found] .header{position:relative;z-index:2;border-bottom:0;background:transparent;box-shadow:none}
#not-found-view{padding:0!important;overflow-x:clip}
#not-found-view .nf-layout{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100svh - 92px);padding:28px 16px 48px;text-align:center}
/* The warehouse after hours: the shared case backdrop, nearly black, and one torch beam drifting over the shelves. */
.nf-scene{position:absolute;z-index:-1;inset:-92px 0 0;background:radial-gradient(ellipse 60% 55% at 50% 42%,#0b0e0b00,#0b0e0bd9 70%,#0b0e0b),linear-gradient(#0b0e0b,#0b0e0b00 22%,#0b0e0b00 62%,#0b0e0b),url(/assets/case-bg/warehouse-v2.webp) center 30%/cover no-repeat;opacity:.5;pointer-events:none}
.nf-beam{position:absolute;top:8%;left:50%;width:min(720px,90vw);height:min(560px,70svh);margin-left:calc(min(720px,90vw)/-2);background:radial-gradient(ellipse 50% 50% at 50% 50%,#f4e3b11f,#f4e3b10a 45%,transparent 70%);animation:nf-beam 11s cubic-bezier(.45,0,.55,1) infinite alternate}
@keyframes nf-beam{from{transform:translateX(-26%) scale(.9)}to{transform:translateX(26%) scale(1.05)}}
.nf-signal{display:flex;align-items:center;gap:8px;font:700 9px var(--font);letter-spacing:2px;color:#a2b18e}
.nf-signal i{width:5px;height:5px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px #bee77966;animation:nf-blink 2.4s steps(1) infinite}
@keyframes nf-blink{0%,70%{opacity:1}80%{opacity:.25}90%{opacity:1}95%{opacity:.25}}
.nf-stage{position:relative;margin:16px 0 10px}
.nf-code{display:flex;align-items:center;justify-content:center;gap:clamp(14px,2vw,26px);height:clamp(190px,24vw,260px);user-select:none;font:800 clamp(160px,23vw,262px)/1 var(--font);letter-spacing:-.07em}
.nf-code>span{background:linear-gradient(180deg,#eff3e9 10%,#a9b49c 40%,#34402a 74%,#11180c 94%);background-clip:text;-webkit-background-clip:text;color:transparent}
.nf-code>span:nth-child(2){opacity:.4}
/* Loader-style hop: 4, 0, 4 jump in turn, then a beat of rest; up decelerates, down falls with gravity and lands with a light squash. */
.nf-code>span{transform-origin:50% 100%;animation:nf-digit 2.2s .7s infinite}
.nf-code>span:nth-child(2){animation-delay:.85s}.nf-code>span:nth-child(3){animation-delay:1s}
@keyframes nf-digit{0%{transform:none;animation-timing-function:cubic-bezier(.23,1,.32,1)}14%{transform:translateY(-9%);animation-timing-function:cubic-bezier(.55,0,1,.45)}28%{transform:none}33%{transform:scale(1.03,.96)}40%,100%{transform:none}}
.nf-stage:after{content:'';position:absolute;z-index:-1;bottom:3%;left:50%;width:min(300px,70vw);height:26px;border-radius:50%;background:radial-gradient(ellipse,#b9dd7c2e,#b9dd7c0a 55%,transparent 72%);box-shadow:inset 0 0 0 1px #b9dd7c14;transform:translateX(-50%)}
/* Skuf stands in the hollow 0. The shrug rig (case-skuf-rig.css) idles with a breath and a lazy shrug; a poke replays it with a line. */
.nf-skuf{position:absolute;left:50%;bottom:5%;width:clamp(150px,18vw,192px);padding:0;border:0;border-radius:24px;background:none;cursor:pointer;transform:translateX(-50%);animation:nf-arrive .6s .1s cubic-bezier(.23,1,.32,1) both}
.nf-skuf:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
.nf-rig{display:block;position:relative;width:100%;aspect-ratio:344/399;transition:transform .2s cubic-bezier(.23,1,.32,1)}
.nf-rig img[data-part=body]{animation:nf-breath 3.4s ease-in-out infinite}
/* One even shrug per 3.2s: arms and head share the cycle, so they rise, hold and settle together and never reset mid-pose.
   A poke only hops the whole rig; the shrug loop keeps running underneath. */
.nf-rig img:is([data-part=arm-l],[data-part=arm-r]){animation:nf-shrug 3.2s .8s infinite}
.nf-rig img[data-part=head]{animation:nf-sigh 3.2s .8s infinite}
.nf-rig.is-poked{animation:nf-hop .42s cubic-bezier(.23,1,.32,1)}
@keyframes nf-breath{0%,100%{scale:1}50%{scale:1.008 1.018}}
@keyframes nf-shrug{0%{translate:0 0;animation-timing-function:cubic-bezier(.33,0,.2,1)}16%,36%{translate:0 -2.5%;animation-timing-function:cubic-bezier(.45,0,.55,1)}54%,100%{translate:0 0}}
@keyframes nf-sigh{0%{rotate:0deg;animation-timing-function:cubic-bezier(.33,0,.2,1)}16%,36%{rotate:-3deg;animation-timing-function:cubic-bezier(.45,0,.55,1)}54%,100%{rotate:0deg}}
@keyframes nf-hop{0%{transform:none}35%{transform:translateY(-7px) scale(1.02,.98)}100%{transform:none}}
@keyframes nf-arrive{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%,0)}}
@media(hover:hover) and (pointer:fine){.nf-skuf:hover .nf-rig{transform:translateY(-3px)}}
.nf-skuf:active .nf-rig{transform:scale(.97)}
.nf-bubble{position:absolute;z-index:2;left:calc(50% + clamp(54px,7vw,72px));top:6%;width:max-content;max-width:230px;padding:10px 13px;border:1px solid #b9dd7c40;border-radius:12px 12px 12px 3px;background:#11150fe8;color:#e9eaed;font:700 12px/1.45 var(--font);text-align:left;white-space:normal;opacity:0;transform:translateY(6px) scale(.96);transform-origin:0 100%;transition:opacity .18s ease-out,transform .22s cubic-bezier(.23,1,.32,1);pointer-events:none}
.nf-bubble.is-on{opacity:1;transform:none}
#not-found-view h1{margin:4px 0 12px;font-size:clamp(26px,3vw,36px);line-height:1.15;letter-spacing:-.045em;color:#ecf1e5}
#not-found-view h1 span{color:var(--lime)}
#not-found-view p{margin:0;color:#8d9b81;font-size:13px;line-height:1.8}
#not-found-view .nf-path{display:inline-flex;align-items:center;gap:8px;max-width:min(100%,460px);margin-top:16px;padding:7px 12px;border:1px dashed #30362b;border-radius:8px;background:#0e110dcc;font-size:11px;line-height:1.3}
.nf-path .ui-icon{width:13px;height:13px;flex:none;color:#87947c}
.nf-path span,.nf-path b{flex:none;font:800 9px var(--font);letter-spacing:1.4px;text-transform:uppercase}
.nf-path span{color:#87947c}
.nf-path b{padding:3px 6px;border-radius:5px;background:#3a1d1a;color:#ff9a8b}
.nf-path code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e9eaed;font:700 12px var(--font)}
.nf-actions{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:22px}
.nf-actions a{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:150px;min-height:46px;height:auto;padding:13px 19px;border-radius:8px;text-decoration:none;font:800 12px var(--font)}
.nf-actions .launch-btn{animation:none;box-shadow:0 5px 24px #b9dd7c1f}
.nf-actions .outline-btn{border-color:#30362b;background:#11140f}
.nf-actions .ui-icon{width:17px;height:17px;flex:none}
.nf-doors{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 14px;margin-top:26px}
.nf-doors small{width:100%;color:#5c6a51;font:700 9px var(--font);letter-spacing:1.6px;text-transform:uppercase}
.nf-doors a{display:inline-flex;align-items:center;gap:6px;padding:6px 4px;color:#9aa397;text-decoration:none;font:700 12px var(--font);transition:color .15s ease}
.nf-doors .ui-icon{width:14px;height:14px;color:#6f7d64;transition:color .15s ease}
@media(hover:hover) and (pointer:fine){.nf-doors a:hover,.nf-doors a:hover .ui-icon{color:var(--lime)}}
.nf-doors a:focus-visible{outline:2px solid var(--lime);outline-offset:2px;border-radius:6px}
/* Entrance: top to bottom, 60ms apart, once per visit. */
.nf-layout>:is(.nf-signal,.nf-stage,h1,p,.nf-actions,.nf-doors){animation:nf-rise .44s cubic-bezier(.23,1,.32,1) both}
.nf-layout>.nf-stage{animation-delay:.06s}.nf-layout>h1{animation-delay:.12s}.nf-layout>p{animation-delay:.18s}.nf-layout>.nf-path{animation-delay:.24s}.nf-layout>.nf-actions{animation-delay:.3s}.nf-layout>.nf-doors{animation-delay:.36s}
@keyframes nf-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:450px){#not-found-view .nf-layout{min-height:calc(100svh - 72px);padding:16px 16px 36px}.nf-signal{font-size:8px;letter-spacing:1.5px}.nf-code{height:180px;font-size:min(158px,40vw);gap:2px}.nf-skuf{width:min(140px,36vw)}.nf-bubble{left:auto;right:0;top:-8%;max-width:170px;font-size:11px}#not-found-view p br{display:none}.nf-actions{width:100%;gap:8px}.nf-actions a{min-width:0;flex:1;padding:13px 10px}}
@media(prefers-reduced-motion:reduce){.nf-beam,.nf-signal i,.nf-skuf,.nf-rig,.nf-rig img,.nf-code>span,.nf-layout>*{animation:none!important}.nf-bubble{transform:none}}

/* 21st Users List Datatable composition, adapted to SkufDrop's native surfaces. */
#admin-view{--admin-line:#293029;--admin-surface:#111512;--admin-muted:#94a18d;}
#admin-view .page-heading{padding-bottom:26px;}
#admin-view .page-heading p{max-width:65ch;}
#admin-view .admin-nav{position:sticky;top:78px;z-index:15;gap:4px;padding:6px;background:#101510;border-color:var(--admin-line);border-radius:12px;box-shadow:0 8px 22px #080c0970;scrollbar-width:thin;}
#admin-view .admin-nav a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 14px;border-radius:7px;font-size:12px;font-weight:650;transition:background 160ms,color 160ms;}
#admin-view .admin-nav .ui-icon{width:16px;height:16px;opacity:.7;flex-shrink:0;}
#admin-view .admin-nav a.active{background:#23301b;color:var(--lime);box-shadow:inset 0 0 0 1px #7f9e4b45;}
#admin-view .admin-nav a.active .ui-icon{opacity:1;}
#admin-content{min-height:420px;}
#admin-view .admin-section-head{margin-bottom:24px;align-items:center;gap:20px;}
#admin-view .admin-section-head .eyebrow{font-size:9px;letter-spacing:1.8px;color:#8d9c80;}
#admin-view .admin-section-head h2{margin:9px 0 6px;font-size:25px;line-height:1.2;letter-spacing:-.8px;}
#admin-view .admin-section-head p{margin:0;color:var(--admin-muted);font-size:12px;line-height:1.7;}
#admin-view .admin-section-head>.outline-btn{flex-shrink:0;}
#admin-view .admin-card{border-color:var(--admin-line);border-radius:12px;background:linear-gradient(145deg,#151b15,#101510 70%);padding:24px;box-shadow:none;}
#admin-view .admin-card>h3{font-size:16px;letter-spacing:-.35px;}
#admin-view .outline-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:10px 14px;border-color:#35412e;border-radius:8px;font-size:11px;line-height:1.35;white-space:normal;}
#admin-view .outline-btn>.ui-icon{width:15px;height:15px;flex-shrink:0;}
#admin-view .admin-stats{gap:12px;margin-bottom:20px;}
#admin-view .admin-metric{position:relative;min-height:138px;padding:20px 22px;overflow:hidden;}
#admin-view .admin-metric>div{margin-bottom:18px;gap:10px;}
#admin-view .admin-metric>div>.ui-icon{width:17px;height:17px;}
#admin-view .admin-metric small{font-size:11px;margin:0;}
#admin-view .admin-metric>strong{font-size:28px;font-weight:750;letter-spacing:-.7px;font-variant-numeric:tabular-nums;color:#e4efda;line-height:1.2;}
#admin-view .admin-metric:first-child>strong{color:var(--lime);}
#admin-view .admin-metric>p{margin:10px 0 0;font-size:10px;}
#admin-view .admin-overview-grid{gap:20px;align-items:start;}
#admin-view .admin-overview-grid>.admin-card{height:100%;}
#admin-view .admin-overview-grid .admin-section-head h2{font-size:21px;}
#admin-view .admin-chart{height:190px;gap:16px;padding:18px 8px 0;border-bottom:1px solid var(--admin-line);}
#admin-view .admin-chart i{max-width:50px;width:100%;margin:auto;border-radius:5px 5px 0 0;background:linear-gradient(#bee779,#719b43);}
#admin-view .admin-chart small{font-variant-numeric:tabular-nums;}
#admin-view .admin-facts{gap:0;margin:22px 0 0;}
#admin-view .admin-facts>span{gap:18px;padding:12px 0;border-top:1px solid #283026;font-size:11px;align-items:center;}
#admin-view .admin-facts strong{font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere;}
#admin-view .admin-game-list article{padding:14px 0;}
#admin-view .admin-game-list article>div{font-size:12px;}
#admin-view .admin-game-list article b{font-variant-numeric:tabular-nums;}
#admin-view .admin-shortcuts>a{border-radius:9px;min-height:65px;padding:14px;}
#admin-view .admin-shortcuts>a>span{min-width:0;}
#admin-view .admin-shortcuts small{line-height:1.5;}

/* One identity treatment in lists, profiles and audit records. */
#admin-view .admin-avatar{display:inline-flex;align-items:center;justify-content:center;position:relative;width:42px;height:42px;min-width:42px;max-width:none;flex-shrink:0;overflow:hidden;border-radius:50%;border:1px solid #435238;background:#20291b url('/assets/skuf/rank-01.jpg') center/cover no-repeat;vertical-align:middle;}
#admin-view .admin-avatar img{display:block;width:100%;height:100%;object-fit:cover;}
#admin-view .admin-avatar img[hidden]{display:none;}
#admin-view .admin-avatar-large{width:80px;height:80px;min-width:80px;border:2px solid #829f57;box-shadow:0 0 0 5px #789c3c0b;}
#admin-view .admin-user-cell{gap:12px;min-width:0;}
#admin-view .admin-user-cell>div{min-width:0;}
#admin-view .admin-user-name{display:block;max-width:32ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;font-size:12px;font-weight:700;color:#e1e9da;}
#admin-view .admin-user-cell small{display:block;margin-top:5px;font-size:10px;color:#85937b;white-space:nowrap;}
#admin-view .admin-user-cell small b{color:#b2c49c;font-weight:500;margin:0;}
#admin-view .admin-user-heading{align-items:center;gap:24px;margin:0 0 24px;padding:22px;border:1px solid var(--admin-line);border-radius:12px;background:linear-gradient(100deg,#1a2315,#101510 65%);}
#admin-view .admin-user-heading h2{margin:7px 0;font-size:28px;line-height:1.2;}
#admin-view .admin-user-heading p{margin:0;font-size:11px;}
#admin-view .admin-user-tabs{padding:4px;background:#0e130d;border:1px solid var(--admin-line);border-radius:10px;margin:0 0 20px;gap:4px;overflow-x:auto;}
#admin-view .admin-user-tabs button{border-radius:6px;min-height:40px;padding:10px 16px;white-space:nowrap;}
#admin-view .admin-user-tabs button[aria-selected=true]{box-shadow:none;background:#24331a;}

/* Directory: restrained table, a single toolbar, explicit filtering and paging. */
#admin-view .admin-directory{border:1px solid var(--admin-line);border-radius:12px;background:#101510;}
#admin-view .admin-directory-summary{display:flex;align-items:center;gap:10px 28px;flex-wrap:wrap;padding:0 2px;margin:-5px 0 20px;color:#8d9a84;font-size:11px;}
#admin-view .admin-directory-summary>span{display:inline-flex;align-items:center;gap:8px;}
#admin-view .admin-directory-summary strong{color:#c9d9ba;font-variant-numeric:tabular-nums;}
#admin-view .admin-online-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#b4db72;}
#admin-view .admin-directory-toolbar{display:flex;align-items:center;gap:16px;padding:18px 20px;}
#admin-view .admin-directory .admin-search{display:flex;flex:1;margin:0;gap:8px;max-width:720px;}
#admin-view .admin-directory .admin-search label{display:flex;align-items:center;gap:10px;margin:0;min-width:0;}
#admin-view .admin-directory .admin-search input{padding:11px 14px 11px 40px;min-height:42px;border-color:#303c29;}
#admin-view .admin-search label>.ui-icon{position:absolute;margin-left:14px;width:15px;height:15px;color:#8a9b7a;pointer-events:none;}
#admin-view .admin-directory .admin-search label:focus-within>.ui-icon{color:var(--lime);}
#admin-view .admin-directory .admin-chips{padding:0 20px 16px;gap:6px;overflow-x:auto;}
#admin-view .admin-chips button{min-height:34px;border-radius:6px;padding:7px 12px;font-size:10px;font-weight:650;white-space:nowrap;}
#admin-view .admin-chips button[aria-pressed=true]{background:#28391c;border-color:#617f3f;color:#d0eca8;}
#admin-view .admin-sort-menu{position:relative;flex-shrink:0;margin-left:auto;font-size:11px;color:#b5c5a6;}
#admin-view .admin-sort-menu summary{display:flex;align-items:center;gap:9px;min-height:42px;padding:10px 13px;border:1px solid #35412e;border-radius:8px;cursor:pointer;list-style:none;}
#admin-view .admin-sort-menu summary::-webkit-details-marker{display:none;}
#admin-view .admin-sort-menu summary .ui-icon{width:14px;height:14px;}
#admin-view .admin-sort-menu>div{position:absolute;right:0;top:calc(100% + 7px);z-index:20;display:grid;gap:3px;min-width:200px;background:#192116;padding:6px;border:1px solid #455537;border-radius:9px;box-shadow:0 12px 30px #0008;}
#admin-view .admin-sort-menu button{display:flex;align-items:center;justify-content:space-between;gap:15px;background:transparent;color:#a7b59a;text-align:left;padding:12px;border:0;border-radius:5px;cursor:pointer;font:inherit;}
#admin-view .admin-sort-menu button[aria-pressed=true]{color:var(--lime);background:#2b3b1e;}
#admin-view .admin-sort-menu button .ui-icon{width:14px;height:14px;}
#admin-view .admin-directory .admin-table-wrap{border:0;border-top:1px solid var(--admin-line);border-radius:0;}
#admin-view .admin-user-table{table-layout:fixed;white-space:normal;min-width:0;width:100%;}
#admin-view .admin-user-table th{background:#151c12;font-size:9px;font-weight:650;letter-spacing:.5px;padding:14px 20px;color:#8a9c7b;}
#admin-view .admin-user-table th:first-child{width:32%;}
#admin-view .admin-user-table th:nth-child(2){width:17%;}
#admin-view .admin-user-table th:nth-child(3){width:23%;}
#admin-view .admin-user-table th:nth-child(4){width:21%;}
#admin-view .admin-user-table th:last-child{width:7%;}
#admin-view .admin-user-table td{padding:18px 20px;vertical-align:middle;border-top:1px solid #273022;font-size:11px;}
#admin-view .admin-user-table td>small{display:block;color:#829174;font-size:10px;margin-top:6px;line-height:1.5;}
#admin-view .admin-table-balance{font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums;}
#admin-view .admin-user-table .admin-open-user{min-width:34px;min-height:34px;padding:8px;}
#admin-view .admin-mode-pills{display:flex;gap:5px;flex-wrap:wrap;}
#admin-view .admin-mode-pills span{display:inline-flex;align-items:center;gap:5px;max-width:100%;font-size:9px;line-height:1.4;border-radius:5px;padding:5px 7px;white-space:normal;background:#1b2614;border:1px solid #35472a;color:#a7be92;}
#admin-view .admin-mode-pills .ui-icon{width:12px;height:12px;flex-shrink:0;}
#admin-view .admin-presence{font-size:10px;line-height:1.6;}
#admin-view .admin-directory-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 20px;border-top:1px solid var(--admin-line);color:#87977b;font-size:10px;}
#admin-view .admin-directory-footer .pager{margin:0;flex:1;min-width:0;width:auto;gap:16px;}
#admin-view .admin-directory .empty-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:65px 20px;}
#admin-view .admin-directory .empty-state .ui-icon{width:24px;height:24px;opacity:.5;}
#admin-view .admin-directory .empty-state strong{font-size:15px;color:#c2d1b4;}

/* All forms and records share density, readable values and consistent focus. */
#admin-view .admin-card input:not([type=checkbox]):not([type=radio]),#admin-view .admin-card select{min-height:42px;border-color:#35432d;border-radius:7px;background:#0d130b;}
#admin-view .admin-card input:focus-visible,#admin-view .admin-card select:focus-visible,#admin-view button:focus-visible,#admin-view a:focus-visible,#admin-view summary:focus-visible{outline:2px solid var(--lime);outline-offset:3px;}
#admin-view .admin-operation h3{font-size:20px;letter-spacing:-.5px;margin:0 0 12px;}
#admin-view .admin-operation>button{min-height:44px;}
#admin-view .admin-note{border-radius:8px;padding:14px;font-size:11px;line-height:1.7;}
#admin-view .admin-detail-list>div{padding:13px 0;}
#admin-view .admin-detail-list dd{font-variant-numeric:tabular-nums;}
#admin-view .admin-log article{padding:18px 0;border-color:#293224;}
#admin-view .admin-log article>div{align-items:center;gap:12px;}
#admin-view .admin-log time{font-variant-numeric:tabular-nums;white-space:nowrap;}
#admin-view .admin-log p{margin:9px 0;overflow-wrap:anywhere;}
#admin-view .admin-log .admin-audit-identity{display:flex;align-items:center;justify-content:flex-start;gap:9px;margin:12px 0 0;color:#a7b99a;font-size:10px;}
#admin-view .admin-audit-identity .admin-avatar{width:24px;height:24px;min-width:24px;}
#admin-view .admin-audit-identity small{font-size:9px;color:#819276;}
#admin-view .admin-log details{padding:10px 12px;border:1px solid #2c3825;border-radius:7px;background:#0c120a;}
#admin-view .admin-log details pre{max-height:320px;overflow:auto;}
#admin-view .admin-inventory-art{height:110px;}
#admin-view .admin-promo-title{align-items:center;}
#admin-view .admin-promo-title h3{margin:0;}
#admin-view .admin-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:350px;border:1px solid var(--admin-line);border-radius:12px;background:radial-gradient(ellipse at 50% 0,#8bb6570a,transparent 70%),#101510;color:#86977a;font-size:12px;}
#admin-view .admin-loading strong{color:#c9d9b9;font-size:16px;}
#admin-view .admin-loading-mark{display:grid;place-items:center;width:48px;height:48px;border:1px solid #57743b;border-radius:12px;background:#24351a;color:#b8df79;animation:admin-loading-breathe 1.5s ease-in-out infinite;}
#admin-view .admin-loading-mark .ui-icon{width:22px;height:22px;}
@keyframes admin-loading-breathe{50%{opacity:.45;transform:scale(.94);}}

#admin-view .admin-diagnostics{margin-top:20px;}
#admin-view .admin-provider-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
#admin-view .admin-provider{display:flex;align-items:center;gap:13px;padding:18px;border:1px solid #303e28;border-radius:9px;background:#10170d;min-width:0;}
#admin-view .admin-provider>div:nth-child(2){min-width:0;flex:1;}
#admin-view .admin-provider-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#25371a;color:#b7d78f;flex-shrink:0;}
#admin-view .admin-provider-icon .ui-icon{width:19px;height:19px;}
#admin-view .admin-provider small{display:block;font-size:9px;letter-spacing:.8px;text-transform:uppercase;color:#8fa27d;}
#admin-view .admin-provider h3{margin:6px 0;font-size:16px;}
#admin-view .admin-provider p{margin:0;font-size:10px;}
#admin-view .admin-status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:20px;background:#24371a;color:#bedc99;white-space:nowrap;font-size:9px;}
#admin-view .admin-status-badge i{width:5px;height:5px;background:currentColor;border-radius:50%;}
#admin-view .admin-status-badge.is-warning{background:#3c3219;color:#dcc383;}
#admin-view .admin-diagnostics footer{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:18px;color:#829575;font-size:10px;line-height:1.6;}
#admin-view .admin-diagnostics footer span{display:flex;align-items:center;gap:6px;}
#admin-view .admin-diagnostics footer .ui-icon{width:12px;height:12px;}
#admin-view .admin-diagnostics-loading{padding:24px;border:1px dashed #36492a;border-radius:8px;color:#91a57d;font-size:12px;}

@media(hover:hover) and (pointer:fine){
 #admin-view .admin-user-table tbody tr:hover{background:#1a241441;}
 #admin-view .admin-user-name:hover{color:var(--lime);}
 #admin-view .admin-nav a:hover{background:#202d19;color:#c6e69d;}
 #admin-view .admin-sort-menu button:hover{background:#27391c;color:#d1e9b2;}
}
@media(max-width:1100px){
 #admin-view .admin-nav a{padding:10px 12px;}
 #admin-view .admin-user-table th,#admin-view .admin-user-table td{padding:15px 12px;}
 #admin-view .admin-user-table th:first-child{width:32%;}
 #admin-view .admin-user-cell small{white-space:normal;overflow-wrap:anywhere;}
 #admin-view .admin-provider{flex-wrap:wrap;}
 #admin-view .admin-provider-grid{gap:10px;}
}
@media(min-width:761px){
 #admin-view .admin-user-table th:nth-child(3),#admin-view .admin-user-table td:nth-child(3){display:table-cell;}
}
@media(max-width:760px){
 #admin-view{padding-top:20px;}
 #admin-view .admin-nav{top:64px;margin-bottom:20px;}
 #admin-view .admin-nav a{min-height:40px;font-size:11px;padding:8px 12px;}
 #admin-view .admin-section-head{align-items:flex-start;gap:14px;margin-bottom:20px;}
 #admin-view .admin-section-head h2{font-size:23px;}
 #admin-view .admin-section-head p{font-size:11px;}
 #admin-view .admin-section-head>.outline-btn{min-height:36px;padding:8px 10px;}
 #admin-view .admin-card{padding:18px;}
 #admin-view .admin-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
 #admin-view .admin-metric{padding:16px;min-height:120px;}
 #admin-view .admin-metric>strong{font-size:23px;}
 #admin-view .admin-metric small{font-size:10px;}
 #admin-view .admin-overview-grid{grid-template-columns:1fr;gap:14px;}
 #admin-view .admin-user-heading{padding:16px;align-items:flex-start;flex-wrap:wrap;}
 #admin-view .admin-user-heading h2{font-size:23px;}
 #admin-view .admin-avatar-large{width:60px;height:60px;min-width:60px;}
 #admin-view .admin-user-heading>.admin-user-cell{width:100%;}
 #admin-view .admin-heading-actions{width:100%;justify-content:flex-end;}
 #admin-view .admin-user-tabs button{padding:9px 12px;font-size:11px;}
 #admin-view .admin-directory-summary{gap:10px 18px;font-size:10px;}
 #admin-view .admin-directory-toolbar{flex-wrap:wrap;padding:14px;gap:12px;}
 #admin-view .admin-directory .admin-search{flex-basis:100%;}
 #admin-view .admin-directory .admin-search button{padding:10px;}
 #admin-view .admin-sort-menu{margin-left:0;width:100%;}
 #admin-view .admin-sort-menu summary{justify-content:flex-start;min-height:38px;}
 #admin-view .admin-sort-menu summary>.ui-icon:last-child{margin-left:auto;}
 #admin-view .admin-sort-menu>div{left:0;right:0;}
 #admin-view .admin-directory .admin-chips{padding:0 14px 14px;flex-wrap:nowrap;}
 #admin-view .admin-directory .admin-table-wrap{padding:8px;background:#0c120a;overflow:visible;}
 #admin-view .admin-user-table{display:block;width:100%;}
 #admin-view .admin-user-table thead{display:none;}
 #admin-view .admin-user-table tbody{display:grid;gap:9px;}
 #admin-view .admin-user-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;border:1px solid #2d3a24;border-radius:8px;background:#131b0f;padding:14px;}
 #admin-view .admin-user-table td{display:block;width:auto;border:0;padding:0!important;min-width:0!important;}
 #admin-view .admin-user-table td:first-child{grid-column:1/-1;}
 #admin-view .admin-user-table td:nth-child(2){grid-column:1;grid-row:2;}
 #admin-view .admin-user-table td:nth-child(3){grid-column:1/-1;grid-row:3;}
 #admin-view .admin-user-table td:nth-child(4){grid-column:1/-1;grid-row:4;border-top:1px solid #2a3821;padding-top:10px!important;}
 #admin-view .admin-user-table td:last-child{grid-column:2;grid-row:2;align-self:center;}
 #admin-view .admin-user-table td:nth-child(4)>small{display:inline;margin-left:10px;}
 #admin-view .admin-user-name{max-width:100%;}
 #admin-view .admin-directory-footer{padding:14px;flex-wrap:wrap;gap:12px;}
 #admin-view .admin-directory-footer>span{display:none;}
 #admin-view .admin-directory-footer .pager{justify-content:space-between;width:100%;}
 #admin-view .admin-audit-filter{gap:10px;}
 #admin-view .admin-event-list article{flex-wrap:wrap;}
 #admin-view .admin-event-list article>div:nth-child(2){flex-basis:calc(100% - 70px);}
 #admin-view .admin-event-list article>.admin-status{margin-left:60px;}
 #admin-view .admin-provider-grid{grid-template-columns:1fr;}
 #admin-view .admin-provider{padding:14px;}
 #admin-view .admin-diagnostics footer{gap:10px;}
 #admin-view .admin-log time{white-space:normal;text-align:right;}
}
@media(prefers-reduced-motion:reduce){
 #admin-view .admin-loading-mark{animation:none;}
 #admin-view .admin-nav a{transition:none;}
}

/* Scoped adaptations of the 21st admin references. Shared Manrope, Solid sprite and brand currency. */
#admin-view [hidden]{display:none!important}
.as-root{min-width:0}.as-root:empty{display:none}.as-root,.as-dialog{--as-border:#2c352a;--as-muted:#97a28e;--as-surface:#141a13;color:#e7eddf;font-family:Manrope,sans-serif;font-size:13px;line-height:1.6}
.as-root *,.as-dialog *{box-sizing:border-box}.as-root h2,.as-dialog h2{font-size:24px;line-height:1.25;letter-spacing:-.7px;margin:7px 0 9px}.as-root h3,.as-dialog h3{font-size:18px;line-height:1.35;letter-spacing:-.3px;margin:6px 0 12px}.as-root p,.as-dialog p{color:var(--as-muted);margin:7px 0 14px}.as-root small,.as-dialog small{font-size:11px;color:var(--as-muted)}
.as-panel{border:1px solid var(--as-border);border-radius:15px;background:linear-gradient(125deg,#151b14,#0e130f 65%);overflow:hidden}.as-panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 26px 20px;border-bottom:1px solid var(--as-border)}.as-panel-head p{margin-bottom:0;max-width:65ch}.as-panel-head .eyebrow{font-size:9px;color:#bada8a;letter-spacing:2px}
.as-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.as-root .as-button,.as-dialog .as-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:36px;min-height:38px;width:auto;padding:9px 12px;font-size:11px;white-space:normal;text-align:center;border-radius:8px}.as-button .ui-icon{width:16px;height:16px;flex-shrink:0}.as-root button:disabled,.as-dialog button:disabled{opacity:.4;cursor:default}.as-root button:focus-visible,.as-root input:focus-visible,.as-root select:focus-visible,.as-root textarea:focus-visible,.as-root summary:focus-visible,.as-dialog :focus-visible{outline:2px solid #bbdf79;outline-offset:3px}
.as-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:18px 24px}.as-toolbar label,.as-ticket-editor>label{display:flex;flex-direction:column;gap:6px;min-width:130px;color:var(--as-muted);font-size:11px}.as-root input:not([type=checkbox]),.as-root select,.as-root textarea,.as-dialog input{min-height:40px;border:1px solid #35402e;background:#0c100c;color:#e9efdf;border-radius:8px;padding:10px 12px;font:inherit;width:100%;max-width:100%;box-shadow:none;outline-offset:3px}.as-root select{cursor:pointer}.as-root input:hover,.as-root select:hover{border-color:#65724b}.as-root .as-search{position:relative;flex:1;min-width:220px}.as-search>.ui-icon{position:absolute;top:12px;left:12px;width:16px;height:16px;color:#88967c}.as-root .as-search:has(>.ui-icon) input{padding-left:38px}
.as-chips{display:flex;gap:5px;flex-wrap:wrap;padding:14px 24px}.as-chips button{border:1px solid transparent;border-radius:7px;padding:7px 12px;color:#a7b09f;background:transparent;font-size:11px;font-weight:650;min-height:34px}.as-chips button[aria-pressed=true]{color:#d6edb0;background:#2a361f;border-color:#576a37}.as-chips button:hover{background:#26321e}.as-table-scroll{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#4b5d38 #11170e}
.as-table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}.as-table th{font-size:9px;text-transform:uppercase;font-weight:650;letter-spacing:1px;color:#9aa58d;background:#151d12;border-top:1px solid #293322;border-bottom:1px solid #35412c;padding:13px 17px;white-space:nowrap}.as-table td{padding:15px 17px;border-bottom:1px solid #283022;vertical-align:middle;font-variant-numeric:tabular-nums}.as-table tbody tr:last-child td{border-bottom:0}.as-table tbody tr:hover{background:#b9dc7606}.as-table td small{display:block;margin-top:3px;max-width:30ch;overflow-wrap:anywhere}.as-table .as-badge{max-width:100%}.as-money{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-variant-numeric:tabular-nums}.as-money .currency-icon{width:13px;height:13px;flex-shrink:0}.as-root .as-badge,.as-dialog .as-badge{display:inline-flex;align-items:center;font-size:10px;padding:4px 8px;line-height:1.45;border-radius:6px;border:1px solid #35402e;background:#1d2418;color:#b0b9a4;font-style:normal;overflow-wrap:anywhere}.as-root .is-good,.as-dialog .is-good{color:#bfe98d}.as-root .as-badge.is-good{border-color:#526b32;background:#24321b}.as-warning{color:#dfbc7b;font-size:11px}.as-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:55px 24px;text-align:center;color:var(--as-muted)}.as-empty .ui-icon{width:24px;height:24px;opacity:.6}
.as-pager{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 24px;border-top:1px solid var(--as-border);font-size:11px;color:var(--as-muted)}.as-pager>div{display:flex;align-items:center;gap:12px}.as-pager strong{min-width:48px;text-align:center;font-size:11px}.as-pager .as-button{padding:6px;min-height:34px}.as-case-identity{display:flex;align-items:center;gap:15px;border:0;background:transparent;color:inherit;text-align:left;max-width:300px;padding:0}.as-case-identity img{width:68px;height:62px;object-fit:contain;flex-shrink:0}.as-case-identity strong{font-size:13px}.as-case-identity small{opacity:.8}.as-case-table{min-width:900px}.as-case-table td:nth-child(3){color:#d0e7a4;font-weight:700}
.as-directory-tools{display:flex;align-items:center;justify-content:flex-end;gap:20px;padding:6px 20px 15px;position:relative}.as-directory-tools details>div{position:absolute;z-index:5;right:22px;top:44px;min-width:230px;background:#182013;border:1px solid #475d32;border-radius:10px;padding:12px;box-shadow:0 15px 45px #0008}.as-directory-tools summary{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:11px;color:#c2dba1;min-height:34px}.as-directory-tools summary .ui-icon{width:15px;height:15px}.as-directory-tools label{display:flex;align-items:center;gap:10px;font-size:11px;min-height:34px;color:#afbaa4}.as-directory-tools input[type=checkbox]{accent-color:#bde57b}.as-switch-row{display:flex;align-items:center;gap:10px}.as-root .as-switch{appearance:none;width:32px;height:19px;background:#333f2b;border-radius:20px;position:relative;border:1px solid #556444;cursor:pointer;flex-shrink:0}.as-switch:after{content:'';position:absolute;top:3px;left:3px;width:11px;height:11px;border-radius:50%;background:#9ba58c;transition:transform 180ms,background 180ms}.as-root .as-switch:checked{background:#bada80}.as-switch:checked:after{transform:translateX(13px);background:#1b2812}#admin-view .as-quick-open{display:inline-flex;padding:7px;min-width:34px;min-height:34px;margin-right:5px;border-color:#3a4930}.admin-user-table [hidden]{display:none!important}
.as-dialog{background:linear-gradient(135deg,#192015,#10160f);border:1px solid #485c34;border-radius:15px;padding:0;box-shadow:0 30px 100px #0009;max-width:calc(100vw - 28px);max-height:85dvh;width:640px;overflow:auto;overscroll-behavior:contain;animation:as-dialog-in .22s cubic-bezier(.16,1,.3,1)}.as-dialog::backdrop{background:#030803b3;backdrop-filter:blur(5px)}.as-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 23px;border-bottom:1px solid #34422b;position:sticky;top:0;z-index:2;background:#171f14}.as-dialog>header strong{font-size:13px}.as-sheet{margin:0 0 0 auto;height:100dvh;max-height:100dvh;border-radius:16px 0 0 16px;width:440px;max-width:100vw;animation:as-sheet-in .3s cubic-bezier(.16,1,.3,1)}.as-avatar{width:42px;height:42px;flex:0 0 42px;border:1px solid #4e6537;border-radius:50%;overflow:hidden;display:inline-flex;background:#22331a url('/assets/skuf/rank-01.jpg') center/cover}.as-avatar img{width:100%;height:100%;object-fit:cover}.as-identity{display:flex;align-items:center;gap:12px;min-width:0}.as-identity>span,.as-identity>div{min-width:0}.as-identity strong{display:block;overflow-wrap:anywhere}.as-identity small{display:block}.as-quick-user{padding:27px}.as-quick-user>.as-identity{gap:17px}.as-quick-user>.as-identity .as-avatar{width:68px;height:68px;flex-basis:68px}.as-quick-user h2{font-size:23px;overflow-wrap:anywhere}.as-quick-user p{margin:0}.as-quick-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:26px 0}.as-quick-stats article{padding:15px;border:1px solid #35462a;border-radius:10px;background:#1a2415}.as-quick-stats small{display:block}.as-quick-stats strong{font-size:19px}.as-facts{margin:15px 0}.as-facts>div{display:flex;align-items:baseline;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid #2f3a27;font-size:11px}.as-facts dt{color:#94a384}.as-facts dd{margin:0;color:#e6ecdf;text-align:right;overflow-wrap:anywhere}.as-quick-user>.as-button{width:100%;margin-top:20px}.as-command-search{display:flex;align-items:center;gap:12px;padding:19px 24px;border-bottom:1px solid #35432c}.as-command-search .ui-icon{width:20px;height:20px;color:#a1c279;flex-shrink:0}.as-command-search input{border:0;padding:0;min-height:34px;background:transparent;font-size:15px;outline-offset:0}.as-command-list{max-height:48dvh;overflow:auto;padding:9px;scrollbar-width:thin}.as-command-list>button{display:flex;align-items:center;gap:12px;width:100%;background:transparent;color:#e4ebdc;border:1px solid transparent;border-radius:8px;text-align:left;min-height:48px;padding:10px 13px}.as-command-list>button[aria-selected=true]{background:#2c3c1e;border-color:#5e783d}.as-command-list>button>.ui-icon{width:18px;height:18px;color:#abc481;flex-shrink:0}.as-command-list>button>.ui-icon:last-child{margin-left:auto;width:13px}.as-command-list small{display:block}.as-command-list .as-avatar{width:30px;height:30px;flex-basis:30px}.as-dialog>footer{padding:12px 24px;border-top:1px solid #35432c;color:#91a27f;font-size:10px}.as-dialog>p{padding:0 24px}#admin-view .as-command-open{display:inline-flex;align-items:center;gap:10px;font-size:11px;min-height:40px}#admin-view .as-command-open kbd{padding:3px 5px;border:1px solid #445735;border-radius:4px;font:10px Manrope;color:#b4c59f}#admin-view .page-heading{align-items:center;gap:20px}
.as-analytics>header{display:flex;align-items:center;justify-content:space-between;gap:14px}.as-analytics>header .as-chips{padding:0;flex-shrink:0}.as-analytics>header p{font-size:11px}.as-analytic-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0}.as-analytic-metrics button{display:flex;flex-direction:column;gap:6px;text-align:left;background:#172011;border:1px solid #303f26;border-radius:9px;padding:13px;min-width:0;color:#e0e9d6}.as-analytic-metrics button[aria-pressed=true]{border-color:#799f4e;background:#26371c}.as-analytic-metrics small{display:flex;align-items:center;gap:7px;font-size:10px}.as-analytic-metrics .ui-icon{width:14px;height:14px}.as-analytic-metrics strong{font-size:22px;line-height:1.3;letter-spacing:-.6px;display:flex;align-items:center;gap:5px}.as-analytic-metrics strong>.currency-icon{width:13px;height:13px}.as-analytic-metrics button>span{color:#9dad8f;font-size:9px}.as-area-chart{width:100%;height:auto;min-height:130px;display:block}.as-chart-dates{display:flex;align-items:center;justify-content:space-between;gap:6px;color:#96a585;font-size:9px}.as-chart-data{margin-top:16px;border-top:1px solid #2d3b24;padding-top:12px}.as-chart-data summary{font-size:10px;color:#afc88d;cursor:pointer}.as-chart-data .as-table-scroll{max-height:260px;margin-top:12px}.as-chart-data .as-table{font-size:10px}.as-skeleton{padding:35px 20px;border-radius:10px;background:linear-gradient(100deg,#24321a,#182211);color:#a7be8a}
#admin-view .as-composition-root,#admin-view #admin-case-drops{display:block}.as-composition>.as-toolbar{padding:15px 0}.as-composition-table{min-width:680px}.as-composition-table th,.as-composition-table td{padding:12px 10px}.as-composition-table td:nth-child(4){width:100px}.as-composition-table input{min-width:76px}.as-skin{display:flex;align-items:center;gap:10px;min-width:200px;max-width:280px}.as-skin img{width:56px;height:43px;object-fit:contain;flex-shrink:0}.as-skin strong{display:block;max-width:200px;overflow-wrap:anywhere;line-height:1.45;font-size:11px}.as-skin small{font-size:8px;opacity:.7;max-width:160px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.as-composition .as-table-scroll{max-height:520px;border:1px solid #34412b;border-radius:8px}.as-composition-table thead{position:sticky;top:0;z-index:1}.as-composition-total{position:sticky;bottom:12px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:14px 0;padding:14px;border:1px solid #59733c;border-radius:9px;background:#1b2914;box-shadow:0 6px 20px #0005}.as-composition-total.is-warning{border-color:#7e6636;background:#282414;color:#e5c485}.as-composition-total>span{font-size:9px}.as-composition-total strong{display:block;font-size:12px}.as-composition>small{display:block;line-height:1.7}
.as-event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:10px 24px 24px}.as-event-card{border:1px solid #38472e;border-radius:12px;background:#131b10;overflow:hidden;display:flex;flex-direction:column}.as-event-art{position:relative;height:170px;background:radial-gradient(ellipse at bottom,color-mix(in srgb,var(--event-accent) 12%,transparent),transparent 70%);border-bottom:1px solid #334229}.as-event-art img{width:100%;height:100%;object-fit:contain;padding:12px}.as-event-art>.as-badge{position:absolute;left:12px;top:12px;background:#111b0ee6}.as-event-card>div:last-child{padding:20px;display:flex;flex-direction:column;flex:1}.as-event-card h3{margin-bottom:6px;font-size:19px}.as-event-card p{font-size:11px}.as-event-card ul{list-style:none;padding:0;margin:5px 0 20px}.as-event-card li{display:flex;flex-direction:column;padding:7px 0;border-bottom:1px solid #2a3723;font-size:11px}.as-event-card li span{font-size:10px;color:#97a98a}.as-event-card .as-actions{margin-top:auto}.as-range-picker{position:relative;margin-top:18px}.as-calendar-popover{position:absolute;z-index:18;top:calc(100% + 9px);left:0;border:1px solid #5c7740;border-radius:12px;background:#172212;box-shadow:0 20px 60px #0009;padding:16px;width:580px;max-width:calc(100vw - 64px)}.as-calendar-popover>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.as-calendar-popover>header strong{font-size:12px}.as-calendars{display:grid;grid-template-columns:1fr 1fr;gap:18px}.as-calendars h4{text-align:center;font-size:11px;margin:8px 0 12px;text-transform:capitalize}.as-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.as-calendar-grid>span{font-size:9px;text-align:center;color:#8da17a}.as-calendar-grid>button{aspect-ratio:1;border:0;color:#d6e4cc;background:transparent;border-radius:5px;padding:3px;font-size:11px;min-width:24px;min-height:28px}.as-calendar-grid>button:disabled{visibility:hidden}.as-calendar-grid>button.is-range{background:#2f4422;border-radius:0}.as-calendar-grid>button.is-edge{background:#bada7e;color:#17210e;font-weight:800}.as-calendar-grid>button:hover{box-shadow:inset 0 0 0 1px #acd072}.as-calendar-popover footer{display:flex;gap:5px;flex-wrap:wrap;border-top:1px solid #394f2a;margin-top:14px;padding-top:12px}.as-calendar-popover footer .as-button{font-size:9px;padding:6px 8px;min-height:30px}.as-live-preview>.eyebrow{font-size:8px;letter-spacing:1.5px}.as-preview-card{border:1px solid #496337;border-radius:12px;background:radial-gradient(ellipse at 50% 20%,color-mix(in srgb,var(--event-accent) 9%,#182212),#11190f 80%);padding:20px;margin:12px 0}.as-preview-card h3{font-size:23px;overflow-wrap:anywhere}.as-preview-art{height:170px;display:flex;align-items:center;justify-content:center}.as-preview-art img{width:100%;height:100%;object-fit:contain}.as-preview-art>.ui-icon{width:60px;height:60px;color:#789759}.as-preview-card>strong{font-size:16px;color:#c6e994}.as-preview-card>p{font-size:11px}.as-preview-card .as-badge{font-size:9px}.as-live-preview>small{display:block;font-size:10px;line-height:1.7}.as-root.as-preview-root{min-width:0}#admin-view .admin-gw-grid{grid-template-columns:1fr;gap:20px}#admin-view .admin-gw-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.8fr);gap:36px;padding:26px}#admin-view .as-live-fields{display:flex;flex-direction:column;gap:14px;min-width:0}#admin-view .as-live-fields h3{margin:0}.as-live-fields>small{color:#91a57e}.as-root .as-code{border:1px dashed #526f38;border-radius:6px;background:#223619;color:#d5edb3;font-family:Manrope;font-weight:750;padding:7px 12px;letter-spacing:.5px}.as-record-table{min-width:830px}.as-record-table meter{display:block;height:5px;width:100%;max-width:150px;margin-top:8px;appearance:none;background:#2d3826;border:0;border-radius:4px}.as-record-table meter::-webkit-meter-bar{background:#2d3826;border:0;border-radius:4px}.as-record-table meter::-webkit-meter-optimum-value{background:#aad46d;border-radius:4px}.as-create-promo{border:1px solid #3c4d2d;border-radius:11px;margin-top:14px;background:#131c10;padding:18px 22px}.as-create-promo>summary{color:#c3dca4;cursor:pointer;font-size:12px;font-weight:650}.as-create-promo>form{margin-top:18px;max-width:650px}.as-audit-table{min-width:980px}.as-audit-table td:nth-child(2){width:28%;min-width:220px}.as-audit-table td:nth-child(2) p{margin:8px 0;font-size:11px}.as-audit-table td:nth-child(4){white-space:nowrap;font-size:10px}.as-audit-table .as-identity{min-width:180px}.as-change-details{min-width:160px}.as-change-details summary{font-size:10px;cursor:pointer;color:#bedc97}.as-change-details pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px;padding:10px;background:#0c1409;border-radius:6px;max-height:300px;overflow:auto}.as-change-grid{min-width:400px;padding:10px 0}.as-change-grid>div{display:grid;grid-template-columns:90px 1fr 1fr;gap:8px;padding:7px 0;border-bottom:1px solid #334529}.as-change-grid strong{font-size:9px;overflow-wrap:anywhere}.as-change-grid pre{margin:0;padding:5px}.as-change-headers{color:#b4d397}.as-settings-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:15px}.as-settings-nav a{font-size:11px;padding:9px 14px;border:1px solid #3b4f2d;border-radius:8px;color:#bad794;background:#1c2815}.as-draft-bar{display:flex;align-items:center;gap:10px;margin-bottom:18px;border:1px solid #35452a;border-radius:9px;padding:12px 16px;background:#172211;color:#97ac83;font-size:11px}.as-draft-bar .ui-icon{width:16px;height:16px;flex-shrink:0}.as-draft-bar.is-dirty{border-color:#95723b;color:#e2c591;background:#282316}.as-draft-bar .as-button{margin-left:auto;min-height:30px;padding:5px 8px;font-size:10px}.as-inbox{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.6fr);min-height:570px}.as-inbox>aside{border-right:1px solid #34462a;padding:16px;max-height:740px;overflow:auto;scrollbar-width:thin}.as-inbox>aside>.as-search{display:block;margin-bottom:15px}.as-inbox>aside>button{width:100%;display:flex;align-items:start;flex-direction:column;gap:5px;text-align:left;background:#151f10;border:1px solid #2d4023;border-radius:9px;padding:14px 16px;color:#dee9d5;margin-bottom:8px}.as-inbox>aside>button[aria-pressed=true]{border-color:#8cb05c;background:#25371b;box-shadow:inset 3px 0 #bada80}.as-inbox>aside>button strong{font-size:12px}.as-inbox>aside>button>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;color:#a9b79c}.as-inbox>aside>button>small{font-size:9px}.as-ticket-editor{padding:26px;display:flex;flex-direction:column;gap:16px;min-width:0}.as-ticket-editor>header{display:flex;align-items:center;justify-content:space-between;gap:15px}.as-ticket-editor h3{font-size:22px}.as-ticket-editor .eyebrow{font-size:8px}.as-message{background:#192513;border:1px solid #34482a;border-radius:11px;padding:17px}.as-message.is-reply{background:#22321a;border-color:#537039}.as-message p{white-space:pre-wrap;overflow-wrap:anywhere;color:#d8e4ce;margin-bottom:0}.as-ticket-editor>button{width:100%;min-height:42px;font-size:12px}
#modal.admin-confirmation{border:1px solid #526b37;background:linear-gradient(135deg,#1a2514,#11190e);box-shadow:0 24px 100px #000b}#modal.admin-confirmation h2{font-size:25px;letter-spacing:-.7px}#modal.admin-confirmation .modal-eyebrow{display:block;color:#bedc96;font-size:9px;letter-spacing:2px;margin-bottom:14px}#modal.admin-confirmation .admin-mutation-review{border:1px solid #3e542d;background:#21311a;border-radius:10px;padding:16px;margin:18px 0}#modal.admin-confirmation .admin-mutation-review p{line-height:1.8;margin-top:0}#modal.admin-confirmation .as-confirm-cancel{width:100%;margin-top:10px;min-height:40px}#modal.admin-confirmation .as-confirm-diff{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}#modal.admin-confirmation .as-confirm-diff>div{border:1px solid #4a6034;background:#172511;border-radius:8px;padding:12px}#modal.admin-confirmation .as-confirm-diff small{display:block;font-size:10px;color:#9cae8d}#modal.admin-confirmation .as-confirm-diff strong{display:block;font-size:17px;color:#cee7a8;margin-top:5px}
@keyframes as-dialog-in{from{opacity:0;transform:translateY(9px) scale(.985)}to{opacity:1;transform:none}}@keyframes as-sheet-in{from{opacity:0;transform:translateX(35px)}to{opacity:1;transform:none}}
@media(min-width:1200px){#admin-view .admin-overview-grid:has(.as-analytics){grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr)}}
@media(max-width:1100px){.as-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.as-analytic-metrics strong{font-size:18px}.as-analytics>header{flex-wrap:wrap}.as-inbox{grid-template-columns:minmax(230px,.8fr) minmax(0,1.4fr)}}
@media(max-width:760px){.as-panel-head{padding:20px;align-items:start;flex-direction:column}.as-panel-head h2{font-size:23px}.as-panel-head .as-actions{width:100%}.as-toolbar{padding:16px;gap:10px}.as-toolbar label{min-width:0;flex:1 1 120px}.as-toolbar .as-search{min-width:0;flex-basis:100%}.as-chips{padding:12px 16px}.as-event-grid{padding:6px 16px 16px;gap:12px}.as-event-card>div:last-child{padding:16px}.as-event-art{height:140px}.as-analytic-metrics{gap:5px}.as-analytic-metrics button{padding:10px 8px}.as-analytic-metrics small{font-size:8px;gap:4px}.as-analytic-metrics small .ui-icon{display:none}.as-analytic-metrics strong{font-size:17px;letter-spacing:-.5px}.as-analytic-metrics button>span{font-size:8px}.as-chart-dates>span:nth-child(2){display:none}.as-pager{padding:14px 16px;flex-wrap:wrap}.as-inbox{grid-template-columns:1fr}.as-inbox>aside{max-height:325px;border-right:0;border-bottom:1px solid #34462a}.as-inbox>aside>button{padding:12px 15px}.as-ticket-editor{padding:20px}.as-ticket-editor>header{flex-wrap:wrap}.as-inbox>aside:has(>button){display:grid;grid-template-columns:1fr 1fr;gap:8px}.as-inbox>aside>.as-search{grid-column:1/-1}.as-inbox>aside>button{margin:0}.as-directory-tools{padding:10px 16px;justify-content:space-between;gap:8px;flex-wrap:wrap}.as-directory-tools label{font-size:10px}.as-directory-tools details>div{right:auto;left:12px;top:50px}.as-calendar-popover{width:100%;max-width:calc(100vw - 64px);position:relative;top:auto;margin-top:12px;padding:12px}.as-calendars{grid-template-columns:1fr}.as-calendar-popover{max-height:650px;overflow:auto}.as-calendar-grid>button{min-height:34px;aspect-ratio:auto}.as-calendar-popover footer .as-button{flex:1}.as-root.as-range-root{grid-column:1/-1}.as-range-picker>.as-button{font-size:10px}#admin-view .admin-gw-form{grid-template-columns:1fr;gap:20px;padding:20px}.as-preview-art{height:150px}#admin-view .as-command-open{font-size:10px;padding:9px}#admin-view .as-command-open kbd{display:none}#admin-view .page-heading{align-items:flex-start;flex-wrap:wrap}.as-draft-bar{align-items:flex-start;flex-wrap:wrap}.as-composition-total{bottom:8px}.as-composition-total>span{flex:1 1 40%}.as-dialog{max-height:90dvh}.as-sheet{max-height:100dvh}.as-command-search{padding:16px}.as-command-search input{font-size:13px}.as-command-list{max-height:52dvh}.as-command-list>button{font-size:12px}.as-quick-user{padding:22px}.as-root .as-table th,.as-root .as-table td{padding:12px}.as-ticket-editor textarea{min-height:130px}}
@media(max-width:450px){.as-event-grid{grid-template-columns:1fr}.as-inbox>aside:has(>button){grid-template-columns:1fr}.as-analytic-metrics strong{font-size:15px}.as-analytic-metrics small{font-size:8px}.as-command-list>button{padding:9px}.as-quick-user>.as-identity{align-items:flex-start}.as-quick-user>.as-identity .as-avatar{width:50px;height:50px;flex-basis:50px}.as-quick-stats strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){.as-dialog,.as-sheet{animation:none}.as-switch:after{transition:none}.as-root *{scroll-behavior:auto!important}}
