:root{--text: #595e56;--serif-ink: #4b524b;--silver: #b8b8b8;--sage: #afbaaf;--line: #cfcfcf;--btn-line: #bfbfbf;--btn-text: #646e67;--hover: #e8e8e8;--paper: #ffffff;--max-width: 960px;--font-sans: "Noto Sans JP", "Yu Gothic", "Hiragino Sans", Meiryo, sans-serif;--font-serif: "Noto Serif JP", "Noto Serif", "Yu Mincho", "Hiragino Mincho ProN", serif;--font-display: "Cormorant Garamond", "Noto Serif JP", serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:64px}body{margin:0;min-width:0;overflow-x:hidden;background:var(--paper);color:var(--text);font-family:var(--font-sans);font-size:14px;line-height:1.85;letter-spacing:0;animation:page-fade-in .7s cubic-bezier(.22,.61,.36,1) both}@keyframes page-fade-in{0%{opacity:0}to{opacity:1}}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration-color:currentcolor;text-underline-offset:.24em}a:hover{text-decoration:none}button{font:inherit}.skip-link{position:fixed;top:8px;left:8px;z-index:100;padding:8px 12px;transform:translateY(-160%);background:#fff;color:var(--serif-ink)}.skip-link:focus{transform:translateY(0)}.section-shell{width:min(calc(100% - 48px),var(--max-width));margin-inline:auto}.eyebrow{display:none}h1,h2,h3{margin:0;font-family:var(--font-serif);font-weight:400;line-height:1.4;letter-spacing:0}.display-heading,.section-heading h1,.section-heading h2,.section-copy h1,.page-title h1{color:var(--silver);font-family:var(--font-display);font-size:42px;font-weight:500;letter-spacing:.04em;line-height:1.1}.site-header{position:relative;z-index:20;display:flex;width:100%;min-height:58px;align-items:center;justify-content:space-between;gap:24px;padding:10px max(24px,calc((100vw - var(--max-width)) / 2));background:var(--paper);color:var(--text);border-bottom:1px solid #eceeeb}.header-brand{display:block;width:clamp(116px,12vw,148px);color:var(--serif-ink);text-decoration:none}.header-brand img{width:100%;filter:brightness(0);opacity:.68;transition:opacity .25s ease}.header-brand:hover img{opacity:.48}.site-header nav{display:flex;align-items:center;justify-content:flex-end;gap:22px;font-size:11px;letter-spacing:.08em}.site-header nav a{color:var(--btn-text);text-decoration:none}.site-header nav a:hover{color:var(--sage)}.site-header nav a[aria-current=page]{color:var(--sage)}.site-header .nav-icon{display:inline-flex;align-items:center}.site-header .nav-icon svg{display:block;width:auto;height:13px;fill:currentcolor;transition:fill .25s ease}.menu-toggle,.mobile-menu{display:none}.home-page .site-header{position:fixed;top:0;left:0;right:0;transform:translateY(-100%);transition:transform .4s ease}.home-page .site-header.header-visible,.home-page .site-header:focus-within{transform:translateY(0)}.hero-stage{position:relative;background:#cbdbe3}.hero{position:relative;z-index:2;height:100vh;height:100svh;min-height:0}.hero-image{position:fixed;top:0;left:0;z-index:0;width:100%;height:100svh;object-fit:cover;object-position:center top}.hero-image.is-offstage{visibility:hidden}.overview:before{content:"";position:absolute;bottom:100%;left:0;right:0;z-index:0;height:clamp(200px,28svh,320px);pointer-events:none;background:linear-gradient(180deg,transparent 0%,rgba(255,255,255,.08) 56%,rgba(255,255,255,.42) 82%,var(--paper) 100%)}.page-body{position:relative;z-index:1;background:var(--paper)}.hero-content{position:absolute;inset:0;display:grid;place-items:center;padding:24px;transform:translateY(-2svh)}.hero-logo{width:min(72vw,680px);max-height:30svh;object-fit:contain;filter:drop-shadow(0 2px 14px rgba(28,37,49,.22))}.scroll-cue{position:absolute;bottom:36px;left:50%;display:flex;align-items:center;flex-direction:column;gap:10px;color:#5c6966e0;text-shadow:0 1px 10px rgba(255,255,255,.9),0 1px 3px rgba(28,37,49,.16);transform:translate(-50%)}.scroll-cue span{padding-left:.34em;font-family:var(--font-sans);font-size:clamp(17px,1.35vw,21px);font-weight:300;letter-spacing:.34em;line-height:1}.scroll-cue i{display:block;width:1px;height:72px;background:#5c696680;box-shadow:0 1px 8px #fffc}.overview{position:relative;z-index:1;padding-block:48px 40px;background:var(--paper);text-align:center}.overview-inner{position:relative;z-index:1}.overview p{margin:2px 0;font-size:13px}.overview-x{display:inline-flex;align-items:center;gap:2px;color:inherit;text-underline-offset:.22em}.overview-x svg{flex:0 0 auto;width:10px;height:10px;fill:currentcolor}.introduction{display:grid;grid-template-columns:minmax(320px,1fr) minmax(0,.9fr);align-items:center;gap:72px;padding-block:104px}.section-copy h1{margin-bottom:34px}.lead{margin:0 0 30px;color:var(--text);font-family:var(--font-serif);font-size:19px;line-height:2}.body-copy{font-size:13px}.body-copy p{margin:0 0 18px}.introduction-art{margin:0;overflow:hidden;aspect-ratio:4 / 5;background:#eef1ee}.introduction-art img{width:100%;height:100%;object-fit:cover;object-position:center top}.characters-section,.character-index{padding-block:104px}.section-heading{margin-bottom:44px;text-align:center}.heading-link{display:inline-block;margin-top:16px;color:var(--btn-text);font-size:12px}.character-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px;max-width:700px;margin-inline:auto}.character-card{display:block;min-width:0;text-align:center;text-decoration:none}.character-portrait{display:block;aspect-ratio:1;overflow:hidden;border:2px solid var(--line);background:#eef1ee}.character-portrait img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.character-card:hover .character-portrait img{transform:scale(1.1125)}.character-card-copy{display:flex;justify-content:center;padding-top:14px}.character-card-copy strong{color:var(--serif-ink);font-family:var(--font-serif);font-size:18px;font-weight:400}.character-locked{display:grid;aspect-ratio:1;place-content:center;gap:4px;border:2px solid transparent;background:#aeb3ab;color:#ffffffe0;text-align:center}.character-locked span{font-family:var(--font-serif);font-size:44px;line-height:1}.character-locked small{font-size:9px;letter-spacing:.2em}.gallery-section{padding-block:96px;background:var(--paper)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.gallery-item{display:block;overflow:hidden;aspect-ratio:3 / 2;background:#e7ebe7}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.gallery-item:hover img{transform:scale(1.03)}footer{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;padding:52px 24px 44px;border-top:1px solid #eceeeb;background:var(--paper);color:var(--sage);text-align:center}.footer-social{display:flex;align-items:center;justify-content:center;gap:24px}.footer-x{display:inline-flex;align-items:center;height:24px;color:#6f7a72;text-decoration:none}.footer-x svg{width:auto;height:100%;fill:currentcolor;transition:fill .25s ease}.footer-x:hover svg{fill:#beccbf}footer p{margin:0;font-size:10px;letter-spacing:.04em}.gallery-dialog{inset:0;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#080a0dfa;color:#f4f4f2;overflow:hidden;overscroll-behavior:contain}.gallery-dialog::backdrop{background:#080a0dfa}.gallery-lightbox{position:relative;display:flex;width:100%;height:100%;min-height:0;flex-direction:column;gap:14px;padding:max(18px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left))}.gallery-close{position:absolute;top:max(14px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));z-index:3;display:grid;width:46px;height:46px;place-items:center;padding:0;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:#080a0db3;color:#fff;font-family:Arial,sans-serif;font-size:28px;font-weight:300;line-height:1;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.gallery-close:hover{border-color:#ffffffbf;background:#ffffff1f}.gallery-viewer{display:flex;width:100%;min-width:0;min-height:0;flex:1 1 0;margin:0;overflow:hidden}.gallery-image-frame{position:relative;width:100%;height:100%;min-width:0;min-height:0;flex:1 1 0;overflow:hidden;touch-action:pan-y}.gallery-image-frame img{position:absolute;inset:0;display:block;width:100%;max-width:100%;height:100%;max-height:100%;object-fit:contain;object-position:center;opacity:0;user-select:none}.gallery-image-frame.is-loaded img{opacity:1}.gallery-loading{position:absolute;top:50%;left:50%;color:#ffffff94;font-family:var(--font-display);font-size:11px;letter-spacing:.24em;transform:translate(-50%,-50%)}.gallery-image-frame.is-loaded .gallery-loading{display:none}.gallery-image-frame.is-error .gallery-loading{color:#eee;letter-spacing:.08em}.gallery-controls{display:flex;flex:0 0 auto;align-items:center;justify-content:center;gap:12px}.gallery-controls button{display:inline-flex;min-width:126px;height:46px;align-items:center;justify-content:center;gap:12px;padding:0 20px;border:1px solid rgba(255,255,255,.28);background:transparent;color:#ffffffe6;font-family:var(--font-display);font-size:12px;letter-spacing:.12em;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.gallery-controls button:hover{border-color:#ffffffb8;background:#ffffff17}.gallery-close:focus-visible,.gallery-controls button:focus-visible{outline:2px solid white;outline-offset:3px}.page-title{padding-block:84px 52px;text-align:center}.page-title h1{margin-bottom:16px}.page-title>p:last-child{margin:0;font-size:13px}.character-index{padding-top:40px}.breadcrumb{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding-block:26px;color:var(--sage);font-size:10px;letter-spacing:.1em}.breadcrumb a{text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.character-detail{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:center;gap:64px;padding-block:20px 72px}.character-figure{display:grid;align-items:center;justify-items:center;margin:0}.character-figure img{width:100%;max-height:none;object-fit:contain}.character-profile{text-align:center}.character-profile h1{margin-bottom:6px;color:var(--serif-ink);font-family:var(--font-serif);font-size:30px;font-weight:400}.character-roman{margin:0 0 34px;color:var(--sage);font-size:11px;letter-spacing:.28em;text-transform:uppercase}.character-description{margin:0 0 30px;font-size:13.5px;line-height:2;text-align:left}.color-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;font-family:Lucida Console,Courier New,monospace;font-size:11px}.color-chips span{display:inline-flex;align-items:center;gap:7px}.color-chips i{display:block;width:14px;height:14px;border:0}.color-chips .color-code{display:inline}.color-chips .is-light-color .color-code{-webkit-text-stroke:.35px rgba(116,125,123,.52);paint-order:stroke fill;text-shadow:0 0 1px rgba(116,125,123,.22)}.color-chips .oliga-eye-swatch{background:radial-gradient(circle at 4% 82%,#70d9ef 0%,rgba(112,217,239,.82) 24%,transparent 66%),radial-gradient(circle at 96% 78%,#f3a7d0 0%,rgba(243,167,208,.84) 25%,transparent 68%),radial-gradient(circle at 50% 0%,#a391e8 0%,rgba(163,145,232,.9) 28%,transparent 72%),#c7b8e9}.color-chips .oliga-mystery-color{order:-1}.color-chips .oliga-mystery-color .color-code{background:linear-gradient(90deg,#69cfe8,#9e8ee2,#e899c5);color:transparent;-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:.25px rgba(96,99,137,.28);paint-order:stroke fill}.character-pagination{display:flex;align-items:center;justify-content:center;gap:32px;margin-bottom:84px;padding-top:28px;border-top:1px solid #eceeeb;font-family:var(--font-serif);font-size:13.5px}.character-pagination a{color:var(--btn-text);text-decoration:none;transition:color .25s ease}.character-pagination a:hover{color:var(--sage)}.character-pagination .all-characters{color:var(--sage);font-family:var(--font-sans);font-size:11px;letter-spacing:.14em}@media(max-width:900px){.site-header{flex-direction:column;justify-content:center;gap:5px;padding-block:10px}.site-header nav{width:100%;justify-content:center;gap:17px}.introduction{gap:44px}.character-detail{gap:36px}.character-grid{gap:26px 18px}}@media(max-width:680px){body{width:100vw;max-width:100vw;font-size:13px}main,footer{max-width:100vw;overflow-x:hidden}.display-heading,.section-heading h1,.section-heading h2,.section-copy h1,.page-title h1{font-size:34px}.section-shell{width:calc(100vw - 32px);max-width:calc(100vw - 32px)}.site-header{min-height:64px;max-width:100vw;flex-direction:row;justify-content:space-between;gap:20px;padding:10px 16px;overflow:visible}.header-brand{width:132px}.site-header .header-nav{display:none}.menu-toggle{display:grid;width:44px;height:44px;place-content:center;gap:5px;padding:0;border:0;background:transparent;color:var(--serif-ink);cursor:pointer}.menu-toggle span{display:block;width:24px;height:1px;background:currentcolor}.mobile-menu[open]{inset:0;display:block;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#f8f9f7fa;color:var(--serif-ink);overflow:auto}.mobile-menu::backdrop{background:#1e25225c;backdrop-filter:blur(5px)}.mobile-menu-panel{display:flex;min-height:100%;flex-direction:column;padding:max(18px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left))}.mobile-menu-head{display:flex;min-height:48px;align-items:center;justify-content:space-between}.mobile-menu-head>img{width:138px;filter:brightness(0);opacity:.68}.mobile-menu-close{position:relative;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--serif-ink);cursor:pointer}.mobile-menu-close span{position:absolute;top:50%;left:50%;display:block;width:27px;height:1px;background:currentcolor}.mobile-menu-close span:first-child{transform:translate(-50%,-50%) rotate(45deg)}.mobile-menu-close span:last-child{transform:translate(-50%,-50%) rotate(-45deg)}.mobile-menu nav{display:flex;flex:1;justify-content:center;flex-direction:column;gap:0;padding:34px 10px 18px}.mobile-menu nav a{display:grid;grid-template-columns:38px 1fr;align-items:baseline;padding:13px 0;border-bottom:1px solid rgba(89,94,86,.15);color:var(--serif-ink);font-family:var(--font-display);font-size:clamp(30px,10vw,42px);font-weight:500;letter-spacing:.06em;line-height:1.15;text-decoration:none}.mobile-menu nav a small{color:var(--sage);font-family:var(--font-sans);font-size:9px;font-weight:400;letter-spacing:.12em}.mobile-menu nav a[aria-current=page]{color:var(--sage)}.mobile-menu-social{display:flex;justify-content:flex-end;align-items:center;gap:26px;padding:26px 6px 8px}.mobile-menu-social a{display:inline-flex;align-items:center;color:var(--serif-ink)}.mobile-menu-social svg{width:auto;height:20px;fill:currentcolor}.hero-image{object-position:67% top}.hero:before{content:"";position:absolute;inset:auto 0 0;height:40svh;pointer-events:none;background:linear-gradient(180deg,transparent 0%,rgba(255,255,255,.14) 32%,rgba(255,255,255,.86) 74%,var(--paper) 100%)}.hero-content{padding-inline:16px;transform:translateY(-3svh)}.hero-logo{width:min(84vw,380px);max-height:24svh}.scroll-cue{bottom:22px}.overview{padding-block:48px;text-align:left}.introduction{grid-template-columns:1fr;gap:40px;padding-block:76px}.introduction-art{grid-row:1;width:100vw;margin-inline:-16px;aspect-ratio:5 / 6}.section-copy h1{margin-bottom:26px;text-align:center}.lead{margin-bottom:26px;font-size:16px;text-align:center}.characters-section,.character-index{padding-block:76px}.section-heading{margin-bottom:32px}.character-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.character-card-copy{padding-top:10px}.character-card-copy strong{font-size:15px}.character-locked span{font-size:34px}.gallery-section{padding-block:70px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}.gallery-item{aspect-ratio:1}.gallery-lightbox{gap:10px;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.gallery-close{top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));width:44px;height:44px}.gallery-controls{gap:8px}.gallery-controls button{min-width:0;width:min(42vw,160px);height:48px;padding-inline:12px}.page-title{padding-block:64px 40px}.character-detail{grid-template-columns:1fr;gap:36px;padding-block:8px 56px}.character-profile h1{font-size:25px}.character-roman{margin-bottom:24px}.character-description{margin-bottom:24px;font-size:13px}.character-pagination{gap:20px;margin-bottom:60px;padding-top:22px;font-size:12.5px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important}body{animation:none}}.profile-copy>:first-child,.body-copy>:first-child,.character-description>:first-child{margin-top:0}.profile-copy>:last-child,.body-copy>:last-child,.character-description>:last-child{margin-bottom:0}.character-description p{margin:0}
