/* V1.159: approved story cards and character content menu. */
.modal.navigation-mode .modal__panel { width:min(480px,calc(100vw - 32px)); background:linear-gradient(125deg,rgba(24,24,29,.98),rgba(12,13,18,.98)); border:1px solid rgba(238,233,223,.32); box-shadow:0 24px 80px #0008; }
.modal.navigation-mode:has(.home-nav--companion) .modal__panel { width:min(360px,calc(100vw - 32px)); }
.modal.navigation-mode .modal__close { top:12px;right:12px;border:0;background:transparent;border-radius:6px;color:#aaa8a7; }
.modal.navigation-mode .modal__close:focus-visible { outline:2px solid #ffd479;outline-offset:-4px; }
.home-nav-dialog { padding:24px;color:#f2eeea;font-family:"Noto Serif SC","Songti SC",serif; }
.home-nav-dialog .home-nav-header { display:flex;align-items:center;gap:12px;min-height:32px;margin:0 32px 24px 0; }
.home-nav-dialog h2 { margin:0;font:600 18px/1.3 "Noto Serif SC","Songti SC",serif; }
.home-nav-monogram { display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border:1px solid #b9a486;border-radius:50%;font-size:18px; }
.home-nav-dialog nav { display:grid;gap:16px; }
.home-nav-dialog .home-content-link { --entry-accent:#c6a372;color:#f2eeea;text-decoration:none;transition:background .16s,border-color .16s; }
.home-nav-dialog .home-content-link[data-content=heartbeat],.home-nav-dialog .home-content-link[data-content=date] { --entry-accent:#bb858b; }
.home-nav-dialog .home-content-link[data-content=game] { --entry-accent:#dfd0b7; }
.home-nav-icon { width:28px;height:28px;stroke:var(--entry-accent);fill:none;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0; }
.home-nav--story nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
.home-nav--story .home-content-link { position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:1fr 16px;grid-template-rows:1fr auto;align-items:center;min-height:160px;padding:24px 16px 16px;gap:16px 8px;border:1px solid color-mix(in srgb,var(--entry-accent) 65%,transparent);border-radius:6px;background:linear-gradient(145deg,#ffffff04,#00000018);font:500 14px/1.4 "Noto Serif SC","Songti SC",serif; }
.home-nav--story .home-nav-icon { grid-column:1/-1;grid-row:1;width:56px;height:56px;justify-self:center; }
.home-nav--story .home-content-label { grid-row:2;text-align:center; }
.home-nav--story .home-content-link::before { content:"";position:absolute;z-index:-1;width:220px;height:220px;right:-160px;top:-160px;border:1px solid var(--entry-accent);border-radius:50%;opacity:.2;box-shadow:0 0 0 12px #ffffff03; }
.home-nav--story .home-content-link::after { content:"";position:absolute;z-index:-1;width:100px;height:100px;bottom:-80px;left:-32px;border:1px solid var(--entry-accent);transform:rotate(35deg);opacity:.2; }
.home-nav-dialog .home-content-link:hover { background:#ffffff07;border-color:var(--entry-accent); }
.home-nav-dialog .home-content-link:focus-visible { outline:2px solid #ffd479;outline-offset:3px; }
.home-nav--companion nav { gap:0; }
.home-nav--companion .home-content-link { display:flex;gap:16px;min-height:56px;padding:12px 8px;border:0;border-top:1px solid #ffffff20;border-radius:0;background:transparent;font:500 14px/1.4 "Noto Serif SC","Songti SC",serif; }
.home-nav--companion .home-content-label { flex:1; }
.home-nav--companion .home-nav-icon { order:-1; }
@media(max-width:1000px),(max-height:560px) {
 .home-nav-dialog { padding:16px; }
 .home-nav-dialog .home-nav-header { margin-bottom:16px; }
 .home-nav-dialog h2 { font-size:16px; }
 .home-nav--story .home-content-link { min-height:128px;padding:16px 12px 12px;font-size:13px;gap:12px 8px; }
 .home-nav--story .home-nav-icon { width:48px;height:48px; }
 .home-nav--companion .home-content-link { min-height:48px;padding:8px;font-size:13px; }
}
@media(prefers-reduced-motion:reduce) { .home-nav-dialog .home-content-link { transition:none; } }
