:root{--paper:#f1f3f4;--surface:#e3e9ed;--ink:#172c3e;--accent:#793847;--white:#fff;--quiet:#4f626e;--display:'Noto Serif KR',serif;--text:'Noto Sans KR',sans-serif;--gutter:clamp(20px,4vw,64px);--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.8 var(--text)}[hidden]{display:none!important}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button,summary,select{cursor:pointer}button{border:0}img{display:block;max-width:100%;object-fit:cover}figure,p,h1,h2,h3{margin:0}p+p{margin-top:20px}h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.4;letter-spacing:-.045em;word-break:keep-all;text-wrap:balance}h1{font-size:clamp(36px,4vw,58px)}h2{font-size:30px}h3{font-size:24px}button,a{touch-action:manipulation}button,a,summary{transition:transform .2s var(--ease),opacity .2s}a:hover,button:hover{opacity:.8}a:active,button:active{transform:translateY(2px)}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.skip{position:fixed;left:20px;top:20px;padding:12px 20px;z-index:30;background:var(--white);transform:translateY(-180%)}.skip:focus{transform:none}.primary{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 26px;background:var(--accent);color:var(--white);font-size:16px}
header{display:flex;align-items:center;justify-content:space-between;padding:24px var(--gutter);gap:25px;min-height:88px;background:var(--paper);position:relative;z-index:5}.brand{font:500 20px var(--display);letter-spacing:-.05em;white-space:nowrap}header nav{display:flex;align-items:center;gap:clamp(20px,3vw,48px)}header nav a{font-size:16px;padding:5px 0}header nav a[aria-current]{color:var(--accent);font-weight:600}.is-home header{position:absolute;top:0;left:0;right:0;background:transparent;color:var(--white)}
.cover{height:100svh;min-height:680px;position:relative;isolation:isolate;display:grid;place-items:center;overflow:hidden;background:var(--ink);color:var(--white)}.cover-art{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-position:50% 50%;animation:landscape-settle 1.2s var(--ease) both}.cover:after{content:'';position:absolute;inset:0;background:rgba(8,23,36,.49);z-index:-1}.cover-center{text-align:center;padding:120px 20px 90px;width:100%}.cover h1{font-size:clamp(76px,8.8vw,132px);line-height:1.16;letter-spacing:-.07em;font-weight:500}.cover h1 span{display:block;animation:title-enter .85s var(--ease) both}.cover h1 span+span{animation-delay:80ms}.cover-summary{font-size:18px;margin:36px auto 0;line-height:1.8;animation:content-enter .85s .12s var(--ease) both}.cover-nav{display:flex;align-items:center;justify-content:center;gap:36px;margin:38px auto 0}.cover-nav a{font-size:16px;min-height:52px;display:inline-flex;align-items:center;justify-content:center;animation:content-enter .85s .2s var(--ease) both}.cover-nav a:nth-child(2){animation-delay:.26s}.cover-nav a:nth-child(3){animation-delay:.32s}.cover-nav a:nth-child(4){animation-delay:.38s}.cover-nav .primary{background:var(--white);color:var(--ink)}.mobile-break{display:none}.is-home footer,.is-home #page-content{display:none}#page-content{outline:none}
.world-chapter{display:grid;grid-template-columns:46% 54%;align-items:start}.chapter-art{position:sticky;top:0;height:100svh;min-height:600px;background:var(--ink);color:var(--white);overflow:hidden}.chapter-art img{width:100%;height:100%;object-position:40% center}.chapter-art figcaption{position:absolute;bottom:0;left:0;right:0;background:var(--ink);padding:22px var(--gutter);font-size:16px}.chapter-copy{padding:55px clamp(30px,5vw,85px) 80px}.lead{font-size:22px;line-height:1.75;margin:28px 0}.chapter-copy article{margin-top:48px}.chapter-copy article h2{margin-bottom:18px}.chapter-copy .primary{margin-top:24px}.chapter-copy h1,.academy-copy h1,.section-title h1,.places h1{animation:title-enter .7s var(--ease) both}.chapter-copy p,.chapter-copy article,.academy-copy>p,.study-tabs,.campus-details details,.section-title p,.place-list article,.event{animation:content-enter .65s var(--ease) both}.chapter-copy article:nth-child(4),.event:nth-child(2){animation-delay:.1s}.chapter-copy article:nth-child(5),.event:nth-child(3){animation-delay:.18s}.chapter-copy article:nth-child(6),.event:nth-child(4){animation-delay:.26s}
.academy{display:grid;grid-template-columns:46% 54%;background:var(--surface)}.academy-image{position:sticky;top:0;align-self:start;height:calc(100svh - 24px);min-height:650px;background:#c2d0da;overflow:hidden}.academy-image img{width:100%;height:100%;object-position:center 20%}.academy-image figcaption{position:absolute;bottom:0;left:0;right:0;background:var(--ink);color:var(--white);padding:24px var(--gutter);font:24px var(--display)}.academy-image figcaption span{display:block;font:16px var(--text);margin-top:8px}.academy-copy{padding:55px clamp(30px,5vw,85px) 64px}.academy-copy>p{margin:24px 0 32px}.study-tabs{display:flex;gap:8px;margin:32px 0 24px}.study-tabs button{background:var(--paper);padding:12px 20px;min-height:48px}.study-tabs [aria-selected=true]{background:var(--ink);color:var(--white)}#study-panel{min-height:190px}#study-panel h3{margin-bottom:18px;font-size:24px}.campus-details details{background:var(--paper);margin-top:12px;padding:0 20px}.campus-details summary{padding:18px 0;display:flex;justify-content:space-between;gap:15px;list-style:none}.campus-details summary::-webkit-details-marker{display:none}.campus-details p{padding-bottom:22px}.calendar{display:grid;grid-template-columns:40% 60%;background:var(--ink);color:var(--white);padding:70px var(--gutter);gap:0}.calendar>div:first-child{padding-right:36px}.calendar h2{font-size:40px;margin-bottom:22px}.calendar-switch{display:flex;gap:10px;margin-top:28px}.calendar-switch button{background:#2a4051;color:var(--white);padding:12px 24px}.calendar-switch .active{background:var(--white);color:var(--ink)}.event{display:grid;grid-template-columns:105px 1fr;gap:25px;padding:20px 0}.event:first-child{padding-top:0}.event-month{font:30px var(--display)}.event h3{font:500 20px var(--text);margin-bottom:10px}.event p{font-size:16px}
.characters{padding:48px var(--gutter) 80px}.section-title{display:flex;align-items:end;justify-content:space-between;gap:25px}.section-title p{margin-top:20px;max-width:680px}.count{white-space:nowrap;font-size:16px}.count b{font:40px var(--display);margin-right:5px}.character-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin:36px 0}.filters{display:flex;flex-wrap:wrap;gap:8px}.filters button{background:var(--surface);padding:10px 17px;min-height:46px}.filters .active{background:var(--ink);color:var(--white)}.search-group{display:flex;gap:12px}select,input{border:0;background:var(--white);padding:12px 14px;border-radius:0;min-height:46px}input{width:190px}select{max-width:150px}.portrait-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 24px}.portrait{background:none;padding:0;text-align:left;min-width:0;animation:content-enter .6s var(--ease) both}.portrait:nth-child(4n+2){animation-delay:.05s}.portrait:nth-child(4n+3){animation-delay:.1s}.portrait:nth-child(4n+4){animation-delay:.15s}.portrait-image{aspect-ratio:4/5;overflow:hidden;background:var(--surface)}.portrait img{width:100%;height:100%;object-position:center 18%;transition:transform .65s var(--ease)}.portrait:hover img{transform:scale(1.035)}.portrait-info{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:16px}.portrait h3{font-size:24px}.portrait-info span{font-size:14px;color:var(--quiet)}.portrait p{font-size:14px;margin-top:6px;color:var(--quiet)}.empty{padding:65px 0;text-align:center}
.places{padding:48px var(--gutter) 80px}.intro-layout{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:45px}.intro-copy{max-width:480px}.place-feature{display:grid;grid-template-columns:60% 40%;background:var(--surface)}.place-illustration{width:100%;height:460px;object-position:center}.place-feature>div{align-self:center;padding:40px}.place-feature h3{font-size:30px;margin-bottom:24px}.text-link{display:inline-flex;margin-top:25px;background:var(--ink);color:var(--white);padding:12px 22px;min-height:48px}.place-list{margin-top:50px;display:grid;grid-template-columns:1fr 1fr;gap:42px 70px}.place-list article{display:grid;grid-template-columns:130px 1fr;align-content:start;column-gap:22px}.place-list h3{grid-row:span 2;font-size:28px}.place-list p{font-size:16px}.place-list small{font-size:14px;margin-top:16px;color:var(--quiet)}
footer{background:var(--surface);padding:42px var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-name{font:500 clamp(24px,3vw,42px) var(--display);letter-spacing:-.05em}footer p{font-size:14px}footer div>a{display:inline-block;margin-top:14px;font-size:16px}dialog{border:0;padding:0;width:min(1000px,94vw);max-height:92svh;background:var(--paper);color:var(--ink)}dialog::backdrop{background:rgba(7,20,31,.78)}.close{position:absolute;right:15px;top:15px;background:var(--white);width:46px;height:46px;font-size:28px;z-index:2}.detail-layout{display:grid;grid-template-columns:45% 55%}.detail-layout>img{height:100%;min-height:640px;width:100%;object-position:center top}.detail-copy{padding:56px 40px 35px}.detail-copy h2{font-size:44px;margin-bottom:8px}.detail-role{color:var(--quiet);margin-bottom:28px}.detail-desc{line-height:1.9}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.tags span{font-size:14px;padding:4px 10px;background:var(--surface)}.detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:var(--surface);padding:20px;margin:28px 0}.detail-meta dt{font-size:14px;color:var(--quiet)}.detail-meta dd{margin:6px 0 0;font-size:16px}.wide{grid-column:1/-1}.relations p{font-size:16px}.relations button{background:var(--surface);padding:10px 15px;margin:12px 8px 0 0}.detail-nav{display:flex;justify-content:space-between;margin-top:30px;gap:15px}.detail-nav button{background:none;padding:10px 0;font-size:14px}.noscript-note{padding:25px}
@keyframes title-enter{from{transform:translateY(20px);opacity:.5}to{transform:none;opacity:1}}@keyframes content-enter{from{transform:translateY(12px);opacity:.7}to{transform:none;opacity:1}}@keyframes landscape-settle{from{transform:scale(1.025)}to{transform:scale(1)}}
@media(max-width:1000px){.world-chapter,.academy{grid-template-columns:44% 56%}.chapter-copy,.academy-copy{padding:35px 30px 50px}.chapter-copy h1,.academy-copy h1{font-size:38px}.chapter-art{min-height:650px}.academy-image{min-height:700px}.portrait-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.character-toolbar{align-items:stretch}.place-feature{grid-template-columns:55% 45%}.place-feature>div{padding:28px}.place-list article{grid-template-columns:1fr}.place-list h3{margin-bottom:18px}.calendar{grid-template-columns:1fr;gap:38px}.calendar>div:first-child{padding-right:0}.calendar-switch{margin-top:22px}}
@media(max-width:650px){header{padding:20px;min-height:116px;flex-direction:column;gap:18px;align-items:stretch}.brand{font-size:20px}header nav{justify-content:space-between;gap:12px}header nav a{font-size:14px}.is-home header{min-height:65px;align-items:center}.is-home header nav{display:none}.cover{min-height:680px}.cover-art{object-position:57% center}.cover-center{padding:95px 20px 80px}.cover h1{font-size:clamp(64px,17vw,96px);line-height:1.2}.cover-summary{font-size:18px;margin-top:30px}.mobile-break{display:block}.cover-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:32px;max-width:310px}.cover-nav a{font-size:16px;padding:10px 12px}.world-chapter,.academy{display:flex;flex-direction:column}.chapter-art{position:relative;width:100%;height:310px;min-height:0}.chapter-art img{object-position:50% 55%}.chapter-art figcaption{padding:16px 20px}.chapter-copy,.academy-copy{padding:32px 20px 45px;width:100%}.chapter-copy h1,.academy-copy h1{font-size:36px}.chapter-copy article{margin-top:36px}.lead{font-size:20px;margin:24px 0}.academy-image{position:relative;min-height:0;height:430px;width:100%}.academy-image img{object-position:50% 18%}.academy-image figcaption{padding:18px 20px;font-size:24px}.academy-image figcaption span{font-size:14px}.study-tabs button{padding:12px 18px}#study-panel{min-height:0;margin-bottom:30px}#study-panel h3{font-size:22px}.calendar{padding:42px 20px}.calendar h2{font-size:36px}.event{grid-template-columns:65px 1fr;gap:18px;padding:18px 0}.event-month{font-size:24px}.event h3{font-size:18px}.event p{font-size:16px}.characters,.places{padding:32px 20px 50px}.section-title{align-items:start;gap:15px}.section-title h1{font-size:36px}.section-title p{margin-top:18px}.count{padding-top:8px}.count b{font-size:24px}.character-toolbar{gap:18px;margin:28px 0}.filters{gap:6px}.filters button{font-size:14px;padding:9px 13px}.search-group{width:100%;gap:8px}.search{flex:1;min-width:0}.search input{width:100%;min-width:0}select{font-size:14px;max-width:125px}.portrait-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.portrait-info{display:block;margin-top:12px}.portrait h3{font-size:22px}.portrait-info span{display:block;margin-top:3px}.portrait p{font-size:13px;margin-top:3px}.intro-layout{display:block;margin-bottom:30px}.intro-layout h1{font-size:36px;margin-bottom:22px}.intro-copy br{display:none}.place-feature{grid-template-columns:1fr}.place-illustration{height:260px}.place-feature>div{padding:28px 22px}.place-feature h3{font-size:28px}.place-list{grid-template-columns:1fr;gap:32px;margin-top:36px}.place-list h3{font-size:24px;margin-bottom:12px}.place-list small{margin-top:10px}footer{padding:30px 20px;align-items:start;flex-direction:column;gap:24px}.footer-name{font-size:28px}.detail-layout{grid-template-columns:1fr}.detail-layout>img{height:340px;min-height:0;object-position:center 18%}.detail-copy{padding:28px 24px}.detail-copy h2{font-size:36px}}
.section-title h1{font-size:clamp(44px,6.8vw,98px)}
@media(max-width:650px){.section-title h1{font-size:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.places h1{font-size:clamp(44px,6.8vw,98px)}.place-illustration{animation:landscape-settle 1s var(--ease) both}.place-feature h3,.place-feature p,.place-feature a,.places .intro-copy{animation:content-enter .7s var(--ease) both}@media(max-width:650px){.places h1{font-size:44px}}
/* Aither's cover and illustrated world chapter. */
:root{--paper:#f8f7f2;--surface:#e9eeed;--ink:#253b46;--quiet:#566971}
header{padding-inline:clamp(24px,5vw,80px)}
.brand{font-weight:600}.primary{gap:28px}.primary span{font-size:22px}
.cover-art{object-position:center 58%}.cover:after{background:rgba(8,25,39,.4)}
.cover-center{padding-top:125px;padding-bottom:80px}
.cover h1{font-weight:400;line-height:1.12;position:relative;display:inline-block}
.cover h1 .title-main{font-size:clamp(100px,12vw,174px);letter-spacing:-.085em;line-height:1.25}
.cover h1 .title-school{font-size:clamp(28px,3vw,42px);letter-spacing:.16em;padding-left:.16em;margin-top:5px;font-weight:500}
.cover-summary{margin-top:42px;font-size:16px;line-height:1.9}
.cover-nav{gap:32px;margin-top:30px}.cover-nav .primary{padding:13px 24px;background:var(--paper)}.cover-nav a{gap:20px}
.world-chapter{display:block;background:var(--paper)}
.world-opening{text-align:center;padding:64px 24px 48px}
.world-opening h1{font-size:clamp(40px,4.3vw,64px);animation:title-enter .7s var(--ease) both}
.world-opening p{font-size:18px;margin-top:22px;line-height:1.8;animation:content-enter .8s var(--ease) both}
.world-panorama{margin:0 auto;width:calc(100% - 2 * var(--gutter));max-width:1280px;position:relative;height:clamp(280px,32vw,440px);overflow:hidden}
.world-panorama img{width:100%;height:100%;object-position:50% 55%;animation:landscape-settle 1.2s var(--ease) both}
.world-panorama figcaption{position:absolute;bottom:22px;left:28px;background:var(--paper);padding:8px 16px;font-family:var(--display);font-size:18px}
.world-editorial{max-width:1280px;margin:auto;padding:0 var(--gutter)}
.history-spread{display:grid;grid-template-columns:30% 1fr;gap:7%;padding:88px 0 96px}
.chapter-heading h2,.power-heading h2{font-size:clamp(28px,3vw,40px);line-height:1.5}
.chapter-heading p{margin-top:24px;color:var(--quiet);font-size:16px}.history-content>p{max-width:720px;line-height:2}
.history-content .large-copy{font-family:var(--display);font-size:28px;line-height:1.65;margin-bottom:24px}
.art-reserved{aspect-ratio:2.35;background:#e7ece9;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:32px 0;color:#60736c}
.art-reserved>span{font:24px var(--display)}.art-reserved figcaption{font-size:14px;margin-top:12px}
.power-chapter{padding:60px 0 72px}.power-heading{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:38px}.power-heading>p{line-height:1.9}
.power-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px}.power-path{display:grid;grid-template-columns:48% 52%;background:#e4eae8;overflow:hidden}.power-path:nth-child(2){background:#e4e9ef}.power-path img{width:100%;height:360px;object-position:50% 15%}.power-path>div{padding:30px 22px;align-self:center}.power-path h3{font-size:32px;margin-bottom:20px}.power-path p{font-size:16px;line-height:1.9}.power-path .power-scale{font:28px var(--display);margin:24px 0}.power-path span{font-size:13px;color:var(--quiet)}.power-note{margin-top:24px;text-align:center;font-size:16px}
.school-invitation{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:76px 0 100px}.school-invitation h2{font-size:clamp(28px,3vw,40px)}.school-invitation p{line-height:2}.school-invitation .primary{margin-top:26px}
.history-spread p,.history-spread h2,.power-heading h2,.power-heading p,.power-path,.school-invitation h2,.school-invitation p{animation:content-enter .75s var(--ease) both}
@media(max-width:1000px){.history-spread{grid-template-columns:31% 1fr;gap:5%}.power-path{grid-template-columns:1fr}.power-path img{height:310px}.power-path>div{padding:26px}.power-path p br{display:none}.school-invitation{gap:35px}}
@media(max-width:650px){.cover-center{padding:100px 20px 70px}.cover h1 .title-main{font-size:clamp(74px,22vw,110px)}.cover h1 .title-school{font-size:28px;margin-top:10px}.cover-art{object-position:57% center}.cover-summary{font-size:15px;line-height:1.9;margin-top:36px}.cover-nav{display:flex;flex-direction:column;gap:12px;margin-top:26px}.cover-nav a{font-size:15px;min-height:48px}.cover-nav .primary{min-width:220px}.world-opening{padding:38px 20px 32px}.world-opening h1{font-size:36px}.world-opening p{font-size:16px;margin-top:20px}.world-panorama{width:100%;height:265px}.world-panorama figcaption{left:20px;bottom:18px;font-size:16px;padding:6px 12px}.world-editorial{padding:0 24px}.history-spread{display:block;padding:46px 0 38px}.chapter-heading h2,.power-heading h2{font-size:30px}.chapter-heading p{margin-top:16px}.chapter-heading p br{display:none}.history-content{margin-top:30px}.history-content .large-copy{font-size:23px}.art-reserved{aspect-ratio:1.6;margin:26px 0}.art-reserved>span{font-size:22px}.power-chapter{padding:36px 0}.power-heading{display:block;margin-bottom:26px}.power-heading>p{margin-top:20px;font-size:16px}.power-pair{grid-template-columns:1fr;gap:20px}.power-path{grid-template-columns:44% 56%}.power-path img{height:310px}.power-path>div{padding:22px 16px}.power-path h3{font-size:28px;margin-bottom:16px}.power-path p{font-size:15px}.power-path .power-scale{font-size:24px;margin:20px 0}.power-path span{font-size:12px}.power-note{text-align:left;font-size:15px;line-height:1.9}.school-invitation{display:block;padding:44px 0 58px}.school-invitation h2{font-size:30px;margin-bottom:24px}.school-invitation .primary{font-size:15px}}
.art-reserved{color:#4b6158}.history-content>p{max-width:60ch}.power-path span{font-size:14px}.world-opening p{font-size:18px}
/* Shared chapter treatment: school, places and character records. */
.academy{max-width:1280px;margin:auto;padding:0 var(--gutter) 80px;grid-template-columns:36% 1fr;gap:0 8%;background:var(--paper);align-items:start}
.academy-opening{grid-column:1/-1;text-align:center;padding:58px 0 56px}.academy-opening h1{font-size:clamp(38px,4.3vw,62px);animation:title-enter .7s var(--ease) both}.academy-opening>p{margin-top:24px;font-size:18px}.academy-facts{display:flex;justify-content:center;gap:80px;margin-top:36px}.academy-facts span{font-size:14px;color:var(--quiet)}.academy-facts b{display:block;font:500 28px var(--display);color:var(--ink);margin-bottom:8px}
.academy-image{position:relative;top:auto;height:auto;min-height:0;background:var(--surface)}.academy-image img{height:480px;object-position:center 15%}.academy-image figcaption{position:static;padding:22px 24px;background:var(--surface);color:var(--ink);font-size:28px}.academy-image figcaption span{font-size:14px;margin-top:8px;color:var(--quiet)}.academy-copy{padding:8px 0 0}.academy-copy>h2{font-size:32px}.academy-copy>p{margin:22px 0 28px}.study-tabs{margin:28px 0 24px}.study-tabs button{background:var(--surface)}.campus-details details{background:var(--surface)}#study-panel{min-height:160px}.calendar{padding:64px max(var(--gutter),calc((100vw - 1160px)/2));grid-template-columns:40% 60%}
.characters{max-width:1400px;margin:auto;padding-top:58px}.section-title h1{font-size:clamp(40px,4.3vw,62px)}.portrait-info{align-items:baseline}.portrait p{font-size:15px}.character-toolbar{margin:40px 0 32px}.portrait-grid{gap:38px 26px}.portrait-image{aspect-ratio:3/4}.portrait-info span{font-size:14px}.filters button{background:transparent}.filters .active{background:var(--ink)}
.places{max-width:1280px;margin:auto;padding-top:58px}.places .intro-layout{display:block;text-align:center;margin-bottom:54px}.places h1{font-size:clamp(40px,4.3vw,62px)}.places .intro-copy{max-width:none;margin-top:24px;font-size:18px}.location-row{display:grid;grid-template-columns:56% 1fr;gap:7%;align-items:center;margin-bottom:76px}.location-row .art-reserved{margin:0;aspect-ratio:1.55;min-width:0}.location-row h2{font-size:40px;margin-bottom:24px}.location-lead{font:24px/1.7 var(--display);margin-bottom:24px}.location-row p:not(.location-lead){line-height:2}.location-row.reverse{grid-template-columns:1fr 56%}.location-row.reverse figure{grid-column:2;grid-row:1}.location-row.reverse>div{grid-column:1;grid-row:1}.farther-places{background:var(--surface);padding:38px 40px;margin-top:10px}.farther-places>h2{font-size:32px}.farther-places .place-list{margin-top:28px;gap:40px}.farther-places .place-list article{display:block}.farther-places h3{font-size:26px;margin-bottom:16px}.return-campus{display:flex;align-items:center;justify-content:space-between;padding-top:52px;gap:25px}.return-campus>p{font:28px var(--display)}
dialog{width:min(1120px,94vw)}.detail-layout{grid-template-columns:46% 54%}.detail-layout>img{position:sticky;top:0;height:88svh;min-height:620px;object-position:center 12%}.detail-copy{padding:52px 44px 34px}.detail-copy h2{font-size:52px}.detail-role{font-size:16px;margin-bottom:24px}.detail-desc{font-size:17px;line-height:1.9}.detail-meta{padding:22px 0;background:transparent;gap:22px}.detail-meta dd{font-size:18px}.tags span{padding:4px 0;background:none;color:var(--quiet)}.tags span+span:before{content:'·';padding-right:8px}.relations>p{font:24px var(--display)}.relations button{display:flex;align-items:center;gap:16px;padding:0 18px 0 0;text-align:left;width:100%;margin:16px 0 0;background:var(--surface)}.relations img{width:60px;height:74px;object-fit:cover;object-position:center 15%}.relations button>span:nth-child(2){flex:1}.relations small{display:block;font-size:13px;color:var(--quiet);margin-top:4px}.detail-nav{margin-top:28px}.detail-nav button{font-size:16px}
@media(max-width:1000px){.academy{grid-template-columns:36% 1fr;gap:0 6%}.academy-facts{gap:50px}.academy-image img{height:420px}.academy-copy{padding:0}.academy-copy>h2{font-size:28px}.calendar{grid-template-columns:1fr;gap:38px}.location-row,.location-row.reverse{grid-template-columns:1fr 1fr;gap:6%}.location-row h2{font-size:32px}.location-lead{font-size:22px}.location-row .art-reserved{aspect-ratio:1;min-height:300px}.detail-copy{padding:50px 28px 28px}}
@media(max-width:650px){.academy{display:grid;grid-template-columns:1fr;padding:0 24px 46px;gap:0}.academy-opening{padding:36px 0}.academy-opening h1{font-size:36px}.academy-opening>p{font-size:16px}.academy-facts{gap:26px;margin-top:28px}.academy-facts b{font-size:24px}.academy-facts span{font-size:13px}.academy-image{display:grid;grid-template-columns:120px 1fr;align-items:center;margin-bottom:36px;width:100%;height:auto}.academy-image img{height:156px;width:120px}.academy-image figcaption{padding:20px;font-size:26px}.academy-image figcaption span{font-size:13px}.academy-copy{padding:0}.academy-copy>h2{font-size:28px}.academy-copy>p{margin:18px 0 24px}.calendar{padding:40px 24px}.characters,.places{padding:36px 24px 48px}.section-title h1,.places h1{font-size:36px}.portrait-grid{gap:28px 16px}.portrait p{font-size:13px}.character-toolbar{margin:28px 0}.filters button{padding:9px 12px}.places .intro-layout{margin-bottom:36px}.places .intro-copy{font-size:16px}.location-row,.location-row.reverse{display:flex;flex-direction:column;gap:26px;margin-bottom:42px}.location-row .art-reserved{width:100%;aspect-ratio:1.55;min-height:0}.location-row>div{width:100%}.location-row h2{font-size:30px;margin-bottom:16px}.location-lead{font-size:22px;margin-bottom:18px}.farther-places{padding:28px 24px}.farther-places>h2{font-size:28px}.farther-places .place-list{gap:28px}.farther-places h3{font-size:24px}.return-campus{display:block;padding-top:36px}.return-campus>p{font-size:26px;margin-bottom:24px}.detail-layout{display:block}.detail-layout>img{position:relative;height:350px;min-height:0;object-position:center 12%}.detail-copy{padding:28px 24px}.detail-copy h2{font-size:40px}.detail-desc{font-size:16px}.relations>p{font-size:22px}.detail-nav button{font-size:14px}}
.academy-opening h1,.places h1,.section-title h1{font-size:clamp(40px,6.5vw,94px)}.academy-opening{padding-bottom:52px}.academy-opening>p{margin-top:22px}
@media(max-width:650px){.academy-opening h1,.places h1,.section-title h1{font-size:36px}.academy-opening{padding:32px 0}}
.empire-afterwar{margin-top:44px}.empire-afterwar h3{font-size:28px;margin-bottom:22px}.empire-afterwar>p{max-width:60ch;line-height:2}.power-heading>p{max-width:480px}.mana-methods{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:38px}.mana-methods h3{font-size:24px;margin-bottom:18px}.mana-methods p{line-height:1.9}.mana-route{background:var(--surface);padding:16px 20px;font-size:16px}.history-content .large-copy{font-size:26px}
@media(max-width:650px){.mana-methods{grid-template-columns:1fr;gap:30px;margin-top:30px}.mana-methods h3{font-size:24px}.mana-route{padding:16px;font-size:15px}.history-content .large-copy{font-size:22px}.empire-afterwar{margin-top:32px}.empire-afterwar h3{font-size:26px}}
/* Abstract flow diagrams follow the user's inward/outward sketch. */
.mana-flow{margin-top:48px;padding:36px 40px 28px;background:#132b35;color:#f1f4ef}.flow-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.flow-heading h3{font-size:30px}.flow-heading button{background:transparent;color:#c1d1d5;min-height:44px;padding:10px 0 10px 16px;font-size:14px}.flow-pair{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:12px}.flow-pair figure{min-width:0;text-align:center}.flow-svg{display:block;width:100%;max-width:440px;height:auto;margin:0 auto;color:#a6ddd9}.flow-svg.sword{color:#edc891}.flow-track{stroke:currentColor;stroke-width:1.4;opacity:.3}.flow-light{stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-dasharray:18 82;animation:flow-drift 3.8s linear infinite;opacity:.8}.flow-tip{stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.75}.flow-particle{fill:#fff8e9}.magic .flow-particle{fill:#d9ffff}.flow-ring{stroke:currentColor;stroke-width:1.3;opacity:.55}.inner-ring{opacity:.22}.flow-source{fill:currentColor;opacity:.9}.flow-pair h4{font:500 32px/1.4 var(--display);margin:0 0 16px;letter-spacing:-.04em}.flow-pair p{font-size:16px;line-height:1.9;color:#c9d9de}.flow-pair figure:first-child h4{color:#b6e5e2}.flow-pair figure:last-child h4{color:#efd4a5}.flow-footnote{text-align:center;font-size:13px;color:#adc3cb;margin-top:36px!important}.mana-flow.is-still .flow-light{animation-play-state:paused}.mana-flow :focus-visible{outline-color:#cbe8e6}
@keyframes flow-drift{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@media(max-width:650px){.mana-flow{padding:24px 20px;margin:32px -4px 0}.flow-heading{gap:12px}.flow-heading h3{font-size:25px}.flow-heading button{font-size:13px;padding-left:4px;white-space:nowrap}.flow-pair{grid-template-columns:1fr;gap:32px;margin-top:4px}.flow-svg{max-width:330px}.flow-pair h4{font-size:28px;margin-bottom:12px}.flow-pair p{font-size:15px}.flow-footnote{font-size:13px;margin-top:28px!important;line-height:1.8}}
@media(prefers-reduced-motion:reduce){.flow-light{animation:none!important;stroke-dashoffset:45}}
/* The inner circle is an illustrative sigil, not a new magical rank. */
.flow-light{animation-duration:4.8s}.sigil-outer,.sigil-inner{transform-origin:200px 200px;stroke-width:1.1}.sigil-outer{animation:sigil-turn 48s linear infinite;opacity:.75}.sigil-inner{animation:sigil-turn 64s linear infinite reverse;opacity:.6}.sigil-awaken{stroke-width:1.5;animation:sigil-wake 4.8s ease-in-out infinite}.sigil-bloom{animation:sigil-glow 4.8s ease-in-out infinite;transform-origin:200px 200px}.sigil-center{animation:sigil-wake 4.8s ease-in-out infinite}.sword-heart{transform-origin:200px 200px;animation:sword-charge 4.8s ease-in-out infinite}.aura-pulse{transform-origin:200px 200px;animation:aura-spread 4.8s cubic-bezier(.16,1,.3,1) infinite}.source-bloom{transform-origin:200px 200px;animation:sword-charge 4.8s ease-in-out infinite}.mana-flow.is-still *{animation-play-state:paused!important}
@keyframes sigil-turn{to{transform:rotate(360deg)}}@keyframes sigil-wake{0%,60%,100%{opacity:.4}82%{opacity:1}}@keyframes sigil-glow{0%,60%,100%{opacity:.45;transform:scale(.94)}82%{opacity:1;transform:scale(1.05)}}@keyframes sword-charge{0%,100%{transform:scale(.85);opacity:.5}20%{transform:scale(1.2);opacity:1}42%{transform:scale(.95);opacity:.65}}@keyframes aura-spread{0%,20%{transform:scale(.45);opacity:0}23%{opacity:.65}70%,100%{transform:scale(3.4);opacity:0}}
@media(prefers-reduced-motion:reduce){.sigil-outer,.sigil-inner,.sigil-awaken,.sigil-bloom,.sigil-center,.sword-heart,.aura-pulse,.source-bloom{animation:none!important}.aura-pulse{opacity:.2}.aura-pulse+ .aura-pulse{transform:scale(1.6)}}
