:root{--bg:#080c15;--panel:#111827;--panel-2:#151e31;--line:#29334a;--gold:#c8a84e;--gold-bright:#f0ce65;--text:#ece5d5;--muted:#7d879e;--orange:#e3833d;--cyan:#53c8d4;--fire:#ef6949;--water:#4e9fe8;--nature:#67bd69;--light:#f3d164;--shadow:#a276d4}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font:13px/1.4 'Segoe UI',system-ui,sans-serif}body{background-image:linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px);background-size:32px 32px}.site-shell{max-width:1440px;margin:auto;min-height:100vh;padding:0 34px}.topbar{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand-lockup{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--gold);color:var(--gold-bright);font-size:12px;font-weight:800;letter-spacing:-1px;box-shadow:inset 0 0 15px #c8a84e22}.brand-lockup strong,.brand-lockup span{display:block}.brand-lockup strong{font-size:13px;letter-spacing:2px}.brand-lockup div span{margin-top:2px;color:var(--muted);font-size:9px;letter-spacing:1.5px}.top-stats{display:flex;gap:28px;color:var(--muted);font-size:9px;letter-spacing:1px}.top-stats b{color:var(--nature);margin-left:7px;font-size:10px}.hero-strip{display:flex;justify-content:space-between;padding:45px 0 35px;border-bottom:1px solid var(--line)}.eyebrow,.section-heading,.detail-kicker,.data-list dt{font-size:10px;letter-spacing:2px;color:var(--gold);font-weight:700}.hero-strip h1{font-size:38px;letter-spacing:1px;line-height:1;margin:10px 0}.hero-strip h1 em{font-style:normal;color:var(--gold-bright)}.lede{color:var(--muted);max-width:475px;margin:0}.hero-seal{width:105px;height:105px;border:1px solid #a4853e;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;color:var(--gold)}.hero-seal:before,.hero-seal:after{content:"";position:absolute;inset:7px;border:1px solid #a4853e66}.hero-seal span,.hero-seal small{font-size:8px;letter-spacing:2px}.hero-seal strong{font-size:32px;line-height:1;color:var(--gold-bright)}.hero-seal small{text-align:center;margin-top:3px;color:var(--muted)}.toolbar{display:flex;align-items:center;gap:14px;padding:22px 0}.search-box{height:38px;display:flex;align-items:center;background:var(--panel);border:1px solid var(--line);padding:0 10px;color:var(--gold);min-width:250px}.search-box span{font-size:21px;line-height:0}.search-box input{border:0;outline:0;background:transparent;color:var(--text);padding:0 8px;min-width:0;width:100%;font:inherit}.search-box input::placeholder{color:var(--muted)}.clear-button{border:0;background:none;color:var(--muted);font-size:20px;cursor:pointer}.element-filters{display:flex;gap:5px;overflow-x:auto;padding-bottom:2px}.filter-button{height:38px;white-space:nowrap;padding:0 11px;background:transparent;border:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:700;letter-spacing:1px;cursor:pointer}.filter-button:hover,.filter-button.active{border-color:var(--gold);color:var(--text);background:#c8a84e18}.element-dot{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;margin-right:6px;font-size:9px;font-style:normal;color:#06101a;background:var(--muted)}.fire .element-dot,.element-dot.fire{background:var(--fire)}.water .element-dot,.element-dot.water{background:var(--water)}.nature .element-dot,.element-dot.nature{background:var(--nature)}.light .element-dot,.element-dot.light{background:var(--light)}.shadow .element-dot,.element-dot.shadow{background:var(--shadow)}.result-count{margin-left:auto;white-space:nowrap;color:var(--muted);font-size:10px;letter-spacing:1px}.result-count span:first-child{color:var(--gold-bright);font-size:17px;font-weight:700}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;padding-bottom:40px}.catalog-panel,.detail-panel{background:linear-gradient(145deg,#111827ee,#0d1321ee);border:1px solid var(--line);position:relative}.catalog-panel{padding:20px}.section-heading{display:flex;align-items:center;gap:10px;margin-bottom:18px}.section-heading i{height:1px;background:var(--line);flex:1}.section-heading small{color:var(--muted);font-size:9px;letter-spacing:1px}.monster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:12px}.monster-card{padding:0;background:var(--panel-2);border:1px solid var(--line);color:var(--text);text-align:left;cursor:pointer;position:relative;animation:card-in .35s var(--delay) both;transition:border-color .2s,transform .2s,box-shadow .2s}.monster-card:hover{border-color:#b6a15e;transform:translateY(-3px)}.monster-card.selected{border-color:var(--gold-bright);box-shadow:0 0 0 1px var(--gold),0 0 24px #c8a84e2b}.card-id{position:absolute;z-index:1;top:7px;left:8px;font-size:9px;color:var(--gold);letter-spacing:1px}.portrait-wrap{display:block;aspect-ratio:1/1;background:radial-gradient(circle at 50% 48%,#334b55,#111a29 65%);overflow:hidden;position:relative}.portrait-wrap img{width:100%;height:100%;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 8px 5px #0009);transition:transform .3s}.monster-card:hover img,.monster-card.selected img{transform:scale(1.06)}.image-fallback{display:none;place-items:center;position:absolute;inset:0;color:var(--muted)}.portrait-wrap img:not([src])+.image-fallback{display:grid}.card-meta{display:block;padding:10px 9px 9px;background:#0e1625}.card-meta b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.card-meta small{display:flex;align-items:center;margin-top:7px;color:var(--gold);font-size:10px;letter-spacing:1px}.card-meta .element-dot{width:15px;height:15px}.detail-panel{padding:20px;border-left:2px solid var(--gold);align-self:start}.detail-kicker{display:flex;justify-content:space-between;color:var(--muted);margin-bottom:15px}.detail-kicker b{color:var(--gold);font-size:11px}.detail-portrait{aspect-ratio:1/1;background:radial-gradient(circle at 50% 48%,#394e52,#101928 65%);position:relative;overflow:hidden;border:1px solid var(--line)}.detail-portrait img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 15px 8px #000b);animation:portrait-float 3s ease-in-out infinite}.scanline{height:1px;background:#e8c85e66;position:absolute;left:0;right:0;top:18%;z-index:2;box-shadow:0 0 10px var(--gold);animation:scan 4s ease-in-out infinite}.portrait-label{position:absolute;bottom:9px;right:10px;color:var(--muted);font-size:9px;letter-spacing:1px}.detail-title{padding-top:18px;position:relative}.element-tag{font-size:9px;letter-spacing:1px;color:var(--muted)}.detail-title h2{font-size:25px;margin:5px 0;color:var(--text)}.rarity{color:var(--gold-bright);letter-spacing:2px}.rarity i{font-style:normal;color:var(--muted);font-size:10px;margin-left:7px}.detail-rule{height:1px;background:var(--line);margin:18px 0}.data-list{margin:0}.data-list div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #202a3d}.data-list dt{color:var(--muted);font-size:9px;letter-spacing:1px}.data-list dd{margin:0;color:var(--text);font-size:10px;letter-spacing:1px}.archive-action,.empty-state button{margin-top:20px;width:100%;background:#c8a84e18;border:1px solid var(--gold);color:var(--gold-bright);height:38px;font:700 10px inherit;letter-spacing:1px;cursor:pointer}.archive-action span{font-size:18px;vertical-align:-2px;margin-right:7px}.empty-state{text-align:center;padding:70px 20px;color:var(--muted)}.empty-state strong,.empty-state span{display:block}.empty-state strong{color:var(--gold);letter-spacing:2px}.empty-state button{width:auto;padding:0 16px}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:18px 0;color:#566078;font-size:9px;letter-spacing:1px}@keyframes card-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes portrait-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes scan{0%,100%{top:18%;opacity:0}35%,65%{opacity:.7}50%{top:78%;opacity:.25}}@media(max-width:768px){.site-shell{padding:0 16px}.topbar{height:62px}.top-stats{display:none}.hero-strip{padding:30px 0 26px}.hero-strip h1{font-size:30px}.hero-seal{width:80px;height:80px}.hero-seal strong{font-size:24px}.toolbar{align-items:stretch;flex-wrap:wrap}.search-box{flex:1;min-width:190px}.element-filters{order:3;width:100%}.result-count{margin-left:auto}.content-layout{display:flex;flex-direction:column}.detail-panel{order:-1}.monster-grid{grid-template-columns:repeat(auto-fill,minmax(108px,1fr))}.detail-panel{padding:15px}.detail-portrait{max-height:340px}.catalog-panel{padding:14px}footer{display:block;line-height:2}footer span{display:block}}@media(max-width:480px){.hero-strip{display:block}.hero-seal{display:none}.hero-strip h1{font-size:27px}.monster-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.card-meta{padding:7px 6px}.card-meta b{font-size:10px}.card-meta small{font-size:8px}.card-id{top:5px;left:5px;font-size:8px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.detail-portrait img{animation:none}}
.tile-badge{position:absolute;z-index:2;right:6px;bottom:6px;width:20px;height:20px;display:grid;place-items:center;background:#0a0e1acc;border:1px solid var(--gold);color:var(--gold-bright);font-size:9px;border-radius:2px}.portrait-wrap canvas{width:100%;height:100%;display:block}.filter-toggle{height:38px;padding:0 13px;background:transparent;border:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:700;letter-spacing:1px;cursor:pointer;white-space:nowrap}.filter-toggle:hover{border-color:var(--gold);color:var(--text)}.filter-toggle.active{border-color:var(--gold);color:var(--gold-bright);background:#c8a84e18}.detail-placeholder{aspect-ratio:1/1;display:grid;place-items:center;border:1px dashed var(--line);color:var(--muted);font-size:10px;letter-spacing:1px;padding:20px;text-align:center}.clip-buttons{display:flex;gap:8px;margin-top:20px}.clip-buttons button{flex:1;height:38px;background:#c8a84e18;border:1px solid var(--gold);color:var(--gold-bright);font:700 10px 'Segoe UI',system-ui,sans-serif;letter-spacing:1px;cursor:pointer}.clip-buttons button:hover{background:#c8a84e30}.clip-buttons button:disabled{opacity:.35;cursor:default;border-color:var(--line);color:var(--muted);background:transparent}
.stage-tabs{position:absolute;z-index:2;left:6px;bottom:6px;display:flex;gap:3px}.stage-tabs i{font-style:normal;min-width:18px;height:18px;display:grid;place-items:center;background:#0a0e1acc;border:1px solid var(--line);color:var(--muted);font-size:8px;font-weight:700;border-radius:2px;cursor:pointer;pointer-events:auto}.stage-tabs i:hover{border-color:var(--gold);color:var(--gold-bright)}.stage-tabs i.active{border-color:var(--gold);background:var(--gold);color:#0a0e1a}.stage-chips{display:flex;gap:6px;margin-top:14px}.stage-chip{flex:1;height:30px;background:transparent;border:1px solid var(--line);color:var(--muted);font:700 10px 'Segoe UI',system-ui,sans-serif;letter-spacing:1px;cursor:pointer}.stage-chip:hover{border-color:var(--gold);color:var(--gold-bright)}.stage-chip.active{border-color:var(--gold);background:#c8a84e18;color:var(--gold-bright)}
.detail-portrait canvas{width:100%;height:100%;display:block}
.no-art{display:none;position:absolute;inset:0;place-items:center;text-align:center;color:#5b6480;font-size:9px;letter-spacing:2px;line-height:1.7;font-weight:700;background:repeating-linear-gradient(45deg,#0d131f,#0d131f 6px,#101725 6px,#101725 12px)}
.monster-card.card-offline .no-art{display:grid}
/* --- pedia UI: chips, pager, detail page, skills --- */
.brand-lockup{text-decoration:none;color:inherit}
.lang-switch{display:inline-flex;align-items:center;gap:6px}
.lang-switch button{background:transparent;border:1px solid var(--line);color:var(--muted);font:700 9px inherit;letter-spacing:1px;padding:3px 7px;cursor:pointer}
.lang-switch button.on{border-color:var(--gold);color:var(--gold-bright);background:#c8a84e18}
.select-box{height:38px;background:var(--panel);border:1px solid var(--line);color:var(--text);font:inherit;padding:0 8px;cursor:pointer}
.chip-row{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:18px}
.chip{background:transparent;border:1px solid var(--line);color:var(--muted);font:700 10px inherit;letter-spacing:1px;height:30px;padding:0 12px;cursor:pointer}
.chip:hover{border-color:var(--gold);color:var(--text)}
.chip.on{border-color:var(--gold-bright);color:#0a0e1a;background:var(--gold)}
.el-fire.chip.on{background:var(--fire);border-color:var(--fire);color:#fff}
.el-water.chip.on{background:var(--water);border-color:var(--water);color:#fff}
.el-earth.chip.on{background:#8a6a3a;border-color:#8a6a3a;color:#fff}
.el-air.chip.on{background:#6fb3c8;border-color:#6fb3c8;color:#08131a}
.el-life.chip.on{background:var(--nature);border-color:var(--nature);color:#08131a}
.el-death.chip.on{background:var(--shadow);border-color:var(--shadow);color:#fff}
.element-dot.el-fire{background:var(--fire)}.element-dot.el-water{background:var(--water)}
.element-dot.el-earth{background:#8a6a3a}.element-dot.el-air{background:#6fb3c8}
.element-dot.el-life{background:var(--nature)}.element-dot.el-death{background:var(--shadow)}
.element-dot.el-none{background:var(--muted)}
.dex-tag{position:absolute;top:6px;left:7px;z-index:2;font-size:9px;color:var(--gold);letter-spacing:1px;background:#0a0e1acc;padding:1px 4px}
.stage-tabs{position:absolute;z-index:2;left:6px;bottom:6px;display:flex;gap:3px}
.stage-tabs i{display:grid;place-items:center;width:16px;height:16px;font-style:normal;font-size:9px;background:#0a0e1acc;border:1px solid var(--line);color:var(--muted);cursor:pointer}
.stage-tabs i.active{border-color:var(--gold);color:var(--gold-bright)}
.monster-card{cursor:pointer;text-align:left}
.card-meta small{display:block;color:var(--muted);font-size:9px;letter-spacing:.5px;margin-top:5px}
.card-meta small .element-dot{width:9px;height:9px;margin-right:5px;vertical-align:0}
.pager{display:flex;align-items:center;justify-content:center;gap:14px;padding-top:22px}
.pager button{background:#c8a84e18;border:1px solid var(--gold);color:var(--gold-bright);height:34px;padding:0 16px;font:700 10px inherit;letter-spacing:1px;cursor:pointer}
.pager button:disabled{opacity:.3;cursor:default;border-color:var(--line);color:var(--muted);background:transparent}
.pager-pos{color:var(--muted);font-size:10px;letter-spacing:1px}
.pager-size{color:var(--muted);font-size:9px;letter-spacing:1px;display:flex;align-items:center;gap:6px}
.pager-size select{background:var(--panel);border:1px solid var(--line);color:var(--text);font:inherit;padding:3px 5px}
.back-link{display:inline-block;margin:22px 0 6px;color:var(--gold);font-size:10px;letter-spacing:2px;text-decoration:none}
.back-link:hover{color:var(--gold-bright)}
.detail-page{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:26px;padding-bottom:44px}
.detail-art{position:sticky;top:16px;align-self:start}
.detail-page .detail-portrait{aspect-ratio:1/1;border:1px solid var(--line);background:radial-gradient(circle at 50% 46%,#2c3a4e,#0e1522 68%)}
.detail-page .detail-portrait.el-fire{background:radial-gradient(circle at 50% 46%,#4a2a24,#0e1522 68%)}
.detail-page .detail-portrait.el-water{background:radial-gradient(circle at 50% 46%,#20384f,#0e1522 68%)}
.detail-page .detail-portrait.el-earth{background:radial-gradient(circle at 50% 46%,#40331f,#0e1522 68%)}
.detail-page .detail-portrait.el-air{background:radial-gradient(circle at 50% 46%,#264048,#0e1522 68%)}
.detail-page .detail-portrait.el-life{background:radial-gradient(circle at 50% 46%,#243d28,#0e1522 68%)}
.detail-page .detail-portrait.el-death{background:radial-gradient(circle at 50% 46%,#33244a,#0e1522 68%)}
.detail-info h1{font-size:32px;margin:6px 0 2px}
.detail-alt{color:var(--muted);margin:0 0 14px;letter-spacing:1px}
.badge-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}
.badge{border:1px solid var(--line);color:var(--text);font-size:10px;letter-spacing:1px;padding:4px 10px}
.badge.el-fire{border-color:var(--fire);color:var(--fire)}
.badge.el-water{border-color:var(--water);color:var(--water)}
.badge.el-earth{border-color:#b08a4a;color:#c79b52}
.badge.el-air{border-color:#6fb3c8;color:#6fb3c8}
.badge.el-life{border-color:var(--nature);color:var(--nature)}
.badge.el-death{border-color:var(--shadow);color:var(--shadow)}
.skill{border:1px solid var(--line);border-left:2px solid var(--gold);padding:11px 13px;margin-bottom:9px;background:#0e1625}
.skill.passive{border-left-color:var(--cyan)}
.skill-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.skill-head b{font-size:13px;color:var(--text)}
.skill-tag{font-size:8px;letter-spacing:1.5px;color:var(--muted);border:1px solid var(--line);padding:2px 6px}
.skill-desc{margin:7px 0 0;color:#cfd6e4;font-size:12px;line-height:1.65}
.skill-help{margin:6px 0 0;color:var(--muted);font-size:11px;line-height:1.55}
.muted{color:var(--muted)}
.evo-row{display:flex;flex-wrap:wrap;gap:9px}
.evo-item{display:block;border:1px solid var(--line);padding:9px 12px;text-decoration:none;color:var(--text);min-width:118px}
.evo-item:hover{border-color:var(--gold)}
.evo-item.on{border-color:var(--gold-bright);background:#c8a84e14}
.evo-item b{display:block;color:var(--gold);font-size:9px;letter-spacing:1px}
.evo-item span{display:block;margin:3px 0;font-size:12px}
.evo-item small{color:var(--muted);font-size:9px;letter-spacing:1px}
.detail-page .detail-placeholder{aspect-ratio:1/1;display:grid;place-items:center;padding:32px;text-align:center;line-height:1.8}
/* --- base stat bars (original-game rectangle style) --- */
.stat-bars{display:flex;flex-direction:column;gap:9px;margin:4px 0 2px}
.stat-bar{display:grid;grid-template-columns:56px 1fr 54px;align-items:center;gap:11px}
.stat-bar__label{font-size:10px;letter-spacing:1px;color:var(--gold);font-weight:700;text-align:left}
.stat-bar__track{position:relative;height:13px;background:#0b1220;border:1px solid var(--line);overflow:hidden}
.stat-bar__fill{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,#9a7e34,#e8c85e);box-shadow:0 0 9px #c8a84e66;transition:width .25s ease-out}
.stat-bar__val{font-size:12px;color:var(--text);text-align:right;font-variant-numeric:tabular-nums}
.stat-bars.el-fire .stat-bar__fill{background:linear-gradient(90deg,#7a2f22,#ef6949);box-shadow:0 0 9px #ef694966}
.stat-bars.el-water .stat-bar__fill{background:linear-gradient(90deg,#1f4f7a,#4e9fe8);box-shadow:0 0 9px #4e9fe866}
.stat-bars.el-earth .stat-bar__fill{background:linear-gradient(90deg,#5a4322,#b08a4a);box-shadow:0 0 9px #b08a4a66}
.stat-bars.el-air .stat-bar__fill{background:linear-gradient(90deg,#2a5560,#6fb3c8);box-shadow:0 0 9px #6fb3c866}
.stat-bars.el-life .stat-bar__fill{background:linear-gradient(90deg,#1f4a28,#67bd69);box-shadow:0 0 9px #67bd6966}
.stat-bars.el-death .stat-bar__fill{background:linear-gradient(90deg,#3f2a5a,#a276d4);box-shadow:0 0 9px #a276d466}
@media(max-width:860px){.detail-page{grid-template-columns:1fr}.detail-art{position:static}}

