:root { --brand-ink:#24392f; --brand-accent:#a63f26; }
[hidden] { display:none !important; }
html { scroll-padding-top:120px; }
a:focus-visible, button:focus-visible, input:focus-visible { outline:3px solid #b8472b; outline-offset:4px; }
.skip-link { position:fixed;top:8px;left:12px;transform:translateY(-180%);z-index:99999;padding:12px 18px;background:#fff;color:#202b27; }
.skip-link:focus { transform:none; }
.locale-toggle { position:relative;display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:106px;min-height:40px;padding:3px;border:1px solid #a8ada8;border-radius:999px;background:#f2f3ee;color:#3e5146;font:600 11px/1.2 system-ui,sans-serif;letter-spacing:0;text-decoration:none !important;vertical-align:middle;isolation:isolate; }
.locale-toggle::before { content:'';position:absolute;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border-radius:999px;background:#24392f;transition:transform .18s; }
.locale-toggle[data-current-language='ja']::before { transform:translateX(100%); }
.locale-option { position:relative;z-index:1;display:flex;align-items:center;justify-content:center;padding:5px;min-height:30px; }
.locale-option.is-active { color:#fff; }
.lang-switch,.langtoggle { border:0 !important;background:transparent !important;overflow:visible !important; }
.language-switch .locale-toggle { display:inline-grid !important;padding:3px !important; }
.resource-privacy { position:fixed;bottom:4px;left:8px;z-index:100;font:10px/1.2 system-ui,sans-serif;color:#555;background:#fff;border-radius:3px;padding:2px 5px; }
.privacy-link { padding-top:16px;padding-bottom:18px;font-size:12px; }
.privacy-copy { max-width:760px;margin:50px auto;padding:24px;font-family:system-ui,sans-serif;line-height:1.85;color:#26362d; }
.privacy-copy h1 { font-size:42px; }
.privacy-copy h2 { margin-top:32px;font-size:22px; }
.privacy-copy a { color:#8c3520; }
.learning-section { background:#f6f4ed; }
.learning-section h2 { margin:12px 0 32px;font-size:clamp(25px,3.5vw,38px);line-height:1.3; }
.learning-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px; }
.learning-grid>a { display:flex;flex-direction:column;padding:28px 24px;border:1px solid #d7d9cf;background:#fff;color:#24392f;text-decoration:none;transition:transform .15s; }
.learning-grid>a:hover { transform:translateY(-3px);border-color:#24392f; }
.learning-grid span,.section-kicker { font:600 11px/1.5 ui-monospace,monospace;letter-spacing:.08em;color:#9c3b24; }
.learning-grid h3 { font-size:23px;line-height:1.25;margin:22px 0 14px; }
.learning-grid p { font-size:14px;line-height:1.8;flex:1;color:#58635b; }
.learning-grid b { display:block;margin-top:25px;font-size:13px; }
.contribution-links { margin-top:32px;padding:26px 0;border-top:1px solid #d5d8d0;display:flex;flex-wrap:wrap;gap:18px 28px; }
.contribution-links p { flex-basis:100%;font-weight:600; }
.contribution-links a { color:#8c3520;font-size:14px;text-decoration:underline;text-underline-offset:4px; }
.library-tools { margin:24px 0 30px; }
.library-tools label { display:block;font-size:14px;font-weight:600;margin-bottom:10px; }
.library-tools input { box-sizing:border-box;width:100%;max-width:560px;padding:14px 16px;border:1px solid #b8c0b8;background:#fff;border-radius:4px;color:#24392f;font:inherit; }
.topic-filters { display:flex;flex-wrap:wrap;gap:8px;margin-top:16px; }
.topic-filters button { padding:11px 16px;border:1px solid #b8c0b8;border-radius:24px;background:#fff;color:#24392f;font:500 13px/1.3 system-ui,sans-serif;cursor:pointer;min-height:44px; }
.topic-filters button[aria-pressed='true'] { color:white;background:#24392f;border-color:#24392f; }
#resource-count { font-size:12px;color:#526056;margin-top:16px; }
.personal-section { background:#f6f4ed; }
.personal-section h2 { margin:12px 0 28px;font-size:30px; }
.personal-grid { max-width:600px;grid-template-columns:1fr; }
@media(min-width:761px) { .site-header .mobile-lang { display:none !important; } }
@media(max-width:760px) {
  .learning-grid { grid-template-columns:1fr; }
  .learning-grid>a { padding:24px; }
  .site-header .nav-links .desktop-lang { display:none !important; }
  .hero-links { flex-wrap:wrap; }
  .locale-toggle { min-height:44px; }
  .site-header .mobile-lang.locale-toggle { display:inline-grid; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto !important; } *,*::before,*::after { animation:none !important;transition:none !important; } }
.deck-library { flex-shrink:0;color:#3f0e40;font:600 12px/1.3 system-ui,sans-serif;text-decoration:none;padding:10px 6px; }
@media(max-width:600px) { .topbar .ch-now { display:none; } .topbar { gap:8px !important; } }
