:root{--ink:#233b35;--muted:#667871;--paper:#f5f3ec;--green:#173f35;--gold:#b58439;--line:#dedfd3}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.8 -apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}a{color:inherit;text-decoration:none}a:hover{color:#976221}button,input,select{font:inherit}button,select{cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bd833a;outline-offset:3px}.top{background:#fffef9;border-bottom:1px solid var(--line);padding:20px max(24px,calc((100% - 1380px)/2));display:flex;align-items:center;gap:40px}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap;font:700 23px Georgia,serif;letter-spacing:.07em}.brandmark{font-size:36px;color:var(--gold)}.brand small{display:block;font:10px/2 sans-serif;letter-spacing:.21em;color:var(--muted)}#searchform{display:flex;max-width:430px;flex:1;margin-left:auto;border:1px solid var(--line);border-radius:6px;background:#f6f6ef}input{min-width:0}#searchform input{width:100%;border:0;padding:10px 14px;background:transparent}#searchform button{border:0;background:transparent;font-size:24px;padding:0 12px}.edition{font-size:10px;line-height:1.7;letter-spacing:.12em;color:var(--muted)}.shell{display:grid;grid-template-columns:206px minmax(0,1fr);gap:40px;max-width:1380px;margin:auto;padding:32px 24px 64px}aside{border-right:1px solid var(--line);padding-right:22px}.navlabel,.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:var(--gold)}nav{display:grid;gap:3px}nav a{display:block;padding:8px 11px;font-size:13px;border-radius:4px}nav a[aria-current]{background:var(--green);color:#fff}.aside-note{border-top:1px solid var(--line);margin-top:28px;padding-top:22px;font:16px/1.9 Georgia,serif}.aside-note span{display:block;font:11px/1.8 sans-serif;color:var(--muted);margin-top:14px}main{min-width:0}h1,h2,h3,p{margin-top:0}h1{font-size:29px;line-height:1.5;margin-bottom:15px}h2{font-size:21px;line-height:1.5}h3{font-size:17px;line-height:1.6}.muted,.note{color:var(--muted);font-size:13px}.crumb{font-size:12px;color:var(--muted);margin-bottom:19px}.hero{position:relative;border-radius:10px;overflow:hidden;background:#143c35;min-height:330px;color:white;display:flex;align-items:end}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,24,26,.91),rgba(8,24,28,.52) 60%,rgba(8,24,28,.07))}.hero-copy{position:relative;z-index:1;max-width:610px;padding:35px}.hero h1{font-size:34px;letter-spacing:.05em}.hero p{color:#e3eadd;font-size:14px}.hero .eyebrow{color:#f4ce80}.button{display:inline-block;background:var(--green);color:white;padding:10px 20px;border:0;border-radius:5px;font-size:13px;font-weight:600}.button:hover{background:#285749;color:white}.hero .button{background:#f1d79a;color:#213c32}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin:30px 0 15px;border-bottom:1px solid var(--line);padding-bottom:9px}.section-title h2{margin:0}.section-title a{font-size:12px;color:var(--muted)}.today{display:grid;grid-template-columns:repeat(3,1fr);background:#fffef9;border:1px solid var(--line);border-radius:7px;margin:20px 0;padding:15px 0}.today>div{padding:0 20px;border-right:1px solid var(--line)}.today>div:last-child{border:0}.today small{display:block;color:var(--muted);font-size:11px}.today b{display:block;font-size:14px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}.grid.wide{grid-template-columns:repeat(auto-fill,minmax(265px,1fr))}.card{background:#fffef9;border:1px solid var(--line);border-radius:7px;overflow:hidden;transition:transform .15s,border-color .15s;min-width:0}.card:hover{transform:translateY(-2px);border-color:#a1ad98}.card-body{padding:17px}.card h3{margin:0 0 8px}.card p{font-size:13px;color:var(--muted);margin:7px 0}.card-image{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.badge{display:inline-block;border:1px solid #d4daca;background:#f2f4e9;border-radius:3px;padding:1px 7px;font-size:10px;letter-spacing:.04em;margin:0 4px 5px 0}.badge.live{background:#214c3f;color:white;border-color:#214c3f}.stars{color:#ae7b2b;letter-spacing:.08em}.portrait{display:block;width:192px;height:192px;background-image:url('portraits.webp?v=75a51ea0e859');background-size:2304px 2304px;flex-shrink:0;margin:auto;image-rendering:auto}.portrait-wrap{background:radial-gradient(ellipse at 50% 90%,#d5dfcc,transparent 62%),linear-gradient(#edf1e6,#faf8f0);border-bottom:1px solid #e5e7db;position:relative}.portrait-wrap:after{content:'';position:absolute;bottom:8px;width:50%;height:1px;background:#c8d1bb;left:25%}.character-card .card-body{text-align:center}.character-card h3{margin-bottom:3px}.filterbar{display:flex;flex-wrap:wrap;gap:10px;padding:15px;background:#eceee4;border:1px solid var(--line);border-radius:7px;margin:20px 0}.filterbar input,.filterbar select{border:1px solid #cdd4c5;border-radius:4px;padding:8px 10px;background:white;max-width:100%}.filterbar input{flex:1;min-width:160px}.count{font-size:12px;color:var(--muted);margin:8px 0 15px}.detail-hero{background:#fffef9;display:grid;grid-template-columns:260px minmax(0,1fr);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:24px}.detail-hero .portrait-wrap{display:flex;align-items:center;justify-content:center}.detail-hero .portrait{transform:scale(1.2)}.detail-hero .body{padding:30px}.panel{background:#fffef9;border:1px solid var(--line);border-radius:7px;padding:22px;margin:18px 0}.panel h3{margin-bottom:8px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.stat{background:#eff1e8;padding:12px;border-radius:5px}.stat small{display:block;color:var(--muted)}.stat b{font-size:20px}.art-full{width:100%;display:block;border-radius:8px;aspect-ratio:16/9;object-fit:cover}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:6px;margin:15px 0}table{border-collapse:collapse;width:100%;background:#fffef9;font-size:13px;text-align:left}th{background:#e9eee1;white-space:nowrap}td,th{padding:11px 14px;border-bottom:1px solid var(--line)}td a{color:#366857;text-decoration:underline;text-underline-offset:3px}tr:last-child td{border-bottom:0}.prose{max-width:820px}.prose p{line-height:2}.prose li{margin:10px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.linklist{display:grid;gap:9px}.linklist a{display:block;background:#fffef9;border:1px solid var(--line);border-radius:5px;padding:12px 16px}.linklist a:after{content:' →';float:right;color:var(--gold)}.empty{padding:40px;text-align:center;background:white;border:1px dashed var(--line)}footer{border-top:1px solid var(--line);padding:25px;text-align:center;color:var(--muted);font-size:12px}footer span{display:block;margin:6px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip{position:fixed;top:-100px}.skip:focus{top:0;background:white;z-index:10;padding:10px}.highlight{border-left:4px solid var(--gold);background:#f0ead8;padding:14px 18px;margin:18px 0}.tiny{font-size:11px}.element-Fire{color:#b84834}.element-Water{color:#237ca0}.element-Wind{color:#498459}.element-Light{color:#ae8226}.element-Dark{color:#7c599a}.month{font:600 12px sans-serif;color:var(--gold)}
@media(max-width:850px){.top{padding:16px 20px;gap:15px;flex-wrap:wrap}.brand{font-size:19px}.edition{display:none}#searchform{max-width:none}.shell{grid-template-columns:minmax(0,1fr);padding:15px 18px 40px;gap:20px}aside{padding:0;border:0;min-width:0}nav{display:flex;overflow:auto;padding-bottom:8px}nav a{white-space:nowrap;background:#e9ede2}.navlabel,.aside-note{display:none}.hero{min-height:310px}.hero-copy{padding:25px}.hero h1{font-size:28px}.grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr))}.portrait{transform:scale(.85);margin-top:-10px;margin-bottom:-10px}.portrait-wrap{overflow:hidden}.today{grid-template-columns:1fr}.today>div{border:0;padding:8px 18px}.split{grid-template-columns:1fr}.detail-hero{grid-template-columns:1fr}.detail-hero .portrait-wrap{min-height:220px}.detail-hero .body{padding:20px}h1{font-size:25px}.hero:after{background:linear-gradient(90deg,#081d20e8,#081d2077)}.filterbar select{flex:1}.top #searchform{flex-basis:100%}.stat-grid{gap:6px}.stat b{font-size:17px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Keep language selection reachable on every page, including narrow screens. */
.language-switch{position:absolute;top:max(.5rem,env(safe-area-inset-top));right:max(.75rem,env(safe-area-inset-right));z-index:1000;display:flex;background:#122f2b;border:1px solid #bca167;border-radius:999px;padding:3px;box-shadow:0 2px 12px #0002}
.language-switch a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;color:#fff;text-decoration:none;font:600 .875rem/1.2 system-ui;border-radius:999px}
.language-switch a[aria-current=true]{background:#ead7a4;color:#122f2b}.language-switch a:focus-visible{outline:3px solid #f1bc45;outline-offset:2px}
body{padding-top:66px}html{scroll-padding-top:76px}html[lang=en] .brand{line-height:1.3}html[lang=en] h1{overflow-wrap:anywhere}
@media(max-width:480px){.language-switch{right:.5rem}.language-switch a{padding:0 12px}}

/* FAQ: separate questions from long-form answers. */
.faq-item{margin:0 0 38px}
.faq-item>h2{margin:0 0 20px;padding:15px 22px;border:0;border-left:4px solid #20ab91;background:#f9faf9;color:#354d46;font-size:clamp(18px,2vw,23px);font-weight:700;line-height:1.6;overflow-wrap:anywhere}
.faq-item>p{margin:0 0 16px;padding:0 4px;line-height:1.95;overflow-wrap:anywhere}
.faq-item>p:last-child{margin-bottom:0}
@media(max-width:600px){.faq-item{margin-bottom:30px}.faq-item>h2{padding:12px 15px;margin-bottom:16px}.faq-item>p{padding:0 2px}}

.faq-home{display:block;margin:0 0 20px}.faq-home a{display:inline-block;padding:8px 14px;border:1px solid var(--line);border-radius:6px;background:#fffef9;font-weight:600}

.poko-guide-portrait{display:flex;justify-content:center;max-width:240px;padding:12px;margin:16px 0;background:#edf1e8;border:1px solid var(--line);border-radius:12px}.poko-guide-portrait .portrait{flex:none}

.guide-campfire{display:block;width:50%;height:auto;margin:24px 0;border-radius:12px}.poko-guide-heading{padding-top:20px}

.language-status{position:absolute;top:calc(100% + 4px);right:0;left:0;text-align:center;font:400 11px/1.5 system-ui;color:#526760;background:#f6f4ed;border-radius:6px;padding:1px 4px;white-space:nowrap}body{padding-top:88px}html{scroll-padding-top:98px}
/* Dungeon Tactics: current game data, with a field-guide layout. */
body{padding-top:0}.top{gap:24px}.brand{font-size:22px}.lang-label select{border:1px solid var(--line);border-radius:5px;padding:8px;background:#fffef9;color:var(--ink)}html{scroll-padding-top:20px}aside nav{position:sticky;top:16px}.portrait{width:96px;height:96px;background-size:1152px auto;transform:none;margin:0;image-rendering:pixelated}.portrait-wrap{min-height:145px;display:flex;align-items:center;justify-content:center}.detail-hero .portrait{transform:scale(1.5)}.detail-art{width:100%;height:100%;object-fit:contain;background:#e7e9df}.card-square{width:100%;aspect-ratio:1;object-fit:cover;display:block}.new-portrait{display:block;width:100px;height:125px;background-repeat:no-repeat;image-rendering:pixelated}.new-portrait.rukiwa{background-size:380px auto;background-position:-5px -7px}.new-portrait.milena{background-size:470px auto;background-position:0 -9px}.new-portrait.nonoa{background-size:470px auto;background-position:0 -104px}.source{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin-top:28px}.source a{text-decoration:underline}.pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin:26px 0}.pagination button:disabled{opacity:.35}.panel a{color:#366857;text-decoration:underline;text-underline-offset:3px}summary{cursor:pointer;font-weight:600}details[open] summary{margin-bottom:18px}.hero{min-height:360px}.hero .card-image{height:100%;aspect-ratio:auto}.today b{font:30px Georgia,serif}.highlight p:last-child{margin-bottom:0}.stat-grid{grid-template-columns:repeat(3,1fr)}td{overflow-wrap:anywhere}th{font-size:12px}.section-title{margin-top:36px}#main{outline:none}.grid.wide .card-image{aspect-ratio:16/9}.brandmark{font-size:40px}.character-card p{margin-top:4px}.table-wrap{max-width:100%}.prose{max-width:none}@media(max-width:850px){aside nav{position:static}.top{gap:12px}.brand{font-size:18px}.lang-label{margin-left:auto}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.wide{grid-template-columns:repeat(auto-fit,minmax(245px,1fr))}.hero{min-height:330px}.hero h1{font-size:27px}.detail-art{max-height:350px}.portrait{margin:0;transform:none}.new-portrait{margin:0}.filterbar input{width:100%}}@media(max-width:390px){.brand{font-size:16px}.brand small{font-size:9px}.brandmark{font-size:29px}.lang-label select{font-size:12px;padding:7px}.shell{padding-inline:12px}.card-body{padding:13px}.hero-copy{padding:20px}.hero h1{font-size:25px}.today b{font-size:25px}}
.new-portrait.rukiwa{width:80px}table{min-width:540px}@media(min-width:851px){table{min-width:100%}}
@media(max-width:850px){.top .brand{order:1}.top .lang-label{order:2}.top #searchform{order:3}}

.brand{white-space:normal;max-width:440px}#brand{display:block;max-width:350px;font-size:20px;line-height:1.5}#brand small{margin-top:4px}@media(max-width:850px){.brand{flex:1;min-width:0}#brand{font-size:17px;max-width:280px}.brand small{letter-spacing:.08em}}@media(max-width:390px){#brand{font-size:15px}.top{padding-inline:16px}}

/* Keep the navigation and its note in normal flow so they cannot overlap. */
aside nav{position:static}
.new-portrait.milena{width:117.5px;height:122px;background-size:470px auto;background-position:0 -11.45px}
.new-portrait.nonoa{width:117.5px;height:130px;background-size:470px auto;background-position:0 -137.34px}
.live-event{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#173f35;color:#fffef4}
.live-event-art{position:relative}.live-event-art .card-image{aspect-ratio:2/1}.live-ribbon{position:absolute;left:20px;top:18px;background:#173f35ed;color:#f6dc9f;padding:6px 12px;border-radius:4px;font-size:12px;letter-spacing:.12em}
.live-event-copy{padding:28px 32px}.live-event-copy h2{font:700 30px/1.4 Georgia,serif;margin:9px 0 15px}.live-event-copy .eyebrow{color:#edcf8b}.live-event-copy .button{background:#ecd294;color:#173f35}.live-event-copy p{max-width:760px}.live-status b{font-size:15px;font-weight:600;line-height:1.8}.live-status a{font-size:12px;text-decoration:underline}
.featured-companion{display:grid;grid-template-columns:130px minmax(0,1fr)}.featured-companion .portrait-wrap{height:100%;border-bottom:0}.feature-link{color:#906524;font-size:12px}.featured-companion h3{font-size:22px}
.event-rewards{padding:24px;background:#eeeada;border:1px solid var(--line);border-radius:8px;display:grid;gap:18px;margin:20px 0}.event-rewards h3{margin:4px 0}.event-rewards p{font-size:13px;color:var(--muted);margin:5px 0}.reward-preview{display:flex;gap:18px;align-items:center}.reward-preview img{width:85px;height:85px;aspect-ratio:1;border-radius:7px;flex-shrink:0}.journey-note{background:#fffdf5;border-left:4px solid var(--gold);padding:26px 30px;margin:30px 0}.journey-note h2{font-family:Georgia,serif}.journey-note p{line-height:2}.journey-note a{color:#906524}
@media(max-width:1100px){.featured-companion{grid-template-columns:110px minmax(0,1fr)}.split:has(.featured-companion){grid-template-columns:1fr}}
@media(max-width:600px){.live-event-copy{padding:22px}.live-event-copy h2{font-size:25px}.live-event-art .card-image{aspect-ratio:16/10}.live-ribbon{left:12px;top:12px;font-size:10px}.event-rewards,.journey-note{padding:20px}.featured-companion h3{font-size:20px}}

.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.feature-tile{display:block;padding:22px;background:#fffdf6;border:1px solid var(--line);border-top:3px solid #b58439;border-radius:7px}.feature-tile:hover{background:#eaf0e1}.feature-tile h3{margin:12px 0 8px;font-size:20px}.feature-tile p{font-size:13px;color:var(--muted)}.feature-secondary{grid-template-columns:1fr 1fr;margin:18px 0}.article-index{display:grid;gap:8px;border-left:3px solid var(--gold);padding-left:20px;margin:26px 0}.article-index a{color:#426d59}.calendar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.calendar-day{background:#fffefa;border:1px solid var(--line);padding:16px;border-radius:7px}.calendar-day small{display:block;color:var(--muted);font-size:11px}.festival-day{border-top:4px solid var(--gold);background:#fff8e4}.ranking-row{display:grid;grid-template-columns:35px 115px minmax(0,1fr);gap:18px;align-items:center;margin:18px 0;padding:16px 0;border-bottom:1px solid var(--line)}.ranking-number{font:30px Georgia;color:var(--gold)}.ranking-row .portrait-wrap{min-height:130px}.ranking-row h3{margin:0}.ranking-row small{color:var(--muted)}
@media(max-width:1000px){.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.feature-grid,.feature-secondary{grid-template-columns:1fr}.ranking-row{grid-template-columns:25px minmax(0,1fr);gap:10px}.ranking-row .portrait-wrap{grid-column:2}.ranking-row>div:last-child{grid-column:2}.calendar-day{padding:12px}}

/* Editorial page rhythm: compact scenic introductions, then useful content. */
.live-event{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:stretch}.live-event-art{min-height:290px;max-height:380px}.live-event-art .card-image{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}.live-event-copy{padding:26px}.live-event-copy h2{font-size:27px}.live-event-copy p{font-size:14px}.page-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);border-radius:9px;overflow:hidden;background:#173f35;color:#fffdf3;margin:0 0 28px}.page-hero>img{width:100%;height:100%;max-height:300px;min-height:220px;object-fit:cover}.page-hero>div{padding:28px}.page-hero h1{font:700 28px/1.5 Georgia,serif;margin:10px 0}.page-hero p{font-size:14px;line-height:1.9}.page-hero .eyebrow{color:#e4c483}.feature-tile{padding:0 0 18px;overflow:hidden}.feature-tile>.eyebrow,.feature-tile>h3,.feature-tile>p{display:block;margin-left:20px;margin-right:20px}.feature-art{width:100%;height:125px;display:block;object-fit:cover;margin-bottom:16px}.card-square{aspect-ratio:16/10;object-fit:contain;background:#e9e7db;max-height:200px}.article-index{font-size:13px}.prose .panel{padding:25px 30px}.prose .panel p{max-width:760px}.article-index a{line-height:1.6}.page-hero+.highlight{font-size:13px}
@media(max-width:1050px){.live-event{grid-template-columns:1fr}.live-event-art{height:260px;min-height:0}.page-hero{grid-template-columns:1fr}.page-hero>img{height:200px;min-height:0}}@media(max-width:600px){.live-event-art{height:205px}.live-event-copy{padding:20px}.page-hero>img{height:165px}.page-hero>div{padding:20px}.page-hero h1{font-size:23px}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-art{height:95px}.feature-tile>h3{font-size:17px}.feature-tile>.eyebrow,.feature-tile>h3,.feature-tile>p{margin-left:12px;margin-right:12px}.feature-tile>p{font-size:12px}.prose .panel{padding:20px}.card-square{max-height:175px}}

@media(min-width:1051px){.page-hero{min-height:240px;max-height:none}.page-hero>img{height:260px;min-height:0}.page-hero>div{padding:26px 30px}}
/* Summon stories first; full illustrated probabilities stay one click away. */
.summon-jumps{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.summon-jumps a{padding:10px 20px;background:#fffdf7;border:1px solid var(--line);border-radius:30px}.summon-section{margin:48px 0;scroll-margin-top:25px}.summon-section>h2{font:700 28px/1.5 Georgia,serif;margin:8px 0 14px}.summon-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}.summon-companion{display:grid;grid-template-columns:115px minmax(0,1fr);gap:18px;background:#fffef9;border:1px solid var(--line);border-radius:10px;padding:22px;align-items:start}.summon-portrait{min-height:150px;display:flex;justify-content:center;align-items:center;background:linear-gradient(#edf0e5,#f9f5e9);border-radius:7px;overflow:hidden}.summon-companion h3{margin:5px 0;font-size:22px}.summon-companion p{font-size:13px;line-height:1.85}.summon-skills{list-style:none;padding:0;margin:12px 0 0;font-size:12px}.summon-skills li+li{margin-top:10px}.summon-skills span{display:block;color:var(--muted);margin-top:4px}.summon-rates{margin:24px 0;background:#fffdf8;border:1px solid #cbd1c0;border-radius:8px;overflow:hidden}.summon-rates summary{padding:18px 22px;cursor:pointer;font-weight:600;color:#254c40}.summon-rates summary>span{float:right}.summon-rates[open] summary{border-bottom:1px solid var(--line)}.rates-content{padding:20px}.rate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.rate-companion{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:6px}.rate-companion small,.rate-companion b{display:block;font-size:12px}.rate-companion strong{font-size:14px}.rate-portrait{width:55px;height:65px;flex:0 0 55px;display:flex;align-items:center;justify-content:center;overflow:hidden}.rate-portrait .portrait,.rate-portrait .new-portrait{flex-shrink:0;transform:scale(.5)}.summon-season{display:grid;grid-template-columns:1.1fr 1fr;background:#1d4035;color:#fff8e7;border-radius:9px;overflow:hidden;margin:22px 0}.summon-season img{width:100%;height:240px;object-fit:cover}.summon-season>div{padding:25px}.festival-feature{padding:26px;background:#eeede1;border-radius:10px;margin:28px 0}.festival-feature header{display:flex;align-items:center;justify-content:space-between;gap:15px}.festival-feature header h3{font:700 26px/1.5 Georgia,serif;margin:0}.festival-period{font-weight:600;color:#6f592e}.festival-feature .summon-companion{grid-template-columns:170px minmax(0,1fr)}.festival-feature .summon-portrait{min-height:210px}.festival-feature .summon-portrait .new-portrait{transform:scale(1.35)}.festival-abilities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 25px;font-size:13px}.festival-abilities h4{grid-column:1/-1;margin-bottom:0}
@media(max-width:1150px){.summon-roster{grid-template-columns:1fr}.rate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.summon-companion,.festival-feature .summon-companion{grid-template-columns:82px minmax(0,1fr);padding:14px;gap:12px}.summon-companion h3{font-size:20px}.summon-portrait{min-height:120px}.summon-portrait .portrait{transform:scale(.8);flex-shrink:0}.summon-portrait .new-portrait{transform:scale(.75);flex-shrink:0}.festival-feature{padding:15px}.festival-feature header{display:block}.festival-feature header h3{margin-bottom:10px}.festival-feature .summon-portrait{min-height:145px}.festival-feature .summon-portrait .new-portrait{transform:scale(.75)}.festival-abilities{grid-template-columns:1fr}.summon-season{grid-template-columns:1fr}.summon-season img{height:180px}.summon-season>div{padding:20px}.rate-grid{grid-template-columns:1fr}.rates-content{padding:12px}.summon-rates summary{font-size:13px;padding:16px 12px}.summon-jumps a{padding:8px 14px;font-size:13px}}
.summon-roster>.summon-companion:last-child:nth-child(odd){grid-column:1/-1}.summon-rates[open] summary>span{transform:rotate(45deg);display:inline-block}
@media(max-width:600px){.summon-companion,.festival-feature .summon-companion{display:flow-root}.summon-portrait{float:left;width:82px;margin:0 14px 12px 0}.summon-skills{clear:both;padding-top:12px}}
/* Illustrated field guides: prose first, reference tables at the end. */
.event-story .article-lead{font-size:1.15rem;max-width:850px;line-height:1.9}
.event-editorial-art{display:block;width:100%;height:clamp(180px,28vw,350px);object-fit:cover;border-radius:12px;margin:24px 0 36px}
.reading-section{margin:40px 0;line-height:1.95}.reading-section>p{max-width:900px}.reading-section h2{border-bottom:1px solid var(--line,#dcded0);padding-bottom:14px}
.reading-split{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:36px;align-items:center;margin:40px 0;padding:28px;background:#eeeee4;border-radius:12px;line-height:1.95}
.gameplay-figure{margin:0;text-align:center}.gameplay-figure img{display:block;height:340px;max-width:100%;width:auto;object-fit:contain;margin:auto;border-radius:9px;box-shadow:0 8px 24px #10251c24}.gameplay-figure figcaption{font-size:.82rem;line-height:1.6;margin-top:12px;color:#50655d}
.boss-profile{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:center;gap:30px;background:#193d34;color:#fff9e9;border-radius:12px;padding:30px;margin:32px 0;line-height:1.8}.boss-profile h2{color:#f2d399}.boss-profile a{color:#f2d399}.boss-elements{display:flex;gap:12px;flex-wrap:wrap}.boss-elements>*{padding:6px 12px;border:1px solid #698678;border-radius:6px}
.guide-sprite{display:block;width:192px;height:192px;background-size:auto 192px;background-repeat:no-repeat;background-position:0 0;margin:auto;flex-shrink:0}
.battle-steps{padding-left:28px;line-height:1.9}.battle-steps li{padding:0 0 16px 12px}.battle-steps li::marker{color:#a17839;font-weight:bold}.battle-steps h3{margin-bottom:8px}
.recommended-team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.recommended-team>a{display:flex;align-items:center;gap:16px;padding:18px;background:#fffdf7;border:1px solid #dcdfd2;border-radius:10px;text-decoration:none}.recommended-team h3{margin:0}.recommended-team p{margin:4px 0}.recommended-team small{line-height:1.6;color:#52665f}.recommended-team .portrait{flex-shrink:0}
.enemy-guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.enemy-guide{background:#eeeee4;border-radius:10px;padding:14px;min-width:0}.enemy-guide .guide-sprite{width:128px;height:128px;background-size:auto 128px}.enemy-guide h4{margin:0;font-size:1rem}.enemy-guide p{font-size:.87rem;line-height:1.7}.enemy-guide summary{font-size:.85rem;cursor:pointer}.enemy-phases>section{margin:24px 0}.editorial-rewards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.editorial-rewards .card-square{height:200px;width:100%;object-fit:contain}
.reading-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.reading-links a{display:flex;flex-direction:column;gap:8px;background:#fffdf7;border:1px solid #daddce;border-radius:8px;padding:18px;text-decoration:none}.reading-links span{font-size:.9rem;line-height:1.6}.reference-appendix{margin-top:36px}.reference-appendix>summary{font-weight:bold;cursor:pointer;padding:8px 0}.tactic-promise{border-left:4px solid #b78b42;background:#eee9d8;padding:18px}
@media(max-width:650px){.reading-split,.boss-profile{grid-template-columns:1fr;padding:20px;gap:18px}.reading-split .gameplay-figure img{height:300px}.recommended-team,.reading-links{grid-template-columns:1fr}.boss-profile .guide-sprite{width:160px;height:160px;background-size:auto 160px}.event-editorial-art{height:190px}.enemy-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.enemy-guide{padding:10px}.editorial-rewards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}
/* All inline artwork stays within the requested 300px display-height limit. */
#main img{max-height:300px;min-height:0}
#main .event-editorial-art{height:clamp(180px,28vw,300px)}
#main .gameplay-figure img{height:300px;object-fit:contain}
#main .art-full,#main .detail-art,#main .card-square{object-fit:contain}
#main .hero,#main .live-event-art,#main .page-hero{min-height:0}
#main .hero img,#main .page-hero>img,#main .live-event-art img{height:300px;object-fit:cover}
@media(max-width:650px){#main .hero img,#main .page-hero>img,#main .live-event-art img{height:190px}#main .event-editorial-art{height:190px}}
.character-card .character-quote,.character-quote{font-family:Georgia,'Yu Mincho',serif;color:#546a5b;font-size:.9rem;line-height:1.8;margin:10px 0 14px;text-decoration:none}.beginner-links{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:18px}.beginner-links a{color:#785725;text-decoration:underline;text-underline-offset:4px}

/* Preserve the complete seasonal illustration and its cast. */
.event-editorial-art,.summon-season img {height:auto;aspect-ratio:3/2;object-fit:contain;}
.event-guest{display:flex;align-items:center;gap:24px;margin-bottom:24px}.event-guest>img{width:150px;max-height:240px;object-fit:contain;image-rendering:pixelated;flex-shrink:0}@media(max-width:600px){.event-guest{flex-direction:column;align-items:flex-start}.event-guest>img{align-self:center;width:120px}}

/* App download and language selection, matching the companion wiki. */
body.has-site-toolbar{padding-top:0}
.site-toolbar{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:24px;max-width:1380px;margin:0 auto;padding:20px 24px 34px}
.site-toolbar .download-banner .button{display:flex;align-items:center;justify-content:center;min-height:52px;padding:14px 24px;border-radius:999px;line-height:1.5}
.site-toolbar .lang-label{margin:0;flex-shrink:0}
@media(max-width:480px){.site-toolbar{justify-content:center;gap:16px;padding:20px 18px 34px}.site-toolbar .download-banner{flex-basis:100%}.site-toolbar .download-banner .button{width:fit-content;margin:auto}}

.developer-notice{margin:18px 0}.developer-notice h2{font-family:inherit;font-size:1rem;font-weight:400;margin:0 0 9px}.developer-feed{width:calc((100% - 9px)/2);padding:12px 16px;background:#fffef9;border:1px solid var(--line);border-radius:5px;overflow-wrap:anywhere}.developer-feed iframe{max-width:100%!important}@media(max-width:700px){.developer-feed{width:100%}}

@media(max-width:850px){.site-toolbar{width:100%;justify-content:center;border-top:1px solid var(--line);padding:24px;margin:0 auto;gap:20px}.site-toolbar .lang-label select{min-height:44px}}
