﻿:root{--bg:#fdfdfc;--fg:#222;--muted:#555;--surface:#fff;--border:#ddd;--link:#0645AD;--link-hover:color-mix(in oklab, var(--link) 20%, black);--accent:#0645AD;--surface-elevated:#f8f8f8;--accent-green:#2e7d32;--accent-orange:#e65100;}
*{box-sizing:border-box}

html,body{margin:0;padding:0}
body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--fg);padding:0 1rem 2rem;line-height:1.6}
header,footer,main{max-width:960px;margin:0 auto}
header{display:flex;align-items:center;justify-content:space-between;padding:1rem 0 4rem 0;flex-wrap:wrap;gap:1rem}
h1 {font: size 1.5rem;}
header h1{font-size:1.25rem;margin:0}
header a{text-decoration:none;color:var(--fg)}

.nav-toggle {
  display: none;
}

.nav-toggle-label {
  display: none;
  cursor: pointer;
  padding: .5rem;
  z-index: 1001;
}

.nav-toggle-label span,
.nav-toggle-label span::before,
.nav-toggle-label span::after {
  display: block;
  background: var(--fg);
  height: 2px;
  width: 1.5rem;
  border-radius: 2px;
  position: relative;
  transition: all .2s;
}

.nav-toggle-label span::before,
.nav-toggle-label span::after {
  content: "";
  position: absolute;
}

.nav-toggle-label span::before { bottom: 7px; }
.nav-toggle-label span::after { top: 7px; }

.header-nav{display:flex;gap:1rem;align-items:center}
.header-nav a{padding:.5rem 1rem;border-radius:6px;background:var(--surface);border:1px solid var(--border);transition:all .15s;font-size:.95rem;white-space:nowrap}
.header-nav a:hover{background:var(--surface-elevated);transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.08)}
a{color:var(--link);text-decoration:none;transition:color .15s}
a:hover{color:var(--link-hover);text-decoration:none}
a:focus{outline:3px solid color-mix(in oklab, var(--link) 30%, transparent);outline-offset:2px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:8px}
.kanji-tile{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:4px;text-align:center;font-size:28px;line-height:42px;box-shadow:0 1px 2px rgba(0,0,0,.06);transition:transform .15s,box-shadow .15s}
.kanji-tile:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.12)}
.meta{font-size:.9rem;color:var(--muted)}
code{background:color-mix(in oklab, var(--fg) 10%, transparent);padding:2px 4px;border-radius:3px}
.content{margin-top:1rem}

/* Center inline ad blocks placed in templates */
.ad-center{display:flex;justify-content:center;align-items:center;padding-top:2rem;flex-direction: row;flex-wrap:wrap;gap:2rem;}


.kanji-page{max-width:800px;margin:0 auto}
.kanji-hero{text-align:center}
.kanji-hero-character{font-family: ui-serif, Georgia, "Times New Roman", Times, serif;font-size:10rem;line-height:1;margin-bottom:.5rem;font-weight:300}
.kanji-code{font-size:1.25rem;color:var(--muted);font-family:ui-monospace,monospace}
.kanji-section{margin:2.5rem 0}
.kanji-section h2{font-size:1.25rem;margin:0 0 0.5rem;color:var(--accent);font-weight:600}
.kanji-content{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.25rem;line-height:1.8;box-shadow:0 1px 3px rgba(0,0,0,.05)}

/* Ensure ordered lists inside kanji content look stable and readable */
.kanji-content ul{margin:0.5rem 0 0.5rem 1.25rem;padding-left:0}
.kanji-content ul li{margin:0.35rem 0}
.kanji-content ol{margin:0.5rem 0 0.5rem 1.25rem;padding-left:0}
.kanji-content ol li{margin:0.35rem 0}
.kanji-readings{display:flex;flex-direction:row;gap:1rem}
.reading-group{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem;display:flex;align-items:baseline;gap:1rem;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.reading-label{font-weight:600;color:var(--accent);min-width:4.5rem;font-size:.95rem}
.reading-value{font-size:1.25rem;flex:1}
/* .kanji-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem} */
.kanji-info-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:1rem;}
.info-item{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.info-label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:.35rem;font-weight:500}
.info-value{display:block;font-size:1.2rem;font-weight:500}
.info-value-font{display:block;font-size:3rem;font-weight:500}
.gothic-sample{font-family:"Yu Gothic","Hiragino Kaku Gothic ProN","Meiryo","Noto Sans JP",sans-serif}
.mincho-sample{font-family:"Yu Mincho","Hiragino Mincho ProN","MS PMincho","Noto Serif JP",serif}
.kanji-technical{margin:2.5rem 0;border:1px solid var(--border);border-radius:8px;background:var(--surface-elevated)}
.kanji-technical summary{padding:1rem 1.25rem;cursor:pointer;font-weight:600;color:var(--muted);user-select:none;transition:color .15s}
.kanji-technical summary:hover{color:var(--fg)}
.kanji-technical[open] summary{border-bottom:1px solid var(--border);color:var(--accent)}
.kanji-technical .kanji-info-grid{padding:1.25rem;margin:0}
.stroke-order-container{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.25rem;text-align:center;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.hero-image {
  width: 160px;
  max-width: 100%;
  height: auto;       /* ã‚¢ã‚¹ãƒšã‚¯ãƒˆæ¯”ç¶­æŒ */
  display: block;
  margin: 0 auto;
}
.stroke-order-image {
  width: 256px;
  max-width: 100%;
  height: auto;       /* ã‚¢ã‚¹ãƒšã‚¯ãƒˆæ¯”ç¶­æŒ */
  display: block;
  margin: 0 auto;
}
.kanji-credit{font-size:.9rem;text-align:right;color:var(--muted);padding-top:.5rem}

/* Site-wide footer styles */
.site-footer{background:var(--surface);border-top:2px solid var(--border);margin-top:4rem;padding:3rem 1rem 1.5rem}
.footer-content{max-width:960px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-bottom:2rem}
.footer-section h3{font-size:1.25rem;margin:0 0 0.75rem;color:var(--fg);font-weight:600}
.footer-section h4{font-size:1rem;margin:0 0 0.75rem;color:var(--fg);font-weight:600}
.footer-section p{color:var(--muted);line-height:1.6}
.footer-section ul{list-style:none;padding:0;margin:0}
.footer-section ul li{margin-bottom:0.5rem}
.footer-section ul li a{color:var(--link);text-decoration:none;transition:color .15s}
.footer-section ul li a:hover{color:var(--link-hover);text-decoration:none}
.footer-bottom{max-width:960px;margin:0 auto;padding-top:1.5rem;border-top:1px solid var(--border);text-align:center}
.footer-bottom p{margin:0;color:var(--muted);font-size:0.9rem}

/* Search page styles */
.search-section{max-width:1200px;margin:0 auto}
.search-section h2{font-size:1.75rem;margin-bottom:1.5rem}
.search-controls{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.25rem;margin-bottom:1.5rem;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.search-input-group{margin-bottom:1rem}
.search-input-group label{display:block;font-weight:600;margin-bottom:.5rem}
.search-input-group input{width:100%;padding:.75rem;font-size:1rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);transition:border-color .15s}
.search-input-group input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 15%, transparent)}
.filter-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}
.filter-item label{display:block;font-weight:500;margin-bottom:.5rem;font-size:.9rem;color:var(--muted)}
.filter-item select,.filter-item input{width:100%;padding:.5rem;font-size:.95rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);transition:border-color .15s}
.filter-item select:focus,.filter-item input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in oklab, var(--accent) 15%, transparent)}
.search-actions{margin-top:1.25rem;display:flex;justify-content:flex-end}
.search-results-header{margin-bottom:1rem}
.search-results .loading,.search-results .no-results{text-align:center;padding:3rem 1rem;color:var(--muted);font-size:1.1rem}
.welcome-section{text-align:center;padding:1rem}
.welcome-section h2{font-size:2rem;margin-bottom:1rem}
.welcome-section p{font-size:1.1rem;color:var(--muted);margin-bottom:2rem}
#home-cta-buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem}
.cta-button{display:inline-block;padding:.75rem 1.5rem;margin:.5rem;background:var(--accent);color:#fff;border-radius:6px;font-weight:600;transition:all .15s;box-shadow:0 2px 4px rgba(0,0,0,.1);font-size:1.25rem}
.cta-button:hover{color:white;text-decoration:none;transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.15)}
.cta-button.cta-button--green{background:var(--accent-green)}
.cta-button.cta-button--orange{background:var(--accent-orange)}

/* Kanji lists by category: use page-category-links partial styles */
.page-category-links{max-width:960px;margin:3rem auto 0;padding:2rem 1rem;border-top:1px solid var(--border);text-align:left}
.page-category-links h3{font-size:1.5rem;color:var(--fg);margin:0 0 1.5rem;text-align:center;font-weight:600}
/* Slightly smaller variant for the category heading when needed */
.page-category-links .smaller-heading{font-size:1.25rem;margin-bottom:1rem;text-align:center;font-weight:600}
.category-lists{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}
.category-list{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.25rem;box-shadow:0 1px 3px rgba(0,0,0,.05);transition:transform .15s,box-shadow .15s}
.category-list:hover{box-shadow:0 4px 8px rgba(0,0,0,.1)}
.category-list h4{font-size:1rem;color:var(--fg);margin:0 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border);font-weight:600}
.category-list ul{list-style:none;padding:0;margin:0}
.category-list ul li{margin-bottom:.5rem}
.category-list ul li:last-child{margin-bottom:0}
.category-list ul li a{color:var(--link);font-size:.95rem;display:block;padding:.25rem 0;transition:color .15s,padding-left .15s}
.category-list ul li a:hover{color:var(--link-hover);text-decoration:none}

/* Page category links section (shown at bottom of pages, above footer) */
.page-category-links{max-width:960px;margin:3rem auto 0;padding:2rem 1rem;border-top:1px solid var(--border)}
.page-category-links h3{font-size:1.25rem;color:var(--fg);margin:0 0 1.5rem;text-align:center;font-weight:600}

/* Blocks page styles */
.blocks-section{max-width:1200px;margin:0 auto}
.blocks-section h2{font-size:1.75rem;margin-bottom:1rem}
.blocks-container{margin-top:2rem}
.block-section{margin-bottom:3rem}
.block-section h3{font-size:1.25rem;color:var(--accent);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--border)}
.blocks-container .loading,.blocks-container .error{text-align:center;padding:3rem 1rem;color:var(--muted);font-size:1.1rem}
.blocks-container .error{color:#d32f2f}

/* Kanji section page styles */
.kanji-section-page{max-width:1200px;margin:0 auto}
.kanji-section-page h2{font-size:1.75rem;margin-bottom:.5rem}
.section-description{color:var(--muted);margin-bottom:1.5rem;font-size:1rem}
.kanji-index-content{line-height:2.2;column-gap:1.5rem}
.kanji-index-content h1{font-size:1.5rem;margin:0 0 1rem;color:var(--fg);font-weight:600}
.kanji-index-content h2{font-size:1.15rem;color:var(--fg);margin:1.5rem 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border);font-weight:600}
.kanji-index-content p{margin:0 0 1rem}
.kanji-index-content a{display:inline-block;font-size:28px;line-height:42px;padding:4px;margin:4px;background:var(--surface);border:1px solid var(--border);border-radius:6px;text-decoration:none;color:var(--accent);text-align:center;box-shadow:0 1px 2px rgba(0,0,0,.06);transition:transform .15s,box-shadow .15s,color .15s;vertical-align:middle}
.kanji-index-content a:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.12);text-decoration:none}
.empty{text-align:center;padding:3rem 1rem;color:var(--muted);font-size:1.1rem}

/* Multi-column layout for kanji-section index pages */
@media (min-width:768px){
.kanji-index-content{column-count:2}
}
@media (min-width:1024px){
.kanji-index-content{column-count:3}
}

/* Collapsible index rows for radical/on/kun reading indexes */
.index-row{margin:0.5rem 0;border:1px solid var(--border);border-radius:8px;background:var(--surface-elevated);break-inside:avoid}
.index-row summary{padding:.75rem 1rem;cursor:pointer;font-weight:600;font-size:1.1rem;color:var(--fg);user-select:none;transition:color .15s,background .15s;list-style:none;display:flex;align-items:center;gap:.5rem}
.index-row summary::-webkit-details-marker{display:none}
.index-row summary::before{content:"▶";font-size:.75rem;color:var(--muted);transition:transform .2s}
.index-row[open] summary::before{transform:rotate(90deg)}
.index-row summary:hover{color:var(--accent);background:color-mix(in oklab, var(--fg) 3%, transparent)}
.index-row[open] summary{border-bottom:1px solid var(--border);color:var(--accent)}
.index-row-content{padding:1rem}
.index-row-content p{margin:0}

/* 404 Error page styles */
.error-page{text-align:center;padding:4rem 1rem}
.error-code{font-size:4rem;font-weight:700;color:var(--accent);margin:0;line-height:1}
.error-title{font-size:1.75rem;color:var(--fg);margin:1rem 0}
.error-message{font-size:1.1rem;color:var(--muted);margin:0 0 2rem}
.error-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}
.btn-home,.btn-search{display:inline-block;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;text-decoration:none;transition:all .15s;box-shadow:0 2px 4px rgba(0,0,0,.1)}
.btn-home{background:var(--accent);color:#fff}
.btn-home:hover{color:#fff;transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.15)}
.btn-search{background:var(--surface);color:var(--accent);border:1px solid var(--border)}
.btn-search:hover{color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.1)}

/* Yoji-jukugo (å››å­—ç†Ÿèªž) page styles */
.yoji-page{max-width:800px;margin:0 auto;--accent:var(--accent-green)}
.yoji-page .kanji-hero-character{font-size:clamp(3rem, 15vw, 4rem); letter-spacing: 0.1em; padding-top: 1rem;font-weight:600;}
.yoji-page .yoji-badges{justify-content:center;margin-top:1rem}

.yoji-section{margin:2.5rem 0}
.yoji-section h2{font-size:1.25rem;margin:0 0 0.5rem;color:var(--accent);font-weight:600}
.yoji-intro{margin-bottom:1.5rem;color:var(--muted);line-height:1.8}
.yoji-results .loading,.yoji-results .no-results,.yoji-results .error{text-align:center;padding:3rem 1rem;color:var(--muted);font-size:1.1rem}
.yoji-results .error{color:#d32f2f}
.yoji-list{display:flex;flex-direction:column;gap:1rem}
.yoji-grid{display:grid;grid-template-columns:1fr;gap:1rem}
@media (min-width:768px){
.yoji-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1024px){
.yoji-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.yoji-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.25rem;box-shadow:0 1px 3px rgba(0,0,0,.05);transition:box-shadow .15s}
.yoji-card:hover{box-shadow:0 4px 8px rgba(0,0,0,.1)}
.yoji-header{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem}
.yoji-title{font-size:1.5rem;margin:0;color:var(--fg);font-weight:600}
.yoji-badges{display:flex;gap:.5rem;flex-wrap:wrap}
.yoji-badge{font-size:.75rem;padding:.25rem .5rem;border-radius:4px;font-weight:500}
.yoji-badge.difficulty-beginner{background:#e8f5e9;color:var(--accent-green)}
.yoji-badge.difficulty-intermediate{background:#fff3e0;color:#ef6c00}
.yoji-badge.difficulty-advanced{background:#ffebee;color:#c62828}
.yoji-meaning-ja{margin:0 0 .5rem;line-height:1.7;color:var(--fg)}
.yoji-meaning-en{margin:0;font-size:.95rem;color:var(--muted);line-height:1.6}

.yoji-list-meta{margin:0 0 1rem}

/* Pagination generic styles */
.pagination-container {
  margin: 2.5rem 0;
  padding-top: 2rem;
  border-top: 1px solid var(--border);
}

.pagination, .kotowaza-pagination, .yoji-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  flex-wrap: wrap;
  padding: 1rem 0;
}

.page-btn, .kotowaza-page-link, .yoji-page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.75rem;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  color: var(--fg);
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  min-width: 120px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

.page-btn:hover:not(:disabled), 
.kotowaza-page-link:hover:not(.is-disabled), 
.yoji-page-link:hover:not(.is-disabled) {
  border-color: var(--accent);
  color: var(--accent);
  background: var(--surface-elevated);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.page-btn:active:not(:disabled),
.kotowaza-page-link:active:not(.is-disabled),
.yoji-page-link:active:not(.is-disabled) {
  transform: translateY(0);
}

.page-btn:disabled, 
.kotowaza-page-link.is-disabled, 
.yoji-page-link.is-disabled {
  opacity: 0.4;
  cursor: not-allowed;
  filter: grayscale(1);
  box-shadow: none;
}

.pagination-info {
  font-size: 1.1rem;
  color: var(--fg);
  font-weight: 700;
  padding: 0 1rem;
  font-variant-numeric: tabular-nums;
}

.pagination .icon {
  margin: 0 0.5rem;
  font-size: 1.2rem;
  transition: transform 0.2s ease;
}

.page-btn.prev .icon { margin-right: 0.5rem; margin-left: 0; }
.page-btn.next .icon { margin-left: 0.5rem; margin-right: 0; }

.page-btn.prev:hover .icon { transform: translateX(-3px); }
.page-btn.next:hover .icon { transform: translateX(3px); }

/* Kotowaza (ã“ã¨ã‚ã–) page styles */
.kotowaza-page{max-width:800px;margin:0 auto;--accent:var(--accent-orange)}
.kotowaza-page .kanji-hero-character{font-size:clamp(2rem, 8vw, 3rem); letter-spacing: 0.05em; padding-top: 1rem;font-weight:600;}

.kotowaza-section{margin:2.5rem 0}
.kotowaza-section h2{font-size:1.25rem;margin:0 0 0.5rem;color:var(--accent);font-weight:600}
.kotowaza-intro{margin-bottom:1.5rem;color:var(--muted);line-height:1.8}
.kotowaza-results .loading,.kotowaza-results .no-results,.kotowaza-results .error{text-align:center;padding:3rem 1rem;color:var(--muted);font-size:1.1rem}
.kotowaza-results .error{color:#d32f2f}
.kotowaza-list{display:flex;flex-direction:column;gap:1rem}
.kotowaza-grid{display:grid;grid-template-columns:1fr;gap:1rem}
@media (min-width:768px){
.kotowaza-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1024px){
.kotowaza-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.kotowaza-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.25rem;box-shadow:0 1px 3px rgba(0,0,0,.05);transition:box-shadow .15s}
.kotowaza-card:hover{box-shadow:0 4px 8px rgba(0,0,0,.1)}
.kotowaza-header{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem}
.kotowaza-title{font-size:1.5rem;margin:0;color:var(--fg);font-weight:600}
.kotowaza-badges{display:flex;gap:.5rem;flex-wrap:wrap}
.kotowaza-badge{font-size:.75rem;padding:.25rem .5rem;border-radius:4px;font-weight:500}
.kotowaza-badge.difficulty-beginner{background:#fff3e0;color:var(--accent-orange)}
.kotowaza-badge.difficulty-intermediate{background:#fff3e0;color:#ef6c00}
.kotowaza-badge.difficulty-advanced{background:#ffebee;color:#c62828}
.kotowaza-meaning-ja{margin:0 0 .5rem;line-height:1.7;color:var(--fg)}

.kotowaza-list-meta{margin:0 0 1rem}


@media (max-width:600px){
/* .kanji-info-grid{grid-template-columns:1fr} */
.reading-group{flex-direction:column;align-items:flex-start;gap:.5rem;flex: 1}
.reading-label{min-width:auto}
.filter-group{grid-template-columns:1fr}
.welcome-section{padding:1rem 0}
.welcome-section h2{font-size:1.5rem}
.footer-content{grid-template-columns:1fr;gap:1.5rem}
.site-footer{padding:2rem 1rem 1rem}
.error-code{font-size:5rem}
.error-title{font-size:1.5rem}
.error-actions{flex-direction:column;align-items:center}
.category-list ul li a{font-size:1.1rem}
.site-footer a{font-size:1.1rem}
}

/* Header Navigation - Mobile */
@media screen and (max-width: 768px) {
  .nav-toggle-label {
    display: block;
    grid-column: 2;
    justify-self: end;
  }
  
  .header-nav {
    display: none;
    flex-direction: column;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: var(--bg);
    padding: 1rem;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    border-top: 1px solid var(--border);
    gap: 0.5rem;
  }
  
  .nav-toggle:checked ~ .header-nav {
    display: flex;
  }
  
  .header-nav a {
    width: 100%;
    text-align: center;
    background: var(--surface);
  }

  header{
    position: relative;
    display: grid !important;
    grid-template-columns: 1fr auto;
    align-items: center;
  }

  header h1 {
    grid-column: 1;
  }

  /* Animate Hamburger */
  .nav-toggle:checked + .nav-toggle-label span {
    background: transparent;
  }
  .nav-toggle:checked + .nav-toggle-label span::before {
    transform: rotate(45deg);
    bottom: 0;
  }
  .nav-toggle:checked + .nav-toggle-label span::after {
    transform: rotate(-45deg);
    top: 0;
  }
}

.kanji-related-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  list-style: none;
  padding: 0;
  margin: 0.5rem 0;
}
.kanji-related-list li a {
  display: block;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 0.5rem 1rem;
  font-size: 1.1rem;
  box-shadow: 0 1px 2px rgba(0,0,0,0.06);
  transition: all 0.15s;
}
.kanji-related-list li a:hover {
  background: var(--surface-elevated);
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  text-decoration: none;
}

