@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Noto+Sans+JP:wght@400;500;600&family=Noto+Sans+KR:wght@400;500;600&family=Noto+Serif+JP:wght@400;500;600&family=Noto+Serif+KR:wght@400;500;600&display=swap');
:root{color-scheme:dark;--bg:#101310;--surface:#181c18;--ink:#eeeae1;--muted:#a8ada3;--accent:#d1c2a6;--line:#ffffff26;--serif:'Noto Serif KR','Noto Serif JP',Georgia,serif;--sans:'Noto Sans KR','Noto Sans JP',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.7 var(--sans)}a{color:inherit;text-decoration:none}button,select{font:inherit;color:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button{border:0;background:none}img{max-width:100%;display:block}.skip-link{position:fixed;left:16px;top:-90px;background:var(--ink);color:var(--bg);padding:10px;z-index:100}.skip-link:focus{top:16px}.site-header{height:104px;padding:0 5.4%;display:flex;align-items:center;gap:48px;border-bottom:1px solid var(--line);background:var(--bg)}.brand{display:flex;align-items:center;gap:15px;line-height:1.15;font:500 22px/1.1 Georgia,serif;letter-spacing:3px}.brand small{font:400 9px/1.5 var(--sans);display:block;letter-spacing:2.6px;margin-top:7px}.brand-emblem{border:1px solid #a49b85;width:40px;height:48px;display:grid;place-items:center;font:italic 30px Georgia,serif;letter-spacing:0}.site-header nav{display:flex;gap:35px;margin:auto;font-size:14px}.site-header nav a{padding:14px 0;color:#bdc1b7}.site-header nav a:hover{color:#fff}.languages{display:flex;align-items:center;gap:14px;font-size:13px}.languages button{padding:8px 2px;color:#a8ada3}.languages button:first-child{color:#eeeae1}.hero{position:relative;min-height:665px;isolation:isolate;display:flex;align-items:center;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-image{object-position:65% 55%}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(12,18,15,.97),rgba(12,18,15,.68) 40%,rgba(12,18,15,.1) 100%),linear-gradient(0deg,#101310,transparent 30%,#10131020)}.hero-content{padding:75px 7.5% 100px;width:100%}.eyebrow{font-size:12px;letter-spacing:3.3px;color:var(--accent);text-transform:uppercase;margin:0 0 25px}.hero h1{font:400 clamp(36px,4.1vw,64px)/1.65 var(--serif);letter-spacing:-2.8px;margin:0 0 24px;text-wrap:balance}.hero h1 em{font-style:normal;color:#d8c6a5}.hero-intro{font-size:16px;line-height:2;color:#c5c9bf;margin:0 0 37px}.button{min-height:52px;display:inline-flex;justify-content:center;align-items:center;gap:42px;padding:13px 25px;font-size:14px;line-height:1.5;border:1px solid var(--line);transition:background .2s}.primary{background:#e7ddca;color:#23271f;border-color:#e7ddca}.primary:hover{background:#fff2dc}.text-link{font-size:14px;border-bottom:1px solid #a6aa9c;padding-bottom:5px;display:inline-block}.hero-content>.text-link{margin-left:30px}.hero-bottom{position:absolute;bottom:25px;left:7.5%;right:7.5%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:1px;color:#a7b09f}.section{max-width:1320px;margin:0 auto;padding:100px 6%}.section h2{font:400 36px/1.5 var(--serif);letter-spacing:-1.5px;margin:0 0 20px}.section>p:not(.eyebrow){color:var(--muted)}.first-chapter{border-bottom:1px solid var(--line)}
@media(max-width:760px){.site-header{height:auto;min-height:90px;padding:18px 6%;flex-wrap:wrap;gap:18px;justify-content:space-between}.brand{font-size:18px}.brand-emblem{width:32px;height:40px}.site-header nav{order:3;flex-basis:100%;gap:30px;margin:0;justify-content:center;border-top:1px solid var(--line);padding-top:7px}.site-header nav a{padding:7px 0}.languages{gap:12px}.hero{min-height:620px}.hero-content{padding:65px 7% 100px}.hero h1{font-size:36px;letter-spacing:-1.8px}.hero-shade{background:linear-gradient(90deg,#0c120fe8,#0c120f60),linear-gradient(0deg,#101310,transparent)}.hero-bottom{font-size:12px;gap:20px}.hero-content>.text-link{margin-left:22px}.section{padding:68px 7%}.section h2{font-size:29px}.eyebrow{letter-spacing:2px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
/* IODIA editorial theme and reading surfaces */
:root{--bg:#101214;--surface:#16191c;--ink:#eeeae2;--muted:#a7afb6;--accent:#d4bfa0;--line:#ffffff20;--reader-size:19px}
.brand{font:400 34px/1 Georgia,serif;letter-spacing:7px}.brand small{font:400 12px/1.4 var(--sans);letter-spacing:2px;margin-top:10px}.site-header{gap:28px;height:110px;padding:0 5%}.site-header nav{gap:27px;white-space:nowrap}.site-header nav a[aria-current]{color:var(--ink);border-bottom:1px solid var(--accent)}.header-right{display:flex;align-items:center;gap:25px}.youtube-link{border-bottom:1px solid var(--line);padding:8px 0;font-size:14px;white-space:nowrap}.youtube-link span{margin-left:12px}.languages{gap:10px;white-space:nowrap;font-size:13px}.languages button{color:var(--muted)!important;min-height:40px;border-bottom:1px solid transparent}.languages button[aria-pressed=true]{color:var(--ink)!important;border-color:var(--accent)}.hero{min-height:710px}.hero-content{padding:95px 7.2% 110px}.hero h1{max-width:1000px;font-size:clamp(37px,4.3vw,66px);line-height:1.6;margin-bottom:25px}.hero-shade{background:linear-gradient(90deg,#0d1012f5,#0d1012b3 42%,#0d101220),linear-gradient(0deg,#101214,transparent 35%)}.hero-intro{color:#d1d0cd}.hero-actions{display:flex;align-items:center;gap:32px}.hero-bottom{font-size:12px;letter-spacing:1px}.section{max-width:1440px;padding:95px 6.4%}.section-rule{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;margin-bottom:65px;font-size:12px;letter-spacing:1.7px;color:var(--accent);gap:20px}.section-rule>span:last-child{color:var(--muted);text-align:right}.story-columns{display:grid;grid-template-columns:1fr 1fr;gap:100px}.story-columns h2{font-size:39px;line-height:1.9;margin:0}.story-columns p{margin:0 0 24px;font-size:17px;line-height:2.05;color:#bdc2c7}.story-columns .text-link{margin-top:8px}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:45px;margin-bottom:45px}.section-heading>p,.section-heading>div>p:not(.eyebrow){color:var(--muted);margin:0}.section-heading h2{margin:0 0 15px}.section-heading>.text-link{flex-shrink:0}.character-section{padding-top:30px}.character-index{display:grid;grid-template-columns:1fr 1fr;column-gap:64px}.character-index-item{display:flex;align-items:center;gap:24px;padding:30px 0;border-bottom:1px solid var(--line)}.index-number{font:italic 22px Georgia,serif;color:var(--accent)}.character-index-item h3{font:400 23px/1.5 var(--serif);margin:0 0 5px}.character-index-item p{margin:0;color:var(--muted);font-size:13px}.character-index-item>span:last-child{margin-left:auto;color:var(--muted);font-size:20px}.character-index-item:hover h3{color:var(--accent)}.home-reading{padding-top:35px}.reading-feature{display:flex;align-items:center;gap:52px}.large-number{font:400 136px/1 'Cormorant Garamond',Georgia,serif;color:#c5b191}.reading-feature>div{flex:1}.reading-feature .eyebrow{margin-bottom:15px}.reading-feature p:not(.eyebrow){color:var(--muted);margin:0}.reading-feature h2{font-size:36px}.home-stills{padding-top:35px;padding-bottom:30px}.home-stills .section-heading{align-items:center}.video-section{padding-top:60px}.public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.public-still{position:relative;display:block;overflow:hidden}.public-still img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .5s}.public-still:hover img{transform:scale(1.025)}.play-mark{position:absolute;top:32%;left:45%;width:46px;height:46px;border:1px solid #ffffffa0;border-radius:50%;background:#10121480;display:grid;place-items:center;font-size:16px}.still-caption{display:flex;justify-content:space-between;gap:10px;font-size:14px;padding-top:18px;color:var(--ink)}.footer{border-top:1px solid var(--line);padding:46px 6.4%;display:flex;align-items:center;gap:48px;color:var(--muted)}.footer-wordmark{font:400 27px Georgia,serif;letter-spacing:6px;color:var(--ink)}.footer p{font-size:14px;margin:0 0 6px}.footer small{font-size:12px}.footer>a:last-child{margin-left:auto;font-size:14px}.page-section{padding-top:80px;min-height:70vh}.page-head{margin-bottom:62px}.page-head h1{font:400 clamp(32px,3.5vw,49px)/1.55 var(--serif);letter-spacing:-1.6px;margin:0 0 20px;text-wrap:balance}.page-head>p:last-child{color:var(--muted);font-size:16px;margin:0}.page-head>.eyebrow{margin-bottom:20px}.character-nav{display:flex;gap:25px;overflow:auto;border-bottom:1px solid var(--line);margin:0 0 50px;padding-bottom:0;scrollbar-width:thin}.character-nav>a{flex-shrink:0;padding:16px 7px 20px;font-size:14px;color:var(--muted);border-bottom:2px solid transparent}.character-nav>a>span{font:italic 14px Georgia,serif;margin-right:12px;color:var(--accent)}.character-nav a[aria-current]{color:var(--ink);border-color:var(--accent)}.character-profile{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.profile-copy .eyebrow{font-size:13px;letter-spacing:.5px;margin-bottom:20px}.profile-copy h2{font-size:38px;line-height:1.5;margin-bottom:6px}.latin-name{letter-spacing:2px;color:#838e96!important;font-size:12px!important;margin:0 0 35px!important}.profile-copy h3{font:400 26px/1.8 var(--serif);color:var(--accent);margin:30px 0}.profile-copy>p:not(.eyebrow){font-size:16px;line-height:2.1;color:#bcc3c8}.ties{border-top:1px solid var(--line);margin-top:36px;padding-top:27px}.ties h4{font-size:13px;font-weight:400;color:var(--accent);margin:0 0 14px}.ties p{font-size:14px;color:var(--muted);line-height:2;margin:0}.profile-stills-heading{display:flex;align-items:baseline;justify-content:space-between;margin:75px 0 24px}.profile-stills-heading h3{font:400 24px var(--serif);margin:0}.profile-stills-heading>span{color:var(--muted);font-size:13px}.still-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.still-grid .still-placeholder{aspect-ratio:4/3}.still-grid .placeholder-monogram{font-size:170px;top:2%;left:29%}.still-grid .placeholder-top{top:18px;left:20px;right:20px;letter-spacing:1px;font-size:12px}.still-grid .placeholder-bottom{left:20px;bottom:18px;font-size:12px;letter-spacing:1px}.still-grid .placeholder-text p{font-size:18px}.still-grid .frame-corner{display:none}.world-panorama{position:relative;margin-bottom:65px}.world-panorama img{aspect-ratio:2.3/1;width:100%;object-fit:cover}.world-panorama>span{position:absolute;bottom:25px;left:30px;background:#11191be0;padding:7px 14px;font-size:13px;letter-spacing:2px}.world-stories article{display:grid;grid-template-columns:60px 1fr;gap:28px;border-top:1px solid var(--line);padding:50px 0}.world-stories .eyebrow{margin-bottom:15px;font-size:14px}.world-stories h2{font-size:27px}.world-stories article p:last-child{color:var(--muted);max-width:790px;line-height:2}.still-notice{display:flex;gap:20px;align-items:center;background:#ffffff04;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px}.still-notice>span{font-size:25px;color:var(--accent)}.still-notice>p{font-size:15px;color:var(--muted);margin:0}.filter-bar{display:flex;gap:12px;flex-wrap:wrap;margin:40px 0 55px}.filter-bar button{border:1px solid var(--line);padding:9px 18px;font-size:14px;min-height:44px;color:var(--muted)}.filter-bar button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.gallery-group{margin-top:55px}.gallery-heading{display:flex;align-items:baseline;gap:20px;margin-bottom:25px}.gallery-heading h2{font-size:26px;margin:0}.gallery-heading>span{font-size:12px;letter-spacing:1.5px;color:var(--muted)}.gallery-heading>a{margin-left:auto}.chapter-page{max-width:1140px}.chapter-list{border-top:1px solid var(--line)}.chapter-row{display:flex;align-items:center;gap:38px;padding:34px 14px;border-bottom:1px solid var(--line)}.chapter-number{font:400 56px 'Cormorant Garamond',Georgia,serif;color:var(--accent);min-width:55px}.chapter-title{flex:1;min-width:0}.chapter-title small{display:block;color:var(--muted);font-size:12px;margin-bottom:9px}.chapter-title strong{font:400 25px/1.5 var(--serif)}.chapter-state{font-size:14px;color:var(--accent);white-space:nowrap}.chapter-row.ready:hover{background:#ffffff05}.chapter-row.pending{color:#8b9095}.chapter-row.pending .chapter-number{color:#666c70}.chapter-row.pending .chapter-state{color:#8b9095}.chapter-note{font-size:14px;color:var(--muted);margin-top:28px}.resume-strip{display:flex;justify-content:space-between;gap:20px;padding:20px;background:#ffffff05;font-size:14px;margin-bottom:20px}.reader{--reader-bg:#f1eee7;--reader-ink:#302d29;--reader-muted:#716b62;background:var(--reader-bg);color:var(--reader-ink);color-scheme:light}.reader.night{--reader-bg:#181b1e;--reader-ink:#d1d0ca;--reader-muted:#929a9f;color-scheme:dark}.reader .site-header{color:var(--ink)}.reader .site-header .languages button[aria-pressed=true]{color:var(--ink)!important}.reader-tools{position:sticky;top:0;z-index:15;display:flex;align-items:center;gap:20px;min-height:68px;padding:12px 5%;background:var(--reader-bg);border-bottom:1px solid #88888840;font-size:14px;color:var(--reader-muted)}.reader-tools>a{white-space:nowrap}.reader-title-mini{margin:auto}.reader-controls{display:flex;align-items:center;gap:24px}.font-controls{display:flex;align-items:center;border:1px solid #88888860;gap:10px}.font-controls button{font-family:Georgia,serif;min-width:38px;min-height:40px;font-size:17px}.font-controls span{font-size:12px;min-width:20px;text-align:center}.theme-toggle{font-size:14px;min-height:40px}.reader-progress{position:fixed;z-index:20;top:0;left:0;right:0;height:3px;background:transparent}.reader-progress>span{display:block;height:100%;width:0;background:#a58b60;transition:width .15s}.reader-wrap{width:min(100% - 48px,740px);margin:auto;padding:90px 0 80px}.reader-heading{text-align:center;margin-bottom:60px}.reader-heading .eyebrow{color:var(--reader-muted);font-size:13px;letter-spacing:2px}.reader-heading h1{font:500 clamp(30px,4vw,43px)/1.65 var(--serif);margin:0 0 18px}.novel-title{font-size:13px;color:var(--reader-muted)}.reader-ornament{font-family:Georgia,serif;letter-spacing:12px;color:#a4957c;margin-top:40px}.novel-body{font:400 var(--reader-size)/2.15 var(--serif);word-break:keep-all;overflow-wrap:break-word}.novel-body p{margin:0 0 1.9em;scroll-margin-top:100px}.novel-body .loading,.load-error{text-align:center;font:400 16px/1.8 var(--sans);padding:60px 0}.reader-end{text-align:center;border-top:1px solid #88888840;padding:55px 0 0;margin-top:70px;font-size:14px;color:var(--reader-muted)}.reader-end h2{font:400 23px/1.8 var(--serif);margin:25px 0}.reader-end .button,.load-error .button{border-color:#88888860}.reader .footer{background:#101214;color:var(--muted)}.reader .footer .footer-wordmark{color:var(--ink)}
html[lang=en] .hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(42px,5.1vw,77px);line-height:1.15;letter-spacing:-1.5px;max-width:1080px}html[lang=en] .hero-intro{margin-top:28px}html[lang=en] .story-columns h2{font:400 48px/1.4 'Cormorant Garamond',Georgia,serif;letter-spacing:0}html[lang=en] .novel-body{font-family:Georgia,serif;line-height:1.95}html[lang=ja]{--serif:'Noto Serif JP','Yu Mincho',serif;--sans:'Noto Sans JP','Yu Gothic',sans-serif}html[lang=ja] .novel-body{word-break:normal;line-height:2.25}html[lang=en] .page-head h1{font-family:'Cormorant Garamond',Georgia,serif;letter-spacing:0;font-size:57px}
@media(min-width:1600px){.hero{min-height:780px}.hero-content{max-width:1600px;margin:auto}.site-header{padding:0 max(5%,calc((100vw - 1460px)/2))}}
@media(max-width:1150px){.site-header{gap:25px;flex-wrap:wrap;height:auto;min-height:125px;padding:22px 5% 0;justify-content:space-between}.site-header nav{order:3;flex-basis:100%;justify-content:center;gap:35px}.header-right{margin-left:auto}.story-columns{gap:50px}.character-profile{gap:40px}.profile-copy h2{font-size:30px}.profile-copy h3{font-size:23px}.still-grid .placeholder-text p{font-size:16px}.still-grid .placeholder-top{font-size:12px;letter-spacing:0}.still-grid .placeholder-top>span{display:none}.still-grid .placeholder-bottom{font-size:12px;letter-spacing:0}.reading-feature{gap:30px}.public-grid{gap:18px}}
@media(max-width:760px){.site-header{min-height:130px;padding:20px 6% 0;gap:15px}.brand{font-size:28px;letter-spacing:5px}.brand small{font-size:12px;letter-spacing:1px}.header-right{gap:12px}.youtube-link{display:none}.site-header nav{gap:24px;font-size:14px;overflow:auto;justify-content:flex-start;white-space:nowrap;flex-basis:100%;padding-top:0}.site-header nav a{padding:13px 0}.languages{font-size:12px;gap:9px}.hero{min-height:650px}.hero h1{font-size:34px;letter-spacing:-1.7px;line-height:1.65}.hero-content{padding:65px 7% 100px}.hero-image{object-position:72% 50%}.hero-shade{background:linear-gradient(90deg,#0d1012e8,#0d101270),linear-gradient(0deg,#101214,transparent 60%)}.hero-intro{font-size:15px}.hero-actions{gap:25px;flex-wrap:wrap}.hero-bottom{gap:25px;align-items:flex-end;bottom:25px;line-height:1.7}.hero-bottom span:last-child{max-width:40%;text-align:right}.section{padding:65px 7%}.section-rule{margin-bottom:40px;letter-spacing:1px;font-size:12px}.story-columns{grid-template-columns:1fr;gap:30px}.story-columns h2{font-size:30px;line-height:1.8}.story-columns p{font-size:16px}.section-heading{display:block;margin-bottom:25px}.section-heading>p{font-size:14px}.section-heading>.text-link{margin-top:20px}.section-heading h2{font-size:29px}.character-index{grid-template-columns:1fr;gap:0}.character-index-item{padding:22px 0}.character-index-item h3{font-size:21px}.character-index-item p{font-size:13px}.reading-feature{gap:22px;flex-wrap:wrap}.large-number{font-size:95px}.reading-feature>div{flex-basis:60%}.reading-feature h2{font-size:27px}.reading-feature>div>p{font-size:14px}.reading-feature .button{width:100%;margin-top:6px}.home-stills{padding-bottom:15px}.public-grid{grid-template-columns:1fr;gap:32px}.public-still img{aspect-ratio:16/9}.footer{padding:35px 7%;gap:25px;flex-wrap:wrap}.footer>div{order:3;flex-basis:100%}.footer>a:last-child{margin-left:auto}.page-section{padding-top:50px}.page-head{margin-bottom:35px}.page-head h1{font-size:32px}.page-head>p:last-child{font-size:15px}.character-nav{margin-bottom:35px;gap:12px}.character-profile{grid-template-columns:1fr;gap:35px}.profile-visual .still-placeholder{aspect-ratio:5/4}.profile-copy h2{font-size:32px}.profile-copy h3{font-size:25px}.profile-copy .latin-name{margin-bottom:20px!important}.profile-stills-heading{margin-top:50px;gap:20px;align-items:center}.profile-stills-heading>span{font-size:12px}.still-grid{grid-template-columns:1fr;gap:18px}.still-grid .still-placeholder{aspect-ratio:16/9}.still-grid .placeholder-top{font-size:12px;letter-spacing:1px}.still-grid .placeholder-bottom{font-size:12px;letter-spacing:1px}.still-grid .placeholder-text p{font-size:20px}.still-grid .placeholder-monogram{font-size:180px;top:0;left:35%}.gallery-heading{gap:12px;flex-wrap:wrap}.gallery-heading h2{font-size:23px}.gallery-heading>span{display:none}.gallery-heading>a{font-size:13px}.still-notice{padding:20px;align-items:flex-start}.still-notice p{font-size:14px}.filter-bar{gap:9px;margin-bottom:30px}.filter-bar button{padding:8px 13px;font-size:13px}.world-panorama img{aspect-ratio:4/3}.world-stories article{grid-template-columns:30px 1fr;gap:18px;padding:35px 0}.world-stories h2{font-size:23px}.world-stories article p:last-child{font-size:16px}.chapter-row{gap:20px;padding:25px 0;flex-wrap:wrap}.chapter-number{font-size:44px;min-width:37px}.chapter-title strong{font-size:20px}.chapter-state{font-size:13px}.resume-strip{flex-direction:column;align-items:flex-start}.reader-title-mini{display:none}.reader-tools{padding:10px 5%;justify-content:space-between;gap:15px}.reader-controls{gap:14px}.font-controls{gap:5px}.font-controls button{min-width:32px}.reader-wrap{width:calc(100% - 42px);padding-top:55px}.reader-heading{margin-bottom:45px}.reader-heading h1{font-size:30px}.reader-heading .novel-title{font-size:12px}.novel-body{font-size:var(--reader-size);line-height:2.05}.reader-end h2{font-size:21px}html[lang=en] .hero h1{font-size:46px;line-height:1.2;letter-spacing:-.8px}html[lang=en] .story-columns h2{font-size:39px}html[lang=en] .page-head h1{font-size:43px}html[lang=ja] .hero h1{font-size:32px;letter-spacing:-1px}html[lang=en] .site-header nav{gap:23px}html[lang=ja] .site-header nav{gap:20px}}
@media(max-width:390px){.hero h1{font-size:30px}.site-header{padding-left:5%;padding-right:5%}.brand{font-size:26px}.header-right .languages{gap:7px}.hero-actions .text-link{font-size:13px}.hero-actions{gap:20px}.hero-bottom{font-size:12px}.chapter-title strong{font-size:18px}.chapter-state{font-size:12px}html[lang=en] .hero h1{font-size:39px}html[lang=ja] .hero h1{font-size:28px}}
.reader-controls{gap:16px}@media(max-width:760px){.reader-controls{gap:9px}.font-controls{gap:2px}.font-controls button{min-width:29px}.font-controls span{min-width:17px}.theme-toggle{font-size:12px;padding:3px}.reader-tools{padding-left:4%;padding-right:4%;gap:8px;font-size:13px}}@media(max-width:390px){.font-controls span{display:none}}

/* Original character photographs — one selected still per character. */
.character-photo{margin:0;min-width:0}.photo-open{position:relative;display:block;width:100%;padding:0;overflow:hidden;background:#181b1e;cursor:zoom-in}.photo-open img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;transition:transform .6s ease}.photo-open:hover img{transform:scale(1.018)}.photo-expand{position:absolute;right:18px;bottom:18px;width:38px;height:38px;display:grid;place-items:center;border:1px solid #ffffff66;background:#10121470;color:#fff;font-size:22px;backdrop-filter:blur(8px)}.character-photo figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:17px 0;color:#c3c7ca;font-size:13px;line-height:1.6}.character-photo figcaption small{font-size:11px;color:#89939b;white-space:nowrap}.profile-visual{min-width:0}.profile-visual .character-photo figcaption{border-bottom:1px solid var(--line)}.profile-gallery-link{margin-top:35px}.profile-pagination{display:flex;justify-content:space-between;gap:40px;border-top:1px solid var(--line);margin-top:70px;padding-top:28px}.profile-pagination>a{display:flex;flex-direction:column;gap:12px}.profile-pagination>a:last-child{text-align:right}.profile-pagination small{font-size:12px;color:var(--muted)}.profile-pagination span{font:400 22px/1.6 var(--serif)}.profile-pagination a:hover span{color:var(--accent)}
.collection-note{display:flex;align-items:center;gap:34px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.collection-note>span{font-size:11px;letter-spacing:2px;color:var(--accent);white-space:nowrap}.collection-note>p{margin:0;color:var(--muted);font-size:14px}.portrait-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:52px 25px}.portrait-gallery.single-portrait{grid-template-columns:minmax(0,480px)}.gallery-card{min-width:0}.gallery-card .character-photo figcaption{display:block;padding:14px 0 10px}.gallery-card .character-photo figcaption small{display:block;margin-top:5px}.gallery-person{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:17px}.gallery-person strong{display:block;font:400 20px/1.65 var(--serif)}.gallery-person small{display:block;font-size:10px;letter-spacing:1.7px;color:#87919a;margin-top:7px}.gallery-person>span:last-child{font-size:21px;color:var(--accent)}.gallery-person:hover strong{color:var(--accent)}.home-portraits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.modal-open{overflow:hidden}.still-dialog{border:0;padding:24px;background:#101214;color:var(--ink);width:fit-content;max-width:94vw;max-height:96dvh;overflow:auto;box-shadow:0 20px 100px #0008}.still-dialog::backdrop{background:#080a0cef;backdrop-filter:blur(12px)}.still-dialog figure{margin:0}.still-dialog img{display:block;width:auto;height:auto;max-width:85vw;max-height:82dvh;object-fit:contain;margin:auto}.still-dialog figcaption{text-align:center;font-size:13px;line-height:1.7;padding:17px 35px 0;color:#c8c7c1}.dialog-close{position:fixed;top:20px;right:24px;z-index:1;display:grid;place-items:center;background:#101214b3;border:1px solid #ffffff60;border-radius:50%;color:#fff;font-size:28px;line-height:1;width:44px;height:44px}.dialog-close:hover{background:#33383c}
@media(max-width:1150px){.portrait-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 22px}.gallery-person strong{font-size:19px}.character-profile{align-items:start}.profile-copy h3{margin-top:22px}}
@media(max-width:900px){.portrait-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.character-profile{gap:32px}.profile-copy h2{font-size:28px}.profile-copy h3{font-size:21px}.profile-copy>p:not(.eyebrow){font-size:15px}}
@media(max-width:760px){.character-profile{grid-template-columns:1fr;gap:30px}.profile-visual{max-width:520px;width:100%;margin:auto}.profile-copy h2{font-size:32px}.profile-copy h3{font-size:24px}.profile-copy>p:not(.eyebrow){font-size:16px}.collection-note{display:block;padding:21px 0}.collection-note>p{margin-top:10px;font-size:13px}.portrait-gallery{gap:38px 18px}.home-portraits{gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.home-portraits .gallery-card:last-child{display:none}.profile-pagination{margin-top:48px;gap:20px}.profile-pagination span{font-size:19px}.photo-expand{width:32px;height:32px;right:12px;bottom:12px;font-size:19px}.gallery-person strong{font-size:19px}.still-dialog{padding:12px;max-width:96vw}.still-dialog img{max-width:90vw;max-height:79dvh}.still-dialog figcaption{font-size:12px;padding:14px 15px 0}.dialog-close{right:14px;top:14px}}
@media(max-width:520px){.portrait-gallery{grid-template-columns:1fr;gap:42px}.portrait-gallery.single-portrait{grid-template-columns:1fr}.home-portraits{grid-template-columns:1fr;gap:36px}.home-portraits .gallery-card:last-child{display:block}.gallery-person strong{font-size:22px}.character-photo figcaption{font-size:13px}.home-stills .section-heading{align-items:flex-start}.profile-pagination span{font-size:17px}}

/* Character selection grows by rows; every name is visible without horizontal scrolling. */
.character-nav {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0 12px;
  overflow: visible;
}
.character-nav > a {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  min-height: 58px;
  padding: 16px 10px;
  border-bottom: 1px solid var(--line);
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.character-nav > a > span { margin-right: 0; flex-shrink: 0; }
.character-nav a[aria-current] { background: #d3c3a50a; border-bottom: 2px solid var(--accent); }
.character-index-item > div { min-width: 0; }
.profile-copy h2, .profile-pagination span { overflow-wrap: anywhere; }
@media (max-width: 760px) {
  .character-nav { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 7px; }
  .character-nav > a { flex-direction: column; justify-content: center; gap: 6px; padding: 12px 3px; text-align: center; font-size: 13px; min-height: 72px; }
  .character-nav > a > span { font-size: 11px; }
}

/* Translation disclosure belongs to translated reading editions only. */
.translation-notice {
  margin: 0 0 36px;
  padding: 20px 24px;
  border: 1px solid var(--line);
  border-left: 2px solid var(--accent);
  background: #d3c3a506;
  color: #b9bdc0;
  font: 400 14px/1.8 var(--sans);
  text-align: left;
}
.translation-notice p { margin: 0 0 10px; }
.translation-notice .translation-notice-title { color: var(--accent); font-size: 12px; font-weight: 600; letter-spacing: .5px; }
.translation-notice a { display: inline-block; color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.reader .translation-notice { color: var(--reader-muted); background: #a58b6008; border-color: #a58b6045; border-left-color: #a58b60; }
.reader .translation-notice-title, .reader .translation-notice a { color: var(--reader-ink); }
@media(max-width:760px) { .translation-notice { padding: 18px; font-size: 13px; margin-bottom: 30px; } }

/* Chapter library and a reader that retains every original line. */
.chapter-summary{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:20px 0;margin-bottom:24px;font-size:13px;color:var(--muted)}
.chapter-summary strong{font-weight:400;color:var(--accent)}
.chapter-row .chapter-title{display:block;padding:10px 0}.chapter-row .chapter-title:hover strong{color:var(--accent)}
.chapter-state .original-link{font-size:12px;border-bottom:1px solid var(--line);padding-bottom:5px}
.resume-strip{align-items:center;padding:24px 28px;border-left:2px solid var(--accent)}
.resume-strip small,.resume-strip strong{display:block}.resume-strip small{color:var(--muted);font-size:12px;margin-bottom:5px}.resume-strip strong{font:400 19px/1.7 var(--serif)}
.chapter-jump{margin:auto;min-width:0;max-width:35%;font:400 13px var(--sans);background:var(--reader-bg);color:var(--reader-ink);border:0;min-height:42px;text-overflow:ellipsis}
.novel-body p{white-space:pre-line}.novel-body .scene-break{text-align:center;letter-spacing:.7em;margin:3em 0;color:var(--reader-muted)}
.preview-notice{border:1px solid #a58b6050;padding:16px 20px;font:400 13px/1.8 var(--sans);color:var(--reader-muted);margin-bottom:30px}
.chapter-pagination{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid #88888840;padding:28px 0 36px;text-align:left}
.chapter-pagination>a{display:flex;flex-direction:column;gap:10px;min-width:0}.chapter-pagination>:last-child{text-align:right}
.chapter-pagination small{font:400 12px/1.7 var(--sans);color:var(--reader-muted,var(--muted))}.chapter-pagination strong{font:400 18px/1.8 var(--serif);overflow-wrap:anywhere;color:var(--reader-ink,var(--ink))}.chapter-pagination em{font:400 12px/1.6 var(--sans)}
.chapter-pagination a:hover strong{text-decoration:underline;text-underline-offset:5px}.story-continues{align-self:center;font:400 17px/1.8 var(--serif)}
.pending-chapter{min-height:65vh}.pending-chapter .page-head{max-width:820px}.pending-ornament{font:400 60px/1 Georgia,serif;color:var(--accent);margin:30px 0 45px}.pending-actions{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:70px}
@media(max-width:760px){.chapter-summary{align-items:flex-start;font-size:12px;gap:12px}.chapter-jump{display:none}.resume-strip{padding:20px;align-items:flex-start}.chapter-row{gap:14px}.chapter-row.pending .chapter-state{flex-basis:100%;padding-left:51px}.chapter-pagination{gap:18px}.chapter-pagination strong{font-size:16px}.pending-actions{margin-bottom:45px}.pending-actions .button{width:100%}.reader-tools>a{font-size:12px}}

/* Extended-version app guide. */
.site-header nav .extended-nav { color: #dec5b4; display: inline-flex; align-items: center; gap: 7px; }
.extended-nav > span { width: 4px; height: 4px; background: #d5a994; border-radius: 50%; align-self: flex-start; margin-top: 6px; }
.extended-feature { padding-top: 28px; padding-bottom: 25px; }
/* Extended guide and home banner. */
.extended-home-link { display: flex; justify-content: space-between; align-items: center; gap: 38px; padding: 32px 38px; border: 1px solid #b08d7436; background: linear-gradient(110deg, #211e21, #17181b); }
.extended-home-link .eyebrow { font-size: 10px; letter-spacing: 2px; margin: 0 0 12px; }
.extended-home-link h2 { font: 400 28px/1.6 var(--serif); margin: 0 0 10px; }
.extended-home-link p:last-child { font-size: 13px; line-height: 1.9; color: var(--muted); margin: 0; }
.extended-home-cta { flex-shrink: 0; font-size: 13px; }
.extended-home-cta > span { display: flex; gap: 22px; align-items: center; padding-bottom: 9px; border-bottom: 1px solid #d4bfa073; }
.extended-home-cta small { display: block; font-size: 12px; line-height: 1.7; color: #d4bfae; margin-top: 12px; }
.extended-home-link:hover { border-color: #d4bfa07a; }
.release-label { display: flex; align-items: center; gap: 9px; color: #dfbaa6; font: 400 11px/1.6 var(--sans); letter-spacing: 1px; margin: 0 0 22px; }
.release-label > span { width: 5px; height: 5px; background: #d5a994; border-radius: 50%; flex-shrink: 0; }
.extended-page { padding-top: 42px; }
.extended-back { display: inline-flex; gap: 12px; margin-bottom: 42px; color: var(--muted); font-size: 12px; }
.extended-back:hover { color: var(--ink); }
.extended-collection-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 42%); gap: 42px; align-items: center; margin-bottom: 48px; }
.extended-collection-intro { min-width: 0; }
.extended-intro-download { display: inline-flex; gap: 24px; margin-top: 22px; font-size: 13px; }
.extended-collection-head .eyebrow { font-size: 10px; letter-spacing: 3px; }
.extended-collection-head h1 { font: 400 clamp(32px, 3.8vw, 54px)/1.6 var(--serif); letter-spacing: -1.5px; margin: 18px 0; word-break: keep-all; text-wrap: balance; }
.extended-collection-intro > p:not(.eyebrow) { max-width: 610px; font-size: 15px; line-height: 2; color: var(--muted); word-break: keep-all; overflow-wrap: anywhere; margin: 0; }
.extended-atmosphere { margin: 0; width: 100%; max-width: 480px; justify-self: end; }
.extended-atmosphere-pair { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.extended-atmosphere img { display: block; width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; border: 1px solid #bda28c3b; opacity: .86; }
.extended-atmosphere figcaption { color: #93969a; font-size: 10px; line-height: 1.7; margin-top: 9px; }
.extended-platform { margin-top: 0; padding-top: 40px; border-top: 1px solid var(--line); }
html[lang="en"] .extended-collection-head h1 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(42px, 5vw, 66px); letter-spacing: -.8px; }
html[lang="ja"] .extended-collection-head h1, html[lang="ja"] .extended-collection-intro > p:not(.eyebrow) { word-break: normal; }
.extended-lead { padding-bottom: 55px; margin-bottom: 65px; border-bottom: 1px solid var(--line); }
.extended-lead-copy { min-width: 0; max-width: 780px; }
.extended-lead .eyebrow { margin-bottom: 30px; font-size: 10px; letter-spacing: 2.8px; }
.extended-lead .release-label { margin-bottom: 15px; }
.extended-lead h1 { font: 400 clamp(35px, 3.5vw, 53px)/1.55 var(--serif); letter-spacing: -1.7px; margin: 0 0 22px; word-break: keep-all; overflow-wrap: anywhere; text-wrap: balance; }
.extended-headline { font: 400 20px/1.9 var(--serif); color: #bba99e; margin: 0; }
.extended-notice-layout { display: grid; grid-template-columns: 1.35fr 1fr; gap: 76px; align-items: start; }
.extended-notice { min-width: 0; }
.extended-notice > .eyebrow { font-size: 10px; letter-spacing: 2.5px; margin-bottom: 20px; }
.extended-notice h2 { font-size: 29px; line-height: 1.65; margin-bottom: 27px; text-wrap: balance; }
.extended-notice > p:not(.eyebrow):not(.extended-thanks) { font-size: 15px; line-height: 2.1; color: #b9bfc4; margin: 0 0 21px; word-break: keep-all; overflow-wrap: anywhere; }
.extended-versions { margin-top: 35px; }
.extended-versions h3 { font-size: 12px; color: #b3a18f; font-weight: 400; margin: 0 0 12px; }
.extended-versions dl { margin: 0; border-top: 1px solid var(--line); }
.extended-versions dl > div { display: grid; grid-template-columns: 95px 1fr; gap: 20px; padding: 17px 0; border-bottom: 1px solid var(--line); align-items: baseline; }
.extended-versions dt { font: 400 14px/1.6 Georgia, serif; }
.extended-versions dd { margin: 0; color: #abb1b5; font-size: 12px; line-height: 1.9; }
.extended-versions dl > div:last-child dt, .extended-versions dl > div:last-child dd { color: #d8bea7; }
.extended-downloads { display: flex; flex-direction: column; align-items: flex-start; gap: 17px; margin-top: 32px; }
.extended-downloads .button { min-height: 56px; gap: 30px; }
.extended-appstore { color: #a7a4a0; font-size: 12px; border-bottom: 1px solid #a7a4a04a; padding-bottom: 4px; }
.extended-appstore:hover { color: var(--ink); }
.extended-thanks { font: 400 16px/2 var(--serif); color: #c7b9a9; margin: 48px 0 0; }
.extended-thanks > span { margin-left: 6px; color: #d4b59e; }
.invite-panel { padding: 34px; background: linear-gradient(140deg, #231f22, #1a191c 75%); border: 1px solid #bda28c3b; min-width: 0; }
.invite-panel .eyebrow { margin-bottom: 16px; font-size: 10px; letter-spacing: 2.8px; color: #b6a492; }
.invite-panel h2 { font: 400 20px/1.75 var(--serif); letter-spacing: -.5px; margin: 0; word-break: keep-all; }
.invite-coins { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; color: #e6cdb1; margin: 24px 0 20px; }
.invite-amount { font: 600 clamp(64px, 6vw, 80px)/1 Arial, sans-serif; font-variant-numeric: lining-nums tabular-nums; letter-spacing: -2px; }
.invite-reward { display: grid; gap: 5px; font: 400 15px/1.5 var(--sans); color: #bbaa9a; }
.invite-reward strong { font-size: 14px; font-weight: 500; color: #f0ded0; }
.invite-description { color: #b6b0b1; font-size: 13px; line-height: 1.95; margin: 0 0 26px; word-break: keep-all; }
.invite-code-box { border: 1px solid #cbb3965e; background: #ffffff03; padding: 16px 19px 9px; }
.invite-code-box > span { color: #b7a795; font-size: 10px; letter-spacing: .7px; }
.invite-copy { width: 100%; padding: 10px 0 7px; display: flex; justify-content: space-between; align-items: center; gap: 12px; text-align: left; }
.invite-copy code { font: 400 33px/1.2 Georgia, serif; letter-spacing: 3px; color: #f0ded0; }
.invite-copy > span { display: inline-flex; align-items: center; gap: 7px; color: #d6c4b3; font-size: 11px; }
.invite-copy:hover > span { color: #fff0e2; }
.invite-feedback { font-size: 11px; line-height: 1.8; color: #d4bfa0; margin: 9px 0 0; }
.invite-feedback:empty { display: none; }
.invite-panel h3 { font-size: 12px; font-weight: 400; color: #d6c8bd; margin: 29px 0 18px; }
.invite-steps { margin: 0; padding: 0; list-style: none; display: grid; gap: 15px; }
.invite-steps li { display: flex; align-items: baseline; gap: 15px; font-size: 12px; line-height: 1.7; color: #b8b1b0; }
.invite-steps li > span:first-child { font: italic 14px/1.5 Georgia, serif; color: #a88f78; min-width: 19px; }
html[lang=en] .extended-lead h1 { font: 400 clamp(41px, 4.5vw, 66px)/1.15 'Cormorant Garamond', Georgia, serif; letter-spacing: -1px; }
html[lang=ja] .extended-notice > p, html[lang=ja] .invite-description { word-break: normal; }
@media(max-width:1000px) {
  .extended-notice-layout { gap: 38px; grid-template-columns: 1.2fr 1fr; }
  .invite-panel { padding: 25px; }
}
@media(max-width:760px) {
  .site-header nav { justify-content: space-between; gap: 12px; overflow: visible; flex-wrap: wrap; font-size: 13px; }
  .extended-feature { padding-top: 15px; padding-bottom: 10px; }
  .extended-page { padding-top: 27px; }
  .extended-back { margin-bottom: 28px; }
  .extended-home-link { display: block; padding: 26px; }
  .extended-home-link h2 { font-size: 24px; }
  .extended-home-cta { display: inline-block; margin-top: 23px; }
  .extended-collection-head { grid-template-columns: 1fr; gap: 24px; margin-bottom: 35px; }
  .extended-atmosphere { width: 100%; max-width: 480px; justify-self: start; }
  html[lang="ja"] .extended-collection-head h1 { font-size: clamp(23px, 6.7vw, 38px); letter-spacing: -.9px; text-wrap: wrap; }
  .extended-platform { margin-top: 0; padding-top: 32px; }
  .extended-lead { padding-bottom: 35px; margin-bottom: 38px; }
  .extended-lead .eyebrow { margin-bottom: 22px; }
  .extended-lead h1 { font-size: 35px; margin-bottom: 16px; letter-spacing: -1px; }
  .extended-headline { font-size: 19px; }
  .extended-notice-layout { grid-template-columns: 1fr; gap: 40px; }
  .extended-notice h2 { font-size: 25px; margin-bottom: 22px; }
  .extended-notice > p:not(.eyebrow):not(.extended-thanks) { font-size: 14px; }
  .extended-versions dl > div { grid-template-columns: 80px 1fr; gap: 13px; }
  .extended-downloads .button { width: 100%; gap: 20px; font-size: 13px; }
  .extended-thanks { margin-top: 32px; font-size: 15px; }
  .invite-panel { padding: 28px; }
  .invite-panel h2 { font-size: 20px; }
  html[lang=en] .extended-lead h1 { font-size: 44px; }
}

/* IODIA ownership and third-party resource licenses are distinct notices. */
.footer { align-items: flex-start; }
.footer-wordmark, .footer > a:last-child { flex-shrink: 0; white-space: nowrap; }
.footer-copy { flex: 1; min-width: 0; max-width: 850px; }
.footer .footer-studio { color: var(--ink); margin-bottom: 12px; }
.footer-copy small { display: block; font-size: 12px; line-height: 1.85; word-break: keep-all; overflow-wrap: anywhere; }
.footer-copy small + small { margin-top: 7px; }
.footer-copy .footer-license { margin-top: 13px; font-size: 11px; color: #969fa6; }
html[lang="ja"] .footer-copy small { word-break: normal; }

/* Quiet scenery behind the novel and character page introductions. */
.page-head--illustrated { position: relative; isolation: isolate; overflow: hidden; min-height: 240px; padding: 42px 36px; margin-bottom: 38px; border-bottom: 1px solid var(--line); }
.page-head-art, .page-head-shade { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -2; }
.page-head-art { object-fit: cover; object-position: 64% 52%; opacity: .48; }
.page-head--characters .page-head-art { object-position: 55% 35%; }
.page-head-shade { z-index: -1; background: linear-gradient(90deg, #101214ed, #10121496 58%, #10121447), linear-gradient(0deg, #101214d9, transparent 65%); }
.page-head--illustrated > p:last-child { max-width: 650px; color: #bfc3c6; }
.character-nav > a > .character-nav-name { font: inherit; color: inherit; flex-shrink: 1; min-width: 0; }
.character-nav-name small { display: block; font-size: 11px; line-height: 1.6; color: var(--muted); }
.character-nav a[aria-current] small { color: var(--accent); }
.profile-copy .profile-disclosure { margin-top: 28px; padding: 2px 0 2px 16px; border-left: 1px solid #d4bfa05c; color: #b8ae9f; font-size: 12px; line-height: 1.9; word-break: keep-all; }
html[lang="ja"] .profile-copy .profile-disclosure { word-break: normal; }
.extended-home-link { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 38%); grid-template-areas: "copy photo" "cta photo"; gap: 20px 36px; }
.extended-home-link > div { grid-area: copy; }
.extended-home-cta { grid-area: cta; justify-self: start; }
.extended-home-photo { grid-area: photo; display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; object-fit: cover; border: 1px solid #ffffff14; opacity: .92; }
@media(max-width:1000px) {
  .extended-home-link { grid-template-columns: minmax(0, 1fr) minmax(210px, 40%); gap: 20px 28px; }
}
@media(max-width:760px) {
  .page-head--illustrated { min-height: 220px; padding: 32px 20px; margin-bottom: 28px; }
  .page-head--illustrated h1 { font-size: 29px; }
  .page-head-art { opacity: .42; object-position: 62% 50%; }
  .page-head--characters .page-head-art { object-position: 42% 36%; }
  .page-head--illustrated > p:last-child { font-size: 13px; line-height: 1.9; }
  .character-nav > a { min-height: 91px; }
  .character-nav > a > .character-nav-name { font-size: 12px; }
  .character-nav-name small { font-size: 10px; }
  html[lang="ja"] .character-nav > a > .character-nav-name { font-size: clamp(9px, 2.8vw, 11px); }
  html[lang="ja"] .character-nav-name small { font-size: clamp(8px, 2.4vw, 9px); letter-spacing: -.15px; }
  .extended-home-link { padding: 26px 24px; grid-template-columns: minmax(0, 1fr) minmax(180px, 42%); gap: 20px 24px; }
  .extended-home-link h2 { font-size: 22px; }
  .extended-home-link p:last-child { font-size: 12px; }
  .extended-home-cta { margin-top: 0; }
}

@media(max-width:600px) {
  .extended-home-link { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "photo" "cta"; padding: 24px 20px; gap: 22px; }
  .extended-home-photo { max-width: 100%; }
  .extended-home-cta { width: 100%; }
  .extended-home-cta > span { justify-content: space-between; }
}

.privacy-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:18px;font-size:12px;line-height:1.6}
.privacy-links button{font:inherit;color:inherit;background:none;border:0;padding:0;text-decoration:underline;cursor:pointer}
.privacy-links a{text-decoration:underline}
.analytics-consent{position:fixed;z-index:1000;right:20px;bottom:20px;width:min(420px,calc(100vw - 40px));padding:22px;box-sizing:border-box;background:#f6f1e7;color:#20251f;border:1px solid #b7b4a9;border-radius:8px;box-shadow:0 8px 40px #0005;font-family:Arial,sans-serif;font-size:14px;line-height:1.65;max-height:calc(100dvh - 40px);overflow:auto}
.analytics-consent strong{display:block;font-size:16px}
.analytics-consent p{margin:10px 0;font-size:14px;line-height:1.65;color:#343c33}
.analytics-consent a{color:#314a38;text-decoration:underline;font-size:12px}
.analytics-consent-actions{display:flex;gap:12px;margin-top:16px}
.analytics-consent-actions button{flex:1;padding:10px 16px;border:1px solid #53634f;border-radius:4px;background:#f6f1e7;color:#243622;font:inherit;font-weight:600;cursor:pointer;min-height:44px}
.analytics-consent-actions button:focus-visible,.privacy-links button:focus-visible{outline:3px solid #8c6731;outline-offset:3px}
/* Letters and notices from IODIA. */
.notices-page{max-width:1160px}.notices-page .page-head{margin-bottom:46px}.notice-pinned{display:grid;grid-template-columns:150px minmax(0,1fr);gap:42px;align-items:center;border:1px solid var(--line);padding:45px 48px;background:linear-gradient(120deg,#c9b8940b,transparent 70%);transition:border-color .2s,background .2s}.notice-pinned:hover{border-color:#d1c2a680;background-color:#ffffff03}.notice-letter-mark{width:112px;height:132px;display:grid;place-items:center;border:1px solid #d1c2a647;outline:1px solid #d1c2a61f;outline-offset:8px;color:var(--accent);font:italic 88px/1 'Cormorant Garamond',Georgia,serif}.notice-pinned .eyebrow{font-size:11px;margin:0 0 16px;display:flex;align-items:center;gap:15px;flex-wrap:wrap}.notice-pinned .eyebrow span{letter-spacing:.04em;border-left:1px solid var(--line);padding-left:15px;color:var(--muted)}.notice-pinned h2{margin:0 0 12px;font-size:34px;line-height:1.4}.notice-pinned p:not(.eyebrow){margin:0;color:var(--muted);font-size:15px;line-height:1.9}.notice-read{display:inline-flex;gap:28px;align-items:center;margin-top:24px;font-size:13px;color:var(--accent)}.notice-list-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:58px 0 20px}.notice-list-heading h2{font-family:var(--sans);font-size:17px;letter-spacing:0;margin:0;display:flex;align-items:center;gap:15px}.notice-list-heading small,.notice-list-heading>span{font-size:12px;font-weight:400;color:var(--muted)}.notice-list{border-top:1px solid var(--line)}.notice-row{display:grid;grid-template-columns:44px minmax(0,1fr) 24px;gap:20px;align-items:center;padding:29px 5px;border-bottom:1px solid var(--line);transition:background .2s}.notice-row:hover{background:#d1c2a607}.notice-index{font:400 16px Georgia,serif;color:#8b877e}.notice-category{font-size:11px;color:var(--accent);margin:0 0 7px;letter-spacing:.04em}.notice-row h3{font-size:17px;font-weight:400;margin:0;line-height:1.7;word-break:keep-all;overflow-wrap:anywhere}.notice-row-arrow{font-size:20px;color:var(--accent);justify-self:end}.notice-article-page{max-width:1020px;padding-top:48px}.notice-back{display:inline-flex;align-items:center;gap:12px;color:var(--muted);font-size:13px;margin-bottom:55px}.notice-back:hover{color:var(--ink)}.notice-article-head .eyebrow{margin-bottom:19px;letter-spacing:.1em}.notice-article-head h1{font:400 clamp(26px,3vw,42px)/1.55 var(--serif);word-break:keep-all;overflow-wrap:anywhere;letter-spacing:-.04em;margin:0 0 25px}.notice-byline{font-size:13px;color:var(--muted);margin-bottom:32px}.notice-editions{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}.notice-editions nav{display:flex;gap:22px}.notice-editions a{padding:6px 0}.notice-editions a[aria-current]{color:var(--ink);border-bottom:1px solid var(--accent)}.notice-archive-note,.notice-language-note{font-size:12px;line-height:1.9;color:var(--muted);margin:22px 0 0;max-width:700px}.notice-language-note{color:var(--accent)}.notice-body{font-size:17px;line-height:2.1;margin:48px 0 55px;color:#d5d4ce;overflow-wrap:anywhere}.notice-body p{margin:0 0 1.65em;white-space:normal;word-break:keep-all}.notice-body[lang=en] p{word-break:normal}.notice-body a{color:var(--accent);text-decoration:underline;text-underline-offset:4px;word-break:break-word}.notice-body hr{border:0;border-top:1px solid var(--line);margin:30px 0}.notice-source{border-top:1px solid var(--line);padding-top:28px}.notice-source p{font-size:13px;color:var(--muted);line-height:1.8;margin:0 0 20px}.notice-source a{font-size:13px}.notice-bottom-back{margin-top:48px;gap:20px}
@media(min-width:761px) and (max-width:1120px){.site-header{height:auto;min-height:110px;padding-top:22px;padding-bottom:15px;flex-wrap:wrap;justify-content:space-between;gap:17px}.site-header nav{order:3;flex-basis:100%;justify-content:center;border-top:1px solid var(--line);gap:32px}.header-right{margin-left:auto}}
@media(max-width:760px){.site-header nav,html[lang=en] .site-header nav,html[lang=ja] .site-header nav{gap:10px;font-size:12px}.notice-pinned{grid-template-columns:minmax(0,1fr);gap:28px;padding:30px 27px}.notice-letter-mark{width:45px;height:54px;outline-offset:5px;font-size:37px;margin:5px}.notice-pinned h2{font-size:28px}.notice-pinned p:not(.eyebrow){font-size:14px}.notice-pinned .eyebrow{font-size:10px;letter-spacing:1.5px}.notice-list-heading{margin-top:42px}.notice-list-heading h2{font-size:15px;gap:10px}.notice-list-heading>span{font-size:11px}.notice-row{grid-template-columns:22px minmax(0,1fr) 16px;gap:13px;padding:23px 0}.notice-row h3{font-size:15px}.notice-index{font-size:13px}.notice-row-arrow{font-size:17px}.notice-article-page{padding-top:28px}.notice-back{margin-bottom:35px}.notice-article-head h1{font-size:27px}.notice-body{font-size:16px;line-height:2;margin-top:34px}.notice-editions{gap:10px}.notice-editions nav{gap:18px}}

/* Decorative artwork belongs only to the author letter, not archived announcements. */
.notice-pinned { grid-template-columns: minmax(220px, 34%) minmax(0, 1fr); gap: 36px; padding: 30px; }
.notice-letter-cover { display: block; width: 100%; height: 100%; min-height: 240px; max-height: 300px; object-fit: cover; object-position: 45% 50%; border: 1px solid #d1c2a624; }
.author-artwork { margin: 48px 0; border: 1px solid #d1c2a624; overflow: hidden; }
.author-artwork img { display: block; width: 100%; height: auto; aspect-ratio: 2.1 / 1; object-fit: cover; object-position: 50% 54%; }
.author-artwork--opening { margin: 0 0 34px; }
.author-artwork--opening img { aspect-ratio: 2.2 / 1; }
@media(max-width:760px) {
  .notice-pinned { grid-template-columns: minmax(0, 1fr); gap: 26px; padding: 22px; }
  .notice-letter-cover { min-height: 0; max-height: none; height: auto; aspect-ratio: 3 / 2; }
  .author-artwork { margin: 34px 0; }
  .author-artwork img, .author-artwork--opening img { aspect-ratio: 3 / 2; }
  .author-artwork--opening { margin: 0 0 28px; }
}
