:root{--bg:#111318;--panel:#1b1e27;--border:#2a2e3a;--text:#c8cdda;--dim:#8b93a7;--accent:#c94f8c;--warn:#e0645c;--ok:#59b380}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{background:var(--bg);color:var(--text);margin:0;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:15px}.app{max-width:480px;padding:12px 14px calc(24px + env(safe-area-inset-bottom));flex-direction:column;gap:14px;margin:0 auto;display:flex}header{letter-spacing:.15em;padding-top:env(safe-area-inset-top);justify-content:space-between;align-items:baseline;font-weight:700;display:flex}.dim{color:var(--dim);letter-spacing:normal;font-size:13px;font-weight:400}.warn{color:var(--warn)}h2{text-transform:uppercase;letter-spacing:.12em;color:var(--dim);margin:0 0 8px;font-size:12px}section,.lifebox{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px}.lifelabel{justify-content:space-between;margin-bottom:6px;font-weight:600;display:flex}.track{background:#0c0e12;border-radius:7px;height:14px;overflow:hidden}.track.life{border-radius:11px;height:22px}.fill{border-radius:inherit;height:100%;transition:width .24s linear}.fill.act{background:var(--ok)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips span{background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:6px 12px;font-size:13px}.activity{border:1px solid var(--border);width:100%;color:var(--text);font:inherit;text-align:left;background:#14161d;border-radius:10px;min-height:56px;margin-bottom:8px;padding:12px;display:block}.activity:last-child{margin-bottom:0}.activity.active{border-color:var(--ok)}.actrow{justify-content:space-between;margin-bottom:8px;font-weight:600;display:flex}.shop{flex-direction:column;gap:8px;display:flex}.buy{border:1px solid var(--border);width:100%;min-height:48px;color:var(--text);font:inherit;text-align:left;background:#14161d;border-radius:10px;align-items:center;gap:8px;padding:10px 12px;display:flex}.buy b{color:var(--dim);flex:1;font-size:13px;font-weight:400}.buy:disabled{opacity:.45}.buy .price{color:var(--accent);font-weight:700}.buy.loan{border-color:#5c3a6e}.buy.loan .price{color:var(--warn)}.logbox{max-height:240px;overflow-y:auto}.logline{color:var(--dim);border-bottom:1px solid #1f2330;padding:4px 0;font-size:13px}.logline:first-of-type{color:var(--text)}.death{text-align:center;justify-content:center;min-height:100dvh}.death h1{margin:0}.deadline{color:var(--dim);font-style:italic}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px}.big.reborn{min-height:56px;font:inherit;background:var(--accent);color:#fff;border:0;border-radius:12px;font-size:17px;font-weight:700}.event{border-color:#7a4fd0}.event.contract{border-color:#b08a3e}.evtext{margin:0 0 10px}.evchoices{flex-wrap:wrap;gap:8px;display:flex}.evchoices .buy{flex:1;justify-content:center;width:auto;font-weight:600}.contractbar{background:var(--panel);border:1px solid #b08a3e;border-radius:10px;justify-content:space-between;padding:8px 12px;font-size:14px;display:flex}.zones{grid-template-columns:1fr 1fr;gap:8px;display:grid}.zone{border:1px solid var(--border);color:var(--text);font:inherit;text-align:left;background:#14161d;border-radius:10px;flex-direction:column;gap:4px;min-height:56px;padding:10px;font-size:13px;display:flex}.zone.sel{border-color:var(--accent)}.zone span{font-size:12px}.boonhead{text-transform:uppercase;letter-spacing:.12em;color:var(--dim);font-size:12px}.boons{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.boon{border:1px solid var(--border);color:var(--text);font:inherit;background:#14161d;border-radius:10px;justify-content:space-between;gap:10px;min-height:48px;padding:12px;display:flex}.boon.sel{border-color:var(--ok)}.boon span{color:var(--dim);font-size:13px}.item{border:1px solid var(--border);background:#14161d;border-radius:10px;margin-bottom:8px;padding:10px 12px}.item .iname{justify-content:space-between;gap:8px;font-weight:700;display:flex}.item .islot{color:var(--dim);font-size:12px;font-weight:400}.item.r-common .iname{color:#aab1c2}.item.r-magic .iname{color:#6f9bff}.item.r-magic{border-color:#35509a}.item.r-rare .iname{color:#f2d060}.item.r-rare{border-color:#8a7a2e}.item.r-unique .iname{color:#d08a4a}.item.r-unique{border-color:#9a5c2e;box-shadow:0 0 12px #d08a4a40}.item .stats{color:var(--text);margin:6px 0 0;padding:0;font-size:13px;list-style:none}.item .stats .implicit{color:var(--dim)}.item .cmp{color:var(--dim);margin-top:6px;font-size:12px}.item.empty{opacity:.6}.gamblerow{gap:8px;display:flex}.gamblerow .buy{justify-content:center;min-height:48px;font-size:20px}.smallnote{margin:6px 0 0;font-size:12px;font-style:italic}.report{border-color:var(--ok);font-size:14px}.dirs{gap:8px;display:flex}.dirs button{border:1px solid var(--border);min-height:52px;color:var(--text);font:inherit;background:#14161d;border-radius:10px;flex:1;font-weight:700}.dirs button.on{background:var(--ok);color:#0b0d10;border-color:var(--ok)}.tfill{background:#5b8def}.undo{background:var(--panel);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.undo.kept{border-color:#35509a}.undo.shattered{border-color:#8a7a2e}.undo button{color:var(--text);font:inherit;background:#2a2e3a;border:0;border-radius:8px;padding:8px 14px;font-weight:700}.wprow{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.wp{border:1px solid var(--border);min-width:48px;min-height:44px;color:var(--text);font:inherit;background:#14161d;border-radius:10px;font-weight:700}.wp.sel{border-color:var(--accent);color:var(--accent)}.loadout{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.loadout select{border:1px solid var(--border);color:var(--text);font:inherit;background:#14161d;border-radius:10px;min-height:44px;padding:10px}.big.go{width:100%;min-height:52px;font:inherit;background:var(--accent);color:#fff;border:0;border-radius:12px;font-size:16px;font-weight:700}html,body{height:100%;overflow:hidden}.app{gap:8px;height:100dvh;padding:8px 12px 0;overflow:hidden}.app.run{padding-bottom:calc(10px + env(safe-area-inset-bottom))}header{padding-top:calc(2px + env(safe-area-inset-top));font-size:14px}section{padding:10px}h2{margin:6px 0}.chips{gap:6px}.chips span{padding:4px 10px;font-size:12px}.chips.slim span{background:0 0;border:0;padding:2px 4px;font-size:13px;font-weight:600}.tabcontent{flex-direction:column;flex:1;gap:8px;min-height:0;padding-bottom:8px;display:flex;overflow-y:auto}.tabbar{border-top:1px solid var(--border);padding:6px 0 calc(6px + env(safe-area-inset-bottom));background:var(--panel);gap:4px;margin:0 -12px;display:flex}.tabbar button{color:var(--dim);font:inherit;background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:2px;min-height:48px;font-size:10px;display:flex}.tabbar button.on{color:var(--accent)}.tabbar .ticon{font-size:20px}.item{margin-bottom:6px;padding:8px 10px}.item .iname{font-size:13px}.statline{color:var(--text);flex-wrap:wrap;gap:4px 10px;margin-top:3px;font-size:11.5px;display:flex}.statline span:first-child{color:var(--dim)}.item .evchoices{margin-top:6px}.item .evchoices .buy,.evchoices .buy{min-height:36px;padding:6px 10px;font-size:12.5px}.buy{min-height:42px;padding:8px 10px;font-size:13px}.buy b{font-size:11.5px}.lifebox{flex-direction:column;gap:6px;padding:10px;display:flex}.lifelabel{margin-bottom:0}.track{height:12px}.track.life{height:16px}.logbox{min-height:0;max-height:none;overflow-y:auto}.logbox.grow{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex:1;padding:8px 10px}.logline{padding:3px 0;font-size:11.5px}.undo{padding:6px 10px}.undo .utext{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.wprow{margin-bottom:4px}.wp{min-width:44px;min-height:40px}.loadout{margin-bottom:8px}.loadout select{min-height:40px;padding:8px;font-size:13px}.dirs button{min-height:48px}.smallnote{margin:4px 0 0}.report{padding:8px 10px;font-size:12.5px}.track.slim{height:8px}.mfill{background:#e0645c;transition:none}.meters{flex-direction:column;gap:4px;display:flex}.meter{width:100%}.mlabel{justify-content:space-between;margin-bottom:2px;font-size:11px;display:flex}.buy.col{flex-direction:column;align-items:stretch;gap:4px}.buyrow{align-items:center;gap:8px;width:100%;display:flex}.buyrow b{color:var(--dim);flex:1;font-size:11.5px;font-weight:400}.buyrow .price{color:var(--accent);font-weight:700}.dropcard .item{margin-bottom:0;box-shadow:0 0 20px #b27cf033}.shrinecard{background:var(--panel);border:1px solid #7a4fd0;border-radius:12px;padding:10px 12px}.shrinecard .evtext{margin-bottom:8px;font-size:13px}.elitebanner{color:#e0a33e;background:#241a10;border:1px solid #b08a3e;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:600}.dirs .extract{border:1px solid var(--warn);color:var(--warn);background:#14161d;border-radius:10px;flex:0 0 52px;font-size:18px}
