:root{color-scheme:dark;--bg:#14121b;--bg-deep:#0f0d14;--panel:#211d29;--panel-hi:#29232e;--line:#3b3441;--text:#f4ede5;--muted:#b6aab7;--gold:#efc478;--gold-soft:#a77b42;--red:#cf6259;--purple:#756080;font-family:'Noto Sans Thai',system-ui,sans-serif;font-size:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text)}button,input{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}::selection{background:#a0524b;color:white}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand,.eyebrow,.latin,.english-name,.level-kicker,.total-badge,.card-kind,.version{font-family:'Chakra Petch','Noto Sans Thai',sans-serif}.app-shell{min-height:100vh}.topbar{height:76px;position:sticky;top:0;z-index:20;background:rgba(19,16,24,.94);backdrop-filter:blur(18px);border-bottom:1px solid #38303a;display:flex;align-items:center;justify-content:space-between;padding:0 max(26px,calc((100vw - 1450px)/2))}.brand{display:flex;align-items:center;gap:12px;letter-spacing:.11em;line-height:1.05}.brand strong{display:block;font-size:1.17rem;font-weight:700}.brand small{display:block;color:var(--gold);font-size:.63rem;letter-spacing:.3em;margin-top:7px}.brand-mark{height:41px;width:41px;border:1px solid var(--gold-soft);display:grid;place-items:center;color:var(--gold);font-size:1.7rem;font-weight:700;transform:rotate(-7deg);background:#35212a;box-shadow:inset 0 0 0 3px #16131b}.top-meta{display:flex;gap:18px;align-items:center}.version{font-size:.8rem;color:var(--muted);letter-spacing:.06em}.icon-button,.close-dialog{border:1px solid var(--line);background:#27212d;color:var(--gold);width:36px;height:36px;border-radius:50%;font-weight:700}.layout{max-width:1450px;margin:auto;display:grid;grid-template-columns:224px minmax(0,1fr)}.rail{border-right:1px solid #342e37;min-height:calc(100vh - 76px);padding:40px 16px 20px 0;position:sticky;top:76px;height:calc(100vh - 76px)}.rail-label,.eyebrow{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:700}.rail-label{padding-left:24px;margin-bottom:20px;color:#8e808d}.rail-link{display:flex;gap:14px;align-items:center;padding:13px 13px 13px 19px;border-radius:6px;margin-bottom:6px;color:#c5b9c5;font-size:.92rem;transition:.2s}.rail-link:hover,.rail-link.active{background:#302638;color:white}.rail-link.active{box-shadow:inset 3px 0 var(--gold)}.nav-icon{font-size:1.35rem;width:24px;text-align:center;color:var(--gold)}.rail-count{margin-left:auto;font-size:.73rem;color:#9a899a}.rail-bottom{position:absolute;bottom:32px;left:23px;font-size:.77rem;color:#8d808c;line-height:1.8}.bottom-nav{display:none}main{min-width:0;padding:30px clamp(22px,4vw,64px) 100px;background:radial-gradient(circle at 95% 0%,#261c2b 0,transparent 28%),var(--bg)}.home-screen,.list-screen,.detail-screen{max-width:1130px;margin:auto}.welcome{min-height:335px;border:1px solid #67503f;position:relative;overflow:hidden;background:#231a20;display:grid;grid-template-columns:60% 40%}.welcome:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#211a24 0%,#211a24 37%,rgba(34,26,34,.68) 63%,rgba(27,20,29,.07)),linear-gradient(0deg,rgba(20,17,25,.5),transparent 35%);z-index:1}.welcome-photo{grid-column:1/-1;grid-row:1;background:url('assets/scene-battle.jpg') center 46%/cover no-repeat;filter:saturate(.82)}.welcome-content{grid-column:1/-1;grid-row:1;z-index:2;align-self:center;padding:32px clamp(28px,5vw,70px);max-width:660px}.welcome h1{font-size:clamp(2.4rem,5vw,4.4rem);line-height:1.06;letter-spacing:-.04em;margin:14px 0}.welcome h1 em{color:var(--gold);font-style:normal}.welcome p:not(.eyebrow){color:#ddd0ce;max-width:390px;line-height:1.75;font-size:.98rem}.welcome-link{display:inline-flex;align-items:center;gap:28px;background:var(--gold);color:#20151d;font-weight:700;padding:11px 18px;margin-top:9px;border-radius:3px}.welcome-link span{font-size:1.3rem}.search-wrap{margin:28px 0 38px}.search-wrap label{display:block;font-size:.84rem;font-weight:700;margin-bottom:10px}.search-field{display:flex;align-items:center;gap:12px;border:1px solid #534455;background:#211d29;border-radius:5px;padding:0 15px;height:54px}.search-field:focus-within{border-color:var(--gold)}.search-field>span{font-size:1.6rem;color:var(--gold);line-height:1}.search-field input{border:0;background:none;color:var(--text);outline:0;width:100%;min-width:0;font-size:.93rem}.search-field input::placeholder{color:#8f8191}.search-field kbd{border:1px solid var(--line);border-radius:3px;color:#94889a;padding:1px 8px}.search-results:not(:empty){background:#2b2430;border:1px solid #594959;border-radius:0 0 6px 6px;box-shadow:0 15px 35px #0007;position:absolute;z-index:5;width:min(700px,calc(100% - 40px));max-height:360px;overflow:auto}.search-results a{display:flex;align-items:center;gap:14px;padding:10px 16px;border-bottom:1px solid var(--line)}.search-results a:hover{background:#3a2e3b}.search-results a>span:last-child{margin-left:auto;color:var(--gold)}.search-results strong,.search-results small{display:block}.search-results small{font-family:'Chakra Petch';color:var(--muted);font-size:.8rem}.search-results p{padding:13px;color:var(--muted);margin:0}.result-icon{color:var(--gold);font-size:1.35rem}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:28px 0 18px}.section-heading h2{font-size:clamp(1.4rem,2.5vw,1.85rem);line-height:1.2;margin:5px 0 0}.section-heading .eyebrow{margin:0}.muted{color:#958995;font-size:.78rem}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.category-card{min-height:112px;padding:17px;display:flex;align-items:center;gap:17px;border:1px solid #493b48;background:linear-gradient(128deg,#302632,#231f2b);position:relative;overflow:hidden;transition:transform .2s,border-color .2s}.category-card:hover,.entry-card:hover{transform:translateY(-3px);border-color:#aa8056}.category-card:nth-child(3n+2){background:linear-gradient(128deg,#32252e,#241d2a)}.category-card:nth-child(3n){background:linear-gradient(128deg,#28283a,#211e2e)}.category-icon{height:56px;min-width:56px;display:grid;place-items:center;border:1px solid #735861;border-radius:50%;background:#3c2b37;color:var(--gold);font-size:1.8rem}.category-card strong,.category-card small{display:block}.category-card strong{font-size:1.07rem}.category-card small{color:#b7aab6;font-size:.72rem;line-height:1.5;margin-top:3px}.category-arrow{position:absolute;top:9px;right:12px;color:#c6a475}.discoveries{margin-top:46px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.entry-card{min-width:0;border:1px solid #413742;background:#211d27;display:block;transition:transform .2s,border-color .2s;overflow:hidden}.card-art{height:166px;position:relative;overflow:hidden;background:radial-gradient(circle at 48% 45%,#5b3641,#2a2431 65%,#211b25)}.card-art img{height:100%;width:100%;object-fit:cover;object-position:center}.card-art.has-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(21,16,23,.75),transparent 62%)}.card-art .image-fallback{height:100%;display:grid;place-items:center;color:#aa8599;font-family:'Chakra Petch';font-weight:700;font-size:3rem;letter-spacing:.05em;opacity:.7}.card-kind{position:absolute;bottom:12px;left:15px;z-index:2;padding:3px 8px;border:1px solid #946950;background:rgba(33,23,29,.8);color:#ffd298;font-size:.7rem}.card-body{padding:16px 17px 17px}.card-body h3{font-size:1.17rem;margin:0;line-height:1.3}.latin{color:#b7a0a5;font-size:.82rem;margin:3px 0 13px}.card-summary{color:#c7bbc5;font-size:.85rem;line-height:1.65;min-height:44px;margin-bottom:16px}.card-open{display:flex;justify-content:space-between;border-top:1px solid #403642;padding-top:11px;font-size:.8rem;color:var(--gold);font-weight:700}.page-note{border-top:1px solid var(--line);padding-top:20px;color:#948793;font-size:.75rem;line-height:1.8;margin:36px 0}.list-hero{min-height:155px;padding:25px 0 15px;display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid #493c49}.list-hero h1{font-size:clamp(2rem,4vw,3.1rem);margin:10px 0 4px;display:flex;align-items:center;gap:14px}.heading-icon{color:var(--gold);font-size:.75em}.list-hero p:not(.eyebrow){color:#aa9faa;margin:0;font-size:.9rem}.total-badge{white-space:nowrap;border:1px solid #6e5350;padding:7px 12px;color:#e5b586;background:#30232a;font-size:.75rem}.list-toolbar{margin:24px 0 17px}.filters{display:flex;gap:8px;overflow-x:auto;padding:15px 0 3px;scrollbar-width:thin}.filter-chip{white-space:nowrap;border:1px solid #534655;background:#231f2a;color:#b9adb9;padding:7px 14px;border-radius:100px;font-size:.78rem}.filter-chip.selected{color:#241821;border-color:var(--gold);background:var(--gold);font-weight:700}.result-line{font-size:.76rem;color:#aa9eaa;margin:0 0 14px}.empty{color:var(--muted);padding:25px}.breadcrumbs{display:flex;align-items:center;gap:9px;color:#9f91a0;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:4px 0 25px}.breadcrumbs a:hover{color:var(--gold)}.breadcrumbs span:last-child{color:var(--gold);overflow:hidden;text-overflow:ellipsis}.detail-head{display:grid;grid-template-columns:minmax(240px,38%) minmax(0,1fr);gap:clamp(25px,4vw,55px);align-items:center;padding-bottom:38px;border-bottom:1px solid var(--line)}.detail-portrait{min-height:300px;aspect-ratio:1.13;display:grid;place-items:center;position:relative;border:1px solid #795c50;overflow:hidden;background:radial-gradient(circle at 48% 40%,#68404d,#30242f 72%)}.detail-portrait img{height:100%;width:100%;object-fit:cover;position:absolute;inset:0}.detail-portrait .image-fallback{font:700 clamp(5rem,14vw,10rem)/1 'Chakra Petch';color:#9c6f75}.portrait-credit{position:absolute;bottom:10px;left:12px;background:#1b1724b9;color:#eee0d8;font-size:.66rem;padding:4px 7px;z-index:1}.detail-intro .eyebrow{margin-bottom:14px}.detail-intro h1{font-size:clamp(2.1rem,4vw,3.65rem);line-height:1.15;letter-spacing:-.03em;margin:0}.english-name{color:var(--gold);font-size:1.1rem;margin:6px 0 19px}.lede{font-size:1.07rem;line-height:1.75;max-width:540px;color:#e6dce2}.info-tag{display:inline-block;padding:5px 11px;border:1px solid #7b5655;color:#e7bd94;background:#30242d;font-size:.75rem}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 268px;gap:24px;margin-top:30px}.panel{border:1px solid #473a46;background:var(--panel);padding:23px;margin-bottom:17px}.explain-panel{background:linear-gradient(110deg,#30222e,#211d29);border-color:#78594b}.panel-heading{display:flex;align-items:center;gap:11px;margin-bottom:10px}.panel-heading h2{font-size:1.3rem;margin:0}.panel-icon{color:var(--gold);font-size:1.5rem}.panel>p:not(.panel-help){color:#e1d4da;line-height:1.85;margin:0}.panel-help{font-size:.78rem;color:#ad9caa;margin-bottom:18px}.level-tabs{display:flex;gap:7px;overflow-x:auto;padding-bottom:8px}.level-tab{padding:8px 13px;border:1px solid #554453;background:#29232e;color:#c9bcca;white-space:nowrap;font-family:'Chakra Petch';font-size:.84rem}.level-tab.current{background:var(--gold);border-color:var(--gold);color:#261922;font-weight:700}.level-content{margin-top:12px;padding:20px;background:#17151e;border-left:2px solid var(--gold)}.level-kicker{font-size:.7rem;letter-spacing:.18em;color:var(--gold)}.level-content h3{font-size:1.14rem;margin:7px 0}.level-content p{color:#cfc3ce;font-size:.88rem;line-height:1.75;margin:0}.unlocked{display:block;color:var(--gold);font-size:.75rem;margin-top:12px}.skills-list{border-top:1px solid var(--line)}.skill{border-bottom:1px solid var(--line)}.skill summary{list-style:none;display:flex;align-items:center;gap:13px;padding:15px 0;cursor:pointer}.skill summary::-webkit-details-marker{display:none}.skill-number{color:var(--gold);font:700 1rem 'Chakra Petch';width:28px}.skill summary>span:nth-child(2){min-width:0;flex:1}.skill summary strong,.skill summary small{display:block}.skill summary strong{font-size:.96rem}.skill summary small{font-size:.77rem;color:#b2a5b1;line-height:1.6;margin-top:4px}.expand-icon{font-size:1.3rem;color:var(--gold)}.skill[open] .expand-icon{transform:rotate(45deg)}.skill-content{padding:0 0 18px 41px}.skill-content>p{font-size:.86rem;color:#d5c8d3;line-height:1.8}.meaning{border-left:2px solid #a57157;background:#302630;padding:12px 15px}.meaning strong{color:var(--gold);font-size:.77rem}.meaning p{color:#ddd0db;margin:6px 0 0;line-height:1.75;font-size:.84rem}.empty-detail{background:#1a1720;padding:24px;color:#bdacb7;text-align:center;font-size:.86rem}.empty-detail span{font-size:1.7rem;color:var(--gold)}.empty-detail p{margin:6px 0}.empty-detail small{color:#9e909b}.source-panel{border:1px solid #554650;background:#2b242d;padding:20px;position:sticky;top:100px}.source-panel h3{font-size:1.1rem;margin:9px 0}.source-panel p:not(.eyebrow){font-size:.8rem;color:#c7b7c2;line-height:1.8}.source-panel a{display:inline-block;color:var(--gold);border-bottom:1px solid var(--gold);font-size:.83rem;overflow-wrap:anywhere}.side-divider{height:1px;background:#524450;margin:20px 0}.source-panel small{color:#9c8c98;font-size:.72rem;line-height:1.6;display:block}.back-link{display:block;margin-top:20px;color:var(--gold);font-size:.83rem}.about-dialog{max-width:470px;background:#28212d;border:1px solid var(--gold-soft);color:var(--text);padding:30px;line-height:1.8}.about-dialog::backdrop{background:#07050bbd}.about-dialog h2{font-size:1.7rem}.about-dialog p:not(.eyebrow){font-size:.86rem;color:#d5cad4}.close-dialog{float:right}.not-found{padding:15vh 0}.not-found a{color:var(--gold)}
@media(max-width:1100px){.layout{grid-template-columns:190px minmax(0,1fr)}.rail{padding-left:10px}.card-grid,.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{grid-template-columns:minmax(0,1fr)}.source-panel{position:static}.detail-side{display:grid;grid-template-columns:1fr}.welcome{min-height:315px}}
@media(max-width:740px){.topbar{height:64px;padding:0 18px}.brand-mark{height:36px;width:36px;font-size:1.4rem}.brand strong{font-size:.96rem}.brand small{font-size:.53rem;margin-top:5px}.version{font-size:.65rem}.top-meta{gap:9px}.rail{display:none}.layout{display:block}main{padding:20px 16px 94px;min-height:calc(100vh - 64px)}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:20;height:68px;padding-bottom:env(safe-area-inset-bottom);background:#1b1721f7;border-top:1px solid #5b4651;justify-content:space-around;backdrop-filter:blur(14px)}.bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#a997a8;line-height:1.1}.bottom-nav a.active{color:var(--gold)}.bottom-nav a span{font-size:1.32rem}.bottom-nav a small{font-size:.66rem;margin-top:3px}.welcome{min-height:270px}.welcome:before{background:linear-gradient(90deg,#211a24 0%,rgba(33,26,36,.92) 34%,rgba(33,26,36,.2) 100%),linear-gradient(0deg,rgba(20,17,25,.55),transparent 55%)}.welcome-content{padding:26px}.welcome h1{font-size:2.65rem}.welcome p:not(.eyebrow){font-size:.85rem;max-width:230px}.welcome-link{margin-top:2px;font-size:.8rem}.search-wrap{margin:22px 0 30px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.category-card{min-height:110px;padding:11px;gap:9px}.category-icon{min-width:39px;height:39px;font-size:1.35rem}.category-card strong{font-size:.88rem}.category-card small{font-size:.65rem}.category-arrow{font-size:.7rem}.section-heading h2{font-size:1.47rem}.section-heading .muted{display:none}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card-art{height:124px}.card-body{padding:12px}.card-body h3{font-size:.97rem}.latin{font-size:.7rem;line-height:1.25;margin:4px 0 9px}.card-summary{font-size:.74rem;min-height:58px;line-height:1.55}.card-open{font-size:.75rem}.card-kind{font-size:.62rem;left:8px;bottom:8px}.list-hero{min-height:125px;padding:12px 0}.list-hero h1{font-size:2.05rem}.list-hero p:not(.eyebrow){font-size:.77rem}.total-badge{font-size:.65rem;padding:5px 7px}.detail-head{grid-template-columns:1fr;gap:20px}.detail-portrait{min-height:0;aspect-ratio:1.7}.detail-intro h1{font-size:2.25rem}.detail-intro .eyebrow{margin-bottom:6px}.english-name{margin-bottom:10px}.lede{font-size:.95rem}.detail-head{padding-bottom:25px}.detail-grid{margin-top:20px;gap:5px}.panel{padding:18px}.source-panel{padding:18px}.breadcrumbs{margin:1px 0 15px}}
@media(max-width:390px){.version{display:none}.category-card{min-height:102px}.category-card small{display:none}.category-icon{min-width:36px;height:36px}.card-art{height:104px}.welcome h1{font-size:2.34rem}.level-tab{padding:7px 10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.category-card,.entry-card{transition:none}}

.search-wrap{position:relative}.search-results:not(:empty){width:100%}
.skill-steps{margin:13px 0 8px;display:grid;gap:1px;background:#584653;border:1px solid #584653}.skill-steps>div{background:#28222d;display:flex;gap:15px;padding:9px 12px;align-items:start}.skill-steps span{color:var(--gold);white-space:nowrap;font:700 .77rem 'Chakra Petch'}.skill-steps p{margin:0;color:#e0d3dd;font-size:.8rem;line-height:1.6}.step-note{font-size:.7rem!important;color:#aa96a4!important;margin-bottom:14px}
/* ภาพจากคู่มือเกมเป็นภาพหน้าจอ 16:9; แสดงกรอบภาพตัวป้อมด้านซ้าย */
.card-art img.tower-shot,.detail-portrait img.tower-shot{position:absolute;max-width:none;width:340%;height:auto;left:-13%;top:-8%;object-fit:unset}
.card-art .fallback-scene,.detail-portrait .fallback-scene{filter:brightness(.6) saturate(.8)}
.scene-caption{position:absolute;bottom:9px;right:9px;z-index:2;border:1px solid #a99076;background:#19141cd9;color:#e9d3ad;font-size:.65rem;padding:3px 6px}
.detail-portrait .scene-caption{bottom:12px;right:12px}
.card-art .enemy-sprite,.detail-portrait .enemy-sprite{display:block;width:124px;height:124px;background-repeat:no-repeat;background-size:calc(var(--sprite-count) * 100%) 100%;background-position:var(--sprite-pos) center;image-rendering:auto;filter:drop-shadow(0 10px 18px #0009)}
.card-art .enemy-sprite{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.detail-portrait .enemy-sprite{width:min(70%,260px);height:auto;aspect-ratio:1;position:relative;z-index:1}
.enemy-note{padding:14px 0;border-top:1px solid var(--line)}.enemy-note strong{color:var(--gold);font-size:.84rem}.enemy-note p{margin:5px 0 0;color:var(--text);line-height:1.7}.enemy-facts{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.enemy-facts span{font-size:.73rem;color:#e6c99f;background:#3a2b35;border:1px solid #715447;padding:5px 8px}
.card-art img.hero-icon,.detail-portrait img.hero-icon{position:absolute;width:120px;height:120px;max-width:75%;object-fit:contain;left:50%;top:50%;transform:translate(-50%,-50%);filter:drop-shadow(0 10px 16px #0009)}
.detail-portrait img.hero-icon{width:205px;height:205px;max-width:70%}
.missing-art{display:flex;width:100%;height:100%;min-height:110px;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#dfbb88;background:radial-gradient(circle at 50% 30%,#4a3241,#211c27 70%);text-align:center}.missing-art .ui-icon{width:36px;height:36px;opacity:.75}.missing-art small{font-size:.76rem;color:#e9d6ba}.detail-portrait .missing-art .ui-icon{width:58px;height:58px}
/* User image and text controls */
.ui-icon{width:1.2em;height:1.2em;display:inline-block;vertical-align:middle;flex:none}
.nav-icon .ui-icon,.bottom-nav .ui-icon{width:22px;height:22px}
.category-icon .ui-icon{width:30px;height:30px}
.heading-icon .ui-icon{width:.9em;height:.9em}
.panel-icon .ui-icon{width:25px;height:25px}
.card-open .ui-icon,.welcome-link .ui-icon{width:18px;height:18px}
.image-library-button{background:#362a35;color:var(--gold);border:1px solid #86664f;border-radius:4px;padding:7px 10px;font-size:.78rem;white-space:nowrap}
.entry-card{position:relative}
.card-main{display:block}
.entry-card .edit-image-button,.entry-card .edit-content-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;width:calc(50% - 11px);min-height:34px;margin:0 0 9px 8px;padding:5px 3px;border:1px solid #6a5260;background:#2a222d;color:#ebd2ac;border-radius:3px;font-size:.72rem}
.entry-card .edit-content-button{margin-left:5px}
.edit-image-button .ui-icon,.edit-content-button .ui-icon,.detail-edit-content .ui-icon{width:15px;height:15px}
.detail-image-button,.cover-image-button{position:absolute;z-index:5;top:11px;right:11px;display:inline-flex;gap:6px;align-items:center;padding:7px 10px;border:1px solid #bb9062;background:#211a25ed;color:#f4d9a6;border-radius:4px;font-size:.76rem}
.detail-edit-content{display:inline-flex;gap:8px;align-items:center;margin-top:18px;padding:9px 12px;border:1px solid #ac805a;background:#342834;color:#f5d8a1;border-radius:4px;font-weight:600}
.image-dialog,.content-dialog{width:min(590px,calc(100vw - 28px));max-height:88dvh;overflow:auto;background:#241d2a;color:var(--text);border:1px solid #a77b54;padding:24px;box-shadow:0 24px 65px #0009}
.content-dialog{width:min(690px,calc(100vw - 28px))}
.image-dialog::backdrop,.content-dialog::backdrop{background:#07050bc9}
.image-dialog h2,.content-dialog h2{line-height:1.3;margin-bottom:3px}
.image-dialog-name{font:500 .88rem 'Chakra Petch','Noto Sans Thai',sans-serif;color:var(--gold);margin-bottom:14px}
.image-dialog-preview{height:205px!important;position:relative;overflow:hidden;border:1px solid #665062;display:grid;place-items:center;margin:12px 0 17px}
.image-dialog-preview>img:not(.tower-shot):not(.hero-icon){width:100%;height:100%;object-fit:cover}
.image-dialog-preview .enemy-sprite{width:150px;height:150px;display:block;background-repeat:no-repeat;background-size:calc(var(--sprite-count) * 100%) 100%;background-position:var(--sprite-pos) center}
.image-upload-label,.image-import-label{display:block;text-align:center;width:100%;background:var(--gold);color:#221723;border:0;border-radius:4px;padding:11px 13px;font-weight:700;cursor:pointer;margin-top:10px}
.image-import-label{background:#382b38;color:#f0ce97;border:1px solid #8f6958}
.image-remove{display:block;margin:12px auto 0;border:0;background:none;color:#d9b7a7;text-decoration:underline;font-size:.83rem}
.image-remove[hidden]{display:none}
.image-dialog-status{color:var(--gold);font-size:.81rem;min-height:1.5em;margin:9px 0}
.image-dialog-tip{color:#b9a9b7;font-size:.75rem;line-height:1.65;margin:12px 0 0}
.content-dialog #contentFields{display:grid;gap:12px}
.content-dialog h3{font-size:1rem;color:var(--gold);margin:19px 0 1px;border-top:1px solid #4b3a49;padding-top:15px}
.content-field{display:block;min-width:0}
.content-field span{display:block;font-size:.78rem;color:#e5cda9;margin-bottom:5px}
.content-field input,.content-field textarea{width:100%;color:var(--text);background:#18151e;border:1px solid #65515e;border-radius:4px;padding:9px 10px;font-size:.85rem;line-height:1.5}
.content-field textarea{resize:vertical;min-height:66px}
.editor-row{display:grid;gap:11px;background:#302634;border:1px solid #59445a;padding:12px;margin:8px 0}
.add-editor-row,.remove-editor-row{border:1px solid #8b6a60;border-radius:3px;background:#342835;color:#eed4af;padding:7px 11px;font-size:.78rem}
.remove-editor-row{justify-self:end;color:#d8aba8}
.content-actions{padding-top:16px}
.content-actions .image-upload-label{cursor:pointer}
@media(max-width:600px){.image-library-button{font-size:.68rem;padding:6px 7px}.top-meta{gap:7px}.image-dialog,.content-dialog{padding:18px}.card-open .ui-icon{width:14px;height:14px}.category-icon .ui-icon{width:22px;height:22px}.entry-card .edit-image-button,.entry-card .edit-content-button{font-size:.65rem}}

/* Level and enemy figures are kept close to the associated play explanation. */
.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:19px 0 6px}
.stat-cell{display:flex;flex-direction:column;gap:5px;min-width:0;padding:13px 14px;border:1px solid #65505a;border-radius:5px;background:linear-gradient(142deg,#322735,#241f2b)}
.stat-cell span{font-size:.72rem;color:#c6aeb5;line-height:1.4}
.stat-cell strong{font-size:1.06rem;line-height:1.35;color:#f6d59a;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.stat-pending{padding:12px 14px;border-left:2px solid #ae8061;color:#d4c0b7;font-size:.84rem}
.stat-provenance{display:block;color:#a998a6;font-size:.72rem;line-height:1.55;margin:12px 1px}
.source-panel a{display:block;margin-top:10px}
.level-stat-editor{padding:12px 0;border-top:1px solid #534051}
.level-stat-editor h4{color:#f1d198;margin:3px 0 12px}
@media(max-width:380px){.stat-grid{gap:6px}.stat-cell{padding:11px}.stat-cell strong{font-size:.94rem}}
.quick-stats{display:flex;flex-wrap:wrap;gap:6px;margin:11px 0 8px}
.quick-stats>span{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:6px 9px;border:1px solid #8c675b;border-radius:4px;background:#352832;color:#f3d099;overflow-wrap:anywhere}
.quick-stats small{font-size:.65rem;letter-spacing:.04em;color:#ceb6a5}
.quick-stats strong{font-size:.79rem;font-variant-numeric:tabular-nums;line-height:1.4}
