select,input,button{font:inherit}button:disabled{cursor:not-allowed;opacity:.5}select{color:inherit;background:transparent;border:0;max-width:180px;font-weight:700}select option{background:#fff8e8;color:#382c35}.chip select{max-width:108px}.map-tools{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:10px;background:#303455;border-top:1px solid #ffffff12;font-size:12px}.map-tools button,.utility{border:1px solid #ffffff40;border-radius:10px;background:#ffffff0b;color:#fff1cc;padding:7px 10px}.map-tools select{max-width:150px}.layout{padding-bottom:22px}.platform:focus-visible{outline:none}.platform:focus-visible .badge{outline:4px solid #fff;outline-offset:4px}.footer{position:sticky;bottom:0;z-index:4;border-top:1px solid #ffffff25}.test:disabled{opacity:.8;cursor:not-allowed}#notice{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:80;background:#fff5d8;color:#573e33;padding:12px 20px;border-radius:16px;box-shadow:0 10px 45px #10152960;max-width:90vw;font-size:14px;display:none}#notice.show{display:block}dialog{border:2px solid #ead099;border-radius:26px;padding:0;width:min(680px,94vw);max-height:92svh;background:#fff9ea;color:#382e37;box-shadow:0 30px 100px #080d4066}dialog::backdrop{background:#0d143cbd;backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px;background:#f9eccd;border-bottom:1px solid #e9d9b7;position:sticky;top:0;z-index:3}.dialog-head h2{font-size:21px;margin:4px 0}.dialog-head small{font-size:12px;color:#87735d}.close{border:0;border-radius:50%;width:35px;height:35px;color:#645568;background:#e7d9c0;font-size:23px}.word-card{text-align:center;padding:30px 24px 20px}.word-card h3{font-size:clamp(32px,7vw,56px);margin:12px 0 10px;overflow-wrap:anywhere;color:#423556}.word-card .meaning{font-size:18px;line-height:1.6;margin:12px 0;color:#746250}.word-card .phonetic{color:#8e806a;font-size:14px}.word-card .phonetic:empty{display:none}.lesson-progress{height:8px;margin:0 24px;background:#e8dfc9;border-radius:10px;overflow:hidden}.lesson-progress i{display:block;height:100%;background:linear-gradient(90deg,#5fad71,#c1d87c);transition:width .3s}.stage{color:#49784a;font-weight:800;font-size:14px;margin-top:18px;min-height:22px}.stage-detail{height:48px;display:grid;place-items:center;color:#665678;letter-spacing:3px;font-size:23px}.controls{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;padding:18px 20px}.secondary{background:#efe6d5;color:#5e5264;border:1px solid #d2c4ae;border-radius:12px;padding:10px 16px}.error{border-radius:12px;background:#ffe6df;border:1px solid #edbcae;color:#9b3f35;padding:12px;margin:14px 24px;line-height:1.5;font-size:13px}.hint{font-size:12px;color:#8a7866;line-height:1.7;text-align:center;padding:0 24px 18px}.lesson-list{padding:0 24px 20px;display:flex;gap:6px;justify-content:center}.dot{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#e5dac5;color:#a68e72;font-size:10px}.dot.done{background:#71ad75;color:#fff}.dot.active{box-shadow:0 0 0 3px #e9bd63}.celebrate{text-align:center;padding:25px}.celebrate .big-stars{font-size:48px;color:#f6bb32;letter-spacing:5px;text-shadow:0 3px #ad7430}.celebrate h3{font-size:25px;color:#48714a}.quiz-intro{padding:16px 24px;color:#82715e;font-size:13px;line-height:1.6}.questions{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 24px 20px}.question{display:block;border:1px solid #e4d5b8;background:#fffcf4;border-radius:16px;padding:14px}.question b{font-size:12px;color:#9b8766}.question .prompt{font-size:14px;line-height:1.5;min-height:44px;margin:8px 0}.question input,.search{width:100%;background:#fff;border:1px solid #d6c7b2;padding:11px;border-radius:10px;color:#45384a;outline-offset:2px}.question.correct{border-color:#8dbc8b;background:#f0f7e9}.question.wrong{border-color:#e3a68c;background:#fff0e7}.correction{font-size:13px;margin-top:8px;line-height:1.6;overflow-wrap:anywhere}.score{text-align:center;padding:20px}.score b{font-size:42px;color:#548b52}.score p{font-size:14px}.quiz-actions{padding:15px 24px 24px;display:flex;justify-content:center;gap:10px;position:sticky;bottom:0;background:#fff9eafa}.content{padding:20px 24px;line-height:1.8;font-size:14px}.content a{color:#517757}.content select{background:#fff;padding:10px;border:1px solid #ddcbb5;border-radius:10px;width:100%;max-width:none}.setting{display:block;margin-bottom:20px}.setting>span{display:block;font-weight:700;margin-bottom:8px}.setting input[type=range]{width:100%}.word-row{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #e7dcc7;font-size:13px}.word-row strong{color:#4f465d}.word-row span{color:#867359;text-align:right}.source-note{background:#efe8d8;border-radius:12px;padding:12px;font-size:12px;margin:12px 0}.load-error{text-align:center;padding:25px}.inline-link{border:0;background:none;color:#667c49;text-decoration:underline;cursor:pointer}.history-row{padding:14px;background:#f3ecd8;border-radius:15px;margin:10px 0}.history-row summary{cursor:pointer;font-weight:bold}.empty{padding:30px;text-align:center;color:#897657}@media(max-width:480px){.questions{grid-template-columns:1fr}.dialog-head{padding:15px 18px}.word-card{padding:20px 15px 10px}.game{border-radius:0}.footer .gold{font-size:13px;padding:10px}.header strong{font-size:17px}.map-tools{gap:5px}.map-tools button{padding:7px 8px}}
[hidden]{display:none!important}.home{position:relative;min-height:100svh;overflow:hidden;background:radial-gradient(ellipse at 50% 15%,#526683,#292d54 65%)}.home-art{position:absolute;inset:0;background:linear-gradient(#20244855,#202448ed),url('/assets/vocab-tree-art-v4.png') center 45%/cover;opacity:.38}.home-content{position:relative;max-width:550px;margin:auto;padding:36px 24px;text-align:center}.home-emblem{height:115px}.home-emblem img{height:100%;filter:drop-shadow(0 8px 15px #10142e88)}.eyebrow{font-size:12px;letter-spacing:2px;color:#f4d58b;font-weight:700}.home h1{font-size:42px;color:#fff0ba;margin:10px 0;text-shadow:0 4px #765534}.home-subtitle{color:#e0ddcc;font-size:14px}.band-cards{display:grid;gap:12px;margin:26px 0}.band-card{display:flex;align-items:center;gap:22px;text-align:left;padding:15px 22px;border-radius:22px;border:2px solid #dec18a;background:linear-gradient(115deg,#fff5d7,#ebdbb0);color:#423927;box-shadow:0 5px #8a6946,0 9px 20px #11162f44;transition:transform .18s}.band-card:hover{transform:translateY(-3px)}.band-card strong{display:block;font-size:19px}.band-card small{display:block;margin-top:5px;color:#645740;font-size:12px}.band-number{font-size:37px;font-weight:900;color:#55704b;min-width:51px}.band-number small{display:inline;margin-left:4px}.band-arrow{margin-left:auto;font-size:30px;color:#8d6938}.home-note{font-size:12px;color:#d4d4ca;line-height:1.9;margin-top:28px}.current .sprite{animation:cone-bob 2.4s ease-in-out infinite}@keyframes cone-bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-1.4cqw)}}.test .golden-cone{display:block;width:23cqw;height:23cqw;object-fit:contain;margin:-14cqw auto -2cqw;filter:sepia(1) saturate(3.8) hue-rotate(352deg) brightness(1.3) drop-shadow(0 0 8px #ffdd73)}.test span{display:inline-block;background:#fff0b9;color:#573d20;border:2px solid #bd8c3e;border-radius:12px;padding:2px 10px;white-space:nowrap}.test:disabled{opacity:.85}dialog{background:#303455;color:#fff4d7;border-color:#d8bc80}.dialog-head{background:#272d4d;border-color:#6a654f}.dialog-head small{color:#d4cba9}.close{background:#4c506c;color:#fff4d7}.word-card h3,.word-row strong{color:#ffe39a}.word-card .meaning,.hint,.fill-hint,.quiz-intro,.source-note{color:#e0d8c2}.stage{color:#c5e6ae}.stage-detail{color:#ffdf98}.secondary{background:#4c506c;border-color:#898294;color:#fff5db}.content select,.search{background:#fff6df;color:#382d25}.content a{color:#e8d38e}.word-row span,.empty{color:#e0d8c2}.source-note,.history-row{background:#41465f}.quiz-actions{background:#303455}.question{background:#fff6df;color:#403426}.question b{color:#77623e}.score b{color:#ffdf8b}.quiz-meter{padding:22px 26px 8px}.quiz-meter>div:first-child{display:flex;justify-content:space-between;font-size:13px;color:#efe3bf;margin-bottom:10px}.meter-track{height:12px;background:#191e38;border:1px solid #626781;border-radius:20px;overflow:hidden}.meter-track i{height:100%;display:block;background:linear-gradient(90deg,#91bb77,#ffe099);transition:width .3s}.single-question{text-align:center;padding:20px 24px 32px}.single-question h3{font-size:27px;color:#fff2cb;line-height:1.5;margin:15px 0}.fill-hint{font-size:13px}.letter-slots{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:28px auto 8px;max-width:530px}.letter-slots input,.given-letter{width:42px;height:53px;border:2px solid #d7b477;border-bottom:5px solid #b88b4c;border-radius:10px;background:#fff6df;color:#322a23;text-align:center;font-size:27px;font-weight:800;padding:0;caret-color:#342d24}.given-letter{display:grid;place-items:center;background:#f4cf79;color:#4b381e}.letter-slots input:focus{outline:3px solid #b0d698;outline-offset:3px}.celebrate h3{color:#c5e6ae}#home-error{color:#ffe099}@media(max-width:480px){.home-content{padding:22px 20px}.home-emblem{height:88px}.home h1{font-size:35px}.band-card{padding:12px 18px}.letter-slots{gap:6px}.letter-slots input,.given-letter{width:35px;height:46px;font-size:24px}}@media(prefers-reduced-motion:reduce){.current .sprite{animation:none}}
.dictionary-details{margin:10px auto 18px;max-width:500px}.dictionary-phonetic{color:#ffe3a2;font-family:Arial,sans-serif;font-size:20px;letter-spacing:1px}.phonetic-note{display:block;color:#c9cbd7;font-size:11px;margin-top:6px}.sense-list{margin-top:18px;display:grid;gap:10px;text-align:left}.sense{display:flex;gap:12px;align-items:baseline;font-size:16px;line-height:1.65}.sense b{background:#4a5068;color:#ffe1a0;padding:2px 8px;border-radius:7px;min-width:48px;text-align:center;font-size:14px;flex-shrink:0}.sense span{color:#fff0d2}.word-row .dictionary-details{margin:0}.word-row .sense{font-size:13px}.word-row .sense span{text-align:left;color:#fff0d2}.word-row .dictionary-phonetic{font-size:15px}
.band-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.band-card{gap:12px;padding:12px 18px}.band-card:last-child{grid-column:1/-1}.band-number{font-size:31px}.band-number small{font-size:12px}@media(max-width:480px){.band-cards{grid-template-columns:1fr}.band-card:last-child{grid-column:auto}}
