@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal.woff2) format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal.woff2) format("woff2-variations");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}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal.woff2) format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal.woff2) format("woff2-variations");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}:root{color-scheme:light;--bg: #F7F4EC;--surface: #FFFFFF;--sea: #D9E8EE;--ink: #14283A;--muted: #566876;--line: #C9D3D6;--accent: #0B5C7A;--accent-ink: #FFFFFF;--port: #C4322B;--starboard: #1E7D4F;--caution: #D9A400}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0E1A24;--surface: #16262F;--sea: #1C3442;--ink: #E9EFF2;--muted: #A3B4BE;--line: #2C4250;--accent: #5FC0DE;--accent-ink: #0E1A24;--port: #F0746C;--starboard: #5CCB94;--caution: #F1C644}}:root[data-theme=dark]{color-scheme:dark;--bg: #0E1A24;--surface: #16262F;--sea: #1C3442;--ink: #E9EFF2;--muted: #A3B4BE;--line: #2C4250;--accent: #5FC0DE;--accent-ink: #0E1A24;--port: #F0746C;--starboard: #5CCB94;--caution: #F1C644}*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.55 Inter Variable,system-ui,sans-serif}h1,h2,h3{font-family:Fraunces Variable,Georgia,serif;line-height:1.2;font-weight:600}h1{font-size:clamp(1.7rem,4.5vw,2.5rem);margin:.4em 0 .5em}h2{font-size:1.4rem;margin-top:2em}h3{font-size:1.05rem;margin:1.5em 0 .4em}a{color:var(--accent)}p{max-width:70ch}.wrap{max-width:1000px;width:100%;margin-inline:auto;padding-inline:16px}main.wrap{padding-block:24px 64px;min-height:60vh}.lead{font-size:1.15rem;color:var(--muted)}.small{font-size:.9rem;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.site-header{background:var(--surface);border-bottom:1px solid var(--line)}.site-header .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding-block:10px}.logo{display:inline-flex;gap:8px;align-items:center;font-family:Fraunces Variable,serif;font-weight:600;color:var(--ink);text-decoration:none;font-size:1.15rem}.logo svg{flex:none;border-radius:6px;box-shadow:0 1px 2px #0000001f}.site-header nav{display:flex;flex-wrap:wrap;gap:4px 14px}.site-header nav a{text-decoration:none;color:var(--ink);padding:6px 2px}.header-end{margin-inline-start:auto;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-size:.92rem}.lang-list{display:inline-flex;flex-wrap:wrap;gap:4px 10px;align-items:center}.lang{text-decoration:none;font-size:.86rem;padding:2px 4px;border-radius:4px}.lang:hover{background:var(--sea)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--ink);cursor:pointer}.theme-toggle:hover{background:var(--sea);border-color:var(--accent)}.theme-toggle .icon-sun{display:none}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle .icon-moon{display:none}:root:not([data-theme=light]) .theme-toggle .icon-sun{display:block}}:root[data-theme=dark] .theme-toggle .icon-moon{display:none}:root[data-theme=dark] .theme-toggle .icon-sun{display:block}.rank{text-decoration:none;font-weight:600}.site-footer{border-top:1px solid var(--line);padding-block:20px;color:var(--muted);font-size:.88rem}.btn{display:inline-block;padding:12px 18px;min-height:44px;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);font:inherit;font-weight:600;text-decoration:none;cursor:pointer}.btn.secondary{background:transparent;color:var(--accent)}.btn.btn-sm{padding:5px 10px;min-height:32px;font-size:.82rem}.btn:disabled{opacity:.5;cursor:default}.actions{display:flex;flex-wrap:wrap;gap:10px}.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.card{display:flex;flex-direction:column;gap:4px;width:100%;height:100%;text-align:start;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--ink);text-decoration:none;font:inherit;cursor:pointer}.card:hover{border-color:var(--accent)}.card strong{font-family:Fraunces Variable,serif;font-size:1.15rem}.card span{color:var(--muted);font-size:.95rem}.card em{color:var(--muted);font-size:.85rem}.hero{background:var(--sea);border-radius:8px;padding:28px 24px}.hero .lead{color:var(--ink)}table{border-collapse:collapse;width:100%;background:var(--surface)}th,td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:start;vertical-align:top}th{font-weight:600;font-size:.9rem;color:var(--muted)}.scroll{overflow-x:auto}.filters{display:flex;flex-wrap:wrap;gap:12px;margin-block:12px}select{font:inherit;padding:8px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:6px}.facts{display:flex;flex-wrap:wrap;gap:16px 32px;margin:0}.facts p,.facts dd{margin:0}.facts dt{font-size:.85rem;color:var(--muted)}.facts dd{font-size:1.3rem;font-weight:600}.meter{height:6px;background:var(--sea);border-radius:3px;margin-top:6px;max-width:220px}.meter span{display:block;height:100%;background:var(--starboard);border-radius:3px}.crumbs{font-size:.9rem;color:var(--muted)}.notice{background:var(--sea);padding:10px 12px;border-radius:6px;font-size:.9rem}.label{font-size:.85rem;color:var(--muted);margin:0}.qlist li{margin-block:6px}.citation{font-size:.92rem;padding-inline-start:18px}.citation li{margin-block:8px}.exam-mode-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}.vocab-hint{margin:2px 0 8px}.es-term{font-style:normal;text-decoration:underline dotted var(--accent);text-underline-offset:3px;cursor:help;position:relative}.es-term:hover:after,.es-term:focus:after{content:attr(data-tip);position:absolute;inset-inline-start:0;bottom:calc(100% + 6px);z-index:30;width:max-content;max-width:min(320px,85vw);padding:8px 10px;border-radius:6px;background:var(--ink);color:var(--surface);font-size:.82rem;font-weight:400;line-height:1.35;box-shadow:0 4px 14px #00000038;pointer-events:none}.question h1{font-size:1.4rem;font-family:Inter Variable,sans-serif;font-weight:600}.qtext.both{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%}.qtext .trans{color:var(--muted);border-inline-start:2px solid var(--line);padding-inline-start:12px;font-weight:400}body.exam-only .qtext.both{grid-template-columns:1fr}body.exam-only .qtext.both .trans{display:none}.options{list-style:none;margin:0;padding:0;display:grid;gap:8px}.option{display:flex;gap:12px;width:100%;min-height:48px;padding:12px;text-align:start;background:var(--surface);color:var(--ink);border:2px solid var(--line);border-radius:8px;font:inherit;cursor:pointer}.option:hover:not(:disabled){border-color:var(--accent)}.option:disabled{cursor:default;color:var(--ink)}.option .letter{font-weight:700;flex:none;width:1.3em}.option.is-right{border-color:var(--starboard)}.option.is-right .letter:after{content:" ✓";color:var(--starboard)}.option.is-wrong{border-color:var(--port)}.option.is-wrong .letter:after{content:" ✗";color:var(--port)}.feedback{font-weight:600;margin-block:12px}.guide{margin-top:16px}.guide summary{cursor:pointer;font-weight:600;color:var(--accent);padding-block:8px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:4px;margin-top:12px}.grid button{min-height:40px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:4px;font:inherit;cursor:pointer}.grid button.done{background:var(--sea)}.grid button.here{border:2px solid var(--accent)}.option.is-chosen{border-color:var(--accent);background:var(--sea)}.runner-head{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.92rem}.ad-slot{display:none;flex-direction:column;gap:4px;align-items:center;justify-content:center;border:1px dashed var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface) 55%,var(--bg));color:var(--muted);font-size:.78rem;text-align:center;padding:8px;-webkit-user-select:none;user-select:none}.ad-slot__label{font-weight:600;letter-spacing:.03em;text-transform:uppercase;font-size:.7rem}.ad-slot__meta{font-size:.72rem;opacity:.75}@media(min-width:1380px){.page-shell{display:grid;grid-template-columns:1fr minmax(0,1000px) 1fr;align-items:start;gap:16px}.ad-slot--left[data-enabled=true],.ad-slot--right[data-enabled=true],.ads-preview .ad-slot--left,.ads-preview .ad-slot--right{display:flex;position:sticky;top:24px;margin-block:24px;width:var(--ad-w);height:var(--ad-h);justify-self:center}}@media(max-width:1379px){.ad-slot--bottom[data-enabled=true],.ads-preview .ad-slot--bottom{display:flex;margin:0 auto 24px;width:var(--ad-w);height:var(--ad-h);max-width:calc(100% - 32px)}}.game{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px}.game canvas.stage,.game .stage3d{display:block;width:100%;aspect-ratio:4 / 3;max-height:62vh;background:var(--sea);border-radius:6px;touch-action:none}.game .controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;align-items:center}.game .toolbar{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px;align-items:center;flex-wrap:wrap}.game .ask{font-weight:600;margin:12px 0 6px}.game .tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.game .tabs button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.game label.range{display:flex;flex-direction:column;gap:2px;flex:1 1 200px;font-size:.9rem}.game input[type=range]{width:100%}.pad{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}.pad .btn{padding:12px 0;text-align:center}.mark-icon{display:block}.game .drill-fig{display:block;width:100%;max-width:580px;max-height:240px;height:auto;margin:6px auto 10px;border-radius:6px;border:1px solid var(--line);background:var(--sea)}.game .diagram{display:block;width:100%;height:auto;max-height:62vh}.game .spot{cursor:pointer}.game .spot circle{fill:var(--accent);stroke:#fff;stroke-width:2}.game .spot text{fill:var(--accent-ink);font-weight:700;font-size:16px}.game .spot.done{opacity:.35}.game .spot:focus-visible circle{stroke:#000;stroke-width:4}.game .btn.picked{background:var(--accent);color:var(--accent-ink)}.game .pairs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.game .pairs>div,.game .stack{display:flex;flex-direction:column;gap:6px}.game .sort-item{font-size:1.2rem;font-weight:600;text-align:center;padding:16px 8px}.game .steps-done{margin:0 0 8px;padding-inline-start:24px}.game .tables{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;overflow-x:auto}.game table.data{border-collapse:collapse;font-size:.85rem;width:100%}.game table.data th,.game table.data td{border:1px solid var(--line);padding:2px 5px;text-align:end;white-space:nowrap}.game table.data caption{text-align:start;font-weight:600;padding-bottom:4px}.gcm-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:12px 0 16px;padding:0}.gcm-item{background:var(--sea);border:1px solid var(--line);border-radius:6px;padding:10px 12px;font-size:.9rem}.gcm-item dt{display:flex;align-items:center;gap:8px;font-weight:700;margin-bottom:4px;color:var(--ink)}.gcm-item dd{margin:0;color:var(--muted);line-height:1.45}.gcm-dot{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;color:#fff;font-weight:700;font-size:.82rem;flex:none}.help-btn{padding:8px 14px;min-height:38px;font-size:.92rem;margin-inline-start:auto}.help-btn.help-highlight{border-color:var(--port);color:var(--port);box-shadow:0 0 0 2px #c4322b33}.game-help{background:var(--sea);border:1px solid var(--accent);border-radius:8px;padding:14px 16px;margin-bottom:12px;font-size:.95rem}.game-help h3{margin:.9em 0 .35em;font-size:1rem;color:var(--accent)}.game-help p{margin:.35em 0;max-width:78ch}.game-help ul{margin:.35em 0;padding-inline-start:20px}.game-help li{margin-block:4px}.help-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:8px}.help-head strong{font-family:Fraunces Variable,Georgia,serif;font-size:1.1rem}.help-close{padding:6px 12px;min-height:34px;font-size:.85rem}.help-penalty{background:var(--surface);border-inline-start:4px solid var(--port);padding:8px 12px;border-radius:4px;font-weight:600;color:var(--port)}.help-current{background:var(--surface);border-inline-start:4px solid var(--accent);padding:8px 12px;border-radius:4px;margin-block:8px}.help-current h3{margin-top:0}.help-diagram{margin-top:10px;overflow-x:auto}.help-svg{display:block;width:100%;max-width:680px;height:auto;border-radius:6px;border:1px solid var(--line)}.game-complete{padding:8px 4px}.game-complete h2{margin-top:.2em}.game-complete h3{margin:1.2em 0 .6em}@media(max-width:720px){.qtext.both{grid-template-columns:1fr;gap:4px}.qtext .trans{border-inline-start:0;padding-inline-start:0}.ad-slot--bottom[data-enabled=true],.ads-preview .ad-slot--bottom{width:var(--ad-mw);height:var(--ad-mh)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media print{.site-header,.site-footer,.no-print,.ad-slot{display:none!important}body{background:#fff;color:#000}}
