:root{color-scheme:dark;--bg:#07161d;--panel:#102730;--line:#27434b;--text:#e9f2ed;--muted:#a5bec0;--gold:#edc674;--teal:#61dfc2}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.6 system-ui,Segoe UI,sans-serif}header{padding:26px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{color:var(--gold);font-weight:900;letter-spacing:3px;font-size:21px;text-decoration:none}.brand span{display:block;font-size:9px;letter-spacing:2.5px;color:var(--muted)}button,.button{font:inherit;cursor:pointer;background:#17353d;color:var(--text);border:1px solid #42606a;border-radius:7px;padding:9px 14px}button:hover,.button:hover{border-color:var(--teal)}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.actions{display:flex;gap:10px}main{max-width:1600px;margin:auto;padding:0 5%}.intro{padding:58px 0 30px;background:radial-gradient(ellipse at 80% 20%,#164c4a77,transparent 55%)}.eyebrow{color:var(--teal);letter-spacing:3px;font-size:11px;font-weight:800}h1{font-size:clamp(42px,6vw,76px);line-height:1.06;letter-spacing:-3px;margin:20px 0}h1 em{font-style:normal;color:var(--gold)}.intro>p:not(.eyebrow){color:var(--muted)}.stats{display:flex;gap:34px;margin-top:27px}.stat strong{display:block;font-size:25px;color:var(--text)}.stat span{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted)}.hint{font-size:12px}.toolbar{display:flex;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:24px}label{font-size:11px;color:var(--muted);letter-spacing:.4px}.search{flex:1;min-width:230px}input,select{display:block;width:100%;padding:12px;margin-top:6px;background:#102730;border:1px solid #34505a;border-radius:7px;color:var(--text);font:14px system-ui}.results{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px;margin:16px 0}.results button{border:none;background:none;font-size:12px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{background:var(--panel);border:1px solid var(--line);border-radius:11px;overflow:hidden;display:flex;flex-direction:column}.art{height:190px;background:linear-gradient(130deg,#183e45,#0b1c24);display:flex;align-items:center;justify-content:center;color:#799c9e;font-size:12px;position:relative}.art img{width:100%;height:100%;object-fit:contain}.cardBody{padding:20px;display:flex;flex-direction:column;flex:1}.meta{font-size:10px;letter-spacing:1.3px;text-transform:uppercase;color:var(--teal)}h2{font-size:21px;line-height:1.25;margin:8px 0 10px}.notes{font-size:12px;color:var(--muted);margin:0 0 14px;overflow-wrap:anywhere}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.tag{padding:2px 8px;border-radius:4px;font-size:10px;border:1px solid #597079;color:#c8dbdc}.tag[data-element=Fire]{color:#ffb291;border-color:#aa624d}.tag[data-element=Shock]{color:#a1caff;border-color:#527aab}.tag[data-element=Corrosive]{color:#b4ee99;border-color:#5d8959}.tag[data-element=Cryo]{color:#91e2f2;border-color:#4c8d99}.tag[data-element=Radiation]{color:#f1d584;border-color:#928442}.review{color:var(--gold);font-size:11px}.card button{width:100%;margin-top:auto;background:transparent}.more{display:block;margin:28px auto}footer{padding:40px 5%;font-size:11px;color:var(--muted);max-width:1600px;margin:auto}dialog{width:min(900px,94vw);max-height:90vh;border:1px solid #4b7379;border-radius:12px;background:var(--bg);color:var(--text);padding:28px}dialog::backdrop{background:#000b}.close{float:right;font-size:23px;padding:0 11px}.detailImage{width:100%;margin:24px 0;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.detailImage img{display:block;max-width:100%;width:auto;height:auto;max-height:min(440px,52vh);object-fit:contain}.detailImage>span{padding:24px;color:var(--muted)}.variant{padding:18px 0;border-top:1px solid var(--line)}.variant p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;color:var(--muted)}textarea{width:100%;height:65px;resize:vertical;background:var(--panel);border:1px solid var(--line);color:var(--text);font:12px monospace;padding:10px}.source{color:var(--teal)}details pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.id{font-size:11px;color:var(--muted);overflow-wrap:anywhere}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--gold);color:#10232b;padding:10px 20px;border-radius:6px;display:none;z-index:3}@media(min-width:1300px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:850px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar>label{flex:1;min-width:150px}header{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.grid{grid-template-columns:1fr}.stats{gap:20px}.stat strong{font-size:22px}.actions{flex-wrap:wrap}.intro{padding-top:30px}h1{letter-spacing:-2px}}[hidden]{display:none!important}
/* Detail panel layout: images remain in normal flow above codes. */
dialog{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;padding:28px;position:relative}
#detailBody{min-width:0;clear:both}
#detailBody h2{font-size:28px;overflow-wrap:anywhere}
.close{position:sticky;top:0;z-index:1;background:var(--panel);line-height:1.5}
.variant{min-width:0;margin-top:14px;padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:8px}
.variant>strong{display:block;margin-bottom:10px;overflow-wrap:anywhere}
.variant .tags{margin-bottom:10px}
.variant textarea{display:block;height:78px;min-height:78px;line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap}
.variant button{display:block;margin-top:12px;min-height:42px}
.source{display:inline-block;margin-bottom:8px}
#detailBody>details{margin-top:24px}
@media(max-width:520px){dialog{padding:16px;width:96vw;max-height:92vh}.variant{padding:14px}#detailBody h2{font-size:23px}.variant button{width:100%}.detailImage img{max-height:42vh}}

#editor{width:min(960px,96vw);max-height:92vh;overflow-y:auto;padding:24px}#editor form{display:grid;gap:16px}#editor label{display:block;font-size:13px;letter-spacing:0}#editor fieldset{border:1px solid var(--line);border-radius:8px;padding:18px;margin:18px 0;min-width:0;display:grid;gap:14px}#editor legend{color:var(--gold);padding:0 8px}#editor textarea{min-height:85px}#editor input[type=checkbox]{display:inline-block;width:auto;margin-right:8px}#editor input[type=file]{max-width:100%}.editActions{position:sticky;bottom:-24px;display:flex;gap:12px;padding:16px 0;background:var(--bg);z-index:2}.editEntry{display:block;margin:16px 0;background:#234c49}#editor button:disabled{opacity:.55;cursor:wait}

.viewControls{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px;align-items:end}.viewControls label{min-width:140px}.grid.list-mode{grid-template-columns:minmax(0,1fr);gap:10px}.list-mode .card{display:grid;grid-template-columns:128px minmax(0,1fr);align-items:stretch}.list-mode .art{width:128px;height:110px;align-self:center}.list-mode .cardBody{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding:14px 18px;align-items:center;min-width:0}.list-mode .meta,.list-mode h2,.list-mode .notes,.list-mode .tags,.list-mode .review{grid-column:1;margin:0}.list-mode h2{font-size:18px}.list-mode .tags{margin-top:4px}.list-mode .cardBody>button{grid-column:2;grid-row:1 / span 6;min-width:120px;width:auto;margin:0}.list-mode .art span{padding:10px;font-size:10px;text-align:center}@media(max-width:600px){.list-mode .card{grid-template-columns:82px minmax(0,1fr)}.list-mode .art{width:82px;height:80px}.list-mode .cardBody{padding:10px;display:flex;gap:6px;align-items:stretch}.list-mode .cardBody>button{min-width:0}.viewControls{gap:8px}.viewControls label{min-width:100px;flex:1}}

.codeActions{display:flex;gap:10px;flex-wrap:wrap}.codeActions button{flex:1}.codeActions button:disabled{opacity:.65;cursor:default}.listTools{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.codeListRows{display:grid;gap:10px;max-height:42vh;overflow:auto}.codeListRow{padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.codeListRow label{display:block;grid-column:1;font-size:13px}.codeListRow label strong{margin-right:10px}.codeListRow code{grid-column:1;overflow-wrap:anywhere;font-size:11px;min-width:0}.codeListRow button{grid-column:2;grid-row:1 / span 2;align-self:center}#codeListDialog input[type=checkbox]{display:inline-block;width:auto;margin-right:10px}#codeListDialog>label{display:block}#codeListPreview{height:145px;margin-top:8px}#codeListDialog{width:min(1000px,96vw)}@media(max-width:520px){.codeListRow{grid-template-columns:minmax(0,1fr)}.codeListRow button{grid-column:1;grid-row:auto}.codeActions{flex-direction:column}}

/* Sunken Armory: static light, restrained gold, locally cached loot. */
header{background:#081a21}.actions{flex-wrap:wrap}.armory{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:28px;margin-top:28px;padding:44px 42px 38px;border:1px solid #325356;border-radius:16px;background:radial-gradient(ellipse at 82% 0%,#28716b66,transparent 60%),linear-gradient(115deg,#0c242d,#0a2028 65%,#102f34)}.armory::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 48%,#77ded409 49%,#77ded410 52%,transparent 58%),linear-gradient(116deg,transparent 66%,#77ded40c 69%,transparent 77%);pointer-events:none}.armory::after{content:"";position:absolute;bottom:0;left:42px;width:100px;height:2px;background:var(--gold);box-shadow:0 0 25px #edc67455}.armoryCopy{position:relative;z-index:2}.armory .eyebrow{font-size:10px;letter-spacing:2.5px;margin:0 0 18px}.armory h1{font-size:clamp(36px,4.5vw,67px);font-weight:900;letter-spacing:-1.8px;margin:18px 0 20px;line-height:1.03}.armoryLead{font-size:20px;font-weight:600;margin:0 0 5px;color:#e9f2ed}.armoryDescription{font-size:13px;color:var(--muted);max-width:360px;margin:0}.armory .stats{border-top:1px solid #3e62604d;padding-top:18px;margin-top:26px;gap:27px}.armory .stat strong{font-size:23px}.armory .stat span{font-size:9px;letter-spacing:1px}.tbLogo{width:240px;max-width:85%;height:auto;max-height:80px;object-fit:contain;object-position:left center;margin-bottom:4px}.armoryArt{position:relative;min-width:0;height:350px;display:flex;align-items:center;justify-content:center;pointer-events:none}.armoryOrbit{position:absolute;width:290px;height:290px;border:1px solid #7bc7b91a;border-radius:50%;box-shadow:0 0 0 25px #7bc7b906,0 0 0 65px #7bc7b904;background:radial-gradient(circle,#51b6a01a,transparent 70%)}.lootStack{position:relative;width:310px;height:270px;max-width:100%}.heroLoot{position:absolute;width:190px;height:247px;background:linear-gradient(155deg,#183c43,#0a1922);border:1px solid #b49558;border-top:3px solid #e8bf68;border-radius:9px;box-shadow:0 16px 35px #0006;overflow:hidden;display:flex;flex-direction:column}.heroLoot0{left:0;top:26px;transform:rotate(-15deg);opacity:.7}.heroLoot1{right:0;top:24px;transform:rotate(13deg);opacity:.8}.heroLoot2{left:60px;top:0;transform:rotate(-2deg);z-index:1}.lootRarity{font-size:8px;font-weight:800;letter-spacing:3px;color:#e9c87e;padding:11px 12px;border-bottom:1px solid #b4955833}.heroLoot img{width:100%;height:calc(100% - 36px);object-fit:contain;padding:5px;background:#07161d88}.lootMotif{margin:auto;font-size:70px;color:#edc67499;text-shadow:0 0 40px #edc67444}.armorySeal{position:absolute;bottom:0;text-align:center;letter-spacing:3px;font-size:10px;color:#e4c68c}.armorySeal span{display:block;font-size:7px;letter-spacing:1.8px;color:#93b6b3;margin-top:5px}.mediaUtility{display:flex;gap:9px;align-items:center;padding:13px 2px 20px;color:var(--muted)}.mediaUtility .hint{margin:0;font-size:11px}.utilityDot{height:5px;width:5px;flex-shrink:0;border-radius:50%;background:#61dfc2}.toolbar{border-color:#27434b} @media(max-width:1050px){.armory{padding:32px 26px;gap:12px}.armoryArt{transform:scale(.85);transform-origin:center}.armory .stats{gap:18px}}@media(max-width:700px){.armory{grid-template-columns:1fr;padding:28px 24px}.armory h1{font-size:45px}.armoryArt{height:260px;transform:scale(.85);margin:-12px 0 -18px}.armory .stats{flex-wrap:wrap}.armorySeal{bottom:-25px}.armoryCopy{z-index:2}.armory .eyebrow{font-size:9px}.armoryDescription{max-width:none}}@media(prefers-reduced-motion:reduce){.armory *{animation:none;transition:none}}

/* Official TB header branding and community invite. */
.brand{display:block;flex-shrink:0;max-width:100%}.headerLogo{display:block;width:300px;max-width:100%;height:auto;object-fit:contain}.brand span{font-size:9px;letter-spacing:2px;margin-top:8px}.discordLink{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--gold);border-color:#8c7447;background:#252e2c;font-size:13px;white-space:nowrap}.discordLink:hover{background:#34413a}.actions{align-items:center}@media(max-width:520px){.headerLogo{width:250px}.brand span{font-size:8px;letter-spacing:1.4px}.discordLink{font-size:12px}}

#reportDialog{width:min(650px,94vw)}#reportDialog label{display:block;margin:16px 0;font-size:13px}#reportDialog textarea{display:block;height:135px;margin-top:8px;line-height:1.6}.reportContext{color:var(--gold);overflow-wrap:anywhere}.codeActions button{min-width:110px}

/* Supplied underwater scene behind the inventory hero. */
.armory{background:linear-gradient(90deg,rgba(5,22,29,.86) 0%,rgba(5,22,29,.64) 44%,rgba(5,22,29,.3) 100%),url("armory-background.png") center 68% / cover no-repeat #0a2028}.armory::before{opacity:.35}.armoryOrbit{background:radial-gradient(circle,#51b6a010,transparent 70%)}@media(max-width:700px){.armory{background-position:center,42% center;background-image:linear-gradient(180deg,rgba(5,22,29,.84),rgba(5,22,29,.48)),url("armory-background.png")}}

/* Keep close controls inside the visible iOS viewport; only the content scrolls. */
#detail{position:fixed;inset:auto 0 auto;top:calc(var(--tb-visible-top,0px) + env(safe-area-inset-top,0px) + 12px);margin:0 auto;width:min(900px,94vw);max-height:calc(var(--tb-visible-height,100vh) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 24px);padding:0;overflow:hidden;scrollbar-gutter:auto;box-sizing:border-box}#detail[open]{display:flex;flex-direction:column}.detailDialogHeader{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:0 0 auto;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--panel);color:var(--gold);font-size:13px;font-weight:700}#detail .detailDialogHeader .close{position:static;float:none;display:grid;place-items:center;width:44px;min-width:44px;height:44px;padding:0;line-height:1;font-size:28px;background:#17353d;touch-action:manipulation}#detailBody{min-height:0;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:24px;clear:none;scroll-padding-top:12px}.detailDone{display:block;width:100%;min-height:48px;margin-top:24px;touch-action:manipulation}@media(max-width:520px){#detail{width:calc(100vw - 16px);top:calc(var(--tb-visible-top,0px) + env(safe-area-inset-top,0px) + 8px);max-height:calc(var(--tb-visible-height,100vh) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 16px)}#detailBody{padding:16px}.detailDialogHeader{padding:8px 12px}}
