/* Cloudstride heirloom skin: approved painted footwear sets the material standard. */
:root{--ui-ivory:url('./assets/art/ui-v1/ivory-weave.webp');--ui-frame:url('./assets/art/ui-v1/heirloom-frame.webp');--ui-gold:#b99a5f;--ui-jade:#315f55}
.currency-emblem{position:relative;display:inline-grid;place-items:center;width:24px;height:24px;flex-shrink:0;vertical-align:middle}
.currency-illustration,.currency-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.currency-illustration{opacity:0;filter:drop-shadow(0 1px 1px #573a1740)}.currency-emblem.is-loaded .currency-illustration{opacity:1}.currency-emblem.is-loaded .currency-fallback{display:none}
.coin-pill{position:relative;isolation:isolate;gap:8px!important;border:1px solid #b79a64!important;border-radius:5px!important;background:linear-gradient(155deg,#325b50f5,#183c36fa),var(--ui-ivory)!important;color:#f8e9bd!important;box-shadow:inset 0 0 0 3px #e4c98c40,inset 0 5px 6px #ffffff12,0 3px 8px #173e3540!important;font-variant-numeric:tabular-nums;text-shadow:0 1px #102e28}
.coin-pill .currency-emblem{width:30px!important;height:30px!important;color:#f5db9b}.coin-pill [data-coins]{font-weight:600;letter-spacing:.5px}
.lobby-hud .coin-pill{padding:5px 15px 5px 9px!important;min-height:48px}.lobby-hud .coin-pill .currency-emblem{width:36px!important;height:36px!important}
dialog.preparation-dialog{border:0!important;border-radius:8px;overflow:hidden;background:#e8e6cc!important;box-shadow:0 24px 90px #102d376b,0 0 0 1px #dfc48c!important}
.preparation-dialog .preparation-shell{position:relative;isolation:isolate;background:linear-gradient(120deg,#f7f1ddf2,#e7ecd8e0),var(--ui-ivory);background-size:auto,384px 384px}
.preparation-shell:before{content:'';position:absolute;inset:0;z-index:12;pointer-events:none;border:22px solid transparent;border-image:var(--ui-frame) 120/22px/0 stretch}
.preparation-header.modal-head{position:relative;padding:27px 34px 24px!important;border-bottom:1px solid #a994635c;background:linear-gradient(105deg,#f5eddbdf,#e4ead8d4),var(--ui-ivory)!important;box-shadow:inset 0 -3px #fff9,0 3px 6px #5b61400d}
.preparation-header:after{content:'';position:absolute;left:32px;right:32px;bottom:4px;height:1px;background:linear-gradient(90deg,transparent,#a68c55a6,transparent);pointer-events:none}
.preparation-header .preparation-eyebrow{font:11px var(--serif);color:#9f8755;letter-spacing:2.5px;text-transform:uppercase;margin-bottom:7px}
.preparation-header h2{font-size:37px;letter-spacing:-.6px;color:#284f44;text-shadow:0 1px #fff9}
.preparation-header .coin-pill{padding:4px 17px 4px 7px;min-height:48px;font-size:17px;margin-right:8px}
.preparation-header .coin-pill .currency-emblem{width:39px!important;height:39px!important}
.preparation-dialog .icon-button,.preparation-dialog .deck-arrow{position:relative;isolation:isolate;border:1px solid #b9a16a!important;border-radius:5px;background:linear-gradient(145deg,#fff4d8cc,#d4dec6dc),var(--ui-ivory);color:#5e745c;box-shadow:inset 0 0 0 3px #fff7,inset 0 -4px 5px #8d865422,0 3px 7px #2c51402b}
.preparation-dialog .icon-button:after,.preparation-dialog .deck-arrow:after{content:'';position:absolute;inset:-2px;pointer-events:none;border:12px solid transparent;border-image:var(--ui-frame) 120/12px/0 stretch;z-index:-1}
.preparation-dialog .icon-button:hover,.preparation-dialog .deck-arrow:hover{color:#2d614f;background-color:#fff5d2;filter:brightness(1.04)}
.preparation-dialog .icon-button .icon,.preparation-dialog .deck-arrow .icon{stroke-width:1.8;filter:drop-shadow(0 1px #fff6)}
.preparation-layout{grid-template-columns:112px minmax(0,1fr) 340px}
.preparation-dialog .preparation-categories{position:relative;z-index:6;align-items:center;gap:20px;padding:32px 10px 24px;border-right:1px solid #b0b5917d;background:linear-gradient(90deg,#cddbc7b5,#e9eddbdc 58%,#c9d5be80),var(--ui-ivory);box-shadow:inset -3px 0 7px #4e6b5020}
.preparation-categories .shop-tab{position:relative;display:grid;place-items:center;width:74px;min-height:78px;height:78px;padding:8px;border:1px solid #c2b078;border-radius:5px;flex:none;background:linear-gradient(140deg,#f7eed4e8,#cfdac2df),var(--ui-ivory);box-shadow:inset 0 0 0 3px #fff6,inset 0 -4px 8px #677d4722,0 4px 5px #4764441c;transition:transform .18s,box-shadow .18s}
.preparation-categories .shop-tab:before{content:'';position:absolute;inset:-3px;border:16px solid transparent;border-image:var(--ui-frame) 120/16px/0 stretch;pointer-events:none}
.preparation-categories .shop-tab.active{border-color:#d4b774;background:radial-gradient(ellipse,#e8f4d56e,#264f43cf 95%),var(--ui-ivory);box-shadow:inset 0 0 0 3px #efda9d5c,0 0 0 4px #bb9d5c26,0 6px 12px #2a503e30;transform:translateY(-1px)}
.preparation-categories .shop-tab.active:after{content:'';display:block;position:absolute;right:-12px;top:calc(50% - 4px);width:8px;height:8px;transform:rotate(45deg);background:linear-gradient(135deg,#fff1bd,#b3914d);box-shadow:0 1px 4px #6f744060}
.preparation-categories .shop-tab:hover{transform:translateY(-3px);background-color:#fff4d7}
.category-seal{position:relative;display:grid;place-items:center;width:58px;height:58px;flex-shrink:0;filter:drop-shadow(0 3px 2px #304d443b)}
.category-illustration{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;pointer-events:none}.category-seal.is-loaded .category-illustration{opacity:1}.category-seal.is-loaded .material-fallback{display:none}
.material-fallback{display:grid;place-items:center;width:100%;height:100%;color:#8d8d59}.material-fallback .icon{width:28px;height:28px}
.preparation-categories .shop-tab[data-tooltip]:hover:after,.preparation-categories .shop-tab[data-tooltip]:focus-visible:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 13px);right:auto;top:50%;width:max-content;max-width:200px;height:auto;padding:8px 12px;transform:translateY(-50%);color:#f5e8bb;font-size:12px;font-family:var(--sans);background:#284b40f5;border:1px solid #d5b980;border-radius:4px;box-shadow:0 4px 15px #23403355;pointer-events:none;z-index:20}
.kit-companion{margin:auto 0 0;padding-top:18px;gap:10px}.companion-portrait{display:block;width:52px;height:66px;border:2px solid #bca875;border-radius:35% 35% 8px 8px;background-image:url('./assets/art/travelers-concept-v1.png');background-size:300% auto;background-color:#f2e8cc;box-shadow:0 0 0 3px #ecdec267,0 4px 9px #4b65452e}
.kit-companion>span:last-child{font-size:19px;color:#52725b;text-shadow:0 1px #fff7}
.preparation-dialog .preparation-stage{background:radial-gradient(ellipse at 50% 38%,#f6f6e8ee 8%,#d5e6dae8 52%,#dce6d5f2 100%),url('./assets/art/world-keyart-v1.png') 45% 50%/cover;box-shadow:inset 0 2px 8px #496b4d14}
.preparation-stage:after{inset:13px;border:1px solid #c0ac6b70;box-shadow:0 0 0 3px #fff6,inset 0 0 0 4px #fff4}
.preparation-stage-head{padding:22px 28px 0;color:#6c8064;font-family:var(--serif);font-size:14px;letter-spacing:1px}.preparation-stage-head>span:last-child{color:#af985b;font-size:22px;line-height:.8}
.artifact-orbit{border-color:#b2a4665e;box-shadow:0 0 45px #fff5cf44,inset 0 0 40px #fff6ce66}.artifact-orbit:before{border-color:#a4ad7e4d}
.artifact-orbit:after{border-color:#af995955;background:linear-gradient(135deg,#fff9df18,#d6ddb21a)}
.artifact-caption h3{color:#30574c;text-shadow:0 1px 1px #ffffe7a6}.artifact-diamonds{color:#a48a4e;text-shadow:0 1px #fff9}.artifact-state{font-size:11px;color:#718365}
.preparation-dialog .deck-arrow{width:44px;height:44px;min-width:44px;border-radius:5px}
.preparation-dialog .deck-counter{display:grid;place-items:center;min-width:58px;height:28px;padding:0 8px;border:1px solid #b3a571;border-radius:3px;background:linear-gradient(#faf0d6de,#e2e7cde8),var(--ui-ivory);box-shadow:inset 0 0 0 2px #fff9;color:#62765b;font-size:10px;letter-spacing:1px}
.preparation-dialog .deck-dots button:before{width:7px;height:7px;border-radius:0;transform:rotate(45deg);border:1px solid #b5ae76;background:linear-gradient(135deg,#eee7c2,#899d79);box-shadow:0 1px 2px #4e684121}
.preparation-dialog .deck-dots button.active:before{width:10px;height:10px;background:linear-gradient(135deg,#fff5c8,#b99b55);border-color:#b59852;box-shadow:0 0 0 3px #ddcf945c}
.kit-browse-hint{color:#7d8b6c;font-size:10px}
.preparation-detail{border-left:1px solid #b1b58d99;background:linear-gradient(105deg,#f8f2e2e6,#eeeedbd9),var(--ui-ivory);box-shadow:inset 3px 0 9px #627a4d0f}
.kit-detail-content{padding:25px 29px 24px}.kit-item-type{gap:8px;color:#8b895e;font-size:10px;letter-spacing:1px}.kit-item-type .category-seal{width:30px;height:30px;filter:drop-shadow(0 2px 1px #304d4426)}
.kit-detail-content h3{margin-top:12px;font-size:34px;color:#31574a;text-shadow:0 1px #fff9}.kit-description{font-size:13px;line-height:1.9;color:#65775e;min-height:65px}
.kit-stats{position:relative;isolation:isolate;padding:13px 16px;margin:22px -2px 0;border:1px solid #b3ac7a6b;border-radius:4px;background:linear-gradient(145deg,#e0e9cdd9,#f8f2d7de),var(--ui-ivory);box-shadow:inset 0 0 0 3px #fffa,inset 0 3px 7px #62784912,0 3px 5px #556c3510}
.kit-stats:before{content:'';position:absolute;inset:-3px;pointer-events:none;border:17px solid transparent;border-image:var(--ui-frame) 120/17px/0 stretch;opacity:.85}
.kit-stat{min-height:48px;font-size:11px;color:#758064}.kit-stat strong{font-size:27px;color:#426d57;text-shadow:0 1px #fff8}.kit-stat+.kit-stat{border-top:1px solid #b4bd9159}.kit-stat+.kit-stat strong{color:#72845e;font-size:14px}
.kit-effect-note{margin-top:21px;padding:0 2px;font-size:11px;color:#81876a}.kit-effect-note>.icon{color:#a28d54;filter:drop-shadow(0 1px #fff)}
.kit-levels{padding:12px 3px 22px}.kit-levels>span{border-color:#b6a36e;background:linear-gradient(145deg,#fff8db,#d1dbc0);box-shadow:inset 0 0 0 3px #fff6,0 3px 5px #5165481c;color:#b29c65}.kit-levels .learned{background:linear-gradient(145deg,#4b8370,#2b5144);border-color:#c1ab71;color:#f5df9c}.kit-levels .next-level{background:linear-gradient(145deg,#fff4c9,#dace9f);border-color:#af8f4c;color:#aa8c4e;box-shadow:inset 0 0 0 3px #fff5,0 0 0 4px #dcca8c40}
.kit-palette i{border-color:#f1e6c9;box-shadow:0 0 0 1px #b8a16b,0 2px 3px #5365462b}.kit-carry input{accent-color:#47715a;filter:drop-shadow(0 1px 2px #5e71352e)}
.preparation-actions{padding:20px 31px 23px;border-top:1px solid #b6a46e80;background:linear-gradient(110deg,#f1e9d7e6,#e7eddbdc),var(--ui-ivory);box-shadow:inset 0 3px #fff9,0 -4px 9px #5b715114}
.kit-purchase-note>span{font-size:11px;color:#6d7a5b}.kit-purchase-note .currency-emblem{width:25px;height:25px}.kit-purchase-note small{color:#939379}
.kit-action-buttons{gap:16px}.preparation-actions .shop-buy{position:relative;isolation:isolate;min-width:218px;min-height:52px;border:1px solid #b79b62;border-radius:5px;background:linear-gradient(135deg,#416e5ceb,#21493fe8),var(--ui-ivory);box-shadow:inset 0 0 0 3px #e8d49938,inset 0 6px 5px #ffffff13,0 5px 9px #284e3c26;color:#f8edc7;font-size:13px;letter-spacing:.4px;text-shadow:0 1px #1b3a31}
.preparation-actions .shop-buy:after{content:'';position:absolute;inset:-3px;pointer-events:none;border:19px solid transparent;border-image:var(--ui-frame) 120/19px/0 stretch}
.preparation-actions .shop-buy:hover:not(:disabled){background:linear-gradient(135deg,#528570,#2d5a4b),var(--ui-ivory);box-shadow:0 0 0 3px #bfa46540,0 5px 9px #254c3530}
.preparation-actions .shop-buy .currency-emblem{width:29px;height:29px}.preparation-actions .shop-buy i{background:#e3cd8d66}
.preparation-actions .shop-buy.selected{background:linear-gradient(145deg,#d3dfc2df,#e8ebd1e9),var(--ui-ivory);color:#7a8b66;text-shadow:0 1px #fff;border-color:#b3b58b;box-shadow:inset 0 0 0 3px #fff6}.preparation-actions .shop-buy:disabled:not(.selected){background:linear-gradient(145deg,#d4d8c7e0,#dfe1cfe6),var(--ui-ivory);color:#90967b;text-shadow:0 1px #fff8;border-color:#b3b58e}
.preparation-actions .shop-buy:disabled:after{opacity:.55}
.kit-trial{position:relative;min-height:44px;padding:8px 14px;border:1px solid #bdaf7c;border-radius:4px;background:linear-gradient(145deg,#f7efdaed,#e1e7cbe8),var(--ui-ivory);box-shadow:inset 0 0 0 2px #fff9,0 2px 5px #38573816;color:#6c7959;font-size:11px;text-decoration:none}.kit-trial .icon{color:#9f8e55}
.preparation-dialog button:focus-visible{outline:2px solid #b99a50;outline-offset:5px}
@media(min-width:1600px){.preparation-layout{grid-template-columns:124px minmax(0,1fr) 375px}.preparation-dialog .preparation-categories{gap:25px;padding-top:36px}.preparation-categories .shop-tab{width:80px;height:84px}.category-seal{width:64px;height:64px}.kit-detail-content{padding:34px}.kit-detail-content h3{font-size:38px}}
@media(max-width:1100px){.preparation-layout{grid-template-columns:100px minmax(0,1fr) 290px}.preparation-header.modal-head{padding:24px 28px 21px!important}.preparation-header h2{font-size:32px}.preparation-categories .shop-tab{width:66px;height:70px;min-height:70px}.category-seal{width:52px;height:52px}.preparation-dialog .preparation-categories{gap:16px;padding:25px 8px 20px}.kit-detail-content{padding:25px 22px}.kit-detail-content h3{font-size:30px}.kit-stats{padding:12px}.kit-stat strong{font-size:25px}}
@media(max-width:900px){.preparation-layout{grid-template-columns:minmax(0,1fr) 300px;grid-template-rows:82px minmax(0,1fr)}.preparation-dialog .preparation-categories{flex-direction:row;justify-content:center;padding:10px 22px;gap:22px;border-right:0;border-bottom:1px solid #a9ae8173}.preparation-categories .shop-tab{flex:none;max-width:none;width:58px;height:58px;min-height:58px;padding:5px}.category-seal{width:48px;height:48px}.preparation-categories .shop-tab:before{border-image-width:13px}.kit-companion{display:none}.preparation-categories .shop-tab.active:after{right:calc(50% - 4px);top:auto;bottom:-9px}.preparation-categories .shop-tab[data-tooltip]:hover:after,.preparation-categories .shop-tab[data-tooltip]:focus-visible:after{left:50%;top:calc(100% + 10px);transform:translateX(-50%)}.preparation-actions{padding:16px 25px 22px}.kit-action-buttons{gap:12px}.preparation-actions .shop-buy{min-width:190px}.kit-trial{font-size:10px;padding:8px 11px}}
@media(max-width:600px){.preparation-shell:before{border-image-width:16px}.preparation-header.modal-head{padding:18px 20px 16px!important;gap:8px}.preparation-header .preparation-eyebrow{font-size:8px;letter-spacing:1.7px;margin-bottom:5px}.preparation-header h2{font-size:29px}.preparation-header .modal-tools{gap:8px}.preparation-header .coin-pill{min-height:43px;min-width:69px;font-size:12px;padding:3px 9px 3px 4px;margin:0}.preparation-header .coin-pill .currency-emblem{width:30px!important;height:30px!important}.preparation-header .icon-button{width:40px;min-width:40px;height:43px}.preparation-header .modal-back{width:34px!important;min-width:34px!important;margin:0!important}.preparation-dialog:has(.modal-back) .preparation-header h2{font-size:23px}.preparation-dialog .preparation-categories{padding:9px 15px;min-height:72px;gap:23px;background:linear-gradient(90deg,#d5e1cfe8,#e7ead7ee),var(--ui-ivory)}.preparation-categories .shop-tab{width:52px;height:52px;min-height:52px;padding:4px}.category-seal{width:44px;height:44px}.preparation-categories .shop-tab:before{border-image-width:11px}.preparation-categories .shop-tab[data-tooltip]:hover:after{content:none}.preparation-stage-head{font-size:12px;padding:18px 24px 0}.preparation-stage:after{inset:12px}.preparation-dialog .deck-arrow{width:44px;height:44px}.preparation-dialog .deck-counter{min-width:52px;height:26px;font-size:9px}.kit-browse-hint{font-size:9px;padding-bottom:11px}.kit-detail-content{padding:22px 27px 24px}.kit-detail-content h3{font-size:30px}.kit-description{font-size:12px;min-height:0}.kit-item-type .category-seal{width:28px;height:28px}.kit-stats{margin-top:20px;padding:10px 14px}.kit-stat{min-height:43px}.kit-stat strong{font-size:26px}.kit-effect-note{font-size:10px;margin-top:18px}.preparation-actions{padding:13px 21px 20px;gap:9px}.kit-purchase-note>span{font-size:10px}.kit-purchase-note small{font-size:8px}.kit-purchase-note .currency-emblem{width:19px;height:19px}.kit-action-buttons{gap:9px}.preparation-actions .shop-buy{min-width:0;min-height:48px;padding:8px 16px;font-size:12px}.preparation-actions .shop-buy .currency-emblem{width:25px;height:25px}.preparation-actions .shop-buy:after{border-image-width:16px}.kit-trial{font-size:9px;padding:8px;max-width:40%;line-height:1.5}.preparation-actions .shop-buy i{margin:0 1px}.kit-price{font-size:13px}}
@media(max-width:360px){.preparation-header.modal-head{padding:16px 16px 15px!important;gap:6px}.preparation-header .preparation-eyebrow{display:none}.preparation-header h2,.preparation-dialog:has(.modal-back) .preparation-header h2{font-size:21px}.preparation-header .coin-pill{min-width:59px;font-size:11px;padding-right:6px}.preparation-header .coin-pill .currency-emblem{width:25px!important;height:25px!important}.preparation-header .modal-tools{gap:5px}.preparation-header .icon-button{width:36px;min-width:36px}.preparation-dialog .preparation-categories{gap:17px}.preparation-categories .shop-tab{width:48px;height:48px;min-height:48px}.category-seal{width:40px;height:40px}.preparation-actions{padding-left:17px;padding-right:17px}.kit-detail-content{padding-left:24px;padding-right:24px}.kit-action-buttons{gap:6px}.kit-trial{padding:6px;font-size:8px}}
@media(max-height:600px) and (min-width:601px){.preparation-header.modal-head{padding:13px 24px 12px!important}.preparation-header h2{font-size:28px}.preparation-header .preparation-eyebrow{display:none}.preparation-layout{grid-template-rows:62px minmax(0,1fr)}.preparation-dialog .preparation-categories{gap:20px;padding:6px 20px}.preparation-categories .shop-tab{width:47px;height:47px;min-height:47px}.category-seal{width:40px;height:40px}.preparation-actions{padding:11px 25px 17px}.preparation-actions .shop-buy{min-height:44px}.kit-detail-content{padding:20px 25px}.kit-description{min-height:0}}
@media(prefers-reduced-motion:reduce){.preparation-categories .shop-tab{transition:none}}
@media(max-width:600px){.preparation-header .icon-button,.preparation-header .modal-back{width:44px!important;min-width:44px!important;height:44px!important}}
@media(max-width:360px){.preparation-header.modal-head{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;grid-template-rows:44px 36px;column-gap:9px;row-gap:7px;padding:15px 20px!important}.preparation-header .modal-back{grid-column:1;grid-row:1}.preparation-header .kit-title-block{grid-column:2;grid-row:1}.preparation-header:not(:has(.modal-back)) .kit-title-block{grid-column:1/3}.preparation-header .modal-tools{display:contents}.preparation-header .coin-pill{grid-column:1/3;grid-row:2;justify-self:start;min-height:35px;font-size:12px;padding:2px 12px 2px 5px}.preparation-header .coin-pill .currency-emblem{width:27px!important;height:27px!important}.preparation-header .modal-tools>.icon-button{grid-column:3;grid-row:1}.preparation-header h2,.preparation-dialog:has(.modal-back) .preparation-header h2{font-size:23px;white-space:nowrap;letter-spacing:-.8px}.preparation-header .kit-title-block{align-self:center}}
@media(max-width:360px){.preparation-stage:has(.gear-artwork){height:300px;min-height:300px}.preparation-stage:has(.gear-artwork) #shop-deck{--card-height:220px}}
