@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',system-ui,sans-serif;color:#252c2b;background:#f7f8f8;font-synthesis:none;--green:#183c35;--muted:#73817d;--line:#e0e6e3;--red:#b65478;--gold:#b29051}
.weapon-art.illustrated-art{background-image:none;background-color:#fff;position:relative;overflow:hidden}.illustrated-art>svg{position:absolute;inset:7px 8px;width:calc(100% - 16px);height:calc(100% - 14px);display:block;overflow:hidden}
*{box-sizing:border-box;letter-spacing:0}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.46}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b65478;outline-offset:4px}a{color:inherit;text-decoration:none}svg{width:20px;height:20px;stroke-width:1.7;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Manrope',system-ui,sans-serif}h1{font-size:30px;font-weight:700;line-height:1.25}h2{font-size:20px;line-height:1.3;font-weight:700}h3{font-size:16px;line-height:1.35}button{color:inherit}button:hover:not(:disabled){filter:brightness(.96)}.sidebar{width:224px;position:fixed;inset:0 auto 0 0;background:white;border-right:1px solid var(--line);padding:36px 22px;z-index:10;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;font-family:Manrope,system-ui,sans-serif;font-weight:800;font-size:20px}.brand small{font-size:10px;font-weight:500;color:var(--muted);display:block;margin-top:5px}.brand-emblem{height:44px;width:38px;display:grid;place-items:center;color:var(--green);border:1px solid #bdd0c8;border-radius:4px}.brand-emblem svg{height:26px;width:26px}.sidebar nav{display:grid;gap:9px;margin-top:58px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;background:transparent;text-align:left;border-radius:6px;color:#76827e;font-size:14px;padding:12px 14px;position:relative}.nav-item.active{background:#eaf1ed;color:var(--green);font-weight:700}.nav-dot{background:#b65478;border-radius:50%;color:white;font-size:10px;min-width:17px;height:17px;display:grid;place-items:center;margin-left:auto}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:24px;display:flex;gap:12px;align-items:center;font-size:11px;line-height:1.8;color:var(--muted)}.sidebar-bottom strong{color:#44554e;font-size:11px;font-weight:500}.series-mark{font-family:Georgia,serif;font-size:25px;width:28px;text-align:center;color:var(--gold)}.shell{margin-left:224px}.topbar{height:82px;background:#fff;border-bottom:1px solid var(--line);padding:0 44px;display:flex;align-items:center;justify-content:space-between}.desktop-crumb{font-size:12px;color:#64736c}.desktop-crumb span{margin:0 12px;color:#bbc4bf}.top-actions{display:flex;align-items:center;gap:18px}.key-balance{background:#f0f4f1;border:1px solid #dce6df;border-radius:6px;min-height:36px;padding:7px 12px;display:flex;gap:8px;align-items:center;color:var(--green);font-size:12px}.key-balance svg{width:16px;height:16px}.key-balance strong{font-weight:700}.icon-button{display:inline-grid;place-items:center;min-width:40px;min-height:40px;padding:8px;background:transparent;border-radius:6px;color:#62746b}.icon-button.small{min-width:32px;min-height:32px}.icon-button.small svg{width:15px;height:15px}.mobile-brand,.mobile-nav{display:none}main{max-width:1240px;margin:auto;padding:36px 44px 60px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.eyebrow{font-size:10px;font-weight:600;color:#7f8c85;margin-bottom:9px;line-height:1.5}.text-button{background:none;display:inline-flex;align-items:center;gap:7px;color:#56695f;font-size:12px;min-height:40px;padding:5px 0;font-weight:500}.text-button svg{width:16px;height:16px}.forge-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:38px}.forge{min-width:0}.chest-stage{position:relative;min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#eef2ef;border-top:1px solid #dce6df;border-bottom:1px solid #dce6df;overflow:hidden}.chest-label{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:600;position:absolute;top:22px;z-index:1;color:#6e7f73}.tiny-diamond{width:6px;height:6px;background:#b29051;transform:rotate(45deg)}.chest-image{height:290px;width:88%;max-width:410px;object-fit:contain;filter:drop-shadow(0 15px 15px #1c392322);animation:chest-in 800ms ease both}.edition-stamp{position:absolute;bottom:18px;font-size:8px;display:flex;gap:8px;align-items:center;color:#7b8c7e}.edition-stamp span{border:1px solid #b8c9bd;padding:3px 6px;font-family:Georgia,serif}.chest-controls{display:flex;flex-direction:column;align-items:center;padding:21px 0 16px}.charge-count{display:flex;gap:6px;align-items:center;font-size:11px;color:#7b867e;margin-bottom:17px}.charge-count span:last-child{margin-left:7px}.charge-count b{color:var(--green)}.charge-dot{width:9px;height:9px;border:1px solid #c4d1c9;border-radius:2px}.charge-dot.full{background:var(--green);border-color:var(--green)}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;border-radius:5px;padding:12px 18px;font-size:13px;font-weight:600;transition:transform 150ms,background 150ms}.primary{background:var(--green);color:white}.primary svg{width:17px;height:17px}.secondary{background:white;color:#4c6156;border:1px solid #cfdad2}.secondary svg{width:16px;height:16px}.primary:not(:disabled):active,.secondary:not(:disabled):active{transform:translateY(1px)}.open-chest{width:min(100%,340px);min-height:51px;justify-content:flex-start}.open-chest>span{margin-left:auto;display:flex;align-items:center;gap:8px;opacity:.7;font-size:10px;font-weight:400}.forge-clock{display:flex;align-items:center;gap:6px;font-size:10px;color:#8b978e;margin-top:14px}.forge-clock svg{width:12px;height:12px}.forge-clock b{color:#607665;font-variant-numeric:tabular-nums;font-weight:500}.forge-side{padding-top:3px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title h2{font-size:15px}.section-title>span{font-size:10px;color:#88968d}.section-title svg{width:18px;height:18px;color:#788a7d}.queue-item{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:24px 0}.queue-item>svg{width:26px;height:26px;color:#8aa191}.queue-item>div{display:flex;flex-direction:column;gap:4px}.queue-item strong{font-size:12px;font-weight:600}.queue-item>div span{font-size:10px;color:#8b958e}.status-pill{font-size:8px;font-weight:600;color:#427557;background:#e8f0e9;padding:5px 7px;margin-left:auto;border-radius:3px}.queue-time{margin-left:auto;font-size:10px;font-variant-numeric:tabular-nums;color:#77877c}.full-width{width:100%}.forge-side>.secondary{margin-top:16px;font-size:11px}.daily-preview{border-bottom:1px solid var(--line);margin-top:29px;padding-bottom:12px}.daily-preview>strong{display:block;font-size:12px;font-weight:500;color:#66786c;margin-top:12px}.daily-preview .text-button{color:#ad8038;font-size:11px}.quest-preview{padding-top:21px}.quest-preview>strong{font-size:12px}.quest-preview>p:not(.eyebrow){font-size:11px;color:#849088;margin-top:6px}.progress-track{height:4px;width:100%;background:#e0e8e2;border-radius:2px;overflow:hidden;margin-top:14px}.progress-track>span{height:100%;display:block;background:#769680;border-radius:2px}.quest-foot{display:flex;justify-content:space-between;font-size:10px;margin-top:8px;color:#849387}.quest-foot>span:last-child{display:flex;align-items:center;gap:3px;color:#ad8038}.quest-foot svg{width:12px;height:12px}.highlights{margin-top:28px;border-top:1px solid var(--line);padding-top:25px}.highlights .eyebrow{font-size:8px;margin-bottom:4px}.highlight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;margin-top:18px}.highlight-item{display:flex;align-items:center;gap:12px;min-width:0}.highlight-item h3{font-size:12px;margin-top:7px;line-height:1.5}.highlight-item p{font-size:10px;margin-top:5px;color:#8b958f}.rarity-caption{font-size:10px;font-weight:600}.weapon-card{display:flex;flex-direction:column;position:relative;isolation:isolate;aspect-ratio:2/3;min-width:0;width:100%;overflow:hidden;border:1px solid color-mix(in srgb,var(--rarity) 48%,white);border-radius:7px;background:#fff;padding:5px;box-shadow:0 3px 8px #23392a09;text-align:left;transition:transform 180ms,box-shadow 180ms}.weapon-card:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 9px 18px #23392a14;filter:none}.card-top{display:flex;align-items:center;justify-content:space-between;padding:3px 4px;color:var(--rarity);min-height:22px;position:absolute;inset:6px 7px auto;z-index:2}.card-top svg{width:13px;height:13px}.rarity-mark{font-family:Georgia,serif;font-size:11px;font-weight:600}.weapon-art{background-image:url('/assets/weapons.png');background-size:300% 400%;background-position:var(--art-x) var(--art-y);background-repeat:no-repeat;aspect-ratio:1;width:100%;flex:1;min-height:0;background-color:#f5f6f5;border-radius:3px}.card-copy{padding:6px 5px 4px;min-height:58px;display:flex;flex-direction:column;justify-content:center}.card-type{font-size:8px;color:#849187}.card-copy strong{font-size:11px;line-height:1.4;margin-top:2px;font-weight:600;overflow-wrap:anywhere}.card-rarity{font-size:8px;color:var(--rarity);margin-top:3px}.weapon-card.locked{filter:saturate(.12);opacity:.65}.weapon-card.locked:hover{filter:saturate(.5);opacity:.9}.copy-count{position:absolute;right:9px;top:calc(66.666% - 10px);background:#fff;border:1px solid #e2e8e2;border-radius:3px;min-width:23px;height:20px;display:grid;place-items:center;font-size:9px;color:#566458}.copy-count svg{width:10px;height:10px}.weapon-card.mini{width:76px;flex-shrink:0;padding:3px}.weapon-card.mini .card-top{inset:3px 3px auto;padding:2px;min-height:15px}.weapon-card.mini .card-top svg{width:10px;height:10px}.weapon-card.mini .card-copy{padding:3px;min-height:33px}.weapon-card.mini .card-copy strong{font-size:7px;margin-top:0}.weapon-card.mini .card-type,.weapon-card.mini .card-rarity{font-size:6px;margin-top:1px}.weapon-card.mini .rarity-mark{font-size:8px}.new-badge{position:absolute;top:6px;left:50%;transform:translateX(-50%);background:#b65478;color:white;font-size:8px;padding:4px 8px;border-radius:3px;white-space:nowrap;z-index:3}.weapon-card.large,.card-back.large{max-width:235px;width:235px;aspect-ratio:2/3;flex-shrink:0}.weapon-card.large .card-copy{min-height:80px;padding:12px}.weapon-card.large .card-copy strong{font-size:16px}.weapon-card.large .card-type,.weapon-card.large .card-rarity{font-size:11px}.weapon-card.large .card-top{padding:7px;inset:7px 7px auto}.weapon-card.large .card-top svg{width:18px;height:18px}.weapon-card.large .rarity-mark{font-size:17px}.weapon-card.large .new-badge{font-size:10px;padding:5px 12px}.collection-counter{text-align:right;flex-shrink:0}.collection-counter strong{font-family:Manrope,sans-serif;font-size:27px;font-weight:700}.collection-counter strong span{font-size:16px;color:#9ca69f;font-weight:500}.collection-counter small{display:block;font-size:10px;color:#8b978f;margin-top:4px}.collection-toolbar{display:flex;gap:14px;align-items:center;margin:32px 0 22px}.search-field{display:flex;align-items:center;gap:10px;border:1px solid #dbe3dd;border-radius:5px;background:white;padding:0 13px;height:44px;flex:1}.search-field svg{width:17px;height:17px;color:#89988d}.search-field input{border:0;outline:0;background:transparent;font-size:12px;width:100%;min-width:0;color:#35483d}.search-field input:focus-visible{outline:0}.filters{display:flex;gap:10px;max-width:100%}.filters select{height:44px;background:white;border:1px solid #dbe3dd;border-radius:5px;color:#53675b;font-size:11px;max-width:100%;padding:0 28px 0 10px;min-width:140px}.collection-tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin-bottom:24px}.collection-tabs>button{padding:0 0 13px;min-height:40px;background:transparent;color:#87958b;border-bottom:2px solid transparent;font-size:12px}.collection-tabs>button.selected{color:var(--green);font-weight:700;border-bottom-color:var(--green)}.collection-tabs>span{font-size:10px;color:#87958b;margin:auto 0 13px auto}.collection-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.collection-grid .card-copy strong{font-size:12px}.empty-state{grid-column:1/-1;min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center}.empty-state>svg{width:32px;height:32px;color:#a3b4a6}.empty-state h2{font-size:17px;color:#7f8b82}.belt-counter{font-size:12px;color:#8a978e}.belt-rack{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;padding:24px 0 35px;border-bottom:1px solid var(--line)}.slot-label{display:flex;align-items:center;justify-content:space-between;height:36px}.slot-label>span{font-size:9px;color:#8f9c92}.empty-slot{aspect-ratio:2/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;border:1px dashed #bfcec2;border-radius:7px;color:#819889;background:#edf2ef;font-size:10px}.empty-slot>svg{width:25px;height:25px;stroke-width:1}.belt-inventory{margin-top:32px}.belt-inventory .section-title{margin-bottom:24px}.daily-banner{background:#e9f0ec;border-top:1px solid #d3e0d8;border-bottom:1px solid #d3e0d8;padding:27px;display:flex;align-items:center;gap:22px}.gift-symbol{color:#a88747}.gift-symbol>svg{width:45px;height:45px;stroke-width:1}.daily-banner h2{font-size:19px}.daily-banner span{font-size:11px;display:block;color:#879387;margin-top:9px}.daily-banner .primary{margin-left:auto;font-size:12px;flex-shrink:0}.quest-heading{margin:35px 0 18px}.quests{display:grid;gap:14px}.quest{display:flex;gap:20px;align-items:center;background:white;border:1px solid #dde6df;border-radius:6px;padding:22px}.quest-icon{width:45px;height:45px;flex-shrink:0;background:#edf3ee;display:grid;place-items:center;border-radius:5px;color:#7f9884}.quest-body{flex:1;min-width:0}.quest-body h3{font-size:14px}.quest-body p{font-size:11px;color:#8c988f;margin-top:5px}.quest-fraction{display:block;font-size:10px;color:#8c988f;margin-top:8px}.quest-reward{display:flex;flex-direction:column;align-items:center;gap:12px;margin-left:24px;flex-shrink:0}.quest-reward>span{display:flex;align-items:center;gap:5px;font-size:12px;color:#a28041}.quest-reward>span svg{width:16px;height:16px}.quest-reward>button{min-height:34px;font-size:10px;padding:8px 12px;min-width:88px}.quest.claimed{opacity:.7}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);background:#253c30;color:white;padding:13px 20px;border-radius:6px;font-size:12px;max-width:calc(100vw - 32px);opacity:0;pointer-events:none;z-index:100;box-shadow:0 8px 20px #183c3522;transition:opacity 180ms,transform 180ms}.toast.visible{opacity:1;transform:translate(-50%,0)}.dialog{border:1px solid #e1e8e2;border-radius:8px;padding:36px;background:#f9fbf9;color:#263b2c;width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 25px 100px #10251730}.dialog::backdrop{background:#0a201dcc;backdrop-filter:blur(5px)}.dialog .modal-close{position:absolute;top:10px;right:10px;z-index:10}.dialog h2{font-size:24px;padding-right:12px}.modal-subtitle{font-size:13px;line-height:1.7;color:#7f8f80;margin:16px 0}.modal-note{font-size:11px;line-height:1.75;color:#87958a;margin-top:22px}.rates-table{width:100%;border-collapse:collapse;margin-top:26px;font-size:11px}.rates-table td,.rates-table th{padding:14px 7px;border-bottom:1px solid #e1e8e1;text-align:right;font-weight:400}.rates-table th:first-child{text-align:left;white-space:nowrap}.rates-table thead th{font-size:9px;color:#8a968a}.rates-table tbody th span{margin-right:4px}.detail-dialog{width:min(680px,calc(100vw - 32px))}.detail-layout{display:flex;align-items:center;gap:30px;margin-top:8px}.detail-copy{flex:1;min-width:0}.detail-copy h2{font-size:25px;margin-bottom:9px;padding-right:0}.lore{font-family:Georgia,serif;font-size:14px;font-style:italic;line-height:1.8;margin-top:22px;color:#83907f}.detail-copy dl{margin:20px 0}.detail-copy dl>div{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #e4eae1;padding:10px 0;font-size:11px}.detail-copy dt{color:#8c9788}.detail-copy dd{margin:0;text-align:right}.slot-choices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:24px 0}.slot-choice{min-height:124px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;background:white;border:1px solid #dbe5d8;border-radius:5px;min-width:0;padding:9px 5px}.slot-choice>span{font-size:9px;color:#8f9c87}.slot-choice>svg{color:#91a58d}.slot-choice>strong{font-size:9px;font-weight:500;text-align:center;overflow-wrap:anywhere}.picker-dialog{width:min(740px,calc(100vw - 32px))}.picker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:26px}.time-emblem{display:flex;align-items:center;justify-content:center;gap:15px;padding:35px 0;color:#a28041}.time-emblem>svg{width:32px;height:32px}.time-emblem>strong{font-family:Manrope;font-size:40px}.time-emblem>span{font-size:11px;color:#8a9688}.range-heading,.time-preview{display:flex;justify-content:space-between;gap:14px;font-size:12px}.range-heading{margin-bottom:14px}input[type=range]{width:100%;accent-color:var(--green);margin-bottom:22px}.time-preview{padding:20px 0;border-top:1px solid #e0e8dc;margin-bottom:14px;color:#8f9989}.time-preview>strong{color:#476b45;font-variant-numeric:tabular-nums}.setting-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e2e9dd;padding:22px 0;font-size:13px}.setting-row>span{display:flex;align-items:center;gap:12px}.setting-row>input{width:20px;height:20px;accent-color:var(--green)}.danger-button{background:#f6e9ed;color:#a44661;border:1px solid #e9cbd5;min-height:42px;padding:10px 16px;border-radius:5px;font-size:12px;margin-top:22px}.confirm-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:25px}.confirm-actions .danger-button{margin-top:0}.reveal-dialog{width:min(830px,calc(100vw - 24px));padding:30px 32px}.reveal-heading{text-align:center}.reveal-heading h2{font-size:23px;padding:0}.reveal-heading>span{display:block;font-size:11px;color:#8c9885;margin-top:12px}.reveal-focus{display:flex;justify-content:center;margin-top:25px}.card-back{position:relative;border-radius:7px;border:1px solid #b7b78c;background:#21443b;color:#d8ca9e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;box-shadow:0 9px 18px #1a3b331a}.card-back:before,.card-back:after{content:'';position:absolute;inset:8px;border:1px solid #d8ca9e55;border-radius:3px;pointer-events:none}.card-back:after{inset:15px;border-style:double}.card-back>span{display:grid;place-items:center;border:1px solid #d8ca9e70;width:90px;height:90px;transform:rotate(45deg)}.card-back>span>svg{width:43px;height:43px;transform:rotate(-45deg)}.card-back>strong{font-family:Manrope;font-size:17px;font-weight:600}.card-back>small{font-family:Georgia,serif;font-size:22px}.reveal-dots{display:flex;justify-content:center;gap:9px;margin-top:22px}.reveal-dots>span{width:27px;height:30px;display:grid;place-items:center;border:1px solid #dfe7d8;border-radius:3px;font-size:10px;color:#b3bda7;font-family:Georgia}.reveal-dots>span.revealed{color:#6a8361;background:#eaf1e3;border-color:#c9d9bd}.reveal-actions{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:25px;flex-wrap:wrap}.reveal-actions .primary{min-width:190px}.pull-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:30px}.reveal-enter{animation:card-reveal 400ms ease both}@keyframes card-reveal{from{opacity:0;transform:translateY(12px) rotateY(30deg)}to{opacity:1;transform:none}}@keyframes chest-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.quiet-motion *{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(min-width:1500px){main{padding-top:44px}.chest-stage{min-height:410px}.chest-image{height:330px;max-width:460px}.highlight-grid{gap:30px}}
@media(max-width:1100px){.sidebar{width:190px;padding:30px 15px}.brand{font-size:18px}.shell{margin-left:190px}.topbar{padding:0 28px}main{padding:30px 28px 55px}.forge-layout{grid-template-columns:minmax(0,1fr) 220px;gap:24px}.collection-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.highlight-grid{gap:14px}.highlight-item{gap:9px}.highlight-item h3{font-size:11px}.highlight-item p{font-size:9px}.weapon-card.mini{width:65px}.filters select{min-width:122px}.collection-toolbar{gap:10px}.chest-stage{min-height:330px}.chest-image{height:265px}.belt-rack{gap:10px}.belt-rack .card-copy strong{font-size:10px}.daily-banner{gap:14px;padding:20px}.daily-banner h2{font-size:16px}}
@media(max-width:800px){.sidebar{display:none}.shell{margin-left:0}.topbar{height:68px;padding:0 20px;position:sticky;top:0;z-index:9}.mobile-brand{display:flex;align-items:center;gap:9px;font-family:Manrope,system-ui,sans-serif;font-size:17px;font-weight:800;color:var(--green)}.mobile-brand>svg{width:22px;height:22px}.desktop-crumb{display:none}.top-actions{gap:8px}.key-balance{font-size:11px;padding:6px 10px;min-height:32px}.key-balance>span{display:none}main{padding:27px 20px 112px;max-width:680px}.mobile-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fffffff5;backdrop-filter:blur(12px);position:fixed;bottom:0;left:0;right:0;border-top:1px solid #dce5dc;z-index:20;padding:5px 8px max(8px,env(safe-area-inset-bottom))}.mobile-nav .nav-item{flex-direction:column;gap:5px;justify-content:center;font-size:9px;min-height:57px;padding:8px 3px;background:transparent;border-radius:4px}.mobile-nav .nav-item.active{color:var(--green)}.mobile-nav .nav-item>svg{width:21px;height:21px}.mobile-nav .nav-item.active:before{content:'';position:absolute;top:0;left:38%;right:38%;height:2px;background:var(--green)}.mobile-nav .nav-dot{position:absolute;right:calc(50% - 25px);top:3px;width:14px;height:14px;min-width:14px;font-size:8px;margin:0}.toast{bottom:90px}.page-heading{margin-bottom:22px}h1{font-size:26px}.forge-layout{grid-template-columns:minmax(0,1fr) 215px;gap:24px}.highlight-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.collection-toolbar{margin-top:26px}.collection-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:560px){main{padding:23px 16px 100px}.topbar{padding:0 16px;height:64px}.mobile-brand{font-size:16px}.eyebrow{font-size:8px;margin-bottom:6px}.page-heading{gap:8px}.page-heading>.text-button{font-size:9px;gap:4px}.page-heading>.text-button svg{width:12px;height:12px}.forge-layout{display:flex;flex-direction:column;gap:22px}.chest-stage{min-height:264px}.chest-image{height:219px;max-width:310px;max-height:219px;width:90%}.chest-label{top:16px;font-size:8px}.edition-stamp{bottom:13px;font-size:7px}.chest-controls{padding:17px 5px 0}.charge-count{font-size:10px;margin-bottom:14px}.open-chest{min-height:49px;width:100%;max-width:340px;font-size:13px}.forge-clock{font-size:9px;margin-top:13px}.forge-side{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;border-top:1px solid var(--line);padding-top:19px}.forge-side>.section-title{grid-column:1/-1;margin-bottom:3px}.queue-item{padding:16px 0;gap:7px}.queue-item>svg{width:22px;height:22px}.queue-item strong{font-size:10px}.queue-item>div span{font-size:8px}.queue-time{font-size:9px}.status-pill{font-size:6px;padding:4px 5px}.forge-side>.secondary{grid-column:1/-1;margin-top:12px}.daily-preview{margin-top:23px;padding:0 0 16px;grid-column:1}.daily-preview .section-title h2{font-size:12px}.daily-preview .section-title>svg{width:15px;height:15px}.daily-preview>strong{font-size:10px}.daily-preview .text-button{font-size:10px;min-height:30px}.quest-preview{margin-top:23px;padding:0;grid-column:2}.quest-preview>strong{font-size:10px}.quest-preview>p:not(.eyebrow){font-size:9px}.quest-preview .eyebrow{font-size:7px}.highlights{margin-top:20px;padding-top:22px}.highlights .section-title>div h2{font-size:14px}.highlights .text-button{font-size:10px}.highlight-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.highlight-item{flex-direction:column;align-items:stretch;gap:10px}.highlight-item .mini{width:100%;max-width:130px;margin:auto}.highlight-item h3{font-size:11px;margin-top:4px}.highlight-item p{font-size:9px}.highlight-item .rarity-caption{font-size:8px}.highlight-item .mini .card-copy{min-height:48px;padding:5px}.highlight-item .mini .card-copy strong{font-size:9px}.highlight-item .mini .card-type,.highlight-item .mini .card-rarity{font-size:7px}.collection-counter strong{font-size:23px}.collection-counter strong span{font-size:13px}.collection-counter small{font-size:9px}.collection-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-bottom:16px}.search-field{flex:none;height:41px}.filters{width:100%}.filters>select{flex:1;min-width:0;font-size:10px;height:39px;max-width:50%}.collection-tabs{margin-bottom:20px;gap:20px}.collection-tabs>button{font-size:11px}.collection-tabs>span{font-size:9px}.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.collection-grid .card-copy strong{font-size:10px}.card-copy{min-height:58px;padding:5px}.card-type,.card-rarity{font-size:7px}.card-copy strong{font-size:10px}.card-top{inset:4px 4px auto}.card-top svg{width:11px;height:11px}.rarity-mark{font-size:10px}.weapon-card{padding:4px;border-radius:6px}.copy-count{right:6px;top:calc(66.666% - 16px);height:18px;min-width:22px;font-size:8px}.belt-counter{font-size:10px}.belt-rack{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 11px;padding-top:9px}.belt-slot:nth-child(4),.belt-slot:nth-child(5){grid-column:auto}.slot-label>span{font-size:8px}.empty-slot{font-size:9px}.belt-rack .weapon-card .card-copy{min-height:58px}.belt-inventory{margin-top:24px}.daily-banner{display:grid;grid-template-columns:42px 1fr;padding:20px 16px;gap:15px}.daily-banner h2{font-size:16px}.daily-banner .gift-symbol>svg{width:35px;height:35px}.daily-banner>.primary{grid-column:1/-1;width:100%;margin:5px 0 0}.quest{padding:16px 12px;gap:12px;align-items:flex-start}.quest-icon{width:32px;height:32px}.quest-icon>svg{width:18px;height:18px}.quest-body h3{font-size:12px}.quest-body p{font-size:9px;line-height:1.7}.quest-reward{margin:0;gap:14px}.quest-reward>span{font-size:10px}.quest-reward>button{font-size:9px;min-width:66px;padding:8px 9px}.progress-track{margin-top:10px}.quest-heading{margin-top:26px}.dialog{padding:31px 20px;max-height:calc(100dvh - 28px);width:calc(100vw - 24px)}.dialog h2{font-size:22px}.detail-layout{flex-direction:column;gap:25px}.detail-layout>.weapon-card.large{width:190px;max-width:190px}.weapon-card.large .card-copy{min-height:75px}.detail-copy{width:100%}.detail-copy h2{font-size:23px}.detail-copy>.eyebrow{font-size:9px}.lore{font-size:13px;margin-top:14px}.detail-copy dl{margin:18px 0}.slot-choices{gap:5px}.slot-choice{min-height:118px;padding:7px 3px;gap:13px}.slot-choice>strong{font-size:8px}.slot-choice>svg{width:18px;height:18px}.picker-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.rates-table{font-size:9px}.rates-table thead th{font-size:8px}.rates-table td,.rates-table th{padding:12px 4px}.rates-table th:first-child{white-space:normal}.reveal-dialog{padding:29px 17px 24px}.reveal-heading h2{font-size:20px}.reveal-heading .eyebrow{font-size:9px}.reveal-focus{margin-top:21px}.reveal-focus .large{width:210px;max-width:210px}.reveal-actions{gap:10px;flex-direction:column;margin-top:22px}.reveal-actions>.primary{width:100%}.reveal-actions .text-button{min-height:30px}.pull-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 8px;margin-top:23px}.pull-grid .new-badge{font-size:6px;padding:3px 5px}.pull-grid .card-copy strong{font-size:9px}.pull-grid .card-copy{min-height:55px}.reveal-dots{margin-top:19px}.confirm-actions{flex-wrap:wrap}}
@media(max-width:350px){h1{font-size:23px}.mobile-brand{font-size:14px}.top-actions{gap:2px}.topbar{padding:0 12px}main{padding-left:12px;padding-right:12px}.page-heading>.text-button{font-size:8px}.collection-grid{gap:8px}.card-copy strong{font-size:9px}.collection-counter strong{font-size:21px}.quest{gap:8px}.quest-icon{display:none}.slot-choices{grid-template-columns:repeat(3,minmax(0,1fr))}}
.mission-section{margin-top:32px}.mission-caption{font-size:11px;color:var(--muted);margin-top:7px;line-height:1.6}.mission-section .quest-heading{align-items:flex-start;margin-bottom:18px}.mission-section .quest-heading>span{flex-shrink:0;padding-top:3px}.quest .mission-prize{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px;max-width:160px;line-height:1.7}.mission-prize svg{width:15px;height:15px}.quest-body{min-width:0}.difficulty-label{display:block;font-size:8px;font-weight:700;color:#a16b25;margin-bottom:6px}.hard-quest .quest-icon{background:#f5eddf;color:#9f752e}.reward-vault{display:flex;align-items:center;gap:12px;padding:18px 0;border-bottom:1px solid var(--line);color:var(--green)}.reward-vault strong{font-size:13px}.reward-vault .text-button{margin-left:auto}.charge-dot{flex-shrink:0}.charge-count span:last-child{line-height:1.6}.bonus-queue{grid-column:1/-1}.open-chest{flex-wrap:wrap;row-gap:5px}.quest-foot{flex-wrap:wrap;gap:8px}.quest-foot>span:last-child{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
@media(max-width:560px){.mission-caption{font-size:10px}.mission-section .section-title>span{font-size:9px}.quest .mission-prize{max-width:92px;font-size:9px}.reward-vault{flex-wrap:wrap;gap:8px}.reward-vault .text-button{font-size:11px}.reward-vault strong{font-size:12px}.mission-section .quest-body p{font-size:10px}.mission-section .quest-reward{flex-shrink:0}.difficulty-label{font-size:7px}}
.series-picker{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted);margin:-4px 0 24px}.series-picker select,.craft-filters select{border:1px solid var(--line);background:white;color:var(--green);border-radius:5px;min-height:42px;padding:8px 12px;font-size:12px;max-width:100%;min-width:0}.album-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin-bottom:24px}.album-entry{display:flex;align-items:center;gap:12px;text-align:left;background:none;padding:8px 0;min-width:0}.album-entry>div{flex:1;min-width:0}.album-entry strong{font-size:13px;line-height:1.5;display:block}.album-entry>span:last-child{font-size:11px;color:var(--muted)}.album-entry .series-mark{flex-shrink:0}.album-entry.selected strong{color:#347e69}.album-entry.selected .series-mark{color:#347e69}.album-entry .progress-track{margin-top:9px}.essence-balance{display:flex;align-items:center;gap:7px;color:#477cba;flex-shrink:0;font-size:12px}.essence-balance strong{font-size:20px}.salvage-band{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.salvage-band>div{display:flex;gap:15px;align-items:center}.salvage-band>div>svg{width:32px;height:32px;color:#477cba}.salvage-band h2{font-size:16px}.salvage-band span{font-size:12px;color:var(--muted);display:block;margin-top:7px}.craft-heading{margin:28px 0 16px}.craft-filters{display:flex;gap:10px;margin-bottom:24px}.craft-item{min-width:0}.craft-item>.weapon-card{width:100%}.craft-price{display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px;background:none;border-bottom:1px solid var(--line);color:var(--muted);width:100%;font-size:12px}.craft-price svg{width:15px;height:15px}.craft-price.affordable{color:#347e69}.craft-preview{display:flex;justify-content:center;margin:24px 0}.craft-preview>.large{width:190px;max-width:190px}.craft-cost{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 0;margin-bottom:16px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.craft-cost>span{display:flex;align-items:center;gap:5px}.craft-cost strong{color:#477cba}.craft-cost svg{width:15px;height:15px}.salvage-breakdown{margin:22px 0}.salvage-breakdown>div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.salvage-breakdown strong{color:#477cba}
@media(max-width:800px){.mobile-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.mobile-nav .nav-item{font-size:8px}}
@media(max-width:560px){.series-picker{flex-direction:column;align-items:stretch;gap:7px;font-size:10px;margin-bottom:18px}.series-picker select,.craft-filters select{font-size:11px}.album-summary{gap:12px;padding:12px 0;margin-bottom:18px}.album-entry{gap:6px}.album-entry .series-mark{width:17px;font-size:20px}.album-entry strong{font-size:10px}.album-entry>span:last-child{font-size:9px}.essence-balance{font-size:10px;gap:5px}.essence-balance strong{font-size:18px}.essence-balance svg{width:17px;height:17px}.salvage-band{flex-direction:column;align-items:stretch;gap:16px;padding:20px 0}.salvage-band>.secondary{width:100%}.salvage-band h2{font-size:14px}.salvage-band span{font-size:11px}.craft-filters select{flex:1;max-width:50%;padding:8px}.craft-price{font-size:10px;gap:5px;min-height:37px}.craft-price svg{width:12px;height:12px}.craft-cost{font-size:11px}.salvage-breakdown>div{font-size:11px}}
:root{--chest-ground:#e5e9e3}
.dialog.chest-opening{position:fixed;inset:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;padding:0;border:0;border-radius:0;overflow:hidden;background:var(--chest-ground)}
.opening-scene{position:absolute;inset:0;width:100%;height:100%;touch-action:none}
.opening-scene canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:-5px}
.opening-scene canvas:focus-visible{outline:2px solid #4f8572}
.opening-heading{position:absolute;top:max(28px,env(safe-area-inset-top));left:28px;right:80px;z-index:2;pointer-events:none}
.opening-heading h2{font-size:22px;margin:6px 0}
.chest-opening .modal-close{z-index:3;top:max(24px,env(safe-area-inset-top));right:24px;background:#ffffffd9}
.opening-controls{position:absolute;bottom:max(30px,env(safe-area-inset-bottom));left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:12px;pointer-events:none}
.opening-controls button{pointer-events:auto;background:#fffffff0;min-height:44px}
.opening-arrow svg{width:32px;height:32px;color:#24574b}
.opening-scene[data-phase="opening"]~.opening-controls,.opening-scene[data-phase="opened"]~.opening-controls{opacity:0;pointer-events:none}
.opening-scene[data-phase="opening"]~.opening-controls button{pointer-events:none}
.opening-fallback{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:30px}
.opening-fallback img{width:min(80vw,600px);transform:translateY(calc(var(--lift,0)*-30px))}
.opening-fallback input{width:min(65vw,360px)}
@media(max-width:600px){.opening-heading{left:20px;top:24px}.opening-heading h2{font-size:19px}.opening-controls{bottom:max(24px,env(safe-area-inset-bottom))}}

/* Movimiento general: breve, util y desconectado del estado del juego. */
.navigation-veil{position:fixed;inset:0;z-index:1000;background:#fff;opacity:0;pointer-events:none}
.tab-fade>*{animation:none}
.tab-fade .collection-grid>.weapon-card,.tab-fade .collection-grid>.craft-item,.tab-fade .highlight-grid>.highlight-item,.tab-fade .quests>.quest,.tab-fade .belt-rack>.belt-slot{animation:none}
main>*{animation:content-in 360ms cubic-bezier(.2,.7,.2,1) both}
main>*:nth-child(2){animation-delay:35ms}main>*:nth-child(3){animation-delay:70ms}main>*:nth-child(4){animation-delay:105ms}
.collection-grid>.weapon-card,.collection-grid>.craft-item,.quests>.quest,.belt-rack>.belt-slot,.highlight-grid>.highlight-item{animation:item-in 360ms cubic-bezier(.2,.75,.25,1) both}
.collection-grid>*:nth-child(5n+2),.quests>*:nth-child(2n),.belt-rack>*:nth-child(2),.highlight-grid>*:nth-child(2){animation-delay:35ms}
.collection-grid>*:nth-child(5n+3),.belt-rack>*:nth-child(3),.highlight-grid>*:nth-child(3){animation-delay:70ms}
.collection-grid>*:nth-child(5n+4),.belt-rack>*:nth-child(4){animation-delay:105ms}
.collection-grid>*:nth-child(5n),.belt-rack>*:nth-child(5){animation-delay:140ms}
.grid-refresh{animation:grid-refresh 220ms ease both}
.progress-track>span{transition:width 500ms cubic-bezier(.2,.75,.25,1)}
.nav-item,.album-entry,.queue-item,.quest,.slot-choice,.empty-slot,.key-balance,.icon-button{transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease,transform 180ms ease,box-shadow 180ms ease}
.nav-item:hover:not(:disabled),.album-entry:hover:not(:disabled),.slot-choice:hover:not(:disabled){transform:translateY(-1px)}
.dialog[open]{animation:dialog-in 260ms cubic-bezier(.2,.75,.25,1) both}
.dialog[open]::backdrop{animation:backdrop-in 220ms ease both}
.reveal-dots>span{transition:background-color 240ms ease,color 240ms ease,border-color 240ms ease,transform 240ms ease}.reveal-dots>span.revealed{transform:translateY(-2px)}
@keyframes content-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes item-in{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@keyframes grid-refresh{from{opacity:.45;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes dialog-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@keyframes backdrop-in{from{opacity:0}to{opacity:1}}
.quiet-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.collection-toolbar{flex-direction:column;align-items:stretch;gap:14px}
.collection-toolbar .search-field{flex:none;width:100%}
.collection-toolbar .filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.filters>label{display:flex;flex-direction:column;gap:7px;min-width:0;color:var(--muted);font-size:10px}
.account-dialog{width:min(440px,calc(100vw - 24px))}.account-email{overflow-wrap:anywhere}
.account-form,.account-stack{display:flex;flex-direction:column;gap:16px;margin-top:24px}
.account-form label{display:flex;flex-direction:column;gap:8px;font-size:13px}
.account-form input{width:100%;min-width:0;padding:12px;border:1px solid #cbd6d3;border-radius:4px;background:#fff;font:inherit}
.account-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:20px}
.account-comparison{display:grid;gap:16px;margin-top:20px}.account-comparison>div{display:flex;flex-direction:column;gap:6px}.account-comparison span{font-size:12px;color:var(--muted)}.account-stack>button{white-space:normal}
.account-button{position:relative;flex-shrink:0}.account-button[data-status="saved"]:after,.account-button[data-status="offline"]:after,.account-button[data-status="conflict"]:after,.account-button[data-status="pending"]:after{content:"";position:absolute;right:4px;bottom:4px;width:6px;height:6px;border-radius:50%;background:#34836b}
.account-button[data-status="offline"]:after,.account-button[data-status="conflict"]:after,.account-button[data-status="pending"]:after{background:#b98933}
@media(max-width:420px){.top-actions{gap:4px}.top-actions .key-balance{padding:8px}.top-actions .key-balance>span{display:none}.mobile-brand{font-size:14px}.topbar{gap:8px}}
.collection-toolbar .filters select{width:100%;min-width:0;max-width:100%}
.claim-all{flex-shrink:0}.claim-all>span{font-size:11px;border-left:1px solid #ffffff44;padding-left:9px}
.page-heading:has(.claim-all){flex-wrap:wrap}
.highlight-controls{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.highlight-controls>.text-button{margin-left:8px}
.highlight-item{min-height:116px}.highlight-item>div{min-width:0}.highlight-item h3{overflow-wrap:anywhere}
@media(max-width:560px){.collection-toolbar .filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.filters>label{font-size:10px}.claim-all{padding:10px 12px;font-size:11px}.highlights>.section-title{align-items:flex-start;flex-wrap:wrap}.highlight-controls{margin-left:auto}.highlight-controls>.text-button{font-size:11px}.highlight-item{min-height:116px}}
