@charset "UTF-8";
:root{color-scheme:dark;--bg:#090f19;--panel:#101924;--gold:#d3b779;--text:#e7e9e9;--muted:#a0abb8;--line:rgba(211,183,121,.23)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:"Malgun Gothic","Apple SD Gothic Neo",sans-serif;line-height:1.7}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button{border:0}::selection{background:#a58a50;color:#080f1a}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--gold);color:#080f1a;padding:10px}.skip:focus{top:10px}
.header{height:96px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#090f19;position:relative;z-index:3}.brand{display:flex;align-items:center;gap:13px;font-family:Georgia,serif;font-size:26px;letter-spacing:4px;line-height:1.1;color:var(--gold)}.star{font-size:40px;font-family:Georgia,serif;font-weight:400}.brand-small{display:block;font:9px/1.8 Georgia,serif;letter-spacing:2px;margin-top:6px}.header nav{display:flex;gap:42px;font-size:14px}.header nav a{color:var(--muted);padding:34px 0;position:relative}.header nav a:hover,.header nav a.active{color:var(--gold)}.header nav a.active:after{content:"";position:absolute;bottom:22px;left:45%;width:4px;height:4px;background:var(--gold);transform:rotate(45deg)}.edition{font:11px Georgia,serif;letter-spacing:1.7px;color:var(--muted)}.edition span{border:1px solid var(--line);padding:7px 9px;margin-left:10px;color:var(--gold)}
.hero{min-height:700px;height:calc(100svh - 96px);max-height:960px;position:relative;isolation:isolate;display:flex;align-items:center;padding:55px 9% 110px;overflow:hidden}.hero-art{position:absolute;inset:0;z-index:-2;background:url('assets/hanul-modern.png') 60% 46%/cover}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,12,22,.85),rgba(5,12,22,.3) 58%,rgba(5,12,22,.02)),linear-gradient(0deg,#090f19,transparent 30%)}.hero-content{max-width:650px}.eyebrow{font-size:11px;letter-spacing:3px;color:var(--gold);margin:0 0 22px;font-weight:500}.hero .eyebrow{display:flex;align-items:center;gap:15px}.hero .eyebrow span{width:28px;height:1px;background:var(--gold)}.hero-en{font:16px Georgia,serif;letter-spacing:7px;color:#bfccdc;margin:35px 0 17px}h1{font-family:"Batang","Songti SC",serif;font-size:clamp(60px,6.3vw,94px);font-weight:400;line-height:1.23;letter-spacing:-4px;margin:0}h1 em{font-style:normal;color:var(--gold)}.hero-line{color:#c0c8d2;font-size:16px;line-height:1.95;margin:24px 0 32px}.primary{display:inline-flex;gap:58px;align-items:center;background:var(--gold);color:#17212a;padding:14px 23px;font-size:14px;font-weight:700;transition:background .2s}.primary:hover{background:#edd2a0}.primary span{font-size:22px;font-weight:400}.hero-bottom{position:absolute;bottom:26px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;color:#a5aebb;font-size:12px;letter-spacing:1px}.hero-bottom i{font-style:normal;color:var(--gold);padding:0 14px}.hero-bottom a{font:10px Georgia,serif;letter-spacing:2px}.hero-bottom a span{font-size:22px;padding-left:20px}.draft-note{text-align:center;padding:14px 20px;border-block:1px solid var(--line);color:var(--muted);font-size:12px}.draft-note span{color:var(--gold);padding-right:16px}.section{max-width:1320px;margin:auto;padding:100px 6% 90px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px}.section-head .eyebrow{margin-bottom:12px}.section-head h2{font:400 38px/1.4 "Batang",serif;letter-spacing:-1px;margin:0}.section-head>p{color:var(--muted);font-size:14px;margin:0}.world-layout{display:grid;grid-template-columns:190px 1fr 245px;gap:40px;padding-top:38px;border-top:1px solid var(--line)}.world-menu{display:flex;flex-direction:column;gap:5px}.world-menu button{display:flex;align-items:center;gap:14px;width:100%;padding:17px 0;background:none;color:var(--muted);border-bottom:1px solid #ffffff0c;font-size:14px;text-align:left}.world-menu button>span:first-child{font:12px Georgia,serif;color:#7f8c9d}.world-menu button>span:last-child{margin-left:auto;opacity:0}.world-menu button[aria-selected=true]{color:var(--gold)}.world-menu button[aria-selected=true]>span:last-child{opacity:1}.overline{font-size:11px;letter-spacing:1.8px;color:var(--gold);margin:0 0 12px}.world h3{font:400 26px/1.65 "Batang",serif;letter-spacing:-.6px;margin:0 0 20px}.world article>p:not(.overline){font-size:14px;color:#abb6c5;line-height:2;margin:0}.world blockquote{margin:25px 0 0;border-left:1px solid var(--gold);padding-left:18px;font-family:"Batang",serif;font-size:13px;color:var(--gold)}.world-picture img{width:100%;height:300px;object-fit:cover;object-position:72% 50%;filter:saturate(.7);border:1px solid var(--line);padding:5px}.world-picture span{display:block;text-align:right;font:9px Georgia,serif;letter-spacing:1.6px;color:var(--muted);margin-top:9px}.characters{border-top:1px solid var(--line)}.filters{display:flex;gap:10px;margin-bottom:28px}.filters button{background:transparent;color:var(--muted);border:1px solid #24303e;padding:8px 20px;font-size:13px}.filters button[aria-pressed=true]{border-color:var(--gold);color:var(--gold);background:#d3b7790b}.filters button span{margin-left:12px;font:11px Georgia,serif;opacity:.7}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.character{padding:0;text-align:left;background:transparent;border:1px solid #26303e;transition:border-color .2s,transform .2s}.character:hover{transform:translateY(-5px);border-color:var(--gold)}.character[hidden]{display:none}.portrait{height:310px;position:relative;overflow:hidden;display:flex;justify-content:center;align-items:center;background:radial-gradient(ellipse at 50% 40%,#263b50,#101c2c 75%);border-bottom:1px solid #ffffff13}.portrait-two{background:radial-gradient(ellipse at 50% 40%,#484035,#221e1c 75%)}.portrait-three{background:radial-gradient(ellipse at 50% 40%,#333447,#181b29 75%)}.portrait:after{content:"";position:absolute;inset:22px;border:1px solid #d3b77920;pointer-events:none}.card-number{position:absolute;top:33px;left:36px;font:10px Georgia,serif;letter-spacing:2px;color:#d4c5aa}.portrait-letter{font:italic 170px/1 Georgia,serif;color:#d3b77942;margin-top:-25px}.portrait-placeholder{position:absolute;bottom:43px;left:0;right:0;text-align:center;font-size:10px;letter-spacing:2px;color:#b3b7bb;line-height:2}.card-glyph{position:absolute;right:35px;top:28px;color:var(--gold);font-size:24px}.card-copy{padding:23px 24px 25px}.card-copy h3{font:400 28px/1.3 "Batang",serif;margin:8px 0 12px}.card-copy h3 span{float:right;color:var(--gold);font:22px sans-serif}.card-copy p{font-size:13px;color:var(--muted);margin:0}.character-note{font-size:12px;color:#8994a5;margin:22px 0 0}.epilogue{padding:55px 20px 85px;text-align:center;background:linear-gradient(#090f19,#0d1623)}.epilogue .star{color:var(--gold);font-size:32px}.epilogue p{font:400 27px "Batang",serif;margin:24px 0}.epilogue a{color:var(--muted);font-size:12px;border-bottom:1px solid var(--line);padding-bottom:6px}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:28px 5%;font-size:11px;color:#8f9cac}.footer-brand{font:14px Georgia,serif;letter-spacing:2px;color:var(--gold)}footer>span:last-child{font:10px Georgia,serif;letter-spacing:1.5px}
dialog{background:var(--panel);color:var(--text);border:1px solid var(--line);padding:0;width:min(850px,92vw);max-height:88svh;overflow:auto}dialog[open]{display:grid;grid-template-columns:32% 1fr}dialog::backdrop{background:#02060ce6;backdrop-filter:blur(8px)}.close{position:absolute;top:10px;right:15px;font-size:30px;background:transparent;color:var(--muted);z-index:2;width:40px;height:40px}.profile-visual{display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(#304054,#0d1825);padding:30px}.profile-visual>span{font:italic 150px Georgia,serif;color:#d3b77977}.profile-visual small{text-align:center;font-size:10px;letter-spacing:2px;color:var(--muted)}.profile-content{padding:50px 40px}.profile-content h2{font:38px "Batang",serif;margin:14px 0}.profile-tagline{color:var(--gold);font-size:14px}.profile-content>p:not(.eyebrow,.overline,.profile-tagline,.link-placeholder){font-size:14px;color:var(--muted);line-height:1.95}.profile-content dl{border-block:1px solid var(--line);padding:15px 0;font-size:13px}.profile-content dl div{display:flex;gap:20px;margin:7px 0}.profile-content dt{width:48px;flex-shrink:0;color:var(--muted)}.profile-content dd{margin:0}.link-placeholder{border:1px solid var(--line);color:#b8a77f;padding:12px;text-align:center;margin:24px 0 7px;font-size:14px}.profile-content>small{display:block;color:var(--muted);font-size:11px}
@media(min-width:1600px){.hero{padding-left:max(9%,calc((100vw - 1200px)/2))}}@media(max-width:1000px){.header{padding:0 4%}.edition{display:none}.world-layout{grid-template-columns:160px 1fr;gap:30px}.world-picture{display:none}.portrait{height:270px}.section{padding:75px 5%}.hero{min-height:650px}.header nav{gap:25px}}@media(max-width:600px){html{scroll-padding-top:30px}.header{height:78px;padding:0 6%;gap:12px}.brand{font-size:19px;letter-spacing:2px;gap:8px}.brand .star{font-size:30px}.brand-small{font-size:7px;letter-spacing:1px}.header nav{gap:16px;font-size:12px}.header nav a{padding:25px 0}.header nav a.active:after{bottom:13px}.hero{height:calc(100svh - 78px);min-height:650px;max-height:850px;padding:60px 8% 110px;align-items:center}.hero-art{background-position:62% center}.hero:after{background:linear-gradient(90deg,#050c16ca,#050c1650),linear-gradient(0deg,#090f19,transparent 50%)}h1{font-size:66px;letter-spacing:-3px}.hero-en{font-size:12px;letter-spacing:5px}.hero .eyebrow{font-size:9px;letter-spacing:2px}.hero-line{font-size:14px}.hero-bottom{left:8%;right:8%;bottom:30px}.hero-bottom>span{font-size:10px}.hero-bottom a{font-size:0}.hero-bottom a span{font-size:22px}.draft-note{font-size:10px;padding:13px 12px}.draft-note span{padding-right:8px}.section{padding:65px 7%}.section-head{align-items:flex-start;gap:15px;margin-bottom:28px}.section-head h2{font-size:28px}.section-head>p{font-size:11px;max-width:100px;padding-top:32px}.eyebrow{font-size:9px;letter-spacing:2px}.world-layout{display:block;padding-top:0;border:0}.world-menu{flex-direction:row;gap:12px;margin-bottom:30px;border-bottom:1px solid var(--line)}.world-menu button{font-size:12px;padding:12px 0;gap:7px;justify-content:center;white-space:nowrap}.world-menu button span:first-child{font-size:10px}.world-menu button span:last-child{display:none}.world-menu button[aria-selected=true]{border-bottom-color:var(--gold)}.world h3{font-size:25px}.world article>p:not(.overline){font-size:14px}.cards{grid-template-columns:1fr;gap:22px}.portrait{height:290px}.portrait-letter{font-size:160px}.character-note{font-size:11px}.epilogue p{font-size:23px}footer{flex-wrap:wrap;padding:25px 7%;gap:12px}footer>span:last-child{width:100%}dialog[open]{display:block}.profile-visual{height:125px;flex-direction:row;gap:25px}.profile-visual>span{font-size:80px}.profile-content{padding:28px}.profile-content .eyebrow{margin-bottom:18px}.close{background:#0c1626d9}.filters button{font-size:12px}.overline{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Modern fantasy: contemporary typography, familiar urban campus. */
.brand-small{font-family:"Malgun Gothic",sans-serif;font-size:8px;letter-spacing:1.1px}
h1{font-family:"Malgun Gothic","Apple SD Gothic Neo",sans-serif;font-weight:650;letter-spacing:-5px;font-size:clamp(60px,6vw,88px);line-height:1.2}
.section-head h2,.world h3,.card-copy h3,.profile-content h2,.epilogue p{font-family:"Malgun Gothic","Apple SD Gothic Neo",sans-serif;font-weight:500}
.hero-art{background-position:62% 40%}.hero:after{background:linear-gradient(90deg,rgba(5,12,22,.81),rgba(5,12,22,.3) 48%,rgba(5,12,22,.03)),linear-gradient(0deg,#090f19,transparent 30%)}
.world article>p:not(.overline){font-size:16px;line-height:1.95}.world blockquote{font-family:inherit;font-size:13px;line-height:1.85}.world-picture img{height:360px;object-position:80% 40%}.portrait-letter{font-size:120px;letter-spacing:-8px}.profile-visual>span{font-size:100px}.draft-note{line-height:1.8}
@media(max-width:600px){h1{font-size:64px;letter-spacing:-4px}.brand-small{font-size:6px;letter-spacing:.7px}.world-menu{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.world-menu button{justify-content:flex-start;font-size:13px;padding:12px 3px}.world-layout{padding-top:0}.world h3{font-size:23px}.world article>p:not(.overline){font-size:15px}.world blockquote{font-size:12px}.section-head>p{font-size:11px}.hero-bottom>span{font-size:9px;letter-spacing:0}.hero-bottom i{padding:0 6px}.hero:after{background:linear-gradient(90deg,#050c16c9,#050c1630),linear-gradient(0deg,#090f19,transparent 60%)}.hero-art{background-position:67% 45%}}

.factions{border-top:1px solid var(--line)}.faction-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.faction-card{min-height:180px;padding:25px 26px;border:1px solid #273240;background:linear-gradient(140deg,#121d2b88,#0b142022)}.faction-index{font-size:10px;letter-spacing:2px;color:var(--gold)}.faction-card h3{font-size:20px;letter-spacing:-.6px;font-weight:500;margin:18px 0 12px}.faction-card p{font-size:13px;color:var(--muted);line-height:1.9;margin:0}.faction-card .pending{font-size:12px;color:#8a97a8}.established{border-color:var(--line)}.faction-label{display:block;color:var(--gold);font-size:11px;margin-top:17px}.aldenia{display:grid;grid-template-columns:1fr 2fr 24px;gap:24px;align-items:center;margin-top:20px;padding:32px;border:1px solid var(--line);background:linear-gradient(100deg,#152433,#101825)}.aldenia .eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:10px}.aldenia h3{font-size:28px;font-weight:500;margin:0}.aldenia p{font-size:14px;margin:0;color:var(--text);line-height:1.9}.aldenia p+p{font-size:13px;color:var(--muted);margin-top:8px}.aldenia>span{font-size:25px;color:var(--gold)}
@media(max-width:1000px){.faction-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.header{height:auto;min-height:110px;flex-wrap:wrap;padding-top:15px;gap:4px}.header nav{width:100%;justify-content:space-between;font-size:12px}.header nav a{padding:10px 0 17px}.header nav a.active:after{bottom:9px}.hero{height:calc(100svh - 110px)}.faction-grid{gap:10px}.faction-card{padding:20px 16px;min-height:150px}.faction-card h3{font-size:17px}.faction-card p{font-size:12px}.faction-label{font-size:10px}.faction-index{font-size:9px;letter-spacing:1px}.aldenia{grid-template-columns:1fr;gap:18px;padding:25px}.aldenia>span{display:none}.aldenia h3{font-size:26px}.aldenia p{font-size:14px}.aldenia br{display:none}}
