/* Homepage visual language; the purchased gallery and transitions stay intact. */
@font-face { font-family:Satoshi; src:url('/static/izanami/font/Satoshi-Regular.woff') format('woff'); font-display:swap; }
/* Purchased loader waits for Aeonik/IBM Plex metrics; map them to local faces so a missing font file cannot freeze the preloader. */
@font-face { font-family:Aeonik; src:local('Times New Roman'),local('Times'),local('Georgia'),url('/static/izanami/font/Satoshi-Regular.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:Aeonik; src:local('Times New Roman'),local('Times'),local('Georgia'),url('/static/izanami/font/Satoshi-Regular.woff') format('woff'); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:Aeonik; src:local('Times New Roman'),local('Times'),local('Georgia'),url('/static/izanami/font/Satoshi-Regular.woff') format('woff'); font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:IBMPlexMono; src:local('Courier New'),local('Courier'),url('/static/izanami/font/Satoshi-Regular.woff') format('woff'); font-weight:400 500; font-display:swap; }
@font-face { font-family:LusionMono; src:local('Courier New'),local('Courier'),url('/static/izanami/font/Satoshi-Regular.woff') format('woff'); font-weight:400; font-display:swap; }
:root { --global-border-radius:0px; --mirrism-paper:#ffedd7; --mirrism-ink:#1a1411; }
body { background:var(--mirrism-ink); color:var(--mirrism-paper); }
#preloader { background:#1a1411; }
#preloader-percent-digits { visibility:hidden; }
html:not(.is-ready) #preloader::after { content:'幻 游 界'; position:absolute; inset:0; display:grid; place-items:center; font:40px serif; color:#ffedd7; }
#project-details, #header-container { font-family:Cinzel,serif; font-weight:400; }
#header-logo svg { visibility: hidden; }
#header-logo { position:relative; width:46px; height:112px; color:var(--mirrism-paper); }
#header-logo::after { content:'幻游界'; position:absolute; left:50%; top:0; transform:translateX(-50%); writing-mode:vertical-rl; font-size:28px; line-height:1.15; letter-spacing:.08em; font-weight:400; white-space:nowrap; }
#header-logo::before { content:'MIRRISM'; position:absolute; top:102px; left:50%; transform:translateX(-50%); font-family:Satoshi,sans-serif; font-size:8px; letter-spacing:.06em; }
#project-details-title, #project-details-preview-title { font-family:Cinzel,serif; font-weight:400; letter-spacing:.06em; }
#project-details-meta { padding-top:180px; }
#project-details-title { text-align:right; }
#project-details-desc { font-family:Cinzel,serif; font-size:1.1em; line-height:1.9; letter-spacing:.04em; }
#project-details-side-list, .project-details-side-list-item { font-family:Cinzel,serif; font-size:1.05em; line-height:1.8; letter-spacing:.06em; }
.project-details-side-list-title { color:var(--project-details-highlight,#dc5000); font-family:inherit; font-weight:400; }
#project-details-side-list { width:100%; }
.project-details-side-list-item { white-space:nowrap; }
#project-details-header-info, #project-details-preview-footer-text { font-family:'Songti SC',SimSun,serif; letter-spacing:.1em; }
#header-center-project-back-btn, #header-right-menu-btn, #header-right-talk-btn,
#header-right-sound-btn, #project-details-launch-cta, #project-details-launch-cta-mobile {
  border-radius:0!important; background:transparent!important; color:var(--mirrism-paper)!important;
  font-family:'Songti SC',SimSun,serif; font-weight:400; box-shadow:none; text-transform:none;
}
#header-center-project-back-btn, #header-right-menu-btn, #header-right-talk-btn { font-size:1.05em; padding-inline:.6em; }
#header-right-sound-btn { position:relative; border-bottom:1px solid rgb(217 215 212 / 65%); }
#header-right-sound-btn canvas { opacity:0; }
#header-right-sound-btn::after { content:'♪'; position:absolute; inset:0; display:grid; place-items:center; font-size:20px; pointer-events:none; }
#project-details-launch-cta, #project-details-launch-cta-mobile { padding:1em 0; border-bottom:1px solid rgb(217 215 212 / 65%); gap:2.5em; transition:border-color .35s,color .35s; }
#project-details-launch-cta:hover, #project-details-launch-cta-mobile:hover { border-color:var(--mirrism-paper); }
#project-details-launch-cta-dot, #project-details-launch-cta-mobile-dot,
#header-right-menu-btn-dots, #header-right-talk-btn-dots { display:none; }
#project-details-launch-cta-text, #project-details-launch-cta-mobile-text { font-size:1em; letter-spacing:.12em; }
#project-details-launch-cta-arrow, #project-details-launch-cta-mobile-arrow { position:relative; background:transparent!important; color:inherit!important; border-radius:0!important; }
#header-center-project-back-btn:focus-visible, #header-right-menu-btn:focus-visible,
#project-details-launch-cta:focus-visible, #project-details-launch-cta-mobile:focus-visible { outline:1px solid var(--mirrism-paper); outline-offset:5px; }
#header-menu { color:var(--mirrism-paper); }
#header-menu-links, #header-menu-links a, #header-menu-links button { font-family:'Songti SC',SimSun,serif; font-weight:400; }
#mirrism-project-error { position:fixed; inset:0; z-index:100010; display:grid; place-items:center; background:#1a1411; color:#ffedd7; padding:24px; }
.mirrism-project-error-card { max-width:28rem; text-align:center; font-family:'Songti SC',SimSun,serif; line-height:1.7; }
.mirrism-project-error-actions { display:flex; justify-content:center; gap:16px; margin-top:20px; }
#mirrism-project-error button, #mirrism-project-error a { color:#ffedd7; background:transparent; border:1px solid #ffedd7; padding:.55em 1.1em; text-decoration:none; font:inherit; cursor:pointer; }
@media(max-width:812px) {
  #header-logo { height:96px; }
  #header-logo::after { font-size:24px; }
  #header-logo::before { top:87px; font-size:7px; }
  #project-details-meta { padding-top:150px; }
  #header-right-menu-btn { width:auto; min-width:3.2em; }
  #header-right-menu-btn-text { display:block!important; }
}
