/* ──────────────────────────────────────────────────────────────────────────
  SHARD MACHINE PIXEL DESIGN SYSTEM  v0.4
  Theme source of truth. New screens must reuse tokens, .pixel-panel,
  .btn, .scene-header, .item-card, .panel-ribbon and .bottom-nav.
  Decorative images never replace native clickable/form elements.
────────────────────────────────────────────────────────────────────────── */
:root {
  color-scheme:dark;
  --night:#100f23; --ink:#151729; --ink-2:#1c2136; --ink-3:#28273c;
  --stroke:#564258; --stroke-hot:#c89553; --gold:#f8cd7b;
  --gold-2:#e69a51; --cream:#fff0cd; --text:#f2e4ca;
  --muted:#b2adc6; --violet:#b284e8; --jade:#71d9c2;
  --red:#d97d82; --dark-shadow:#0c0a1b;
  --radius:7px; --border:2px solid var(--stroke-hot);
  --panel-gradient:linear-gradient(145deg,rgba(31,33,54,.98),rgba(15,18,36,.98));
  --pixel-shadow:0 0 0 2px #171325,0 0 0 4px #765239,4px 6px 0 rgba(0,0,0,.4);
}
*{box-sizing:border-box}
html{min-height:100%;scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:var(--night);color:var(--text);font-family:"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;font-size:14px;line-height:1.52}
.world-backdrop{position:fixed;inset:0;z-index:-2;background:#4f346b url('/static/assets/sunset_lake.png') center/cover no-repeat;image-rendering:pixelated}
.world-shade{position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(8,12,24,.90) 0%,rgba(14,13,33,.73) 35%,rgba(19,14,34,.66) 100%)}
a{color:var(--gold)}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--jade);outline-offset:2px}
.hidden{display:none!important}
.pixel-panel{background:var(--panel-gradient);border:var(--border);border-radius:var(--radius);box-shadow:var(--pixel-shadow);position:relative}
.pixel-panel::before{content:"";pointer-events:none;position:absolute;z-index:0;inset:4px;border:1px solid #69516a;border-radius:3px;opacity:.7}
.pixel-panel>*{position:relative;z-index:1}
h1,h2,h3,p{margin-top:0}h2,h3,.brand-text,.auth-logo,.side-title,.panel-ribbon,.scene-title{font-family:Georgia,"Nanum Myeongjo","Batang",serif;font-weight:900;letter-spacing:.15px}
h1,h2,h3{color:var(--cream)}
.btn{border:2px solid #a47d52;border-bottom:3px solid #63452f;background:linear-gradient(#38364e,#20263e);color:var(--cream);text-shadow:1px 1px #170f20;border-radius:5px;min-height:42px;padding:10px 13px;box-shadow:inset 0 1px #c8a16c30,0 3px 0 #110e1a;font-weight:800;transition:transform .08s,filter .12s}
.btn:hover{filter:brightness(1.15)}.btn:active{transform:translateY(2px);box-shadow:inset 0 1px #c8a16c30,0 1px 0 #110e1a}.btn:disabled{opacity:.45;cursor:default;filter:grayscale(.5)}
.btn-primary{background:linear-gradient(#198c80,#075b59);border-color:#65cdbc;border-bottom-color:#165a56;color:#f9ffef}
.btn-gold{background:linear-gradient(#d99a56,#9b5c2d);border-color:#f9c478;border-bottom-color:#774228;color:#221524;text-shadow:none}
.btn-purple{background:linear-gradient(#843ab0,#4a226f);border-color:#bd8be7;border-bottom-color:#442350}
.btn-danger{background:linear-gradient(#6d3347,#46243b);border-color:#bf6773}
.btn.small{font-size:12px;min-height:35px;padding:7px 10px}
input,select{width:100%;min-height:43px;background:#101528;color:var(--cream);border:2px solid #62516b;border-radius:3px;padding:9px 10px;box-shadow:inset 1px 2px 4px #060812}input::placeholder{color:#827f9b}
label{display:block;font-size:12px;font-weight:800;color:#ead29f;margin:10px 0 5px}
.muted,.small-muted,.desc{color:var(--muted)}.small-muted{font-size:12px}.desc{font-size:13px;line-height:1.65;margin-bottom:15px}.number{font-weight:900;color:var(--gold)}
.notice{background:#231f35;border-left:3px solid #8b739d;padding:12px 13px;font-size:12px;line-height:1.58;color:#c8c2d6}.notice.compact{margin:8px 0 12px}
.tag{font-size:11px;color:#dfd4ed;border:1px solid #756881;padding:3px 7px;background:#28243d;border-radius:3px;display:inline-block;white-space:nowrap}
.tag.gold{color:#f6d890;border-color:#a8854b}.tag.green{color:#9ceaca;border-color:#418b75}
.divider{height:1px;background:linear-gradient(90deg,transparent,#8f765f,transparent);margin:17px 0}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.actions .btn{flex:0 1 auto}
.section{font-size:23px;text-shadow:2px 3px #110f20;margin:0 0 5px}
.eyebrow,.mini-label{color:var(--gold);font-size:10px;letter-spacing:2px;font-weight:900}
.panel-ribbon,.side-title{color:#ffe6af;text-shadow:2px 2px #080b19}
.panel-ribbon{width:max-content;max-width:100%;margin:-25px auto 14px;padding:5px 22px 7px;border:2px solid #bf8a4d;background:linear-gradient(#444056,#1d2237);font-size:19px;box-shadow:0 3px 0 #0b0d1c;text-align:center}

/* Login / register. Actual form inputs live above a decorative scene. */
.auth-screen{min-height:100svh;max-width:560px;margin:0 auto;padding:22px 17px max(26px,env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:center;position:relative}
.auth-screen::before{content:"";z-index:-1;position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,15,39,.09) 0%,rgba(11,14,30,.34) 46%,rgba(11,12,27,.75) 100%)}
.auth-top{text-align:center;margin:12px 0 -7px;z-index:2}.auth-seal{margin:auto;width:48px;height:48px;display:grid;place-items:center;font-family:serif;font-size:28px;color:#ffe1a4;background:linear-gradient(#693149,#2b2035);border:3px solid #ddad62;clip-path:polygon(50% 0,95% 15%,94% 70%,50% 100%,6% 70%,5% 15%);text-shadow:2px 2px #21142c}
.auth-logo{font-size:clamp(43px,10vw,65px);margin:4px 0;line-height:1.08;color:#ffe2a0;-webkit-text-stroke:1px #522a35;text-shadow:2px 3px #733b45,4px 6px #160b22,0 0 22px #ffb77b88}
.auth-logo span{color:#ffd081}.auth-caption{font-size:13px;color:#fff1cd;text-shadow:1px 2px #211727;margin:6px 0}
.auth-showcase{height:126px;display:flex;justify-content:center;align-items:flex-end;filter:drop-shadow(1px 4px 3px #100b20)}.auth-showcase img{height:135px;image-rendering:pixelated}
.auth-box{padding:21px 23px 21px;margin:7px auto 0;width:min(100%,444px);background:linear-gradient(155deg,rgba(33,34,55,.96),rgba(13,18,35,.98))}
.auth-switch{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:3px 0 15px}.auth-switch button{height:39px;color:#cfbed5;border:2px solid #615372;background:#20243b;border-radius:3px;font-weight:800}.auth-switch button.is-selected{background:linear-gradient(#ad7b50,#76432d);border-color:#ebbf75;color:#fff2d2}
.auth-submit{width:100%;display:flex;justify-content:center;align-items:center;gap:18px;margin-top:18px;font-size:16px}.auth-hint{font-size:11px;color:#a8a4c0;line-height:1.65;margin:15px 0 0}.auth-footer{text-align:center;font-family:Georgia,serif;color:#d2a770;letter-spacing:1.6px;font-size:10px;margin:24px 0 0}

/* Game frame */
.game-shell{max-width:1510px;margin:0 auto;padding:16px 19px 28px}
.topbar{height:72px;display:flex;align-items:center;gap:13px;padding:11px 18px;background:linear-gradient(110deg,rgba(25,25,47,.97),rgba(34,29,52,.95))}
.brand-area{display:flex;gap:13px;align-items:center;flex:1;min-width:0}.brand-emblem{display:grid;place-items:center;flex:none;width:43px;height:48px;color:#f6c783;font-size:25px;border:2px solid #bb8b51;background:linear-gradient(#642e45,#292037);clip-path:polygon(50% 0,100% 12%,97% 74%,50% 100%,3% 74%,0 12%)}
.brand-text{font-size:25px;line-height:1.03;color:#ffead0;white-space:nowrap;text-shadow:2px 3px #5a2a3c}.brand-text span{color:#efbc78}
.player-heading{display:flex;gap:10px;align-items:center;white-space:nowrap;font-weight:800}.player-heading span{color:var(--gold);font-size:12px}
.icon-button{background:#292339;border:2px solid #c18d55;color:var(--gold);border-radius:3px;min-width:40px;height:39px;font-size:23px;line-height:1}
.top-resources{display:flex;gap:9px;margin:12px 0 15px;flex-wrap:wrap;justify-content:flex-end}
.resource-chip{min-width:117px;height:39px;display:flex;align-items:center;gap:5px;justify-content:space-between;padding:5px 10px 5px 6px;background:linear-gradient(150deg,#242039,#131b2e);border:2px solid #967450;box-shadow:2px 3px #0e0e23;border-radius:4px;font-family:Georgia,serif;color:#fff0ca;font-weight:900;font-variant-numeric:tabular-nums}
.resource-chip img{image-rendering:pixelated;width:27px;height:27px;object-fit:contain}
.layout{display:grid;grid-template-columns:232px minmax(0,1fr) 226px;align-items:start;gap:15px}
.sidebar,.info-panel{padding:15px;min-height:410px}.side-title{font-size:18px;margin:1px 0 14px;border-bottom:1px solid #77604e;padding-bottom:8px}
.nav{display:flex;flex-direction:column;gap:8px}.nav button{width:100%;padding:11px 12px;text-align:left;background:#20243b;color:#e1d6d0;border:1px solid #544b61;box-shadow:inset 2px 2px #ffffff08;border-radius:4px;display:flex;align-items:center;gap:10px;font-weight:850}
.nav button:hover{filter:brightness(1.18)}.nav button.active{color:#ffe4a5;border:2px solid #edb36b;background:linear-gradient(100deg,#714331,#3d2b44);padding:10px 11px}.nav-icon{display:inline-grid;place-items:center;width:26px;height:26px;font-size:22px;color:#f1c078}
.sidebar-separator{margin:18px 0;height:1px;background:linear-gradient(90deg,transparent,#a9865c,transparent)}
.hero-portrait{height:142px;display:flex;align-items:center;justify-content:center;margin:-8px 0 5px;background:radial-gradient(ellipse at 50% 90%,#d0794c47,transparent 64%)}
.hero-portrait img{height:132px;image-rendering:pixelated;filter:drop-shadow(3px 5px 0 #0d0c20)}
.side-stat{display:flex;gap:8px;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid #393344;font-size:12px;color:#b8acc6}.side-stat strong{color:#ffe2ad;font-size:13px;text-align:right}
.main-panel{padding:22px 23px;min-height:690px;overflow:hidden}
.info-panel .small-scene{height:160px;margin:17px 0;overflow:hidden;border:2px solid #9a7258}.small-scene img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}
.progress-card{padding:14px;background:#171b30;border:1px solid #58475b}.progress-value{color:#f7d18e;font-weight:900;text-align:right}.progress-track{background:#0e1426;height:13px;border:1px solid #625374;margin-top:7px;padding:2px}.progress-fill{height:100%;background:linear-gradient(90deg,#a84b69,#ffbf74);transition:width .2s}
.prototype-banner{font-size:11px;line-height:1.5;color:#d6c0b5;margin:17px auto 0;background:#1a1428d9;border:1px solid #815f4c;padding:10px 13px;text-align:center}
.bottom-nav{display:none}

/* Common page primitives for all future screens */
.scene-header{display:flex;align-items:stretch;gap:16px;background:linear-gradient(90deg,rgba(26,21,39,.98),rgba(26,23,45,.55)),url('/static/assets/sunset_lake.png') 75% 25%/cover;border:2px solid #997250;min-height:128px;margin:-4px -4px 21px;padding:15px 19px;border-radius:3px;overflow:hidden}
.scene-header__copy{flex:1;min-width:0}.scene-header .eyebrow{margin:0 0 3px}.scene-header .desc{max-width:570px;color:#eedbbf;text-shadow:1px 1px #171329;margin:4px 0 0}
.scene-header__art{max-height:114px;width:118px;object-fit:contain;object-position:center;image-rendering:pixelated;align-self:end;filter:drop-shadow(2px 4px #141023)}
.scene-header.market-scene{background-image:linear-gradient(90deg,#1b172ce8,#1a1a3299),url('/static/assets/trade_scene.png')}
.scene-header.craft-scene{background-image:linear-gradient(90deg,#1b172ce8,#1a1a3299),url('/static/assets/craft_scene.png')}
.scene-header.pvp-scene{background-image:linear-gradient(90deg,#1b172ce8,#1a1a3299),url('/static/assets/pvp_arena.png')}
.panel-subtitle{font-family:Georgia,'Batang',serif;color:#ffdb9e;font-size:18px;margin:14px 0 11px;border-bottom:1px solid #79604f;padding-bottom:7px}
.dashboard-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}
.stat-pill{padding:11px 10px;background:#1f2239;border:1px solid #625069;text-align:center}.stat-pill small{color:#afa7ba;display:block;font-size:11px}.stat-pill strong{color:#f6d293;font-size:16px}
.dungeon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.dungeon-card{min-width:0;border:2px solid #93704e;background:#1b2035;box-shadow:2px 3px #0e0b1c;border-radius:4px;overflow:hidden}
.dungeon-card__image{height:127px;position:relative;overflow:hidden;background:#1e172f}.dungeon-card__image img{height:100%;width:100%;object-fit:cover;image-rendering:pixelated}.dungeon-card__image::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 65%,rgba(16,16,32,.54))}
.dungeon-card__body{padding:12px}.dungeon-card__title{font-family:Georgia,'Batang',serif;font-size:17px;font-weight:900;color:#ffe4ab}.dungeon-card .desc{font-size:11px;margin:5px 0 11px;min-height:34px}.dungeon-card .btn{width:100%}
.running-card{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:13px 15px;border:1px solid #b98b59;background:linear-gradient(100deg,#2c263b,#1a2733)}.running-card strong{color:#f7d18e}.running-card .detail{font-size:12px;color:#dbcfdb}
.active-dungeon-card{padding:13px;display:flex;align-items:center;gap:15px;border:1px solid #84617b;background:linear-gradient(90deg,#302039,#191c35)}.active-dungeon-card .btn{flex:0 0 auto}
.item-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.item-card{display:grid;grid-template-columns:61px minmax(0,1fr);align-content:start;gap:11px;padding:13px;border:1px solid #765869;background:linear-gradient(145deg,#292539,#171a2f);border-radius:4px;min-width:0}
.item-card.is-equipped{border-color:#d5a45f;background:linear-gradient(145deg,#342c3a,#1b1a31)}
.item-card__icon{display:grid;place-items:center;width:60px;height:60px;border:2px solid #a68055;background:#16172c;box-shadow:inset 0 0 0 2px #39334d}.item-card__icon img{width:54px;height:54px;object-fit:contain;image-rendering:pixelated}
.item-card__title{color:#ffdfa3;font-family:Georgia,'Batang',serif;font-weight:900;font-size:15px;overflow-wrap:anywhere}.item-card__meta{color:#c5baca;font-size:11px;margin-top:4px}.item-card__body{min-width:0}.item-card__actions{grid-column:1/-1;display:flex;gap:7px;flex-wrap:wrap;margin-top:4px}.item-card__actions .btn{flex:1 1 90px}
.shape-grid{display:grid;grid-template-columns:repeat(3,10px);gap:2px;margin-top:7px}.shape-grid span{height:10px;width:10px;border:1px solid #4c455b;background:#131528}.shape-grid span.filled{background:#b78249;border-color:#e7be73}
.form-grid{display:grid;grid-template-columns:1fr 150px;gap:11px}.form-grid label{margin-top:0}.list{display:flex;flex-direction:column;gap:8px}
.listitem{display:flex;gap:12px;align-items:center;justify-content:space-between;background:#1c2135;border:1px solid #64506a;padding:11px 13px;min-width:0}.listitem>div{min-width:0}.listitem b{color:#ffe0a3}.listitem .actions{margin-top:7px}
.price{color:#f7ca80;font-family:Georgia,'Batang',serif;font-size:19px;font-weight:900;white-space:nowrap}
.market-art{width:48px;height:48px;object-fit:contain;image-rendering:pixelated}
.pvp-overview{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat-tile{padding:17px;background:#24243c;border:1px solid #937052;min-width:0}.stat-tile .label{font-size:12px;color:#c6b9cb}.stat-tile .big{display:block;font-family:Georgia,serif;color:#ffd395;font-size:25px;margin:3px 0}.stat-tile .little{font-size:11px;color:#bcb0c9}
.rank-row{display:grid;grid-template-columns:29px minmax(0,1fr) 76px 70px;gap:8px;align-items:center;border-bottom:1px solid #514458;padding:11px 2px;font-size:12px}.rank-row .rank-num{color:#ffc774}.rank-row strong{color:#ffe3ad}.rank-row .tiny{font-size:10px;color:#bca9c6}
.empty-state{padding:24px;background:#1b2036;border:1px dashed #655571;text-align:center;color:#beb4cc;font-size:13px}
.toast{position:fixed;left:50%;bottom:23px;transform:translateX(-50%);z-index:20;max-width:calc(100vw - 32px);padding:12px 18px;background:#292037;border:2px solid #e1ae65;color:#fff0cb;box-shadow:0 7px 30px #000a;font-size:13px;font-weight:800;text-align:center;min-width:170px}

@media(max-width:1150px){.layout{grid-template-columns:200px minmax(0,1fr)}.info-panel{display:none}.sidebar{padding:12px}.main-panel{padding:18px}.dungeon-grid{gap:9px}.dungeon-card__image{height:112px}}
@media(max-width:810px){
  .game-shell{padding:10px 11px 92px}.topbar{height:62px;padding:9px 12px}.brand-emblem{width:34px;height:38px;font-size:19px}.brand-text{font-size:21px}.mini-label{font-size:8px}.player-heading{margin-left:auto;font-size:12px}
  .top-resources{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:12px 0}.resource-chip{min-width:0;height:38px;padding:3px 6px}.resource-chip img{width:23px;height:23px}.resource-chip span{font-size:12px}
  .layout{display:block}.sidebar{display:none}.main-panel{padding:15px;min-height:calc(100svh - 225px)}
  .bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;position:fixed;left:8px;right:8px;bottom:calc(6px + env(safe-area-inset-bottom));height:65px;padding:5px 7px;z-index:10;background:linear-gradient(#29263a,#15192b)}
  .bottom-nav button{border:1px solid transparent;color:#c5b6c3;background:transparent;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:3px}
  .bottom-nav button span{font-size:23px;line-height:1.15;color:#d8aa70}.bottom-nav button b{font-size:11px}.bottom-nav button.active{border:1px solid #d5a162;background:#3a2e40;color:#ffe4b1}
  .prototype-banner{margin-top:11px;font-size:10px}.dungeon-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:570px){
  .game-shell{padding:8px 8px 92px}.topbar{padding:7px 10px;height:57px}.brand-text{font-size:19px}.mini-label{letter-spacing:.6px}.brand-emblem{width:30px;height:35px}.brand-area{gap:7px}.player-heading{display:flex;flex-direction:column;align-items:end;gap:0;font-size:10px}.player-heading span{font-size:10px}.logout-button{min-width:32px;width:32px;height:35px;font-size:18px}
  .top-resources{gap:4px;margin:10px 0}.resource-chip{height:36px;padding:2px 4px;justify-content:center;gap:2px;border-width:1px}.resource-chip img{width:22px;height:22px}.resource-chip span{font-size:11px}
  .main-panel{padding:12px 11px;min-height:calc(100svh - 218px)}.scene-header{margin:0 0 17px;padding:13px 12px;gap:6px;min-height:118px;background-position:center}.scene-header__art{width:87px;max-height:105px}.section{font-size:20px}.scene-header .desc{font-size:11px;line-height:1.5;margin-bottom:0}
  .dashboard-stats{gap:6px}.stat-pill{padding:9px 4px}.stat-pill strong{font-size:13px}.stat-pill small{font-size:10px}
  .dungeon-grid{grid-template-columns:1fr;gap:9px}.dungeon-card{display:grid;grid-template-columns:116px minmax(0,1fr);min-height:113px}.dungeon-card__image{height:100%;min-height:112px}.dungeon-card__body{padding:9px}.dungeon-card__title{font-size:16px}.dungeon-card .desc{margin:3px 0 7px;min-height:0}.dungeon-card .btn{font-size:12px;min-height:33px;padding:6px}
  .active-dungeon-card{display:block}.active-dungeon-card .btn{margin-top:10px;width:100%}.item-list{grid-template-columns:1fr}.form-grid{grid-template-columns:minmax(0,1fr) 95px}.pvp-overview{gap:7px}.stat-tile{padding:10px}.rank-row{grid-template-columns:22px minmax(0,1fr) 64px 53px;gap:3px;font-size:11px}
  .auth-screen{padding:17px 14px max(20px,env(safe-area-inset-bottom));justify-content:center}.auth-showcase{height:100px}.auth-showcase img{height:119px}.auth-box{padding:19px 15px}.auth-logo{font-size:42px}.auth-caption{font-size:11px}.auth-top{margin-top:0}
}
@media(max-width:360px){.resource-chip img{width:18px;height:18px}.resource-chip span{font-size:10px}.brand-text{font-size:16px}.mini-label{font-size:6px}.scene-header__art{width:64px}.auth-logo{font-size:37px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Season One v0.11: editable cell-accurate 6x6 grid and currency rarity hierarchy */
.v11-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.weapon-form-art{width:88px;height:88px;image-rendering:pixelated}
.v11-form .shape-grid{display:grid;grid-template-columns:repeat(6,11px);gap:2px}.v11-form .shape-grid span{width:11px;height:11px}
.frozen-affix{color:#ffe49a;font-weight:800;text-shadow:0 0 7px #d99b26,0 0 2px #fff3be}
.currency-group{margin:10px 0;padding:9px;border:1px solid #7c6551;background:#242337}.currency-group summary{font-weight:800;cursor:pointer;color:#fae2b6}
.currency-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:8px;margin-top:10px}
.currency-chip{padding:9px;border:1px solid #70677e;display:flex;flex-direction:column;gap:5px;background:#211f30}
.currency-chip span{color:#f5d59e}.currency-chip small{color:#ada6b4}
.loot-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:7px;margin-top:12px;max-height:60vh;overflow:auto}
.loot-line{border:1px solid #62596a;padding:10px;background:#262439;display:flex;align-items:center;gap:9px;cursor:pointer;min-width:0}
.loot-line input{accent-color:#e6ac6b}.loot-line b{word-break:keep-all}.loot-mark{font-size:22px;color:#dbc58b}.loot-tier{margin-left:auto;color:#cfb6a1}
.rarity-1{border-color:#6882b0!important}.rarity-2{border-color:#b18c56!important}.rarity-3{border-color:#f5cc72!important;box-shadow:0 0 12px #e8b34c66,inset 0 0 10px #8d612822}
@keyframes rareGlow{0%,100%{filter:brightness(1)}50%{filter:brightness(1.6)}}
.rare-flash{animation:rareGlow 2.8s ease-in-out infinite}
@media(max-width:600px){.loot-list{grid-template-columns:1fr}.currency-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.currency-icon{width:36px;height:36px;image-rendering:pixelated;object-fit:contain}.loot-mark .currency-icon{width:40px;height:40px}

/* Rare drops illuminate the battle at the instant of acquisition; rewards stay in escrow. */
@keyframes rareDropBurst{0%{opacity:0}16%{opacity:.33}34%{opacity:.06}50%{opacity:.17}100%{opacity:0}}
.rare-drop-burst::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:19;background:radial-gradient(ellipse at 50% 45%,#ffd975a8,#d98a4350 40%,transparent 75%);animation:rareDropBurst 1.8s ease-out forwards}
@media(prefers-reduced-motion:reduce){.rare-drop-burst::after{animation:none;opacity:0}.rare-flash{animation:none}}

/* Season 1.2 highest-clear historical build inspection */
.ladder-loadout-panel{padding:16px;margin-bottom:16px;border:2px solid #a28765}
.ladder-build-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,265px),1fr));gap:10px}
.ladder-build-item{display:flex;align-items:flex-start;gap:10px;padding:9px;background:rgba(21,25,37,.70);border:1px solid #776950;border-radius:8px}
.ladder-build-item img{width:52px;height:52px;object-fit:contain;image-rendering:pixelated;flex:none}
.ladder-build-item p{margin:4px 0}
.ladder-build-item ul{margin:5px 0;padding-left:20px;font-size:12px;line-height:1.55}
.ladder-build-item .frozen{color:#f4d47c}
@media(max-width:500px){.ladder-build-items{grid-template-columns:1fr}.rank-row{flex-wrap:wrap}.ladder-build-item img{width:42px;height:42px}}

/* v0.13.5: hand cells and weapon modifiers are separate coordinates. */
.shape-grid span.affix-active {background:#d2a553;color:#151729;border:1px solid #ffe19f;font-weight:800;}
.shape-grid span.affix-dormant {background:#3d3056;color:#e7bcff;border:1px dashed #ae8cda;font-weight:800;}

.shape-grid span.filled.affix-active {background:#d2a553;color:#151729;border-color:#ffe19f;}

/* Coordinate overlays stay readable on a 320px mobile viewport. */
.v11-form .shape-grid {grid-template-columns:repeat(6,18px);gap:3px;}
.v11-form .shape-grid span {width:18px;height:18px;line-height:16px;text-align:center;font-size:11px;}
.market-grid-details {margin-top:7px;color:#d8c6e7;}
.market-grid-details summary {cursor:pointer;font-size:12px;color:#f6d18b;}
.market-grid-details .v11-form {margin:7px 0;}
