#elementalPortal .e22-panel > .ge-tile{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3em;padding:.3em;overflow:hidden;border:2px solid #d7b76d;border-radius:9%;background:radial-gradient(ellipse at top,#70485d,#302036 75%);color:#fff5d6;font:inherit;text-align:center;cursor:pointer;text-shadow:0 1px 3px #201326}
#elementalPortal .e22-panel > .ge-tile[hidden],.ge-info-link[hidden]{display:none!important}
.ge-tile strong{font-size:clamp(16px,4vw,32px)}
.ge-tile small{font-size:clamp(9px,2.3vw,17px)}
.ge-info-link{display:inline-block;align-self:center;margin:.6rem 0;padding:.55rem 1rem;border:1px solid #b08951;border-radius:9px;background:#fff7e6;color:#4a2a40;font-weight:700;text-decoration:none}
.ge-dialog{box-sizing:border-box;width:min(720px,calc(100% - 24px));max-height:88dvh;padding:clamp(14px,4vw,28px);border:1px solid #c2a071;border-radius:18px;background:#fff9ee;color:#302033;font:16px/1.6 system-ui,sans-serif;overscroll-behavior:contain}
.ge-dialog::backdrop{background:#1a101cd9}
.ge-dialog :is(nav,form){display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0}
.ge-dialog :is(button,input,select){font:inherit;max-width:100%;color:#302033}
.ge-dialog button{padding:.3rem .65rem;border:1px solid #92704e;border-radius:8px;background:#fff;cursor:pointer}
.ge-dialog button[aria-pressed=true]{background:#42293f;color:#fff}
.ge-dialog article{padding:.65rem;margin:.55rem 0;border:1px solid #d8c4ab;border-radius:10px}
.ge-dialog article img{max-width:110px;height:auto}
.ge-dialog label{margin-right:.6rem}
.ge-dialog a{color:#6b315d;text-decoration:underline}
.ge-dialog dl{display:grid;grid-template-columns:1fr 1fr}
.ge-dialog{width:min(1050px,calc(100% - 18px));max-height:94dvh;background:#102447;color:#fff2ce;border:3px double #d5af54;border-radius:16px;box-shadow:0 0 0 2px #3e2c11,0 18px 70px #020817;padding:clamp(10px,2vw,25px)}
.ge-dialog h2{color:#ffe3a0;text-align:center;font-family:serif;font-size:clamp(1.7rem,4vw,2.7rem);margin:.3em 0;text-shadow:0 2px 4px #020817}
.ge-dialog>nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.ge-dialog button{min-height:42px;background:#fff0cd;color:#302033;border-color:#b99143;font-weight:600}
.ge-dialog button[aria-pressed=true]{background:#17365e;color:#fff2ce;border-color:#e7b94c}
.ge-dialog>button:first-child{background:#17365e;color:#fff2ce}
.ge-dialog a{color:inherit}
.ge-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:.8rem}
.ge-browse,.ge-detail,.ge-series{min-width:0;background:#fff3d9;color:#2b2530;border:3px double #a67b38;border-radius:12px;padding:clamp(8px,1.5vw,16px)}
.ge-filters,.ge-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.ge-filters input{grid-column:1/-1}
.ge-filters :is(input,select){width:100%;box-sizing:border-box;min-height:44px;border:1px solid #ae8b4b;border-radius:8px;background:#fffaf0;padding:.35rem}
.ge-results{margin:.65rem 0}
.ge-card{display:flex;flex-direction:column;gap:.2rem;align-items:center;overflow:hidden;overflow-wrap:anywhere;line-height:1.3}
.ge-dialog .ge-card img{width:100%;aspect-ratio:1.45;object-fit:cover;object-position:center 36%;border-radius:5px}
.ge-detail article{background:#fff8e8}
.ge-dialog .ge-detail article img{width:100%;max-width:none;max-height:300px;object-fit:contain;background:#132648;border-radius:8px}
.ge-detail article button{display:block;width:100%;margin:.4rem 0}
.ge-detail dl{grid-template-columns:1fr auto;gap:0}
.ge-detail dl>*{border-bottom:1px solid #d8c4ab;padding:.2rem;margin:0}
.ge-series{margin:.75rem 0}
.ge-series img{width:100%;max-width:260px;border-radius:8px}
.ge-series progress{width:100%;accent-color:#95651d}
.ge-part{display:flex;justify-content:space-between;align-items:center;gap:.4rem;border-top:1px solid #d8c4ab;padding:.25rem 0}
@media(max-width:650px){.ge-dialog>nav{grid-template-columns:repeat(2,minmax(0,1fr))}.ge-layout{display:block}.ge-layout:not(.ge-detail-open) .ge-detail,.ge-detail-open .ge-browse{display:none}}
#elementalPortal .e22-panel > .ge-tile{background:#152b50 url('/equipment-tile150.webp') center/100% 100% no-repeat;border:0;border-radius:0}
.ge-tile>strong,.ge-tile>small{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.ge-series-grid,.ge-slots{display:grid;gap:.55rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:.6rem 0}
.ge-dialog .ge-series-tile,.ge-dialog .ge-slot{display:flex;flex-direction:column;align-items:center;gap:.25rem;overflow-wrap:anywhere;min-width:0}
.ge-series-tile img{width:100%;aspect-ratio:1.2;object-fit:contain;background:#12264a;border-radius:5px}
.ge-series-tile svg,.ge-hero svg{width:min(100%,10rem);height:9rem}
.ge-series-detail h3{text-align:center}
.ge-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;background:#12264a;color:#fff0c6;border:2px solid #bc924b;border-radius:10px;margin:.5rem 0;padding:.45rem}
.ge-hero img{max-width:100%;max-height:290px;object-fit:contain}
.ge-dialog svg{fill:#e7bc65;stroke:#a97e34;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.ge-slots{grid-template-columns:repeat(4,minmax(0,1fr))}
.ge-slot svg{width:2.4rem;height:2.4rem}
.ge-dialog .ge-missing{background:#eee7db;color:#5c554d;border-color:#9d9688}
.ge-missing svg{opacity:.34;filter:grayscale(1)}
.ge-progress{display:block;text-align:center;color:#624510}
.ge-stats button{margin:.2rem}
.ge-ledger-summary{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.ge-ledger-summary section,.ge-ledger-controls{background:#fff3d9;color:#2b2530;border:3px double #a67b38;border-radius:10px;padding:.65rem}
.ge-ledger-summary strong{display:block;font-size:1.18rem}
.ge-positive{color:#176341}.ge-negative{color:#972b36}
@media(max-width:480px){.ge-slots{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ge-slot img{width:3.5rem;height:3.5rem;object-fit:contain;border-radius:5px}
.ge-missing img{opacity:.38;filter:grayscale(1)}
.ge-hero img{min-width:min(12rem,100%);max-height:290px;object-fit:contain}
.ge-base-entry img{max-height:150px}
.ge-base-grid .ge-slot{padding:.5rem;min-height:7.5rem}
.ge-base-pages{display:flex;justify-content:space-between;align-items:center;gap:.45rem;margin:.55rem 0}
.ge-dialog .ge-member-card img{width:100%;min-width:0;max-width:300px;height:auto;max-height:220px;object-fit:contain;object-position:center}
.ge-base-grid .ge-member-card img{width:100%;height:6rem}
.ge-part-crop{position:relative;display:block;flex:none;width:3.5rem;aspect-ratio:1;overflow:hidden;border-radius:5px}
.ge-hero .ge-part-crop{width:min(13rem,100%)}
.ge-dialog .ge-part-crop img{position:absolute;width:290.91%;height:290.91%;min-width:0;max-width:none;max-height:none;left:-13.64%;top:-176.14%;object-fit:fill;border-radius:0}

/* 元素騎士の図鑑・記録画面 */
.ge-ledger-entry{display:block;margin:.65rem auto;padding:.62rem 1.35rem;border:3px double #e2b85d;border-radius:.45rem;background:linear-gradient(135deg,#16284a,#401f53);color:#fff0bc;font:700 1rem/1.4 serif;letter-spacing:.05em;cursor:pointer}
.ge-ledger-entry[hidden],.ge-dialog>nav[hidden]{display:none!important}
.ge-dialog{background:radial-gradient(ellipse at 50% 0,#382c67 0,transparent 58%),linear-gradient(140deg,#07192c,#172244 56%,#261739);border-color:#e3b75e}
.ge-mast{position:relative;isolation:isolate;overflow:hidden;text-align:center;padding:.7rem .6rem 1rem;border:1px solid #b99658;border-radius:12px;background:radial-gradient(ellipse at 50% 20%,#663983 0,transparent 62%),linear-gradient(120deg,#08172f,#183657,#0c1a39);box-shadow:inset 0 0 0 4px #1b2442}
.ge-mast::before,.ge-mast::after{content:'◇';position:absolute;z-index:-1;top:-4rem;color:#bf92f435;font:13rem serif;transform:rotate(15deg)}
.ge-mast::before{left:-1rem}.ge-mast::after{right:-1rem}
.ge-mast button{display:block;position:relative;background:#101b38;color:#ffe5a7;border-color:#ad8b57}
.ge-eyebrow{margin:.15rem 0;color:#e3bd80;font:700 .72rem/1.4 serif;letter-spacing:.13em}
.ge-dialog h2{font-size:clamp(1.75rem,5vw,2.9rem);text-shadow:0 2px 8px #321445;margin:.12em 0}
.ge-dialog>nav,.ge-collection-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
.ge-dialog>nav button,.ge-collection-actions button{background:linear-gradient(#293253,#172442);color:#eadbb3}
.ge-dialog button[aria-pressed=true]{background:linear-gradient(130deg,#4e3272,#213c67);color:#ffe9b2;border-color:#deb35a;box-shadow:inset 0 0 0 1px #e7b65a55}
.ge-dialog .ge-browse,.ge-dialog .ge-stats{background:linear-gradient(145deg,#202e4f,#15243c);color:#fff1cd;border-color:#af8b4e}
.ge-series-detail h3{color:#ffe1a0;font-family:serif;letter-spacing:.04em}
.ge-dialog .ge-series-tile,.ge-dialog .ge-slot{background:linear-gradient(155deg,#273659,#171b36);color:#f9ecd0;border-color:#9d7d52}
.ge-dialog .ge-series-tile img{border:1px solid #bd965b}
.ge-dialog .ge-missing{background:#151a2a;color:#c8c2b7;border-color:#6c6672}
.ge-missing img,.ge-missing svg{opacity:.37;filter:grayscale(.75) brightness(.72)}
.ge-progress{color:#ffe1a0}
.ge-dialog .ge-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
.ge-filters :is(input,select){background:#f4e9d1;color:#20273b;font-size:.88rem}
.ge-dialog button:focus-visible,.ge-ledger-entry:focus-visible{outline:2px solid #ffe099;outline-offset:2px}
@media(max-width:420px){.ge-dialog .ge-filters{gap:.32rem}.ge-dialog .ge-filters select{font-size:.73rem;padding:.2rem}.ge-collection-actions button{font-size:.82rem}}
#elementalPortal.e22-ready>.ge-ledger-entry:not([hidden]){display:block!important}

.ge-codex .ge-mast{background:linear-gradient(160deg,#071224,#102f66,#090f27);border:3px double #e5be65}
.ge-codex .ge-eyebrow{display:none}
.ge-codex .ge-mast button{position:absolute;inset:.45rem auto auto .5rem;font-size:.8rem}
.ge-codex .ge-mast h2{padding-inline:3.2rem}
.ge-art{display:block;width:100%;aspect-ratio:2.65;object-fit:cover;border:1px solid #c79f58;border-radius:10px;box-sizing:border-box;margin:0 0 .7rem}
.ge-category-grid{display:grid;gap:.8rem;margin:.65rem 0}
.ge-dialog .ge-category{display:grid;padding:0;overflow:hidden;border:3px double #e3b862;background:linear-gradient(100deg,#e4bc72,#fff2cf,#d6ad64);font-family:serif;font-size:1.12rem}
.ge-category .ge-art{border:0;border-radius:0;margin:0;aspect-ratio:3.85}
.ge-category strong{padding:.45rem}
.ge-category strong::after{content:' ›'}
.ge-dialog .ge-wallet-button{display:block;width:100%;margin:.65rem 0;background:linear-gradient(#143c79,#0a1734);color:#ffe8ad;border:3px double #e5b962}
.ge-codex .ge-owned-series{position:relative;grid-column:1/-1;width:100%;display:grid;grid-template-columns:1fr auto;padding:.65rem;align-items:center;text-align:left;border:3px double #d9ab59}
.ge-owned-series>img,.ge-owned-series>svg{display:none}
.ge-count{color:#ffe1a0;font-weight:700}
.ge-preview-parts{grid-column:1/-1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.2rem;width:100%}
.ge-preview-parts>span{display:grid;place-items:center;min-width:0;aspect-ratio:1;background:#0a1432;border:1px solid #c49b55;border-radius:5px;overflow:hidden}
.ge-preview-parts :is(img,svg,.ge-part-crop){width:100%;height:100%;max-height:3.5rem;object-fit:contain;border:0}
.ge-dialog .ge-preview-parts .ge-part-crop img{max-height:none}
.ge-preview-missing{filter:grayscale(.9);opacity:.55}
.ge-bell{color:#ffe0a3}
.ge-wallet-preview{margin:.6rem 0;padding:.65rem;border:1px solid #a7844e;border-radius:.55rem;background:#101f3c}
.ge-wallet-preview input{min-width:0;flex:1;min-height:44px}

.ge-extra-menu{display:flex;justify-content:center;gap:.4rem;flex-wrap:wrap;margin:.65rem 0}
.ge-extra-menu[hidden]{display:none}
.ge-extra-menu .ge-ledger-entry{margin:0;padding:.48rem .75rem}
.ge-inventory-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin:.65rem 0}
.ge-inventory .ge-material-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:.3rem;padding:.55rem 0;border-top:1px solid #a9854d}
.ge-material-row strong{grid-column:1/-1;color:#ffe1a0}
.ge-material-row .ge-short{color:#ffba98;font-weight:700}
.ge-inventory input[type=number]{grid-column:auto;max-width:9rem}
.ge-inventory details{padding:.45rem 0}

.ge-wallet-notice{margin:1rem 0;padding:.85rem 1rem;border:1px solid #bd9254;border-radius:.65rem;background:#142340;color:#fff0d1;line-height:1.65}
.ge-wallet-notice h3{margin:0 0 .45rem;color:#ffe0a0}
.ge-wallet-notice p,.ge-wallet-notice ol{margin:.45rem 0}
.ge-wallet-notice li+li{margin-top:.35rem}

#elementalPortal.e22-ready>.ge-portal-actions:not([hidden]){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;width:100%;margin:.7rem 0}
.ge-portal-actions .ge-ledger-entry{width:100%;margin:0;min-height:54px;padding:.6rem .4rem;font-size:clamp(1rem,3vw,1.3rem)}
#elementalPortal.e22-ready>#adstir105{display:block!important}

#elementalPortal.e22-ready>.ge-portal-rebuilt{display:block;aspect-ratio:auto;box-sizing:border-box;padding:0 2% .7rem;border:1px solid #c49b55;background:radial-gradient(ellipse at top,#19365b,#09162e 70%)}
#elementalPortal .ge-portal-rebuilt>.ge-portal-banner{position:static;display:block;width:calc(100% + 4%);height:auto;aspect-ratio:950/205;margin:0 -2%;overflow:hidden}
.ge-portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(4px,1vw,10px)}
#elementalPortal .ge-portal-grid>.ge-portal-tile{position:relative;display:block;inset:auto;width:100%;min-width:0;height:auto;aspect-ratio:448/217;box-sizing:border-box;padding:0;border:0;border-radius:clamp(6px,2vw,13px);overflow:hidden;background:#132544}
#elementalPortal .ge-portal-grid>[hidden]{display:none!important}
#elementalPortal .ge-portal-tile>.ge-tile-art,#elementalPortal .ge-portal-back>.ge-tile-art{display:block;width:100%;height:100%;object-fit:fill;overflow:hidden;pointer-events:none}
#elementalPortal .ge-portal-rebuilt>.ge-portal-back{position:relative;inset:auto;display:block;width:52%;height:auto;aspect-ratio:478/85;margin:.7rem auto 0;padding:0;border:0;background:none;overflow:hidden}
#elementalPortal.e22-ready>.ge-portal-actions:not([hidden]){grid-template-columns:minmax(0,1fr)}
#elementalPortal .ge-portal-actions .ge-ledger-entry{box-sizing:border-box;min-height:56px;display:flex;align-items:center;justify-content:center;gap:.65rem;border:3px double #e7bf76;background:linear-gradient(110deg,#101e3d,#27416c 50%,#101e3d);box-shadow:inset 0 0 14px #07142b,0 3px 10px #081326;color:#ffe9b6;font-family:serif}
.ge-finance{background:radial-gradient(ellipse at top,#23477b,#101c38 65%);border:2px solid #cfa760}
.ge-finance .ge-mast{background:linear-gradient(125deg,#132752,#274777,#101e3d);box-shadow:inset 0 0 0 2px #b68e51}
.ge-finance :is(.ge-ledger-controls,.ge-ledger-summary section,.ge-wallet-preview,.ge-wallet-hero){box-sizing:border-box;background:linear-gradient(145deg,#203961,#11223f);border:1px solid #b48d51;border-radius:.75rem;color:#fff0cc;padding:.75rem}
.ge-finance .ge-ledger-summary section{min-width:0;overflow-wrap:anywhere}
.ge-finance .ge-ledger-controls{margin:.6rem 0}
.ge-finance :is(summary,h3){color:#ffe0a0;font-weight:700}
.ge-finance :is(.ge-wallet-address,.ge-ledger-controls article){overflow-wrap:anywhere}
.ge-finance .ge-wallet-address{color:#e0d4b2;font-size:.9rem}
.ge-finance .ge-wallet-hero h3{margin:0}
.ge-finance .ge-wallet-hero .ge-ledger-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}
.ge-finance .ge-wallet-hero .ge-ledger-summary section{padding:.5rem;font-size:.8rem}
.ge-finance .ge-inventory-actions button{flex:1 1 40%;background:#233c64;color:#ffe9b6}

#m17-root #elemental22-entry{z-index:1;isolation:isolate;touch-action:manipulation}
#elemental22-entry>img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
#elementalPortal .ge-portal-rebuilt>.ge-portal-banner{max-width:none;pointer-events:none}
#elementalPortal .ge-portal-grid>.ge-portal-tile{z-index:1;touch-action:manipulation}
#elementalPortal .ge-portal-actions .ge-ledger-entry{display:grid;grid-template-columns:3rem 1fr auto;gap:.85rem;min-height:78px;padding:.65rem .95rem;text-align:left;border-radius:13px;background:radial-gradient(ellipse at left,#435a86 0,transparent 58%),linear-gradient(135deg,#0d1e42,#243d68 62%,#10203c);box-shadow:inset 0 0 0 2px #101e38,inset 0 0 17px #e5b96a46,0 3px 9px #07122688}
#elementalPortal .ge-portal-actions .ge-ledger-entry:nth-child(2){background:radial-gradient(ellipse at left,#355c73 0,transparent 58%),linear-gradient(135deg,#102742,#244961 62%,#10243d)}
.ge-action-icon{display:grid;place-items:center;aspect-ratio:1;border:3px double #e9c47b;border-radius:50%;background:#0e2548;color:#ffe49d;font-size:1.45rem}
.ge-action-copy{display:grid;gap:.1rem}
.ge-action-copy strong{font-size:clamp(1.17rem,5vw,1.55rem);letter-spacing:.08em}
.ge-action-copy small{font:500 .76rem/1.35 system-ui,sans-serif;color:#ebddbe}
.ge-action-arrow{font-size:1.7rem;color:#efcb83}
.ge-finance .ge-mast{min-height:112px;display:grid;align-content:end;background:linear-gradient(0deg,#0a1638e8,#1825483b),url('/equipment-banner164.webp') center top/cover;border:3px double #d6ad65}
.ge-finance .ge-mast h2{text-shadow:0 2px 5px #070d20}
.ge-finance-kicker{text-align:center;color:#e4c47d;letter-spacing:.15em;font:700 .8rem/1.5 system-ui,sans-serif;margin:.75rem 0}
.ge-finance-note{text-align:right;color:#e3d4b8;font-size:.8rem}
.ge-finance :is(.ge-wallet-hero,.ge-ledger-summary section){background:radial-gradient(ellipse at top left,#32547e,#14274a 75%);border:3px double #c5a063;box-shadow:inset 0 0 16px #0a1639}
.ge-finance .ge-ledger-summary strong{color:#ffe8ac;font-family:serif}
.ge-finance .ge-wallet-preview input{border:1px solid #d0ad69;border-radius:.45rem;background:#fff4d8;padding:.5rem;font-size:16px}
.ge-art-sprite{background-image:url('/elemental22.webp?v=1');background-repeat:no-repeat}

/* Approved mobile boards */
.ge-approved-art{display:block;width:100%;background-image:url('/equipment-art165.webp');background-repeat:no-repeat;pointer-events:none}
#elementalPortal.e22-ready>.ge-portal-rebuilt{padding:0 .55rem .65rem;border:1px solid #c6a66d;border-radius:14px;background:#071529;box-shadow:inset 0 0 0 2px #1c263b}
#elementalPortal .ge-portal-rebuilt>.ge-portal-banner{width:100%;height:auto;aspect-ratio:auto;margin:.15rem 0 .55rem}
#elementalPortal .ge-portal-grid>.ge-portal-tile{aspect-ratio:auto;border-radius:6px}
#elementalPortal .ge-portal-grid>.ge-portal-tile>.ge-approved-art{position:static;width:100%;height:auto;overflow:visible;clip-path:none}
#elementalPortal .ge-portal-rebuilt>.ge-portal-back{height:auto;min-height:40px;width:auto;aspect-ratio:auto;text-align:center;border:1px solid #a4844e;color:#ffe6b7;border-radius:6px;padding:.35rem .75rem}
#elementalPortal .ge-portal-actions .ge-ledger-entry{display:block;min-height:0;padding:0;border:0;border-radius:8px;overflow:hidden;background:#081529;box-shadow:none}
#elementalPortal .ge-portal-actions .ge-ledger-entry:nth-child(2){background:#081529}
.ge-dialog.ge-approved{padding:0;color:#f8e9cd;background:#081529;border:1px solid #bb9a62;border-radius:12px;scrollbar-color:#9c7950 #081529}
.ge-approved::backdrop{background:#081529}
.ge-approved>div:not(.ge-mast){padding:0 clamp(9px,3vw,22px) 1.25rem}
.ge-approved>.ge-mast{background:#081529;border:0;box-shadow:none;border-radius:0;padding:.4rem;min-height:0}
.ge-approved-heading:empty{display:none}
.ge-approved>.ge-art-heading{padding:2.8rem 0 0;isolation:isolate}
.ge-approved>.ge-art-heading-back{padding:0}
.ge-approved .ge-art-heading h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.ge-approved .ge-art-heading button{position:absolute;top:.35rem;left:.45rem;z-index:2;min-height:36px;margin:0;padding:.25rem .55rem}
.ge-approved .ge-art-heading-back button{top:37%;left:2.6%;width:14%;height:16%;color:transparent;background:transparent;border:0;padding:0}
.ge-approved .ge-art-heading-back button:focus-visible{outline:2px solid #ffe1a6}
.ge-approved .ge-eyebrow{display:none}
.ge-approved>nav{margin:.2rem .6rem .65rem;gap:.45rem}
.ge-approved>nav[hidden],.ge-approved [hidden]{display:none!important}
.ge-approved :is(.ge-browse,.ge-stats,.ge-ledger-controls,.ge-wallet-hero,.ge-wallet-preview,.ge-balance-card,.ge-ledger-summary section){background:linear-gradient(150deg,#122a46,#091a30);border:3px double #ba975e;color:#fff0d3;border-radius:10px;box-shadow:none}
.ge-approved .ge-balance-card{padding:.6rem .8rem;margin:.2rem 0 .65rem;text-align:center}
.ge-approved .ge-balance-card h3,.ge-approved .ge-wallet-preview h3,.ge-approved .ge-ledger-controls summary{color:#ffe4ad;font-family:serif}
.ge-balance-value{display:flex;justify-content:space-between;align-items:center;gap:.7rem;padding:.35rem .7rem;border:1px solid #ba975e;border-radius:8px}
.ge-balance-value strong{font:700 clamp(1.4rem,7vw,2.1rem)/1.4 serif;overflow-wrap:anywhere}
.ge-approved .ge-ledger-controls article{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.55rem}
.ge-approved :is(.ge-wallet-button,.ge-collection-actions button,.ge-category){background:linear-gradient(#173759,#0b1f38);color:#ffeac0;border:3px double #c8a76c}
.ge-approved .ge-wallet-button{min-height:46px;margin:.5rem 0}
.ge-approved .ge-wallet-preview form{display:grid;margin:.45rem 0}
.ge-approved .ge-wallet-preview input{width:100%;box-sizing:border-box;color:#fff0d3;background:#081a30}
.ge-approved :is(button[aria-pressed=true],select:focus-visible){border-color:#81ecff;box-shadow:0 0 8px #46cce199}
.ge-approved .ge-filters select,.ge-approved .ge-filters input{background:#091e34;color:#ffedc8;border:1px solid #b9955e;font-size:16px}
.ge-approved .ge-filters select{padding-inline:.28rem}
.ge-approved .ge-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
.ge-approved .ge-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
.ge-approved .ge-category{padding:0;border-radius:8px;overflow:hidden}
.ge-approved .ge-category strong{padding:.45rem}
.ge-approved .ge-base-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.ge-approved .ge-base-grid .ge-slot{min-height:0;padding:.4rem;font-size:.75rem}
.ge-approved .ge-wanted-tile{position:relative;min-width:0}
.ge-approved .ge-wanted-tile>.ge-slot{width:100%;height:100%;padding-bottom:2.35rem}
.ge-approved .ge-result-bell{position:absolute;right:.25rem;bottom:.25rem;min-height:34px;min-width:36px;padding:0;background:#14253d;color:#ffe4a5}
.ge-approved .ge-owned-series{grid-template-columns:1fr;text-align:left}
.ge-approved .ge-preview-parts{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem}
.ge-approved .ge-preview-parts>span{aspect-ratio:1.2}
.ge-approved .ge-preview-parts>span>img{max-height:none}
.ge-progress-art{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;align-items:center;text-align:center}
.ge-series-portrait{grid-row:span 2;display:grid;place-items:center;min-width:0;aspect-ratio:1.65;overflow:hidden;border:1px solid #bc9861;border-radius:6px;background:radial-gradient(ellipse,#1b4262,#081529)}
.ge-approved .ge-series-portrait>img{width:100%;height:100%;max-height:106px;aspect-ratio:auto;object-fit:contain;border:0;background:transparent}
.ge-approved .ge-series-portrait>.ge-part-crop{width:min(100%,5rem)}
.ge-approved .ge-series-portrait>svg{width:2.5rem;height:2.5rem}
.ge-progress-art>strong{color:#ffe4a6;font:700 1.3rem serif}
.ge-progress-art>progress{width:100%;accent-color:#54d8ea}
@media(max-width:760px){
  .ge-dialog.ge-approved{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;box-sizing:border-box;border-radius:0}
  .ge-approved .ge-base-grid .ge-slot strong{overflow-wrap:anywhere}
}
.ge-approved>.ge-art-heading:not(.ge-art-heading-back) button{background:#102641;color:#ffe6b1;border-color:#c8a76c}
.ge-approved .ge-filters input{min-width:0}

.ge-nft-copies{margin:.8rem 0;color:#ffe9be}
.ge-nft-copies>details{margin:.45rem 0;padding:.55rem .7rem;border:1px solid #ad8e57;border-radius:7px;background:#0c233c}
.ge-nft-copies summary{cursor:pointer;font-weight:700}
.ge-nft-copies small,.ge-nft-copies dd{overflow-wrap:anywhere}
.ge-nft-copies dt,.ge-nft-copies dd{padding:.18rem .2rem;margin:0;border-bottom:1px solid #334966}
.ge-nft-radar{margin:.5rem auto;width:min(100%,22rem);text-align:center}
.ge-nft-radar svg{display:block;width:100%;height:auto}
.ge-nft-radar svg .ge-radar-grid{fill:none;stroke:#526b87;stroke-width:1}
.ge-nft-radar svg .ge-radar-values{fill:#34cde16b;stroke:#77e7ff;stroke-width:2}
.ge-nft-radar svg text{fill:#ffe7b1;stroke:none;font:13px system-ui,sans-serif}
.ge-nft-radar figcaption{color:#dfc99b;font-size:.8rem}

/* Collection gallery */
.ge-dialog.ge-approved.ge-collection-screen{
  background:linear-gradient(180deg,#08152912,#081529e8 360px,#071428 670px),
    url('/equipment-banner164.webp') center top/min(950px,100%) auto no-repeat,#071428
}
.ge-collection-screen .ge-series-tile.ge-owned-series,.ge-collection-screen .ge-series-detail{
  border-color:#a98857;
  background:radial-gradient(ellipse at 18% 0%,#1c487270,transparent 62%),
    repeating-linear-gradient(135deg,#7b9ac109 0 1px,transparent 1px 22px),
    linear-gradient(145deg,#102945f2,#071a31f7 68%);
}
.ge-collection-screen .ge-progress-art{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:.45rem .8rem}
.ge-collection-screen .ge-series-portrait{border:0;border-radius:0;background:none;aspect-ratio:auto}
.ge-collection-screen .ge-series-portrait>img{display:block;width:auto;max-width:100%;height:auto;max-height:clamp(110px,36vw,176px);object-fit:contain;filter:drop-shadow(0 4px 9px #020812b0)}
.ge-collection-screen .ge-collection-cover{border:0;background:none;box-shadow:none}
.ge-collection-screen .ge-collection-cover>img{min-width:0;filter:drop-shadow(0 5px 12px #020812c0)}
.ge-collection-screen .ge-preview-parts>span{aspect-ratio:1}
.ge-collection-screen .ge-preview-parts>span>:is(img,svg,.ge-part-crop){max-height:none}
.ge-collection-screen .ge-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(4px,1.3vw,9px)}
.ge-collection-screen .ge-slots>.ge-slot{
  box-sizing:border-box;aspect-ratio:1;min-height:0;width:100%;padding:3px 2px;
  display:grid;grid-template-rows:minmax(0,1fr) auto auto;justify-items:center;align-items:center;
  gap:0;overflow:hidden;font-size:clamp(.63rem,2.7vw,.85rem);line-height:1.2;
}
.ge-collection-screen .ge-slots>.ge-slot>:is(img,svg,.ge-part-crop){max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.ge-collection-screen .ge-slots>.ge-slot>.ge-part-crop{width:min(100%,3.6rem);height:100%}
.ge-collection-screen .ge-slots .ge-slot-name{display:none}
.ge-collection-screen .ge-slots .ge-bell{font-size:.66rem;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}

.ge-approved .ge-nft-tile{position:relative;box-sizing:border-box;aspect-ratio:1;width:100%;min-height:0;justify-content:center;gap:.12rem;overflow:hidden;padding:.2rem .15rem 1.25rem}
.ge-collection-screen .ge-slots>.ge-nft-tile{grid-template-rows:minmax(0,1fr) auto;padding-bottom:1.15rem}
.ge-approved .ge-base-grid .ge-nft-tile{padding-bottom:1.35rem}
.ge-approved .ge-nft-tile>.ge-nft-tile-name{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.59rem,2.6vw,.82rem)}
.ge-nft-level{position:absolute;right:2px;bottom:2px;padding:.12rem .32rem;border:1px solid #d5ac61;border-radius:4px;background:#061426eb;color:#ffe9af;font:700 clamp(.59rem,2.6vw,.82rem)/1.25 system-ui,sans-serif}
.ge-nft-individual>.ge-hero h3{margin:.2rem 0}

#elementalPortal .ge-tile>.ge-entry-caption{
  position:absolute;inset:auto 0 0;width:100%;height:34%;clip-path:none;display:grid;place-items:center;
  box-sizing:border-box;padding:0 .16rem .1rem;background:linear-gradient(#102947,#07172b);
  border:1px solid #d3ae6c;border-radius:0 0 6px 6px;color:#fff1ce;
  font:700 clamp(.85rem,4vw,1.4rem)/1.1 serif;text-shadow:0 1px 2px #030b17;
}
.ge-approved .ge-equipment-menu{display:grid;gap:.6rem;margin:.6rem 0}
.ge-approved .ge-equipment-menu button{
  display:grid;grid-template-columns:minmax(0,31%) minmax(0,1fr) auto;gap:.55rem;align-items:center;
  text-align:left;background:linear-gradient(130deg,#173653,#091a31);color:#ffe9b7;border:3px double #be9a5d;
}
.ge-menu-caption{display:grid;gap:.1rem}
.ge-menu-caption strong{font:700 clamp(1rem,4vw,1.35rem)/1.3 serif}
.ge-menu-caption small{color:#deceac;font-size:.72rem}
body:has(:is(#elementalChat,#openChat):not([hidden])) #adstir105{
  display:none!important;visibility:hidden!important;position:absolute!important;
  width:0!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;
  border:0!important;overflow:hidden!important;clip-path:inset(100%)!important;pointer-events:none!important;
}

.ge-break-overview{margin:.7rem 0;padding:.65rem;border:1px solid #a78854;border-radius:9px;background:radial-gradient(ellipse at top,#183650,#0b1d32 75%);color:#ffebc5}
.ge-break-overview h3{margin:.15rem 0;text-align:center;color:#ffe0a4}
.ge-break-overview>p{font-size:.8rem;margin:.35rem 0;text-align:center}
.ge-break-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}
.ge-dialog .ge-break-count{margin:0;padding:.45rem;border-color:#af8a52;background:#071a2f;text-align:center}
.ge-break-count h4{margin:0;font-size:.8rem;overflow-wrap:anywhere}
.ge-break-count>strong{display:block;color:#ffe1a1;font-size:clamp(1.2rem,5vw,1.7rem);overflow-wrap:anywhere}
.ge-break-count>small,.ge-break-shortages{color:#ffcb9b;font-size:.72rem}
.ge-break-shortages{list-style:none;padding:0;margin:.2rem 0 0}
.ge-break-stock{grid-template-columns:minmax(0,1fr) auto!important;margin:.45rem 0 0}
.ge-break-stock :is(dt,dd){margin:0;padding:.25rem .2rem;border-bottom:1px solid #62778b50}
.ge-break-stock dd{text-align:right;color:#ffdfa2}

.ge-break-overview{
  padding:.8rem .7rem;border:3px double #bc9a5e;border-radius:12px;
  background:radial-gradient(ellipse at 50% -10%,#284f70,#102842 53%,#0a1c31);
  box-shadow:inset 0 0 18px #081426,0 4px 14px #020b1899
}
.ge-break-emblem{display:grid;place-items:center;width:2.2rem;height:2.2rem;margin:.05rem auto .25rem;border:3px double #c9a266;border-radius:50%;color:#ffdf9e;background:#091c37;font-size:1.25rem}
.ge-break-overview h3{font:700 1.24rem/1.45 serif;letter-spacing:.06em}
.ge-break-counts{gap:.55rem}
.ge-dialog .ge-break-count{--ge-rarity:#a1bfd3;padding:.6rem .35rem;border:1px solid var(--ge-rarity);background:radial-gradient(ellipse at top,#253f59,#07182c 76%);box-shadow:inset 0 2px 0 var(--ge-rarity)}
.ge-dialog .ge-break-count[data-rarity=LR]{--ge-rarity:#efc16c}
.ge-dialog .ge-break-count[data-rarity=SR]{--ge-rarity:#c6a4ff}
.ge-dialog .ge-break-count[data-rarity=R]{--ge-rarity:#79c9f3}
.ge-break-count h4{color:var(--ge-rarity)}
.ge-break-count>strong{font-family:serif}
.ge-break-stock{align-items:stretch}
.ge-break-stock dt,.ge-break-stock dd{display:flex;align-items:center;min-height:53px}
.ge-break-stock dt{gap:.55rem;min-width:0}
.ge-break-stock dd{justify-content:flex-end;min-width:3.4em;font-weight:700;padding-left:.45rem}
.ge-material-thumb{
  display:grid;place-items:center;flex:0 0 auto;width:44px;aspect-ratio:1;box-sizing:border-box;
  overflow:hidden;border:1px solid #b59461;border-radius:5px;
  background:radial-gradient(ellipse,#244c6e,#091a31 70%)
}
.ge-material-thumb img{display:block;width:100%;height:100%;object-fit:contain}

.ge-forge-heading .ge-approved-heading img{display:block;width:100%;height:auto}
.ge-approved .ge-forge-heading.ge-art-heading-back button{top:13%;left:1%;width:18%;height:19%}
.ge-dialog.ge-approved.ge-forge{background:#040e20}
.ge-forge .ge-break-overview{
  position:relative;margin:1.15rem 0;padding:.75rem .48rem .48rem;border:4px double #c49d58;
  background:radial-gradient(ellipse at top,#122942,#051327 76%);box-shadow:0 0 0 1px #674c26;
}
.ge-forge .ge-break-overview h3{
  width:max-content;max-width:100%;margin:-1.4rem auto .55rem;padding:.12rem .85rem;
  color:#fff3d6;border:2px solid #c59e5b;background:linear-gradient(#143353,#061329);
  clip-path:polygon(5% 0,95% 0,100% 50%,95% 100%,5% 100%,0 50%);font-size:clamp(1rem,4.4vw,1.4rem)
}
.ge-forge .ge-break-count{
  --ge-rarity:#c1d2df;--ge-rarity-bg:#283c50;border:2px solid var(--ge-rarity);
  box-shadow:inset 0 0 0 2px #0005;background:radial-gradient(ellipse at 14% 0%,var(--ge-rarity-bg),#081527 100%)
}
.ge-forge .ge-break-count[data-rarity=LR]{--ge-rarity:#f3cd7c;--ge-rarity-bg:#645014}
.ge-forge .ge-break-count[data-rarity=SR]{--ge-rarity:#d4afff;--ge-rarity-bg:#4c386b}
.ge-forge .ge-break-count[data-rarity=R]{--ge-rarity:#89d8ff;--ge-rarity-bg:#123d73}
.ge-break-metric{display:grid;grid-template-columns:.75fr 1.25fr;align-items:center;gap:.25rem;color:var(--ge-rarity);font:700 clamp(1rem,5.2vw,1.75rem)/1.1 serif}
.ge-break-metric h4{padding-right:.25rem;border-right:1px solid currentColor;font:italic 700 1.1em/1 serif}
.ge-break-metric strong{overflow-wrap:anywhere}
.ge-forge .ge-break-count>small{display:block;margin-top:.35rem;padding-top:.2rem;border-top:1px solid #eed7b43d;color:#fff0d6}
.ge-forge .ge-break-shortages{color:#ffe9cd}
.ge-forge .ge-break-stock{display:grid;grid-template-columns:1fr!important;gap:.3rem}
.ge-break-stock-row{
  display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.25rem;padding:.2rem .4rem;
  border:1px solid #bd9659;border-radius:7px;background:linear-gradient(110deg,#112a45,#061529);
}
.ge-forge .ge-break-stock-row :is(dt,dd){min-height:0;border:0;padding:0}
.ge-forge .ge-break-stock-row dt{color:#fff3dc;font:700 clamp(.9rem,3.9vw,1.15rem)/1.2 serif}
.ge-forge .ge-break-stock-row dd{font:700 clamp(.9rem,4.4vw,1.25rem)/1.2 serif}
.ge-forge .ge-break-stock-row dd[data-empty=true]{color:#ffc06e;text-shadow:0 0 6px #ff910957}
.ge-forge .ge-break-detail{margin:.75rem 0}
.ge-forge .ge-break-detail>summary{cursor:pointer;text-align:center;color:#ffe5aa;font:700 1.1rem/1.5 serif}

/* Treasury illustrations from the approved mobile design */
.ge-treasury-art{display:block;width:100%;background-image:url('/equipment-treasury176.webp');background-repeat:no-repeat;pointer-events:none}
.ge-dialog.ge-approved.ge-treasury{
  background:linear-gradient(#06172b40,#06142882),url('/equipment-hall176.webp') center bottom/cover fixed,#071529;
}
.ge-approved .ge-equipment-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(6px,2.2vw,15px);margin:.35rem auto;max-width:660px}
.ge-approved .ge-equipment-menu button{
  display:block;padding:0;border:0;border-radius:6px;aspect-ratio:1;overflow:hidden;
  background:#081529;box-shadow:0 5px 10px #010611bb;transition:filter .15s;
}
.ge-approved .ge-equipment-menu button:hover,.ge-approved .ge-equipment-menu button:focus-visible{filter:brightness(1.15)}
.ge-approved .ge-treasury-heading.ge-art-heading-back button{top:66%;left:2%;width:16%;height:26%}
.ge-approved>.ge-treasury-child{
  display:grid;align-items:center;min-height:126px;padding:2rem 1rem .6rem;
  border-bottom:3px double #c6a366;background:linear-gradient(110deg,#173452,#08192d);
}
.ge-treasury-child .ge-approved-heading{position:absolute;top:0;bottom:0;right:0;width:min(40%,160px);overflow:hidden;opacity:.7;mask-image:linear-gradient(90deg,transparent,#000 35%)}
.ge-treasury-child .ge-treasury-art{transform:scale(1.12);transform-origin:top center}
.ge-approved .ge-treasury-child h2{position:relative;text-align:left;margin:.5rem 0 0;font:700 clamp(1.55rem,6.6vw,2.7rem)/1.2 "Yu Mincho","Hiragino Mincho ProN",serif;text-shadow:0 2px 4px #000}
.ge-approved .ge-treasury-child button{position:absolute;z-index:2;top:.35rem;left:.55rem}
.ge-treasury .ge-series-detail,.ge-treasury .ge-inventory{
  background:radial-gradient(ellipse at 10% 0%,#214467,#0a1b32 65%);border:3px double #d1ab67
}
.ge-treasury .ge-base-grid .ge-slot{
  border:1px solid #b8965b;box-shadow:inset 0 0 0 2px #101c33;
  background:radial-gradient(ellipse at top,#2c4c69,#09192d 80%);color:#ffedc7
}
.ge-treasury .ge-inventory-actions button{
  background:linear-gradient(#25476b,#0b2039);border:3px double #bc9b61;color:#ffe9b2
}
.ge-forge .ge-break-overview>.ge-forge-label{
  position:absolute;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip-path:inset(50%)
}
.ge-forge .ge-break-overview>.ge-treasury-art{width:min(65%,350px);margin:-1.45rem auto .55rem}
.ge-forge .ge-break-metric,.ge-forge .ge-break-stock-row :is(dt,dd),.ge-forge .ge-break-detail>summary{
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
}
.ge-forge .ge-break-stock-row dt,.ge-forge .ge-break-stock-row dd:not([data-empty=true]){color:#fff9ee}
.ge-forge .ge-break-count{clip-path:polygon(5% 0,95% 0,100% 8%,100% 92%,95% 100%,5% 100%,0 92%,0 8%)}

.ge-craft-step{margin:.65rem 0;padding:.55rem;border:1px solid #b99155;border-radius:8px;background:#091e35}
.ge-craft-step h4{margin:0 0 .5rem;color:#ffe2a0}
.ge-craft-material{display:flex;align-items:center;gap:.55rem;padding:.3rem 0;border-top:1px solid #cfaf6e3d;min-width:0}
.ge-craft-material>span:nth-child(2){display:grid;min-width:0;gap:.1rem;overflow-wrap:anywhere}
.ge-craft-material>span:nth-child(2)>span{font-size:.78rem}
.ge-craft-material .ge-material-thumb>:is(img,svg){width:100%;height:100%;object-fit:contain}
.ge-craft-material>button{margin-left:auto;flex:none}
.ge-craft-step + .ge-craft-step{margin-top:1.15rem;position:relative}
.ge-craft-step + .ge-craft-step::before{content:"↓";position:absolute;top:-1.15rem;left:50%;color:#ffe2a0;line-height:1.15rem}
.ge-craft-plan .ge-craft-source{color:#a9e1ff}
.ge-craft-disclosure>summary{display:grid;place-items:center;min-height:3.4rem;cursor:pointer;border:1px solid #e7c178;border-radius:.75rem;background:linear-gradient(125deg,#543815,#213d63 65%,#11243e);color:#fff1c9;font-size:1.18rem;font-weight:800;box-shadow:0 4px 14px #050f26aa}
.ge-craft-disclosure>summary::after{content:"⌄";font-size:.85rem}
.ge-craft-disclosure[open]>summary::after{content:"⌃"}
.ge-craft-stage{padding:.6rem;border:1px solid #587695;border-radius:.55rem;background:#10283e}
.ge-craft-stage+.ge-craft-stage{margin-top:.55rem}
.ge-craft-output{display:flex;align-items:center;gap:.6rem;color:#fff1c9}
.ge-craft-plan select{max-width:100%;min-height:2.55rem}
.ge-craft-plan .ge-craft-note{color:#ffdb98}
