@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAn4ABMAAAAAEwQAAAmOAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGjQbgnQcLj9IVkFSgQEGYD9TVEFUgQIAgQovahEICok0h0ULIAAwhzoBNgIkAzwEIAWHJgeBDgwHG6QQUdRKTmoBFD8K42bniObKrG3LZFcMWZzFmrjTFhQ6TVTqPJcInrfrvzq3b2PGn1wwMiNYGTy9ViREYARlL1zAGcPdPqBt3gNWrfKthv4xnM+b9caw+wmjgEUVRjHXhS6jgCK6zf5HiWQacJpGdAgdrbV6g/Rf1BfxRqZVQnrxRVWSJb6RLFnyu0elilmjeoSQCKnxsmwLaddUMjnksriSYuuPl06EAl7KfAiWQjCUETz0zNZ3EII94CDQtzkMfZ/9IkkY8tZRZTDky5ZVwBAM+GYpdd4ZVAWYImnLkiTg48l79gGx3D+VBtLeyg8u7bJAd4uo0pFuQBFysE9C95l0W4Fkiao6GfrDbu77lVU7wk9cV3uqOsXmQiMkhVKl1ugjzUAJBSIkkVWHijkpkVSyUFsgVBuJMA0N+ZnXtyUv5yMigGdfQRmwL1AAjQ3YXG6iIFNSUdPQo8+AISPGAltBMDQRAtyf4ZspLlZkpyOVoMZPvFGWzvk8p5SUC/NWPMj6T2/Yas2EdlON5GkfdkeFwVGjta825H89NIenlLWAPAp5h1KDtRhCaAQWMsFKtEvOKpIhgLHlXPARokkgEGEOAkqxJRQpKYq4ezahIiLHP6hZpqMbV0pUF2vdvEimLEQ/iIUYLgYWs0VXGVlLTOPdaPmFfCC/XrtzqVo1ez7vz6+Kd2+7o11ZJ+4MreLbB5BKVGxobAq4jZYalZ5aX2CKJiwUuc9GNJyi4M8bGyKcdjSRrG4JohdF8buJfmQefbYYREnMFsOoiNliFDVxmRgL0XUmUMLqzW0A4gCQAhWGYCQpFNukwXhIkPMsbRI19ewtw8Cp2Wj/Ro5cM2OTAbJAvZ/L4opBXb9+UHscYuOKM/W8isgwN26Exexjizmfnlp9dE3hOSqdZ/F5QqbckIlPb+oKfXxd6hftJ7Sm/uyPYpONza84CRlMNk/uhOrLpyf53982++zRkXNu3g3VF8qFbx1+7fbHZ9DrB3VXWNSmhnT2vrwS1+1Z+kHGBaZIhnnvuLBTNDeA340D1DWu5/jEa9pVfl6+Jij+yo3EELNixXCLjr173Q5eDP7Y7/L4iQFHbjpaJLFoP4cCsYP6sAPL7gMHNg53yYjqxqTDrYqLDl5DzW/eTLjYxCvucprjI3yl2ykKowKUC2Ox2FJLFo6Fa1HBWLC2jMCIIBEmklkYhmkpmBhTm/LCvJAH5oGcMKcgFEP1xUdho8ANPa6RFD99/PN60fjj9eXy2Eex4B5MpmRapXidzFk1p4uLk3+hn6jAP9ovJcXPPwk8o/0ltizbdbnTprvx4PSxT0VZ3Xc772aN7RflgbXRYwc3hLNO+k878nxGwfuVM8m8Gs7WEoVGWLHwSpx4vNSHBCMNqJ4m15Kp/TfHHVkQd++eY7PGN4W5byTs+6Ft8Ozvb/D60btv37de8ER0mS3P/0sLW84qGjEVkwztPzz06eGUWwKLwPb0D/WFd3vltl2aP276KpM0JNz6AfnAnZ5ADlF2zVyZ2OkxHSMxWPMnSZLbbDR3F1UjPVqp4d68da13F1YZujdWw7271iecO2l9+/4p47Oztjck355/75wFOI+VdGDqbNGs+ISgxg3iB2jb2r+b0CWsNLHIM4sdv8SDSFBP/Oromz6FNCWw2iMTxV0R8QLyBTkpe0j5+pSSJOOTB5Mck/gh3IopuNQnhKj02t3FL80gGbEh89SZcwTxcYt5cZT/nMnB3uXfPy8BSpVMBuRx+ZhACGzDBmwHsJRAjhotOnzuj2wDz3ug2wOUAY2NgZln9/TK/enG/oE4rO1wxvGUFMAxsZ0qNjRC7hl9d17e7imbgDt6uJXhUobDg7v3RX/yRCKxgMhfyiKcZfbpk0wmCcdQlIAOHeakXLvCNt++WfKiozNqSZxxJotn+c0a7DdPsx7DPYgKIDxwwYUZDg9aJbxocTjcwovr9WAsVV32mQoiiIOCHc60Oltst9qCQYuCqN1yHo0Kj60OgI2OqmiuBUWrNA0NDhYCDcdpmMrs1fZZ0xdTzMr1HdPtIHstYhqaPDDA5YxUDx7J4fJiisBSDI/L6G/bn34GNy8Q2g044ZTulAdFLb0tI6NNxfj3DzLjWiNGxje1pz7aXOcNV68lDPEd2SXl6VfBuwmHzdf1gxFy1HvA7pD8I2BnnmyGw852Cg5XbgIdEEGE5UCzen5jTlG6JCU5iajlxVcsXvbcS0SAcg1dcesWJLVK8+hYHOYQ+Pjy+EyVGXP0aPTFagrV9E03hCQvYx+g47KGq+1GsLj8uBIyihNw33YUe8PNC4BOJ3Lm1AglLV3nCuvUdIP+v15tVGbWIwgxLVpPkfpthCGpTKG+oA/DQfsKKvxhScqaN6FuElAUtTKv2UYgOmQegsN/n7njHUju8wM4VTcm+Q8xfX9SFwjTzdVqu95UOWSIGOabH8OGBEba//8Yxl3GcPdP/dMBOoSX/0z5SZmBoLbaPs+9asaMpb36yknKaw6FqWZa6A5vDa02mhkOba1q6KtLV208xrkwmW5C4VD6n2fvRjADy2qDYYnNy+H10Fq0LMbNzS863gkO7iQ8eC48/Ny5m59tOcEso3u7Qg3yrqDL6eKXwJAuWnhylfbWrRObe66rzX59+XDtzusnL66dI/86ArmtLlzED860Ef3bFPV78OX/zFTA11fcBn2Vntb7qiGBSgLBHyuv/uEaqqoTgSpOyjlzh86me1Vriv7i9rLPLvtghWmSnblRbAsBJL/4dScSQTBxOivHMO5QvBBY0iheJvfwWLxLOGzYKZyM4zVc2Cll46zEpeUV4MqGEWZj22SdOxhGAjgs9AEnfT+RoiMfcDb0GS5NncKVxju4Nt/mRk13O9Gz3FLct5oCD6wkwUNrCfHIUg6SMf8LwQGyVaBUqpLPW5BaMpRshEpl8nS1qw5dgnzlik8QBXmdy5UrIH74heTKZKMSilQso4hsRiGraQZRzxpNGqlEJMsXuAU7GlcR8mWSykUpVkWGyIf0a8v4qEQp5CtGsMiZa+4ESYQy+WilCiguHzxMXO54ogShooTV2bj2z1zL6DYSoImoQ8lFUWxMLBNQQgLkV2tHYgUoIbkuREz+fJHKxxWBcnvu3KQppFCxLkguB1NyVSp/TknRvNwYlCdbblWu3ze6owHdWluhE5tgQ6ej2SV65CijijoaRfSiH4Nqz1OpfEW+WeI/oU0ly60zkV9YzOQSYtZVEGYmrysTZAJkY4qZtIBD9/LYTIK7Nww3vMiYBwA=) 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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.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:Noto Sans Thai Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-sans-thai-thai-wght-normal-CtQSZ1tK.woff2) format("woff2-variations");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-sans-thai-latin-ext-wght-normal-DH1q_yQ5.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:Noto Sans Thai Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-sans-thai-latin-wght-normal-Bi3VDbYN.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;font-family:Manrope Variable,Noto Sans Thai Variable,system-ui,sans-serif;--canvas: #f7f8fa;--surface: #fdfdfd;--surface-soft: #f2f4f6;--surface-raised: #ffffff;--ink: #20242c;--ink-soft: #626975;--ink-faint: #89909a;--line: #dce0e5;--line-strong: #cbd1d8;--accent: #175fd4;--accent-hover: #104fae;--accent-soft: #eaf1fd;--on-accent: #ffffff;--success: #23865f;--success-soft: #edf8f3;--success-line: #b9decf;--danger: #a54242;--danger-soft: #fdf2f2;--danger-line: #e8c5c5;--scrim: rgb(39 44 53 / .12);--shadow: 0 20px 65px rgb(58 67 82 / .14), 0 2px 8px rgb(58 67 82 / .08);--radius: 14px;background:var(--canvas);color:var(--ink);font-synthesis:none;text-rendering:optimizeLegibility}:root[data-theme=dark]{color-scheme:dark;--canvas: #17191d;--surface: #1d2025;--surface-soft: #24282e;--surface-raised: #20242a;--ink: #edf0f4;--ink-soft: #aeb5bf;--ink-faint: #858e99;--line: #373c44;--line-strong: #4a505a;--accent: #77a8f7;--accent-hover: #9cbdff;--accent-soft: #202f49;--on-accent: #111a28;--success: #67c99e;--success-soft: #20352d;--success-line: #335f4d;--danger: #ed9a9a;--danger-soft: #3a2528;--danger-line: #704147;--scrim: rgb(4 6 9 / .62);--shadow: 0 24px 76px rgb(0 0 0 / .42), 0 2px 8px rgb(0 0 0 / .3)}*{box-sizing:border-box}html{min-width:320px;background:var(--canvas)}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden;background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased}button,textarea,input,select{color:inherit;font:inherit}button{cursor:pointer}button:disabled,textarea:disabled{cursor:not-allowed}button:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 42%,transparent);outline-offset:3px}::selection{background:color-mix(in srgb,var(--accent) 24%,transparent)}.app-shell{min-height:100dvh}.site-header{width:min(100% - 72px,1368px);min-height:82px;margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand-lockup,.brand-title,.header-tools,.word-meta,.dialog-actions,.text-action,.primary-button,.secondary-button,.new-set-button,.commit-link,.set-menu-heading{display:flex;align-items:center}.brand-lockup{gap:26px;min-width:0}.brand-title{gap:10px;flex:none}.brand-symbol{width:27px;height:27px;display:block;color:var(--accent);fill:currentColor}.brand-name{font-size:28px;font-weight:640;letter-spacing:-.045em}.brand-promise{color:var(--ink-soft);font-size:15px;white-space:nowrap}.header-tools{gap:14px}.icon-button{width:40px;height:40px;padding:0;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface-soft);color:var(--ink);transition:color .16s ease,border-color .16s ease,transform .16s ease,background-color .16s ease}.icon-button:hover{border-color:var(--line-strong);background:var(--surface-raised)}.icon-button:active,.primary-button:active,.secondary-button:active,.new-set-button:active,.set-picker-trigger:active{transform:translateY(1px)}.theme-toggle{background:var(--surface-soft)}.commit-link{gap:6px;color:var(--accent);font-size:13px;font-weight:620;text-decoration-thickness:1px;text-underline-offset:3px;white-space:nowrap}.commit-link-disabled{color:var(--ink-faint);text-decoration:none}.word-stage{width:min(100% - 72px,1368px);margin-inline:auto;padding:18px 0 72px}.set-toolbar{min-height:58px;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}.set-picker{position:relative}.set-picker-trigger{min-width:210px;margin-left:-12px;padding:9px 12px;display:flex;align-items:center;justify-content:space-between;gap:24px;border:0;border-radius:10px;background:transparent;text-align:left;transition:background-color .16s ease,transform .16s ease}.set-picker-trigger:hover{background:var(--surface-soft)}.set-picker-trigger span,.set-menu-item span{display:grid;gap:2px}.set-picker-trigger strong,.set-menu-item strong{font-size:14px;font-weight:650}.set-picker-trigger small,.set-menu-item small{color:var(--ink-faint);font-size:11px}.set-menu{position:absolute;z-index:20;top:calc(100% + 8px);left:-12px;width:min(360px,calc(100vw - 32px));max-height:390px;padding:8px;overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);box-shadow:var(--shadow);transform-origin:top left;animation:popover-in .18s cubic-bezier(.16,1,.3,1) both}.set-menu-heading{gap:8px;padding:8px 10px 10px;color:var(--ink-faint);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.set-menu-item{width:100%;padding:11px 10px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:0;border-radius:9px;background:transparent;color:var(--ink);text-align:left}.set-menu-item:hover,.set-menu-item[aria-selected=true]{background:var(--surface-soft)}.new-set-button,.primary-button,.secondary-button{min-height:42px;justify-content:center;gap:8px;padding:0 17px;border-radius:10px;font-size:13px;font-weight:700;white-space:nowrap;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,opacity .16s ease}.new-set-button,.secondary-button{border:1px solid var(--line);background:var(--surface);color:var(--ink)}.new-set-button:hover,.secondary-button:hover{border-color:var(--line-strong);background:var(--surface-soft)}.primary-button{border:1px solid var(--accent);background:var(--accent);color:var(--on-accent)}.primary-button:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover)}.primary-button:disabled,.secondary-button:disabled,.new-set-button:disabled,.text-action:disabled,.icon-button:disabled{opacity:.55}.word-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.word-card{min-height:214px;padding:27px 26px;display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);text-align:left;box-shadow:0 1px 2px #2a323f05;transition:border-color .18s ease,transform .18s ease,background-color .18s ease,box-shadow .18s ease;animation:card-in .36s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--card-index) * 32ms)}.word-card:hover{border-color:color-mix(in srgb,var(--accent) 62%,var(--line));background:var(--surface-raised);box-shadow:0 12px 28px #33425b12;transform:translateY(-2px)}.word-card-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.word-card:active{transform:translateY(0)}.word-card-title{max-width:100%;overflow-wrap:anywhere;font-size:24px;font-weight:650;letter-spacing:-.035em;line-height:1.12}.word-card-pronunciation,.word-card-part{color:var(--ink-soft);font-size:13px;line-height:1.45}.word-card-pronunciation{margin-top:10px}.word-card-definition{max-width:28ch;margin-top:18px;color:var(--ink);font-size:14px;line-height:1.58}.modal-layer{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;padding:28px 20px;display:grid;place-items:center;overflow-y:auto;background:var(--scrim);animation:scrim-in .18s ease both}.modal-surface{width:min(800px,100%);max-height:calc(100dvh - 56px);overflow:hidden auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);box-shadow:var(--shadow);animation:modal-in .28s cubic-bezier(.16,1,.3,1) both}.modal-surface-compact{width:min(560px,100%)}.modal-surface:focus{outline:none}.word-dialog{padding:42px 56px 46px}.word-dialog-header,.modal-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.word-dialog-header h2{margin:0;font-size:clamp(40px,4vw,52px);font-weight:680;letter-spacing:-.055em;line-height:1}.word-meta{gap:20px;margin-top:13px;color:var(--ink-soft);font-size:15px}.modal-close{width:36px;height:36px;margin-top:-7px;margin-right:-10px;border-color:transparent;background:transparent}.definition-band{min-height:102px;margin-top:23px;padding:16px 0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.definition-band>div{padding-right:32px}.definition-band>div+div{padding-right:0;padding-left:40px;border-left:1px solid var(--line)}.language-label{display:block;margin-bottom:7px;color:var(--ink-soft);font-size:13px;font-weight:650}.definition-band p{margin:0;font-size:16px;font-weight:520;line-height:1.55}[lang=th],.thai-copy{font-family:Noto Sans Thai Variable,Manrope Variable,sans-serif}.examples-section{padding:17px 0 19px;border-bottom:1px solid var(--line)}.examples-section h3{margin:0 0 4px;color:var(--ink-soft);font-size:12px;font-weight:650}.example-list{display:grid}.example-row{min-height:82px;padding:17px 0;display:grid;grid-template-columns:40px 102px minmax(0,1fr);align-items:start;gap:12px}.example-row+.example-row{border-top:1px solid var(--line)}.example-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:var(--surface-soft);color:var(--ink)}.example-row>strong{padding-top:9px;font-size:14px;line-height:1.35}.example-row p{margin:0;font-size:14px;line-height:1.55}.example-row>div{padding-top:6px}.example-row .thai-copy{margin-top:4px;color:var(--ink-soft)}.text-action{gap:7px;padding:7px 0;border:0;background:transparent;color:var(--accent);font-size:14px;font-weight:620}.text-action:hover:not(:disabled){color:var(--accent-hover)}.practice-section{padding-top:18px}.practice-section label,.field-group label{display:block;margin-bottom:9px;color:var(--ink-soft);font-size:13px;font-weight:600}.practice-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:16px}textarea{width:100%;resize:vertical;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--ink);line-height:1.5;transition:border-color .16s ease,background-color .16s ease}textarea::placeholder{color:var(--ink-faint);opacity:1}textarea:hover:not(:disabled),textarea:focus{border-color:var(--accent);background:var(--surface-raised)}.practice-input-row textarea{min-height:78px;padding:12px 14px;font-size:14px}.check-button{align-self:center;min-width:142px;min-height:48px}.feedback-result{margin-top:13px;padding:14px 16px;display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;border:1px solid var(--success-line);border-radius:10px;background:var(--success-soft);color:var(--success)}.feedback-result strong{display:block;margin:1px 0 5px;font-size:14px}.feedback-result p{margin:0;color:var(--ink-soft);font-size:13px;line-height:1.5}.feedback-result .thai-copy,.feedback-result .feedback-detail{margin-top:5px}.feedback-result .feedback-detail{color:var(--ink)}.feedback-revise{border-color:var(--danger-line);background:var(--danger-soft);color:var(--danger)}.attempt-history{margin-top:13px;color:var(--ink-soft);font-size:12px}.attempt-history summary{width:fit-content;cursor:pointer;font-weight:650}.attempt-list{margin-top:10px;display:grid;gap:8px}.attempt-list>div{padding:10px 12px;border-left:2px solid var(--line-strong);background:var(--surface-soft)}.attempt-list p{margin:0 0 4px;color:var(--ink)}.new-set-form{padding:30px}.modal-kicker{margin:0 0 5px;color:var(--accent);font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.modal-heading-row h2{max-width:410px;margin:0;font-size:24px;letter-spacing:-.035em;line-height:1.22}.field-group{margin-top:28px}.field-group textarea{min-height:110px;padding:13px 14px;font-size:14px}.field-help{margin:8px 0 0;color:var(--ink-faint);font-size:11px}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:24px}.inline-error{margin:16px 0 0;padding:11px 12px;display:flex;align-items:flex-start;gap:8px;border:1px solid var(--danger-line);border-radius:10px;background:var(--danger-soft);color:var(--danger);font-size:12px;line-height:1.45}.inline-error svg{flex:0 0 auto;margin-top:1px}.inline-error-compact{margin-top:8px}.set-skeleton{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.set-skeleton i{height:38px;border-radius:9px;background:var(--surface-soft);animation:skeleton-pulse 1.3s ease-in-out infinite alternate}.example-skeleton,.feedback-skeleton{padding:14px 0;display:grid;grid-template-columns:40px 1fr;gap:14px}.example-skeleton i,.feedback-skeleton i{width:38px;height:38px;border-radius:10px;background:var(--surface-soft);animation:skeleton-pulse 1.3s ease-in-out infinite alternate}.example-skeleton span,.feedback-skeleton span{padding-top:3px;display:grid;gap:9px}.example-skeleton b,.feedback-skeleton b{height:10px;border-radius:5px;background:var(--surface-soft);animation:skeleton-pulse 1.3s .12s ease-in-out infinite alternate}.example-skeleton b:last-child,.feedback-skeleton b:last-child{width:68%}.feedback-skeleton{margin-top:13px;padding:14px 16px;border:1px solid var(--line);border-radius:10px}.empty-state{min-height:62dvh;display:grid;place-items:center;align-content:center;text-align:center}.empty-state h1{max-width:560px;margin:0;font-size:36px;letter-spacing:-.045em}.empty-state p{max-width:480px;margin:14px 0 24px;color:var(--ink-soft)}@keyframes card-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes popover-in{0%{opacity:0;transform:translateY(-5px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes skeleton-pulse{0%{opacity:.45}to{opacity:1}}@media(max-width:1050px){.word-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.site-header,.word-stage{width:min(100% - 32px,100%)}.site-header{min-height:72px}.brand-lockup{gap:10px}.brand-name{font-size:24px}.brand-promise{display:none}.commit-link svg{display:none}.word-stage{padding-top:8px}.word-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.word-card{min-height:190px;padding:20px}.set-picker-trigger{min-width:0}.modal-layer{padding:12px;align-items:end}.modal-surface{width:100%;max-height:calc(100dvh - 24px)}.word-dialog{padding:28px 24px 32px}.word-dialog-header h2{font-size:40px}.definition-band{grid-template-columns:1fr}.definition-band>div,.definition-band>div+div{padding:10px 0;border-left:0}.definition-band>div+div{border-top:1px solid var(--line)}.example-row{grid-template-columns:38px minmax(0,1fr)}.example-row>strong{padding-top:7px}.example-row>div{grid-column:2;padding-top:0}.practice-input-row{grid-template-columns:1fr;gap:10px}.check-button{width:100%}}@media(max-width:480px){.header-tools{gap:8px}.commit-link{font-size:11px}.set-toolbar{align-items:stretch}.set-picker{min-width:0}.set-picker-trigger{width:100%}.new-set-button{padding-inline:13px}.word-grid{grid-template-columns:1fr}.word-card{min-height:170px}.new-set-form{padding:24px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.sets-manager{max-width:760px;margin-inline:auto}.sets-manager-head{margin-bottom:18px;padding-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}.sets-manager-head h1{margin:0 0 2px;font-size:24px;letter-spacing:-.03em}.sets-manager-head p{margin:0;color:var(--ink-soft);font-size:13px}.sets-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.sets-list-item{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.sets-list-info{min-width:0;display:flex;flex-direction:column;gap:3px}.sets-list-info strong{font-size:15px;letter-spacing:-.02em}.sets-list-info small{color:var(--ink-soft);font-size:12px}.sets-list-actions{flex:none;display:flex;align-items:center;gap:8px}.sets-list-actions .secondary-button{min-height:36px;padding:0 13px}.danger-button{min-height:36px;padding:0 13px;border:1px solid var(--danger-line);border-radius:10px;background:var(--danger-soft);color:var(--danger);font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.danger-button:hover:not(:disabled){border-color:var(--danger)}.danger-button:active{transform:translateY(1px)}@media(max-width:760px){.sets-list-item{flex-direction:column;align-items:flex-start}.sets-list-actions{width:100%;flex-wrap:wrap}}.load-more-row{margin-top:26px;display:flex;flex-direction:column;align-items:center;gap:10px}.load-more-grid{margin-top:26px}.load-more-skeleton{min-height:214px;border-radius:14px;background:var(--surface-soft);animation:skeleton-pulse 1.3s ease-in-out infinite alternate}.word-card-mastered{border-color:var(--success-line);background:color-mix(in srgb,var(--success-soft) 55%,var(--surface))}.word-card-mastered:hover{border-color:color-mix(in srgb,var(--success) 55%,var(--success-line))}.mastery-chip{margin-top:auto;display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border:1px solid var(--success-line);border-radius:999px;background:var(--success-soft);color:var(--success);font-size:11px;font-weight:650;letter-spacing:.01em;white-space:nowrap}.review-view{width:min(100%,900px);margin-inline:auto}.review-heading{margin-bottom:18px;padding-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}.review-heading h1{margin:0;font-size:24px;letter-spacing:-.03em}.review-list{display:flex;flex-direction:column;gap:14px}.review-row{padding:18px 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.review-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.review-word{display:inline-flex;align-items:center;gap:10px;padding:0;border:0;background:none;color:var(--ink);cursor:pointer;text-align:left}.review-word:hover strong{color:var(--accent)}.review-word strong{font-size:20px;letter-spacing:-.03em;transition:color .16s ease}.review-set{color:var(--ink-faint);font-size:12px}.review-attempts{margin-top:12px;display:flex;flex-direction:column}.review-attempt{padding:10px 0 10px 14px;border-left:2px solid var(--line)}.review-attempt+.review-attempt{border-top:1px solid var(--line);margin-top:4px}.review-attempt p{margin:0 0 3px;font-size:14px;line-height:1.5}.review-attempt-meta{color:var(--ink-faint);font-size:12px}.review-empty{padding:48px 0;text-align:center}.review-empty h2{margin:0 0 6px;font-size:20px;letter-spacing:-.03em}.review-empty p{margin:0;color:var(--ink-soft);font-size:14px}
