.today-base { max-width:820px; margin:22px auto; padding:22px; border:1px solid var(--line); border-radius:20px; background:var(--panel); text-align:left; scroll-margin-top:100px; }
.today-base h2 { font-size:24px; margin:0 0 8px; }
.today-base-date,.today-base-greeting { margin:6px 0 14px; color:var(--muted); line-height:1.7; }
.today-base-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.today-base-grid > a { display:flex; flex-direction:column; gap:7px; min-height:94px; padding:15px; border:1px solid var(--line); border-radius:16px; background:var(--panel2); color:var(--text); text-decoration:none; line-height:1.7; }
.today-base-grid strong { font-size:16px; }
.today-base-grid span { font-size:13px; color:var(--muted); overflow-wrap:anywhere; }
.today-resume { display:inline-flex; margin:12px 0 0; min-height:44px; align-items:center; color:var(--text); text-underline-offset:4px; }
.favorite-home { border-top:1px solid var(--line); margin-top:16px; padding-top:14px; }
.favorite-home-head { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.favorite-home h3 { margin:0; font-size:17px; }
.favorite-home button,.base-personal-tools button { cursor:pointer; min-height:44px; padding:9px 12px; border:1px solid var(--line); border-radius:12px; background:var(--panel2); color:var(--text); font:inherit; font-size:13px; }
.favorite-room-links { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.favorite-room-links a { display:inline-flex; align-items:center; min-height:44px; border:1px solid var(--line); border-radius:12px; padding:9px 12px; color:var(--text); background:var(--panel2); text-decoration:none; font-size:14px; }
.favorite-empty { color:var(--muted); font-size:13px; line-height:1.7; }
.base-personal-tools { grid-column:1 / -1; width:100%; border-top:1px solid var(--line); padding-top:10px; }
.base-personal-tools .light-mode-button { width:100%; text-align:center; }
.favorite-picker { margin-top:10px; color:var(--text); font-size:13px; }
.favorite-picker summary { cursor:pointer; min-height:44px; padding:12px 2px; line-height:1.6; }
.favorite-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.favorite-choices label { display:flex; align-items:center; gap:6px; padding:8px 5px; min-height:44px; line-height:1.7; overflow-wrap:anywhere; }
.favorite-choices input { width:20px; height:20px; accent-color:var(--theme-accent,var(--purple)); flex-shrink:0; }
.personal-tools-status { color:var(--muted); font-size:12px; line-height:1.7; margin:8px 0 0; }
.episode-navigation { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding-top:18px; margin-top:28px; border-top:1px solid var(--line); }
.episode-navigation button,.episode-navigation span { display:flex; align-items:center; justify-content:center; min-height:48px; padding:12px; border:1px solid var(--line); border-radius:14px; color:var(--text); background:var(--panel2); font:inherit; line-height:1.7; text-align:center; font-size:14px; }
.episode-navigation button { cursor:pointer; }
.episode-navigation span { color:var(--muted); }
.novel-reading-tools { position:fixed; bottom:12px; bottom:max(12px,env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); z-index:12; display:flex; justify-content:space-between; align-items:center; gap:12px; width:min(560px,calc(100vw - 28px)); padding:10px 12px; border:1px solid var(--line); border-radius:16px; background:var(--panel2); backdrop-filter:blur(16px); color:var(--text); box-shadow:0 6px 24px rgba(0,0,0,.35); }
.novel-reading-tools span { font-size:13px; line-height:1.5; }
.novel-reading-tools button { cursor:pointer; min-height:44px; padding:8px 12px; border:1px solid var(--line); border-radius:12px; font:inherit; font-size:13px; font-weight:800; background:var(--panel); color:var(--text); }
.novel-page { padding-bottom:90px; }
.novel-body > p { scroll-margin-top:110px; }
.today-base a:focus-visible,.favorite-home button:focus-visible,.base-personal-tools button:focus-visible,.favorite-picker summary:focus-visible,.episode-navigation button:focus-visible,.novel-reading-tools button:focus-visible { outline:3px solid var(--theme-accent2,var(--blue)); outline-offset:3px; }
html[data-light-mode="on"] *,html[data-light-mode="on"] *::before,html[data-light-mode="on"] *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
html[data-light-mode="on"] .cursor-light,html[data-light-mode="on"] .stars,html[data-light-mode="on"] .shooting-stars,html[data-light-mode="on"] .particle-layer,html[data-light-mode="on"] .ambient-particle,html[data-light-mode="on"] .bg-glow { display:none !important; }
html[data-light-mode="on"] .reveal-on-scroll { opacity:1 !important; transform:none !important; }
html[data-light-mode="on"] body :is(.card,.switch,.site-logo-image,.logo-image-wrap,.today-base,.novel-accordion,.novel-publication-plan,.novel-reader-controls,.mini-btn,.live-badge,.novel-illustration img) { box-shadow:none !important; filter:none !important; text-shadow:none !important; }
html[data-light-mode="on"] .guide,html[data-light-mode="on"] .guide img { animation:none !important; filter:none !important; }
html[data-light-mode="on"] .arrival-stamp-overlay.is-showing:not(.is-hiding),html[data-light-mode="on"] .arrival-stamp-overlay.is-showing .arrival-stamp-card { opacity:1 !important; transform:none !important; }
@media(max-width:760px) { .today-base { padding:18px 14px; } .today-base h2 { font-size:22px; } .today-base-grid > a { padding:12px; min-height:110px; } .today-base-grid strong { font-size:14px; } .today-base-grid span { font-size:12px; } .episode-navigation { grid-template-columns:1fr; } }
@media(max-width:340px) { .today-base-grid { grid-template-columns:1fr; } .today-base-grid > a { min-height:90px; } .favorite-choices { grid-template-columns:1fr; } }

html[data-light-mode="on"] .town-walker{animation:none!important}html[data-light-mode="on"] .town-home-card{box-shadow:none!important;backdrop-filter:none!important}
