/* Ability reference: original game art, compact navigation, explicit conditions. */
.abilities-page{--ability-active:#efbc67;--ability-passive:#8fdfb5;--ability-radius:12px;padding-bottom:30px}
.ability-level-form .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html[data-theme=light] .abilities-page{--ability-active:#825009;--ability-passive:#176843}
.ability-detail-heading h1{font-size:clamp(28px,3vw,40px);margin:8px 0 12px;letter-spacing:-1px}
.ability-filters{margin:24px 0 18px;scroll-margin-top:80px;display:grid;gap:16px;min-width:0}
.ability-search-line{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:22px;align-items:end;min-width:0}
.ability-search>span,.ability-kind-filter legend,.ability-group-filter legend{font-size:12px;font-weight:600;color:var(--muted)}
.ability-search>div{position:relative;margin-top:6px}.ability-search svg{position:absolute;top:13px;left:13px;color:var(--muted);pointer-events:none}
.abilities-page .ability-search input[type=search]{padding:11px 12px 11px 42px;min-height:46px;border-radius:9px;font-size:15px;background:var(--surface)}
.ability-kind-filter{display:flex;gap:4px;min-width:0;margin:0;padding:0;border:0}.ability-kind-filter legend{padding:0 0 6px}.ability-kind-filter label{position:relative;cursor:pointer}
.ability-kind-filter input{position:absolute;opacity:0;width:1px;height:1px;inset:0}.ability-kind-filter span{display:flex;align-items:center;justify-content:center;gap:7px;min-height:46px;min-width:78px;padding:9px 14px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:13px;font-weight:600;background:var(--surface)}.ability-kind-filter svg{flex:none;width:18px;height:18px}
.ability-kind-filter input:checked+span{background:color-mix(in srgb,var(--action) 12%,var(--surface));border-color:var(--action);color:var(--ink)}.ability-kind-filter input:focus-visible+span{outline:3px solid var(--accent);outline-offset:3px}
.ability-group-filter{min-width:0;padding:0;margin:0;border:0}.ability-group-filter legend{padding:0 0 8px}.ability-group-chips{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;min-width:0}
.abilities-page .ability-filter-chip{position:relative;display:flex;align-items:center;gap:8px;min-width:0;min-height:54px;padding:9px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--muted);text-align:left;line-height:1.35;transition:background .15s,border-color .15s,transform .15s;font:inherit;font-size:11px;box-shadow:none}
.ability-filter-chip .ability-icon{width:30px;height:30px;border-radius:5px;box-shadow:none;flex:none}.ability-filter-chip>svg{width:24px;height:24px;flex:none;margin-inline:3px}.ability-filter-name{min-width:0;flex:1;overflow-wrap:anywhere;font-weight:600}.ability-filter-chip small{flex:none;font-size:10px;line-height:1.2;font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums}
.abilities-page .ability-filter-chip:hover:not(:disabled){border-color:var(--accent);color:var(--ink);transform:translateY(-1px)}.abilities-page .ability-filter-chip[aria-pressed=true]{background:color-mix(in srgb,var(--action) 9%,var(--surface));border-color:var(--action);color:var(--ink)}.ability-filter-chip[aria-pressed=true]::after{content:'✓';position:absolute;right:4px;top:1px;font-size:9px;color:var(--action);line-height:1}.ability-filter-chip:disabled{opacity:.42;cursor:not-allowed}.ability-filter-chip:focus-visible,.ability-active-filters button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.ability-path-filter{border:0;border-bottom:1px solid var(--line);background:none;padding:0 0 10px;margin:0;border-radius:0;min-width:0}.ability-path-filter>summary{min-height:34px;align-content:center;font-size:12px;color:var(--ink);font-weight:600}.ability-path-filter>summary span{margin-left:12px;font-size:11px;font-weight:400;color:var(--muted)}.ability-path-chips{display:flex;flex-wrap:wrap;gap:7px;padding:9px 0 2px}.ability-path-chips .ability-filter-chip{flex:0 1 180px;min-height:44px}.ability-path-chips .ability-icon{width:27px;height:27px}
.ability-effect-line{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.ability-quick-effects{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.abilities-page .ability-quick-effect{min-height:38px;padding:6px 9px;font-size:11px;gap:6px;border-radius:7px}.ability-quick-effect .ability-icon{width:22px;height:22px;border-radius:4px}.ability-quick-effect small{display:none}
.ability-effect-picker{position:relative;flex:none;padding:0;margin:0;border:0;border-radius:8px;background:none;max-width:100%}.ability-effect-picker>summary{list-style:none;display:flex;align-items:center;gap:7px;min-height:38px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:12px;font-weight:500;background:var(--surface)}.ability-effect-picker summary::-webkit-details-marker{display:none}.ability-effect-picker summary::after{content:'⌄';font-size:15px;margin-left:4px}.ability-effect-picker[open] summary::after{content:'⌃'}.ability-effect-picker summary>b{font-size:10px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--action)}
.ability-effect-panel{position:absolute;z-index:12;top:calc(100% + 8px);right:0;width:560px;max-width:calc(100vw - 40px);border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--paper);box-shadow:0 14px 42px #0005}.ability-effect-panel>label{display:block;margin-bottom:7px;font-size:12px;color:var(--muted);font-weight:600}.ability-effect-panel input[type=search]{min-height:42px;background:var(--surface);font-size:14px}.ability-effect-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:310px;overflow-y:auto;overscroll-behavior:contain;margin:12px -3px -3px;padding:3px}.ability-effect-options .ability-filter-chip{font-size:11px;min-height:48px}.ability-effect-panel>p{font-size:12px;color:var(--muted);margin-bottom:0}
.ability-active-filters{display:flex;flex-wrap:wrap;gap:6px}.ability-active-filters button{display:flex;align-items:center;gap:10px;max-width:100%;padding:6px 9px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));border-radius:6px;background:color-mix(in srgb,var(--accent) 7%,var(--surface));color:var(--ink);font:inherit;font-size:11px;min-height:32px}.ability-active-filters button>span:first-child{overflow-wrap:anywhere}.ability-active-filters button>span:last-child{font-size:17px;line-height:1;color:var(--accent)}
.ability-results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px;margin-top:-4px}.ability-results-toolbar p{margin:0;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}.ability-reset{min-height:36px;border:0;background:transparent;color:var(--accent);font-size:12px;padding:6px 0 6px 12px}
.ability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0;padding:0;gap:12px}.ability-card{min-width:0;border:1px solid var(--line);border-radius:var(--ability-radius);background:var(--surface);overflow:hidden;transition:border-color .15s,background .15s}.ability-card:has(a:hover),.ability-card:focus-within{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 4%,var(--surface))}
.ability-card-link{display:flex;gap:14px;height:100%;padding:18px;text-decoration:none;color:var(--ink);outline-offset:-4px}.ability-card-link:hover{color:var(--ink)}
.ability-icon{flex:none;display:block;width:64px;height:64px;object-fit:contain;border-radius:8px;background:#090e16;box-shadow:0 0 0 1px #ffffff16}.ability-icon-missing{display:grid;place-items:center;font-size:29px;color:var(--action);background:var(--surface-soft)}
.ability-card-copy{min-width:0;display:flex;flex-direction:column;flex:1}.ability-card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;line-height:1.4;font-size:11px;color:var(--muted)}
.ability-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.45px}.ability-tag-active{color:var(--ability-active)}.ability-tag-passive{color:var(--ability-passive)}
.ability-card h2{font-size:16px;line-height:1.3;letter-spacing:0;margin:7px 0 8px}.ability-card p{color:var(--muted);font-size:12px;line-height:1.55;margin:0 0 10px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.ability-card-foot{display:flex;gap:10px;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px;margin-top:auto;min-height:19px}.ability-card-arrow{font-size:18px;color:var(--accent)}
.ability-pagination{display:flex;gap:16px;align-items:center;justify-content:center;margin:26px 0}.ability-pagination button{min-height:44px}.ability-pagination span{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.ability-empty{padding:48px 20px;text-align:center;border:1px dashed var(--line);border-radius:var(--ability-radius)}.ability-empty h2{font-size:22px}.ability-empty p{color:var(--muted)}
.ability-note,.ability-language-note,.ability-reference-date{font-size:12px;line-height:1.65;color:var(--muted);margin:16px 0 0}.ability-language-note{margin:0 0 20px}.ability-reference-date{border-top:1px solid var(--line);padding-top:18px;margin-top:26px}
.ability-detail-heading{display:flex;align-items:center;gap:22px;margin:26px 0 30px}.ability-detail-heading .ability-icon{width:80px;height:80px;border-radius:12px}.ability-detail-heading h1{margin:9px 0 0}.ability-detail-heading p{color:var(--muted);font-size:13px;margin:9px 0 0}
.ability-detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);gap:24px;align-items:start}.ability-preview{border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden}.ability-preview>header{padding:22px 24px 0}.ability-preview h2{font-size:24px;margin:7px 0 0}
.ability-level-form{padding:20px 24px 16px}.ability-level-form fieldset{display:grid;grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr) 14px minmax(0,1fr);gap:10px;align-items:end;padding:0;border:0;min-width:0;margin:0}.ability-level-form label,.ability-effective>span{font-size:11px;color:var(--muted);font-weight:600}.ability-level-form input{margin-top:8px;min-height:48px;text-align:center;font-size:20px;font-weight:650;font-variant-numeric:tabular-nums;padding:7px;background:var(--paper)}
.ability-level-plus{display:flex;justify-content:center;align-items:center;min-height:48px;color:var(--muted);font-size:18px}.ability-effective{min-width:0}.ability-effective>span{display:block}.ability-effective output{display:flex;justify-content:center;align-items:center;min-height:48px;margin-top:8px;border:1px solid color-mix(in srgb,var(--action) 55%,var(--line));border-radius:7px;background:color-mix(in srgb,var(--action) 8%,var(--paper));color:var(--ink);font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.ability-level-form .ability-born-field{display:flex;grid-column:1/-1;align-items:center;justify-content:space-between;gap:14px;margin-top:8px}.ability-born-field select{max-width:145px;min-height:44px;font-size:13px;background-color:var(--paper)}
.ability-error{font-size:12px;line-height:1.6;color:var(--danger-ink,#ffb7b7);margin:12px 0 0}html[data-theme=light] .ability-error{color:#9d2636}
.ability-preview-context{display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap;padding:12px 24px;background:var(--surface-soft);border-block:1px solid var(--line);color:var(--muted);font-size:11px}.ability-preview-context>span:first-child{color:var(--ink);font-weight:600}
.ability-effects{list-style:none;padding:0;margin:0}.ability-effect{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--line)}.ability-effect:last-child{border-bottom:0}.ability-effect>div{min-width:0}.ability-effect h3{margin:0;font-size:14px;font-weight:600;line-height:1.5}.ability-effect-value{flex:none;max-width:48%;font-size:23px;line-height:1.3;letter-spacing:-.5px;color:var(--ability-passive);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-align:right}.ability-effect-value.is-unknown{font-size:13px;color:var(--muted);letter-spacing:0}.ability-duration{display:block;color:var(--muted);font-size:11px;margin-top:5px}.ability-condition{font-size:12px;line-height:1.5;margin:5px 0 0;color:var(--warning)}.ability-preview-warning{padding:0 24px 20px}
.ability-info{display:grid;gap:24px}.ability-info section{padding:22px;border:1px solid var(--line);border-radius:var(--ability-radius);background:var(--surface)}.ability-info h2{font-size:16px;margin:0 0 16px}.ability-info dl{margin:0}.ability-info dl>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}.ability-info dl>div:first-child{padding-top:0}.ability-info dl>div:last-child{border:0}.ability-info dt{color:var(--muted)}.ability-info dd{margin:0;font-weight:600;text-align:right}.ability-info section>p:not(.ability-note){font-size:13px;color:var(--ink);line-height:1.7;white-space:pre-line;margin:0 0 12px}.ability-info section>p:last-child{margin-bottom:0}
.ability-level-table{margin-top:24px;padding:18px 22px;border-radius:var(--ability-radius)}.ability-level-table summary{min-height:32px}.ability-table-scroll{overflow:auto;margin-top:16px}.ability-level-table table{width:100%;border-collapse:collapse;font-size:13px}.ability-level-table th,.ability-level-table td{padding:10px 14px;border-bottom:1px solid var(--line);text-align:right;vertical-align:top}.ability-level-table th:first-child{text-align:left}.ability-level-table thead{color:var(--muted);font-size:12px}.ability-level-table tbody tr:hover{background:var(--surface-soft)}
.ability-related{margin-top:30px}.ability-related h2{font-size:21px}.ability-related ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ability-related li{min-width:0}.ability-related a{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);height:100%}.ability-related a:hover{border-color:var(--accent)}.ability-related img{flex:none;object-fit:contain}.ability-related a>span:first-of-type{flex:1;min-width:0}.ability-related strong{font-size:13px;font-weight:600}.ability-related small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.ability-related a>span:last-child{color:var(--accent)}
@media(max-width:1200px){.ability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ability-detail-grid{gap:16px;grid-template-columns:minmax(0,1.4fr) minmax(230px,1fr)}.ability-related ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.ability-detail-grid{grid-template-columns:1fr}.ability-info{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ability-filters{grid-template-columns:1fr;gap:12px}.ability-kind-filter span{min-width:100px}}
@media(max-width:600px){.abilities-heading{align-items:flex-start;gap:18px;flex-direction:column;padding-bottom:20px}.ability-counts{border:0;padding:0;gap:24px}.ability-counts span{display:flex;gap:6px;align-items:baseline;font-size:12px}.ability-counts strong{font-size:20px}.ability-grid{grid-template-columns:1fr;gap:10px}.ability-card-link{padding:15px;gap:14px}.ability-card h2{font-size:16px}.ability-card p{-webkit-line-clamp:2}.ability-more-filters>div{grid-template-columns:1fr;padding:14px}.ability-kind-filter{width:100%}.ability-kind-filter label{flex:1}.ability-kind-filter span{min-width:0;padding:9px 12px}.ability-pagination{gap:10px}.ability-pagination button{font-size:12px;padding:8px 10px}.ability-pagination span{font-size:12px}.ability-detail-heading{gap:16px;margin:24px 0}.ability-detail-heading .ability-icon{width:64px;height:64px}.ability-info{grid-template-columns:1fr}.ability-preview>header{padding:20px 16px 0}.ability-preview h2{font-size:22px}.ability-level-form{padding:18px 16px 16px}.ability-level-form fieldset{gap:6px;grid-template-columns:minmax(0,1fr) 10px minmax(0,1fr) 10px minmax(0,1fr)}.ability-level-form label,.ability-effective>span{font-size:10px}.ability-level-plus{font-size:14px}.ability-effect{padding:16px;gap:12px}.ability-effect-value{font-size:21px}.ability-preview-context{padding:11px 16px}.ability-info section{padding:18px}.ability-level-table{padding:14px 16px}.ability-related ul{grid-template-columns:1fr}.ability-related h2{font-size:20px}}
@media(max-width:1200px){.ability-group-chips{grid-template-columns:repeat(4,minmax(0,1fr))}.ability-effect-line{flex-wrap:wrap}.ability-effect-picker{margin-left:auto}}
@media(max-width:980px){.ability-search-line{grid-template-columns:1fr;gap:12px}.ability-group-chips{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.ability-filters{gap:13px;margin-top:18px}.ability-search-line{gap:12px}.ability-kind-filter span{font-size:12px;gap:5px;padding:9px}.ability-kind-filter svg{width:16px;height:16px}.ability-group-chips{display:flex;overflow-x:auto;scroll-snap-type:x proximity;gap:7px;padding:3px 3px 9px;margin:-3px;scrollbar-width:thin}.ability-group-chips .ability-filter-chip{flex:0 0 151px;scroll-snap-align:start;min-height:57px}.ability-path-chips .ability-filter-chip{flex:1 0 135px}.ability-path-filter>summary span{display:block;margin-left:15px;margin-top:3px}.ability-quick-effects{gap:5px}.abilities-page .ability-quick-effect{min-height:36px;font-size:10px;padding:5px 7px}.ability-quick-effect .ability-icon{width:19px;height:19px}.ability-effect-line{gap:8px}.ability-effect-picker{width:100%;margin-left:0}.ability-effect-picker>summary{width:100%;justify-content:flex-start}.ability-effect-picker summary::after{margin-left:auto}.ability-effect-panel{width:100%;max-width:100%;padding:12px}.ability-effect-options{grid-template-columns:1fr;max-height:280px}.ability-results-toolbar p{font-size:12px}.ability-active-filters button{min-height:36px}}
@media(max-width:600px){.ability-path-filter>summary span{display:inline;margin-left:8px;margin-top:0;font-size:10px}.ability-quick-effects{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:5px;scrollbar-width:thin}.abilities-page .ability-quick-effect{flex:none}.ability-quick-effect .ability-filter-name{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.ability-card,.abilities-page .ability-filter-chip{transition:none}.abilities-page .ability-filter-chip:hover:not(:disabled){transform:none}}
