:root{
  --navy:#07111f; --navy2:#0e1c31; --gold:#c69a43; --gold2:#f3d68a; --ink:#2d251c; --paper:#f3e7cf; --paper2:#fff7e5; --muted:#76664e; --border:#d1ad67;
}
*{box-sizing:border-box} body{margin:0;background:radial-gradient(circle at top,#162945 0,#07111f 38%,#050911 100%);color:var(--ink);font-family:Georgia,'Times New Roman',serif;line-height:1.45} a{color:inherit;text-decoration:none}.site-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 42px;background:rgba(5,10,18,.96);border-bottom:1px solid rgba(198,154,67,.55);box-shadow:0 12px 30px rgba(0,0,0,.24)}.brand{display:flex;align-items:center;gap:14px;color:#fff4d7}.brand-mark{width:46px;height:46px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold2);box-shadow:0 0 25px rgba(198,154,67,.3)}.brand strong{display:block;font-size:22px;letter-spacing:.03em;text-transform:uppercase}.brand em{display:block;color:var(--gold);font-style:normal;letter-spacing:.32em;text-transform:uppercase;font-size:12px}.nav{display:flex;gap:22px;align-items:center}.nav a{color:#f8ecd1;font-size:17px}.nav a:hover{color:var(--gold2)}main{max-width:1450px;margin:0 auto}.hero{min-height:360px;display:grid;place-items:center;text-align:center;color:#fff4d8;background:linear-gradient(90deg,rgba(7,17,31,.96),rgba(13,30,50,.82),rgba(7,17,31,.96)),radial-gradient(circle at 18% 70%,rgba(198,154,67,.25),transparent 26%),radial-gradient(circle at 86% 35%,rgba(243,214,138,.18),transparent 25%);border-bottom:1px solid var(--gold)}.eyebrow,.breadcrumb{color:var(--gold2);letter-spacing:.08em;text-transform:uppercase;font-size:14px}.hero h1,.page-title h1,.spell-hero h1{margin:.05em 0;font-size:clamp(42px,6vw,82px);line-height:1;color:#fff}.hero-copy{font-size:22px;color:#eed9a7;margin:12px auto 26px;max-width:760px}.hero-search{display:flex;max-width:760px;margin:auto;background:#fff9ea;border:2px solid var(--gold);border-radius:12px;padding:7px;box-shadow:0 10px 35px rgba(0,0,0,.35)}.hero-search input{flex:1;border:0;background:transparent;padding:16px 18px;font-size:18px;font-family:inherit;outline:0}.hero-search button,.filters button,.actions-panel button{background:var(--navy);color:#fff2ce;border:1px solid var(--gold);border-radius:8px;padding:13px 24px;font:700 17px Georgia}.panel{background:linear-gradient(180deg,var(--paper2),var(--paper));border:1px solid var(--border);border-radius:16px;margin:22px;padding:24px;box-shadow:0 12px 28px rgba(0,0,0,.18), inset 0 0 35px rgba(198,154,67,.12);position:relative}.panel h2{margin-top:0;text-transform:uppercase;letter-spacing:.04em;font-size:20px}.class-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:14px}.class-card{display:grid;place-items:center;gap:8px;min-height:105px;border:1px solid #d7bb7e;border-radius:10px;background:rgba(255,255,255,.35);text-transform:uppercase;font-weight:700;color:#3c2d18}.class-card span{font-size:32px}.filter-row{display:flex;flex-wrap:wrap;gap:12px}.filter-row a,.tag-row span,.level-pill,.ghost-button{border:1px solid var(--border);border-radius:999px;padding:8px 14px;background:rgba(255,255,255,.35);color:#6b4816}.content-grid{display:grid;grid-template-columns:2.2fr 1fr;gap:0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.section-heading a{color:#8b5e18}.spell-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.spell-card{display:block;background:#fff8e7;border:1px solid #d6b976;border-radius:12px;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease}.spell-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(0,0,0,.2)}.spell-art{height:118px;display:grid;place-items:center;font-size:54px;color:#fff;background:linear-gradient(135deg,#1d314f,#5f3b17)}.spell-art.transmutation{background:linear-gradient(135deg,#1f3b2b,#6c7f31)}.spell-art.evocation{background:linear-gradient(135deg,#541515,#c56b20)}.spell-art.conjuration{background:linear-gradient(135deg,#1a3953,#4b769c)}.spell-art.abjuration{background:linear-gradient(135deg,#132f56,#738cb2)}.spell-art.necromancy{background:linear-gradient(135deg,#171717,#555)}.spell-card-body{padding:14px}.spell-card h3{margin:10px 0 0;font-size:22px}.muted,.compact-list em,small{color:var(--muted)}.compact-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.compact-list a{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;padding:9px;border-bottom:1px solid rgba(117,91,45,.18)}.compact-list strong{display:block}.compact-list em{display:block;font-size:14px;font-style:normal}.spell-table{width:100%;border-collapse:collapse;font-size:15px}.spell-table th,.spell-table td{padding:11px 12px;border-bottom:1px solid rgba(117,91,45,.22);vertical-align:top;text-align:left}.spell-table th{font-size:12px;text-transform:uppercase;color:#60461e}.spell-table a{color:#593900}.page-title,.spell-hero{margin:0 22px;padding:46px 30px;color:#fff4d8}.page-title h1{font-size:56px}.filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto auto;gap:14px;align-items:end}.filters label{display:grid;gap:6px;font-weight:700;color:#4d381c}.filters input,.filters select{width:100%;padding:12px;border:1px solid var(--border);border-radius:8px;background:#fff9ea;font-family:inherit;font-size:15px}.full-table td:first-child{min-width:250px}.spell-hero{display:grid;grid-template-columns:210px 1fr;gap:34px;align-items:center}.spell-emblem{height:190px;border-radius:22px;display:grid;place-items:center;font-size:82px;color:#fff;background:linear-gradient(135deg,#78200e,#f08a22);border:1px solid var(--gold);box-shadow:0 0 45px rgba(231,93,23,.35)}.school-line{font-size:26px;color:#eed9a7}.tag-row{display:flex;gap:12px;flex-wrap:wrap}.spell-layout{display:grid;grid-template-columns:1fr 360px;gap:0}.spell-detail-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:26px}.stat-list{display:grid;grid-template-columns:145px 1fr;margin:0}.stat-list dt,.stat-list dd{padding:10px 0;border-bottom:1px solid rgba(117,91,45,.22)}.stat-list dt{font-weight:700}.stat-list dd{margin:0}.tabs{display:flex;border-bottom:1px solid var(--border);gap:10px;margin-bottom:16px}.tabs span{padding:10px 18px;text-transform:uppercase}.tabs .active{border-bottom:3px solid var(--gold);font-weight:700}.description-text{white-space:normal;font-size:18px}.actions-panel{display:grid;gap:12px}.actions-panel button,.actions-panel .ghost-button{width:100%;border-radius:10px;text-align:center}.site-footer{max-width:1450px;margin:20px auto 0;padding:24px 22px;color:#e2c886;text-align:center;border-top:1px solid rgba(198,154,67,.4)}@media(max-width:1050px){.nav{display:none}.class-grid,.spell-card-grid{grid-template-columns:repeat(2,1fr)}.content-grid,.spell-layout,.spell-detail-grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.spell-hero{grid-template-columns:1fr}.spell-emblem{max-width:240px}.spell-table{display:block;overflow-x:auto}.site-header{padding:14px 18px}}
@media print{.site-header,.site-footer,.side-column,.breadcrumb{display:none}.panel,.spell-hero{box-shadow:none;border:1px solid #999;background:#fff;color:#000}.spell-layout,.spell-detail-grid{display:block}.spell-hero h1{color:#000}.page-title,.spell-hero{padding:0;margin:0 0 16px;color:#000}body{background:#fff}}

/* Version 2: printable spell card page */
.button-link{display:block;background:var(--navy);color:#fff2ce!important;border:1px solid var(--gold);border-radius:10px;padding:13px 24px;font:700 17px Georgia;text-align:center}.print-card-page{background:#17233a;min-height:100vh;padding:28px}.print-toolbar{max-width:900px;margin:0 auto 18px;display:flex;justify-content:space-between;gap:12px}.print-toolbar button{background:var(--navy);color:#fff2ce;border:1px solid var(--gold);border-radius:10px;padding:12px 20px;font:700 16px Georgia}.spell-card-print{max-width:900px;margin:0 auto;background:linear-gradient(180deg,#fff8e8,#f1e0bd);border:2px solid var(--gold);border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.35);overflow:hidden;color:#231b12}.print-card-header{display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:center;padding:26px 30px;background:linear-gradient(135deg,#0e1c31,#263d61);color:#fff7df;border-bottom:4px solid var(--gold)}.print-card-header.evocation{background:linear-gradient(135deg,#3e1212,#a84b15)}.print-card-header.transmutation{background:linear-gradient(135deg,#1d3f2a,#587023)}.print-card-header.conjuration{background:linear-gradient(135deg,#13314b,#497391)}.print-card-header.abjuration{background:linear-gradient(135deg,#132f56,#58749d)}.print-card-header.necromancy{background:linear-gradient(135deg,#101010,#4f4f4f)}.print-card-header h1{font-size:42px;margin:0}.print-card-header p{margin:5px 0;color:#f2d999}.print-card-label{text-transform:uppercase;letter-spacing:.16em;font-size:12px;color:#f5dd9b!important}.print-card-icon{width:96px;height:96px;border-radius:18px;border:1px solid rgba(255,255,255,.5);display:grid;place-items:center;font-size:54px;background:rgba(255,255,255,.12)}.print-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:20px 30px 8px}.print-stat-grid div{border-bottom:1px solid rgba(104,76,35,.25);padding:10px 12px}.print-stat-grid strong{display:block;text-transform:uppercase;font-size:12px;color:#664714;letter-spacing:.06em}.print-stat-grid span{display:block;margin-top:3px;font-size:16px}.print-description{padding:12px 42px 30px;font-size:17px}.print-description h2{text-transform:uppercase;font-size:18px;color:#664714;border-bottom:1px solid rgba(104,76,35,.3);padding-bottom:8px}.print-card-footer{padding:14px 30px;background:rgba(104,76,35,.12);border-top:1px solid rgba(104,76,35,.25);font-size:13px;color:#60461e}@media print{.no-print,.print-toolbar{display:none!important}.print-card-page{background:#fff;padding:0}.spell-card-print{box-shadow:none;border:1px solid #000;border-radius:0;max-width:none}.print-card-header{color:#000;background:#fff!important;border-bottom:2px solid #000}.print-card-header p,.print-card-label{color:#000!important}.print-card-icon{border:1px solid #000}.print-stat-grid{grid-template-columns:1fr 1fr}.print-description{font-size:12pt}.print-card-footer{color:#000;background:#fff}.button-link{display:none}}

/* Version 3: visual polish, navigation, badges, and mobile cleanup */
body::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 12%,rgba(243,214,138,.09),transparent 22%),radial-gradient(circle at 85% 18%,rgba(95,128,180,.10),transparent 24%),linear-gradient(transparent,rgba(0,0,0,.22));z-index:-1}.site-header{backdrop-filter:blur(10px)}.brand-mark{background:radial-gradient(circle,#fff4ce 0,#d3a345 36%,#311f06 38%,#0c1524 72%)}.nav a{position:relative}.nav a.active,.nav a:hover{color:var(--gold2)}.nav a.active::after,.nav a:hover::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:linear-gradient(90deg,transparent,var(--gold2),transparent)}.hero{position:relative;overflow:hidden}.hero::before{content:"✦";position:absolute;left:8%;top:18%;font-size:180px;color:rgba(243,214,138,.05);transform:rotate(18deg)}.hero::after{content:"";position:absolute;right:6%;bottom:-50px;width:260px;height:260px;border:1px solid rgba(243,214,138,.12);border-radius:50%;box-shadow:0 0 0 38px rgba(243,214,138,.03),0 0 0 82px rgba(243,214,138,.02)}.hero-inner{position:relative;z-index:1;padding:40px 20px}.hero h1{letter-spacing:.02em}.hero-stats{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:22px auto 0}.hero-stat{border:1px solid rgba(243,214,138,.55);background:rgba(6,13,25,.58);border-radius:999px;color:#f6e4b5;padding:9px 16px}.hero-stat strong{color:#fff;font-size:18px}.panel{overflow:hidden}.panel::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.8}.school-badge{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:999px;padding:6px 10px;background:#fff7df;color:#4b3214;font-weight:700;font-size:13px;white-space:nowrap}.school-abjuration{background:#e9f0ff;border-color:#98acd5;color:#203b68}.school-conjuration{background:#e9f6ff;border-color:#8cb7d5;color:#1c4b68}.school-divination{background:#fff5d9;border-color:#d6b95b;color:#6c4b08}.school-enchantment{background:#f9e9ff;border-color:#c995d8;color:#65336f}.school-evocation{background:#fff0e4;border-color:#d99057;color:#7a2e0d}.school-illusion{background:#f0eaff;border-color:#a995dd;color:#493076}.school-necromancy{background:#eeeeee;border-color:#999;color:#242424}.school-transmutation{background:#edf8e8;border-color:#9ccf86;color:#315b23}.level-ribbon{position:absolute;top:12px;left:12px;background:rgba(7,17,31,.92);color:#f8db94;border:1px solid var(--gold);border-radius:999px;padding:5px 11px;font-size:13px;font-weight:700}.spell-card{position:relative}.spell-card-body .school-badge{margin:10px 0 6px}.compact-list a{border-radius:10px}.compact-list a:hover{background:rgba(255,255,255,.45)}.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px}.stat-tile{background:linear-gradient(180deg,var(--paper2),var(--paper));border:1px solid var(--border);border-radius:14px;padding:16px;text-align:center;box-shadow:0 12px 28px rgba(0,0,0,.14)}.stat-tile strong{display:block;font-size:30px;color:#563600}.stat-tile span{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:12px}.level-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:10px}.level-card{display:block;text-align:center;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.38);padding:13px 8px}.level-card strong{display:block;font-size:22px;color:#4c320d}.level-card span{font-size:12px;color:var(--muted);text-transform:uppercase}.school-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.school-link{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(117,91,45,.22);border-radius:12px;background:rgba(255,255,255,.32);padding:12px 14px}.school-link:hover,.class-card:hover,.level-card:hover{background:#fff7df;box-shadow:0 8px 18px rgba(0,0,0,.12)}.school-link b{font-size:16px}.school-link small{font-size:12px}.search-note{margin:12px 0 0;color:#ead49c;font-size:15px}.results-bar{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.results-bar .filter-row a{font-size:14px}.spell-table tr:hover td{background:rgba(255,255,255,.28)}.spell-name-cell{display:flex;gap:10px;align-items:flex-start}.mini-orb{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#fff6de;border:1px solid var(--border);flex:0 0 auto}.spell-hero{position:relative;background:linear-gradient(90deg,rgba(7,17,31,.86),rgba(17,34,57,.74)),radial-gradient(circle at 15% 55%,rgba(243,214,138,.16),transparent 30%);border-bottom:1px solid rgba(198,154,67,.55);border-radius:0 0 22px 22px}.spell-emblem{position:relative;overflow:hidden}.spell-emblem::after{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.25);border-radius:16px}.spell-meta-line{display:flex;gap:12px;flex-wrap:wrap;margin:15px 0}.source-panel p{margin-bottom:0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.callout{border-left:4px solid var(--gold);padding:14px 18px;background:rgba(255,255,255,.32);border-radius:10px}.footer-grid{display:flex;justify-content:space-between;gap:22px;align-items:center;max-width:1450px;margin:0 auto}.footer-links{display:flex;gap:16px;flex-wrap:wrap}.footer-note{opacity:.8}.print-card-header.divination{background:linear-gradient(135deg,#5d3f08,#c99b2d)}.print-card-header.illusion{background:linear-gradient(135deg,#2c214e,#7d5bb3)}.print-card-header.enchantment{background:linear-gradient(135deg,#4b1f5e,#ad69c2)}
@media(max-width:1200px){.class-grid{grid-template-columns:repeat(5,1fr)}.school-grid{grid-template-columns:repeat(2,1fr)}.level-grid{grid-template-columns:repeat(5,1fr)}.stat-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.site-header{align-items:flex-start}.brand strong{font-size:18px}.brand em{letter-spacing:.18em}.hero-search{flex-direction:column}.hero-search button{width:100%}.class-grid,.spell-card-grid,.school-grid,.level-grid,.stat-strip,.about-grid{grid-template-columns:1fr}.panel{margin:14px;padding:18px}.page-title,.spell-hero{margin:0 14px;padding:28px 18px}.footer-grid{display:block}.spell-hero h1{font-size:42px}.stat-list{grid-template-columns:1fr}.stat-list dt{padding-bottom:0;border-bottom:0}.stat-list dd{padding-top:3px}.spell-card-grid{gap:14px}}

/* V4 Admin Editor */
.narrow-panel { max-width: 680px; margin-left: auto; margin-right: auto; }
.admin-form { display: grid; gap: 18px; }
.admin-form label { display: grid; gap: 7px; color: var(--ink); font-weight: 700; }
.admin-form input,
.admin-form select,
.admin-form textarea { width: 100%; box-sizing: border-box; border: 1px solid rgba(128,92,36,.35); border-radius: 10px; padding: 11px 12px; background: rgba(255,250,238,.88); color: #27190a; font: inherit; }
.admin-form textarea { resize: vertical; line-height: 1.45; }
.form-grid.two { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.admin-actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.admin-actions-cell { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.admin-actions-cell a { font-weight: 700; }
.admin-table small { color: rgba(40,27,12,.65); }
.alert { padding: 12px 14px; border-radius: 10px; border: 1px solid transparent; font-weight: 700; }
.alert.error { background: #fff0f0; border-color: #c96a6a; color: #7b1e1e; }
.alert.success { background: #f0fff2; border-color: #6abf7b; color: #1d6e31; }
code { background: rgba(35,23,10,.1); padding: 2px 5px; border-radius: 5px; }
@media (max-width: 760px) { .form-grid.two { grid-template-columns: 1fr; } .admin-actions-cell { display: grid; } }

/* V5 Admin polish and safer editing */
.admin-title { background: linear-gradient(90deg, rgba(7,17,31,.86), rgba(17,34,57,.72)), radial-gradient(circle at 15% 55%, rgba(243,214,138,.16), transparent 30%); border-radius: 0 0 22px 22px; border-bottom: 1px solid rgba(198,154,67,.55); }
.admin-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 0; }
.admin-stat-card { margin-bottom: 0; min-height: 112px; display: grid; align-content: center; }
.admin-stat-card span { display: block; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; font-size: 12px; }
.admin-stat-card strong { display: block; margin-top: 8px; color: #3b270e; font-size: 32px; line-height: 1; }
.admin-toolbar .button-link { display: inline-block; width: auto; }
.admin-toolbar .ghost-button { display: inline-block; }
.admin-search { grid-template-columns: 1fr auto auto; }
.mini-action { display: inline-block; border: 1px solid rgba(117,91,45,.28); border-radius: 999px; padding: 5px 10px; background: rgba(255,255,255,.4); color: #5b3b0a !important; }
.mini-action.primary { background: var(--navy); color: #fff2ce !important; border-color: var(--gold); }
.mini-action.danger, .danger-soft { color: #7b1e1e !important; border-color: rgba(201,106,106,.55) !important; background: rgba(255,240,240,.75) !important; }
.warning-callout { margin: 18px 0; background: rgba(255,247,223,.7); }
.admin-form button { background: var(--navy); color: #fff2ce; border: 1px solid var(--gold); border-radius: 10px; padding: 13px 24px; font: 700 17px Georgia; cursor: pointer; }
.admin-form button:hover, .button-link:hover { filter: brightness(1.08); }
.admin-form .ghost-button { display: inline-block; width: max-content; }
.admin-table th:last-child, .admin-table td:last-child { min-width: 210px; }
.admin-table tbody tr:nth-child(even) td { background: rgba(255,255,255,.18); }
.admin-table tbody tr:hover td { background: rgba(255,255,255,.34); }
.narrow-panel .admin-form { margin-top: 18px; }
@media(max-width:1000px){ .admin-stat-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } .admin-search { grid-template-columns: 1fr; } }
@media(max-width:640px){ .admin-stat-grid { grid-template-columns: 1fr; } .admin-actions-cell { gap: 7px; } .mini-action { text-align:center; } }

/* V6 Homepage Redesign: White Lantern landing page */
:root{
  --v6-navy:#06101d; --v6-navy2:#0d1d31; --v6-ink:#2b2117; --v6-gold:#c59a45; --v6-gold2:#f0d58a; --v6-paper:#f3e4c4; --v6-paper2:#fff5df; --v6-line:#d4b36f;
}
body{background:radial-gradient(circle at 50% 0,#142840 0,#08111e 44%,#03070e 100%)}
.site-header{position:sticky;top:0;z-index:30;max-width:1500px;margin:0 auto;padding:18px 34px;background:linear-gradient(180deg,rgba(4,10,18,.98),rgba(7,17,31,.96));border:1px solid rgba(197,154,69,.45);border-top:0;box-shadow:0 8px 30px rgba(0,0,0,.45)}
.brand-mark{font-size:24px;background:radial-gradient(circle,rgba(240,213,138,.24),transparent 58%);position:relative}.brand-mark::before{content:'🏮';position:absolute;inset:0;display:grid;place-items:center;font-size:24px}.brand-mark{color:transparent}.brand strong{font-size:25px}.brand em{font-size:13px;color:var(--v6-gold2)}.nav a{position:relative;padding:7px 0}.nav a.active,.nav a:hover{color:var(--v6-gold2)}.nav a.active::after{content:'';position:absolute;left:14%;right:14%;bottom:-8px;height:2px;background:var(--v6-gold);box-shadow:0 0 10px rgba(240,213,138,.6)}.nav-icons{display:flex;gap:16px;color:var(--v6-gold);font-size:18px;margin-left:12px}
main{max-width:1500px;border-left:1px solid rgba(197,154,69,.35);border-right:1px solid rgba(197,154,69,.35);box-shadow:0 0 40px rgba(0,0,0,.3)}
.v6-hero-shell{position:relative;overflow:hidden;min-height:245px;padding:34px 32px 42px;display:grid;place-items:center;text-align:center;color:#fff8df;background:linear-gradient(90deg,rgba(5,11,20,.98),rgba(12,28,47,.86) 38%,rgba(12,28,47,.86) 62%,rgba(5,11,20,.98)),radial-gradient(circle at 17% 80%,rgba(197,154,69,.42),transparent 20%),radial-gradient(circle at 86% 70%,rgba(238,204,128,.38),transparent 19%),repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 70px);border-bottom:2px solid rgba(197,154,69,.6)}
.v6-hero-shell::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.2)),radial-gradient(circle at 50% 42%,rgba(197,154,69,.13),transparent 35%);pointer-events:none}.v6-hero-inner{position:relative;z-index:2;max-width:760px}.v6-hero-inner h1{font-size:clamp(38px,4.7vw,68px);line-height:1;margin:0 0 8px;text-shadow:0 3px 12px rgba(0,0,0,.65);color:#fff5df}.v6-hero-inner p{margin:0 auto 24px;color:var(--v6-gold2);font-style:italic;font-size:20px}.v6-search{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;background:#fff7e5;border:2px solid var(--v6-line);border-radius:9px;box-shadow:0 12px 30px rgba(0,0,0,.45),inset 0 0 0 2px rgba(255,255,255,.65);padding:6px;min-height:58px}.v6-search span{color:#5c4630;font-size:24px;padding-left:14px}.v6-search input{border:0;background:transparent;outline:0;font:18px Georgia,'Times New Roman',serif;color:#2b2117}.v6-search button,.v6-quick-filters button{background:linear-gradient(180deg,#13243b,#07111f);border:1px solid var(--v6-gold);color:#fff2ce;border-radius:6px;padding:12px 25px;font:700 18px Georgia;box-shadow:0 2px 0 rgba(255,255,255,.15) inset;cursor:pointer}.v6-hero-art{position:absolute;z-index:1;bottom:18px;display:flex;align-items:end;gap:18px;color:rgba(240,213,138,.72);filter:drop-shadow(0 5px 10px rgba(0,0,0,.7))}.v6-hero-art-left{left:42px}.v6-hero-art-right{right:42px}.v6-hero-art .candle{font-size:54px}.v6-hero-art .orrery{font-size:82px;color:rgba(197,154,69,.75)}.v6-hero-art .books{font-size:40px;color:rgba(120,78,36,.75)}.v6-hero-art .tome{font-size:82px}.v6-hero-art .lantern{font-size:68px}.v6-hero-art .quill{font-size:54px}
.v6-parchment{position:relative;margin:0 10px 18px;padding:22px 34px;background:linear-gradient(180deg,rgba(255,247,229,.97),rgba(239,221,186,.98));border:1px solid var(--v6-line);box-shadow:inset 0 0 0 2px rgba(255,255,255,.35), inset 0 0 42px rgba(148,98,38,.14),0 10px 30px rgba(0,0,0,.22);color:var(--v6-ink)}.v6-parchment::before{content:'';position:absolute;inset:7px;border:1px solid rgba(169,125,58,.35);border-radius:8px;pointer-events:none}.v6-class-panel{margin-top:0;border-radius:0 0 12px 12px}.v6-panel-title{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:-8px 0 12px;text-align:center;text-transform:uppercase;color:#3f2c18}.v6-panel-title h2{font-size:18px;margin:0;letter-spacing:.06em}.v6-panel-title span{height:1px;background:linear-gradient(90deg,transparent,var(--v6-line),transparent)}.v6-class-row{display:grid;grid-template-columns:repeat(9,1fr);gap:18px}.v6-class-tile{min-height:95px;display:grid;place-items:center;align-content:center;gap:7px;background:rgba(255,255,255,.28);border:1px solid rgba(172,126,58,.38);border-radius:6px;color:#281d13;text-transform:uppercase;transition:.16s ease}.v6-class-tile:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(120,80,30,.18);background:rgba(255,255,255,.44)}.v6-class-icon{font-size:34px;line-height:1}.class-antipaladin .v6-class-icon{filter:sepia(.4) saturate(1.4);color:#5a1630}.v6-class-tile strong{font-size:15px}.v6-quick-filters{display:grid;grid-template-columns:auto repeat(7,minmax(90px,1fr)) auto auto;gap:12px;align-items:end;margin-top:20px;padding-top:15px;border-top:1px solid rgba(172,126,58,.28)}.v6-filter-label{text-transform:uppercase;font-weight:700;white-space:nowrap;padding-bottom:8px}.v6-quick-filters label{display:grid;gap:4px;font-size:13px;color:#442d18}.v6-quick-filters select,.v6-quick-filters input{border:1px solid rgba(172,126,58,.45);background:#f8edda;border-radius:5px;padding:8px;font-family:Georgia;color:#2d2116;min-width:0}.v6-clear{align-self:end;border:1px solid var(--v6-line);border-radius:6px;padding:9px 13px;color:#5d3a0e;background:rgba(255,255,255,.28);white-space:nowrap}.v6-main-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(310px,.85fr);gap:0;padding-bottom:6px}.v6-left-stack,.v6-right-stack{display:grid;align-content:start}.v6-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.v6-section-head h2,.v6-side-panel h2{margin:0;text-transform:uppercase;font-size:17px;letter-spacing:.04em}.v6-section-head a,.v6-center-link{color:#82580f}.v6-feature-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.v6-feature-card{overflow:hidden;background:#fff8e7;border:1px solid rgba(169,125,58,.4);border-radius:7px;box-shadow:0 5px 14px rgba(75,45,15,.12);transition:.16s ease}.v6-feature-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(75,45,15,.2)}.v6-card-art{height:105px;position:relative;display:grid;place-items:center;background:linear-gradient(135deg,#263b5b,#5d3718);overflow:hidden}.v6-card-art::after{content:'';position:absolute;inset:-30%;background:radial-gradient(circle,rgba(255,255,255,.26),transparent 32%),repeating-linear-gradient(45deg,rgba(255,255,255,.08) 0 2px,transparent 2px 12px);transform:rotate(8deg)}.v6-card-art.evocation{background:linear-gradient(135deg,#52120f,#e0701d)}.v6-card-art.transmutation{background:linear-gradient(135deg,#173a28,#668b39)}.v6-card-art.conjuration{background:linear-gradient(135deg,#123149,#61a4c5)}.v6-card-art.abjuration{background:linear-gradient(135deg,#0f2d53,#cb6b23)}.v6-card-art.necromancy{background:linear-gradient(135deg,#15141b,#5f1731)}.v6-card-art span{position:relative;z-index:1;font-size:50px}.v6-card-art em{position:absolute;z-index:2;left:8px;top:8px;background:#111;color:#fff;border-radius:5px;padding:2px 7px;font-style:normal;font-weight:700}.v6-card-body{padding:10px 12px 12px}.v6-card-body h3{margin:0 0 2px;font-size:18px}.v6-card-body small{color:#5e4527}.v6-card-body p{font-size:14px;margin:6px 0 10px}.v6-card-tags{display:flex;gap:7px;flex-wrap:wrap}.v6-card-tags span{border:1px solid rgba(169,125,58,.42);border-radius:999px;padding:2px 8px;font-size:12px;background:#f8ecd4}.v6-side-panel{margin-left:0}.v6-recent-list{list-style:none;margin:0;padding:0}.v6-recent-list li+li{border-top:1px solid rgba(169,125,58,.22)}.v6-recent-list a{display:grid;grid-template-columns:38px 1fr;column-gap:11px;align-items:center;padding:10px 0}.v6-recent-list span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#12304e;color:#fff}.v6-recent-list strong{font-size:15px}.v6-recent-list small{grid-column:2;color:#6c5230}.v6-school-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 13px}.v6-school-grid a{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(169,125,58,.18);padding:6px 0}.v6-school-grid small{color:#7e5b26}.v6-browse-panel{margin-top:0}.v6-table-wrap{overflow:auto}.v6-spell-table{width:100%;border-collapse:collapse;font-size:14px}.v6-spell-table th{text-align:left;text-transform:uppercase;font-size:12px;letter-spacing:.04em;color:#4b351d;border-bottom:1px solid rgba(169,125,58,.32);padding:8px}.v6-spell-table td{border-bottom:1px solid rgba(169,125,58,.2);padding:8px;vertical-align:top}.v6-spell-table a{color:#2b2117}.v6-center-link{display:block;text-align:center;margin-top:12px}.school-badge{white-space:nowrap}.site-footer{max-width:1500px;margin:0 auto;background:#050a12;border:1px solid rgba(197,154,69,.45);border-top:0;color:#f7edd6}
@media(max-width:1250px){.v6-class-row{grid-template-columns:repeat(3,1fr)}.v6-quick-filters{grid-template-columns:repeat(3,1fr)}.v6-filter-label{grid-column:1/-1}.v6-main-grid{grid-template-columns:1fr}.v6-side-panel{margin-left:10px}.v6-feature-cards{grid-template-columns:repeat(2,1fr)}.v6-hero-art{opacity:.38}.nav-icons{display:none}}
@media(max-width:760px){.site-header{position:relative;display:grid;padding:14px}.nav{flex-wrap:wrap;gap:12px}.v6-hero-shell{padding:34px 14px}.v6-hero-art{display:none}.v6-search{grid-template-columns:auto 1fr}.v6-search button{grid-column:1/-1}.v6-class-row,.v6-feature-cards,.v6-school-grid{grid-template-columns:1fr}.v6-quick-filters{grid-template-columns:1fr}.v6-parchment{margin-left:0;margin-right:0;padding:18px}.v6-main-grid{display:block}.v6-hero-inner h1{font-size:40px}}

/* V7 visual redesign refinements: Eric Vaubel Pathfinder branding, image-backed hero art, spell graphics */
body{
  background:
    linear-gradient(180deg, rgba(4,8,15,.86), rgba(4,8,15,.94)),
    url('../images/site-parchment-bg.jpg') center top / cover fixed,
    radial-gradient(circle at 50% 0,#142840 0,#08111e 44%,#03070e 100%);
}
.site-header .brand strong{font-size:24px;letter-spacing:.045em;text-transform:uppercase;color:#fff6df}
.site-header .brand em{letter-spacing:.25em;text-transform:uppercase;color:var(--v6-gold2)}
.v6-hero-shell{
  min-height:285px;
  background:
    linear-gradient(90deg,rgba(5,11,20,.96),rgba(12,28,47,.70) 40%,rgba(12,28,47,.70) 62%,rgba(5,11,20,.96)),
    url('../images/landing-hero-bg-v10.jpg') center center / cover no-repeat,
    radial-gradient(circle at 50% 42%,rgba(197,154,69,.13),transparent 35%);
}
.v6-hero-shell::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 50% 15%,rgba(255,239,186,.12),transparent 22%),linear-gradient(180deg,transparent 0%,rgba(0,0,0,.22) 100%);
}
.v6-hero-art{display:none}
.v6-hero-inner{max-width:820px}.v6-hero-inner h1{font-size:clamp(42px,4.8vw,70px)}
.v6-class-row{grid-template-columns:repeat(9,minmax(105px,1fr));}
.class-antipaladin .v6-class-icon{color:#611832;filter:drop-shadow(0 0 5px rgba(90,22,48,.25))}
.v6-card-art{
  background-size:cover;background-position:center;
}
.v6-card-art[style] span{opacity:.0}.v6-card-art[style]::after{background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.28))}
.spell-hero-v7{
  display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:center;
  background:
    linear-gradient(90deg,rgba(4,10,18,.96),rgba(11,26,44,.78) 46%,rgba(4,10,18,.96)),
    url('../images/spell-hero-bg-v10.jpg') center center / cover no-repeat;
  border-bottom:2px solid rgba(197,154,69,.6);
  min-height:280px;
  padding:34px 42px;
}
.spell-hero-v7 .breadcrumb{color:var(--v6-gold2)}
.spell-hero-v7 h1{font-size:clamp(42px,5vw,74px);color:#fff7e5;text-shadow:0 3px 18px rgba(0,0,0,.75);margin:.15em 0}
.spell-hero-v7 .school-line{font-size:24px;color:#fff0cc}
.spell-hero-art-card{
  width:245px;height:170px;border:1px solid var(--v6-gold);border-radius:14px;display:grid;place-items:center;overflow:hidden;
  background:linear-gradient(135deg,#0f2d53,#cb6b23);background-size:cover;background-position:center;
  box-shadow:0 16px 34px rgba(0,0,0,.42), inset 0 0 0 2px rgba(255,255,255,.12);
  position:relative;
}
.spell-hero-art-card::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(255,226,155,.18),transparent 35%)}
.spell-hero-art-card span{font-size:76px;z-index:1;filter:drop-shadow(0 5px 10px rgba(0,0,0,.7))}.spell-hero-copy{position:relative;z-index:1}
.spell-layout .panel,.v6-parchment,.panel{background:linear-gradient(180deg,rgba(255,247,229,.98),rgba(239,221,186,.98));}
@media(max-width:900px){.spell-hero-v7{grid-template-columns:1fr;padding:28px 18px}.spell-hero-art-card{width:100%;max-width:360px}.v6-class-row{grid-template-columns:repeat(3,1fr)}}


/* V8 exact mockup-background match update */
/* V9: clean mockup-derived hero backgrounds without embedded blurred text */
.site-header .brand strong{font-size:23px;letter-spacing:.035em;text-transform:none;color:#fff6df;white-space:nowrap;}
.site-header .brand em{display:block;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--v6-gold2);margin-top:2px;}
.brand-mark{background:radial-gradient(circle,rgba(246,209,125,.2),rgba(7,15,26,.2));border-color:rgba(197,154,69,.65);}
.v6-hero-shell{
  min-height:315px;
  padding-top:48px;
  background:
    linear-gradient(90deg,rgba(3,8,15,.90),rgba(8,20,35,.50) 22%,rgba(9,21,38,.48) 50%,rgba(8,20,35,.50) 78%,rgba(3,8,15,.90)),
    url('../images/landing-hero-bg-v10.jpg') center center / cover no-repeat !important;
  border-top:1px solid rgba(197,154,69,.38);
  border-bottom:2px solid rgba(197,154,69,.68);
}
.v6-hero-shell::before{background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.22)),radial-gradient(circle at 50% 40%,rgba(197,154,69,.13),transparent 32%);}
.v6-hero-inner h1{font-size:clamp(44px,4.9vw,72px);letter-spacing:-.02em;}
.v6-search{box-shadow:0 0 0 2px rgba(197,154,69,.45), 0 14px 32px rgba(0,0,0,.45), inset 0 0 0 1px rgba(255,255,255,.28);}
.spell-hero-v7{
  min-height:320px;
  background:
    linear-gradient(90deg,rgba(3,8,15,.94),rgba(8,20,35,.56) 28%,rgba(9,21,38,.50) 50%,rgba(8,20,35,.56) 72%,rgba(3,8,15,.94)),
    url('../images/spell-hero-bg-v10.jpg') center center / cover no-repeat !important;
}
.spell-hero-v7 .spell-hero-art-card{box-shadow:0 18px 42px rgba(0,0,0,.58), 0 0 0 1px rgba(197,154,69,.65), inset 0 0 0 2px rgba(255,255,255,.10);}
.spell-hero-v7 h1{font-size:clamp(44px,5.2vw,78px);}
.class-antipaladin .v6-class-icon{color:#6b1731;filter:drop-shadow(0 0 6px rgba(100,12,37,.24));}
/* Prevent older cached CSS from stretching row into old 10-tile spacing */
.v6-class-row{grid-template-columns:repeat(9,minmax(92px,1fr)) !important;}
@media(max-width:1250px){.v6-class-row{grid-template-columns:repeat(3,1fr) !important;}}


/* V9 exact attached-mockup background refinements */
.v6-hero-shell{
  min-height:330px !important;
  background:
    linear-gradient(90deg,rgba(3,8,15,.28),rgba(5,12,22,.08) 18%,rgba(5,12,22,.02) 50%,rgba(5,12,22,.08) 82%,rgba(3,8,15,.28)),
    url('../images/landing-hero-bg-v10.jpg') center center / cover no-repeat !important;
}
.v6-hero-shell::after{background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.10)) !important;}
.v6-hero-inner{background:transparent !important;}
.v6-hero-inner h1{ text-shadow:0 5px 20px rgba(0,0,0,.95); }
.v6-hero-inner p{ text-shadow:0 3px 14px rgba(0,0,0,.95); }
.spell-hero-v7{
  min-height:330px !important;
  background:
    linear-gradient(90deg,rgba(3,8,15,.20),rgba(5,12,22,.04) 18%,rgba(5,12,22,.03) 50%,rgba(5,12,22,.04) 82%,rgba(3,8,15,.20)),
    url('../images/spell-hero-bg-v10.jpg') center center / cover no-repeat !important;
}


/* V10: force exact hero asset refresh and brighten attached-mockup artwork */
.v6-hero-shell{
  min-height:335px !important;
  padding-top:42px !important;
  background:
    linear-gradient(90deg,rgba(2,6,12,.08),rgba(5,12,22,.02) 18%,rgba(5,12,22,.00) 50%,rgba(5,12,22,.02) 82%,rgba(2,6,12,.08)),
    url('../images/landing-hero-bg-v10.jpg') center center / cover no-repeat !important;
}
.v6-hero-shell::before{background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.10)) !important;}
.v6-hero-shell::after{background:none !important;}
.v6-hero-inner h1{font-size:clamp(46px,5.2vw,76px) !important;text-shadow:0 4px 18px rgba(0,0,0,.95),0 0 28px rgba(0,0,0,.85) !important;}
.v6-hero-inner p{font-size:20px;text-shadow:0 3px 12px rgba(0,0,0,.95),0 0 20px rgba(0,0,0,.78) !important;}
.v6-search{max-width:780px;margin-left:auto;margin-right:auto;}
.spell-hero-v7{
  min-height:335px !important;
  background:
    linear-gradient(90deg,rgba(2,6,12,.10),rgba(5,12,22,.02) 18%,rgba(5,12,22,.00) 50%,rgba(5,12,22,.02) 82%,rgba(2,6,12,.10)),
    url('../images/spell-hero-bg-v10.jpg') center center / cover no-repeat !important;
}

/* V11: spell detail page polish, closer to the second mockup */
.v11-spell-hero{
  position:relative;
  margin:0;
  min-height:300px;
  display:grid;
  align-items:center;
  color:#fff4d8;
  background:
    linear-gradient(90deg, rgba(5,10,18,.70) 0%, rgba(7,16,30,.63) 34%, rgba(7,16,30,.48) 58%, rgba(5,10,18,.68) 100%),
    url('../images/spell-hero-bg-v10.jpg') center center / cover no-repeat;
  border-bottom:1px solid rgba(198,154,67,.62);
  box-shadow:inset 0 -80px 90px rgba(0,0,0,.38);
  overflow:hidden;
}
.v11-spell-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 16% 52%,rgba(255,112,32,.22),transparent 22%),radial-gradient(circle at 82% 45%,rgba(243,214,138,.12),transparent 24%);pointer-events:none}
.v11-spell-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(220px,330px) 1fr;gap:34px;align-items:center;max-width:1450px;width:100%;margin:0 auto;padding:44px 34px}
.v11-spell-art{height:220px;border-radius:18px;border:1px solid rgba(243,214,138,.68);display:grid;place-items:center;font-size:82px;background:linear-gradient(135deg,#251516,#f07821);box-shadow:0 22px 55px rgba(0,0,0,.62),0 0 44px rgba(226,95,28,.28);background-size:cover;background-position:center;overflow:hidden;position:relative}
.v11-spell-art::after{content:"";position:absolute;inset:16px;border:1px solid rgba(255,236,191,.25);border-radius:12px;box-shadow:inset 0 0 26px rgba(0,0,0,.3)}
.v11-spell-art span{position:relative;z-index:1;filter:drop-shadow(0 8px 16px rgba(0,0,0,.7))}
.v11-spell-art.abjuration{background:linear-gradient(135deg,#0d2a53,#b96222)}
.v11-spell-art.conjuration{background:linear-gradient(135deg,#102f4c,#53a6cb)}
.v11-spell-art.evocation{background:linear-gradient(135deg,#4b110b,#f07820)}
.v11-spell-art.transmutation{background:linear-gradient(135deg,#173625,#6d9239)}
.v11-spell-art.necromancy{background:linear-gradient(135deg,#121214,#5b1530)}
.v11-spell-art.illusion{background:linear-gradient(135deg,#201a48,#6b59ad)}
.v11-spell-art.enchantment{background:linear-gradient(135deg,#36134e,#a85fbf)}
.v11-spell-art.divination{background:linear-gradient(135deg,#4a3008,#d5a33b)}
.v11-breadcrumb{margin:0 0 10px;color:#f1d48a;font-style:italic}.v11-breadcrumb a{color:#f7dd94}
.v11-spell-title-block h1{margin:0 0 16px;font-size:clamp(52px,5.4vw,84px);line-height:.94;color:#fff8e9;text-shadow:0 4px 22px rgba(0,0,0,.82)}
.v11-school-line{display:flex;align-items:center;gap:12px;margin:0 0 16px;font-size:26px;color:#fff0c6}.v11-school-orb{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(243,214,138,.7);border-radius:50%;background:rgba(8,16,30,.72);box-shadow:0 0 24px rgba(243,214,138,.18)}
.v11-hero-tags{display:flex;flex-wrap:wrap;gap:12px}.v11-hero-tags span{border:1px solid rgba(243,214,138,.72);border-radius:7px;background:rgba(5,10,18,.68);padding:8px 15px;color:#f6dfa0;font-weight:700;box-shadow:inset 0 0 12px rgba(243,214,138,.06)}
.v11-spell-page{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:0;max-width:1450px;margin:0 auto;padding:0 10px 18px}.v11-main-column,.v11-side-column{display:grid;align-content:start}.v11-parchment{position:relative;margin:22px 10px 0;padding:24px;background:linear-gradient(180deg,rgba(255,248,232,.99),rgba(240,224,191,.99));border:1px solid rgba(172,126,58,.52);border-radius:10px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.32), inset 0 0 45px rgba(147,98,36,.12), 0 12px 30px rgba(0,0,0,.2);color:#2d2115}.v11-parchment::before{content:"";position:absolute;inset:7px;border:1px solid rgba(169,125,58,.28);border-radius:7px;pointer-events:none}
.v11-parchment h2{margin:0 0 16px;text-transform:uppercase;letter-spacing:.04em;font-size:18px;color:#3b2a17}.v11-parchment h2 span{color:#8a5b16;margin-right:6px}.v11-detail-grid{display:grid;grid-template-columns:minmax(290px,.95fr) minmax(0,1.2fr);gap:26px}.v11-stat-list{display:grid;grid-template-columns:150px 1fr;margin:0}.v11-stat-list dt,.v11-stat-list dd{padding:11px 0;border-bottom:1px solid rgba(118,82,32,.21)}.v11-stat-list dt{font-weight:700;color:#3b2a17}.v11-stat-list dd{margin:0;color:#2a2116}.v11-tabs{display:flex;border-bottom:1px solid rgba(172,126,58,.42);margin:0 0 18px}.v11-tabs span,.v11-tabs button{padding:11px 22px;text-transform:uppercase;letter-spacing:.03em;border:0;border-right:1px solid rgba(172,126,58,.28);color:#4a351a;background:transparent;font:inherit;cursor:pointer}.v11-tabs span:hover,.v11-tabs button:hover{background:rgba(255,255,255,.18)}.v11-tabs .active{font-weight:700;border-bottom:3px solid #3b2a17;background:rgba(255,255,255,.22)}.v11-tab-panel[hidden]{display:none}.empty-tab-note{color:#765a2c;font-style:italic}.v11-description-text{font-size:18px;line-height:1.58;color:#21180f}.v11-source-panel{min-height:130px}.v11-source-meta{color:#7c5b2e;font-size:14px;margin-bottom:0}.v11-related-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.v11-related-list li+li{border-top:1px solid rgba(172,126,58,.21);padding-top:10px}.v11-related-list a{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:center;color:#281d13}.v11-related-list.compact a{grid-template-columns:40px 1fr}.v11-related-list strong{display:block;font-size:17px}.v11-related-list em{display:block;margin-top:3px;color:#6e5432;font-style:normal;font-size:14px;line-height:1.25}.v11-related-thumb{width:96px;height:58px;border-radius:7px;border:1px solid rgba(172,126,58,.42);display:grid;place-items:center;font-size:30px;background:linear-gradient(135deg,#1a2f4b,#7b5320);background-size:cover;background-position:center;box-shadow:0 5px 12px rgba(0,0,0,.18)}.v11-related-mini{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#132f51;color:#fff;border:1px solid rgba(172,126,58,.52)}.v11-actions-panel{display:grid;gap:12px}.v11-actions-panel h2{margin-bottom:4px}.v11-actions-panel a,.v11-actions-panel button{width:100%;display:block;text-align:center;border-radius:8px;padding:13px 16px;font:700 17px Georgia,'Times New Roman',serif;cursor:pointer}.v11-primary-action{background:#07111f;color:#fff1cb!important;border:1px solid #c69a43;box-shadow:inset 0 0 16px rgba(243,214,138,.07)}.v11-actions-panel button{background:#fff8e8;color:#3d2b17;border:1px solid rgba(172,126,58,.48)}.v11-secondary-action{background:rgba(255,255,255,.22);color:#4e3514!important;border:1px solid rgba(172,126,58,.48)}
@media(max-width:1100px){.v11-spell-page{grid-template-columns:1fr}.v11-detail-grid{grid-template-columns:1fr}.v11-spell-hero-inner{grid-template-columns:1fr}.v11-spell-art{max-width:360px}.v11-side-column{grid-template-columns:1fr 1fr}.v11-related-panel:last-child{grid-column:1 / -1}}
@media(max-width:720px){.v11-spell-hero-inner{padding:30px 18px}.v11-spell-title-block h1{font-size:42px}.v11-school-line{font-size:20px}.v11-spell-page{padding:0}.v11-side-column{grid-template-columns:1fr}.v11-parchment{margin:14px;padding:18px}.v11-stat-list{grid-template-columns:1fr}.v11-stat-list dt{border-bottom:0;padding-bottom:2px}.v11-stat-list dd{padding-top:0}.v11-related-list a{grid-template-columns:70px 1fr}.v11-related-thumb{width:70px;height:50px}.v11-tabs span,.v11-tabs button{padding:9px 10px;font-size:13px}}
@media print{.v11-spell-hero{background:#fff!important;color:#000;min-height:auto}.v11-spell-hero-inner{display:block;padding:0}.v11-spell-art,.v11-side-column,.v11-breadcrumb,.site-header,.site-footer{display:none!important}.v11-spell-title-block h1,.v11-school-line{color:#000;text-shadow:none}.v11-spell-page{display:block;padding:0}.v11-parchment{box-shadow:none;border:1px solid #888;background:#fff;margin:12px 0}.v11-detail-grid{display:block}.v11-description-text{font-size:12pt}}

/* V12 admin spell image management */
.image-admin-row {
  align-items: start;
  margin: 1rem 0 1.25rem;
  padding: 1rem;
  border: 1px solid rgba(186, 140, 59, .28);
  border-radius: 16px;
  background: rgba(255, 246, 226, .45);
}
.spell-image-admin-preview strong {
  display: block;
  margin-bottom: .55rem;
  color: #3a2a16;
}
.admin-image-preview {
  min-height: 150px;
  border: 1px solid rgba(186, 140, 59, .45);
  border-radius: 14px;
  background-size: cover;
  background-position: center;
  box-shadow: inset 0 0 24px rgba(0,0,0,.18);
}
.admin-image-preview.no-image {
  display: grid;
  place-items: center;
  gap: .35rem;
  color: #6f5630;
  background: linear-gradient(135deg, rgba(10,19,32,.08), rgba(186,140,59,.12));
}
.admin-image-preview.no-image span { font-size: 2.4rem; }
.admin-image-preview.no-image small { display: block; }
.inline-check {
  display: inline-flex !important;
  flex-direction: row !important;
  gap: .45rem;
  align-items: center;
  margin-top: .65rem;
  font-weight: 600;
}
.inline-check input { width: auto !important; }
.admin-form input[type="file"] {
  padding: .72rem;
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(186,140,59,.45);
  border-radius: 10px;
}


/* V14: Uploaded spell graphics are standardized to 1200x700 and displayed with cover positioning. */
.spell-art, .v11-spell-art, .v11-related-thumb, .admin-image-preview {
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
.spell-card .spell-art { aspect-ratio: 12 / 7; height: auto; min-height: 118px; }
.admin-image-preview { aspect-ratio: 12 / 7; height: auto; min-height: 170px; }

/* V16: Rich text editor and rich spell content */
.rich-editor { min-height: 360px; }
.tox.tox-tinymce {
  border: 1px solid rgba(186, 140, 59, .45) !important;
  border-radius: 12px !important;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0,0,0,.10);
}
.rich-content h2,
.rich-content h3,
.rich-content h4 {
  margin: 1.05em 0 .45em;
  color: #382615;
  line-height: 1.2;
}
.rich-content p { margin: 0 0 1em; }
.rich-content ul,
.rich-content ol { margin: .65em 0 1em 1.35em; padding-left: 1em; }
.rich-content li { margin: .25em 0; }
.rich-content blockquote {
  margin: 1em 0;
  padding: .8em 1em;
  border-left: 4px solid #a87928;
  background: rgba(255,255,255,.32);
  color: #3f2c17;
}
.rich-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1em 0 1.2em;
  background: rgba(255, 252, 242, .72);
  box-shadow: 0 4px 14px rgba(59,42,23,.08);
}
.rich-content th,
.rich-content td {
  border: 1px solid rgba(143, 98, 36, .45);
  padding: .55em .7em;
  vertical-align: top;
}
.rich-content th {
  background: rgba(142, 91, 22, .13);
  color: #332210;
  font-weight: 700;
}
.rich-content img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  border: 1px solid rgba(143, 98, 36, .35);
  box-shadow: 0 8px 24px rgba(38, 25, 10, .18);
  margin: .5em 0 1em;
}
.rich-content figure { margin: 1em 0; }
.rich-content figcaption {
  margin-top: .3em;
  color: #755526;
  font-size: .92em;
  font-style: italic;
  text-align: center;
}
.rich-content a { color: #6f3f04; font-weight: 700; text-decoration: underline; }


/* V17 local rich text editor (no external API required) */
.rich-editor-source {
  display: none !important;
}
.rich-editor-shell {
  border: 1px solid rgba(184, 148, 82, .65);
  border-radius: 14px;
  overflow: hidden;
  background: #fff8e8;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.45), 0 10px 24px rgba(0,0,0,.08);
}
.rich-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  padding: 10px;
  border-bottom: 1px solid rgba(184, 148, 82, .35);
  background: linear-gradient(180deg, #f8edcf, #ead8aa);
}
.rich-toolbar button {
  border: 1px solid rgba(142, 103, 42, .45);
  border-radius: 8px;
  padding: 7px 10px;
  background: rgba(255, 250, 236, .88);
  color: #3b2a18;
  font-family: inherit;
  font-weight: 700;
  cursor: pointer;
}
.rich-toolbar button:hover,
.rich-toolbar button:focus {
  background: #0d1727;
  color: #f9e6a6;
  outline: none;
}
.rich-editor-box {
  min-height: 320px;
  padding: 18px 20px;
  background: radial-gradient(circle at 18% 0%, rgba(255,255,255,.55), transparent 35%), #fff7e7;
  color: #2f2419;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1rem;
  line-height: 1.58;
  overflow: auto;
}
.rich-editor-box:focus {
  outline: 2px solid rgba(201, 164, 89, .45);
  outline-offset: -2px;
}
.rich-editor-box:empty::before {
  content: attr(data-placeholder);
  color: rgba(58, 43, 26, .55);
  font-style: italic;
}
.rich-editor-box h2,
.rich-editor-box h3,
.rich-content h2,
.rich-content h3 {
  color: #3b2a18;
  margin: 1rem 0 .4rem;
}
.rich-editor-box table,
.rich-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0;
  background: rgba(255, 250, 236, .72);
}
.rich-editor-box th,
.rich-editor-box td,
.rich-content th,
.rich-content td {
  border: 1px solid rgba(142, 103, 42, .42);
  padding: 8px 10px;
  vertical-align: top;
}
.rich-editor-box th,
.rich-content th {
  background: rgba(218, 186, 115, .32);
  font-weight: 800;
}
.rich-editor-box img,
.rich-content img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
  border: 1px solid rgba(142, 103, 42, .35);
  box-shadow: 0 10px 22px rgba(0,0,0,.18);
}
.rich-content ul,
.rich-content ol,
.rich-editor-box ul,
.rich-editor-box ol {
  padding-left: 1.35rem;
}

/* V18: polished Browse Spells page + generated per-spell icons */
.v18-browse-hero{
  position:relative;
  padding:54px 42px 46px;
  min-height:230px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  background:
    linear-gradient(90deg,rgba(4,8,14,.76),rgba(9,18,31,.62),rgba(4,8,14,.82)),
    url('../images/spell-hero-bg-v10.jpg') center center / cover no-repeat;
  border-bottom:1px solid rgba(198,154,67,.54);
  box-shadow:inset 0 -70px 90px rgba(0,0,0,.32);
}
.v18-browse-hero .breadcrumb{margin:0 0 10px;text-transform:uppercase;letter-spacing:.08em;color:#e4c678;font-weight:700}
.v18-browse-hero .breadcrumb a{color:#e4c678;text-decoration:none}
.v18-browse-hero h1{margin:0;font-size:clamp(46px,5.2vw,80px);line-height:.95;color:#fff6df;text-shadow:0 6px 24px rgba(0,0,0,.85)}
.v18-hero-subtitle{font-size:18px;color:#ecdcae;margin:14px 0 0;text-shadow:0 3px 12px rgba(0,0,0,.75)}
.v18-archive-stats{display:flex;gap:14px;align-items:stretch;flex-wrap:wrap;justify-content:flex-end}
.v18-archive-stats span{min-width:112px;padding:14px 18px;border:1px solid rgba(202,163,83,.55);border-radius:14px;background:rgba(6,13,24,.72);box-shadow:0 10px 22px rgba(0,0,0,.22);text-align:center}
.v18-archive-stats strong{display:block;font-size:28px;color:#fff6df;line-height:1}.v18-archive-stats em{display:block;margin-top:6px;font-style:normal;color:#d9c287;font-size:12px;text-transform:uppercase;letter-spacing:.09em}
.v18-filter-panel,.v18-results-panel{margin:22px 32px;padding:22px;border:1px solid rgba(198,154,67,.55);border-radius:16px;background:linear-gradient(180deg,rgba(255,247,229,.98),rgba(238,220,185,.98));box-shadow:0 14px 34px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.42)}
.v18-filter-form{display:grid;grid-template-columns:2fr repeat(6,minmax(130px,1fr)) auto auto;gap:12px;align-items:end}
.v18-filter-form label{display:flex;flex-direction:column;gap:6px;font-weight:700;color:#4b3420;font-size:13px;letter-spacing:.02em}
.v18-filter-form input,.v18-filter-form select{height:42px;border:1px solid rgba(153,111,46,.42);border-radius:8px;background:#fff8e8;color:#332419;padding:0 12px;font:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.65)}
.v18-filter-form button{height:44px;border:1px solid rgba(198,154,67,.72);border-radius:9px;background:#07111f;color:#fff1cf;font-weight:800;font-family:Georgia,serif;padding:0 18px;box-shadow:0 8px 18px rgba(0,0,0,.18);cursor:pointer}
.v18-filter-form .ghost-button{height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(153,111,46,.42);border-radius:999px;padding:0 16px;background:rgba(255,255,255,.24);text-decoration:none;color:#7b521b;white-space:nowrap}
.v18-quick-links{margin-top:16px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;border-top:1px solid rgba(153,111,46,.20);padding-top:14px}
.v18-quick-links span{font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#5a3d19;font-size:12px;margin-right:4px}.v18-quick-links a{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(153,111,46,.34);background:rgba(255,255,255,.26);border-radius:999px;text-decoration:none;color:#6c4716;padding:7px 11px;font-size:13px;font-weight:700}.v18-quick-links a.active,.v18-quick-links a:hover{background:#0b1422;color:#fff0cc;border-color:#caa353}.v18-quick-links.schools{border-top:0;padding-top:6px;margin-top:6px}
.v18-results-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px;border-bottom:1px solid rgba(153,111,46,.24);padding-bottom:16px}.v18-results-head h2{margin:0;color:#3b2b1b;text-transform:uppercase;letter-spacing:.04em}.v18-results-head p{margin:4px 0 0;color:#6e5736}.v18-active-filters{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.v18-active-filters span{border:1px solid rgba(153,111,46,.38);border-radius:999px;background:#fff8e7;padding:7px 10px;font-size:12px;color:#6a481a;font-weight:700}
.v18-spell-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.v18-spell-card{display:grid;grid-template-columns:88px 1fr;gap:14px;text-decoration:none;color:#332419;border:1px solid rgba(151,110,45,.28);border-radius:14px;background:linear-gradient(180deg,#fff8e7,#f0dfbd);padding:14px;transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;box-shadow:0 8px 18px rgba(78,48,12,.08)}.v18-spell-card:hover{transform:translateY(-2px);border-color:rgba(198,154,67,.78);box-shadow:0 16px 30px rgba(78,48,12,.18)}.v18-card-icon{width:88px;height:88px;border-radius:18px;display:grid;place-items:center;overflow:hidden;background:#111b2b;border:1px solid rgba(198,154,67,.38);box-shadow:0 10px 22px rgba(0,0,0,.18)}.v18-card-icon img{display:block;width:100%;height:100%;object-fit:cover}.v18-card-icon>span{font-size:42px}.v18-card-body{display:grid;gap:7px;min-width:0}.v18-card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.v18-card-title-row strong{font-size:18px;line-height:1.15;color:#2f2114}.v18-card-title-row em{font-style:normal;white-space:nowrap;border:1px solid rgba(153,111,46,.32);border-radius:999px;padding:3px 8px;background:#fff4d8;color:#76521f;font-size:12px;font-weight:800}.v18-card-school{display:block}.v18-card-excerpt{font-size:13px;line-height:1.35;color:#614c32}.v18-card-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}.v18-card-meta span{font-size:12px;border-radius:999px;background:rgba(255,255,255,.45);border:1px solid rgba(153,111,46,.20);padding:5px 8px;color:#60451e}.v18-empty-state{padding:30px;border:1px dashed rgba(153,111,46,.45);border-radius:14px;text-align:center;background:rgba(255,255,255,.22)}.v18-empty-state h3{margin-top:0}.mini-orb img,.v18-related-mini img{width:100%;height:100%;object-fit:cover}
/* generated spell icons in other site locations */
.v6-card-art[style]{background-size:cover!important;background-position:center!important}.v11-spell-art[style],.v11-related-thumb[style]{background-size:cover!important;background-position:center!important}.v11-spell-art[style] span,.v11-related-thumb[style]{background-repeat:no-repeat}
@media(max-width:1200px){.v18-filter-form{grid-template-columns:repeat(3,1fr)}.v18-filter-form .v18-search-field{grid-column:1/-1}.v18-spell-grid{grid-template-columns:1fr}.v18-browse-hero{display:block}.v18-archive-stats{justify-content:flex-start;margin-top:22px}}
@media(max-width:720px){.v18-browse-hero{padding:34px 18px}.v18-filter-panel,.v18-results-panel{margin:16px 10px;padding:16px}.v18-filter-form{grid-template-columns:1fr}.v18-spell-card{grid-template-columns:64px 1fr;padding:12px}.v18-card-icon{width:64px;height:64px;border-radius:14px}.v18-card-title-row{display:block}.v18-card-title-row em{display:inline-block;margin-top:5px}.v18-results-head{display:block}.v18-active-filters{justify-content:flex-start;margin-top:10px}}

/* V20: GM Resources section */
.resources-title,
.resource-filter-panel,
.resource-results-panel { position: relative; }
.resource-chip-row{display:flex;flex-wrap:wrap;gap:10px;margin:18px 22px 22px;}
.resource-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border:1px solid rgba(185,137,58,.55);border-radius:999px;background:rgba(255,246,224,.88);color:#5b3c12;text-decoration:none;font-weight:700;box-shadow:0 6px 18px rgba(0,0,0,.14)}
.resource-chip span{font-size:.86em;color:#87601f;opacity:.9}
.resource-chip:hover,.resource-chip.active{background:#0b1422;color:#f8df9b;border-color:#d3aa58;}
.resource-chip.active span,.resource-chip:hover span{color:#f8df9b;}
.resource-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.resource-card{display:grid;grid-template-rows:170px 1fr;min-height:345px;text-decoration:none;color:#2e2418;background:rgba(255,248,232,.94);border:1px solid rgba(176,133,57,.46);border-radius:14px;overflow:hidden;box-shadow:0 16px 36px rgba(0,0,0,.16);transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;}
.resource-card:hover{transform:translateY(-3px);box-shadow:0 20px 45px rgba(0,0,0,.24);border-color:#cfa85d;}
.resource-card-art{height:170px;display:grid;place-items:center;background:linear-gradient(135deg,#142236,#8a5a25);background-size:cover;background-position:center;font-size:56px;color:#f8df9b;position:relative;}
.resource-card-art::after{content:"";position:absolute;inset:12px;border:1px solid rgba(255,236,191,.18);border-radius:10px;}
.resource-card-body{padding:16px 18px 18px;}
.resource-category{display:inline-flex;align-items:center;gap:7px;margin-bottom:10px;padding:5px 10px;border:1px solid rgba(185,137,58,.45);border-radius:999px;background:#fff2cc;color:#65410f;font-size:.85rem;font-weight:800;}
.resource-card h3{margin:0 0 8px;font-size:1.24rem;color:#2f2114;}
.resource-card p{margin:0;color:#68543a;line-height:1.45;}
.empty-state{text-align:center;padding:34px 18px;}
.empty-state h3{font-size:1.7rem;margin:0 0 8px;color:#3b2a18;}
.resource-hero{display:grid;grid-template-columns:minmax(230px,360px) 1fr;gap:34px;align-items:center;padding:42px clamp(22px,4vw,60px);background:linear-gradient(90deg,rgba(6,11,20,.86),rgba(13,24,39,.72)),url('../images/landing-hero-bg-v10.jpg') center/cover no-repeat;border-bottom:1px solid rgba(198,154,67,.55);color:#fff4d8;}
.resource-hero-art{height:230px;border-radius:18px;border:1px solid rgba(243,214,138,.62);display:grid;place-items:center;background:linear-gradient(135deg,#15263a,#a66d26);background-size:cover;background-position:center;font-size:78px;box-shadow:0 20px 50px rgba(0,0,0,.55);position:relative;overflow:hidden;}
.resource-hero-art::after{content:"";position:absolute;inset:15px;border:1px solid rgba(255,236,191,.24);border-radius:12px;}
.resource-hero-copy h1{font-size:clamp(42px,5.4vw,78px);margin:.1em 0 .15em;color:#fff8df;line-height:.98;text-shadow:0 4px 18px rgba(0,0,0,.85);}
.resource-category-large{display:inline-flex;align-items:center;gap:9px;padding:7px 12px;border:1px solid #d0aa5d;border-radius:999px;background:rgba(7,14,26,.72);color:#f3d68a;font-weight:800;}
.resource-summary-large{max-width:860px;color:#f5e6bd;font-size:1.14rem;line-height:1.55;}
.resource-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;margin:24px 22px 42px;align-items:start;}
.resource-detail-content{min-height:360px;}
.resource-rich-output img{max-width:100%;height:auto;border-radius:12px;border:1px solid rgba(185,137,58,.35);box-shadow:0 12px 30px rgba(0,0,0,.18);}
.resource-rich-output table{width:100%;border-collapse:collapse;margin:16px 0;background:rgba(255,255,255,.35);}
.resource-rich-output th,.resource-rich-output td{border:1px solid rgba(143,105,42,.4);padding:8px 10px;vertical-align:top;}
.resource-rich-output th{background:rgba(204,164,85,.25);}
.resource-sidebar .panel{position:sticky;top:88px;}
.stat-list.compact{display:grid;grid-template-columns:100px 1fr;gap:8px 12px;}
.stat-list.compact dt{font-weight:900;color:#3b2a18;}
.stat-list.compact dd{margin:0;color:#4e3a21;}
.ghost-button.full{display:block;text-align:center;margin-top:18px;}
.resource-admin-table td:first-child{min-width:260px;}

@media (max-width: 980px){
  .resource-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .resource-hero{grid-template-columns:1fr;}
  .resource-detail-grid{grid-template-columns:1fr;}
  .resource-sidebar .panel{position:static;}
}
@media (max-width: 640px){
  .resource-card-grid{grid-template-columns:1fr;}
  .resource-card{grid-template-rows:150px 1fr;}
  .resource-card-art{height:150px;}
  .resource-hero-art{height:190px;}
}

/* V21: polished About page with portrait */
.about-hero{
  position:relative;
  min-height:430px;
  margin:0;
  padding:58px 52px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:42px;
  align-items:center;
  color:#fff4d8;
  background:
    linear-gradient(90deg,rgba(5,10,18,.88),rgba(10,19,33,.64),rgba(5,10,18,.92)),
    url('../images/spell-hero-bg-v10.jpg') center center / cover no-repeat;
  border-bottom:1px solid rgba(198,154,67,.58);
  box-shadow:inset 0 -80px 90px rgba(0,0,0,.36);
}
.about-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 16% 50%,rgba(243,214,138,.14),transparent 24%),radial-gradient(circle at 78% 42%,rgba(198,154,67,.13),transparent 22%);pointer-events:none}.about-hero-copy,.about-portrait-card{position:relative;z-index:1}.about-hero h1{font-size:clamp(48px,5.6vw,82px);line-height:.98;margin:10px 0 18px;color:#fff8e9;text-shadow:0 4px 22px rgba(0,0,0,.82)}.about-lede{max-width:820px;font-size:22px;color:#eed9a7;line-height:1.45;text-shadow:0 3px 12px rgba(0,0,0,.78)}.about-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.about-hero-actions .button-link,.about-hero-actions .ghost-button{width:auto;display:inline-block}.about-portrait-card{background:linear-gradient(180deg,rgba(255,248,232,.96),rgba(239,221,184,.96));border:1px solid rgba(198,154,67,.7);border-radius:18px;padding:16px;box-shadow:0 22px 55px rgba(0,0,0,.45),inset 0 0 35px rgba(198,154,67,.12);color:#2c2114}.about-portrait-card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:12px;border:1px solid rgba(141,97,35,.35);box-shadow:0 14px 28px rgba(0,0,0,.25)}.about-portrait-card strong{display:block;margin:14px 4px 3px;font-size:22px;color:#2d2115}.about-portrait-card span{display:block;margin:0 4px 4px;color:#6d512c;font-size:15px;line-height:1.35}.about-two-column{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:30px;align-items:center}.about-intro-panel p{font-size:18px}.about-callout{display:grid;gap:8px;font-size:18px}.about-callout span{color:#674c27}.about-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0 0 0}.about-feature-card{min-height:220px}.about-feature-icon{display:grid;place-items:center;width:54px;height:54px;border:1px solid rgba(198,154,67,.62);border-radius:50%;background:rgba(6,17,31,.08);font-size:26px;margin-bottom:14px}.about-stats-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);gap:28px;align-items:center}.about-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0}.about-stat-grid div{background:rgba(255,255,255,.38);border:1px solid rgba(172,126,58,.28);border-radius:14px;padding:16px}.about-stat-grid dt{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#765217;font-weight:700}.about-stat-grid dd{margin:3px 0 0;font-size:28px;font-weight:700;color:#2c2114}.about-fan-note{font-size:16px;color:#4f3a1e}@media(max-width:980px){.about-hero{grid-template-columns:1fr;padding:42px 24px}.about-portrait-card{max-width:360px}.about-two-column,.about-stats-panel,.about-feature-grid{grid-template-columns:1fr}.about-stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.about-hero h1{font-size:42px}.about-lede{font-size:18px}.about-stat-grid{grid-template-columns:1fr}.about-hero-actions .button-link,.about-hero-actions .ghost-button{width:100%}}

/* V22 Character Sandbox */
.sandbox-note {
  border: 1px solid rgba(201,166,89,.45);
  background: rgba(19, 31, 52, .78);
  color: #f4e5bd;
  padding: 14px 16px;
  border-radius: 14px;
  margin: 0 0 18px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}
.sandbox-note.compact { display:inline-block; margin-bottom:10px; font-size:.92rem; }
.character-admin-grid {
  width: min(1180px, calc(100% - 32px));
  margin: 24px auto 70px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 22px;
}
.character-admin-card { display:grid; grid-template-columns: 128px 1fr; gap:18px; align-items:stretch; overflow:hidden; }
.character-admin-card.archived { opacity:.62; }
.character-card-portrait, .admin-character-portrait-preview, .character-portrait-large {
  background: linear-gradient(135deg, rgba(26,42,67,.95), rgba(67,47,25,.92));
  background-size: cover;
  background-position: center;
  border: 1px solid rgba(201,166,89,.45);
  box-shadow: inset 0 0 24px rgba(0,0,0,.35), 0 10px 26px rgba(0,0,0,.22);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#d7b86a;
}
.character-card-portrait { min-height: 172px; border-radius: 16px; font-size: 2.8rem; }
.character-card-body h2 { margin:0 0 6px; }
.character-card-badges { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
.character-card-badges span, .character-meta-pills span {
  border:1px solid rgba(201,166,89,.35);
  background: rgba(255,255,255,.06);
  border-radius:999px;
  padding:5px 10px;
  font-size:.86rem;
  color:#f2dfb0;
}
.wrap { flex-wrap: wrap; }
.admin-character-portrait-preview { width: 180px; height: 220px; border-radius: 18px; font-size:3rem; flex-direction:column; gap:8px; }
.admin-character-portrait-preview small { display:block; font-size:.82rem; color:#d8c391; }
.character-hero { background-image: linear-gradient(90deg, rgba(7,13,23,.90), rgba(10,18,31,.76)), url('../images/spell-hero-bg-v10.jpg'); background-size: cover; background-position:center; }
.character-hero-grid {
  display:grid;
  grid-template-columns: 230px 1fr;
  gap: 28px;
  align-items:center;
  max-width: 1120px;
  margin: 12px auto 0;
}
.character-portrait-large { width: 230px; height: 286px; border-radius: 22px; font-size:4rem; }
.gold-text { color:#e9c66d; }
.character-meta-pills { display:flex; flex-wrap:wrap; gap:9px; margin:16px 0; }
.view-switches { margin-top: 16px; }
.character-view-grid { width:min(1120px, calc(100% - 32px)); margin:30px auto 80px; display:grid; grid-template-columns: 1fr; gap:24px; }
.parchment-panel h2 { margin-top:0; }
.raw-pcgen-box { max-height: 420px; overflow:auto; white-space: pre-wrap; background: rgba(12,18,30,.84); color:#f4e3b8; padding:16px; border-radius:14px; border:1px solid rgba(201,166,89,.25); }
.error-box { border-color: rgba(255,113,113,.55); color:#ffd5d5; }
@media (max-width: 760px) {
  .character-admin-card { grid-template-columns: 1fr; }
  .character-hero-grid { grid-template-columns: 1fr; justify-items:center; text-align:center; }
  .character-meta-pills, .view-switches { justify-content:center; }
}

/* V23 PCGen upload panel */
.pcgen-upload-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(260px, .7fr);
  gap: 18px;
  align-items: start;
  margin: 18px 0 24px;
  padding: 18px;
  border: 1px solid rgba(198,154,74,.35);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(30,47,75,.16), rgba(198,154,74,.08));
}
.pcgen-upload-panel strong { color: #f2d083; font-size: 1.06rem; }
.pcgen-upload-panel p { margin: .45rem 0 0; }
.pcgen-upload-panel input[type="file"] { margin-top: 8px; }
@media (max-width: 760px) { .pcgen-upload-panel { grid-template-columns: 1fr; } }

/* V24 character import parser polish */
.success-box {
  border-color: rgba(83, 170, 109, .6);
  background: rgba(216, 245, 220, .92);
  color: #173b23;
}
.character-sheet-panel .character-stat-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
  gap: .75rem;
  margin: 1rem 0 1.25rem;
}
.character-stat-card {
  border: 1px solid rgba(130, 93, 34, .35);
  border-radius: 14px;
  background: rgba(255, 246, 220, .72);
  padding: .85rem;
  box-shadow: inset 0 0 18px rgba(89, 56, 18, .08);
}
.character-stat-card span {
  display: block;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #7a4c16;
}
.character-stat-card strong {
  display: block;
  margin-top: .25rem;
  font-size: 1.18rem;
  color: #1a2334;
}
.character-section-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin: .75rem 0 1rem;
}
.character-section-tabs button {
  border: 1px solid rgba(190, 142, 57, .65);
  background: rgba(28, 39, 59, .92);
  color: #f6e2a8;
  border-radius: 999px;
  padding: .45rem .75rem;
  cursor: pointer;
  font-weight: 700;
}
.character-section-tabs button.active,
.character-section-tabs button:hover {
  background: #b9852a;
  color: #101929;
}
.character-tab-content { display: none; }
.character-tab-content.active { display: block; }
.table-wrap { overflow-x: auto; }
.character-data-table {
  width: 100%;
  border-collapse: collapse;
  margin: .5rem 0 1rem;
  background: rgba(255, 250, 235, .76);
}
.character-data-table th,
.character-data-table td {
  border: 1px solid rgba(104, 73, 31, .24);
  padding: .5rem .6rem;
  text-align: left;
  vertical-align: top;
}
.character-data-table th {
  background: rgba(27, 39, 60, .95);
  color: #f8df9c;
  white-space: nowrap;
}
.feat-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: .7rem;
}
.feat-item {
  border: 1px solid rgba(116, 80, 32, .25);
  background: rgba(255, 248, 229, .68);
  border-radius: 12px;
  padding: .75rem;
}
.feat-item p { margin: .25rem 0 0; }
.imported-text-block,
pre.imported-text-block {
  white-space: pre-wrap;
  overflow-x: auto;
  border: 1px solid rgba(115, 79, 33, .28);
  border-radius: 12px;
  background: rgba(255, 249, 232, .76);
  padding: .85rem;
  color: #1d2636;
}


/* V25 Character Sheet Visual Polish */
.character-hero-v25 {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(5,10,18,.94), rgba(14,24,42,.74), rgba(5,10,18,.92)),
    radial-gradient(circle at 20% 40%, rgba(201,166,89,.18), transparent 28%),
    url('../images/spell-hero-bg-v10.jpg') center center / cover no-repeat;
}
.character-hero-v25::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 60%, rgba(0,0,0,.38));
  pointer-events: none;
}
.character-hero-grid-v25,
.character-hero-v25 .breadcrumb { position: relative; z-index: 1; }
.character-hero-grid-v25 { grid-template-columns: 260px minmax(0, 1fr); gap: 34px; }
.character-portrait-frame {
  width: 260px;
  padding: 14px;
  border: 1px solid rgba(218,180,92,.68);
  border-radius: 26px;
  background: linear-gradient(180deg, rgba(255,248,231,.15), rgba(28,39,59,.62));
  box-shadow: 0 28px 60px rgba(0,0,0,.42), inset 0 0 34px rgba(218,180,92,.08);
}
.character-portrait-frame .character-portrait-large { width: 100%; height: 330px; border-radius: 18px; }
.portrait-caption {
  text-align: center;
  color: #ebcf85;
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .09em;
  margin-top: 12px;
}
.character-hero-copy h1 { font-size: clamp(46px, 5vw, 78px); line-height: .98; margin-bottom: 10px; }
.character-meta-pills-v25 span { background: rgba(9, 19, 34, .72); color: #f8e7b9; }
.character-hero-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
  gap: 10px;
  max-width: 780px;
  margin: 18px 0 8px;
}
.character-hero-stats div {
  border: 1px solid rgba(218,180,92,.44);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(0,0,0,.18));
  padding: 12px 13px;
  box-shadow: inset 0 0 22px rgba(255,255,255,.035);
}
.character-hero-stats span {
  display: block;
  color: #d4b36b;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .09em;
  font-weight: 800;
}
.character-hero-stats strong { display: block; color: #fff6dc; font-size: 1.08rem; margin-top: 4px; }
.character-view-grid-v25 {
  width: min(1280px, calc(100% - 32px));
  grid-template-columns: 330px minmax(0, 1fr);
  align-items: start;
  gap: 24px;
}
.character-sidebar-v25 { display: grid; gap: 20px; position: sticky; top: 18px; }
.character-main-v25 { display: grid; gap: 24px; min-width: 0; }
.character-overview-list { display: grid; gap: 8px; margin: 0; }
.character-overview-list div,
.combat-list-v25 div {
  display: grid;
  grid-template-columns: 108px 1fr;
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px solid rgba(126, 83, 30, .16);
}
.character-overview-list dt,
.combat-list-v25 dt {
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 800;
  color: #7a4b15;
}
.character-overview-list dd,
.combat-list-v25 dd { margin: 0; color: #1f2a39; font-weight: 700; }
.ability-score-grid-v25 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.ability-score-card-v25 {
  border: 1px solid rgba(130, 93, 34, .35);
  border-radius: 16px;
  background: radial-gradient(circle at top, rgba(255,255,255,.58), rgba(246,229,188,.66));
  padding: 13px 10px;
  text-align: center;
  box-shadow: inset 0 0 18px rgba(89,56,18,.08);
}
.ability-score-card-v25 span { display:block; color:#7a4c16; font-weight:900; letter-spacing:.12em; font-size:.78rem; }
.ability-score-card-v25 strong { display:block; color:#111b2b; font-size:2rem; line-height:1; margin:5px 0; }
.ability-score-card-v25 em { display:inline-block; color:#fff4d0; background:#1c2940; border-radius:999px; padding:3px 9px; font-style:normal; font-weight:800; }
.save-list-v25 { display:grid; gap:10px; }
.save-list-v25 div {
  border: 1px solid rgba(130, 93, 34, .25);
  border-radius: 14px;
  padding: 10px 12px;
  background: rgba(255,249,232,.66);
}
.save-list-v25 span { display:block; color:#7a4c16; font-size:.78rem; text-transform:uppercase; font-weight:900; letter-spacing:.08em; }
.save-list-v25 strong { display:inline-block; color:#111b2b; font-size:1.45rem; margin-right:8px; }
.save-list-v25 small { color:#5a4525; }
.public-profile-panel-v25 .lead { color:#4b351b; }
.section-heading-row {
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  border-bottom:1px solid rgba(126,83,30,.18);
  padding-bottom:10px;
  margin-bottom:8px;
}
.character-stat-cards-v25 .character-stat-card { background: linear-gradient(180deg, rgba(255,249,232,.88), rgba(241,224,184,.82)); }
.character-section-tabs-v25 { padding: 8px; border-radius: 999px; background: rgba(19,30,48,.08); border: 1px solid rgba(126,83,30,.16); }
.character-section-tabs-v25 button { box-shadow: 0 4px 12px rgba(0,0,0,.12); }
.combat-dashboard-v25 { display:grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .75fr); gap:22px; align-items:start; }
.description-grid-v25 { display:grid; grid-template-columns: minmax(0,1.2fr) minmax(280px,.8fr); gap:24px; }
.feat-list-v25 { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.equipment-block-v25 { max-height: 520px; }
.dm-notes-panel-v25 { border-color: rgba(123, 36, 36, .28); box-shadow: inset 0 0 26px rgba(123, 36, 36, .05); }
@media (max-width: 980px) {
  .character-view-grid-v25 { grid-template-columns: 1fr; }
  .character-sidebar-v25 { position: static; grid-template-columns: 1fr; }
  .combat-dashboard-v25, .description-grid-v25 { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .character-hero-grid-v25 { grid-template-columns: 1fr; justify-items: center; }
  .character-portrait-frame { width: min(320px, 100%); }
  .character-hero-stats { grid-template-columns: repeat(2, 1fr); }
  .ability-score-grid-v25 { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 520px) {
  .character-hero-stats, .ability-score-grid-v25 { grid-template-columns: 1fr; }
  .character-overview-list div, .combat-list-v25 div { grid-template-columns: 1fr; gap: 3px; }
  .character-section-tabs-v25 { border-radius: 18px; }
}


/* V26 Player login/private sheet */
.player-access-panel{margin:1.25rem 0;padding:1rem;border:1px solid rgba(191,145,62,.35);border-radius:16px;background:rgba(255,248,225,.08)}
.player-login-panel{max-width:620px;margin:2rem auto}.compact-login-form{display:grid;gap:1rem}.player-character-grid{align-items:stretch}.player-character-hero .character-hero-body-v25{min-width:0}.player-character-hero{margin-bottom:1.5rem}.player-character-grid .character-admin-card{min-height:240px}


/* V28: character portrait upload/resizing polish */
.character-card-portrait,
.admin-character-portrait-preview,
.character-portrait-large,
.character-portrait-frame-v25 {
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
}
.admin-character-portrait-preview.no-image,
.character-card-portrait:not([style]),
.character-portrait-large:not([style]),
.character-portrait-frame-v25:not([style]) {
  background-image:
    radial-gradient(circle at 50% 30%, rgba(218,180,92,.20), transparent 30%),
    linear-gradient(135deg, rgba(14,24,42,.96), rgba(71,53,29,.90));
}
.portrait-upload-help {
  display:block;
  margin-top:6px;
  color:#6f552c;
  font-size:.9rem;
  line-height:1.35;
}
.portrait-upload-tip {
  margin:10px 0 0;
  padding:10px 12px;
  border:1px solid rgba(201,166,89,.28);
  border-radius:12px;
  background:rgba(255,248,232,.38);
  color:#553d19;
}


/* V29 PCGen re-import helper */
.pcgen-upload-panel .pcgen-update-check {
  display: block;
  margin-top: 0.75rem;
  padding: 0.75rem 0.9rem;
  border: 1px dashed rgba(139, 101, 44, 0.45);
  border-radius: 12px;
  background: rgba(255, 248, 220, 0.45);
}
.pcgen-upload-panel .pcgen-update-check input { margin-right: 0.45rem; }


/* V30 character form usability */
.character-top-actions {
  position: sticky;
  top: 0.75rem;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 0 1.25rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(199,157,82,.55);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(24,32,51,.96), rgba(11,17,31,.94));
  box-shadow: 0 14px 32px rgba(0,0,0,.28), 0 0 0 1px rgba(255,255,255,.04) inset;
  backdrop-filter: blur(8px);
}
.character-top-actions strong {
  color: #f6df9b;
  font-size: 1.05rem;
}
.character-top-actions p {
  margin: .25rem 0 0;
}
.character-top-actions-buttons {
  display: flex;
  gap: .65rem;
  align-items: center;
  flex-wrap: wrap;
}
.character-top-actions .primary-button,
.character-top-actions button.primary-button {
  white-space: nowrap;
  background: linear-gradient(135deg, #d9b45f, #9d6f25);
  color: #15110a;
  border: 0;
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(0,0,0,.25);
}
.character-bottom-actions {
  display: flex;
  align-items: center;
  gap: .75rem;
  flex-wrap: wrap;
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(199,157,82,.35);
}
@media (max-width: 760px) {
  .character-top-actions {
    position: static;
    align-items: stretch;
    flex-direction: column;
  }
  .character-top-actions-buttons {
    width: 100%;
  }
  .character-top-actions-buttons .primary-button,
  .character-top-actions-buttons .ghost-button {
    flex: 1 1 auto;
    text-align: center;
  }
}

/* V31 player-maintained character fields */
.player-tracker-admin,
.player-tracker-panel {
  border: 1px solid rgba(197,155,75,.38);
  background: linear-gradient(180deg, rgba(255,248,232,.72), rgba(236,221,184,.48));
  border-radius: 16px;
  padding: 18px;
  margin: 18px 0;
}
.player-tracker-admin h3,
.player-tracker-panel h2 {
  margin-top: 0;
}
.player-tracker-form label {
  display: block;
  margin-bottom: 14px;
}
.player-tracker-form input,
.player-tracker-form textarea {
  width: 100%;
  box-sizing: border-box;
}
.rich-editor-box.compact {
  min-height: 160px;
}
.character-hero-stats div span,
.character-stat-card span {
  letter-spacing: .05em;
  text-transform: uppercase;
}


/* V32 player private sheet visibility/contrast fix */
.player-character-hero {
  min-height: 310px;
  padding: 48px 0 42px;
  margin-bottom: 0;
}
.player-hero-grid-fix {
  width: min(1280px, calc(100% - 32px));
  margin: 0 auto;
  display: grid;
  align-items: center;
}
.player-character-hero .character-hero-body-v25,
.player-character-hero .character-hero-copy,
.player-character-hero .character-hero-body-v25 h1,
.player-character-hero .character-hero-body-v25 p,
.player-character-hero .breadcrumb,
.player-character-hero .breadcrumb a {
  color: #fff3d2 !important;
  text-shadow: 0 2px 14px rgba(0,0,0,.72);
}
.player-character-hero .character-hero-body-v25 h1 {
  font-size: clamp(42px, 5vw, 78px);
  line-height: .98;
  margin: 8px 0 12px;
}
.player-character-hero .character-hero-pills-v25 span,
.player-character-hero .character-hero-stats div {
  color: #fff1c8 !important;
  background: rgba(5, 10, 18, .72) !important;
  border-color: rgba(218,180,92,.50) !important;
}
.player-sheet-shell {
  width: min(1280px, calc(100% - 32px));
  margin: 28px auto 84px !important;
  display: grid !important;
  grid-template-columns: 330px minmax(0, 1fr);
  align-items: start;
  gap: 24px;
  min-height: 300px;
}
.player-sheet-shell .panel,
.player-sheet-shell .parchment-panel,
.player-tracker-panel {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #1f2a39 !important;
  background: linear-gradient(180deg, rgba(255,248,232,.96), rgba(238,221,181,.92)) !important;
  border: 1px solid rgba(197,155,75,.50) !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.24), inset 0 0 28px rgba(120,80,30,.05) !important;
}
.player-sheet-shell h2,
.player-sheet-shell h3,
.player-sheet-shell strong,
.player-sheet-shell dt,
.player-sheet-shell dd,
.player-sheet-shell p,
.player-sheet-shell li,
.player-sheet-shell td,
.player-sheet-shell th,
.player-sheet-shell label {
  color: #1f2a39;
}
.player-sheet-shell .muted { color: #6b5632 !important; }
.player-sheet-message { width:min(1280px, calc(100% - 32px)); margin:20px auto 0; }
.player-tracker-form input,
.player-tracker-form textarea {
  border: 1px solid rgba(117,82,31,.34);
  border-radius: 12px;
  padding: 10px 12px;
  background: rgba(255,252,241,.86);
  color: #1f2a39;
}
.player-tracker-form input:focus,
.player-tracker-form textarea:focus { outline: 2px solid rgba(197,155,75,.30); }
@media (max-width: 980px) {
  .player-sheet-shell,
  .player-hero-grid-fix { grid-template-columns: 1fr; }
  .player-hero-grid-fix { justify-items: center; text-align: center; }
}
