/* Every pattern is local and vector based. No requests for remote artwork. */
[data-deck=classic]{--deck-ink:repeating-linear-gradient(45deg,#284d48 0 3px,#2b534d 3px 5px);--deck-rim:#b9bda0;--deck-gold:#d9c9a4;--deck-mark:'◇'}
[data-deck=current]{--deck-ink:repeating-radial-gradient(ellipse at -15% 50%,#345a71 0 5px,#24465b 6px 9px);--deck-rim:#a8bec4;--deck-gold:#c6dce0;--deck-mark:'∿'}
[data-deck=gilded]{--deck-ink:repeating-linear-gradient(45deg,#c3a66a 0 1px,transparent 1px 9px),repeating-linear-gradient(-45deg,#c3a66a 0 1px,#49402c 1px 9px);--deck-rim:#dbc087;--deck-gold:#f4d68a;--deck-mark:'✦'}
[data-deck=midnight]{--deck-ink:radial-gradient(circle,#dac7ae 1px,transparent 1.5px) 0 0/12px 12px,linear-gradient(145deg,#303c58,#19243b);--deck-rim:#abb5cc;--deck-gold:#d4cfec;--deck-mark:'☾'}
[data-deck=cherry]{--deck-ink:radial-gradient(ellipse at 50% 0,#e8b5ad66 0 15%,transparent 16%) 0 0/22px 22px,radial-gradient(ellipse at 0 50%,#e8b5ad44 0 15%,transparent 16%) 0 0/22px 22px,linear-gradient(145deg,#683c51,#342536);--deck-rim:#dba79e;--deck-gold:#f6ded1;--deck-mark:'✿'}
[data-deck=copper]{--deck-ink:repeating-linear-gradient(135deg,#c18b69 0 1px,transparent 1px 10px),linear-gradient(45deg,#5e3d32,#293d40);--deck-rim:#c18b69;--deck-gold:#efc3a0;--deck-mark:'◇'}
[data-deck=circuit]{--deck-ink:linear-gradient(90deg,#58cba92b 1px,transparent 1px) 0 0/12px 12px,linear-gradient(#58cba92b 1px,transparent 1px) 0 0/12px 12px,radial-gradient(circle,#27594f,#142e35);--deck-rim:#8bdbbc;--deck-gold:#b7f0d9;--deck-mark:'⌘'}
[data-deck=tideglass]{--deck-ink:conic-gradient(from 45deg at 50% 50%,#34777b 25%,#245161 0 50%,#598782 0 75%,#263d55 0) 0 0/22px 22px;--deck-rim:#b4c7bb;--deck-gold:#f3e2b9;--deck-mark:'❖'}
[data-deck=prismatic]{--deck-ink:conic-gradient(from 25deg,#536060,#6a5271,#7d6147,#3b6a68,#536060);--deck-rim:#d5cc9c;--deck-gold:#fff2d7;--deck-mark:'✧'}
[data-deck=ember]{--deck-ink:radial-gradient(ellipse at 50% 0,transparent 55%,#c07c453e 57% 62%,transparent 64%) 0 0/16px 14px,linear-gradient(145deg,#722e31,#251f2c);--deck-rim:#d99c5c;--deck-gold:#f7ce8d;--deck-mark:'♠'}
[data-deck=eclipse]{--deck-ink:radial-gradient(circle at 50% 50%,#1b2437 22%,#dab46e 23% 25%,#c3883b33 26% 35%,transparent 36%),radial-gradient(circle,#222b46,#101a2c);--deck-rim:#d5b67f;--deck-gold:#f6dfb0;--deck-mark:'◉'}
[data-deck=royal]{--deck-ink:radial-gradient(ellipse at 0 50%,transparent 35%,#d3b66b55 37% 40%,transparent 42%) 0 0/18px 28px,radial-gradient(ellipse at 100% 50%,transparent 35%,#d3b66b55 37% 40%,transparent 42%) 0 14px/18px 28px,linear-gradient(135deg,#403452,#172b3a);--deck-rim:#e7c986;--deck-gold:#ffe6ac;--deck-mark:'♜'}
[data-felt=forest]{--cloth-ink:radial-gradient(ellipse,#356b48,#214f35);--cloth-rim:#84946a;--cloth-glow:#c6d6ad}
[data-felt=ocean]{--cloth-ink:radial-gradient(ellipse,#2a5e73,#173e54);--cloth-rim:#849aa0;--cloth-glow:#b4d5d4}
[data-felt=wine]{--cloth-ink:radial-gradient(ellipse,#77474a,#4e2e37);--cloth-rim:#a58b76;--cloth-glow:#e9c5ad}
[data-felt=paisley]{--cloth-ink:radial-gradient(ellipse at 0 0,transparent 38%,#c1be7c15 40% 44%,transparent 46%) 0 0/44px 32px,radial-gradient(ellipse at 100% 100%,transparent 38%,#c1be7c15 40% 44%,transparent 46%) 0 0/44px 32px,radial-gradient(ellipse,#3e5c3c,#263f31);--cloth-rim:#a6a779;--cloth-glow:#d4ceaa}
[data-felt=obsidian]{--cloth-ink:radial-gradient(ellipse,#454b4f,#252d32);--cloth-rim:#979f9c;--cloth-glow:#cdd7d2}
[data-felt=royal]{--cloth-ink:radial-gradient(ellipse at 50% 0,transparent 34%,#c9a8df14 36% 44%,transparent 46%) 0 0/45px 38px,radial-gradient(ellipse at 50% 100%,transparent 34%,#c9a8df14 36% 44%,transparent 46%) 22px 0/45px 38px,radial-gradient(ellipse,#544369,#2d2b47);--cloth-rim:#b7a17f;--cloth-glow:#e6cda9}
[data-felt=sakura]{--cloth-ink:radial-gradient(ellipse at 30% 20%,#e4b1b91c 0 3%,transparent 3.5%) 0 0/75px 53px,radial-gradient(ellipse at 70% 75%,#e4b1b918 0 4%,transparent 4.5%) 0 0/67px 61px,radial-gradient(ellipse,#684d61,#3c2f48);--cloth-rim:#c49a94;--cloth-glow:#f0d4bd}
[data-felt=slate]{--cloth-ink:radial-gradient(ellipse,#536473,#293b49);--cloth-rim:#9aabaf;--cloth-glow:#d1dce0}
[data-felt=tidal]{--cloth-ink:repeating-radial-gradient(ellipse at -20% 120%,transparent 0 28px,#a6d3cc12 29px 31px,transparent 32px 50px),radial-gradient(ellipse,#315e62,#1a3b49);--cloth-rim:#8fb4ac;--cloth-glow:#c6dfd0}
[data-felt=ember]{--cloth-ink:repeating-linear-gradient(92deg,#f0a46004 0 1px,transparent 1px 4px),radial-gradient(ellipse at 50% 80%,#793c38,#352834);--cloth-rim:#bb855d;--cloth-glow:#f1d2a3}
[data-felt=aurora]{--cloth-ink:radial-gradient(ellipse at 10% 10%,#477875aa,transparent 65%),radial-gradient(ellipse at 90% 80%,#704b78aa,transparent 65%),#1e3546;--cloth-rim:#9aafb4;--cloth-glow:#d5e1d5}
[data-felt=celestial]{--cloth-ink:radial-gradient(circle,#d3c59a55 .7px,transparent 1.3px) 0 0/43px 47px,radial-gradient(circle,#b3cedd33 .6px,transparent 1.2px) 19px 27px/61px 69px,repeating-radial-gradient(ellipse at 50% 55%,transparent 0 63px,#bcb9990d 64px 65px,transparent 66px 90px),radial-gradient(ellipse,#344359,#1a293e);--cloth-rim:#c8b886;--cloth-glow:#e9d7aa}
body[data-deck] .card-back,.online-dialog[data-deck] .card-back,.cosmetic-theme[data-deck] .card-back{background:var(--deck-ink);border-color:var(--deck-rim);color:var(--deck-gold)}
body[data-deck] .card-back .back-symbol,.online-dialog[data-deck] .card-back .back-symbol,.cosmetic-theme[data-deck] .card-back .back-symbol{font-size:0}
.card-back .back-symbol::after{content:var(--deck-mark,'◇');font:27px/1 Georgia,serif;color:var(--deck-gold,#d9c9a4)}
body[data-felt] .table-surface,.online-dialog[data-felt] #online-room{background:var(--cloth-ink);border-color:var(--cloth-rim)}
.cosmetic-preview.deck-preview[data-deck]{background:var(--deck-ink);color:var(--deck-gold);border-color:var(--deck-rim);width:63px;height:89px;font-size:35px}
.cosmetic-preview.felt-preview[data-felt]{background:var(--cloth-ink);border:6px solid var(--cloth-rim);color:var(--cloth-glow);box-shadow:0 4px 15px #071e2444,inset 0 0 0 2px #ffffff13;outline:1px solid #e8d1a933;outline-offset:-13px;width:100%;height:96px}
.cloth-mark{font:36px/1 Georgia,serif;opacity:.5}
.portrait{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:56px;height:56px;border:3px solid #c0aa7a;border-radius:50%;background:#233e38;box-shadow:0 3px 12px #071b2155;vertical-align:middle}
.portrait svg{display:block;width:100%;height:100%;border-radius:50%;overflow:hidden}
.portrait--large{width:96px;height:96px;border-width:4px}
.portrait--small{width:31px;height:31px;border-width:2px}
.portrait-crest{display:none!important}
.portrait[data-frame=rope]{border-color:#c6bb96;outline:2px dashed #7c765a;outline-offset:-2px;box-shadow:0 0 0 2px #e5d9b155,0 4px 15px #071b2155}
.portrait[data-frame=copper]{border-color:#c58c68;background:conic-gradient(#f5c6a1,#875f4c,#e2a57e,#855b49,#f5c6a1);box-shadow:0 0 0 2px #54382b,0 0 0 3px #c58c6888,0 4px 15px #071b2155;padding:2px}
.portrait[data-frame=laurel]{border-color:#a5b681;box-shadow:0 0 0 2px #405a40,0 0 0 4px #a5b68144,0 4px 15px #071b2155}
.portrait[data-frame=laurel]::before,.portrait[data-frame=laurel]::after{content:'❧';position:absolute;bottom:-13%;font:42px Georgia,serif;color:#b9c594;z-index:1;text-shadow:0 2px 2px #183224}
.portrait[data-frame=laurel]::before{left:-18%;transform:rotate(45deg)}
.portrait[data-frame=laurel]::after{right:-18%;transform:scaleX(-1) rotate(45deg)}
.portrait[data-frame=starlight]{border-color:#becde4;outline:1px solid #adc5da77;outline-offset:4px;box-shadow:0 0 20px #b5c6e548,0 0 0 2px #596480}
.portrait[data-frame=starlight] .portrait-crest,.portrait[data-frame=crown] .portrait-crest{display:block!important;position:absolute;top:-26%;left:50%;transform:translateX(-50%);font:26px Georgia,serif;color:#edce8c;text-shadow:0 2px 2px #1c2935;z-index:1}
.portrait[data-frame=crown]{border-color:#e3c582;box-shadow:0 0 0 2px #6d503a,0 0 0 4px #d2ae6755,0 5px 15px #071b2155}
.portrait[data-frame=crown] .portrait-crest{font-size:32px;top:-30%}
.portrait--small[data-frame=laurel]::before,.portrait--small[data-frame=laurel]::after{font-size:17px}
.portrait--small[data-frame=crown] .portrait-crest,.portrait--small[data-frame=starlight] .portrait-crest{font-size:14px}
.career-identity{display:flex;flex-direction:column;align-items:center;gap:10px;flex:none}
.career-identity .career-level{width:auto;height:auto;min-width:96px;display:flex;gap:6px;align-items:center;justify-content:center;padding:4px 6px;border-radius:15px;box-shadow:none}
.career-identity .career-level strong{font:21px/1.2 Georgia,serif}
.career-identity .career-level span{font-size:8px;letter-spacing:1px}
.career-identity .career-level span:last-child{display:none}
.seat-info{display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:1px 4px}
.seat-info .portrait--small{width:24px;height:24px;margin:0;grid-row:1/3}
.seat-info .seat-name{min-width:0;grid-column:2}
.seat-info .seat-stack{grid-column:2}
.your-label .portrait--small{margin-right:7px}
.your-label .your-name{vertical-align:middle}
.locker{scroll-margin-top:22px}
.collection-showcase{display:grid;grid-template-columns:minmax(220px,.85fr) 1.15fr;gap:30px;padding:25px;background:linear-gradient(130deg,#29483b,#1a352e);border:1px solid #a1ae7c66;border-radius:15px}
.loadout-table{min-width:0;position:relative;min-height:210px;border:9px solid var(--cloth-rim,#84946a);border-radius:110px;background:var(--cloth-ink,radial-gradient(ellipse,#356b48,#214f35));box-shadow:inset 0 0 0 2px #e3dab02b,inset 0 0 30px #081b2433,0 5px 14px #081b2433;display:flex;align-items:center;justify-content:center;gap:28px;padding:24px;overflow:visible;isolation:isolate}
.loadout-watermark{position:absolute;top:23px;left:0;right:0;text-align:center;font:9px Georgia,serif;letter-spacing:4px;color:var(--cloth-glow,#ccd2ae);opacity:.55}
.loadout-caption{position:absolute;bottom:20px;left:0;right:0;text-align:center;font-size:7px;letter-spacing:1.8px;color:var(--cloth-glow,#ccd2ae)}
.loadout-deck{position:relative;width:62px;height:91px;flex:none}
.loadout-deck .card{position:absolute;width:58px;height:84px;left:0;top:0;transform:rotate(-13deg);border-radius:6px;box-shadow:3px 3px 0 #e6dabb;font-size:23px}
.loadout-deck .card+.card{transform:rotate(7deg);left:12px;top:5px}
.loadout-deck .back-symbol::after{font-size:30px}
.loadout-copy{align-self:center;min-width:0}
.loadout-copy .eyebrow{font-size:8px;color:#d7bd85}
.loadout-copy h3{font:32px/1.1 Georgia,serif;color:#f0e3c6;margin:12px 0}
.loadout-copy p{font-size:12px;color:#c0ceba;line-height:1.8;max-width:430px}
.collection-total{font-size:12px;color:#e4ca90;display:inline-block;border:1px solid #b4aa7455;border-radius:22px;padding:7px 12px}
.collection-roadmap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:17px 0 27px;gap:12px}
.collection-roadmap>div{padding:15px 17px;border-left:2px solid #ad9c69;background:#234032;border-radius:0 7px 7px 0;min-width:0}
.collection-roadmap strong,.collection-roadmap span,.collection-roadmap small{display:block}
.collection-roadmap strong{font-size:8px;letter-spacing:1.2px;color:#d4bd86}
.collection-roadmap span{font-size:12px;color:#dbe2c6;margin:8px 0;line-height:1.6}
.collection-roadmap small{font-size:10px;color:#b6c6a5}
.collection-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.collection-tabs{display:flex;gap:7px;flex-wrap:wrap}
.collection-tabs button{min-height:44px;padding:10px 16px;border:1px solid #8d9c6d66;background:#1d3b2e;color:#c5d2b6;border-radius:22px;font-size:12px}
.collection-tabs button[aria-pressed=true]{color:#20372b;background:#dbc28e;border-color:#dbc28e}
.collection-filter{display:flex;align-items:center;gap:9px;color:#b6c6a5;font-size:12px}
.collection-filter select{padding:10px 28px 10px 12px;color:#e6e3cb;background:#294838;border:1px solid #8d9c6d66;border-radius:7px;min-height:44px;width:auto}
.locker .cosmetic-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.cosmetic{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:204px;padding:16px 12px;background:linear-gradient(150deg,#294637,#1a352a);border-color:#96a87844}
.cosmetic.locked{opacity:1;cursor:pointer;background:linear-gradient(150deg,#233c33,#1a3029)}
.cosmetic.locked .design-art{opacity:.72}
.cosmetic.equipped{box-shadow:inset 0 0 0 1px #dac18a44,0 4px 17px #081f1922}
.cosmetic strong{font-size:13px;line-height:1.5;margin-top:10px}
.cosmetic small{font-size:10px;line-height:1.7;color:#c0ceac;margin-top:5px}
.cosmetic.locked small{color:#d4bc89}
.design-rarity{font-size:8px;letter-spacing:1.2px;text-transform:uppercase;align-self:flex-start;color:#cfbf97}
.design-art{display:flex;align-items:center;justify-content:center;width:100%;min-height:112px;padding:15px 5px 3px;box-sizing:border-box}
.cosmetic-preview.deck-preview{margin:0;flex:none}
.cosmetic .portrait--large{width:82px;height:82px}
.collection-empty{color:#bdcbae;grid-column:1/-1;font-size:13px;line-height:1.7}
.style-dialog{width:min(560px,calc(100vw - 24px));color:#273c2e}
.style-dialog h2{font-size:29px}
.style-dialog .loadout-table{margin:20px 0;min-height:235px;max-width:440px}
.preview-rarity{text-transform:uppercase;letter-spacing:1.2px;font-size:10px;color:#6a694c}
.preview-story{font:21px/1.4 Georgia,serif;color:#42533c;text-align:center}
.preview-eligibility{font-size:13px;text-align:center;line-height:1.8;padding:12px;background:#dce2cb;border-radius:7px}
.preview-fine-print{font-size:11px;color:#596953;line-height:1.8;text-align:center}
.style-dialog button:disabled{background:#d6d7be;color:#68785c;opacity:1}
.cosmetic:focus-visible,.collection-tabs button:focus-visible{outline:3px solid #efda9e;outline-offset:4px}
.online-locker .cosmetic-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.online-locker .collection-showcase{grid-template-columns:1fr;background:#214132;padding:16px}
.online-locker .loadout-copy h3{color:#eee0be}
.online-seat .online-seat-heading{display:flex;align-items:center;gap:9px;min-width:0}
.online-seat .online-seat-heading>div{min-width:0;overflow-wrap:anywhere}
.online-seat .portrait{display:inline-flex}
.online-seat .portrait-crest{line-height:1}
.online-locker .online-collection-group{margin-top:17px;border-top:1px solid #a0b394;padding-top:14px}
.online-locker .online-collection-group>summary{color:#304b37;line-height:1.7;min-height:44px}
.online-locker .online-equip-note{color:#2b4936;font-size:11px;line-height:1.8}
@media(max-width:800px){.collection-showcase{gap:20px;padding:20px}.loadout-table{gap:20px;padding:18px;min-height:200px}.loadout-table .portrait--large{width:80px;height:80px}.locker .cosmetic-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.career-identity .portrait--large{width:56px;height:56px;border-width:3px}.career-identity{gap:8px}.career-identity .career-level{margin:0;min-width:58px;padding:3px}.career-identity .career-level span{font-size:6px}.career-identity .career-level strong{font-size:17px}.collection-showcase{grid-template-columns:1fr;padding:17px;gap:17px}.loadout-table{min-height:200px;gap:35px}.loadout-copy h3{font-size:27px}.collection-roadmap{gap:8px}.collection-roadmap>div{padding:12px 9px}.collection-roadmap span{font-size:10px}.collection-roadmap small{font-size:9px}.collection-roadmap strong{font-size:7px}.collection-tabs{gap:6px;width:100%}.collection-tabs button{padding:10px 12px;font-size:11px;flex:1;white-space:nowrap}.collection-controls{gap:12px}.collection-filter{width:100%;justify-content:flex-end}.locker .cosmetic-grid,.online-locker .cosmetic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cosmetic{min-height:190px;padding:13px 10px}.cosmetic strong{font-size:12px}.design-art{min-height:108px}.cosmetic .portrait--large{width:76px;height:76px}.cosmetic-preview.felt-preview[data-felt]{height:82px;border-width:5px}.style-dialog{padding:22px 16px}.style-dialog .loadout-table{min-height:220px}.seat-info .portrait--small{width:20px;height:20px;margin-right:3px}.seat-info .seat-style{font-size:6px}.seat-info .seat-name{font-size:9px}.online-seat .online-seat-heading{gap:6px;align-items:flex-start}.online-seat .portrait--small{width:26px;height:26px}.online-seat-heading>div>strong{font-size:12px}.online-locker .loadout-table{gap:25px}}
@media(max-width:360px){.collection-tabs button{padding:10px 8px;font-size:10px}.seat-info .portrait--small{display:none}}

@media(max-width:600px){.seat-info{grid-template-columns:22px minmax(0,1fr);gap:1px 2px}.seat-info .portrait--small{margin:0}}
@media(max-width:360px){.seat-info{grid-template-columns:minmax(0,1fr)}.seat-info .seat-name,.seat-info .seat-stack{grid-column:1}}

[data-deck=glacier]{--deck-ink:conic-gradient(from 45deg at 25% 25%,#8db4c6 25%,#376578 0 50%,#b4d4dc 0 75%,#4a7c91 0) 0 0/26px 26px;--deck-rim:#d9e9e7;--deck-gold:#fff6db;--deck-mark:'❖'}
[data-deck=astral]{--deck-ink:radial-gradient(circle,#e6cfaa 1px,transparent 1.5px) 7px 3px/25px 29px,repeating-conic-gradient(from 22deg,#8797c518 0 1deg,transparent 1deg 45deg),linear-gradient(150deg,#504667,#172c44);--deck-rim:#c7bfd9;--deck-gold:#f0dfb3;--deck-mark:'✧'}
[data-deck=eternal]{--deck-ink:repeating-radial-gradient(ellipse at 50% 50%,#c9a66144 0 1px,transparent 2px 12px),linear-gradient(135deg,#3f3842,#171f30);--deck-rim:#e0c08a;--deck-gold:#ffe6ad;--deck-mark:'∞'}
[data-deck=marathon]{--deck-ink:repeating-linear-gradient(45deg,#5c817166 0 3px,transparent 3px 10px),repeating-linear-gradient(-45deg,#afc9a822 0 3px,#23443e 3px 10px);--deck-rim:#b9c6a0;--deck-gold:#e5d9b4;--deck-mark:'⌘'}
[data-deck=ace-high]{--deck-ink:repeating-linear-gradient(90deg,#a7864c22 0 1px,transparent 1px 9px),linear-gradient(160deg,#e8dcc3,#b9b09b);--deck-rim:#b29566;--deck-gold:#2e4943;--deck-mark:'A'}
[data-deck=four-corners]{--deck-ink:conic-gradient(from 45deg,#723e4c 25%,#263e50 0 50%,#b6a17d 0 75%,#234a49 0) 0 0/28px 28px;--deck-rim:#d7ba88;--deck-gold:#f9e9cc;--deck-mark:'❖'}
[data-deck=deepwater]{--deck-ink:repeating-radial-gradient(ellipse at 0 100%,transparent 0 8px,#81cbb333 9px 10px,transparent 11px 17px),linear-gradient(145deg,#295f60,#142d46);--deck-rim:#a3d1c2;--deck-gold:#d8edca;--deck-mark:'♣'}
[data-deck=comet]{--deck-ink:repeating-linear-gradient(135deg,transparent 0 13px,#d1bde633 14px 15px,transparent 16px 29px),radial-gradient(circle at 25% 25%,#ab8ca477,transparent 50%),linear-gradient(145deg,#543d71,#172b45);--deck-rim:#ddd2ef;--deck-gold:#fff1cf;--deck-mark:'✦'}
[data-deck=royal-vault]{--deck-ink:repeating-conic-gradient(from 45deg at 50% 50%,#d7b77444 0 2deg,transparent 2deg 90deg) 0 0/25px 25px,radial-gradient(ellipse,#624155,#251d39);--deck-rim:#f0cc82;--deck-gold:#ffebac;--deck-mark:'♛'}
[data-felt=glacier]{--cloth-ink:repeating-linear-gradient(135deg,#c3deea09 0 1px,transparent 1px 23px),radial-gradient(ellipse,#3c6978,#233e56);--cloth-rim:#b6d1d2;--cloth-glow:#e4ede5}
[data-felt=solstice]{--cloth-ink:repeating-radial-gradient(circle at 50% 100%,transparent 0 48px,#e4b5790b 49px 50px,transparent 51px 80px),radial-gradient(ellipse,#70513e,#352e37);--cloth-rim:#caa474;--cloth-glow:#f4d8b1}
[data-felt=astral]{--cloth-ink:radial-gradient(circle,#d3c2e844 .8px,transparent 1.4px) 0 0/47px 41px,radial-gradient(ellipse at 75% 30%,#57456c77,transparent 60%),radial-gradient(ellipse,#34475e,#182a41);--cloth-rim:#c0b4ce;--cloth-glow:#f0deb9}
[data-felt=circuit-lounge]{--cloth-ink:repeating-linear-gradient(90deg,#c8bd7e07 0 1px,transparent 1px 13px),radial-gradient(ellipse,#3d6350,#1b3a34);--cloth-rim:#bea877;--cloth-glow:#e4dbb0}
[data-felt=skyline]{--cloth-ink:repeating-linear-gradient(90deg,transparent 0 34px,#b0c5d00e 35px 36px,transparent 37px 70px),linear-gradient(140deg,#476278,#243d55);--cloth-rim:#b4b9b6;--cloth-glow:#e2dac0}
[data-felt=full-house-club]{--cloth-ink:repeating-conic-gradient(from 45deg,#d1a6730b 0 25%,transparent 25% 50%) 0 0/36px 36px,radial-gradient(ellipse,#705248,#3e3136);--cloth-rim:#c9a97c;--cloth-glow:#eddbb5}
[data-felt=royal-vault]{--cloth-ink:radial-gradient(ellipse at 50% 0,transparent 40%,#e9c4770d 42% 45%,transparent 47%) 0 0/52px 44px,radial-gradient(ellipse,#60435f,#2e263f);--cloth-rim:#dec084;--cloth-glow:#f9dfac}
[data-dealer]{--dealer-radius:50%}
[data-dealer=classic]{--dealer-ink:linear-gradient(135deg,#fff5dc,#d9c89b);--dealer-text:#263c32;--dealer-rim:#bba371;--dealer-symbol:'◇'}
[data-dealer=current]{--dealer-ink:repeating-radial-gradient(ellipse at 0 100%,#acd6d8 0 4px,#75a7b5 5px 7px);--dealer-text:#153d4a;--dealer-rim:#cadfd8;--dealer-symbol:'∿'}
[data-dealer=copper]{--dealer-ink:conic-gradient(from 30deg,#f0c6a0,#9e684c,#e7b68d,#b17b5e,#f0c6a0);--dealer-text:#382d29;--dealer-rim:#edc393;--dealer-symbol:'✦'}
[data-dealer=obsidian]{--dealer-ink:linear-gradient(135deg,#4b5661,#182534);--dealer-text:#f5e4c5;--dealer-rim:#a4b0bb;--dealer-symbol:'◇'}
[data-dealer=sakura]{--dealer-ink:radial-gradient(circle at 30% 25%,#f6d7cb,#b88398);--dealer-text:#4b2b42;--dealer-rim:#f2ccbc;--dealer-symbol:'✿'}
[data-dealer=starlight]{--dealer-ink:radial-gradient(circle at 35% 30%,#647394,#22344e);--dealer-text:#f8e9c7;--dealer-rim:#c5d3e3;--dealer-symbol:'✦'}
[data-dealer=jade]{--dealer-ink:repeating-radial-gradient(ellipse at 20% 0,#6da58b 0 7px,#518b77 8px 13px);--dealer-text:#f3edcd;--dealer-rim:#bdd7b0;--dealer-symbol:'❖'}
[data-dealer=eclipse]{--dealer-ink:radial-gradient(circle at 50% 50%,#202b3c 0 55%,#e2ba6e 57% 64%,#674d32 66%);--dealer-text:#f7d999;--dealer-rim:#d7b26b;--dealer-symbol:'◉'}
[data-dealer=crown]{--dealer-ink:conic-gradient(#f8dfa1,#bd8a44,#f4d18a,#d0a76b,#f8dfa1);--dealer-text:#4a2c45;--dealer-rim:#ffe4a8;--dealer-symbol:'♛'}
[data-dealer=ascendant]{--dealer-ink:conic-gradient(from 25deg,#5c6d82,#765f7b,#3c7978,#5c6d82);--dealer-text:#fff2d5;--dealer-rim:#ded6b9;--dealer-symbol:'✧'}
[data-dealer=first-deal]{--dealer-ink:linear-gradient(135deg,#e1c393,#c4a375);--dealer-text:#354638;--dealer-rim:#f7ddb0;--dealer-symbol:'♠'}
[data-dealer=riverforged]{--dealer-ink:repeating-radial-gradient(ellipse at 0 100%,#3d7b80 0 6px,#285b6c 7px 10px);--dealer-text:#fff0c9;--dealer-rim:#e4c58a;--dealer-symbol:'∿'}
[data-dealer=final-table]{--dealer-ink:linear-gradient(135deg,#537961,#284a43);--dealer-text:#f3e7ba;--dealer-rim:#d1c48c;--dealer-symbol:'❧'}
[data-dealer=fourfold]{--dealer-ink:conic-gradient(from 45deg,#c0c9d0 25%,#8f9da8 0 50%,#d7dde0 0 75%,#a4b1bb 0);--dealer-text:#25384b;--dealer-rim:#ebeddf;--dealer-symbol:'❖';--dealer-radius:26%}
[data-dealer=comet]{--dealer-ink:repeating-linear-gradient(135deg,#b8a5cc33 0 2px,transparent 2px 13px),linear-gradient(145deg,#685580,#2c3f5b);--dealer-text:#fff0c9;--dealer-rim:#e3d7ef;--dealer-symbol:'✦'}
[data-dealer=royal-vault]{--dealer-ink:radial-gradient(circle at 35% 25%,#73506a,#34243d);--dealer-text:#ffe3a0;--dealer-rim:#efc478;--dealer-symbol:'♛'}
.dealer-tag{position:relative;isolation:isolate;box-sizing:border-box;background:var(--dealer-ink,#e6d7ad);color:var(--dealer-text,#213d32);border:1px solid var(--dealer-rim,#c8b783);border-radius:var(--dealer-radius,50%);box-shadow:inset 0 0 0 1px #fff2cc33,0 2px 5px #071b2433;line-height:1;flex:none;letter-spacing:0}
.dealer-tag::before{content:'';position:absolute;inset:2px;border:1px solid currentColor;border-radius:inherit;opacity:.3;pointer-events:none}
.dealer-tag.dealer-preview{position:relative;width:68px;height:68px;font:700 29px/1 Georgia,serif;margin:0;box-shadow:inset 0 0 0 3px #fff5d822,0 6px 15px #071b2444}
.dealer-preview::before{inset:7px;border:1px dashed currentColor;opacity:.6}
.dealer-preview::after{content:var(--dealer-symbol,'◇');position:absolute;bottom:9px;right:10px;font:12px/1 Georgia,serif;opacity:.8;pointer-events:none}
.online-dealer{margin-left:auto;width:24px;height:24px;font-size:11px}
.portrait[data-frame=glacier]{border-color:#c5e1e5;outline:2px solid #7699b4;outline-offset:2px;box-shadow:0 0 0 6px #b5d3d229,0 4px 14px #071b2155}
.portrait[data-frame=astral]{border-color:#d0c2e2;outline:1px solid #c9c1e777;outline-offset:5px;box-shadow:0 0 0 3px #6d6684,0 0 22px #b3b0d538}
.portrait[data-frame=double-brass]{border-color:#e1bf79;outline:2px solid #be9b65;outline-offset:3px;box-shadow:0 0 0 2px #384b38,0 4px 14px #071b2155}
.portrait[data-frame=triple-knot]{border-color:#b6c3ad;outline:2px dashed #92a495;outline-offset:2px;box-shadow:0 0 0 6px #516a5e44,0 4px 14px #071b2155}
.portrait[data-frame=fourfold]{border-color:#d0d5db;border-radius:30%;outline:2px solid #9cabb9;outline-offset:2px;background:#445564;padding:2px}
.portrait[data-frame=fourfold] svg{border-radius:25%}
.portrait[data-frame=royal-vault]{border-color:#edcd88;outline:2px solid #d1a563;outline-offset:3px;box-shadow:0 0 0 7px #714b6a55,0 0 20px #edc47733}
.portrait[data-frame=royal-vault]::after{content:'♛';position:absolute;top:-18%;left:50%;transform:translateX(-50%);font:24px/1 Georgia,serif;color:#f4d391;text-shadow:0 2px 2px #35283e}
.design-rarity[data-rarity=Prestige]{color:#a8dad2}.design-rarity[data-rarity=Mythic]{color:#e6bddc}
.challenge-design{border-color:#78988d66}
.design-progress{height:3px;background:#a9c3b126;width:100%;margin-top:10px;border-radius:2px;overflow:hidden}
.design-progress i{height:100%;display:block;background:#d8bf80}
.challenge-special{margin:15px 0;padding:13px;background:#12382e66;border:1px solid #b6c3a526;border-radius:8px}
.challenge-special>strong{color:#dfcc9e;font-size:11px}.challenge-special p{font-size:10px!important;margin:7px 0!important;line-height:1.7}
.challenge-reward-links{display:flex;flex-wrap:wrap;gap:4px 10px}.challenge-reward-links .text-button{color:#c9dec9;text-align:left;padding:4px 0;line-height:1.7;font-size:11px}
.challenge-card:focus-visible{outline:2px solid #dfc68a;outline-offset:5px}
.challenge-vault{margin:25px 0 28px;padding:22px;background:#183d32;border:1px solid #a9b48b44;border-radius:13px}
.vault-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.vault-heading h3{font:29px/1.2 Georgia,serif;margin:5px 0;color:#ece4c7}.vault-heading>span{font-size:11px;color:#cebf9a}.challenge-vault>p{font-size:12px;color:#b8c9b2;line-height:1.8;max-width:650px}
.vault-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.vault-card{min-width:0;display:flex;flex-direction:column;align-items:center;gap:10px;border:1px solid #a8bda63b;background:#234b3f;padding:20px 14px;border-radius:10px;color:#efe8cf;cursor:pointer}.vault-card:hover{background:#2b5647;border-color:#d5ba7c}.vault-card:focus-visible{outline:3px solid #efd9a3;outline-offset:3px}.vault-card>strong{font:18px/1.3 Georgia,serif}.vault-card>span:last-child{font-size:11px;color:#c4d4bb;line-height:1.7}.vault-art{display:flex;align-items:center;justify-content:center;min-height:82px}.vault-art .deck-preview{height:75px;width:52px;font-size:27px}
.matching-set{display:flex;flex-wrap:wrap;gap:7px 13px;border:1px solid #b9c0a2;padding:14px;border-radius:8px;margin:16px 0}.matching-set strong{width:100%;font-size:12px;color:#42583e}.matching-set .text-button{color:#2e5143;font-size:11px;text-align:left;padding:7px 0}.matching-set .secondary-button{width:100%;margin-top:5px}
.collection-tabs{flex-wrap:wrap}.loadout-table{gap:18px}.loadout-table .dealer-preview{width:56px;height:56px;font-size:25px}
@media(max-width:600px){.collection-tabs button{flex:1 1 88px!important}.loadout-table{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-items:center;align-items:center;gap:10px!important}.loadout-table .portrait--large{width:70px;height:70px}.loadout-table .dealer-preview{width:50px;height:50px;font-size:22px}.challenge-vault{padding:16px}.vault-heading{align-items:flex-start}.vault-heading h3{font-size:25px}.vault-heading>span{max-width:90px;text-align:right;line-height:1.7}.vault-grid{grid-template-columns:1fr;gap:9px}.vault-card{display:grid;grid-template-columns:60px minmax(0,1fr);gap:5px 15px;text-align:left;padding:13px 14px}.vault-art{grid-row:1/3;min-height:68px}.vault-card>strong{font-size:17px}.vault-card>span:last-child{font-size:11px}.vault-art .dealer-preview{width:54px;height:54px;font-size:24px}.vault-art .deck-preview{width:44px;height:61px}.challenge-reward-links .text-button{font-size:11px;min-height:32px}.matching-set{gap:5px 10px}.style-dialog .matching-set .text-button{min-height:36px;line-height:1.6}.challenge-special{padding:11px}}
/* Rival victory collection: legible cards and dealer marks remain unchanged. */
[data-deck=sharkwake]{--deck-ink:repeating-linear-gradient(155deg,transparent 0 10px,#71d8cd33 11px 12px,transparent 13px 23px),linear-gradient(145deg,#156878,#071c30);--deck-rim:#d9c98d;--deck-gold:#f8e5b2;--deck-mark:'▲'}
[data-felt=bastion]{--cloth-ink:repeating-linear-gradient(0deg,transparent 0 36px,#b8b18110 37px 38px),repeating-linear-gradient(90deg,transparent 0 62px,#b8b18110 63px 64px),radial-gradient(ellipse,#3c6557,#102d30);--cloth-rim:#c5b581;--cloth-glow:#e4d5ac}
[data-deck=river-sovereign]{--deck-ink:repeating-conic-gradient(from 45deg,#f7dca833 0 2deg,transparent 2deg 90deg) 0 0/24px 24px,linear-gradient(125deg,#194d61,#674075 45%,#177c78 75%,#172b46);--deck-rim:#ffe3a2;--deck-gold:#fff0be;--deck-mark:'♛'}
[data-felt=river-sovereign]{--cloth-ink:repeating-radial-gradient(ellipse at 50% 120%,transparent 0 38px,#f9d18d12 39px 41px,transparent 42px 62px),radial-gradient(ellipse at 15% 15%,#25788099,transparent 65%),radial-gradient(ellipse at 90% 70%,#77468999,transparent 60%),linear-gradient(145deg,#183c54,#162b41);--cloth-rim:#e7c57e;--cloth-glow:#ffedbd}
[data-dealer=river-sovereign]{--dealer-ink:conic-gradient(from 20deg,#fff1b8,#bd8b48,#e0c0f2,#82c9cc,#fff1b8);--dealer-text:#25354b;--dealer-rim:#ffedb9;--dealer-symbol:'♛'}
.portrait[data-frame=river-sovereign],.frame-preview[data-frame=river-sovereign]{border:3px solid #f8d792;outline:2px solid #93c9cd;outline-offset:3px;box-shadow:0 0 0 8px #8063ac44,0 0 25px #67c7ca66;background:linear-gradient(140deg,#397587,#67447d);color:#ffedb7}
.portrait[data-frame=river-sovereign]::after{content:'♛';position:absolute;top:-21%;left:50%;transform:translateX(-50%);font:26px/1 Georgia,serif;color:#ffe4a0;text-shadow:0 2px 4px #172436}
body[data-deck=river-sovereign] .card-back,.cosmetic-preview.deck-preview[data-deck=river-sovereign]{box-shadow:inset 0 0 0 2px #fff0b833,0 0 16px #8bcacd44;animation:sovereign-foil 7s ease-in-out infinite}
@keyframes sovereign-foil{0%,100%{filter:brightness(1)}50%{filter:brightness(1.22)}}
@media(prefers-reduced-motion:reduce){body[data-deck=river-sovereign] .card-back,.cosmetic-preview.deck-preview[data-deck=river-sovereign]{animation:none}}
body[data-motion=reduced] .card-back,body[data-motion=reduced] .cosmetic-preview.deck-preview[data-deck=river-sovereign]{animation:none}
