/* Neutral, compact surfaces adapted from reference design; Brotato red and game tier colors. */
:root{color-scheme:dark;--bg:#121214;--surface:#1a1a1d;--raised:#242428;--text:#eeeef0;--body:#eeeef0;--muted:#aaaab3;--line:#37373d;--accent:#f15b50;--accent-text:#ff796f;--accent-fill:#ce352f;--accent-hover:#b92d28;--on-accent:#fff;--radius:8px;font:15px/1.6 system-ui,"Segoe UI","Apple SD Gothic Neo","Malgun Gothic",sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}
*{box-sizing:border-box} [hidden]{display:none!important} body{margin:0;background:var(--bg);color:var(--text);overflow-wrap:anywhere} html{scroll-padding-top:1rem} a{color:inherit;text-underline-offset:.2em} a:hover{color:var(--accent-text)} button,input,select,textarea{font:inherit;color:inherit;max-width:100%} button,summary{cursor:pointer} button{min-height:42px;padding:.5rem .85rem;border:1px solid var(--line);border-radius:8px;background:var(--raised);line-height:1.4} button:hover{background:#303035} button:disabled{opacity:.45;cursor:default} input,select,textarea{min-height:44px;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:.55rem .7rem} input[type=checkbox]{min-height:auto;accent-color:var(--accent);width:1.1rem;height:1.1rem} input[type=number]{min-width:0;width:100%} :focus-visible{outline:2px solid var(--accent-text);outline-offset:3px} ::selection{background:var(--accent-fill);color:white} p{margin:0 0 1rem} h1,h2,h3,h4{line-height:1.3;overflow-wrap:anywhere} h1{font-size:1.75rem;letter-spacing:-.035em;margin:0;font-weight:700} h2{font-size:1.2rem;margin:0 0 1rem} h3{font-size:1rem;margin:0 0 .65rem} small,.muted{color:var(--muted)} .wrap{width:min(1440px,calc(100% - 3rem));margin-inline:auto} main.wrap{min-height:55vh;padding-block:2rem 3rem} .sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0} .skip-link{position:fixed;top:0;transform:translateY(-100%);left:1rem;z-index:100;background:var(--accent-fill);padding:.75rem}.skip-link:focus{top:1rem;transform:none}
.site-header{display:flex;flex-wrap:wrap;align-items:center;gap:1.75rem;min-height:90px;border-bottom:1px solid var(--line)} .brand{display:flex;flex-direction:column;font-size:1.1rem;font-weight:850;letter-spacing:.025em;line-height:1.1;text-decoration:none;flex-shrink:0}.brand span:last-child{color:var(--accent-text);font-size:.8rem;letter-spacing:.2em;margin-top:4px}.site-navigation{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem;flex:1}.site-navigation>a,.site-navigation summary{display:flex;align-items:center;min-height:44px;padding:.4rem .7rem;text-decoration:none;font-size:.94rem;color:var(--muted);white-space:nowrap}.site-navigation [aria-current=page]{color:var(--text);background:var(--raised);border-radius:6px}.languages{display:flex;gap:.6rem;flex-shrink:0;font-size:.85rem}.languages a{padding:.7rem 0;text-decoration:none;color:var(--muted)}.languages a[aria-current=page]{color:var(--text)}.more-menu{position:relative}.more-menu>div{position:absolute;inset-inline-end:0;top:100%;background:var(--raised);padding:.5rem;border:1px solid var(--line);border-radius:8px;z-index:20;min-width:180px;box-shadow:0 12px 30px #0005}.more-menu>div a{display:block;padding:.5rem;text-decoration:none}.page-heading{margin-bottom:1.5rem}.selector{max-width:32rem;margin:8vh auto;text-align:center}.language-choices{display:flex;justify-content:center;gap:1rem;margin-top:2rem}.language-choices a{padding:1rem 2rem;background:var(--surface);border:1px solid var(--line);border-radius:8px}.breadcrumbs{font-size:.85rem;color:var(--muted);margin-bottom:1.5rem}.breadcrumbs a{display:inline-block;min-height:44px;padding-block:.7rem}.site-footer{padding-block:2rem 3rem;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem;display:flex;flex-direction:column;align-items:flex-start;gap:.6rem}.site-footer p{margin:0}.site-footer .brand{margin-bottom:.35rem;color:var(--text)}.footer-tools{display:flex;align-items:center;gap:1.5rem;margin-top:.8rem}.footer-tools button{border:0;background:none;padding:0;font-size:inherit;color:var(--muted)}
.entry-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1rem;list-style:none;padding:0;margin:0;align-items:start}.entry-list>li{min-width:0}.entry-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:1rem;min-width:0;height:100%}.entry-card-identity{display:flex;align-items:center;gap:.75rem;text-decoration:none;min-height:48px;margin-bottom:.75rem}.entry-card-name{font-size:1rem;font-weight:650}.entry-icon{object-fit:contain;flex-shrink:0;width:2rem;height:2rem;vertical-align:middle}.entry-icon-card{width:3rem;height:3rem}.entry-icon-hero{width:4.5rem;height:4.5rem}.entry-heading-identity{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.entry-heading-identity h1,.entry-heading-identity h2{margin:0}.entry-heading-identity a{text-decoration:none}.entry-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 .8rem}.tag{font-size:.77rem;line-height:1.4;text-decoration:none;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:.2rem .45rem}.tag:hover{background:var(--raised)}.entry-effects{padding:0;margin:0;list-style:none;font-size:.92rem;line-height:1.65;white-space:pre-line}.entry-effects li+li{margin-top:.2rem}.effect-sign-0{color:#8fce83}.effect-sign-1{color:#ff8a83}.effect-sign-3{color:#d3b3f8}.effect-sign-4{color:#7db8f3}.effect-sign-5{color:#eab571}.entry-condition{font-size:.92rem;margin:0}.entry-detail{max-width:52rem;margin-inline:auto}.entry-detail>section{margin-top:2rem}.entry-detail .entry-effects{font-size:1rem}.related-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin:0}.related-list li{max-width:100%}.related-list li p{margin:.3rem 0 0;color:var(--muted);font-size:.9rem}.entry-link{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;text-decoration:none;background:var(--surface);border-radius:6px;padding:.4rem .65rem}.weapon-values{margin:.75rem 0 0;display:grid;gap:.25rem;font-size:.87rem;line-height:1.6}.weapon-values>div{display:grid;grid-template-columns:minmax(6rem,auto) 1fr;gap:.8rem;align-items:baseline}.weapon-values dt{color:var(--muted)}.weapon-values dd{margin:0;text-align:end}.tier-value{font-variant-numeric:tabular-nums}.tier-1{color:#eeeef0}.tier-2{color:#74c5f5}.tier-3{color:#ca9bf3}.tier-4{color:#fa9d91}.tier-separator{color:var(--muted)}.tag-group{margin-top:2rem}.set-bonuses{max-width:48rem;margin-bottom:2rem}.tag-announcement{max-width:42rem}.search-evidence{font-size:.77rem;color:var(--muted);margin-top:.8rem}.search-evidence>span{display:block}mark{background:#694a3d;color:var(--text);border-radius:2px}
.search-toolbar{display:flex;gap:.6rem;max-width:48rem}.search-toolbar input{flex:1;min-width:0}.search-feedback{display:flex;align-items:center;gap:1rem;color:var(--muted);font-size:.85rem;margin:.75rem 0}.search-feedback p{margin:0;flex:1}.search-feedback button{font-size:.85rem;min-height:36px;padding:.3rem .6rem}.browse-layout{display:flex;align-items:flex-start;gap:1.5rem}.browse-layout>.entry-list{flex:1;min-width:0}.codex-filters{flex:0 0 210px;background:var(--surface);border-radius:8px;padding:1rem}.codex-filters>summary{font-weight:600}.filter-content{padding-top:.5rem}.filter-groups{display:grid;gap:1rem}.filter-groups fieldset{border:0;padding:0;margin:0;min-width:0}.filter-groups legend{font-weight:600;margin-bottom:.4rem}.filter-groups label{display:flex;align-items:center;gap:.5rem;min-height:36px;font-size:.87rem}.facet-count{color:var(--muted);margin-inline-start:auto;font-size:.78rem}.filter-content>button{margin-top:1rem;width:100%}.filter-chips{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.75rem}.filter-chip{border-radius:5px;min-height:34px;padding:.25rem .55rem;font-size:.83rem;background:var(--surface)}
dialog{color:var(--text);border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:0;max-height:calc(100dvh - 3rem);max-width:calc(100vw - 2rem);box-shadow:0 24px 90px #0009;overflow:hidden}dialog[open]{display:flex;flex-direction:column}dialog::backdrop{background:#0009;backdrop-filter:blur(2px)}.dialog-body{padding:1.5rem;overflow:auto;overscroll-behavior:contain;min-height:0;flex:1}.dialog-body>h2{margin:0 0 1rem}.dialog-footer{padding:1rem 1.5rem;border-top:1px solid var(--line);flex-shrink:0}.dialog-footer>button{width:100%}.small-dialog{width:460px}.info-dialog{width:520px}.sheet-handle{display:none}.entry-preview{position:fixed;z-index:60;width:400px;max-height:calc(100dvh - 24px);overflow:hidden;padding:1.2rem;border:1px solid #505059;border-radius:10px;background:var(--surface);box-shadow:0 12px 36px #0009;pointer-events:none}.entry-preview *{pointer-events:none}.entry-preview .entry-heading-identity{margin-bottom:.8rem}.entry-preview .entry-icon-hero{width:3rem;height:3rem}.entry-preview .entry-effects{font-size:.9rem}.filter-dialog{width:650px}.filter-dialog .filter-groups{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.picker-dialog{width:1080px}.picker-dialog .entry-list{grid-template-columns:repeat(3,minmax(0,1fr))}.picker-toolbar{display:flex;gap:.6rem;margin-bottom:.75rem}.picker-toolbar input{flex:1;min-width:0}.picker-card{position:relative}.picker-card .entry-card{height:100%}.picker-card [data-picker-select]{width:100%;margin-top:.75rem}.picker-card[aria-current=true] .entry-card{border-color:var(--accent)}.picker-tier{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.6rem}.picker-tier button{min-width:42px;padding:.4rem}.picker-tier button[aria-pressed=true]{border-color:var(--accent-text);background:#3b2828}
@media(max-width:1200px){.site-header{gap:.5rem 1.5rem;padding-block:1rem}.site-navigation{order:3;flex-basis:100%}.languages{margin-inline-start:auto}.site-navigation>a,.site-navigation summary{padding-inline:.65rem}.picker-dialog .entry-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.wrap{width:calc(100% - 2rem)}main.wrap{padding-block:1.5rem 2rem}.site-header{gap:.75rem}.site-navigation{gap:0}.site-navigation>a,.site-navigation summary{font-size:.85rem;padding-inline:.5rem}h1{font-size:1.5rem}.picker-dialog,.filter-dialog{width:100%;height:100dvh;max-width:100%;max-height:100dvh;margin:0;border:0;border-radius:0}.picker-dialog .entry-list{grid-template-columns:1fr}.dialog-body{padding:1rem}.dialog-footer{padding:1rem;padding-bottom:max(1rem,env(safe-area-inset-bottom))}}
@media(max-width:600px){.info-dialog{width:100%;max-width:100%;max-height:90dvh;margin:auto 0 0;border-radius:16px 16px 0 0;border-inline:0;border-bottom:0;transform:translateY(var(--sheet-drag,0));transition:transform .18s ease}.info-dialog[data-dragging]{transition:none}.sheet-handle{display:flex;align-items:center;justify-content:center;flex-shrink:0;height:28px;touch-action:none}.sheet-handle:after{content:"";width:36px;height:4px;background:#696970;border-radius:4px}.info-dialog .dialog-body{padding-top:.4rem}.info-dialog .dialog-footer{padding:.75rem 1rem max(.75rem,env(safe-area-inset-bottom))}.info-dialog .dialog-footer button{min-height:48px}.entry-list{grid-template-columns:1fr}.entry-card{padding:.9rem}.entry-icon-hero{width:4rem;height:4rem}.weapon-values>div{grid-template-columns:minmax(5rem,auto) 1fr;gap:.5rem}.footer-tools{gap:1rem;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.guide-heading { max-width: 58rem; padding-block-end: 1rem; }
.guide-heading h1 { font-size: clamp(2rem, 4.5vw, 3.5rem); }
.guide-article { max-width: 58rem; }
.guide-overview p, .guide-sources p, .guide-index-list p { color: var(--body); }
.guide-summary { max-width: 68ch; }
.guide-character a { display: inline-flex; align-items: center; min-height: 44px; }
.guide-section { border-block-start: 1px solid var(--line); margin-block-start: 2rem; padding-block: 2rem .5rem; }
.guide-section h2 { margin-block-end: 1.2rem; }
.guide-section h3 { line-height: 1.4; margin-block: 1.5rem .75rem; }
.guide-section li { margin-block-end: .75rem; }
.guide-units { padding: 1rem 1.2rem; border-inline-start: 3px solid var(--accent); background: var(--surface); font-size: .9rem; }
.guide-equipment-list, .guide-index-list { list-style: none; padding: 0; margin: 1.5rem 0; }
.guide-equipment-list > li { padding: 1rem 1.2rem; border: 1px solid var(--line); border-radius: .35rem; margin-block-end: .75rem; }
.guide-equipment-identity { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; }
.guide-equipment-identity a { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .5rem; max-width: 100%; min-width: 0; min-height: 44px; font-weight: 650; }
.guide-tier, .guide-quantity { color: var(--muted); font-size: .85rem; }
.guide-quantity data { display: inline-block; margin-inline-start: .35rem; font-size: 1rem; color: var(--text); font-variant-numeric: tabular-nums; }
.guide-equipment-list .guide-equipment-reason { margin-block: .75rem 0; font-size: .95rem; }
.guide-disclosure { border: 1px solid var(--line); padding: .5rem 1rem; }
.guide-disclosure summary { min-height: 44px; padding-block: .5rem; font-weight: 650; }
.guide-disclosure p { margin-block: .75rem; }
.guide-growth-table { width: 100%; border-collapse: collapse; margin-block: .75rem 1.5rem; font-size: .9rem; table-layout: fixed; }
.guide-growth-table caption { text-align: start; color: var(--muted); padding-block: .5rem; }
.guide-growth-table th, .guide-growth-table td { text-align: start; padding: .6rem .5rem; border-block-end: 1px solid var(--line); overflow-wrap: anywhere; }
.guide-growth-table th:first-child { width: 48%; }
.guide-growth-table td:nth-child(2), .guide-growth-table th:nth-child(2) { width: 19%; font-variant-numeric: tabular-nums; }
.guide-alternative { margin-block: 1rem 1.5rem; }
.guide-alternative .checked-note { margin-block: .5rem; }
.guide-support { border-inline-start: 3px solid var(--accent); background: var(--surface); padding: 1rem 1.2rem; margin-block: 2rem; }
.guide-support p { margin: 0; }
.guide-source-group { margin-block: 2rem; }
.guide-source-group li { padding-block: .25rem; }
.guide-source-group a { display: inline-block; min-height: 44px; padding-block: .5rem; }
.guide-source-group .checked-note { margin: 0; }
.guide-index-list { max-width: 58rem; }
.guide-index-list > li { border-block-start: 1px solid var(--line); padding-block: 2rem .5rem; }
.guide-index-list h2 { line-height: 1.4; }
.guide-character-list { padding-inline-start: 1.25rem; }
.guide-character-list a { display: inline-block; min-height: 44px; padding-block: .5rem; }
.guide-character-list p { max-width: 70ch; color: var(--body); }
@media print {
  :root { color-scheme: light; --bg: #fff; --surface: #fff; --text: #111; --body: #111; --muted: #333; --line: #777; --accent: #555; --accent-text: #111; }
  body { border: 0; font-size: 10pt; }
  *:focus { outline: none !important; }
  .wrap { width: 100%; }
  .site-header, .site-navigation, .skip-link, .site-footer, .languages { display: none; }
  .guide-heading, .guide-section { padding-block: 1rem .25rem; }
  .guide-heading h1 { font-size: 23pt; }
  .guide-section h2 { font-size: 16pt; break-after: avoid; }
  .guide-equipment-list > li, .guide-growth-table tr { break-inside: avoid; }
  .guide-disclosure::details-content { content-visibility: visible; display: block; }
  .guide-disclosure > summary { display: block; }
  .guide-disclosure > :not(summary) { display: block !important; }
}

.entry-detail{padding:1.5rem;background:var(--surface);border:1px solid var(--line);border-radius:8px}.entry-detail .weapon-values{font-size:.95rem;gap:.45rem}.entry-detail .weapon-values>div{grid-template-columns:9rem 1fr}.entry-detail .weapon-values dd{text-align:start}@media(max-width:600px){.entry-detail{padding:1rem}.entry-detail .weapon-values>div{grid-template-columns:6rem 1fr}.entry-detail .weapon-values{font-size:.87rem}}

@media (max-width:1100px){.filter-dialog{inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;border:0;border-radius:0;}}

/* Reflow follows available space, including enlarged text. */
.language-choices{flex-wrap:wrap}.language-choices a{max-width:100%;padding-inline:1rem}.languages{flex-wrap:wrap;max-width:100%}.brand{max-width:100%;flex-shrink:1}.site-navigation>a,.site-navigation summary{white-space:normal;overflow-wrap:anywhere}.entry-heading-identity{flex-wrap:wrap}.entry-heading-identity h1,.entry-heading-identity h2{min-width:0}.entry-link{max-width:100%;flex-wrap:wrap}.weapon-values>div{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}.entry-detail .weapon-values>div{grid-template-columns:minmax(0,8rem) minmax(0,1fr)}.weapon-values dt,.weapon-values dd{min-width:0}.weapon-values dd{text-align:start}.effect-tier-scope{font-size:.85em;color:var(--muted)}

.entry-icon{max-width:100%;height:auto;aspect-ratio:1}.entry-card-identity{min-width:0;flex-wrap:wrap}.entry-card .entry-tags{margin-bottom:0}.entry-card:has(.entry-tags) .entry-card-identity{margin-bottom:.65rem}.entry-card:not(:has(.entry-tags)) .entry-card-identity{margin-bottom:0}

/* Keep padding and grid minimums usable when only text is enlarged. */
@media(max-width:760px){.wrap{width:calc(100% - 24px)}.entry-detail,.dialog-body{padding:min(1rem,20px)}.entry-link{padding-inline:min(.65rem,10px)}button,input,select,textarea{padding-inline:min(.85rem,14px)}}

.weapon-values{container-type:inline-size}@container(max-width:18rem){.weapon-values>div,.entry-detail .weapon-values>div{grid-template-columns:minmax(0,1fr);gap:.15rem}}
.weapon-values dd{word-break:keep-all}.weapon-values [data-stat=cooldown] .tier-value{white-space:nowrap}

.info-title-link{display:flex;align-items:center;gap:.75rem;text-decoration:none;font-size:1.25rem;line-height:1.35}
.info-title-link>span{min-width:0;overflow-wrap:anywhere}.info-title-link .entry-icon{width:3rem;height:3rem;flex-shrink:0}
.info-title-arrow{display:inline-block;margin-inline-start:.35em;color:var(--muted);font-size:.8em}.info-title-arrow::before{content:'↗'}
.info-dialog .dialog-body>h2:has(.info-title-link){margin-bottom:.75rem}
.info-dialog[data-sheet-closing]{pointer-events:none;transition:none}
@media(max-width:600px){.info-dialog .dialog-body{padding-inline:max(1rem,env(safe-area-inset-left)) max(1rem,env(safe-area-inset-right))}.info-dialog .dialog-footer{padding-inline:max(1rem,env(safe-area-inset-left)) max(1rem,env(safe-area-inset-right))}.info-dialog .sheet-handle{height:32px}}

.analytics-dialog { max-inline-size: min(36rem, calc(100vw - 16px)); max-block-size: calc(100dvh - 16px); overflow: auto; }
.analytics-dialog[open] { display: block; }
.analytics-dialog .dialog-body { overflow: visible; padding: min(1.5rem, 24px); }
.analytics-dialog [data-analytics-status] { padding: .75rem; background: var(--surface); border-inline-start: 3px solid var(--accent); }
.analytics-dialog [data-analytics-error] { color: var(--accent-text); }
.analytics-dialog .dialog-footer { display: flex; flex-wrap: wrap; gap: min(.5rem, 8px); padding: min(1rem, 16px); }
.analytics-dialog .dialog-footer > button { width: auto; }
.analytics-dialog [data-dialog-close] { flex-basis: 100%; }
.analytics-dialog [data-analytics-allow], .analytics-dialog [data-analytics-deny] { flex: 1 1 8rem; }
