:root{
  color-scheme:dark;
  --bg:#08070c;
  --bg2:#0d0a12;
  --panel:#121017;
  --panel-2:#17131d;
  --panel-3:#1d1725;
  --panel-soft:#0f0d13;
  --line:#2b2532;
  --line-strong:#3b3146;
  --text:#f5f0f7;
  --text-soft:#ded6e2;
  --muted:#9e93a7;
  --muted-2:#746a7c;
  --accent:#a7e36c;
  --accent-strong:#c8f38d;
  --accent-deep:#1a2814;
  --purple:#c987ef;
  --purple-deep:#2b1737;
  --gold:#d9ba70;
  --red:#ee8792;
  --blue:#88b9e8;
  --shadow:0 22px 60px rgba(0,0,0,.38);
  --shadow-soft:0 12px 34px rgba(0,0,0,.24);
  --radius-xl:22px;
  --radius-lg:17px;
  --radius-md:12px;
  --content:1480px;
}

*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 18% -8%,rgba(110,55,133,.18),transparent 34rem),
    radial-gradient(circle at 95% 3%,rgba(90,126,53,.12),transparent 29rem),
    linear-gradient(180deg,#0a0810 0%,#08070c 68%);
  overflow-x:hidden;
}
body:before{
  content:"";
  position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.14;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:38px 38px;
  mask-image:linear-gradient(to bottom,black,transparent 72%);
}

.ambient{position:fixed;border-radius:50%;filter:blur(90px);pointer-events:none;z-index:-1;opacity:.15}
.ambient-a{width:340px;height:340px;top:18vh;left:-170px;background:#6c3888}
.ambient-b{width:300px;height:300px;bottom:8vh;right:-140px;background:#527438}
.hidden{display:none!important}
button,input,select{font:inherit}
button{user-select:none}

h1,h2,h3{margin:0;letter-spacing:-.025em}
h1,h2{font-family:Georgia,"Times New Roman",serif}
h3{font-family:Inter,ui-sans-serif,system-ui,sans-serif}
h1{font-size:clamp(2.35rem,4.5vw,4rem);line-height:.95}
h2{font-size:clamp(2rem,3.4vw,3.1rem);line-height:1.04}
h3{font-size:1.05rem;line-height:1.25}
p{margin:0}

.eyebrow,.panel-kicker{
  color:var(--accent);
  font-size:.69rem;
  letter-spacing:.19em;
  font-weight:850;
  text-transform:uppercase;
}
.muted{color:var(--muted)}
.subtitle{color:#c5bbc9;font-size:.93rem;margin-top:.42rem}
.compact{font-size:.82rem;line-height:1.55}
.page-lede{color:var(--muted);font-size:.96rem;margin-top:.62rem;max-width:52rem;line-height:1.5}

.primary,.secondary,.danger-button,.cast-button,.ghost-danger,.icon-button{
  border:1px solid var(--line-strong);
  border-radius:11px;
  padding:.68rem .95rem;
  cursor:pointer;
  color:var(--text);
  background:#1a1620;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease,color .16s ease;
}
.primary,.cast-button{
  color:#0e130b;
  border-color:#a8e66f;
  background:linear-gradient(180deg,#b9ec84,#97d55d);
  box-shadow:0 8px 22px rgba(121,184,69,.16),inset 0 1px rgba(255,255,255,.34);
  font-weight:850;
}
.primary:hover,.cast-button:hover{background:linear-gradient(180deg,#c7f596,#a0de66);box-shadow:0 10px 30px rgba(121,184,69,.24);transform:translateY(-1px)}
.secondary{background:linear-gradient(180deg,#1b1721,#141119);border-color:#393041}
.secondary:hover{border-color:#594b66;background:#211b28;transform:translateY(-1px)}
.danger-button,.ghost-danger{background:rgba(88,34,44,.08);color:#f0a0a8;border-color:#57313a}
.danger-button:hover,.ghost-danger:hover{background:#2b151b;border-color:#81505a}
.icon-button{width:36px;height:36px;padding:0;display:grid;place-items:center;background:transparent;color:#d38a94;border-color:transparent;font-size:1.15rem}
.icon-button:hover{background:#2a171d;border-color:#4e2c34}
.button-lg{padding:.82rem 1.08rem}
.small{padding:.5rem .72rem;font-size:.79rem}
button:disabled{opacity:.4;cursor:not-allowed;transform:none!important;box-shadow:none!important}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid rgba(167,227,108,.9);outline-offset:2px}

input,select{
  width:100%;
  color:var(--text);
  background:#0e0c12;
  border:1px solid #342d3b;
  border-radius:11px;
  padding:.72rem .78rem;
  min-width:0;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
input:hover,select:hover{border-color:#4b4055}
input:focus,select:focus{border-color:#6d8d52;box-shadow:0 0 0 3px rgba(167,227,108,.08);background:#100e14}

/* LOGIN */
.login{min-height:100vh;display:grid;place-items:center;padding:1.5rem}
.login-card{width:min(460px,100%);padding:2rem;display:grid;gap:1rem;text-align:left}
.login-card h1{font-size:2.5rem;margin-top:.45rem}
.login-copy{line-height:1.55;margin-top:.55rem}
.field-label{font-size:.78rem;color:#c0b5c6;font-weight:750;margin-bottom:-.55rem}
.error{min-height:1rem;color:var(--red);font-size:.82rem}
.brand-mark{
  width:42px;height:42px;border-radius:13px;display:grid;place-items:center;
  color:#0f140c;font:800 1rem Georgia,serif;
  background:linear-gradient(145deg,var(--accent-strong),#7cbf49);
  box-shadow:0 8px 26px rgba(126,190,75,.19),inset 0 1px rgba(255,255,255,.35);
}
.brand-mark-large{width:58px;height:58px;border-radius:17px;font-size:1.35rem}
.glass-panel,.panel{
  background:linear-gradient(145deg,rgba(24,20,30,.96),rgba(14,12,18,.96));
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(12px);
}

/* HEADER */
.app-header{
  position:sticky;top:0;z-index:30;
  background:rgba(9,7,12,.9);
  border-bottom:1px solid rgba(60,51,69,.8);
  backdrop-filter:blur(20px) saturate(130%);
  box-shadow:0 9px 34px rgba(0,0,0,.18);
}
.header-inner{
  max-width:var(--content);margin:0 auto;padding:1.2rem 1.5rem .95rem;
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
}
.identity-block{display:flex;align-items:center;gap:.95rem;min-width:0}
.identity-copy{min-width:0}
.identity-line{display:flex;align-items:center;gap:.72rem;margin-top:.28rem}
.identity-line h1{font-size:2.1rem;white-space:nowrap}
.status-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(167,227,108,.08),0 0 16px rgba(167,227,108,.35)}
.header-tools{display:flex;gap:.85rem;align-items:center;justify-content:flex-end;min-width:0}
.header-stats{display:flex;gap:.45rem}
.stat-card{
  min-width:110px;padding:.58rem .7rem;border:1px solid #2f2836;border-radius:12px;
  background:linear-gradient(180deg,#151119,#100d13);display:flex;gap:.55rem;align-items:center;
}
.stat-card .stat-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:var(--accent);background:#182014;border:1px solid #2e3f26;font-size:.8rem}
.stat-card strong{display:block;font-size:1rem;line-height:1.05}
.stat-card div>span{display:block;margin-top:.17rem;color:var(--muted);font-size:.66rem;white-space:nowrap}
.rest-actions{display:flex;gap:.45rem}
.rest-button{white-space:nowrap;padding:.65rem .8rem}
.rest-button span{margin-right:.25rem}
.tabs{
  max-width:var(--content);margin:0 auto;padding:0 1.5rem .72rem;display:flex;gap:.25rem;overflow-x:auto;scrollbar-width:none;
}
.tabs::-webkit-scrollbar{display:none}
.tab{
  flex:0 0 auto;border:0;background:transparent;color:#8f8498;padding:.62rem .82rem;border-radius:10px;cursor:pointer;font-size:.82rem;font-weight:750;
  transition:.15s ease;display:flex;align-items:center;gap:.42rem;
}
.tab:hover{color:#d5cbd9;background:#141018}
.tab.active{color:#f5eff7;background:#1b1621;box-shadow:inset 0 0 0 1px #342b3d}
.tab.active .tab-icon{color:var(--accent)}
.tab-icon{font-size:.78rem;color:#706477}

/* CONTENT */
.content-shell{max-width:var(--content);margin:0 auto;padding:2.45rem 1.5rem 6rem}
.view{display:none;animation:viewIn .18s ease}
.view.active{display:block}
@keyframes viewIn{from{opacity:.2;transform:translateY(4px)}to{opacity:1;transform:none}}
.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1.35rem}
.page-heading-compact{margin-top:.1rem}
.section-divider{height:1px;background:linear-gradient(90deg,transparent,#302837 10%,#302837 90%,transparent);margin:2.1rem 0 1.85rem}
.panel{border-radius:var(--radius-xl);padding:1.25rem}
.feature-panel{background:linear-gradient(145deg,#17121d,#0f0d12 72%);border-color:#342b3d}
.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.compact-heading{align-items:center}
.panel-heading h3{font-size:1.08rem;margin-top:.25rem}
.panel-kicker{font-size:.62rem;color:#8e7c98}
.panel-glyph{color:#53465d;font-size:1.65rem;line-height:1}
.resource-layout{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(260px,.7fr);gap:.9rem}
.rules-panel{box-shadow:none}
.rule-list{display:grid;gap:.75rem;margin-top:1.05rem}
.rule-list>div{display:grid;grid-template-columns:28px 1fr;gap:.65rem;align-items:start}
.rule-list span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font-size:.7rem;font-weight:850;color:var(--accent);background:#172013;border:1px solid #2f4227}
.rule-list p{font-size:.8rem;line-height:1.45;color:#b5aabb;padding-top:.2rem}
.resource-pill{padding:.55rem .8rem;border-radius:999px;font-size:.74rem;color:#caefaa;background:#172114;border:1px solid #34502b;white-space:nowrap}
.summary-strip,.info-banner{
  border:1px solid #302936;background:linear-gradient(180deg,#111015,#0e0c11);border-radius:13px;padding:.85rem 1rem;color:#afa4b6;font-size:.82rem;line-height:1.5;
}
.info-banner{display:flex;align-items:flex-start;gap:.7rem;margin-bottom:1rem}
.info-banner>span{width:26px;height:26px;flex:0 0 26px;border-radius:8px;display:grid;place-items:center;color:var(--accent);background:#172014;border:1px solid #2c3c25}

/* SLOTS */
.slot-dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:.65rem;margin-top:1rem}
.slot-level{
  position:relative;overflow:hidden;padding:.85rem .9rem;border:1px solid #2f2836;border-radius:13px;background:linear-gradient(180deg,#100d14,#0d0b10);
}
.slot-level:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(var(--accent),transparent)}
.slot-level-top{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}
.slot-level strong{font-size:.94rem}
.slot-level .slot-count{font-size:.7rem;color:#9f94a7}
.slot-orbs{display:flex;gap:.4rem;margin-top:.7rem;flex-wrap:wrap}
.slot-orb{width:18px;height:18px;border-radius:50%;border:1px solid #566047;box-shadow:inset 0 0 0 3px #0f0d13;transition:.15s}
.slot-orb.available{background:radial-gradient(circle at 35% 30%,#ddffb9,#9dd45f 54%,#5e8f38);border-color:#90bd66;box-shadow:0 0 14px rgba(166,226,108,.12),inset 0 0 0 3px #172014}
.slot-orb.spent{background:#26202d;border-color:#413747;opacity:.65}

/* SPELL CARDS */
.spell-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:.9rem;margin-top:1rem}
.gameplay-grid{grid-template-columns:repeat(auto-fill,minmax(375px,1fr))}
.spell-card{
  --school:#826a90;
  position:relative;overflow:hidden;
  min-height:100%;padding:1.05rem;
  border:1px solid #302838;border-radius:18px;
  background:linear-gradient(155deg,#17131c 0%,#100d14 70%);
  box-shadow:0 9px 26px rgba(0,0,0,.18);
  display:flex;flex-direction:column;gap:.78rem;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.spell-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--school),transparent 65%);opacity:.9}
.spell-card:hover{transform:translateY(-2px);border-color:#45384f;box-shadow:0 15px 36px rgba(0,0,0,.28)}
.spell-card.prepared{border-color:#465c38;box-shadow:inset 3px 0 #91cf5d,0 10px 28px rgba(0,0,0,.22)}
.spell-card[data-school="necromancy"]{--school:#b27bd2;background:linear-gradient(155deg,#1b1420,#100d14 74%)}
.spell-card[data-school="abjuration"]{--school:#7ba3d9}
.spell-card[data-school="conjuration"]{--school:#c1a160}
.spell-card[data-school="divination"]{--school:#8dc7bb}
.spell-card[data-school="enchantment"]{--school:#d884b7}
.spell-card[data-school="evocation"]{--school:#d5796f}
.spell-card[data-school="illusion"]{--school:#8b78d5}
.spell-card[data-school="transmutation"]{--school:#c4b76b}
.spell-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:.85rem}
.spell-heading h3{font-family:Georgia,"Times New Roman",serif;font-size:1.33rem;line-height:1.05}
.spell-kicker{color:var(--school);font-size:.61rem;letter-spacing:.17em;text-transform:uppercase;font-weight:850;margin-bottom:.32rem}
.spell-badges{display:flex;justify-content:flex-end;gap:.3rem;flex-wrap:wrap;max-width:52%}
.badge{font-size:.62rem;padding:.28rem .47rem;border-radius:999px;border:1px solid #3b3243;color:#aaa0b1;background:#131017;white-space:nowrap}
.prepared-badge{color:#caefa8;background:#172013;border-color:#405a32}
.spell-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#29222f;border:1px solid #29222f;border-radius:12px;overflow:hidden}
.spell-info-grid>div{padding:.62rem .7rem;background:#0e0c11;min-width:0}
.spell-info-grid span{display:block;color:#766c7d;font-size:.57rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;margin-bottom:.16rem}
.spell-info-grid strong{display:block;color:#d8d0dc;font-size:.73rem;font-weight:650;line-height:1.35;overflow-wrap:anywhere}
.mechanic-callout{display:flex;align-items:center;gap:.45rem;padding:.58rem .7rem;background:#17131d;border:1px solid #3b3145;border-radius:10px;color:#ddd4e2;font-size:.76rem;font-weight:750}
.spell-summary{color:#d8d0dc;line-height:1.55;font-size:.87rem}
.practical-hints{display:grid;gap:.42rem;padding:.65rem .7rem;background:rgba(118,81,138,.07);border-left:2px solid #6e4c7e;border-radius:0 9px 9px 0;color:#a99eaf;font-size:.72rem;line-height:1.45}
.spell-actions,.cast-controls,.button-row{display:flex;gap:.48rem;align-items:center;flex-wrap:wrap;margin-top:auto}
.spell-actions{padding-top:.25rem}
.cast-controls{padding-top:.8rem;border-top:1px solid #29232f;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem}
.cast-controls .cast-button{min-width:92px}
.cast-level{font-size:.78rem;padding:.66rem .72rem}
.cast-count{grid-column:1/-1;color:#7f7487;font-size:.66rem}

/* CAST RESULT */
.cast-result{position:relative;overflow:hidden;margin:1rem 0 1.5rem;padding:1.15rem 1.2rem;border:1px solid #456036;border-radius:18px;background:linear-gradient(145deg,#172113,#10150e);box-shadow:0 14px 36px rgba(0,0,0,.23)}
.cast-result:after{content:"✦";position:absolute;right:1rem;top:-1.2rem;color:rgba(167,227,108,.06);font-size:7rem;pointer-events:none}
.cast-result-title{display:flex;align-items:center;gap:.8rem;position:relative;z-index:1}
.cast-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:#0e130b;background:linear-gradient(#c4f191,#94d15b);font-size:1.1rem;box-shadow:0 8px 22px rgba(128,191,75,.18)}
.cast-result h3{font-family:Georgia,"Times New Roman",serif;font-size:1.35rem}
.cast-facts{display:flex;gap:.42rem;flex-wrap:wrap;margin:.9rem 0}
.cast-facts span,.remaining-slots{padding:.36rem .55rem;border:1px solid #364b2a;border-radius:999px;background:#10170d;color:#bcd99f;font-size:.68rem}
.cast-result p{position:relative;z-index:1;color:#dce8d1;line-height:1.55;font-size:.86rem;margin:.45rem 0}
.remaining-slots{display:inline-block;margin-top:.25rem}

/* FILTERS & SEARCH */
.filters{display:flex;gap:.48rem;flex-wrap:wrap;justify-content:flex-end}
.panel-inline{padding:.5rem;border:1px solid #2d2634;border-radius:14px;background:#0e0c11}
.filters select{width:auto;min-width:145px;border-color:transparent;background:#141019}
.search-wrap{position:relative;min-width:230px}
.search-wrap>span{position:absolute;left:.78rem;top:50%;transform:translateY(-50%);color:#756a7c;pointer-events:none}
.search-wrap input{padding-left:2rem}

/* INVENTORY */
.inventory-layout{display:grid;gap:.9rem}
.coins-panel{box-shadow:none}
.coins-grid{display:grid;grid-template-columns:repeat(5,minmax(86px,1fr));gap:.58rem;margin-top:1rem}
.coins-grid label{display:grid;gap:.38rem}
.coins-grid label span{color:#8f8497;font-size:.64rem;font-weight:850;letter-spacing:.12em}
.coins-grid input{text-align:center;font-weight:750}
.inventory-panel{padding:1rem}
.inventory-title-row{margin-bottom:.9rem}
.inventory-table-wrap{overflow-x:auto;padding-bottom:.2rem}
.inventory-header,.inventory-row{display:grid;grid-template-columns:72px minmax(250px,1fr) 140px 115px 38px;gap:.5rem;align-items:center;min-width:690px}
.inventory-header{padding:0 .2rem .5rem;color:#756a7d;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800}
.inventory-row{padding:.25rem .2rem;border-radius:10px}
.inventory-row:hover{background:rgba(255,255,255,.018)}
.inventory-row input{font-size:.79rem;padding:.6rem .65rem}
.table-help{display:flex;gap:.55rem;align-items:flex-start;margin-top:.8rem;padding:.7rem .8rem;border:1px dashed #302938;border-radius:11px;color:#8e8396;font-size:.72rem;line-height:1.45}
.table-help>span{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#19141e;color:#a897b2;font-weight:800;flex:0 0 20px}

/* LEVEL / SETTINGS */
.level-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:.8rem}
.level-card{position:relative;overflow:hidden;padding:1.1rem;border:1px solid #302839;border-radius:17px;background:linear-gradient(145deg,#17131c,#100d14);box-shadow:var(--shadow-soft)}
.level-card.current{border-color:#567641;box-shadow:inset 0 2px #95d05f,var(--shadow-soft)}
.level-card h3{font-size:1rem;margin-top:.35rem}
.level-card ul{margin:.9rem 0 0;padding-left:1.1rem;color:#ada3b4;font-size:.8rem;line-height:1.55}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}
.settings-panel{display:grid;gap:1rem;align-content:start;box-shadow:none}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.form-grid label,.dialog-label{display:grid;gap:.42rem;color:#aaa0b1;font-size:.74rem;font-weight:700}

/* DIALOG */
dialog{color:var(--text)}
.modal-card{width:min(760px,calc(100vw - 1.5rem));max-height:88vh;overflow:auto;border:1px solid #3a3043;border-radius:20px;background:linear-gradient(145deg,#17121d,#0f0c13);padding:1.4rem;box-shadow:0 30px 90px rgba(0,0,0,.6)}
.modal-card::backdrop{background:rgba(2,1,4,.78);backdrop-filter:blur(7px)}
.compact-modal{width:min(560px,calc(100vw - 1.5rem))}
.dialog-close{position:sticky;top:0;float:right;width:34px;height:34px;border:1px solid #372e40;border-radius:10px;background:#17121c;color:#918696;font-size:1.25rem;cursor:pointer;display:grid;place-items:center;z-index:2}
.detail-meta{display:flex;gap:.35rem;flex-wrap:wrap;margin:.8rem 0}
.detail-body{color:#d6ceda;line-height:1.62;font-size:.88rem}
.detail-body p{margin:.7rem 0}
.dialog-buttons{margin-top:1rem}

/* TOAST */
.toast{position:fixed;right:1.25rem;bottom:1.25rem;z-index:100;max-width:min(430px,calc(100vw - 2.5rem));padding:.8rem .95rem;border:1px solid #3a3043;border-radius:12px;background:#1b1621;color:#eee8f1;box-shadow:0 18px 50px rgba(0,0,0,.45);opacity:0;transform:translateY(12px) scale(.98);transition:.2s ease;pointer-events:none;font-size:.82rem}
.toast.show{opacity:1;transform:none}

/* RESPONSIVE */
@media(max-width:1120px){
  .header-inner{align-items:flex-start}
  .header-tools{flex-direction:column;align-items:flex-end}
  .resource-layout{grid-template-columns:1fr}
  .rules-panel{display:none}
}
@media(max-width:900px){
  .app-header{position:static}
  .header-inner{flex-direction:column;gap:1rem}
  .header-tools{width:100%;align-items:stretch}
  .header-stats{width:100%}
  .stat-card{flex:1;min-width:0}
  .rest-actions{width:100%}
  .rest-actions button{flex:1}
  .tabs{padding-top:.15rem}
  .page-heading{align-items:flex-start;flex-direction:column}
  .filters{justify-content:flex-start;width:100%}
  .panel-inline{width:100%}
  .filters select,.search-wrap{flex:1 1 180px}
  .settings-grid{grid-template-columns:1fr}
  .gameplay-grid,.spell-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .header-inner,.tabs,.content-shell{padding-left:.85rem;padding-right:.85rem}
  .content-shell{padding-top:1.5rem}
  .brand-mark{width:38px;height:38px}
  .identity-line h1{font-size:1.75rem}
  .subtitle{font-size:.78rem}
  .header-stats{display:grid;grid-template-columns:repeat(3,1fr)}
  .stat-card{padding:.5rem;display:block;text-align:center}
  .stat-card .stat-icon{display:none}
  .stat-card div>span{font-size:.58rem}
  .tabs{gap:.15rem}
  .tab{padding:.62rem .68rem}
  .tab span:last-child{display:none}
  .tab-icon{font-size:.95rem}
  .resource-pill{white-space:normal}
  .slot-dashboard{grid-template-columns:1fr 1fr}
  .spell-heading{flex-direction:column}
  .spell-badges{justify-content:flex-start;max-width:none}
  .spell-info-grid{grid-template-columns:1fr 1fr}
  .cast-controls{grid-template-columns:1fr}
  .cast-count{grid-column:auto}
  .coins-grid{grid-template-columns:repeat(3,1fr)}
  .form-grid{grid-template-columns:1fr}
}
@media(max-width:410px){
  .slot-dashboard{grid-template-columns:1fr}
  .spell-info-grid{grid-template-columns:1fr}
  .coins-grid{grid-template-columns:repeat(2,1fr)}
}
