:root{--bg:#fafaf7;--ink:#1a1a1a;--ink-soft:#6c6c66;--ink-faint:#9a9a92;--accent:#2e7d5b;--accent-strong:#276a4e;--accent-soft:#e7f1ec;--accent-ring:#2e7d5b59;--danger:#c4453b;--danger-soft:#fbeceb;--bonus:#b8860b;--bonus-soft:#fdf3d3;--flame:#e2582a;--flame-soft:#fdeade;--card-bg:#fff;--line:#ecece7;--line-strong:#d9d9d2;--radius:12px;--radius-lg:18px;--radius-pill:999px;--shadow-sm:0 1px 2px #1a1a1a0d;--shadow:0 1px 2px #1a1a1a0a, 0 8px 24px #1a1a1a0f;--ease:cubic-bezier(.22, .61, .36, 1);--dur:.24s}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-height:100dvh;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.45}.site-header{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#fafaf7db;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.75rem clamp(1rem,4vw,2rem);display:flex;position:sticky;top:0}.brand{letter-spacing:-.02em;color:var(--ink);font-size:1.2rem;font-weight:800;text-decoration:none}.site-nav{flex-wrap:wrap;gap:.25rem;display:flex}.site-nav__link{border-radius:var(--radius-pill);color:var(--ink-soft);transition:background var(--dur) var(--ease), color var(--dur) var(--ease);padding:.4rem .7rem;font-size:.9rem;font-weight:600;text-decoration:none}.site-nav__link:hover{background:var(--line);color:var(--ink)}.site-nav__link[aria-current=page]{background:var(--accent-soft);color:var(--accent-strong)}.site-header__right{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.sound-toggle{border:1.5px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--card-bg);cursor:pointer;width:2.25rem;height:2.25rem;transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease), transform var(--dur) var(--ease);justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;display:inline-flex}.sound-toggle:hover{border-color:var(--accent);transform:translateY(-1px)}.sound-toggle[aria-pressed=true]{border-color:var(--danger);background:var(--danger-soft)}.view{width:100%;max-width:42rem;margin:0 auto;padding:clamp(1.25rem,5vw,2.5rem) clamp(1rem,4vw,2rem) 4rem}.page{flex-direction:column;gap:1.25rem;display:flex}.page__title{letter-spacing:-.02em;margin:0;font-size:clamp(1.4rem,5vw,1.75rem);font-weight:800}.page__meta{color:var(--ink-soft);margin:0}.page__link{color:var(--accent-strong);border-bottom:1.5px solid var(--accent-ring);transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease);align-self:flex-start;padding-bottom:1px;font-weight:600;text-decoration:none}.page__link:hover{color:var(--accent);border-color:var(--accent)}.button{border-radius:var(--radius-pill);background:var(--accent);color:#f7fbf8;font:inherit;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease), background var(--dur) var(--ease), box-shadow var(--dur) var(--ease);border:0;justify-content:center;align-self:flex-start;align-items:center;padding:.9rem 1.5rem;font-weight:700;text-decoration:none;display:inline-flex}.button:hover{background:var(--accent-strong);box-shadow:var(--shadow);transform:translateY(-1px)}.button:active{transform:scale(.98)}.button--share{background:var(--ink);align-self:center}.button--share:hover{background:#000}.button.is-copied{background:var(--accent)}.button:focus-visible,.card:focus-visible,.archive__link:focus-visible,.site-nav__link:focus-visible,.page__link:focus-visible,.brand:focus-visible{outline:3px solid var(--accent-ring);outline-offset:2px}.page--home{text-align:center;align-items:center;gap:1.5rem;padding-top:clamp(1rem,8vh,4rem)}.home__hero{flex-direction:column;align-items:center;gap:.5rem;display:flex}.home__title{letter-spacing:-.04em;margin:0;font-size:clamp(2.75rem,14vw,4.25rem);font-weight:800;line-height:1}.home__tagline{max-width:26ch;color:var(--ink-soft);margin:0;font-size:1.05rem}.home__streak{border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-strong);align-items:baseline;gap:.5rem;padding:.55rem 1.1rem;font-weight:700;display:inline-flex}.home__streak-label{text-transform:uppercase;letter-spacing:.06em;font-size:.9rem}.home__streak-value{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:800}.page--home .button,.home__archive-link{align-self:center}.game__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.game__progress{gap:.35rem;display:flex}.game__dot{border-radius:var(--radius-pill);background:var(--line-strong);width:1.75rem;height:.4rem;transition:background var(--dur) var(--ease)}.game__dot.is-done{background:var(--accent)}.game__dot.is-current{background:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.game__stats{color:var(--ink-soft);align-items:baseline;gap:.85rem;font-size:.9rem;font-weight:600;display:flex}.game__score{color:var(--ink);font-variant-numeric:tabular-nums}.game__question{letter-spacing:-.02em;animation:rise var(--dur) var(--ease);margin:0;font-size:clamp(1.4rem,5vw,1.75rem);font-weight:800}.game__bonus{border:2px solid var(--bonus);border-radius:var(--radius);background:var(--bonus-soft);color:#7a5a00;text-align:center;letter-spacing:.01em;animation:rise var(--dur) var(--ease);align-self:stretch;margin:0;padding:.6rem .9rem;font-weight:800}.game__streak{border:1.5px solid var(--flame);border-radius:var(--radius-pill);background:var(--flame-soft);color:#a13d16;font-variant-numeric:tabular-nums;animation:rise var(--dur) var(--ease);align-self:flex-start;align-items:center;gap:.35rem;padding:.3rem .7rem;font-weight:800;display:inline-flex}.game__streak-flame{font-size:1rem;line-height:1}.game__streak-bonus{font-size:.95rem}.game__cards{grid-template-columns:1fr;gap:.75rem;display:grid}@media (width>=40rem){.game__cards{grid-template-columns:1fr 1fr}}.card{border:1.5px solid var(--line-strong);min-height:9.5rem;box-shadow:var(--shadow-sm);font:inherit;text-align:left;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), background var(--dur) var(--ease), opacity var(--dur) var(--ease);background:linear-gradient(#fff 0%,#fdfdfa 100%);border-radius:16px;flex-direction:column;justify-content:space-between;gap:.35rem;padding:1.15rem 1.25rem 1.2rem;display:flex;position:relative}button.card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-2px)}button.card:active{transform:scale(.985)}.card__label{color:var(--ink);margin-top:.2rem;font-size:1rem;line-height:1.35}.card__top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.card__category{background:var(--accent-soft);color:var(--accent-strong);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:.2rem .5rem;font-size:.7rem;font-weight:700}.card__art{opacity:.9;flex:none;display:inline-flex}.card__art svg{width:1.85rem;height:1.85rem;display:block}.card__value{align-items:baseline;gap:.35rem;min-height:2.1rem;margin-top:auto;display:flex}.card__number{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:clamp(1.8rem,7vw,2.5rem);font-weight:800;line-height:1}.card__unit{color:var(--ink-soft);font-size:.95rem;font-weight:600}.card__back{display:inline-flex}.card__back svg{width:3.75rem;height:1.875rem;display:block}.card__note{border-top:1px dashed var(--line-strong);color:var(--ink-soft);margin:.6rem 0 0;padding-top:.55rem;font-size:.84rem;line-height:1.45}.card--win{border-color:var(--accent);background:var(--accent-soft);animation:pop .28s var(--ease);transform:scale(1.02)}.card--lose{opacity:.3}.card--wrong{border-color:var(--danger);background:var(--danger-soft);animation:pop .28s var(--ease)}.game__feedback{letter-spacing:-.01em;animation:rise var(--dur) var(--ease);margin:0;font-size:1.2rem;font-weight:800}.game__feedback--correct{color:var(--accent)}.game__feedback--wrong{color:var(--danger)}.game__points{border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-strong);font-variant-numeric:tabular-nums;align-self:flex-start;margin:0;padding:.35rem .75rem;font-weight:700}@keyframes pop{0%{transform:scale(1)}60%{transform:scale(1.04)}to{transform:scale(1.02)}}@keyframes rise{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.result__score{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:0;font-size:clamp(1.6rem,6vw,2.1rem);font-weight:800}.result__correct{color:var(--ink-soft);margin:0;font-weight:600}.recap{grid-template-columns:1fr;gap:.5rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=40rem){.recap{grid-template-columns:1fr 1fr}}.recap__card{border:1.5px solid var(--line-strong);background:var(--card-bg);border-left-width:5px;border-radius:14px;flex-direction:column;gap:.3rem;padding:.9rem 1rem;display:flex}.recap__top{align-items:center;gap:.45rem;margin-bottom:.1rem;display:flex}.recap__art{flex:none;display:inline-flex}.recap__art svg{width:1.5rem;height:1.5rem;display:block}.recap__category{color:var(--accent-strong);letter-spacing:.04em;text-transform:uppercase;background:#ffffffa6;border-radius:999px;padding:.15rem .45rem;font-size:.68rem;font-weight:700}.recap__card--correct{border-color:var(--accent);background:var(--accent-soft)}.recap__card--wrong{border-color:var(--danger);background:var(--danger-soft)}.recap__card--mixed{border-color:var(--bonus);background:var(--bonus-soft)}.recap__card--bonus{outline:2px dashed var(--bonus);outline-offset:-2px}.recap__label{color:var(--ink);font-size:.92rem;line-height:1.35}.recap__value{font-variant-numeric:tabular-nums;font-size:1.3rem;font-weight:800;line-height:1.15}.recap__note{color:var(--ink-soft);margin:.15rem 0 0;font-size:.82rem;line-height:1.45}.recap__source{color:var(--muted);flex-wrap:wrap;gap:.35rem;margin:.2rem 0 0;font-size:.74rem;display:flex}.recap__source-label{letter-spacing:.04em;text-transform:uppercase;font-weight:700}.recap__source a{color:var(--accent-strong);border-bottom:1px solid var(--accent-ring);font-weight:600;text-decoration:none}.recap__source a:hover{border-color:var(--accent)}.recap__tag{letter-spacing:.05em;text-transform:uppercase;color:#7a5a00;margin-left:auto;font-size:.68rem;font-weight:700}.archive__list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.archive__link{border:1.5px solid var(--line);border-radius:var(--radius);background:var(--card-bg);color:var(--ink);transition:border-color var(--dur) var(--ease), transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);justify-content:space-between;align-items:baseline;gap:.5rem;padding:.9rem 1rem;text-decoration:none;display:flex}.archive__link:hover{border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.archive__date{font-variant-numeric:tabular-nums;font-weight:700}.archive__meta{align-items:baseline;gap:.6rem;display:inline-flex}.archive__tag{color:var(--ink-soft);font-size:.85rem;font-weight:600}.archive__score{color:var(--accent-strong);font-variant-numeric:tabular-nums;font-weight:800}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.card--win{transform:none}}
