
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400 800;font-display:swap;src:url(data:font/woff2;base64,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) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400 800;font-display:swap;src:url(data:font/woff2;base64,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) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* =====================================================================
   CLASSROOM PUZZLE — design tokens
   Paper · Ink · one vermilion accent. Serif display, grotesk body, mono data.
   ===================================================================== */
:root {
  --paper:   #F3EFE6;
  --paper-2: #EAE5D8;
  --surface: #FBF9F3;
  --ink:     #16140F;
  --ink-2:   #3A362D;
  --muted:   #6B6558;
  --line:    rgba(22, 20, 15, .13);
  --line-2:  rgba(22, 20, 15, .24);
  --accent:  #2563EB;
  --accent-ink: #FFFFFF;
  --accent-soft: rgba(37, 99, 235, .11);
  --ok:      #2E7A4E;
  --ok-soft: rgba(46, 122, 78, .13);
  --bad:     #BF3A2B;
  --bad-soft: rgba(191, 58, 43, .1);
  --hl:      #F3D56B;
  --shadow-1: 0 1px 2px rgba(22,20,15,.06), 0 8px 24px -12px rgba(22,20,15,.18);
  --shadow-2: 0 2px 4px rgba(22,20,15,.05), 0 30px 60px -28px rgba(22,20,15,.35);
  --grain-op: .5;

  --f-display: "Cormorant Garamond", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --f-body: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-mono: "DM Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;

  --ease: cubic-bezier(.22, 1, .36, 1);
  --ease-io: cubic-bezier(.65, 0, .35, 1);
  --spring: cubic-bezier(.34, 1.56, .64, 1);
  --r-lg: 28px; --r-md: 18px; --r-sm: 12px;
  --wrap: min(1180px, calc(100% - 48px));
}
:root[data-theme="dark"] {
  --paper:   #12110E;
  --paper-2: #1A1915;
  --surface: #1C1B17;
  --ink:     #F1ECDF;
  --ink-2:   #D3CDBE;
  --muted:   #A09A8A;
  --line:    rgba(241, 236, 223, .12);
  --line-2:  rgba(241, 236, 223, .26);
  --accent:  #60A5FA;
  --accent-ink: #1B0C06;
  --accent-soft: rgba(96, 165, 250, .14);
  --ok:      #5CC489;
  --ok-soft: rgba(92, 196, 137, .15);
  --bad:     #FF7A6B;
  --bad-soft: rgba(255, 122, 107, .13);
  --shadow-1: 0 1px 2px rgba(0,0,0,.4), 0 8px 24px -12px rgba(0,0,0,.6);
  --shadow-2: 0 2px 4px rgba(0,0,0,.4), 0 30px 60px -28px rgba(0,0,0,.8);
  --grain-op: .35;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 130px; }
body {
  margin: 0;
  font-family: var(--f-body);
  font-size: 16px;
  line-height: 1.6;
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  transition: background-color .5s var(--ease), color .5s var(--ease);
  overflow-x: hidden;
}
/* paper grain */
body::before {
  content: ""; position: fixed; inset: 0; z-index: 1000; pointer-events: none;
  opacity: var(--grain-op); mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.35  0 0 0 0 0.3  0 0 0 0 0.2  0 0 0 .09 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
:root[data-theme="dark"] body::before { mix-blend-mode: screen; }
::selection { background: var(--accent); color: var(--accent-ink); }
a { color: inherit; text-decoration: none; }
button, select, input, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
.mono { font-family: var(--f-mono); }
svg { display: block; }
.ico { width: 1.15em; height: 1.15em; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 6px; }
.container { width: var(--wrap); margin: 0 auto; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* scroll progress */
#progress { position: fixed; top: 0; left: 0; right: 0; height: 2px; z-index: 120; background: var(--accent); transform-origin: 0 50%; transform: scaleX(0); }
[dir="rtl"] #progress { transform-origin: 100% 50%; }

/* =====================================================================
   HEADER + TOOL RAIL
   ===================================================================== */
.site-header {
  position: sticky; top: 0; z-index: 100;
  background: color-mix(in srgb, var(--paper) 82%, transparent);
  -webkit-backdrop-filter: saturate(1.4) blur(16px); backdrop-filter: saturate(1.4) blur(16px);
  border-bottom: 1px solid var(--line);
  transition: background-color .5s var(--ease);
}
.header-inner { height: 68px; display: flex; align-items: center; gap: 14px; }
.logo { display: inline-flex; align-items: center; gap: 12px; font-family: var(--f-display); font-size: 1.65rem; font-weight: 600; letter-spacing: -.01em; line-height: 1; }
.logo-mark { width: 30px; height: 30px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; }
.logo-mark i { background: var(--ink); border-radius: 2.5px; transition: transform .5s var(--spring), background-color .3s; }
.logo-mark i:nth-child(1), .logo-mark i:nth-child(5), .logo-mark i:nth-child(9) { background: var(--accent); }
.logo:hover .logo-mark i { transform: scale(.72) rotate(90deg); }
.logo:hover .logo-mark i:nth-child(odd) { transform: scale(1.0) rotate(0); }
.logo:hover .logo-mark i:nth-child(1) { transition-delay: 0s; } .logo:hover .logo-mark i:nth-child(5) { transition-delay: .06s; } .logo:hover .logo-mark i:nth-child(9) { transition-delay: .12s; }
.logo-text em { font-style: italic; font-weight: 500; color: var(--accent); }
.spacer { flex: 1; }

.chip {
  height: 40px; padding: 0 14px; display: inline-flex; align-items: center; gap: 10px;
  border: 1px solid var(--line-2); border-radius: 999px; background: transparent;
  font-size: .875rem; font-weight: 500; color: var(--ink-2);
  transition: border-color .25s, background-color .25s, color .25s, transform .4s var(--spring);
}
.chip:hover { border-color: var(--ink); background: var(--surface); color: var(--ink); }
.chip:active { transform: scale(.96); }
.chip kbd { font-family: var(--f-mono); font-size: .72rem; padding: 2px 6px; border: 1px solid var(--line-2); border-radius: 6px; color: var(--muted); }
.chip.icon-only { width: 40px; padding: 0; justify-content: center; }
.theme-btn .sun, .theme-btn .moon { transition: transform .7s var(--spring), opacity .35s; transform-origin: center; }
.theme-btn { position: relative; overflow: hidden; }
.theme-btn svg { position: absolute; }
:root[data-theme="light"] .theme-btn .moon { transform: translateY(150%) rotate(90deg); opacity: 0; }
:root[data-theme="dark"] .theme-btn .sun { transform: translateY(-150%) rotate(-90deg); opacity: 0; }
.lang-select {
  height: 40px; padding: 0 34px 0 14px; border-radius: 999px; border: 1px solid var(--line-2);
  background: transparent url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2.5 4.5l3.5 3.5 3.5-3.5' fill='none' stroke='%236B6558' stroke-width='1.5' stroke-linecap='round'/></svg>") no-repeat right 14px center;
  -webkit-appearance: none; appearance: none; font-size: .875rem; font-weight: 500; cursor: pointer;
  transition: border-color .25s, background-color .25s;
}
[dir="rtl"] .lang-select { padding: 0 14px 0 34px; background-position: left 14px center; }
.lang-select:hover { border-color: var(--ink); background-color: var(--surface); }
.lang-select option { color: #16140F; background: #fff; }

.rail-wrap { border-top: 1px solid var(--line); }
.main-nav {
  position: relative; display: flex; gap: 2px; align-items: stretch; height: 48px;
  overflow-x: auto; scrollbar-width: none; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 20px, #000 calc(100% - 20px), transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 20px, #000 calc(100% - 20px), transparent 100%);
}
.main-nav::-webkit-scrollbar { display: none; }
.main-nav button {
  position: relative; flex: none; background: none; border: 0; padding: 0 14px; white-space: nowrap;
  font-size: .875rem; font-weight: 500; color: var(--muted); transition: color .25s;
}
.main-nav button:hover { color: var(--ink); }
.main-nav button.active { color: var(--ink); }
.main-nav button .ix { font-family: var(--f-mono); font-size: .66rem; vertical-align: super; margin-inline-end: 5px; opacity: .5; }
.rail-ind { position: absolute; bottom: 0; left: 0; height: 2px; width: 0; background: var(--accent); border-radius: 2px 2px 0 0; transition: transform .6s var(--ease), width .6s var(--ease); pointer-events: none; }

/* =====================================================================
   VIEWS
   ===================================================================== */
main { padding: 0 0 120px; min-height: 80vh; }
.view { display: none; }
.view.active { display: block; }
@keyframes rise { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }
.view.active .rv { animation: rise .9s var(--ease) both; animation-delay: calc(var(--i, 0) * 85ms + 40ms); }
.rv-s { opacity: 0; transform: translateY(28px); transition: opacity .9s var(--ease), transform .9s var(--ease); transition-delay: calc(var(--d, 0) * 70ms); }
.rv-s.in { opacity: 1; transform: none; }

/* =====================================================================
   HERO
   ===================================================================== */
.hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(32px, 6vw, 96px); align-items: center; padding: clamp(48px, 8vw, 104px) 0 clamp(40px, 6vw, 72px); }
.eyebrow { display: inline-flex; align-items: center; gap: 12px; font-family: var(--f-mono); font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-bottom: 28px; }
.eyebrow .pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); position: relative; }
.eyebrow .pulse::after { content: ""; position: absolute; inset: -5px; border-radius: 50%; border: 1px solid var(--accent); animation: ping 2.4s var(--ease) infinite; }
@keyframes ping { 0% { transform: scale(.4); opacity: .9; } 100% { transform: scale(1.6); opacity: 0; } }
.hero h1 {
  margin: 0 0 28px; font-family: var(--f-display); font-weight: 500; font-size: clamp(3.2rem, 8.2vw, 7.4rem);
  line-height: .92; letter-spacing: -.03em; text-wrap: balance;
}
.hero h1 .w { display: inline-block; overflow: hidden; vertical-align: bottom; padding: .06em .04em .12em; margin: -.06em -.04em -.12em; }
.hero h1 .w > span { display: inline-block; transform: translateY(112%) rotate(4deg); transform-origin: 0 100%; animation: wordIn 1.1s var(--ease) forwards; animation-delay: calc(var(--k) * 75ms + 120ms); }
.hero h1 .w.em > span { font-style: italic; color: var(--accent); font-weight: 500; }
@keyframes wordIn { to { transform: none; } }
.hero p.lede { max-width: 46ch; margin: 0 0 36px; font-size: 1.125rem; color: var(--ink-2); line-height: 1.65; }
.cta-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }

.hero-art { position: relative; justify-self: end; width: min(100%, 440px); }
.hero-art::before { content: ""; position: absolute; inset: -18px; border: 1px solid var(--line); border-radius: 36px; pointer-events: none; }
.hero-card { position: relative; background: var(--surface); border: 1px solid var(--line); border-radius: 26px; padding: 22px; box-shadow: var(--shadow-2); transform: rotate(1.4deg); transition: transform .8s var(--ease); }
.hero-art:hover .hero-card { transform: rotate(0deg) translateY(-4px); }
.hero-grid { display: grid; grid-template-columns: repeat(9, 1fr); gap: 2px; user-select: none; }
.hc {
  --p: 0; aspect-ratio: 1; display: grid; place-items: center; border-radius: 8px;
  font-family: var(--f-mono); font-size: clamp(.8rem, 1.7vw, 1.05rem); font-weight: 500; text-transform: uppercase;
  color: color-mix(in srgb, var(--ink) calc(28% + var(--p) * 72%), transparent);
  transform: scale(calc(1 + var(--p) * .28)) translateY(calc(var(--p) * -2px));
  transition: background-color .35s var(--ease), color .35s var(--ease), transform .25s var(--ease-io);
}
.hc.hit { background: var(--accent); color: var(--accent-ink); transform: scale(1.06); transition-duration: .3s; }
.hero-cap { display: flex; justify-content: space-between; align-items: center; margin-top: 18px; padding-top: 16px; border-top: 1px dashed var(--line-2); font-family: var(--f-mono); font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.hero-cap b { color: var(--ink); font-weight: 500; letter-spacing: .14em; }
.stamp { position: absolute; z-index: 2; right: -22px; top: -26px; width: 92px; height: 92px; border-radius: 50%; display: grid; place-items: center; text-align: center; background: var(--accent); color: var(--accent-ink); font-family: var(--f-display); font-size: .95rem; font-style: italic; line-height: 1.05; transform: rotate(12deg); box-shadow: 0 10px 30px -10px rgba(37,99,235,.6); animation: bob 6s ease-in-out infinite; }
.stamp b { display: block; font-style: normal; font-size: 2rem; font-weight: 600; line-height: .9; }
@keyframes bob { 50% { transform: rotate(6deg) translateY(-6px); } }

/* ticker */
.ticker { border-block: 1px solid var(--line); overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.ticker-track { display: flex; width: max-content; animation: ticker 70s linear infinite; padding: 16px 0; }
.ticker:hover .ticker-track { animation-play-state: paused; }
.ticker span { font-family: var(--f-display); font-size: 1.6rem; font-style: italic; color: var(--muted); padding: 0 22px; white-space: nowrap; position: relative; transition: color .3s; }
.ticker span::after { content: "✦"; font-style: normal; font-size: .7rem; color: var(--accent); position: absolute; right: -6px; top: 50%; transform: translateY(-50%); }
.ticker span:hover { color: var(--ink); }
@keyframes ticker { to { transform: translateX(-50%); } }
[dir="rtl"] .ticker-track { animation-direction: reverse; }

/* index of tools */
.index-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: clamp(56px, 8vw, 96px) 0 28px; }
.index-head h2 { margin: 0; font-family: var(--f-display); font-weight: 500; font-size: clamp(2.2rem, 5vw, 3.8rem); line-height: 1; letter-spacing: -.02em; }
.index-head h2 em { color: var(--accent); }
.index-head .count { font-family: var(--f-mono); font-size: .8rem; color: var(--muted); letter-spacing: .1em; text-transform: uppercase; }
.index-list { border-top: 1px solid var(--line-2); }
.row {
  position: relative; display: grid; grid-template-columns: 56px 56px minmax(0, 1fr) 48px; align-items: center; gap: 20px;
  padding: 26px 18px; border-bottom: 1px solid var(--line-2); isolation: isolate; overflow: hidden;
  transition: color .5s var(--ease), padding .6s var(--ease);
}
.row::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--ink); transform: scaleY(0); transform-origin: 50% 100%; transition: transform .6s var(--ease); }
.row:hover, .row:focus-visible { color: var(--paper); padding-inline: 30px; }
.row:hover::before, .row:focus-visible::before { transform: scaleY(1); transform-origin: 50% 0; }
.row .n { font-family: var(--f-mono); font-size: .8rem; color: var(--muted); transition: color .4s; }
.row:hover .n { color: var(--accent); }
.row .ic { width: 52px; height: 52px; border: 1px solid var(--line-2); border-radius: 50%; display: grid; place-items: center; transition: border-color .4s, background-color .4s, transform .7s var(--spring), color .4s; }
.row .ic .ico { width: 24px; height: 24px; }
.row:hover .ic { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); transform: rotate(-12deg) scale(1.08); }
.row h3 { margin: 0; font-family: var(--f-display); font-weight: 500; font-size: clamp(1.7rem, 3.4vw, 2.5rem); line-height: 1.05; letter-spacing: -.015em; }
.row p { margin: 6px 0 0; max-width: 62ch; font-size: .95rem; color: var(--muted); transition: color .4s; }
.row:hover p { color: color-mix(in srgb, var(--paper) 70%, transparent); }
.row .go { justify-self: end; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--line-2); overflow: hidden; transition: background-color .4s, border-color .4s, color .4s; }
.row .go svg { transition: transform .5s var(--ease); }
.row:hover .go { background: var(--paper); border-color: var(--paper); color: var(--ink); }
.row:hover .go svg { animation: arrowThru .7s var(--ease); }
@keyframes arrowThru { 0% { transform: none; } 45% { transform: translateX(150%); opacity: 0; } 46% { transform: translateX(-150%); opacity: 0; } 100% { transform: none; opacity: 1; } }
[dir="rtl"] .arr { transform: scaleX(-1); }
@media (max-width: 760px) {
  .hero { grid-template-columns: 1fr; }
  .hero-art { justify-self: center; margin-top: 24px; }
  .row { grid-template-columns: 40px minmax(0, 1fr) 40px; gap: 14px; padding: 22px 8px; }
  .row .n { display: none; }
  .row .ic { width: 40px; height: 40px; }
  .row .ic .ico { width: 20px; height: 20px; }
  .row .go { width: 38px; height: 38px; }
  .row:hover { padding-inline: 14px; }
}

/* =====================================================================
   BUTTONS
   ===================================================================== */
.btn {
  --fill: var(--accent); position: relative; isolation: isolate; overflow: hidden;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  height: 50px; padding: 0 26px; border-radius: 999px; border: 1px solid var(--ink);
  background: var(--ink); color: var(--paper); font-weight: 600; font-size: .95rem; letter-spacing: .005em; white-space: nowrap;
  transition: transform .5s var(--spring), color .35s, border-color .35s, box-shadow .4s var(--ease);
  will-change: transform; user-select: none; -webkit-tap-highlight-color: transparent;
}
.btn::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--fill); clip-path: circle(0 at var(--mx, 50%) var(--my, 50%)); transition: clip-path .7s var(--ease); }
.btn:hover::before, .btn:focus-visible::before { clip-path: circle(160% at var(--mx, 50%) var(--my, 50%)); }
.btn:hover { border-color: var(--fill); color: var(--accent-ink); box-shadow: 0 14px 30px -14px color-mix(in srgb, var(--fill) 70%, transparent); }
.btn:active { transform: scale(.955) !important; transition-duration: .12s; }
.btn .ico { transition: transform .5s var(--spring); }
.btn:hover .ico { transform: translateX(3px); }
.btn .ico.nudge { transform: none; }
.btn:hover .ico.nudge { transform: scale(1.18) rotate(-6deg); }
.btn-light { --fill: var(--ink); background: transparent; color: var(--ink); border-color: var(--line-2); }
.btn-light:hover { color: var(--paper); border-color: var(--ink); }
.btn-check { --fill: var(--ink); background: var(--ok); border-color: var(--ok); color: #fff; }
:root[data-theme="dark"] .btn-check { color: #07140D; }
.btn-check:hover { border-color: var(--ink); color: var(--paper); }
.btn-show { --fill: var(--ink); background: transparent; color: var(--ink); border-color: var(--line-2); border-style: dashed; }
.btn-show:hover { color: var(--paper); border-style: solid; }
.btn-lg { height: 58px; padding: 0 32px; font-size: 1rem; }
.ripple { position: absolute; border-radius: 50%; background: currentColor; opacity: .22; transform: scale(0); pointer-events: none; animation: ripple .8s var(--ease) forwards; z-index: 0; }
@keyframes ripple { to { transform: scale(1); opacity: 0; } }

/* =====================================================================
   TOOL PAGES
   ===================================================================== */
.tool-header { padding: clamp(44px, 6vw, 80px) 0 36px; max-width: 900px; }
.crumb { display: flex; align-items: center; gap: 10px; font-family: var(--f-mono); font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-bottom: 22px; }
.crumb button { background: none; border: 0; padding: 0; color: inherit; letter-spacing: inherit; text-transform: inherit; font-family: inherit; font-size: inherit; position: relative; transition: color .25s; }
.crumb button::after { content: ""; position: absolute; left: 0; right: 0; bottom: -3px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: 0 50%; transition: transform .5s var(--ease); }
.crumb button:hover { color: var(--accent); }
.crumb button:hover::after { transform: scaleX(1); }
.crumb b { color: var(--accent); font-weight: 500; }
.tool-header h1 { margin: 0 0 18px; font-family: var(--f-display); font-weight: 500; font-size: clamp(2.7rem, 6.4vw, 5.2rem); line-height: .98; letter-spacing: -.028em; text-wrap: balance; }
.tool-header p { margin: 0; max-width: 56ch; font-size: 1.1rem; color: var(--ink-2); }

.panel { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(20px, 3.4vw, 40px); box-shadow: var(--shadow-1); margin-bottom: 72px; }
.mode-switch { position: relative; display: inline-flex; padding: 4px; margin-bottom: 28px; border-radius: 999px; background: var(--paper-2); border: 1px solid var(--line); }
.mode-switch .thumb { position: absolute; top: 4px; bottom: 4px; left: 0; width: 0; border-radius: 999px; background: var(--ink); transform: translateX(var(--tx, 4px)); width: var(--tw, 50%); transition: transform .6s var(--ease), width .6s var(--ease); }
.mode-btn { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 20px; border: 0; border-radius: 999px; background: transparent; font-weight: 600; font-size: .9rem; color: var(--muted); transition: color .35s; }
.mode-btn:hover { color: var(--ink); }
.mode-btn.active { color: var(--paper); }

.controls { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 20px 24px; margin-bottom: 28px; }
.control label, .control > .lbl { display: block; font-family: var(--f-mono); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-bottom: 9px; transition: color .25s; }
.control:focus-within label { color: var(--accent); }
.control select, .control input, .control textarea {
  width: 100%; height: 50px; padding: 0 16px; border-radius: var(--r-sm); border: 1px solid var(--line-2);
  background: var(--paper); color: var(--ink); font-size: 1rem; outline: none;
  transition: border-color .25s, box-shadow .35s var(--ease), background-color .25s, transform .4s var(--ease);
}
.control textarea { height: auto; padding: 14px 16px; resize: vertical; line-height: 1.5; }
.control select { -webkit-appearance: none; appearance: none; padding-right: 42px; cursor: pointer; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'><path d='M3 5.2l4 4 4-4' fill='none' stroke='%236B6558' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>"); background-repeat: no-repeat; background-position: right 16px center; }
[dir="rtl"] .control select { padding-right: 16px; padding-left: 42px; background-position: left 16px center; }
.control select:hover, .control input:hover, .control textarea:hover { border-color: var(--ink-2); }
.control select:focus, .control input:focus, .control textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 4px var(--accent-soft); background-color: var(--surface); }
.control select option { color: #16140F; background: #fff; }

.actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; align-items: center; }
.switch { display: inline-flex; align-items: center; gap: 12px; cursor: pointer; font-weight: 500; font-size: .92rem; color: var(--ink-2); user-select: none; padding: 6px 4px; }
.switch input { -webkit-appearance: none; appearance: none; position: relative; width: 44px; height: 26px; margin: 0; border-radius: 999px; background: var(--paper-2); border: 1px solid var(--line-2); cursor: pointer; transition: background-color .35s, border-color .35s; flex-shrink: 0; }
.switch input::after { content: ""; position: absolute; top: 2px; left: 2px; width: 20px; height: 20px; border-radius: 50%; background: var(--ink); transition: transform .55s var(--spring), background-color .3s, width .3s var(--ease); }
.switch input:active::after { width: 25px; }
.switch input:checked { background: var(--accent); border-color: var(--accent); }
.switch input:checked::after { transform: translateX(18px); background: #fff; }
.switch input:checked:active::after { transform: translateX(13px); }
[dir="rtl"] .switch input::after { left: auto; right: 2px; }
[dir="rtl"] .switch input:checked::after { transform: translateX(-18px); }
.switch:hover { color: var(--ink); }

.output-area {
  position: relative; border-radius: var(--r-md); border: 1px solid var(--line); padding: clamp(14px, 3vw, 36px); overflow-x: auto; min-height: 260px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  background-color: var(--paper-2);
  background-image: radial-gradient(color-mix(in srgb, var(--ink) 20%, transparent) 1px, transparent 1.2px); background-size: 20px 20px;
}

/* worksheet = always real paper */
.worksheet { width: 100%; max-width: 820px; background: #FFFEFB; padding: clamp(22px, 4vw, 48px); border-radius: 6px; color: #17150F; box-shadow: 0 1px 1px rgba(0,0,0,.05), 0 2px 4px rgba(0,0,0,.05), 0 24px 48px -20px rgba(0,0,0,.35); position: relative; transition: transform .6s var(--ease), box-shadow .6s var(--ease); }
.worksheet:hover { transform: translateY(-3px); box-shadow: 0 1px 1px rgba(0,0,0,.05), 0 4px 8px rgba(0,0,0,.05), 0 36px 60px -20px rgba(0,0,0,.4); }
.worksheet::before { content: ""; position: absolute; left: clamp(22px, 4vw, 48px); right: clamp(22px, 4vw, 48px); top: 0; height: 3px; background: #2563EB; }
.worksheet h2 { text-align: center; margin: 0 0 6px; font-family: var(--f-display); font-weight: 600; font-size: clamp(1.9rem, 3.4vw, 2.5rem); letter-spacing: -.01em; line-height: 1.1; }
.worksheet .sub { text-align: center; color: #6B6558; margin: 0 0 32px; font-size: .9rem; font-family: var(--f-mono); letter-spacing: .02em; }
.questions { display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px 48px; font-size: 1.12rem; font-variant-numeric: tabular-nums; }
.question { padding: 12px 0; border-bottom: 1px solid #E6E1D3; display: flex; justify-content: space-between; align-items: center; gap: 10px; transition: background-color .3s, padding .4s var(--ease); }
.question:hover { padding-inline-start: 8px; background: linear-gradient(90deg, rgba(37,99,235,.06), transparent); }
.question .line { border-bottom: 1px solid #17150F; width: 100px; display: inline-block; }
.answer-key { border-top: 2px dashed #C9C3B2; margin-top: 44px; padding-top: 30px; page-break-before: always; }
.answer-key h3 { margin-top: 0; font-family: var(--f-display); font-size: 1.6rem; }
.answer-key ol { columns: 2; margin: 0; padding-left: 22px; font-size: 1.05rem; }
.answer-key .ws-solution-list { columns: 2; margin: 0 0 10px; padding-left: 22px; font-size: 1rem; }
@media (max-width: 640px) { .questions, .answer-key ol, .answer-key .ws-solution-list { grid-template-columns: 1fr; columns: 1; } }

/* play inputs */
.play-input {
  width: 76px; height: 40px; padding: 0 6px; border: 0; border-bottom: 2px solid #CFC9B8; border-radius: 6px 6px 0 0; background: rgba(23,21,15,.035);
  font-family: var(--f-mono); font-size: 1.05rem; font-weight: 500; text-align: center; color: #17150F; outline: none;
  transition: border-color .3s, background-color .3s, color .3s, box-shadow .4s var(--ease);
}
.play-input:hover { background: rgba(23,21,15,.06); }
.play-input:focus { border-bottom-color: #2563EB; background: rgba(37,99,235,.07); box-shadow: 0 10px 14px -12px rgba(37,99,235,.7); }
.play-input.correct { border-bottom-color: #2E7A4E; background: rgba(46,122,78,.13); color: #1F5A38; animation: pulseOk .6s var(--ease); }
.play-input.wrong { border-bottom-color: #BF3A2B; background: rgba(191,58,43,.1); color: #A02E20; animation: shake .45s var(--ease); }
@keyframes shake { 15%, 55% { transform: translateX(-5px); } 35%, 75% { transform: translateX(5px); } 100% { transform: none; } }
@keyframes pulseOk { 40% { transform: scale(1.12); } 100% { transform: none; } }

/* =====================================================================
   WORD SEARCH
   ===================================================================== */
.ws-paper { width: 100%; max-width: 920px; background: #FFFEFB; border-radius: 6px; padding: clamp(18px, 3.4vw, 40px); box-shadow: 0 1px 1px rgba(0,0,0,.05), 0 24px 48px -20px rgba(0,0,0,.35); color: #17150F; }
.search-layout { display: grid; grid-template-columns: auto minmax(180px, 1fr); gap: clamp(20px, 4vw, 48px); width: 100%; align-items: start; }
@media (max-width: 760px) { .search-layout { grid-template-columns: 1fr; } }
.letter-grid { --cs: clamp(20px, calc((100vw - 130px) / var(--n, 10)), 40px); display: grid; gap: 3px; margin: 0 auto; width: fit-content; }
.cell {
  display: flex; justify-content: center; align-items: center; width: var(--cs); height: var(--cs);
  border: 1px solid #E6E1D3; border-radius: calc(var(--cs) * .22); background: #fff; color: #17150F;
  font-family: var(--f-body); font-weight: 600; font-size: calc(var(--cs) * .44); cursor: pointer; user-select: none;
  transition: background-color .25s, border-color .25s, transform .35s var(--spring), box-shadow .3s;
}
.cell:hover { background: #FBF3D2; border-color: #E3C45A; transform: translateY(-2px) scale(1.08); box-shadow: 0 8px 14px -8px rgba(0,0,0,.35); z-index: 2; }
.cell:active { transform: scale(.92); }
.cell.selected { background: #F3D56B; border-color: #D9B33A; animation: selPulse 1.4s var(--ease) infinite; }
@keyframes selPulse { 0% { box-shadow: 0 0 0 0 rgba(217,179,58,.7); } 100% { box-shadow: 0 0 0 12px rgba(217,179,58,0); } }
.cell.found { background: #DCEBDD; border-color: #8DBE9B; color: #1F5A38; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.cell.pop { animation: cellPop .7s var(--spring) backwards; }
@keyframes cellPop { 0% { transform: scale(1); background: #F3D56B; } 40% { transform: scale(1.35) rotate(-6deg); background: #F3D56B; } 100% { transform: scale(1); } }
.cell.enter { animation: cellIn .6s var(--ease) backwards; animation-delay: var(--d, 0ms); }
@keyframes cellIn { from { opacity: 0; transform: translateY(8px) scale(.7); } }
.letter-grid.shake { animation: shake .45s var(--ease); }
.word-panel h3, .wl-h { margin: 0 0 12px; display: flex; justify-content: space-between; align-items: baseline; font-family: var(--f-display); font-size: 1.6rem; font-weight: 600; }
.wl-h .mono { font-size: .8rem; color: #6B6558; font-weight: 400; }
.wl-bar { height: 3px; background: #E6E1D3; border-radius: 3px; margin-bottom: 8px; overflow: hidden; }
.wl-bar i { display: block; height: 100%; background: #2E7A4E; border-radius: 3px; width: var(--to, 0%); animation: barGrow .9s var(--ease) both; }
@keyframes barGrow { from { width: var(--from, 0%); } }
.word-list { list-style: none; padding: 0; margin: 0; }
.word-list li { position: relative; padding: 9px 0; border-bottom: 1px solid #EEE9DC; font-family: var(--f-mono); font-weight: 500; font-size: .95rem; letter-spacing: .1em; transition: color .4s, opacity .4s, padding .4s var(--ease); }
.word-list li::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 2px; background: #2E7A4E; transform: scaleX(0); transform-origin: 0 50%; }
.word-list li.found { color: #2E7A4E; opacity: .65; }
.word-list li.found::after { transform: scaleX(1); }
.word-list li[data-fresh]::after { animation: strike .7s var(--ease) .3s backwards; }
.word-list li[data-fresh] { animation: nudge .7s var(--ease); }
@keyframes strike { from { transform: scaleX(0); } }
@keyframes nudge { 30% { padding-inline-start: 14px; } }

/* =====================================================================
   MEMORY
   ===================================================================== */
.mem-stats { display: flex; gap: 28px; justify-content: center; margin-bottom: 20px; font-family: var(--f-mono); font-size: .76rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.mem-stats b { display: inline-block; min-width: 2ch; color: var(--ink); font-weight: 500; font-size: 1.15rem; margin-inline-start: 6px; font-family: var(--f-display); letter-spacing: 0; }
.mem-stats b.tick { animation: tick .45s var(--spring); }
@keyframes tick { 40% { transform: translateY(-5px) scale(1.25); color: var(--accent); } }
.memory-grid { display: grid; gap: clamp(8px, 1.6vw, 14px); margin: 0 auto; max-width: 520px; width: 100%; }
.memory-card { aspect-ratio: 1; perspective: 900px; cursor: pointer; transition: transform .45s var(--spring); outline-offset: 4px; }
.memory-card:not(.flipped):hover { transform: translateY(-5px) rotate(-1.5deg); }
.memory-card:not(.flipped):active { transform: scale(.94); }
.memory-card-inner { position: relative; width: 100%; height: 100%; transition: transform .75s var(--spring); transform-style: preserve-3d; }
.memory-card.flipped .memory-card-inner, .memory-card.matched .memory-card-inner { transform: rotateY(180deg); }
.memory-card-front, .memory-card-back { position: absolute; inset: 0; backface-visibility: hidden; -webkit-backface-visibility: hidden; display: flex; align-items: center; justify-content: center; border-radius: 14px; }
.memory-card-front { background: var(--ink); box-shadow: 0 10px 20px -12px rgba(0,0,0,.5); overflow: hidden; }
.memory-card-front::before { content: ""; position: absolute; inset: 7px; border: 1px solid color-mix(in srgb, var(--paper) 35%, transparent); border-radius: 9px; }
.memory-card-front i { width: 26%; aspect-ratio: 1; background: var(--accent); transform: rotate(45deg); border-radius: 3px; transition: transform .6s var(--spring); }
.memory-card:hover .memory-card-front i { transform: rotate(135deg) scale(1.2); }
.memory-card-back { background: #FFFEFB; border: 1px solid #E6E1D3; transform: rotateY(180deg); font-size: clamp(1.7rem, 6vw, 3.2rem); box-shadow: 0 10px 20px -12px rgba(0,0,0,.4); transition: background-color .4s, border-color .4s; }
.memory-card.matched .memory-card-back { background: #DCEBDD; border-color: #5FA478; }
.memory-card.matched { animation: matchPop .7s var(--ease) .45s; }
@keyframes matchPop { 40% { transform: scale(1.1); } }

/* =====================================================================
   MAZE + DOTS (print-style artwork)
   ===================================================================== */
.dot-s, .dot-f { display: inline-block; width: 10px; height: 10px; border-radius: 50%; vertical-align: middle; margin: 0 4px 2px; }
.dot-s { background: #2E7A4E; } .dot-f { background: #2563EB; }
#maze-svg, #dot-svg { max-width: 100%; height: auto; }
#dot-svg circle { transition: r .3s var(--spring), fill .3s; }
#dot-svg circle:hover { r: 9; }
.draw-path { stroke-dasharray: var(--len); stroke-dashoffset: var(--len); animation: draw 1.6s var(--ease-io) forwards; }
@keyframes draw { to { stroke-dashoffset: 0; } }

/* =====================================================================
   WORD OF THE DAY
   ===================================================================== */
.wotd-container {
  --gx: 50%; --gy: 0%; position: relative; overflow: hidden; isolation: isolate; text-align: center;
  background: #16140F; color: #F3EFE6; border-radius: 36px; padding: clamp(48px, 9vw, 120px) clamp(22px, 6vw, 80px); margin-bottom: 72px;
  box-shadow: var(--shadow-2);
}
.wotd-container::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(520px circle at var(--gx) var(--gy), rgba(37,99,235,.32), transparent 65%); transition: background .2s; }
.wotd-container::after { content: "“"; position: absolute; z-index: -1; left: 50%; top: -.18em; transform: translateX(-50%); font-family: var(--f-display); font-size: 28rem; line-height: 1; color: rgba(243,239,230,.05); pointer-events: none; }
.wotd-word { margin: 0 0 12px; font-family: var(--f-display); font-weight: 500; font-style: italic; font-size: clamp(3.4rem, 12vw, 9rem); line-height: .95; letter-spacing: -.03em; }
.wotd-word span { display: inline-block; animation: letterIn 1s var(--ease) backwards; animation-delay: calc(var(--k) * 45ms); }
@keyframes letterIn { from { opacity: 0; transform: translateY(40px) rotate(6deg); filter: blur(6px); } }
.wotd-phonetic { font-family: var(--f-mono); font-size: 1rem; letter-spacing: .06em; color: rgba(243,239,230,.6); margin-bottom: 32px; }
.wotd-speak-btn { display: inline-flex; align-items: center; gap: 12px; height: 48px; padding: 0 22px 0 18px; border-radius: 999px; border: 1px solid rgba(243,239,230,.3); background: rgba(243,239,230,.06); color: #F3EFE6; font-weight: 600; font-size: .92rem; transition: background-color .3s, border-color .3s, transform .5s var(--spring); margin-bottom: 44px; }
.wotd-speak-btn:hover { background: rgba(243,239,230,.14); border-color: rgba(243,239,230,.7); transform: translateY(-2px); }
.wotd-speak-btn:active { transform: scale(.95); }
.wave { display: inline-flex; align-items: center; gap: 3px; height: 18px; }
.wave i { width: 3px; height: 5px; border-radius: 3px; background: #60A5FA; transition: height .3s; }
.wotd-speak-btn.speaking .wave i { animation: wave .8s ease-in-out infinite; }
.wave i:nth-child(2) { animation-delay: .12s !important; } .wave i:nth-child(3) { animation-delay: .24s !important; } .wave i:nth-child(4) { animation-delay: .36s !important; }
@keyframes wave { 50% { height: 18px; } }
.wotd-pos { display: inline-block; font-family: var(--f-mono); font-size: .78rem; text-transform: uppercase; letter-spacing: .22em; color: #93C5FD; margin-bottom: 16px; padding: 6px 14px; border: 1px solid rgba(147,197,253,.4); border-radius: 999px; }
.wotd-def { font-family: var(--f-display); font-size: clamp(1.7rem, 3.4vw, 2.6rem); max-width: 22em; margin: 0 auto 36px; line-height: 1.2; font-weight: 500; letter-spacing: -.01em; }
.wotd-ex { max-width: 38em; padding: 6px 0 6px 22px; margin: 0 auto; font-size: 1.1rem; color: rgba(243,239,230,.78); font-style: italic; border-left: 2px solid #2563EB; text-align: left; }
[dir="rtl"] .wotd-ex { border-left: 0; border-right: 2px solid #2563EB; padding: 6px 22px 6px 0; text-align: right; }

/* =====================================================================
   ABOUT + FAQ
   ===================================================================== */
.tool-info { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 6vw, 96px); padding-top: 56px; border-top: 1px solid var(--line-2); }
@media (max-width: 860px) { .tool-info { grid-template-columns: 1fr; } }
.tool-info h2 { margin: 0 0 18px; font-family: var(--f-display); font-weight: 500; font-size: clamp(1.9rem, 3.2vw, 2.6rem); line-height: 1.05; letter-spacing: -.02em; }
.tool-info p { color: var(--ink-2); font-size: 1.02rem; margin: 0 0 18px; }
.info-r h2 { color: var(--ink); }
.faq-item { border-bottom: 1px solid var(--line-2); overflow: hidden; }
.faq-item:first-of-type { border-top: 1px solid var(--line-2); }
.faq-item summary { padding: 20px 4px; display: flex; justify-content: space-between; align-items: center; gap: 20px; list-style: none; cursor: pointer; font-weight: 600; font-size: 1.02rem; transition: color .3s, padding .5s var(--ease); }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary:hover { color: var(--accent); padding-inline-start: 12px; }
.faq-item summary::after { content: ""; flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--line-2); background: linear-gradient(currentColor, currentColor) center / 10px 1.5px no-repeat, linear-gradient(currentColor, currentColor) center / 1.5px 10px no-repeat; transition: transform .6s var(--spring), background-color .3s, border-color .3s, color .3s; }
.faq-item.is-open summary::after { transform: rotate(135deg); background-color: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.faq-item p { margin: 0; padding: 0 4px 22px; color: var(--muted); font-size: .98rem; max-width: 60ch; }

/* =====================================================================
   FOOTER
   ===================================================================== */
footer { border-top: 1px solid var(--line-2); padding: 72px 0 40px; overflow: hidden; }
.foot-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; flex-wrap: wrap; }
.foot-word { font-family: var(--f-display); font-size: clamp(3.4rem, 13vw, 11rem); font-weight: 500; letter-spacing: -.04em; line-height: .85; margin: 0; }
.foot-word em { color: var(--accent); }
.foot-word span { display: inline-block; transition: transform .6s var(--spring); }
.foot-word span:hover { transform: translateY(-.12em) rotate(-4deg); }
footer .links { display: flex; gap: 8px; flex-wrap: wrap; }
footer .links button { background: none; border: 1px solid var(--line-2); border-radius: 999px; height: 40px; padding: 0 18px; font-size: .875rem; font-weight: 500; color: var(--ink-2); transition: all .3s var(--ease); }
footer .links button:hover { background: var(--ink); color: var(--paper); border-color: var(--ink); transform: translateY(-2px); }
.foot-bot { display: flex; justify-content: space-between; margin-top: 48px; padding-top: 22px; border-top: 1px solid var(--line); font-family: var(--f-mono); font-size: .75rem; letter-spacing: .06em; color: var(--muted); text-transform: uppercase; gap: 16px; flex-wrap: wrap; }

/* LEGAL / INFO PAGES */
.acc { font-style: italic; color: var(--accent); }
.legal { max-width: 760px; margin-bottom: 40px; }
.legal h2 { margin: 44px 0 12px; font-family: var(--f-display); font-weight: 500; font-size: clamp(1.7rem, 3vw, 2.2rem); letter-spacing: -.015em; line-height: 1.1; }
.legal h2:first-child { margin-top: 0; }
.legal p { margin: 0 0 14px; color: var(--ink-2); font-size: 1.05rem; line-height: 1.75; }
.legal a:not(.mail-card):not(.btn) { color: var(--accent); background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat; transition: background-size .5s var(--ease); }
.legal a:not(.mail-card):not(.btn):hover { background-size: 0 1px; background-position: 100% 100%; }
.mail-card { display: grid; gap: 6px; padding: 32px; margin-bottom: 18px; border: 1px solid var(--line-2); border-radius: var(--r-lg); background: var(--surface); position: relative; overflow: hidden; isolation: isolate; transition: color .5s var(--ease), transform .6s var(--spring); }
.mail-card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--ink); transform: scaleY(0); transform-origin: 50% 100%; transition: transform .6s var(--ease); }
.mail-card:hover { color: var(--paper); transform: translateY(-3px); }
.mail-card:hover::before { transform: scaleY(1); transform-origin: 50% 0; }
.mail-card .lbl { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.mail-card .addr { font-family: var(--f-display); font-size: clamp(1.8rem, 5vw, 3rem); font-weight: 500; letter-spacing: -.02em; line-height: 1.1; word-break: break-all; }
.mail-card .go { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; margin-top: 10px; color: var(--accent); }
.sitemap { max-width: 900px; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 40px; }
.sitemap ul { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--line-2); }
.sitemap li { border-bottom: 1px solid var(--line-2); }
.sitemap li a { display: block; padding: 14px 4px; font-weight: 500; background: none !important; color: var(--ink) !important; transition: padding .5s var(--ease), color .3s; }
.sitemap li a:hover { padding-inline-start: 14px; color: var(--accent) !important; }

/* =====================================================================
   TOASTS · COMMAND PALETTE · CURSOR · CONFETTI
   ===================================================================== */
#toasts { position: fixed; z-index: 400; left: 50%; bottom: 28px; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 10px; pointer-events: none; width: min(440px, calc(100% - 32px)); }
.toast { pointer-events: auto; display: flex; align-items: center; gap: 14px; width: 100%; padding: 14px 20px; border-radius: 18px; background: var(--ink); color: var(--paper); box-shadow: 0 20px 50px -18px rgba(0,0,0,.6); font-weight: 500; font-size: .95rem; opacity: 0; transform: translateY(24px) scale(.94); transition: opacity .45s var(--ease), transform .6s var(--spring); cursor: pointer; }
.toast.in { opacity: 1; transform: none; }
.toast.out { opacity: 0; transform: translateY(10px) scale(.96); transition-duration: .3s; }
.toast .t-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); flex-shrink: 0; }
.toast.warn .t-dot { background: var(--hl); }
.toast.score { padding: 16px 22px 16px 16px; }
.toast .ring { position: relative; width: 56px; height: 56px; flex-shrink: 0; }
.toast .ring svg { transform: rotate(-90deg); }
.toast .ring circle { fill: none; stroke-width: 4; }
.toast .ring .bg { stroke: color-mix(in srgb, var(--paper) 22%, transparent); }
.toast .ring .fg { stroke: var(--accent); stroke-linecap: round; stroke-dasharray: 125.66; stroke-dashoffset: 125.66; transition: stroke-dashoffset 1.2s var(--ease) .15s; }
.toast .ring b { position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--f-display); font-size: 1.35rem; font-weight: 600; }
.toast .t-title { font-family: var(--f-display); font-size: 1.45rem; font-weight: 600; line-height: 1.1; }
.toast .t-sub { font-size: .85rem; opacity: .7; margin-top: 2px; }
.confetti { position: fixed; z-index: 500; width: 8px; height: 12px; border-radius: 2px; pointer-events: none; }

.cmdk { position: fixed; inset: 0; z-index: 300; display: grid; justify-items: center; align-items: start; padding: 14vh 16px 16px; visibility: hidden; }
.cmdk.open { visibility: visible; }
.cmdk-back { position: absolute; inset: 0; background: rgba(15,13,9,.5); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); opacity: 0; transition: opacity .4s var(--ease); }
.cmdk.open .cmdk-back { opacity: 1; }
.cmdk-box { position: relative; width: min(600px, 100%); background: var(--surface); border: 1px solid var(--line-2); border-radius: 22px; box-shadow: var(--shadow-2); overflow: hidden; opacity: 0; transform: translateY(-14px) scale(.97); transition: opacity .35s var(--ease), transform .55s var(--spring); }
.cmdk.open .cmdk-box { opacity: 1; transform: none; }
.cmdk-in { display: flex; align-items: center; gap: 14px; padding: 0 20px; height: 64px; border-bottom: 1px solid var(--line); color: var(--muted); }
.cmdk-in input { flex: 1; height: 100%; border: 0; outline: 0; background: transparent; font-size: 1.05rem; color: var(--ink); }
.cmdk-in kbd { font-family: var(--f-mono); font-size: .7rem; padding: 3px 7px; border: 1px solid var(--line-2); border-radius: 6px; }
#cmdkList { list-style: none; margin: 0; padding: 8px; max-height: min(52vh, 420px); overflow-y: auto; }
#cmdkList li { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border-radius: 12px; cursor: pointer; transition: background-color .2s, transform .35s var(--ease); }
#cmdkList li .ico { width: 20px; height: 20px; color: var(--muted); }
#cmdkList li .k { margin-inline-start: auto; font-family: var(--f-mono); font-size: .72rem; color: var(--muted); }
#cmdkList li.act { background: var(--ink); color: var(--paper); transform: translateX(4px); }
#cmdkList li.act .ico, #cmdkList li.act .k { color: var(--accent); }
#cmdkList .none { padding: 24px; text-align: center; color: var(--muted); cursor: default; }

#cursor-ring, #cursor-dot { position: fixed; z-index: 900; left: 0; top: 0; pointer-events: none; border-radius: 50%; opacity: 0; transition: opacity .3s; }
#cursor-ring { width: 36px; height: 36px; margin: -18px 0 0 -18px; border: 1.5px solid var(--accent); transition: opacity .3s, width .4s var(--spring), height .4s var(--spring), margin .4s var(--spring), background-color .3s; }
#cursor-dot { width: 5px; height: 5px; margin: -2.5px 0 0 -2.5px; background: var(--accent); }
body.has-cursor #cursor-ring, body.has-cursor #cursor-dot { opacity: 1; }
body.cursor-hover #cursor-ring { width: 56px; height: 56px; margin: -28px 0 0 -28px; background: var(--accent-soft); }
body.cursor-down #cursor-ring { width: 26px; height: 26px; margin: -13px 0 0 -13px; }
@media (hover: none), (pointer: coarse) { #cursor-ring, #cursor-dot { display: none; } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-delay: 0s !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; transition-delay: 0s !important; scroll-behavior: auto !important; }
  .ticker-track { animation: none; }
  #cursor-ring, #cursor-dot { display: none; }
}

/* =====================================================================
   PRINT
   ===================================================================== */
@media print {
  @page { margin: 1.5cm; }
  body { background: #fff !important; color: #000 !important; }
  body::before, #progress, #cursor-ring, #cursor-dot, #toasts, .cmdk { display: none !important; }
  header, footer, .tool-header, .mode-switch, .controls, .actions, .no-print, .tool-info, .ticker { display: none !important; }
  .view { display: none !important; }
  .view.active { display: block !important; }
  .rv, .rv-s { opacity: 1 !important; transform: none !important; animation: none !important; }
  main, .panel, .output-area { margin: 0 !important; padding: 0 !important; border: none !important; background: transparent !important; box-shadow: none !important; min-height: auto !important; border-radius: 0 !important; }
  .container { width: 100% !important; }
  .worksheet, .ws-paper { box-shadow: none !important; padding: 0 !important; border: none !important; max-width: 100% !important; transform: none !important; }
  .worksheet::before { display: none; }
  .search-layout { display: block !important; }
  .word-panel { margin-top: 20px !important; }
  .word-panel h3 { display: block !important; }
  .wl-bar, .wl-h .mono { display: none !important; }
  .word-list { column-count: 3; padding-left: 20px; }
  .word-list li { border: none !important; }
  .word-list li::after { display: none !important; }
  .letter-grid { gap: 2px !important; --cs: 28px !important; }
  .cell { width: 28px !important; height: 28px !important; font-size: .9rem !important; border: 1px solid #000 !important; border-radius: 0 !important; background: white !important; color: black !important; box-shadow: none !important; animation: none !important; transform: none !important; }
  .cell.solution-print { background: #bdebd0 !important; color: #125b35 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .questions { grid-template-columns: 1fr 1fr; }
  .question:hover { background: none; padding-inline-start: 0; }
  .play-input { border: none !important; border-bottom: 1px solid #000 !important; border-radius: 0 !important; background: transparent !important; color: #000 !important; box-shadow: none !important; width: 60px !important; text-align: center !important; padding: 0 !important; animation: none !important; }
  .play-input.correct, .play-input.wrong { background: transparent !important; color: #000 !important; border-bottom: 1px solid #000 !important; }
  .mem-stats { display: none !important; }
  .memory-grid { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 5px !important; }
  .memory-card { aspect-ratio: 1; border: 1px dashed #ccc !important; padding: 10px; animation: none !important; transform: none !important; }
  .memory-card-inner { transform: none !important; }
  .memory-card-front { display: none !important; }
  .memory-card-back { transform: none !important; position: relative !important; background: white !important; border: none !important; font-size: 2.5rem !important; display: flex !important; box-shadow: none !important; }
  svg { max-width: 100% !important; height: auto !important; }
  .draw-path { animation: none !important; stroke-dashoffset: 0 !important; }
}
/* =====================================================================
   V2 THEME — "Learning blue + play yellow + fun pink"
   The familiar, trusted web palette: white & soft-blue surfaces, navy ink,
   royal-blue primary, amber and pink highlights. Plus Jakarta Sans throughout.
   (Appended after the base component CSS, so these tokens take over.)
   ===================================================================== */
:root {
  --paper: #F3F7FE; --paper-2: #E7EEFB; --surface: #FFFFFF;
  --ink: #0F172A; --ink-2: #334155; --muted: #5B6B83;
  --line: rgba(15, 23, 42, .09); --line-2: rgba(15, 23, 42, .17);
  --accent: #2563EB; --accent-2: #4F46E5; --accent-ink: #FFFFFF; --accent-soft: rgba(37, 99, 235, .1);
  --sun: #F59E0B; --pink: #EC4899;
  --ok: #16A34A; --ok-soft: rgba(22, 163, 74, .12); --bad: #DC2626; --bad-soft: rgba(220, 38, 38, .1); --hl: #FDE68A;
  --brand: linear-gradient(135deg, #2563EB 0%, #4F46E5 100%);
  --shadow-1: 0 1px 2px rgba(15, 23, 42, .05), 0 12px 32px -14px rgba(30, 64, 175, .22);
  --shadow-2: 0 2px 6px rgba(15, 23, 42, .05), 0 44px 80px -34px rgba(30, 64, 175, .42);
  --grain-op: 0;
  --f-display: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-body: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-mono: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --r-lg: 26px; --r-md: 20px;
  --tone: #2563EB; --tone-2: #4F46E5;
}
:root[data-theme="dark"] {
  --paper: #0A1020; --paper-2: #0F1830; --surface: #131D36;
  --ink: #EAF0FF; --ink-2: #C4CFE8; --muted: #95A3C0;
  --line: rgba(255, 255, 255, .09); --line-2: rgba(255, 255, 255, .17);
  --accent: #5B93FF; --accent-2: #8B8DFF; --accent-ink: #FFFFFF; --accent-soft: rgba(91, 147, 255, .16);
  --ok: #4ADE80; --ok-soft: rgba(74, 222, 128, .15); --bad: #FF8A80; --bad-soft: rgba(255, 138, 128, .14);
  --shadow-1: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 32px -14px rgba(0, 0, 0, .65);
  --shadow-2: 0 2px 6px rgba(0, 0, 0, .4), 0 44px 80px -34px rgba(0, 0, 0, .85);
}
body { font-feature-settings: "ss01", "tnum"; background: var(--paper); }
body::before { display: none; }
h1, h2, h3, .logo, .stat b, .foot h4 { font-family: var(--f-display); }
.mono, .crumb, .eyebrow, .control label, .mem-stats, .wl-h .mono, .hero-cap, .worksheet .sub { font-family: var(--f-body); }

/* ---- header ---- */
.site-header { background: color-mix(in srgb, var(--paper) 78%, transparent); border-bottom: 1px solid var(--line); }
.header-inner { height: 70px; }
.logo { font-size: 1.28rem; font-weight: 800; letter-spacing: -.03em; }
.logo-mark { width: 34px; height: 34px; padding: 6px; gap: 2.5px; background: var(--brand); border-radius: 11px; box-shadow: 0 8px 18px -8px rgba(37, 99, 235, .8); transition: transform .6s var(--spring); }
.logo:hover .logo-mark { transform: rotate(-8deg) scale(1.08); }
.logo-mark i { background: rgba(255, 255, 255, .5); border-radius: 2px; }
.logo-mark i:nth-child(1), .logo-mark i:nth-child(5), .logo-mark i:nth-child(9) { background: #fff; }
.logo:hover .logo-mark i { transform: scale(.7); }
.logo:hover .logo-mark i:nth-child(odd) { transform: scale(1); }
.logo-text em { font-style: normal; background: var(--brand); -webkit-background-clip: text; background-clip: text; color: transparent; }
.chip { background: var(--surface); border-color: var(--line); box-shadow: 0 1px 2px rgba(15, 23, 42, .04); }
.chip:hover { border-color: var(--accent); color: var(--accent); background: var(--surface); box-shadow: 0 6px 16px -8px rgba(37, 99, 235, .5); }
.lang-select { background-color: var(--surface); border-color: var(--line); }
.lang-select:hover { border-color: var(--accent); }

.rail-wrap { border-top: 0; padding-bottom: 12px; }
.rail-wrap .container { display: flex; justify-content: center; }
.main-nav { height: 46px; padding: 4px; gap: 2px; width: fit-content; max-width: 100%; background: var(--surface); border: 1px solid var(--line); border-radius: 999px; box-shadow: var(--shadow-1); -webkit-mask-image: none; mask-image: none; }
.main-nav button { height: 36px; padding: 0 15px; border-radius: 999px; z-index: 1; font-weight: 600; color: var(--ink-2); transition: color .35s, background-color .3s; }
.main-nav button:hover { background: var(--accent-soft); color: var(--accent); }
.main-nav button.active { color: #fff; background: transparent; }
.main-nav .ix { display: none; }
.rail-ind { top: 4px; bottom: auto; height: 36px; border-radius: 999px; background: var(--brand); box-shadow: 0 8px 18px -8px rgba(37, 99, 235, .85); z-index: 0; transition: transform .6s var(--spring), width .5s var(--ease), opacity .3s; }

/* ---- buttons ---- */
.btn { --fill: rgba(255, 255, 255, .22); border: 0; height: 52px; padding: 0 28px; background: linear-gradient(135deg, var(--tone), var(--tone-2)); color: #fff; box-shadow: 0 10px 22px -10px var(--tone), inset 0 1px 0 rgba(255, 255, 255, .25); font-weight: 700; }
.btn::after { content: ""; position: absolute; top: 0; bottom: 0; left: -80%; width: 50%; z-index: -1; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .45), transparent); transform: skewX(-20deg); }
.btn:hover::after { left: 140%; transition: left .85s var(--ease); }
.btn:hover { color: #fff; border-color: transparent; box-shadow: 0 16px 30px -10px var(--tone), inset 0 1px 0 rgba(255, 255, 255, .3); }
.btn-light { --fill: var(--accent-soft); background: var(--surface); color: var(--ink); border: 1px solid var(--line-2); box-shadow: 0 1px 2px rgba(15, 23, 42, .05); }
.btn-light::after { display: none; }
.btn-light:hover { color: var(--accent); border-color: var(--accent); box-shadow: 0 10px 22px -12px var(--accent); }
.btn-check { background: linear-gradient(135deg, #16A34A, #0D9488); color: #fff; box-shadow: 0 10px 22px -10px #16A34A; border: 0; }
:root[data-theme="dark"] .btn-check { color: #fff; }
.btn-check:hover { color: #fff; border: 0; box-shadow: 0 16px 30px -10px #16A34A; }
.btn-show { background: var(--surface); color: var(--ink); border: 1.5px dashed var(--line-2); box-shadow: none; }
.btn-show::after { display: none; }
.btn-show:hover { color: #B45309; border-color: var(--sun); border-style: solid; box-shadow: 0 10px 22px -12px var(--sun); }
:root[data-theme="dark"] .btn-show:hover { color: #FBBF24; }

/* ---- hero ---- */
.hero { position: relative; padding: clamp(40px, 6vw, 84px) 0 clamp(36px, 5vw, 64px); gap: clamp(28px, 5vw, 72px); grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); }
.orbs { position: absolute; inset: -80px -10vw auto; height: 640px; z-index: -1; pointer-events: none; overflow: hidden; }
.orb { position: absolute; border-radius: 50%; filter: blur(70px); opacity: .55; animation: drift 18s ease-in-out infinite alternate; }
.orb.o1 { width: 460px; height: 460px; left: 4%; top: 0; background: #93C5FD; }
.orb.o2 { width: 380px; height: 380px; right: 8%; top: 60px; background: #C7D2FE; animation-duration: 22s; animation-delay: -6s; }
.orb.o3 { width: 280px; height: 280px; right: 34%; top: 330px; background: #FDE68A; opacity: .5; animation-duration: 26s; animation-delay: -12s; }
:root[data-theme="dark"] .orb { opacity: .22; }
@keyframes drift { to { transform: translate(60px, 40px) scale(1.12); } }
.orbs::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(37, 99, 235, .22) 1px, transparent 1.2px); background-size: 26px 26px; -webkit-mask-image: radial-gradient(70% 60% at 50% 30%, #000, transparent); mask-image: radial-gradient(70% 60% at 50% 30%, #000, transparent); }
.eyebrow { padding: 8px 16px 8px 12px; margin-bottom: 26px; border-radius: 999px; background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow-1); color: var(--ink-2); font-size: .8rem; font-weight: 600; letter-spacing: .01em; text-transform: none; }
.eyebrow .pulse { background: #16A34A; } .eyebrow .pulse::after { border-color: #16A34A; }
.hero h1 { font-family: var(--f-display); font-weight: 800; font-size: clamp(2.7rem, 6.4vw, 5.3rem); line-height: 1.02; letter-spacing: -.045em; }
.hero h1 .w.em > span { font-style: normal; background: linear-gradient(100deg, #2563EB, #4F46E5 55%, #EC4899); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: wordIn 1.1s var(--ease) forwards, sheen 6s linear 1.4s infinite; }
@keyframes sheen { to { background-position: -200% 0; } }
.hero p.lede { font-size: 1.15rem; color: var(--ink-2); max-width: 48ch; }
.trust { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 30px; font-size: .88rem; font-weight: 600; color: var(--ink-2); }
.trust span { display: inline-flex; align-items: center; gap: 8px; }
.trust svg { width: 18px; height: 18px; padding: 3px; border-radius: 50%; background: var(--ok-soft); color: var(--ok); stroke-width: 2.4; }

.hero-art { width: min(100%, 470px); justify-self: end; --px: 0; --py: 0; }
.hero-art::before { display: none; }
.hero-card { background: var(--surface); border: 1px solid var(--line); border-radius: 28px; padding: 22px; transform: none; box-shadow: var(--shadow-2); }
.hero-art:hover .hero-card { transform: translateY(-4px); }
.hero-card::before { content: ""; display: block; height: 10px; margin: -6px 0 14px; background: radial-gradient(circle 4.5px at 5px 5px, #FB7185 98%, transparent), radial-gradient(circle 4.5px at 22px 5px, #FBBF24 98%, transparent), radial-gradient(circle 4.5px at 39px 5px, #34D399 98%, transparent); background-repeat: no-repeat; }
.hc { border-radius: 9px; font-family: var(--f-body); font-weight: 700; color: color-mix(in srgb, var(--ink) calc(26% + var(--p) * 74%), transparent); }
.hc.hit { background: var(--brand); color: #fff; box-shadow: 0 6px 14px -6px rgba(37, 99, 235, .8); }
.hero-cap { border-top: 1px dashed var(--line-2); letter-spacing: .06em; }
.hero-cap b { color: var(--accent); font-weight: 800; }
.fl { position: absolute; z-index: 3; transform: translate(calc(var(--px) * var(--d) * 1px), calc(var(--py) * var(--d) * 1px)); transition: transform .4s var(--ease); }
.fl > .in { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 18px; background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow-2); font-weight: 700; font-size: .92rem; animation: bob 6s ease-in-out infinite; animation-delay: var(--dl, 0s); white-space: nowrap; }
@keyframes bob { 50% { transform: translateY(-10px); } }
.fl .dot { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; color: #fff; flex-shrink: 0; }
.fl .dot svg { width: 20px; height: 20px; }
.fl small { display: block; font-size: .72rem; font-weight: 600; color: var(--muted); }
.fl.f1 { left: -9%; top: 12%; --d: 14; } .fl.f1 .dot { background: linear-gradient(135deg, #2563EB, #4F46E5); }
.fl.f2 { right: -7%; top: 40%; --d: -18; --dl: -2s; } .fl.f2 .dot { background: linear-gradient(135deg, #F59E0B, #F97316); }
.fl.f3 { left: 6%; bottom: -5%; --d: 10; --dl: -4s; } .fl.f3 .dot { background: linear-gradient(135deg, #16A34A, #0D9488); }
@media (max-width: 960px) { .fl.f1 { left: -2%; } .fl.f2 { right: -2%; } }

.ticker { border: 0; margin-top: 8px; }
.ticker-track { padding: 10px 0; }
.ticker span { font-family: var(--f-body); font-style: normal; font-size: .95rem; font-weight: 600; padding: 9px 18px 9px 14px; margin: 0 6px; border-radius: 999px; background: var(--surface); border: 1px solid var(--line); color: var(--ink-2); display: inline-flex; align-items: center; gap: 10px; box-shadow: 0 1px 2px rgba(15, 23, 42, .04); transition: transform .4s var(--spring), border-color .3s, color .3s; }
.ticker span::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--c, #2563EB); }
.ticker span::after { display: none; }
.ticker span:nth-child(5n+1) { --c: #2563EB; } .ticker span:nth-child(5n+2) { --c: #F59E0B; } .ticker span:nth-child(5n+3) { --c: #EC4899; } .ticker span:nth-child(5n+4) { --c: #16A34A; } .ticker span:nth-child(5n) { --c: #7C3AED; }
.ticker span:hover { transform: translateY(-3px) scale(1.05); border-color: var(--c); color: var(--ink); }

/* ---- generic sections ---- */
.sec { padding: clamp(56px, 8vw, 96px) 0 0; }
.sec-head { text-align: center; max-width: 680px; margin: 0 auto 48px; }
.kicker { display: inline-block; padding: 6px 14px; border-radius: 999px; background: var(--accent-soft); color: var(--accent); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 16px; }
.sec-head h2 { margin: 0 0 14px; font-weight: 800; font-size: clamp(2rem, 4.4vw, 3.2rem); line-height: 1.08; letter-spacing: -.04em; }
.sec-head h2 em { font-style: normal; background: var(--brand); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sec-head p { margin: 0; color: var(--ink-2); font-size: 1.08rem; }

.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: clamp(40px, 6vw, 72px); }
.stat { padding: 26px 22px; border-radius: 22px; background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow-1); text-align: center; transition: transform .6s var(--spring), box-shadow .4s; }
.stat:hover { transform: translateY(-6px); box-shadow: var(--shadow-2); }
.stat b { display: block; font-size: clamp(2rem, 4vw, 3rem); font-weight: 800; letter-spacing: -.04em; line-height: 1; background: linear-gradient(135deg, var(--c1, #2563EB), var(--c2, #4F46E5)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.stat span { display: block; margin-top: 8px; font-size: .9rem; font-weight: 600; color: var(--muted); }
.stat:nth-child(2) { --c1: #F59E0B; --c2: #F97316; } .stat:nth-child(3) { --c1: #EC4899; --c2: #8B5CF6; } .stat:nth-child(4) { --c1: #16A34A; --c2: #0D9488; }
@media (max-width: 760px) { .stats { grid-template-columns: repeat(2, 1fr); } }

/* ---- tool cards ---- */
.tool-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 22px; }
.card { --rx: 0deg; --ry: 0deg; position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; gap: 14px; padding: 28px; border-radius: 26px; background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow-1); transform: perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)); transition: transform .5s var(--ease), box-shadow .5s var(--ease), border-color .4s, opacity .9s var(--ease) calc(var(--d, 0) * 70ms); will-change: transform; }
.card:hover { transform: perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(-8px); box-shadow: 0 30px 60px -28px var(--tone); border-color: color-mix(in srgb, var(--tone) 45%, transparent); }
.card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(340px circle at var(--mx, 50%) var(--my, 0%), color-mix(in srgb, var(--tone) 16%, transparent), transparent 65%); opacity: 0; transition: opacity .4s; }
.card:hover::before { opacity: 1; }
.card::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: linear-gradient(90deg, var(--tone), var(--tone-2)); transform: scaleX(0); transform-origin: 0 50%; transition: transform .7s var(--ease); }
.card:hover::after { transform: scaleX(1); }
.card .top { display: flex; align-items: center; justify-content: space-between; }
.tile { width: 58px; height: 58px; border-radius: 18px; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, var(--tone), var(--tone-2)); box-shadow: 0 14px 26px -12px var(--tone); transition: transform .7s var(--spring); }
.tile .ico { width: 28px; height: 28px; stroke-width: 1.7; }
.card:hover .tile { transform: rotate(-9deg) scale(1.12); }
.card .num { font-size: .8rem; font-weight: 800; color: var(--muted); padding: 4px 10px; border-radius: 999px; background: var(--paper-2); transition: background-color .3s, color .3s; }
.card:hover .num { background: color-mix(in srgb, var(--tone) 14%, transparent); color: var(--tone); }
.card h3 { margin: 6px 0 0; font-size: 1.35rem; font-weight: 800; letter-spacing: -.03em; line-height: 1.2; }
.card p { margin: 0; color: var(--muted); font-size: .96rem; line-height: 1.6; flex: 1; }
.card .more { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: .92rem; color: var(--tone); margin-top: 6px; }
:root[data-theme="dark"] .card .more { filter: brightness(1.35); }
.card .more svg { transition: transform .5s var(--spring); }
.card:hover .more svg { transform: translateX(6px); }

/* ---- steps ---- */
.steps { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.steps::before { content: ""; position: absolute; left: 16%; right: 16%; top: 44px; border-top: 2px dashed var(--line-2); z-index: 0; clip-path: inset(0 100% 0 0); transition: clip-path 1.6s var(--ease) .3s; }
.steps.in::before { clip-path: inset(0); }
.step { position: relative; z-index: 1; padding: 30px 26px; border-radius: 24px; background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow-1); text-align: center; transition: transform .6s var(--spring), box-shadow .4s, opacity .9s var(--ease) calc(var(--d, 0) * 90ms); }
.step:hover { transform: translateY(-6px); box-shadow: var(--shadow-2); }
.step .n { width: 56px; height: 56px; margin: 0 auto 18px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; font-size: 1.2rem; color: #fff; background: linear-gradient(135deg, var(--c1), var(--c2)); box-shadow: 0 12px 24px -10px var(--c1); transition: transform .7s var(--spring); }
.step:hover .n { transform: rotate(360deg) scale(1.1); }
.step:nth-child(1) { --c1: #2563EB; --c2: #4F46E5; } .step:nth-child(2) { --c1: #F59E0B; --c2: #F97316; } .step:nth-child(3) { --c1: #EC4899; --c2: #8B5CF6; }
.step h3 { margin: 0 0 8px; font-size: 1.2rem; font-weight: 800; letter-spacing: -.02em; }
.step p { margin: 0; color: var(--muted); font-size: .96rem; }
@media (max-width: 760px) { .steps { grid-template-columns: 1fr; } .steps::before { display: none; } }

/* ---- CTA band ---- */
.band { position: relative; overflow: hidden; isolation: isolate; margin-top: clamp(56px, 8vw, 96px); padding: clamp(40px, 7vw, 80px) clamp(24px, 6vw, 72px); border-radius: 36px; text-align: center; color: #fff; background: linear-gradient(135deg, #1D4ED8 0%, #4F46E5 55%, #7C3AED 100%); box-shadow: var(--shadow-2); }
.band h2 { margin: 0 0 14px; font-size: clamp(2rem, 4.6vw, 3.4rem); font-weight: 800; letter-spacing: -.04em; line-height: 1.08; }
.band p { margin: 0 auto 30px; max-width: 46ch; color: rgba(255, 255, 255, .85); font-size: 1.1rem; }
.band .btn { background: #fff; color: #1D4ED8; box-shadow: 0 16px 30px -12px rgba(0, 0, 0, .5); --fill: rgba(37, 99, 235, .1); }
.band .btn:hover { color: #1D4ED8; }
.band .btn::after { background: linear-gradient(100deg, transparent, rgba(37, 99, 235, .25), transparent); }
.shape { position: absolute; z-index: -1; border-radius: 50%; background: rgba(255, 255, 255, .12); animation: drift 12s ease-in-out infinite alternate; }
.shape.s1 { width: 280px; height: 280px; left: -80px; top: -90px; } .shape.s2 { width: 200px; height: 200px; right: -50px; bottom: -70px; animation-delay: -5s; background: rgba(251, 191, 36, .3); } .shape.s3 { width: 90px; height: 90px; right: 18%; top: 12%; animation-delay: -3s; background: rgba(244, 114, 182, .35); }

/* ---- tool pages ---- */
.tool-header { padding-top: clamp(36px, 5vw, 64px); }
.tool-badge { width: 68px; height: 68px; border-radius: 22px; display: grid; place-items: center; margin-bottom: 22px; color: #fff; background: linear-gradient(135deg, var(--tone), var(--tone-2)); box-shadow: 0 18px 34px -14px var(--tone); }
.view.active .tool-badge { animation: badgeIn 1s var(--spring) both; }
@keyframes badgeIn { from { transform: scale(.3) rotate(-30deg); opacity: 0; } }
.tool-badge .ico { width: 32px; height: 32px; stroke-width: 1.7; }
.tool-header h1 { font-weight: 800; font-size: clamp(2.2rem, 5vw, 3.9rem); line-height: 1.05; letter-spacing: -.04em; }
.crumb { text-transform: none; letter-spacing: 0; font-size: .86rem; font-weight: 600; }
.crumb b { color: var(--tone); font-weight: 800; }
.acc { font-style: normal; background: linear-gradient(135deg, var(--tone), var(--tone-2)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.panel { position: relative; overflow: hidden; border-radius: 30px; }
.panel::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: linear-gradient(90deg, var(--tone), var(--tone-2), var(--sun)); background-size: 200% 100%; animation: sheen 8s linear infinite; }
.mode-switch { background: var(--paper-2); border-color: var(--line); }
.mode-switch .thumb { background: linear-gradient(135deg, var(--tone), var(--tone-2)); box-shadow: 0 8px 16px -8px var(--tone); transition: transform .6s var(--spring), width .5s var(--ease); }
.mode-btn { font-weight: 700; } .mode-btn.active { color: #fff; }
.control label { text-transform: none; letter-spacing: 0; font-size: .82rem; font-weight: 700; color: var(--ink-2); }
.control:focus-within label { color: var(--tone); }
.control select:focus, .control input:focus, .control textarea:focus { border-color: var(--tone); box-shadow: 0 0 0 4px color-mix(in srgb, var(--tone) 18%, transparent); }
.switch input:checked { background: var(--tone); border-color: var(--tone); }
.output-area { background-color: var(--paper-2); background-image: radial-gradient(color-mix(in srgb, var(--tone) 28%, transparent) 1px, transparent 1.2px); }
.worksheet::before { background: linear-gradient(90deg, #2563EB, #4F46E5, #EC4899); height: 4px; border-radius: 0 0 4px 4px; }
.worksheet h2 { font-family: var(--f-display); font-weight: 800; letter-spacing: -.035em; color: #0F172A; }
.worksheet .sub { font-family: var(--f-body); font-weight: 500; }
.question:hover { background: linear-gradient(90deg, rgba(37, 99, 235, .07), transparent); }
.play-input { font-family: var(--f-body); font-weight: 700; }
.wl-h, .word-panel h3 { font-family: var(--f-display); font-weight: 800; letter-spacing: -.03em; }
.word-list li { font-family: var(--f-body); font-weight: 700; letter-spacing: .08em; }
.answer-key h3 { font-family: var(--f-display); font-weight: 800; }
.mem-stats b { font-family: var(--f-display); font-weight: 800; }
.memory-card-front { background: var(--brand); }
.memory-card-front::before { border-color: rgba(255, 255, 255, .4); }
.memory-card-front i { background: var(--hl); }
.dot-f { background: #E11D48; } .dot-s { background: #16A34A; }

.wotd-container { background: linear-gradient(145deg, #0B1B3F 0%, #1E3A8A 55%, #4F46E5 120%); box-shadow: 0 50px 90px -40px rgba(30, 64, 175, .7); }
.wotd-word { font-family: var(--f-display); font-style: normal; font-weight: 800; letter-spacing: -.045em; }
.wotd-def { font-family: var(--f-display); font-weight: 600; letter-spacing: -.02em; }
.wotd-container::after { font-family: Georgia, serif; }
.wave i { background: #FBBF24; }
.wotd-pos { font-family: var(--f-body); color: #FCD34D; border-color: rgba(252, 211, 77, .45); }

.faq-item summary { font-weight: 700; }
.tool-info h2, .legal h2 { font-weight: 800; letter-spacing: -.035em; }
.tool-info { border-top: 1px solid var(--line); }
.mail-card .addr { font-weight: 800; letter-spacing: -.035em; }

/* ---- footer ---- */
footer { background: #0A1228; color: #CBD5F0; border: 0; padding: 72px 0 28px; margin-top: 40px; position: relative; overflow: hidden; }
footer::before { content: ""; position: absolute; width: 520px; height: 520px; right: -140px; top: -260px; border-radius: 50%; background: radial-gradient(circle, rgba(79, 70, 229, .5), transparent 65%); pointer-events: none; }
.foot-grid { position: relative; display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: 40px; }
.foot-brand .logo { color: #fff; margin-bottom: 16px; }
.foot-brand p { margin: 0 0 18px; font-size: .95rem; line-height: 1.7; color: #9AA9CC; max-width: 34ch; }
.foot h4, footer h4 { margin: 0 0 18px; font-size: .82rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #fff; }
footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
footer li button, footer li a { background: none; border: 0; padding: 0; color: #9AA9CC; font-size: .95rem; font-weight: 500; position: relative; transition: color .3s, transform .4s var(--ease); text-align: start; }
footer li button:hover, footer li a:hover { color: #fff; transform: translateX(5px); }
.foot-mail { display: inline-flex; align-items: center; gap: 10px; padding: 12px 18px; border-radius: 14px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .12); color: #fff; font-weight: 600; font-size: .92rem; transition: background-color .3s, transform .5s var(--spring), border-color .3s; word-break: break-all; }
.foot-mail:hover { background: rgba(37, 99, 235, .35); border-color: rgba(147, 197, 253, .6); transform: translateY(-3px); }
.foot-bot { position: relative; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 56px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .1); font-size: .85rem; color: #7F8EB4; font-family: var(--f-body); text-transform: none; letter-spacing: 0; }
@media (max-width: 860px) { .foot-grid { grid-template-columns: 1fr 1fr; } .foot-brand { grid-column: 1 / -1; } }

/* ---- back to top ---- */
#toTop { position: fixed; right: 22px; bottom: 22px; z-index: 150; width: 52px; height: 52px; border: 0; border-radius: 50%; background: var(--surface); color: var(--accent); box-shadow: var(--shadow-2); display: grid; place-items: center; opacity: 0; transform: translateY(20px) scale(.8); pointer-events: none; transition: opacity .4s, transform .6s var(--spring); }
#toTop.show { opacity: 1; transform: none; pointer-events: auto; }
#toTop:hover { transform: translateY(-4px) scale(1.08); }
#toTop svg.r { position: absolute; inset: 0; transform: rotate(-90deg); }
#toTop circle { fill: none; stroke-width: 3; }
#toTop .bg { stroke: var(--line); } #toTop .fg { stroke: var(--accent); stroke-linecap: round; stroke-dasharray: 150.8; stroke-dashoffset: 150.8; }
#toTop .ico { position: relative; width: 20px; height: 20px; transform: rotate(-90deg); }

/* ---- misc recolour ---- */
#progress { background: linear-gradient(90deg, #2563EB, #4F46E5, #EC4899); height: 3px; }
.cell:hover { background: #FEF3C7; border-color: #F59E0B; }
.cell.selected { background: #FDE68A; border-color: #F59E0B; }
@keyframes selPulse { 0% { box-shadow: 0 0 0 0 rgba(245, 158, 11, .7); } 100% { box-shadow: 0 0 0 12px rgba(245, 158, 11, 0); } }
@media print { footer, #toTop, .orbs { display: none !important; } .card, .stat, .step { display: none !important; } }
.fl .dot { display: grid !important; }


/* ===== BIGGER HERO ===== */
.hero { min-height: min(90vh, 880px); padding: clamp(36px, 5vw, 80px) 0 clamp(56px, 7vw, 96px); gap: clamp(32px, 5vw, 80px); grid-template-columns: minmax(0, 1.18fr) minmax(0, 1fr); align-items: center; }
.orbs { height: 900px; inset: -120px -12vw auto; }
.orb.o1 { width: 620px; height: 620px; opacity: .7; } .orb.o2 { width: 520px; height: 520px; opacity: .65; } .orb.o3 { width: 380px; height: 380px; top: 460px; }
.orb.o4 { width: 300px; height: 300px; left: 40%; top: -60px; background: #FBCFE8; opacity: .55; animation-duration: 20s; animation-delay: -9s; }
.hero h1 { font-size: clamp(3rem, min(7.4vw, 10.5vh), 6.6rem); line-height: .98; letter-spacing: -.05em; margin-bottom: 30px; }
.hero p.lede { font-size: clamp(1.1rem, 1.6vw, 1.32rem); max-width: 50ch; margin-bottom: 40px; }
.eyebrow { font-size: .9rem; padding: 10px 18px 10px 14px; margin-bottom: 30px; }
.hero .btn-lg { height: 64px; padding: 0 38px; font-size: 1.08rem; }
.trust { font-size: .95rem; margin-top: 36px; gap: 12px 28px; }
.hero-art { width: min(100%, 580px); }
.hero-card { padding: 28px; border-radius: 34px; box-shadow: 0 2px 6px rgba(15,23,42,.05), 0 60px 110px -40px rgba(37,99,235,.55); }
.hero-art::before { display: block; content: ""; position: absolute; inset: 6% 3%; z-index: 0; border-radius: 40px; background: conic-gradient(from var(--ang, 0deg), #2563EB, #EC4899, #F59E0B, #16A34A, #2563EB); filter: blur(40px); opacity: .42; animation: spin 8s linear infinite; }
.hero-card { z-index: 1; }
@property --ang { syntax: "<angle>"; initial-value: 0deg; inherits: false; }
@keyframes spin { to { --ang: 360deg; } }
.hero-card { position: relative; isolation: isolate; }
.hero-grid { gap: 4px; }
.hc { font-size: clamp(.95rem, 2.1vw, 1.3rem); border-radius: 12px; }
.fl > .in { padding: 14px 20px; font-size: 1rem; border-radius: 20px; }
.fl .dot { width: 44px; height: 44px; border-radius: 14px; } .fl .dot svg { width: 22px; height: 22px; }
.fl.f1 { left: -12%; top: 6%; } .fl.f2 { right: -9%; top: 34%; }
.fl.f3 { left: 2%; bottom: -6%; }
.fl.f4 { right: 4%; top: -7%; --d: 16; --dl: -1s; } .fl.f4 .dot { background: linear-gradient(135deg, #E11D48, #F97316); }
.fl.f5 { right: -6%; bottom: 8%; --d: -12; --dl: -3s; } .fl.f5 .dot { background: linear-gradient(135deg, #0D9488, #0891B2); }
.fl.lt { z-index: 4; }
.fl.lt > .in { width: 62px; height: 62px; padding: 0; justify-content: center; font-size: 1.8rem; font-weight: 800; color: #fff; border: 0; border-radius: 18px; transform: rotate(var(--r, -10deg)); }
.lt1 { left: -4%; bottom: 30%; --r: -14deg; } .lt1 > .in { background: linear-gradient(135deg, #2563EB, #4F46E5); }
.lt2 { right: 22%; top: -11%; --r: 12deg; } .lt2 > .in { background: linear-gradient(135deg, #EC4899, #8B5CF6); animation-delay: -2s; }
.lt3 { left: 22%; top: -9%; --r: 8deg; } .lt3 > .in { background: linear-gradient(135deg, #F59E0B, #F97316); animation-delay: -4s; }
.lt4 { right: -3%; bottom: -3%; --r: -8deg; } .lt4 > .in { background: linear-gradient(135deg, #16A34A, #0D9488); animation-delay: -5s; }
.spark { position: absolute; z-index: 5; width: 22px; height: 22px; background: #F59E0B; clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%); animation: twinkle 3s ease-in-out infinite; pointer-events: none; }
.sp1 { left: 8%; top: 4%; } .sp2 { right: 2%; top: 22%; background: #EC4899; width: 16px; height: 16px; animation-delay: -1s; }
.sp3 { left: -6%; top: 52%; background: #2563EB; width: 14px; height: 14px; animation-delay: -2s; } .sp4 { right: 30%; bottom: -9%; width: 18px; height: 18px; animation-delay: -1.5s; background: #16A34A; }
@keyframes twinkle { 0%, 100% { transform: scale(.4) rotate(0); opacity: .3; } 50% { transform: scale(1.15) rotate(90deg); opacity: 1; } }
@media (max-width: 960px) {
  .hero { grid-template-columns: 1fr; min-height: 0; text-align: left; }
  .hero-art { justify-self: center; margin-top: 36px; width: min(100%, 460px); }
  .fl.f1 { left: -2%; } .fl.f2 { right: -2%; } .fl.f4, .fl.f5, .fl.lt3, .fl.lt2 { display: none; }
}
@media (max-width: 520px) { .fl.f1, .fl.f2, .fl.f3, .fl.lt { display: none; } .hero h1 { font-size: 2.9rem; } .hero .btn-lg { height: 56px; padding: 0 28px; width: 100%; } .cta-row { width: 100%; } }

/* ===== FULL-BLEED GRADIENT HERO ===== */
.hero { padding-bottom: clamp(96px, 11vw, 150px); isolation: auto; }
.hero::before { content: ""; position: absolute; z-index: -2; top: 0; bottom: 0; left: calc(50% - 50vw); right: calc(50% - 50vw); background: linear-gradient(125deg, #0B1B3F 0%, #1E3A8A 38%, #2F49D1 66%, #5B3FD6 100%); background-size: 160% 160%; animation: bgshift 16s ease-in-out infinite alternate; }
@keyframes bgshift { to { background-position: 100% 100%; } }
.orbs { inset: auto; top: 0; bottom: 0; left: calc(50% - 50vw); right: calc(50% - 50vw); height: auto; z-index: -1; overflow: hidden; }
.orb { filter: blur(80px); }
.orb.o1 { background: #3B82F6; opacity: .55; } .orb.o2 { background: #8B5CF6; opacity: .5; } .orb.o3 { background: #F59E0B; opacity: .32; } .orb.o4 { background: #EC4899; opacity: .4; }
:root[data-theme="dark"] .orb { opacity: .4; }
.orbs::after { background-image: radial-gradient(rgba(255, 255, 255, .22) 1px, transparent 1.2px); -webkit-mask-image: radial-gradient(80% 80% at 50% 40%, #000, transparent); mask-image: radial-gradient(80% 80% at 50% 40%, #000, transparent); }
.hero-wave { position: absolute; z-index: 1; bottom: -1px; left: calc(50% - 50vw); width: 100vw; height: clamp(50px, 7vw, 90px); fill: var(--paper); pointer-events: none; }
.hero h1 { color: #fff; text-shadow: 0 6px 30px rgba(8, 15, 50, .35); }
.hero h1 .w.em > span { background: linear-gradient(100deg, #FDE047, #FB923C 50%, #F472B6); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; }
.hero p.lede { color: rgba(255, 255, 255, .84); }
.eyebrow { background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .26); color: #fff; box-shadow: none; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.trust { color: #E3EBFF; }
.trust svg { background: rgba(255, 255, 255, .16); color: #86EFAC; }
.rotator { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: -14px 0 34px; font-size: 1.1rem; font-weight: 600; color: rgba(255, 255, 255, .9); }
.rot { display: inline-block; height: 2.1rem; overflow: hidden; vertical-align: bottom; padding: 0 16px; border-radius: 12px; background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .24); position: relative; min-width: 12ch; }
.rot { width: 17ch; padding: 0; }
.rot b { position: absolute; inset: 0; text-align: center; line-height: 2rem; color: #FDE047; font-weight: 800; white-space: nowrap; }
.hero .btn:not(.btn-light) { background: linear-gradient(135deg, #FDE047, #F59E0B); color: #0B1B3F; box-shadow: 0 16px 34px -12px rgba(245, 158, 11, .8), inset 0 1px 0 rgba(255, 255, 255, .6); animation: ring 2.4s ease-out infinite; }
.hero .btn:not(.btn-light):hover { color: #0B1B3F; animation: none; box-shadow: 0 22px 44px -12px rgba(245, 158, 11, .95); }
@keyframes ring { 0% { box-shadow: 0 16px 34px -12px rgba(245, 158, 11, .8), 0 0 0 0 rgba(253, 224, 71, .55); } 80%, 100% { box-shadow: 0 16px 34px -12px rgba(245, 158, 11, .8), 0 0 0 20px rgba(253, 224, 71, 0); } }
.hero .btn-light { background: rgba(255, 255, 255, .1); color: #fff; border: 1.5px solid rgba(255, 255, 255, .4); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: none; }
.hero .btn-light:hover { background: rgba(255, 255, 255, .22); color: #fff; border-color: #fff; box-shadow: 0 14px 30px -14px rgba(255, 255, 255, .6); }
.hero-art::before { opacity: .7; filter: blur(46px); inset: 2% -2%; }
.hero-card { --tx: 0deg; --ty: 0deg; transform: perspective(1100px) rotateX(var(--tx)) rotateY(var(--ty)); transition: transform .35s var(--ease); }
.hero-art:hover .hero-card { transform: perspective(1100px) rotateX(var(--tx)) rotateY(var(--ty)) translateY(-6px); }
.fl > .in { box-shadow: 0 24px 50px -20px rgba(5, 12, 45, .7); border-color: rgba(255, 255, 255, .6); }
.spark { filter: drop-shadow(0 0 8px currentColor); }
.sp1, .sp4 { background: #FDE047; } .sp3 { background: #93C5FD; }
@media (max-width: 960px) { .hero { padding-bottom: 110px; } }

/* ===== TOOL CARDS — bolder ===== */
.tools-sec { position: relative; padding-bottom: clamp(56px, 8vw, 96px); margin-top: clamp(40px, 6vw, 72px); }
.tools-sec::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: calc(50% - 50vw); right: calc(50% - 50vw); background: radial-gradient(60% 50% at 15% 0%, rgba(59, 130, 246, .14), transparent 70%), radial-gradient(50% 45% at 90% 20%, rgba(236, 72, 153, .1), transparent 70%), radial-gradient(45% 40% at 60% 100%, rgba(245, 158, 11, .12), transparent 70%), var(--paper-2); }
.tools-sec .sec-head h2 { font-size: clamp(2.2rem, 5vw, 3.8rem); }
.filters { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin: -12px 0 40px; }
.fchip { position: relative; display: inline-flex; align-items: center; gap: 8px; height: 46px; padding: 0 22px; border-radius: 999px; border: 1px solid var(--line-2); background: var(--surface); font-weight: 700; font-size: .95rem; color: var(--ink-2); overflow: hidden; isolation: isolate; transition: color .3s, border-color .3s, transform .5s var(--spring), box-shadow .4s; }
.fchip::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--brand); clip-path: circle(0% at 50% 100%); transition: clip-path .6s var(--ease); }
.fchip i { font-style: normal; font-size: .75rem; min-width: 22px; height: 22px; padding: 0 6px; display: inline-grid; place-items: center; border-radius: 999px; background: var(--paper-2); transition: background-color .3s, color .3s; }
.fchip:hover { transform: translateY(-3px); border-color: var(--accent); }
.fchip:active { transform: scale(.94); }
.fchip.active { color: #fff; border-color: transparent; box-shadow: 0 12px 24px -10px rgba(37, 99, 235, .7); }
.fchip.active::before { clip-path: circle(150% at 50% 100%); }
.fchip.active i { background: rgba(255, 255, 255, .25); color: #fff; }
.tool-grid { gap: 26px; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); }
.card { padding: 30px 30px 26px; border-radius: 30px; border: 1.5px solid color-mix(in srgb, var(--tone) 18%, var(--line)); background: linear-gradient(165deg, color-mix(in srgb, var(--tone) 11%, var(--surface)) 0%, var(--surface) 58%); box-shadow: 0 1px 2px rgba(15, 23, 42, .05), 0 20px 40px -26px var(--tone); }
.card:hover { box-shadow: 0 40px 70px -30px var(--tone), 0 0 0 1px color-mix(in srgb, var(--tone) 40%, transparent); background: linear-gradient(165deg, color-mix(in srgb, var(--tone) 17%, var(--surface)) 0%, var(--surface) 62%); }
.card .wm { position: absolute; z-index: -1; right: -34px; bottom: -40px; width: 190px; height: 190px; color: var(--tone); opacity: .1; transform: rotate(-12deg); transition: transform .9s var(--spring), opacity .5s; }
.card .wm .ico { width: 100%; height: 100%; stroke-width: 1.1; }
.card:hover .wm { transform: rotate(6deg) scale(1.2) translate(-8px, -8px); opacity: .2; }
.tile { width: 70px; height: 70px; border-radius: 22px; position: relative; box-shadow: 0 18px 30px -12px var(--tone), inset 0 1px 0 rgba(255, 255, 255, .35); }
.tile::after { content: ""; position: absolute; inset: -6px; border-radius: 28px; border: 2px solid var(--tone); opacity: 0; transform: scale(.85); transition: opacity .4s, transform .6s var(--spring); }
.card:hover .tile::after { opacity: .35; transform: scale(1); animation: halo 1.6s ease-out infinite; }
@keyframes halo { to { transform: scale(1.35); opacity: 0; } }
.tile .ico { width: 34px; height: 34px; }
.card h3 { font-size: 1.55rem; letter-spacing: -.035em; margin-top: 10px; }
.card p { font-size: 1rem; color: var(--ink-2); opacity: .8; }
.tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.tags span { padding: 5px 12px; border-radius: 999px; font-size: .75rem; font-weight: 700; color: color-mix(in srgb, var(--tone) 85%, var(--ink)); background: color-mix(in srgb, var(--tone) 12%, transparent); border: 1px solid color-mix(in srgb, var(--tone) 22%, transparent); transition: transform .4s var(--spring), background-color .3s; }
:root[data-theme="dark"] .tags span { color: color-mix(in srgb, var(--tone) 45%, #fff); }
.card:hover .tags span { transform: translateY(-3px); }
.card:hover .tags span:nth-child(2) { transition-delay: .05s; } .card:hover .tags span:nth-child(3) { transition-delay: .1s; }
.card .more { align-self: flex-start; margin-top: 12px; height: 46px; padding: 0 20px; border-radius: 999px; color: var(--tone); background: color-mix(in srgb, var(--tone) 11%, transparent); position: relative; overflow: hidden; isolation: isolate; transition: color .35s, box-shadow .4s; }
:root[data-theme="dark"] .card .more { filter: none; color: color-mix(in srgb, var(--tone) 50%, #fff); }
.card .more::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(135deg, var(--tone), var(--tone-2)); transform: translateX(-101%); transition: transform .6s var(--ease); }
.card:hover .more { color: #fff; box-shadow: 0 14px 26px -12px var(--tone); }
.card:hover .more::before { transform: none; }
.pop { position: absolute; z-index: 2; top: 16px; right: 70px; padding: 5px 12px; border-radius: 999px; font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #78350F; background: linear-gradient(135deg, #FDE047, #F59E0B); box-shadow: 0 8px 18px -8px #F59E0B; animation: wiggle 3.2s ease-in-out infinite; }
@keyframes wiggle { 0%, 70%, 100% { transform: rotate(0); } 76% { transform: rotate(-7deg); } 84% { transform: rotate(6deg); } 92% { transform: rotate(-3deg); } }
.card.gone { display: none; }
@media (max-width: 520px) { .tool-grid { grid-template-columns: 1fr; } .pop { right: 64px; } }

/* ===== FOOTER — bold ===== */
footer { background: linear-gradient(160deg, #0A1635 0%, #1B2F7E 55%, #3B2FA6 100%); background-size: 140% 140%; animation: bgshift 18s ease-in-out infinite alternate; padding: 150px 0 28px; margin-top: 90px; color: #D5DDF5; }
footer::before { display: none; }
.foot-wave { position: absolute; top: -1px; left: 0; width: 100%; height: clamp(50px, 7vw, 90px); pointer-events: none; z-index: 2; }
.foot-wave path.w1 { fill: var(--paper); }
.foot-wave path.w2 { fill: color-mix(in srgb, var(--paper) 55%, #3B82F6); opacity: .55; animation: waveSlide 9s ease-in-out infinite alternate; }
@keyframes waveSlide { to { transform: translateX(-40px) scaleY(1.2); } }
.fo { position: absolute; border-radius: 50%; filter: blur(70px); pointer-events: none; animation: drift 16s ease-in-out infinite alternate; }
.fo1 { width: 420px; height: 420px; left: -120px; top: 20%; background: #3B82F6; opacity: .35; }
.fo2 { width: 360px; height: 360px; right: -80px; top: 10%; background: #EC4899; opacity: .28; animation-delay: -6s; }
.fo3 { width: 300px; height: 300px; left: 45%; bottom: -120px; background: #F59E0B; opacity: .22; animation-delay: -10s; }
.foot-marquee { position: relative; overflow: hidden; margin-bottom: 56px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.fm-track { display: flex; width: max-content; animation: ticker 55s linear infinite reverse; }
.fm-track span { font-weight: 800; font-size: clamp(3rem, 8vw, 6.5rem); letter-spacing: -.04em; line-height: 1.1; padding: 0 .35em; color: transparent; -webkit-text-stroke: 1.5px rgba(255, 255, 255, .28); transition: color .4s, -webkit-text-stroke-color .4s; white-space: nowrap; }
.fm-track span:hover { color: #FDE047; -webkit-text-stroke-color: #FDE047; }
.fm-track span:nth-child(3n)::after { content: "\2726"; font-size: .4em; color: #F59E0B; -webkit-text-stroke: 0; margin-left: .5em; vertical-align: middle; }
footer .container { position: relative; z-index: 3; }
.foot-cta { display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; padding: clamp(26px, 4vw, 40px); margin-bottom: 64px; border-radius: 30px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .18); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .6); transition: transform .6s var(--spring), border-color .4s; }
.foot-cta:hover { transform: translateY(-5px); border-color: rgba(253, 224, 71, .6); }
.foot-cta h3 { margin: 0 0 6px; color: #fff; font-size: clamp(1.4rem, 3vw, 2.1rem); font-weight: 800; letter-spacing: -.035em; line-height: 1.15; }
.foot-cta p { margin: 0; color: #B8C4EA; }
.foot-cta .btn { background: linear-gradient(135deg, #FDE047, #F59E0B); color: #0B1B3F; box-shadow: 0 16px 34px -12px rgba(245, 158, 11, .8); flex-direction: row-reverse; }
.foot-cta .btn:hover { color: #0B1B3F; }
.foot-brand p, footer li button, footer li a { color: #B8C4EA; }
footer li button, footer li a { display: inline-block; position: relative; }
footer li button::after { content: ""; position: absolute; left: 0; right: 0; bottom: -3px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, #FDE047, #F472B6); transform: scaleX(0); transform-origin: 0 50%; transition: transform .5s var(--ease); }
footer li button:hover::after { transform: scaleX(1); }
.foot h4, footer h4 { color: #fff; display: flex; align-items: center; gap: 10px; }
footer h4::after { content: ""; flex: 0 0 26px; height: 3px; border-radius: 3px; background: linear-gradient(90deg, #FDE047, #F472B6); }
.foot-mega { margin-top: 56px; text-align: center; font-weight: 800; font-size: clamp(2.2rem, 8.4vw, 8.4rem); letter-spacing: -.055em; line-height: .9; white-space: nowrap; user-select: none; color: transparent; background: linear-gradient(180deg, rgba(255, 255, 255, .5), rgba(255, 255, 255, 0) 85%); -webkit-background-clip: text; background-clip: text; }
.foot-mega span { display: inline-block; transition: transform .5s var(--spring), filter .4s; }
.foot-mega span:hover { transform: translateY(-.12em) rotate(-5deg) scale(1.1); background: linear-gradient(135deg, #FDE047, #F472B6); -webkit-background-clip: text; background-clip: text; }
.foot-bot { color: #94A3CF; border-top-color: rgba(255, 255, 255, .14); margin-top: 28px; }
@media (max-width: 640px) { footer { padding-top: 120px; } .foot-cta .btn { width: 100%; } }
@media print { .foot-wave, .fo { display: none !important; } }

/* ===== TOOL PAGES — banner header ===== */
.tool-header { position: relative; isolation: isolate; max-width: none; padding: clamp(44px, 6vw, 84px) 0 clamp(110px, 11vw, 160px); color: #fff; }
.tool-header::before { content: ""; position: absolute; z-index: -2; top: 0; bottom: 0; left: calc(50% - 50vw); right: calc(50% - 50vw); background: radial-gradient(rgba(255, 255, 255, .2) 1px, transparent 1.3px) 0 0 / 26px 26px, linear-gradient(125deg, color-mix(in srgb, var(--tone) 70%, #0B1B3F) 0%, var(--tone) 48%, var(--tone-2) 100%); background-size: 26px 26px, 170% 170%; animation: bgshift 14s ease-in-out infinite alternate; }
.tool-header > :not(.deco):not(.th-wave) { max-width: 880px; }
.crumb { color: rgba(255, 255, 255, .78); }
.crumb button:hover { color: #fff; }
.crumb b { color: #fff; background: rgba(255, 255, 255, .2); padding: 3px 12px; border-radius: 999px; font-weight: 700; }
.tool-badge { position: relative; width: 84px; height: 84px; border-radius: 26px; background: rgba(255, 255, 255, .18); border: 1px solid rgba(255, 255, 255, .45); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: 0 22px 40px -16px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 255, 255, .5); }
.tool-badge::after { content: ""; position: absolute; inset: -8px; border-radius: 32px; border: 2px solid rgba(255, 255, 255, .5); animation: halo 2.6s ease-out infinite; }
.tool-badge .ico { width: 40px; height: 40px; }
.tool-header h1 { color: #fff; font-size: clamp(2.4rem, 5.6vw, 4.6rem); text-shadow: 0 6px 30px rgba(0, 0, 0, .22); }
.tool-header p { color: rgba(255, 255, 255, .9); font-size: 1.18rem; }
.tool-header .acc { background: linear-gradient(100deg, #FFFFFF, #FDE68A); -webkit-background-clip: text; background-clip: text; }
.deco { position: absolute; z-index: -1; top: 0; bottom: 0; left: calc(50% - 50vw); right: calc(50% - 50vw); overflow: hidden; pointer-events: none; }
.deco .big { position: absolute; right: max(3vw, calc(50vw - 560px)); top: 50%; width: clamp(200px, 28vw, 380px); height: clamp(200px, 28vw, 380px); margin-top: -40px; color: #fff; opacity: .16; animation: floatBig 9s ease-in-out infinite; }
.deco .big svg { width: 100%; height: 100%; stroke-width: .9; }
@keyframes floatBig { 0%, 100% { transform: translateY(-50%) rotate(-8deg); } 50% { transform: translateY(-56%) rotate(6deg) scale(1.05); } }
.deco i { position: absolute; border-radius: 50%; background: rgba(255, 255, 255, .13); animation: drift 12s ease-in-out infinite alternate; }
.deco i:nth-child(2) { width: 260px; height: 260px; left: -70px; top: -90px; }
.deco i:nth-child(3) { width: 120px; height: 120px; left: 38%; bottom: 20px; background: rgba(253, 224, 71, .28); animation-delay: -4s; }
.deco i:nth-child(4) { width: 70px; height: 70px; right: 30%; top: 22%; background: rgba(244, 114, 182, .35); animation-delay: -7s; }
.th-wave { position: absolute; z-index: 0; bottom: -1px; left: calc(50% - 50vw); width: 100vw; height: clamp(40px, 5vw, 72px); fill: var(--paper); pointer-events: none; }
.panel, .wotd-container { margin-top: -84px; position: relative; z-index: 2; }
.panel { box-shadow: 0 2px 6px rgba(15, 23, 42, .05), 0 50px 90px -40px var(--tone); }
.output-area { min-height: 300px; padding-top: clamp(44px, 5vw, 60px); }
.output-area::before { content: attr(data-live); position: absolute; top: 14px; left: 16px; display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px 5px 10px; border-radius: 999px; background: var(--surface); border: 1px solid var(--line); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-2); box-shadow: 0 4px 10px -6px rgba(15, 23, 42, .3); }
.output-area::after { content: ""; position: absolute; top: 25px; left: 26px; width: 7px; height: 7px; border-radius: 50%; background: var(--ok); box-shadow: 0 0 0 0 var(--ok); animation: livePing 1.8s ease-out infinite; }
.output-area::before { padding-left: 28px; }
@keyframes livePing { 0% { box-shadow: 0 0 0 0 rgba(22, 163, 74, .6); } 100% { box-shadow: 0 0 0 10px rgba(22, 163, 74, 0); } }
.control select, .control input, .control textarea { background-color: var(--paper); border-width: 1.5px; }
.tool-info { border-top: 0; padding-top: 24px; }
.info-l { padding: clamp(24px, 3vw, 36px); border-radius: 28px; background: linear-gradient(160deg, color-mix(in srgb, var(--tone) 14%, var(--surface)), var(--surface) 70%); border: 1.5px solid color-mix(in srgb, var(--tone) 20%, var(--line)); box-shadow: var(--shadow-1); align-self: start; position: relative; overflow: hidden; }
.info-l::after { content: ""; position: absolute; right: -30px; bottom: -30px; width: 140px; height: 140px; border-radius: 50%; background: color-mix(in srgb, var(--tone) 18%, transparent); }
.info-l h2 { position: relative; } .info-l p { position: relative; }
.faq-item { border: 1.5px solid var(--line); border-radius: 18px; margin-bottom: 12px; background: var(--surface); box-shadow: 0 1px 2px rgba(15, 23, 42, .04); transition: border-color .3s, box-shadow .4s; }
.faq-item:first-of-type { border-top: 1.5px solid var(--line); }
.faq-item:hover { border-color: color-mix(in srgb, var(--tone) 40%, transparent); box-shadow: 0 14px 30px -20px var(--tone); }
.faq-item summary { padding: 18px 20px; } .faq-item p { padding: 0 20px 20px; }
.faq-item.is-open { border-color: var(--tone); }
.faq-item.is-open summary::after { background-color: var(--tone); border-color: var(--tone); }
.faq-item summary:hover { color: var(--tone); }
@media (max-width: 640px) { .deco .big { opacity: .1; } .panel, .wotd-container { margin-top: -64px; } }

/* ===== WORD SEARCH — showpiece ===== */
.ws-paper { position: relative; isolation: isolate; border-radius: 32px; padding: clamp(20px, 3.4vw, 42px); box-shadow: 0 2px 6px rgba(15, 23, 42, .05), 0 40px 70px -34px rgba(5, 150, 105, .55); }
.ws-paper::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: 32px; padding: 3px; background: conic-gradient(from var(--ang, 0deg), #059669, #2563EB, #EC4899, #F59E0B, #059669); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); animation: spin 8s linear infinite; }
.ws-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: clamp(18px, 3vw, 28px); }
.ws-bar .pill { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 16px; border-radius: 999px; background: #F1F8F5; border: 1px solid #D5E9E0; color: #0F2A24; font-size: .85rem; font-weight: 600; }
.ws-bar .pill b { font-weight: 800; font-size: 1rem; font-variant-numeric: tabular-nums; }
.ws-bar .pill svg { width: 18px; height: 18px; color: #059669; }
.ws-bar .hint { margin-inline-start: auto; border: 0; cursor: pointer; color: #fff; background: linear-gradient(135deg, #F59E0B, #F97316); box-shadow: 0 10px 20px -10px #F97316; font-weight: 700; transition: transform .5s var(--spring), box-shadow .3s; }
.ws-bar .hint svg { color: #fff; transition: transform .6s var(--spring); }
.ws-bar .hint:hover { transform: translateY(-3px); box-shadow: 0 16px 26px -10px #F97316; }
.ws-bar .hint:hover svg { transform: rotate(-18deg) scale(1.2); }
.ws-bar .hint:active { transform: scale(.94); }
.ws-bar .hint:disabled { opacity: .45; pointer-events: none; }
.letter-grid { padding: 12px; border-radius: 24px; background: linear-gradient(145deg, #ECFDF5, #EFF6FF 60%, #FDF2F8); border: 1px solid #D5E9E0; box-shadow: inset 0 2px 8px rgba(5, 150, 105, .08); gap: 4px; }
.cell { background: #fff; border: 1px solid #DCE9E2; color: #0F2A24; font-weight: 800; box-shadow: 0 2px 0 rgba(15, 42, 36, .06); }
.cell:hover { background: #D1FAE5; border-color: #34D399; box-shadow: 0 12px 20px -10px rgba(5, 150, 105, .7); transform: translateY(-3px) scale(1.14); }
.cell.found { --wc: #059669; background: color-mix(in srgb, var(--wc) 20%, #fff); border-color: var(--wc); color: color-mix(in srgb, var(--wc) 65%, #000); box-shadow: inset 0 0 0 1px var(--wc), 0 6px 12px -8px var(--wc); }
.cell.hint { animation: hintPulse 1.1s ease-in-out 3; background: #FDE68A; border-color: #F59E0B; z-index: 3; }
@keyframes hintPulse { 0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(245, 158, 11, .7); } 50% { transform: scale(1.25); box-shadow: 0 0 0 12px rgba(245, 158, 11, 0); } }
@keyframes cellPop { 0% { transform: scale(1); } 40% { transform: scale(1.4) rotate(-8deg); background: #FDE68A; } 100% { transform: scale(1); } }
.wl-h, .word-panel h3 { font-size: 1.7rem; }
.wl-bar { height: 8px; border-radius: 8px; background: #E4EFE9; margin-bottom: 16px; }
.wl-bar i { background: linear-gradient(90deg, #059669, #2563EB, #EC4899); border-radius: 8px; }
.word-list { display: flex; flex-wrap: wrap; gap: 9px; }
.word-list li { --wc: #059669; padding: 8px 14px; border: 1.5px dashed #BFD6CB; border-radius: 999px; font-size: .82rem; letter-spacing: .1em; color: #31504A; background: #fff; transition: transform .4s var(--spring), background-color .4s, color .4s, border-color .4s; }
.word-list li:hover { transform: translateY(-2px) rotate(-1.5deg); border-color: #059669; }
.word-list li::after { display: none; }
.word-list li.found { color: #fff; background: var(--wc); border: 1.5px solid var(--wc); opacity: 1; text-decoration: line-through; text-decoration-thickness: 2px; box-shadow: 0 8px 16px -8px var(--wc); }
.word-list li.found::before { content: "\2713  "; font-weight: 800; }
.word-list li[data-fresh] { animation: pillPop .8s var(--spring); }
@keyframes pillPop { 0% { transform: scale(.7); } 50% { transform: scale(1.18) rotate(-3deg); } 100% { transform: none; } }
@media print { .ws-bar { display: none !important; } .ws-paper::before { display: none !important; } .letter-grid { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; } .word-list { display: block; column-count: 3; } .word-list li { border: 0 !important; background: none !important; color: #000 !important; padding: 4px 0; text-decoration: none !important; box-shadow: none !important; } .word-list li.found::before { content: none; } }

/* ===== MEMORY MATCH — showpiece ===== */
.mem-paper { position: relative; isolation: isolate; width: 100%; max-width: 680px; padding: clamp(18px, 3.4vw, 40px); border-radius: 32px; background: radial-gradient(120% 90% at 50% 0%, #F0FDFA, #FFFEFB 60%); box-shadow: 0 2px 6px rgba(15, 23, 42, .05), 0 40px 70px -34px rgba(13, 148, 136, .6); color: #0F2A2A; }
.mem-paper::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: 32px; padding: 3px; background: conic-gradient(from var(--ang, 0deg), #0D9488, #2563EB, #EC4899, #F59E0B, #0D9488); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); animation: spin 8s linear infinite; }
.mem-stats { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-bottom: 14px; }
.mem-stats .ms { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 10px 6px; border-radius: 16px; background: #fff; border: 1px solid #D5ECE8; box-shadow: 0 2px 0 rgba(13, 148, 136, .08); text-align: center; letter-spacing: 0; }
.mem-stats .ms em { font-style: normal; font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #5B7A78; }
.mem-stats .ms b { margin: 0; min-width: 0; font-family: var(--f-display); font-weight: 800; font-size: 1.45rem; line-height: 1.1; color: #0F2A2A; font-variant-numeric: tabular-nums; }
.mem-stats .ms u { text-decoration: none; font-size: .8rem; font-weight: 700; color: #5B7A78; margin-top: -2px; }
.mem-stats .ms:nth-child(2) { flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: baseline; column-gap: 3px; } .mem-stats .ms:nth-child(2) em { flex-basis: 100%; }
.mem-stats .hot b { background: linear-gradient(135deg, #F59E0B, #EF4444); -webkit-background-clip: text; background-clip: text; color: transparent; }
.mem-stats .hot.on { animation: streakFlash .7s var(--spring); border-color: #F59E0B; box-shadow: 0 10px 20px -10px #F59E0B; }
@keyframes streakFlash { 40% { transform: scale(1.14) rotate(-3deg); } }
.mem-prog { height: 8px; border-radius: 8px; background: #DDEFEC; margin-bottom: 20px; overflow: hidden; }
.mem-prog i { display: block; height: 100%; width: 0; border-radius: 8px; background: linear-gradient(90deg, #0D9488, #2563EB, #EC4899); transition: width .8s var(--ease); }
.memory-grid { max-width: 560px; gap: clamp(10px, 1.8vw, 16px); }
.memory-card { transition: transform .5s var(--spring), filter .3s; }
.memory-card:not(.flipped):hover { transform: translateY(-6px) rotate(-2deg) scale(1.04); filter: drop-shadow(0 16px 14px rgba(13, 148, 136, .35)); }
.memory-card.flipped { z-index: 2; }
.memory-card-front { background: linear-gradient(145deg, #0D9488 0%, #0891B2 50%, #2563EB 100%); box-shadow: 0 12px 22px -12px #0D9488, inset 0 1px 0 rgba(255, 255, 255, .4); border-radius: 18px; }
.memory-card-front::before { inset: 8px; border: 1.5px solid rgba(255, 255, 255, .45); border-radius: 12px; background: radial-gradient(rgba(255, 255, 255, .3) 1.2px, transparent 1.5px) 0 0 / 12px 12px; }
.memory-card-front::after { content: ""; position: absolute; top: 0; bottom: 0; left: -70%; width: 45%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .4), transparent); transform: skewX(-20deg); animation: cardShine 4.5s ease-in-out infinite; animation-delay: calc(var(--k, 0) * 140ms); }
@keyframes cardShine { 0%, 60% { left: -70%; } 100% { left: 140%; } }
.memory-card-front i { width: 28%; background: #FDE68A; border-radius: 6px; box-shadow: 0 0 18px rgba(253, 230, 138, .8); animation: diamondPulse 2.6s ease-in-out infinite; }
@keyframes diamondPulse { 50% { transform: rotate(45deg) scale(1.2); } }
.memory-card-back { --wc: #0D9488; border-radius: 18px; border: 2px solid #D5ECE8; background: #fff; font-size: clamp(2rem, 7vw, 3.6rem); }
.memory-card.matched .memory-card-back { background: color-mix(in srgb, var(--wc) 16%, #fff); border-color: var(--wc); box-shadow: 0 0 0 4px color-mix(in srgb, var(--wc) 30%, transparent), 0 16px 26px -12px var(--wc); animation: matchGlow 1.8s ease-in-out infinite alternate; }
@keyframes matchGlow { to { box-shadow: 0 0 0 7px color-mix(in srgb, var(--wc) 14%, transparent), 0 20px 30px -12px var(--wc); } }
.memory-card.miss .memory-card-back { border-color: #E11D48; background: #FFF1F2; animation: shake .5s var(--ease); }
.mem-spark { position: fixed; z-index: 500; width: 9px; height: 9px; border-radius: 50%; pointer-events: none; }
@media (max-width: 560px) { .mem-stats { grid-template-columns: repeat(3, 1fr); } .mem-stats .ms:nth-child(n+4) { display: none; } }
@media print { .mem-paper { box-shadow: none !important; padding: 0 !important; background: none !important; max-width: none !important; } .mem-paper::before, .mem-prog { display: none !important; } }

/* ===== WORKSHEET PAGES (math, times tables, missing letters, scramble) ===== */
.worksheet::before { background: linear-gradient(90deg, var(--tone), var(--tone-2), var(--sun)); }
.worksheet { border-radius: 24px; }
.worksheet h2 { background: linear-gradient(135deg, #0F172A 30%, var(--tone)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.questions { gap: 10px 18px; }
.question { padding: 12px 16px; border: 1.5px solid #E3EBF7; border-radius: 16px; background: #F8FBFF; box-shadow: 0 2px 0 rgba(15, 23, 42, .04); transition: transform .5s var(--spring), border-color .3s, background-color .3s, box-shadow .4s; }
.question:hover { padding-inline-start: 16px; transform: translateY(-3px) rotate(-.4deg); background: #fff; border-color: color-mix(in srgb, var(--tone) 50%, #fff); box-shadow: 0 14px 22px -16px var(--tone); }
.question.filled { border-color: color-mix(in srgb, var(--tone) 55%, #fff); background: color-mix(in srgb, var(--tone) 6%, #fff); }
.question:has(.correct) { border-color: #16A34A; background: #F0FDF4; }
.question:has(.wrong) { border-color: #E11D48; background: #FFF1F2; }
.play-input { border-radius: 10px; border-bottom: 2px solid #CBD5E1; background: #fff; }
.play-input:focus { border-bottom-color: var(--tone); box-shadow: 0 10px 14px -12px var(--tone); background: #fff; }
.sh-bar { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: -12px 0 14px; }
.sh-bar .pill { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border-radius: 999px; background: color-mix(in srgb, var(--tone) 8%, #fff); border: 1px solid color-mix(in srgb, var(--tone) 22%, #fff); color: #1E293B; font-size: .82rem; font-weight: 600; font-family: var(--f-body); }
.sh-bar .pill b { font-weight: 800; font-size: .98rem; font-variant-numeric: tabular-nums; color: #0F172A; }
.sh-bar .pill svg { width: 17px; height: 17px; color: var(--tone); }
.sh-bar .pill.ok { background: #F0FDF4; border-color: #86EFAC; animation: pulseOk .6s var(--ease); }
.sh-prog { height: 8px; border-radius: 8px; background: #E8EEF8; margin-bottom: 26px; overflow: hidden; }
.sh-prog i { display: block; height: 100%; width: 0; border-radius: 8px; background: linear-gradient(90deg, var(--tone), var(--tone-2), var(--sun)); transition: width .7s var(--ease); }
.question b i { display: inline-grid; place-items: center; width: 32px; height: 36px; margin: 0 2px; border-radius: 10px; font-style: normal; font-weight: 800; font-size: 1.05rem; letter-spacing: 0; color: #fff; background: linear-gradient(135deg, var(--tone), var(--tone-2)); box-shadow: 0 8px 14px -8px var(--tone); transition: transform .5s var(--spring); }
.question:hover b i { transform: translateY(-3px) rotate(calc((var(--r, 0) - 2) * 3deg)); }
.question b i:nth-child(odd) { --r: 1; } .question b i:nth-child(3n) { --r: 4; }

/* ===== MAZE ===== */
.mz-bar { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 0 18px; }
.mz-bar .pill { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border-radius: 999px; background: color-mix(in srgb, var(--tone) 8%, #fff); border: 1px solid color-mix(in srgb, var(--tone) 22%, #fff); color: #1E293B; font-size: .82rem; font-weight: 600; font-family: var(--f-body); }
.mz-bar .pill b { font-weight: 800; font-size: .98rem; font-variant-numeric: tabular-nums; color: #0F172A; }
.mz-bar .pill svg { width: 17px; height: 17px; color: var(--tone); }
#maze-svg { border-radius: 18px; box-shadow: 0 0 0 3px color-mix(in srgb, var(--tone) 30%, #fff), 0 24px 40px -24px var(--tone); }
#mz-player { transition: transform .16s var(--ease); }
#mz-player .core { fill: var(--tone); stroke: #fff; stroke-width: 2; filter: drop-shadow(0 3px 4px rgba(0, 0, 0, .35)); }
#mz-player .halo { fill: var(--tone); opacity: .3; transform-origin: center; transform-box: fill-box; animation: playerPing 1.4s ease-out infinite; }
@keyframes playerPing { to { transform: scale(2.4); opacity: 0; } }
#mz-trail { fill: none; stroke: var(--tone); stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; opacity: .35; }
.mz-flag { animation: flagBob 1.3s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
@keyframes flagBob { 50% { transform: scale(1.18); } }
.mz-hint { margin: 14px 0 0; text-align: center; font-size: .86rem; color: #64748B; font-weight: 500; }
.mz-hint kbd { display: inline-block; min-width: 24px; padding: 2px 7px; border-radius: 7px; border: 1px solid #CBD5E1; border-bottom-width: 2px; background: #fff; font-family: var(--f-body); font-size: .78rem; font-weight: 700; color: #334155; }
.mz-pad { display: grid; grid-template-columns: repeat(3, 52px); grid-template-rows: repeat(2, 52px); gap: 8px; justify-content: center; margin-top: 16px; }
.mz-pad button { border: 0; border-radius: 16px; background: linear-gradient(135deg, var(--tone), var(--tone-2)); color: #fff; font-size: 1.2rem; font-weight: 800; box-shadow: 0 10px 18px -10px var(--tone); transition: transform .4s var(--spring); }
.mz-pad button:active { transform: scale(.88); }
.wm-grid { display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); max-width: calc(var(--n) * 50px); margin: 6px auto 0; border: 2px solid #111; background: #fff; }
.wm-c { aspect-ratio: 1; min-width: 0; padding: 0; border: 1px solid #94a3b8; border-radius: 0; background: #fff; color: #111; font-weight: 800; font-size: 1.15rem; line-height: 1; cursor: pointer; transition: background .15s; }
.wm-c.wm-s { background: #cfe6d6; } .wm-c.wm-e { background: #f6d3c8; }
.wm-c.wm-v { background: #dbeafe; } .wm-c.wm-sol { background: #bbf7d0; } .wm-c.wm-cur { outline: 3px solid #2563EB; outline-offset: -3px; }
.wm-c.wm-bad { animation: shake .4s var(--ease); background: #fecdd3; }
@media (max-width: 560px) { .wm-grid { margin-inline: -18px; } .wm-c { font-size: 1.05rem; } }
@media print { .wm-c, .wm-c.wm-v, .wm-c.wm-cur { border: 1px solid #000; background: #fff !important; outline: 0; } .wm-c.wm-s { background: #cfe6d6 !important; } .wm-c.wm-e { background: #f6d3c8 !important; } }
.mz-pad .u { grid-column: 2; grid-row: 1; } .mz-pad .l { grid-column: 1; grid-row: 2; } .mz-pad .d { grid-column: 2; grid-row: 2; } .mz-pad .r { grid-column: 3; grid-row: 2; }

/* ===== DOT-TO-DOT ===== */
.dt-bar { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 0 8px; }
.dt-bar .pill { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border-radius: 999px; background: color-mix(in srgb, var(--tone) 8%, #fff); border: 1px solid color-mix(in srgb, var(--tone) 22%, #fff); color: #1E293B; font-size: .82rem; font-weight: 600; font-family: var(--f-body); }
.dt-bar .pill b { font-weight: 800; font-size: .98rem; font-variant-numeric: tabular-nums; color: #0F172A; }
#dot-svg { border-radius: 18px; }
#dot-svg circle.dt-next { stroke: #F59E0B; stroke-width: 3; animation: dtNext 1s ease-in-out infinite; }
@keyframes dtNext { 0%, 100% { stroke-opacity: 1; stroke-width: 3; } 50% { stroke-opacity: .2; stroke-width: 11; } }
#dot-svg circle.dt-wrong { animation: shake .4s var(--ease); fill: #E11D48; }
#dot-path { filter: drop-shadow(0 4px 5px rgba(8, 145, 178, .35)); transition: fill-opacity .9s var(--ease); }

/* ===== WORD OF THE DAY extras ===== */
.wotd-next { display: inline-flex; align-items: center; gap: 10px; margin-top: 40px; height: 52px; padding: 0 26px; border-radius: 999px; border: 0; font-weight: 800; font-size: .95rem; color: #0B1B3F; background: linear-gradient(135deg, #FDE047, #F59E0B); box-shadow: 0 16px 30px -12px rgba(245, 158, 11, .8); transition: transform .5s var(--spring), box-shadow .3s; }
.wotd-next:hover { transform: translateY(-4px) rotate(-1.5deg); box-shadow: 0 22px 36px -12px rgba(245, 158, 11, .95); }
.wotd-next:active { transform: scale(.94); }

@media print { .sh-bar, .sh-prog, .mz-bar, .mz-pad, .mz-hint, #mz-player, #mz-trail, .dt-bar, .wotd-next { display: none !important; } .question { border: 0 !important; border-bottom: 1px solid #ddd !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; transform: none !important; } .question b i { background: none !important; color: #000 !important; border: 1px solid #000; box-shadow: none !important; } .worksheet h2 { color: #000 !important; background: none !important; -webkit-text-fill-color: #000; } #maze-svg, #dot-svg { box-shadow: none !important; } }
@media (max-width: 640px) { .question { padding: 10px 12px; } }
#maze-svg, #dot-svg { margin-inline: auto; }

/* ===== small-screen header fixes ===== */
.theme-btn { flex: none; width: 40px; }
.chip { flex: none; }
@media (max-width: 640px) {
  .header-inner { gap: 8px; }
  .logo { font-size: 1.1rem; gap: 9px; } .logo-mark { width: 30px; height: 30px; padding: 5px; }
  #cmdkBtn { width: 40px; padding: 0; justify-content: center; } #cmdkBtn .cmdk-label, #cmdkBtn kbd { display: none; }
  .lang-select { max-width: 96px; padding: 0 26px 0 12px; font-size: .8rem; background-position: right 10px center; }
  .main-nav { max-width: calc(100vw - 32px); }
}
@media (max-width: 380px) { .logo-text { display: none; } .lang-select { max-width: 110px; } }
@media (max-width: 1120px) { .main-nav button { padding: 0 11px; font-size: .84rem; } }

/* =====================================================================
   RESPONSIVE HARDENING — from 280px foldables to 4K desktops
   ===================================================================== */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { font-size: 1rem; }
h1, h2, h3, h4, p, li, summary, label, .btn, .card, .step, .stat { overflow-wrap: break-word; }
.hero > *, .tool-info > *, .search-layout > *, .controls > *, .foot-grid > *, .sitemap > *, .stats > *, .tool-grid > *, .steps > * { min-width: 0; }
img, svg, video, canvas { max-width: 100%; }

/* safe areas (notches, rounded corners, home indicators) */
.container { padding-inline: env(safe-area-inset-left) env(safe-area-inset-right); box-sizing: content-box; }
.site-header { padding-top: env(safe-area-inset-top); }
#toasts { bottom: max(28px, calc(env(safe-area-inset-bottom) + 14px)); }
#toTop { right: max(22px, calc(env(safe-area-inset-right) + 14px)); bottom: max(22px, calc(env(safe-area-inset-bottom) + 14px)); }
footer { padding-bottom: max(28px, env(safe-area-inset-bottom)); }

/* ---------- big screens: let the layout and type grow ---------- */
@media (min-width: 1700px) { html { font-size: 17px; } :root { --wrap: min(1380px, calc(100% - 96px)); } .hero-art { width: min(100%, 640px); } }
@media (min-width: 2200px) { html { font-size: 20px; } :root { --wrap: min(1640px, calc(100% - 160px)); } .hero-art { width: min(100%, 720px); } .tool-grid { grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)); } }
@media (min-width: 3000px) { html { font-size: 24px; } :root { --wrap: min(1900px, calc(100% - 240px)); } }

/* ---------- laptops / small desktops ---------- */
@media (max-width: 1180px) { .hero { gap: 32px; } .hero-art { width: min(100%, 440px); } .fl.f1 { left: -6%; } .fl.f2 { right: -5%; } .fl.f4 { right: 0; } }

/* ---------- tablets ---------- */
@media (max-width: 960px) {
  .hero { grid-template-columns: minmax(0, 1fr); }
  .hero h1 { font-size: clamp(2.8rem, 9vw, 5rem); }
  .index-head, .sec-head { text-align: center; }
  .tool-header > :not(.deco):not(.th-wave) { max-width: 100%; }
  .deco .big { opacity: .12; }
}
@media (max-width: 900px) {
  .search-layout { grid-template-columns: minmax(0, 1fr); }
  .word-panel { max-width: 560px; margin-inline: auto; width: 100%; }
}
/* word-search tiles size themselves from the width of their own card */
.ws-paper { container-type: inline-size; }
.letter-grid { --cs: clamp(14px, calc((100vw - 130px) / var(--n, 10)), 40px); }
@supports (width: 1cqw) {
  .letter-grid { --cs: clamp(14px, calc((100cqw - 24px - (var(--n, 10) - 1) * 4px) / var(--n, 10)), 42px); }
  @media (min-width: 901px) { .letter-grid { --cs: clamp(14px, calc((62cqw - 24px - (var(--n, 10) - 1) * 4px) / var(--n, 10)), 42px); } }
}

/* ---------- phones ---------- */
@media (max-width: 640px) {
  :root { --wrap: calc(100% - 36px); --r-lg: 22px; }
  .panel { padding: 20px 16px; border-radius: 24px; margin-bottom: 48px; }
  .output-area { padding: 44px 10px 14px; border-radius: 16px; }
  .worksheet { padding: 22px 14px; }
  .ws-paper { padding: 16px 12px; border-radius: 22px; }
  .mem-paper { padding: 16px 12px; border-radius: 22px; }
  .letter-grid { padding: 8px; gap: 3px; border-radius: 16px; }
  .tool-header { padding-bottom: 96px; }
  .tool-badge { width: 68px; height: 68px; border-radius: 20px; }
  .tool-header p { font-size: 1.02rem; }
  .actions { gap: 10px; }
  .actions .btn { flex: 1 1 calc(50% - 10px); min-width: 0; padding: 0 16px; }
  .actions .switch { flex-basis: 100%; }
  .mode-switch { display: flex; width: 100%; } .mode-btn { flex: 1; justify-content: center; padding: 0 10px; }
  .band { border-radius: 26px; }
  .foot-cta { padding: 22px 18px; border-radius: 24px; }
  .foot-grid { gap: 30px 20px; }
  .tool-info { gap: 28px; }
  .faq-item summary { padding: 16px 14px; } .faq-item p { padding: 0 14px 16px; }
  .info-l { padding: 22px 18px; }
  .legal h2 { margin-top: 32px; }
  .mail-card { padding: 22px 18px; }
  .mz-pad { grid-template-columns: repeat(3, 58px); grid-template-rows: repeat(2, 58px); }
  .wotd-container { padding-inline: 18px; border-radius: 26px; }
  .stats { gap: 12px; } .stat { padding: 20px 12px; }
  .card { padding: 24px 22px 22px; }
  .step { padding: 24px 20px; }
  .cmdk { padding: 10vh 12px 12px; }
  .sh-bar, .mz-bar, .ws-bar { gap: 8px; } .sh-bar .pill, .mz-bar .pill, .dt-bar .pill, .ws-bar .pill { height: 38px; padding: 0 12px; font-size: .78rem; }
  .mem-stats { gap: 8px; } .mem-stats .ms b { font-size: 1.2rem; }
}
@media (max-width: 420px) {
  :root { --wrap: calc(100% - 28px); }
  .hero { padding-top: 28px; }
  .hero h1 { font-size: clamp(2.3rem, 12vw, 3rem); letter-spacing: -.04em; }
  .hero p.lede { font-size: 1rem; }
  .eyebrow { font-size: .74rem; padding: 8px 12px 8px 10px; gap: 8px; max-width: 100%; margin-bottom: 20px; } .eyebrow > span:last-child { min-width: 0; }
  .cta-row { width: 100%; } .cta-row .btn { width: 100%; }
  .btn-lg, .hero .btn-lg { height: 54px; padding: 0 22px; font-size: 1rem; }
  .trust { gap: 8px 16px; font-size: .82rem; }
  .rotator { font-size: .95rem; margin-bottom: 26px; } .rot { width: 15ch; }
  .sec-head h2 { font-size: clamp(1.8rem, 8.5vw, 2.4rem); }
  .tool-header h1 { font-size: clamp(2rem, 9.5vw, 2.8rem); }
  .actions .btn { flex-basis: 100%; }
  .foot-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .foot-cta .btn { padding: 0 18px; font-size: .92rem; word-break: break-all; }
  .band h2 { font-size: clamp(1.7rem, 8vw, 2.3rem); }
  .mail-card .addr { font-size: clamp(1.25rem, 6.4vw, 1.8rem); }
  .lang-select { max-width: 104px; }
  .fchip { height: 42px; padding: 0 16px; }
  .question { padding: 10px; } .play-input { width: 64px; }
  .scr-q .play-input { width: 100px; }
}
@media (max-width: 340px) {
  .header-inner { gap: 6px; } .lang-select { max-width: 92px; padding-left: 8px; }
  .logo-mark { width: 28px; height: 28px; }
  .hero h1 { font-size: 2.1rem; }
  .foot-grid { grid-template-columns: minmax(0, 1fr); }
  .tool-badge { width: 60px; height: 60px; }
}

/* ---------- short landscape phones & split-screen windows ---------- */
@media (max-height: 520px) {
  .site-header { position: relative; }
  .hero { min-height: 0; padding-block: 28px 70px; }
  .hero h1 { font-size: clamp(2rem, 7vw, 3.4rem); margin-bottom: 14px; }
  .hero p.lede { margin-bottom: 18px; } .rotator { margin: 0 0 16px; }
  .tool-header { padding-top: 24px; }
  .cmdk { padding-top: 4vh; } #cmdkList { max-height: 40vh; }
  .wotd-container { padding-block: 32px; }
}
@supports (min-height: 1dvh) { .hero { min-height: min(90dvh, 880px); } @media (max-height: 520px) { .hero { min-height: 0; } } }

/* ---------- touch devices: finger-sized controls, no sticky hover ---------- */
@media (pointer: coarse) {
  .btn, .chip, .lang-select, .control select, .control input, .mode-btn, .fchip { min-height: 46px; }
  .main-nav button { height: 40px; padding-inline: 14px; }
  .crumb button { padding: 10px 6px; margin: -10px -6px; }
  footer li button, footer li a { padding: 10px 0; min-height: 44px; display: inline-flex; align-items: center; }
  .foot-bot button, footer .links button { min-height: 44px; }
  .faq-item summary { min-height: 56px; }
  .play-input { height: 46px; font-size: 1.05rem; }
  .switch { padding: 10px 4px; }
  .cell { min-width: 20px; }
  .hc { transform: none !important; }
  .main-nav { padding: 3px; }
  input, select, textarea { font-size: max(16px, 1rem); }  /* stops iOS zoom-on-focus */
}
@media (hover: none) {
  .card:hover, .stat:hover, .step:hover, .question:hover, .worksheet:hover, .foot-cta:hover, .mail-card:hover { transform: none; }
  .card:hover { box-shadow: var(--shadow-1); }
  .memory-card:not(.flipped):hover { transform: none; filter: none; }
  .cell:hover { transform: none; box-shadow: none; }
  .btn:hover::before { clip-path: circle(0 at 50% 50%); }
}

/* ---------- very wide + short (ultrawide monitors) ---------- */
@media (min-width: 2000px) and (max-height: 900px) { .hero { min-height: 0; } }

/* ---------- forced colours / high zoom friendliness ---------- */
@media (forced-colors: active) { .btn, .chip, .fchip, .card, .panel { border: 1px solid CanvasText; } }

/* ===== responsive hardening, round 2 ===== */
@supports (overflow: clip) { html, body { overflow-x: clip; } }
.hero-grid { grid-template-columns: repeat(9, minmax(0, 1fr)); }
.hc { min-width: 0; overflow: hidden; font-size: clamp(.58rem, 3.6vw, 1.3rem); }
@media (min-width: 640px) { .hc { font-size: clamp(.95rem, 2.1vw, 1.3rem); } }
.hero-art, .hero-card { max-width: 100%; min-width: 0; }
@media (max-width: 420px) { .hero-card { padding: 14px; border-radius: 24px; } .hero-grid { gap: 2px; } .hero-cap { margin-top: 12px; padding-top: 12px; font-size: .68rem; } .hero-art { width: 100%; } }
.question { flex-wrap: wrap; }
footer li button, footer li a { padding-block: 6px; }
.crumb button { padding: 8px 4px; margin: -8px -4px; }
.sh-bar .pill, .mz-bar .pill, .dt-bar .pill, .ws-bar .pill { min-height: 40px; }

.pm-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;width:100%;max-width:600px;margin:0 auto}.pm-col,.pk-pm>div{display:grid;gap:22px}
.pm-b{min-height:96px;border:2px solid var(--line);border-radius:18px;background:var(--surface);font:700 1.45rem inherit;font-family:inherit;color:var(--ink);cursor:pointer;transition:transform .25s var(--spring),box-shadow .25s}.pm-e{font-size:3.7rem;line-height:1;min-height:124px;background:var(--pc,var(--surface));border-color:transparent;box-shadow:0 10px 20px -12px rgba(15,23,42,.45)}.pm-e:hover{transform:translateY(-3px) scale(1.04)}.pm-b:not(.pm-e):hover{transform:translateY(-2px)}
.pm-b.sel{border-color:var(--tone);box-shadow:0 0 0 3px color-mix(in srgb,var(--tone) 30%,transparent)}.pm-b.ok{cursor:default;color:#111}.pm-note{text-align:center;margin-top:14px;opacity:.75}
.col-svg{display:block;width:min(100%,460px);margin:0 auto;background:#fff;border-radius:18px}.col-svg .r{cursor:pointer}.col-pal{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:14px}
.col-sw{width:38px;height:38px;border-radius:50%;border:2px solid var(--line);cursor:pointer}.col-sw.on{outline:3px solid var(--tone);outline-offset:2px}
.qz-q{margin:0 0 18px}.qz-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin-top:8px}
.qz-o{min-height:44px;padding:8px 14px;text-align:left;border:2px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:600 1rem inherit;font-family:inherit;cursor:pointer}
.qz-o.sel{border-color:var(--tone)}.qz-o.right{background:#dcfce7;border-color:#16a34a;color:#14532d}.qz-o.wrong{background:#fee2e2;border-color:#dc2626;color:#7f1d1d}.qz-score{font-size:1.3rem}
.jg-board{display:grid;gap:3px;width:min(100%,480px);aspect-ratio:1;margin:0 auto;background:var(--line);padding:3px;border-radius:14px}.jg-t{border:0;padding:0;background-repeat:no-repeat;cursor:pointer;border-radius:4px}.jg-t.sel{outline:4px solid var(--tone);outline-offset:-4px}
.pk-controls{display:flex;flex-wrap:wrap;gap:12px 22px}.pk-l{display:flex;gap:8px;align-items:center;font-weight:600}
.pk-page{background:#fff;color:#111;border-radius:14px;padding:26px;margin:0 auto 18px;max-width:780px;break-after:page}.pk-h{display:flex;justify-content:space-between;flex-wrap:wrap;border-bottom:2px solid #111;margin-bottom:14px}.pk-2{columns:2;line-height:2.1}
.pk-ws{display:grid;max-width:380px;margin:12px 0;font:700 1.1rem monospace;text-align:center}.pk-ws .k{background:#fde68a}.pk-mz{width:min(100%,420px);display:block;margin:auto}.pk-b{border:1.5px solid #111;border-radius:10px;padding:10px;text-align:center;font-size:1.3rem;margin-bottom:8px}
@media print{.pm-b,.qz-o{border:1.5px solid #000;background:#fff!important}.pk-page{border-radius:0;padding:0;margin:0}.col-pal{display:none}}
.dp-paper{width:100%;max-width:900px;margin:0 auto;border:2px solid var(--line-2);border-radius:14px;background:#fff;overflow:hidden;touch-action:none;line-height:0}
.dp-paper[data-bg=grid]{background-image:linear-gradient(#cbd5e1 1px,transparent 1px),linear-gradient(90deg,#cbd5e1 1px,transparent 1px);background-size:30px 30px}.dp-paper[data-bg=lines]{background-image:linear-gradient(#bfdbfe 1px,transparent 1px);background-size:100% 36px}
#dp-cv{width:100%;height:auto;aspect-ratio:3/2;display:block;touch-action:none;cursor:crosshair}
.dp-er{min-height:38px;padding:0 16px;border-radius:999px;border:2px solid var(--line);background:var(--surface);color:var(--ink);font:700 .9rem inherit;font-family:inherit;cursor:pointer}.dp-er.on{border-color:var(--tone);outline:3px solid var(--tone);outline-offset:2px}
.sk-sheet{background:#fff;color:#111;border-radius:16px;padding:22px;max-width:860px;margin:0 auto}.sk-sheet h2{margin:0 0 14px;text-align:center;color:#111}.sk-sheet .pm-note{color:#333}
.sk-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.sk-fig{margin:0;border:1.5px solid #d1d5db;border-radius:12px;padding:10px;break-inside:avoid}.sk-fig figcaption{font-size:.92rem;margin-top:6px;color:#111;line-height:1.4}
.sk-svg{display:block;width:100%;height:auto;background:#fff}.sk-big{max-width:520px;margin:0 auto}.sk-name{text-align:center;margin-top:14px;color:#111}
@media print{.dp-paper{border:1.5px solid #000}.sk-sheet{padding:0;border-radius:0}.sk-steps{grid-template-columns:1fr 1fr}#dp-pal{display:none}}
.dot-next{fill:#F97316;animation:dotPulse 1s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes dotPulse{50%{transform:scale(1.7)}}@media (prefers-reduced-motion:reduce){.dot-next{animation:none}}
#dot-fill{transition:fill-opacity .9s}.dot-ans{margin:14px auto 0;max-width:170px;text-align:center;color:#333}.dot-ans svg{width:100%;height:auto;display:block}.dot-name{text-align:center;color:#333;margin:12px 0 0}
.bg-caller{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:16px}.bg-now{font:800 2rem inherit;font-family:inherit;min-width:4ch;padding:4px 18px;border:3px solid var(--tone);border-radius:14px;background:var(--surface);color:var(--ink)}.bg-hist{flex-basis:100%;margin:0;font-size:.9rem;opacity:.8}
.bg-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.bg-card{break-inside:avoid;background:#fff;color:#111;border:2px solid #111;border-radius:12px;padding:10px}.bg-title{text-align:center;font:900 1.5rem inherit;letter-spacing:.3em;margin-bottom:6px;color:#111}
.bg-grid{display:grid;gap:0;border:2px solid #111}.bg-c{aspect-ratio:1;border:1px solid #111;display:grid;place-items:center;text-align:center;font-weight:700;font-size:.9rem;line-height:1.1;padding:2px;word-break:break-word;cursor:pointer;user-select:none}.bg-c.on{background:#fde68a}.bg-free{background:#e5e7eb;font-size:.8rem;cursor:default}
.hm-wrap{display:grid;grid-template-columns:minmax(150px,230px) 1fr;gap:22px;align-items:center;max-width:760px;margin:0 auto}.hm-svg{width:100%;height:auto;background:#fff;border-radius:14px;padding:8px}.hm-word{font:800 clamp(1.8rem,5vw,3rem) monospace;letter-spacing:.12em;margin:0 0 6px;word-break:break-all}.hm-left{margin:0 0 12px}
.hm-keys{display:flex;flex-wrap:wrap;gap:6px}.hm-k{width:40px;height:44px;border:2px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:700 1rem inherit;font-family:inherit;cursor:pointer}.hm-k.ok{background:#dcfce7;border-color:#16a34a}.hm-k.no{background:#fee2e2;border-color:#dc2626;opacity:.7}.hm-k:disabled{cursor:default}
@media (max-width:560px){.hm-wrap{grid-template-columns:1fr}.hm-svg{max-width:200px;margin:0 auto}}
.pn-big{font:800 clamp(2rem,7vw,4rem) inherit;font-family:inherit;text-align:center;padding:34px 12px;border-radius:20px;background:var(--surface);color:var(--ink);border:3px dashed var(--line-2)}.pn-big.fin{border:3px solid var(--tone);background:color-mix(in srgb,var(--tone) 12%,var(--surface))}
.pn-teams{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.pn-team{background:var(--surface);color:var(--ink);border:2px solid var(--line);border-radius:14px;padding:14px 18px;break-inside:avoid}.pn-team h3{margin:0 0 8px;color:var(--tone)}.pn-team ul,.pn-team ol{margin:0;padding-inline-start:20px}
.sd-wrap{display:flex;flex-direction:column;align-items:center;gap:16px}.sd-grid{display:grid;width:min(100%,420px);aspect-ratio:1;border:3px solid #111;background:#fff}.sd-c{border:1px solid #9ca3af;background:#fff;color:#1d4ed8;font:700 clamp(1.3rem,5vw,2rem) inherit;font-family:inherit;display:grid;place-items:center;padding:0;cursor:pointer}.sd-c.given{color:#111;background:#f3f4f6;cursor:default}.sd-c.sel{background:#fde68a}.sd-c.bad{background:#fecaca}.sd-c.br{border-right:3px solid #111}.sd-c.bb{border-bottom:3px solid #111}
.sd-pad{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.sd-k{min-width:48px;height:48px;border:2px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:700 1.3rem inherit;font-family:inherit;cursor:pointer}.sd-key{text-align:center;color:#111}.sd-key .sd-grid{width:200px;margin:6px auto 0}.sd-key .sd-c{font-size:1.1rem;cursor:default;color:#111}
@media print{.bg-card,.pn-team{box-shadow:none}.sd-grid{width:340px}.hm-keys,.sd-pad{display:none}}
.main-nav .cat-link{position:relative;flex:none;display:inline-flex;align-items:center;padding:0 15px;white-space:nowrap;font-size:.875rem;font-weight:600;color:var(--ink-2);text-decoration:none;border-radius:999px;z-index:1}.main-nav .cat-link:hover{background:var(--accent-soft);color:var(--accent)}
.rail-wrap .container{flex-wrap:wrap}.sub-nav{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;width:100%;margin-top:10px;padding:0 4px}.sub-nav[hidden]{display:none}
.sub-nav a{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 15px;border-radius:999px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);font-weight:600;font-size:.88rem;text-decoration:none;transition:border-color .2s,background-color .2s,color .2s}.sub-nav a .ico{width:16px;height:16px}.sub-nav a:hover{border-color:var(--accent);color:var(--accent)}.sub-nav a.on{background:var(--accent);border-color:var(--accent);color:#fff}
@media (max-width:760px){.main-nav{flex-wrap:wrap;justify-content:center;height:auto;overflow:visible;-webkit-mask-image:none;mask-image:none;border-radius:22px;padding:6px;row-gap:4px}.rail-ind{display:none}.main-nav button,.main-nav .cat-link{height:36px}.main-nav button.active{background:var(--cat-bg,var(--accent));color:#fff}.cat-menu{left:0!important;transform:none!important;width:100%!important;border-radius:0 0 22px 22px}.cm-grid{grid-template-columns:1fr 1fr!important}.cat-menu .cm-tile small{display:none}.main-nav button.active:hover{color:#fff}}
.rail-wrap{position:relative}
.cat-btn::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--c1,var(--accent));margin-inline-end:7px;vertical-align:1px}.main-nav button.active.cat-btn::before{background:#fff}
.cat-btn[data-cat=words]{--c1:#059669}.cat-btn[data-cat=math]{--c1:#2563EB}.cat-btn[data-cat=games]{--c1:#E11D48}.cat-btn[data-cat=logic]{--c1:#7C3AED}.cat-btn[data-cat=art]{--c1:#F97316}.cat-btn[data-cat=teacher]{--c1:#0D9488}
.cat-menu{position:absolute;top:calc(100% - 6px);left:50%;transform:translateX(-50%);width:min(840px,calc(100vw - 24px));z-index:120;border-radius:24px;overflow:hidden;background:var(--surface);border:1px solid var(--line-2);box-shadow:0 34px 60px -22px rgba(22,20,15,.5);animation:cmIn .22s var(--ease)}
.cat-menu[hidden]{display:none}@keyframes cmIn{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}@media (max-width:760px){@keyframes cmIn{from{opacity:0}to{opacity:1}}}
.cm-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 22px;background:linear-gradient(135deg,var(--c1),var(--c2));color:#fff}.cm-head b{display:block;font-size:1.2rem}.cm-head span{opacity:.92;font-size:.9rem}
.cm-head a{flex:none;color:#fff;font-weight:800;text-decoration:none;background:rgba(255,255,255,.22);padding:8px 16px;border-radius:999px}.cm-head a:hover{background:rgba(255,255,255,.34)}
.cm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;padding:14px}
.cm-tile{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:16px;text-decoration:none;color:var(--ink);border:1px solid transparent;transition:background-color .2s,border-color .2s,transform .2s}
.cm-tile:hover,.cm-tile.on{background:color-mix(in srgb,var(--t1) 11%,var(--surface));border-color:color-mix(in srgb,var(--t1) 45%,transparent)}.cm-tile:hover{transform:translateY(-2px)}
.cm-ic{flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--t1),var(--t2));color:#fff;box-shadow:0 8px 16px -8px var(--t1)}.cm-ic svg{width:23px;height:23px}
.cm-tile b{display:block;font-size:.98rem}.cm-tile small{display:block;color:var(--muted);font-size:.8rem;line-height:1.35;margin-top:2px}
.cp-home-cats .cc-grid{grid-template-columns:repeat(3,1fr)}footer{padding-top:104px;margin-top:36px}.foot-marquee{margin-bottom:28px}.foot-cta{margin-bottom:34px}
.band .btn,.band .btn span,.band .btn .ico{color:#1D4ED8}
.card .more{display:inline-flex;align-self:flex-start;min-height:0;height:32px;padding:0 14px;font-size:.82rem;margin-top:4px}
@media (max-width:900px){.cp-home-cats .cc-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.cp-home-cats .cc-grid{grid-template-columns:1fr}}
/* ===== HOME POLISH: tighter spacing, smaller icons, more colour ===== */
.hero{padding:clamp(28px,4.5vw,60px) 0 clamp(24px,3.5vw,44px);gap:clamp(24px,4vw,56px)}
.hero p.lede{margin-bottom:24px}
.stats{margin-top:clamp(24px,3.5vw,40px);gap:12px}
.stat{padding:16px 14px;border-radius:18px;background:linear-gradient(160deg,color-mix(in srgb,var(--c1,#2563EB) 13%,var(--surface)),var(--surface) 78%);border-color:color-mix(in srgb,var(--c1,#2563EB) 26%,var(--line))}
.stat b{font-size:clamp(1.6rem,3vw,2.2rem)}.stat span{margin-top:4px;font-size:.82rem}
.sec{padding:clamp(30px,4.2vw,50px) 0 0}
.sec-head{margin-bottom:22px;max-width:640px}.sec-head h2{font-size:clamp(1.6rem,3.2vw,2.3rem);margin-bottom:8px}.sec-head p{font-size:.98rem}
.filters{gap:8px;margin-bottom:16px}.fchip{height:38px;padding:0 15px;font-size:.86rem}
.fchip[data-f=words]{--f1:#059669;--f2:#0D9488}.fchip[data-f=math]{--f1:#2563EB;--f2:#4F46E5}.fchip[data-f=games]{--f1:#E11D48;--f2:#F97316}.fchip[data-f=logic]{--f1:#7C3AED;--f2:#C026D3}.fchip[data-f=art]{--f1:#F97316;--f2:#EC4899}.fchip[data-f=teacher]{--f1:#0D9488;--f2:#16A34A}
.fchip[data-f]:not([data-f=all]){border-color:color-mix(in srgb,var(--f1) 40%,var(--line-2));color:color-mix(in srgb,var(--f1) 72%,var(--ink))}
.fchip[data-f]:not([data-f=all])::before{background:linear-gradient(135deg,var(--f1),var(--f2))}.fchip[data-f]:not([data-f=all]).active{color:#fff;box-shadow:0 10px 20px -10px var(--f1)}
.tool-grid{grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:14px}
.card{padding:16px 16px 14px;gap:6px;border-radius:20px;background:linear-gradient(165deg,color-mix(in srgb,var(--tone) 12%,var(--surface)),var(--surface) 62%);border-color:color-mix(in srgb,var(--tone) 26%,var(--line))}
.card::after{top:0;bottom:auto;height:5px;transform:scaleX(1)}
.card:hover{transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(-5px)}
.tile{width:38px;height:38px;border-radius:12px;box-shadow:0 10px 18px -10px var(--tone)}.tile .ico{width:20px;height:20px}
.card .num{font-size:.7rem;padding:2px 8px}
.card h3{font-size:1.05rem;margin-top:2px}
.card p{font-size:.85rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card .wm{width:76px;height:76px;right:-12px;bottom:-14px;opacity:.09}
.card .more{font-size:.82rem;margin-top:2px}
.tags{gap:5px;margin-top:2px}.tags span{padding:2px 9px;font-size:.68rem}
.pop{top:12px;right:58px;padding:3px 9px;font-size:.62rem}
.cp-home-cats{margin-top:26px;padding:24px 20px 22px;border-radius:30px;background:linear-gradient(135deg,rgba(37,99,235,.08),rgba(236,72,153,.08) 55%,rgba(245,158,11,.08))}
.cp-home-cats .cc-grid{gap:12px}
.cp-home-cats .cc-card{padding:14px 16px;gap:4px;border-radius:18px;background:linear-gradient(160deg,color-mix(in srgb,var(--t1) 14%,var(--surface)),var(--surface) 72%);border-color:color-mix(in srgb,var(--t1) 30%,var(--line))}
.cp-home-cats .cc-ic{width:36px;height:36px;border-radius:11px}.cp-home-cats .cc-ic svg{width:20px;height:20px}
.cp-home-cats .cc-card h3{font-size:1.05rem;margin:2px 0 0}.cp-home-cats .cc-card p{font-size:.85rem}.cp-home-cats .cc-go{font-size:.85rem}
.cp-home-acts{margin-top:26px;padding:24px 20px 22px;border-radius:30px;background:linear-gradient(135deg,rgba(245,158,11,.1),rgba(236,72,153,.07) 60%,rgba(124,58,237,.07))}
.cp-home-acts .cp-grid{gap:12px}.cp-home-acts .cp-card{padding:14px 15px;gap:3px;border-radius:18px;border-top:5px solid var(--ac,#2563EB)}
.cp-home-acts .cp-card h3{font-size:1.02rem}.cp-home-acts .cp-card p{font-size:.85rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cp-home-acts .cp-card:nth-child(6n+1){--ac:#2563EB}.cp-home-acts .cp-card:nth-child(6n+2){--ac:#F59E0B}.cp-home-acts .cp-card:nth-child(6n+3){--ac:#EC4899}.cp-home-acts .cp-card:nth-child(6n+4){--ac:#16A34A}.cp-home-acts .cp-card:nth-child(6n+5){--ac:#7C3AED}.cp-home-acts .cp-card:nth-child(6n){--ac:#0D9488}
.cp-home-acts .cp-tag{background:color-mix(in srgb,var(--ac,#2563EB) 15%,transparent);color:var(--ac,#2563EB)}
.steps{gap:14px}.step{padding:18px 18px 16px;border-radius:20px}.step .n{width:40px;height:40px;margin-bottom:10px;font-size:1rem}.steps::before{top:38px}.step h3{font-size:1.05rem;margin-bottom:4px}.step p{font-size:.88rem}
.band{margin-top:clamp(30px,4vw,48px);padding:clamp(26px,4vw,46px) clamp(20px,4vw,48px);border-radius:28px}.band h2{font-size:clamp(1.6rem,3.4vw,2.4rem);margin-bottom:8px}.band p{margin-bottom:18px;font-size:1rem}
@media (max-width:900px){.cp-home-cats .cc-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.tool-grid{grid-template-columns:1fr 1fr;gap:10px}.card{padding:12px 12px 10px;border-radius:16px}.card p,.tags{display:none}.card h3{font-size:.95rem}.card .more{font-size:.78rem}.pop{right:10px;top:10px}
 .cp-home-cats,.cp-home-acts{padding:16px 12px 14px;border-radius:22px}.cp-home-cats .cc-grid{grid-template-columns:1fr 1fr;gap:10px}.cp-home-cats .cc-card{padding:12px}.cp-home-cats .cc-card p{display:none}.cp-home-acts .cp-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr}}
.pm-note{margin-top:26px}@media (max-width:560px){.pm-grid{gap:26px}.pm-col,.pk-pm>div{gap:16px}.pm-b{min-height:80px;font-size:1.2rem}.pm-e{font-size:3rem;min-height:100px}}
@media print{.pm-grid{gap:130px;max-width:none}.pm-col,.pk-pm>div{gap:34px}.pm-b{min-height:92px;font-size:1.5rem}.pm-e{font-size:3.4rem;min-height:116px;box-shadow:none}}
.pk-pm .pm-e{font-size:2.6rem;min-height:84px}.pk-pm .pm-b{font-size:1.15rem;min-height:84px}
.jg-ref{display:block;width:120px;height:120px;margin:0 auto 14px;border-radius:14px;border:3px solid var(--tone);object-fit:cover;box-shadow:0 10px 20px -12px var(--tone)}
.col-svg{width:min(100%,480px)}.sk-steps{gap:20px}
.tr-sheet,.hc,.er-grid,.er-sheet-list,.bp-wrap,.er-flash{width:100%}.er-grid.er-4{width:100%}
.er-abc{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))!important;gap:18px}.er-abc .er-card{padding:22px 14px;gap:10px;border-radius:24px;border-width:3px;border-color:color-mix(in srgb,var(--tc) 35%,var(--line))}
.er-abc .er-card .er-big{font-size:4rem}.er-abc .er-card .er-em{font-size:5.5rem}.er-abc .er-card small{font-size:1.25rem;font-weight:800;color:var(--ink)}
.er-shapes{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.sh-tile{padding:14px}.sh-svg{width:100%;max-width:120px;height:auto}
@media print{.er-abc{grid-template-columns:repeat(3,1fr)!important}.er-abc .er-card .er-em{font-size:4.5rem}.er-shapes{grid-template-columns:repeat(3,1fr)}}
#view-colors .er-grid:not(.er-4){grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}#view-colors .er-tile{padding:16px;gap:10px;border-radius:24px}#view-colors .er-sw{height:140px;border-radius:18px}#view-colors .er-em{font-size:4.5rem}#view-colors .er-tile b{font-size:1.35rem}#view-colors .er-4 .er-sw{height:170px}
#view-shapes .er-shapes{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}#view-shapes .sh-tile{padding:18px;gap:10px;border-radius:24px}#view-shapes .sh-svg{max-width:190px}#view-shapes .er-em{font-size:4rem}#view-shapes .er-tile b{font-size:1.35rem}#view-shapes .er-tile small{font-size:1rem}#view-shapes .er-4 .sh-svg{max-width:210px}
#view-days .er-seq,#view-months .er-seq{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}#view-days .er-tile,#view-months .er-tile{padding:18px 14px;gap:10px;border-radius:24px;border-width:3px;border-color:color-mix(in srgb,var(--tc) 35%,var(--line))}#view-days .er-em,#view-months .er-em{font-size:5rem}#view-days .er-tile b,#view-months .er-tile b{font-size:1.5rem}#view-days .er-tile small,#view-months .er-tile small{font-size:1.05rem;font-weight:700}#view-days .er-num,#view-months .er-num{min-width:36px;height:36px;font-size:1.05rem}
@media (max-width:560px){#view-colors .er-grid:not(.er-4),#view-shapes .er-shapes,#view-days .er-seq,#view-months .er-seq{grid-template-columns:repeat(2,1fr);gap:12px}#view-colors .er-sw{height:100px}#view-colors .er-em,#view-days .er-em,#view-months .er-em,#view-shapes .er-em{font-size:3.2rem}}
@media print{#view-colors .er-grid,#view-shapes .er-shapes,#view-days .er-seq,#view-months .er-seq{grid-template-columns:repeat(3,1fr)}}
#view-fruits .er-ns,#view-vegetables .er-ns,#view-animals .er-ns{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
.er-tile.ns-tile{padding:20px 14px;gap:10px;border-radius:26px;border-width:3px}.er-tile.ns-tile .er-em{font-size:6.5rem}.er-tile.ns-tile b{font-size:1.7rem}.er-tile.ns-tile:hover{border-color:var(--tone)}
.er-4 .er-tile.ns-tile .er-em{font-size:7rem}.ns-huge{font-size:9rem!important;margin:6px 0 10px}.ns-name{font-size:2.4rem!important}
.pt-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:8px 0 18px}.pt-box{display:grid;place-items:center;width:90px;height:90px;font-size:3.4rem;background:var(--surface);color:var(--ink);border:3px solid var(--line-2);border-radius:20px;font-weight:800}
.pt-box.q{border-style:dashed;color:var(--muted)}.pt-box.fill{border-color:#22c55e;background:#f0fdf4}.pt-box.blank{border-style:dashed;border-color:#6b7280}
.pt-opts .er-em{font-size:3.4rem}.pt-sheet{background:#fff;color:#111;border-radius:16px;padding:18px;max-width:860px;margin:0 auto;width:100%}.pt-sheet h2{text-align:center;margin:0 0 6px;color:#111}.pt-sheet .pt-box{background:#fff;color:#111;border-color:#111;width:74px;height:74px;font-size:2.7rem}.pt-line{display:flex;align-items:center;gap:10px;margin:6px 0;break-inside:avoid;color:#111}.pt-line .pt-row{margin:0;justify-content:flex-start;gap:8px}.pt-key{margin-top:18px;border-top:2px dashed #9ca3af;padding-top:10px;color:#111}
@media (max-width:560px){#view-fruits .er-ns,#view-vegetables .er-ns,#view-animals .er-ns{grid-template-columns:repeat(2,1fr);gap:12px}.ns-tile .er-em{font-size:4.2rem}.pt-box{width:60px;height:60px;font-size:2.2rem}}
@media print{#view-fruits .er-ns,#view-vegetables .er-ns,#view-animals .er-ns{grid-template-columns:repeat(3,1fr)}.pt-sheet{padding:0}}
/* roomier-but-compact category menu: wider, 4 columns, scrolls if the screen is short */
.cat-menu{width:min(1060px,calc(100vw - 24px));max-height:calc(100vh - 150px);overflow-y:auto;overscroll-behavior:contain}
.cm-head{padding:12px 22px;position:sticky;top:0;z-index:2}.cm-head b{font-size:1.1rem}.cm-head span{font-size:.85rem}.cm-head a{padding:6px 14px;font-size:.9rem}
.cm-grid{grid-template-columns:repeat(auto-fill,minmax(236px,1fr));gap:4px 8px;padding:10px 12px 14px}
.cm-tile{padding:8px 10px;gap:10px;align-items:center;border-radius:14px}.cm-ic{width:38px;height:38px;border-radius:12px}.cm-ic svg{width:20px;height:20px}
.cm-tile b{font-size:.95rem;line-height:1.2}.cm-tile small{font-size:.76rem;line-height:1.3;margin-top:1px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cat-menu::-webkit-scrollbar{width:8px}.cat-menu::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:8px}
.cat-btn[data-cat=early]{--c1:#EC4899}.fchip[data-f=early]{--f1:#EC4899;--f2:#F59E0B}
.er-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px}.er-grid.er-4{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));max-width:680px;margin:0 auto}.er-abc{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
.er-tile{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;border-radius:18px;background:var(--surface);color:var(--ink);border:2px solid var(--line);font:inherit;font-family:inherit;cursor:pointer;text-align:center;transition:transform .2s,border-color .2s}
.er-tile b{font-size:1.05rem}.er-tile small{color:var(--muted)}.er-tile:hover{transform:translateY(-3px);border-color:var(--tc,var(--tone))}
.er-tile.today{border-color:var(--tc);box-shadow:0 0 0 4px color-mix(in srgb,var(--tc) 30%,transparent)}.er-tile.done{opacity:.55;cursor:default}
.er-sw{display:block;width:100%;height:70px;border-radius:12px;border:2px solid rgba(0,0,0,.15)}
.er-em{font-size:2rem;line-height:1}.er-huge{font-size:6rem;text-align:center;margin:8px 0}
.er-num{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:999px;color:#fff;font-weight:800;font-size:.9rem}
.er-big{font:900 2.6rem/1 inherit;font-family:inherit;color:var(--tc,var(--tone))}.er-card .er-big{font-size:2.2rem}
.er-q{text-align:center;font-size:1.4rem;margin:0 0 16px}.er-hint{text-align:center;margin-top:16px;color:var(--ink-2)}
.er-flash{max-width:420px;margin:0 auto;text-align:center;padding:30px 20px;border-radius:28px;background:var(--surface);border:4px solid var(--tc);box-shadow:var(--shadow-2);color:var(--ink)}.er-flash .er-big{font-size:6rem}.er-flash .er-em{font-size:6rem;margin:8px 0}.er-flash b{font-size:1.6rem;display:block}
.er-nav{display:flex;gap:12px;justify-content:center;margin-top:18px;flex-wrap:wrap}
.er-sheet-list{display:grid;gap:10px;max-width:560px;margin:0 auto}.er-row{display:flex;gap:12px;align-items:center;font-size:1.2rem;padding:8px 12px;border-bottom:2px dotted #9ca3af;color:var(--ink)}.er-line{color:#6b7280}
.bp-wrap{max-width:460px;margin:0 auto}.bp-svg{width:100%;height:auto;background:#fff;border-radius:18px;padding:6px}.bp{cursor:pointer}.bp:hover *,.bp.on *{stroke:var(--tone);stroke-width:3}.bp-t{font:700 15px Arial,sans-serif;fill:#111}
.hc{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;max-width:680px;margin:0 auto}.hc-c{aspect-ratio:1;display:grid;place-items:center;border:0;border-radius:8px;font:800 clamp(.8rem,2.4vw,1.15rem) inherit;font-family:inherit;color:#111;padding:0}button.hc-c{cursor:pointer}.hc-c.on{outline:3px solid #111;font-size:1.2em}.hc-in{width:100%;height:100%;border:2px dashed #6b7280;border-radius:8px;text-align:center;font:800 1rem inherit;font-family:inherit;background:#fff;color:#111;padding:0}.hc-in.ok{background:#dcfce7;border-color:#16a34a}.hc-in.bad{background:#fee2e2;border-color:#dc2626}
.tr-sheet{background:#fff;color:#111;border-radius:16px;padding:18px;max-width:820px;margin:0 auto}.tr-sheet h2{text-align:center;margin:0 0 6px;color:#111}.tr-name{text-align:center;margin:0 0 10px;color:#333}.tr-item{break-inside:avoid;margin-bottom:6px}.tr-row{display:block;width:100%;height:auto}
.tr-screen{max-width:640px;margin:0 auto;background:#fff;border-radius:18px;border:3px solid var(--line-2);touch-action:none;line-height:0}.tr-screen canvas{width:100%;height:auto;display:block;touch-action:none;cursor:crosshair}
.cp-home-cats .cc-grid{grid-template-columns:repeat(4,1fr)}@media (max-width:900px){.cp-home-cats .cc-grid{grid-template-columns:repeat(2,1fr)}}
@media print{.tr-sheet{padding:0;border-radius:0}.er-tile{break-inside:avoid;box-shadow:none}.er-nav{display:none}}
/* ===== MOBILE POLISH: comfortable tap targets, no tile overflow ===== */
.er-tile,.hc-c,.pt-box{min-width:0}.er-tile b,.er-tile small{overflow-wrap:anywhere;max-width:100%}
@media (max-width:760px),(pointer:coarse){
  .cp-explore a,.cp-actlist a,.cp-guide .cp-more a,.cp-crumb a,.legal a,.sitemap a{display:inline-flex;align-items:center;min-height:44px;padding:0 2px}
  .cp-explore li{margin:0}.cp-actlist li{padding:2px 0}
  .faq-item summary,details.cp-faq summary{display:flex;align-items:center;min-height:48px;padding-top:6px;padding-bottom:6px}
  .logo{min-width:44px;min-height:44px;display:inline-flex;align-items:center}
  .crumb button{min-height:40px;padding:0 10px}
  .cp-top nav a{padding:12px 14px;min-height:44px;display:inline-flex;align-items:center}
  .cp-logo{min-height:44px}
  .cm-tile{min-height:48px}.cm-head a{min-height:40px;display:inline-flex;align-items:center}
  .btn,.fchip,.mode-btn{min-height:46px}
  .main-nav button,.main-nav .cat-link{height:44px}.main-nav{padding:5px}
  .control select,.control input,.control textarea{min-height:46px;font-size:16px}
  .hc-in{font-size:16px}
}
@media (max-width:560px){
  #view-fruits .er-tile.ns-tile b,#view-vegetables .er-tile.ns-tile b,#view-animals .er-tile.ns-tile b{font-size:1.1rem}
  #view-days .er-tile b,#view-months .er-tile b{font-size:1.1rem}#view-days .er-tile small,#view-months .er-tile small{font-size:.85rem}
  #view-colors .er-tile b,#view-shapes .er-tile b{font-size:1.05rem}
  .er-tile{padding-left:6px;padding-right:6px}
}
@media (max-width:360px){.hc{gap:2px}.hc-c{border-radius:5px;font-size:.72rem}.er-big{font-size:2rem}.pt-box{width:50px;height:50px;font-size:1.8rem}.tr-sheet,.pt-sheet{padding:10px}}
/* mobile polish 2: header no longer sticky (it took a third of the screen), chart cells fill their column, bigger swatches */
.hc-c{width:100%}
@media (max-width:760px),(pointer:coarse){
  .site-header{position:relative!important;top:auto!important}
  .main-nav button,.main-nav .cat-link{padding:0 8px;font-size:.82rem;height:42px}.main-nav{row-gap:0}
  .col-sw{width:44px;height:44px}.dp-er{min-height:44px}
  .ws-bar .pill,.mz-bar .pill,.dt-bar .pill,.sh-bar .pill{min-height:44px}
  .cp-list a,.cp-box a{display:inline-flex;align-items:center;min-height:44px}
  .hc-in,.hc-c{min-height:30px}
}
