:root{--bg:#f3f8ff;--panel:#fff;--panel2:rgba(255,255,255,.94);--ink:#101827;--muted:#667789;--line:#dcebf7;--line2:#eaf2f9;--blue:#1672ff;--blue2:#49a7ff;--shadow:0 8px 22px rgba(31,78,125,.075);--shadow2:0 12px 32px rgba(23,74,132,.12);--green:#10814d;--green-bg:#e8f8ef;--red:#c43251;--red-bg:#fde8ee;--amber:#b97800;--amber-bg:#fff4d8;--gray:#607284;--gray-bg:#eef4f8}*{box-sizing:border-box}html{background:var(--bg);-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#fbfdff 0%,#eef7ff 100%);font-family:Inter,"SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);overflow-x:hidden}.notranslate{translate:no}button,input,select,textarea{font:inherit}button{border:0;background:none;color:inherit;cursor:pointer}.hidden{display:none!important}.app{width:100%;max-width:720px;margin:0 auto;padding:14px 20px 26px}.top-grid{display:grid;grid-template-columns:96px minmax(0,1fr) minmax(0,1fr) 52px;gap:8px}.chip{height:48px;border:1px solid var(--line);background:var(--panel2);border-radius:14px;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;gap:6px;overflow:hidden;white-space:nowrap}.date-chip b{font-size:18px;font-weight:820;letter-spacing:.01em}.lang-chip{font-size:13px;font-weight:820;color:#1d2b3c;padding:0 4px}.lang-chip .flag{font-size:18px;line-height:1;flex:0 0 auto}.lang-chip .arrow{color:#8aa0b7;font-weight:900}.lang-chip.active{border-color:#b8d8ff;box-shadow:0 10px 26px rgba(22,114,255,.12)}.settings-chip{font-size:22px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.stat{height:70px;padding:8px 8px;border:1px solid var(--line);border-radius:14px;background:var(--panel2);box-shadow:var(--shadow);position:relative;overflow:hidden}.stat-label{display:block;max-width:62px;color:var(--muted);font-size:12px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat b{display:block;font-size:23px;line-height:.95;margin-top:6px;font-weight:850}.stat small{display:block;color:var(--muted);font-size:12px;margin-top:7px}.stat i{position:absolute;right:7px;top:23px;width:27px;height:27px;border-radius:11px;background:#f2f8ff;color:#708195}.controls-row{display:grid;grid-template-columns:1.18fr 1.55fr 92px;gap:8px;margin-top:12px;align-items:stretch}.filter-wrap{position:relative;min-width:0}.filter-button,.idiom-card,.add-button{height:54px;border:1px solid var(--line);border-radius:15px;background:var(--panel2);box-shadow:var(--shadow);display:flex;align-items:center}.filter-button{width:100%;padding:0 12px;justify-content:space-between;color:#263c55;font-size:14px;font-weight:820;min-width:0}.filter-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-menu{position:absolute;z-index:50;top:62px;left:0;width:min(250px,78vw);padding:10px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 22px 54px rgba(20,60,105,.18)}.filter-menu label{height:36px;display:flex;align-items:center;gap:10px;font-size:15px;font-weight:760;color:#334155}.filter-menu input{width:17px;height:17px;accent-color:var(--blue)}.idiom-card{min-width:0;text-align:left;padding:0 12px;gap:8px}.idiom-star{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#f1f8ff;color:var(--blue);font-size:16px;flex:0 0 auto}.idiom-copy{min-width:0;display:flex;flex-direction:column;line-height:1.05}.idiom-copy small{color:#1669d8;font-size:13px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.idiom-copy b{font-size:16px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.idiom-copy em{font-style:normal;color:var(--muted);font-size:12px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.add-button{justify-content:center;gap:5px;background:linear-gradient(135deg,var(--blue),var(--blue2));color:white;font-size:17px;font-weight:860;box-shadow:0 13px 28px rgba(22,114,255,.22)}.add-button span{font-size:24px;line-height:1}.list-panel{margin-top:13px}.list-head{height:38px;padding:0 22px;display:grid;grid-template-columns:1fr 1.16fr;align-items:center;color:#66788b;font-size:14px;font-weight:850}.translation-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.shuffle-button{width:46px;height:46px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;color:#126eea;flex:0 0 auto}.shuffle-button.on{background:linear-gradient(135deg,var(--blue),var(--blue2));color:white}.word-list{display:flex;flex-direction:column;gap:8px}.word-row{border:1px solid var(--line2);background:rgba(255,255,255,.97);border-radius:16px;box-shadow:0 7px 20px rgba(34,82,126,.055);display:grid;grid-template-columns:46px minmax(0,1fr);gap:11px;padding:11px 12px;min-height:76px;align-items:center;transition:transform .15s ease,background .15s ease}.word-row.expanded{min-height:140px}.sound-btn{width:40px;height:40px;border-radius:13px;background:#f8fbff;border:1px solid var(--line);color:var(--blue);display:flex;align-items:center;justify-content:center;box-shadow:0 5px 14px rgba(32,80,129,.06)}.word-core{min-width:0}.word-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.word-text{font-size:19px;line-height:1.08;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:820;letter-spacing:-.015em}.row-actions{display:flex;align-items:center;gap:6px}.status-pill{height:27px;border-radius:10px;padding:0 9px;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:820;white-space:nowrap}.status-pill:before{content:"";width:7px;height:7px;border-radius:50%;border:1.5px solid currentColor}.pill-known{background:var(--green-bg);color:var(--green)}.pill-notKnown{background:var(--red-bg);color:var(--red)}.pill-review{background:var(--amber-bg);color:var(--amber)}.pill-unknown{background:var(--gray-bg);color:var(--gray)}.more-btn{width:22px;font-size:22px;color:#7a8798;line-height:1}.translation-btn{width:100%;min-height:23px;margin-top:6px;text-align:left;color:#6e7b8c;font-size:14px;font-style:italic;overflow:hidden;text-overflow:ellipsis}.translation-btn small{display:none}.word-row.expanded .translation-btn{margin-top:10px;border:1px solid var(--line2);border-radius:13px;background:#fbfdff;color:#111827;font-style:normal;padding:10px 12px}.word-row.expanded .translation-btn small{display:block;color:#6c7a8d;margin-top:6px;font-style:italic}.load-more{width:100%;height:48px;margin:10px 0;border:1px solid var(--line);border-radius:15px;background:#fff;color:#1666cc;font-weight:850}.empty{height:96px;display:flex;align-items:center;justify-content:center;color:#748093;font-weight:760}.ico{display:inline-block;width:18px;height:18px;background:currentColor;mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center}.cal,.calendar{mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M7 2h2v3h6V2h2v3h3a2 2 0 0 1 2 2v13a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h3V2Zm13 8H4v10h16V10Z"/></svg>');-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M7 2h2v3h6V2h2v3h3a2 2 0 0 1 2 2v13a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h3V2Zm13 8H4v10h16V10Z"/></svg>')}.gear{mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M19.4 13.5c.1-.5.1-1 .1-1.5s0-1-.1-1.5l2.1-1.6-2-3.5-2.5 1a8 8 0 0 0-2.6-1.5L14 2h-4l-.4 2.9A8 8 0 0 0 7 6.4l-2.5-1-2 3.5 2.1 1.6A9 9 0 0 0 4.5 12c0 .5 0 1 .1 1.5L2.5 15.1l2 3.5 2.5-1c.8.7 1.6 1.2 2.6 1.5L10 22h4l.4-2.9c1-.3 1.8-.8 2.6-1.5l2.5 1 2-3.5-2.1-1.6ZM12 15.5A3.5 3.5 0 1 1 12 8a3.5 3.5 0 0 1 0 7.5Z"/></svg>');-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M19.4 13.5c.1-.5.1-1 .1-1.5s0-1-.1-1.5l2.1-1.6-2-3.5-2.5 1a8 8 0 0 0-2.6-1.5L14 2h-4l-.4 2.9A8 8 0 0 0 7 6.4l-2.5-1-2 3.5 2.1 1.6A9 9 0 0 0 4.5 12c0 .5 0 1 .1 1.5L2.5 15.1l2 3.5 2.5-1c.8.7 1.6 1.2 2.6 1.5L10 22h4l.4-2.9c1-.3 1.8-.8 2.6-1.5l2.5 1 2-3.5-2.1-1.6ZM12 15.5A3.5 3.5 0 1 1 12 8a3.5 3.5 0 0 1 0 7.5Z"/></svg>')}.trend{mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M4 17.5 9.5 12l4 4L21 8.5V14h2V5h-9v2h5.5l-6 6-4-4L2.6 16 4 17.5Z"/></svg>');-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M4 17.5 9.5 12l4 4L21 8.5V14h2V5h-9v2h5.5l-6 6-4-4L2.6 16 4 17.5Z"/></svg>')}.bars{mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M5 20h3V9H5v11Zm5 0h4V4h-4v17Zm6 0h3v-7h-3v7Z"/></svg>');-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M5 20h3V9H5v11Zm5 0h4V4h-4v17Zm6 0h3v-7h-3v7Z"/></svg>')}.infinity{mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M18.5 7C15.8 7 14 9 12 12c-2-3-3.8-5-6.5-5A5.5 5.5 0 0 0 0 12.5 5.5 5.5 0 0 0 5.5 18c2.7 0 4.5-2 6.5-5 2 3 3.8 5 6.5 5a5.5 5.5 0 0 0 0-11Zm-13 8A2.5 2.5 0 1 1 5.5 10c1.3 0 2.3.9 4.1 2.5C7.8 14.1 6.8 15 5.5 15Zm13 0c-1.3 0-2.3-.9-4.1-2.5 1.8-1.6 2.8-2.5 4.1-2.5a2.5 2.5 0 0 1 0 5Z"/></svg>');-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M18.5 7C15.8 7 14 9 12 12c-2-3-3.8-5-6.5-5A5.5 5.5 0 0 0 0 12.5 5.5 5.5 0 0 0 5.5 18c2.7 0 4.5-2 6.5-5 2 3 3.8 5 6.5 5a5.5 5.5 0 0 0 0-11Zm-13 8A2.5 2.5 0 1 1 5.5 10c1.3 0 2.3.9 4.1 2.5C7.8 14.1 6.8 15 5.5 15Zm13 0c-1.3 0-2.3-.9-4.1-2.5 1.8-1.6 2.8-2.5 4.1-2.5a2.5 2.5 0 0 1 0 5Z"/></svg>')}.down{mask-image:none;background:none}.down:before{content:"⌄";font-style:normal}.shuffle{mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M17 3h5v5h-2V6.4l-4.9 4.9-1.4-1.4L18.6 5H17V3ZM4 7h3.2c1.2 0 2.3.5 3.1 1.3l7.3 7.3H20V14h2v5h-5v-2h1.6l-7.7-7.7A5.2 5.2 0 0 0 7.2 8H4V7Zm8.8 7.5 1.4 1.4-3.9 3.8A4.5 4.5 0 0 1 7.2 21H4v-2h3.2c.7 0 1.3-.3 1.8-.7l3.8-3.8Z"/></svg>');-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M17 3h5v5h-2V6.4l-4.9 4.9-1.4-1.4L18.6 5H17V3ZM4 7h3.2c1.2 0 2.3.5 3.1 1.3l7.3 7.3H20V14h2v5h-5v-2h1.6l-7.7-7.7A5.2 5.2 0 0 0 7.2 8H4V7Zm8.8 7.5 1.4 1.4-3.9 3.8A4.5 4.5 0 0 1 7.2 21H4v-2h3.2c.7 0 1.3-.3 1.8-.7l3.8-3.8Z"/></svg>')}.speaker{mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M3 9v6h4l5 4V5L7 9H3Zm13.5 3a4.5 4.5 0 0 0-2.1-3.8v7.6a4.5 4.5 0 0 0 2.1-3.8Zm-2.1-8.6v2.1a7.5 7.5 0 0 1 0 13v2.1a9.5 9.5 0 0 0 0-17.2Z"/></svg>');-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M3 9v6h4l5 4V5L7 9H3Zm13.5 3a4.5 4.5 0 0 0-2.1-3.8v7.6a4.5 4.5 0 0 0 2.1-3.8Zm-2.1-8.6v2.1a7.5 7.5 0 0 1 0 13v2.1a9.5 9.5 0 0 0 0-17.2Z"/></svg>')}.modal{border:0;background:transparent;padding:0;max-width:min(91vw,620px)}.modal::backdrop{background:rgba(15,23,42,.26);backdrop-filter:blur(5px)}.modal-card{background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:0 28px 80px rgba(15,50,90,.26);padding:26px 28px;min-width:min(88vw,600px)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}.modal-head h2{margin:0;font-size:27px;line-height:1.05}.modal-close{width:52px;height:52px;border-radius:16px;border:1px solid var(--line);font-size:31px}.range-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.range-btn{height:52px;border:1px solid var(--line);border-radius:15px;background:#f8fbff;font-size:17px;font-weight:850;color:#2d3e51}.field{display:flex;flex-direction:column;gap:8px;margin:12px 0;color:#48586b;font-size:16px;font-weight:850}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#fbfdff;border-radius:15px;padding:13px 15px;font-size:17px;color:#111827;outline:none}.primary{height:54px;border-radius:17px;background:linear-gradient(135deg,var(--blue),var(--blue2));color:white;font-size:18px;font-weight:850;padding:0 26px}.primary:disabled{opacity:.55}.primary.wide{width:100%}.secondary{height:44px;border-radius:14px;border:1px solid var(--line);background:#fff;color:#1a5fb4;font-weight:820;padding:0 14px;display:inline-flex;align-items:center}.danger{height:44px;border-radius:14px;background:#fff1f3;color:#b42340;font-weight:820;padding:0 14px}.apply{float:right;margin-top:8px}.welcome-text{font-size:16px;line-height:1.42;color:#425166}.excel-box{margin-top:16px;border:1px solid var(--line);border-radius:18px;background:#fbfdff;padding:14px}.excel-box b,.excel-box small{display:block}.excel-actions,.settings-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px;flex-wrap:wrap}.import-label{cursor:pointer}#importExcelInput{display:none}@media(max-width:520px){.app{padding:13px 14px 26px}.top-grid{grid-template-columns:92px minmax(0,1fr) minmax(0,1fr) 50px;gap:7px}.chip{height:47px}.date-chip b{font-size:17px}.lang-chip{font-size:12px;gap:4px}.lang-chip .flag{font-size:17px}.stats-grid{gap:7px;margin-top:9px}.stat{height:68px;padding:8px 7px}.stat-label{font-size:12px;max-width:58px}.stat b{font-size:22px}.stat small{font-size:12px}.stat i{width:26px;height:26px;right:6px;top:23px}.controls-row{grid-template-columns:1.2fr 1.48fr 88px;gap:7px}.filter-button,.idiom-card,.add-button{height:52px}.filter-button{font-size:14px;padding:0 11px}.idiom-star{display:none}.idiom-copy small{font-size:12px}.idiom-copy b{font-size:15px}.idiom-copy em{font-size:12px}.add-button{font-size:16px}.list-head{padding:0 20px;font-size:14px}.shuffle-button{width:44px;height:44px}.word-row{grid-template-columns:44px minmax(0,1fr);gap:10px;padding:10px 11px;min-height:74px}.sound-btn{width:38px;height:38px}.word-text{font-size:18px}.status-pill{font-size:12px;height:26px;padding:0 8px}.translation-btn{font-size:14px}.modal-card{padding:24px 24px}.modal-head h2{font-size:26px}}@media(max-width:390px){.app{padding:12px 12px 24px}.top-grid{grid-template-columns:88px minmax(0,1fr) minmax(0,1fr) 48px;gap:6px}.chip{height:46px;border-radius:13px}.date-chip b{font-size:16px}.lang-chip{font-size:11.5px}.lang-chip .flag{font-size:16px}.settings-chip .ico{width:20px;height:20px}.stats-grid{gap:6px}.stat{height:66px}.stat-label{font-size:11px}.stat b{font-size:21px}.stat small{font-size:11px}.controls-row{gap:6px;grid-template-columns:1.15fr 1.35fr 82px}.filter-button{font-size:13px}.idiom-copy b{font-size:14px}.add-button{font-size:15px}.list-head{padding:0 18px;font-size:13px}.word-text{font-size:17px}.row-actions{gap:5px}.status-pill{font-size:11px;padding:0 7px}.more-btn{width:20px}.shuffle-button{width:42px;height:42px}.modal-card{padding:22px 20px}.modal-head h2{font-size:24px}.modal-close{width:48px;height:48px}}

/* v10 compact premium refinement */
:root{--blue:#1d7af2;--blue2:#4aa4ff;--line:#d7e7f3;--line2:#edf4fa;--shadow:0 7px 18px rgba(29,78,126,.07);--shadow2:0 14px 38px rgba(20,66,120,.14)}
body{background:linear-gradient(180deg,#fbfdff 0%,#eff7ff 100%);letter-spacing:-.01em}.app{max-width:720px;padding:10px 18px 22px}.top-grid{grid-template-columns:108px minmax(0,1fr) minmax(0,1fr) 50px;gap:7px}.chip{height:42px;border-radius:13px}.date-chip b{font-size:17px;font-weight:750}.date-chip .ico{width:15px;height:15px}.lang-chip{font-size:12px;font-weight:760;gap:4px}.lang-chip .flag{font-size:15px}.settings-chip .ico{width:20px;height:20px}.stats-grid{gap:7px;margin-top:8px}.stat{height:62px;border-radius:13px;padding:7px 8px}.stat-label{font-size:11.5px;font-weight:500;max-width:72px}.stat b{font-size:21px;font-weight:760;margin-top:5px}.stat small{font-size:11.5px;margin-top:5px;font-weight:500}.stat i{width:24px;height:24px;right:7px;top:23px;opacity:.78;color:#7b8da0}.controls-row{grid-template-columns:minmax(104px,1fr) minmax(110px,1.5fr) 88px;gap:7px;margin-top:10px}.filter-button,.idiom-card,.add-button{height:48px;border-radius:14px}.filter-button{padding:0 10px;font-size:13px;font-weight:760}.filter-menu{top:54px;width:min(226px,76vw);padding:8px;border-radius:16px}.filter-menu label{height:30px;font-size:13.5px;font-weight:650;gap:8px}.filter-menu input{width:15px;height:15px}.idiom-card{padding:0 10px;gap:7px}.idiom-star{width:23px;height:23px;font-size:13px;border-radius:8px}.idiom-copy small{font-size:11.5px;font-weight:760}.idiom-copy b{font-size:14px;font-weight:720;margin-top:3px}.idiom-copy em{font-size:11.5px;margin-top:3px}.add-button{font-size:15px;font-weight:760;gap:4px}.add-button span{font-size:22px}.list-panel{margin-top:9px}.list-head{height:32px;padding:0 18px;font-size:13px;font-weight:750;grid-template-columns:1fr 1.2fr}.shuffle-button{width:42px;height:42px;border-radius:13px}.word-list{gap:7px}.word-row{min-height:74px;padding:9px 10px;grid-template-columns:42px minmax(0,1fr);gap:10px;border-radius:15px}.word-row.expanded{min-height:124px}.sound-btn{width:38px;height:38px;border-radius:12px}.sound-btn .ico{width:18px;height:18px}.word-text{font-size:17.5px;font-weight:680;letter-spacing:-.02em}.row-actions{gap:5px;position:relative}.status-pill{height:24px;font-size:11.5px;font-weight:680;padding:0 8px;border-radius:9px}.status-pill:before{width:7px;height:7px;border-width:1.4px}.more-btn{width:20px;font-size:20px}.translation-btn{font-size:13.5px;margin-top:5px;font-weight:420}.word-row.expanded .translation-btn{margin-top:8px;padding:9px 10px;border-radius:12px}.empty{height:74px}.load-more{height:42px;border-radius:14px}.row-menu{position:absolute;z-index:80;right:0;top:30px;min-width:150px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 45px rgba(24,65,110,.18);display:flex;flex-direction:column;gap:2px}.row-menu button{height:32px;text-align:left;padding:0 10px;border-radius:10px;font-size:13px;font-weight:650;color:#26384b}.row-menu button:hover{background:#f4f8fc}.row-menu .danger-text{color:#b42340}.modal-card{border-radius:22px;padding:20px 22px;min-width:min(88vw,560px)}.modal-head{margin-bottom:14px}.modal-head h2{font-size:22px;font-weight:760}.modal-close{width:44px;height:44px;border-radius:14px;font-size:27px}.range-grid{gap:8px;margin-bottom:14px}.range-btn{height:44px;border-radius:14px;font-size:15px;font-weight:720}.field{gap:6px;margin:10px 0;font-size:14px;font-weight:720}.field input,.field select,.field textarea{border-radius:14px;padding:11px 13px;font-size:15px}.primary{height:48px;border-radius:15px;font-size:16px;font-weight:760}.apply{float:none;display:block;margin:12px 0 0 auto}.welcome-text{font-size:14px}.excel-actions,.settings-actions{margin-top:12px}.secondary,.danger{height:40px;border-radius:12px;font-size:13px}.excel-box{border-radius:16px;padding:12px}
@media(max-width:520px){.app{padding:10px 12px 22px}.top-grid{grid-template-columns:94px minmax(0,1fr) minmax(0,1fr) 46px;gap:6px}.chip{height:42px;border-radius:13px}.date-chip b{font-size:16px}.date-chip .ico{width:14px;height:14px}.lang-chip{font-size:11.2px;padding:0 3px}.lang-chip .flag{font-size:14px}.stats-grid{gap:6px;margin-top:8px}.stat{height:60px;padding:7px 7px}.stat-label{font-size:11px;max-width:58px}.stat b{font-size:20px}.stat small{font-size:11px}.stat i{width:23px;height:23px;top:22px;right:6px}.controls-row{grid-template-columns:minmax(104px,1.05fr) minmax(112px,1.35fr) 82px;gap:6px}.filter-button,.idiom-card,.add-button{height:47px}.filter-button{font-size:12.5px;padding:0 9px}.idiom-card{padding:0 9px}.idiom-star{display:none}.idiom-copy small{font-size:11.2px}.idiom-copy b{font-size:13.5px}.idiom-copy em{font-size:11.2px}.add-button{font-size:14.5px}.add-button span{font-size:20px}.list-head{height:30px;padding:0 17px;font-size:12.5px}.shuffle-button{width:40px;height:40px}.word-row{min-height:72px;padding:8px 9px;grid-template-columns:40px minmax(0,1fr);gap:9px}.sound-btn{width:36px;height:36px}.word-text{font-size:17px}.status-pill{height:23px;font-size:11px;padding:0 7px}.translation-btn{font-size:13px}.modal-card{padding:18px 20px}.modal-head h2{font-size:21px}.modal-close{width:42px;height:42px}.range-btn{height:42px;font-size:14.5px}}
@media(max-width:390px){.app{padding:9px 10px 22px}.top-grid{grid-template-columns:88px minmax(0,1fr) minmax(0,1fr) 42px;gap:5px}.chip{height:40px;border-radius:12px}.date-chip{gap:4px}.date-chip b{font-size:15px}.lang-chip{font-size:10.5px;gap:3px}.lang-chip .flag{font-size:13px}.settings-chip .ico{width:18px;height:18px}.stat{height:58px}.stat b{font-size:19px}.controls-row{grid-template-columns:minmax(98px,1fr) minmax(108px,1.25fr) 78px;gap:5px}.filter-button{font-size:12px}.idiom-copy b{font-size:13px}.add-button{font-size:14px}.list-head{padding:0 15px}.word-row{min-height:70px}.word-text{font-size:16.5px}.translation-btn{font-size:12.8px}.shuffle-button{width:39px;height:39px}.modal-card{padding:17px 18px}.modal-head h2{font-size:20px}}


/* v11 premium sticky refinement (overridden by v12) */
:root{--blue:#2a7ff4;--blue2:#58a9ff;--sticky-bg:linear-gradient(180deg,#f9fcff 0%,rgba(249,252,255,.97) 100%);--active-ring:#78b6ff;--active-shadow:0 12px 28px rgba(38,126,255,.22)}
body{background:linear-gradient(180deg,#f8fbff 0%,#eef6ff 100%)}
.app{padding-top:calc(10px + env(safe-area-inset-top,0px))}
.top-grid,.stats-grid,.controls-row{background:var(--sticky-bg)}
.top-grid{position:sticky;top:0;z-index:40;padding:6px 0 0;grid-template-columns:100px minmax(0,1.08fr) minmax(0,1.08fr) 48px;gap:8px}
.stats-grid{position:sticky;top:54px;z-index:39;padding:8px 0 7px;gap:7px}
.controls-row{position:sticky;top:124px;z-index:38;padding:8px 0 10px;grid-template-columns:96px minmax(0,1.75fr) 72px;gap:8px}
.chip,.stat,.filter-button,.idiom-card,.add-button,.shuffle-button,.word-row,.sound-btn,.review-quick{box-shadow:0 8px 18px rgba(34,82,126,.07)}
.chip{height:46px;border-radius:15px;border:1.2px solid #d2e4f4;background:rgba(255,255,255,.96)}
.date-chip{justify-content:flex-start;padding:0 14px;gap:8px}
.date-chip b{font-size:16px;font-weight:740}
.lang-chip{font-size:12px;font-weight:770;gap:5px;border:1.3px solid #cfe0ef}
.lang-chip .flag{font-size:15px}
.lang-chip.active{border:2px solid var(--active-ring);background:linear-gradient(180deg,#ffffff 0%,#f3f9ff 100%);box-shadow:var(--active-shadow)}
.settings-chip{border-radius:15px}.settings-chip .ico{width:18px;height:18px}
.stat{height:52px;padding:6px 7px;border-radius:13px}
.stat-label{font-size:10.8px;max-width:70px}
.stat b{font-size:17px;margin-top:3px;font-weight:740}
.stat small{font-size:10.5px;margin-top:4px}
.stat i{width:18px;height:18px;right:7px;top:19px;opacity:.65}
.filter-button,.idiom-card,.add-button{height:44px;border-radius:14px}
.filter-button{font-size:14px;padding:0 12px;font-weight:720}
.filter-button span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.filter-menu{top:50px;width:min(220px,72vw);border-radius:18px;z-index:90}
.idiom-card{padding:0 12px}.idiom-copy small{font-size:11px}.idiom-copy b{font-size:13.5px}.idiom-copy em{font-size:11px}.idiom-star{display:none}
.add-button{font-size:13px;gap:4px;padding:0 6px;text-align:center}.add-button span{font-size:18px}.add-button b{font-weight:700}
.list-head{height:28px;padding:0 24px 0 10%;font-size:12.5px;grid-template-columns:1fr 1.1fr}
.translation-head{gap:6px}.shuffle-button{width:38px;height:38px;border-radius:12px;padding:0;line-height:0}.shuffle-button .ico{width:18px;height:18px}
.word-list{gap:8px}
.word-row{width:90%;margin:0 auto;min-height:68px;padding:8px 10px;grid-template-columns:40px minmax(0,1fr);gap:10px;border-radius:15px}
.word-row.expanded{min-height:112px}
.sound-btn{width:36px;height:36px;border-radius:12px}.sound-btn .ico{width:17px;height:17px}
.word-main{gap:6px}.word-text{font-size:16px;font-weight:700}.translation-btn{font-size:12.8px;margin-top:4px}.word-row.expanded .translation-btn{padding:8px 10px;margin-top:7px}
.row-actions{gap:5px}
.review-quick{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:1px solid #dbe8f3;border-radius:9px;background:#f7fbff;color:#91a2b4;flex:0 0 auto}
.review-quick .ico{width:14px;height:14px}
.review-quick.active{background:var(--amber-bg);color:var(--amber);border-color:#f1d38b}
.status-pill{height:24px;font-size:11px;padding:0 8px;border-radius:9px;font-weight:670}
.more-btn{width:18px;font-size:18px}
.repeat{mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M12 5V2L7 6l5 4V7c3.31 0 6 2.69 6 6a6 6 0 0 1-10.24 4.24l-1.42 1.42A8 8 0 0 0 20 13c0-4.42-3.58-8-8-8Zm-6 6a6 6 0 0 1 10.24-4.24l1.42-1.42A8 8 0 0 0 4 11c0 4.42 3.58 8 8 8v3l5-4-5-4v3a6 6 0 0 1-6-6Z"/></svg>');-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M12 5V2L7 6l5 4V7c3.31 0 6 2.69 6 6a6 6 0 0 1-10.24 4.24l-1.42 1.42A8 8 0 0 0 20 13c0-4.42-3.58-8-8-8Zm-6 6a6 6 0 0 1 10.24-4.24l1.42-1.42A8 8 0 0 0 4 11c0 4.42 3.58 8 8 8v3l5-4-5-4v3a6 6 0 0 1-6-6Z"/></svg>')}
@media(max-width:520px){.top-grid{top:0;grid-template-columns:96px minmax(0,1.06fr) minmax(0,1.06fr) 46px;gap:6px}.stats-grid{top:52px}.controls-row{top:116px;grid-template-columns:92px minmax(0,1.72fr) 70px;gap:6px}.chip{height:44px}.lang-chip{font-size:11px}.lang-chip .flag{font-size:14px}.stat{height:51px;padding:6px 6px}.stat-label{font-size:10.3px;max-width:54px}.stat b{font-size:16px}.stat small{font-size:10.2px}.stat i{width:17px;height:17px;top:18px}.filter-button,.idiom-card,.add-button{height:42px}.filter-button{font-size:13px;padding:0 10px}.idiom-copy b{font-size:13px}.idiom-copy em,.idiom-copy small{font-size:10.6px}.add-button{font-size:12px}.list-head{padding:0 22px 0 10%;font-size:12px}.shuffle-button{width:36px;height:36px}.word-row{width:90%;min-height:66px;padding:8px 9px;grid-template-columns:38px minmax(0,1fr)}.sound-btn{width:34px;height:34px}.word-text{font-size:15.5px}.status-pill{font-size:10.6px;padding:0 7px}.review-quick{width:24px;height:24px}}
@media(max-width:390px){.top-grid{grid-template-columns:90px minmax(0,1fr) minmax(0,1fr) 42px;gap:5px}.stats-grid{top:50px}.controls-row{top:112px;grid-template-columns:88px minmax(0,1.75fr) 66px;gap:5px}.chip{height:42px}.date-chip{padding:0 10px}.date-chip b{font-size:15px}.lang-chip{font-size:10px;gap:4px}.lang-chip .flag{font-size:13px}.stat{height:49px}.stat b{font-size:15px}.stat small{font-size:9.8px}.filter-button{font-size:12.5px}.add-button{font-size:11.5px}.word-row{width:90%;min-height:64px}.word-text{font-size:15px}}

/* v12 layout repair: single sticky shell, full-width word cards, calmer shuffle */
:root{
  --blue:#2b7ff0;
  --blue2:#59a8fb;
  --active-ring:#6faeff;
  --active-soft:#eef7ff;
  --sticky-bg:linear-gradient(180deg,rgba(249,253,255,.98) 0%,rgba(241,248,255,.96) 100%);
}
.app{padding:10px 16px 26px!important;max-width:720px!important;}
.sticky-shell{
  position:sticky;top:0;z-index:80;
  margin:0 -16px 0;padding:10px 16px 10px;
  background:var(--sticky-bg);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(204,225,242,.62);
  box-shadow:0 10px 24px rgba(43,93,145,.065);
}
.top-grid,.stats-grid,.controls-row{position:static!important;top:auto!important;z-index:auto!important;background:transparent!important;padding:0!important;}
.top-grid{grid-template-columns:100px minmax(0,1fr) minmax(0,1fr) 48px!important;gap:8px!important;}
.chip{height:44px!important;border-radius:15px!important;border:1px solid #d5e5f2!important;background:rgba(255,255,255,.97)!important;box-shadow:0 7px 18px rgba(42,83,125,.075)!important;}
.date-chip{padding:0 12px!important;justify-content:flex-start!important;gap:8px!important;}
.date-chip b{font-size:16px!important;font-weight:740!important;letter-spacing:.01em!important;}
.date-chip .ico{width:16px!important;height:16px!important;color:#172233!important;}
.lang-chip{font-size:12px!important;font-weight:760!important;gap:5px!important;padding:0 5px!important;color:#1b2c3f!important;}
.lang-chip .flag{font-size:15px!important;}
.lang-chip .arrow{color:#7f98b2!important;font-weight:800!important;}
.lang-chip.active{border:2px solid var(--active-ring)!important;background:linear-gradient(180deg,#fff 0%,var(--active-soft) 100%)!important;box-shadow:0 0 0 3px rgba(96,164,255,.12),0 8px 22px rgba(38,126,255,.14)!important;}
.settings-chip .ico{width:18px!important;height:18px!important;color:#172233!important;}
.stats-grid{margin-top:8px!important;gap:7px!important;}
.stat{height:58px!important;padding:7px 8px!important;border-radius:14px!important;overflow:visible!important;background:rgba(255,255,255,.96)!important;box-shadow:0 7px 17px rgba(42,83,125,.065)!important;}
.stat-label{font-size:11px!important;line-height:1.05!important;max-width:68px!important;color:#68798a!important;}
.stat b{font-size:18px!important;line-height:1!important;margin-top:4px!important;font-weight:740!important;}
.stat small{font-size:10.5px!important;line-height:1!important;margin-top:5px!important;color:#6b7d8f!important;display:block!important;}
.stat i{width:20px!important;height:20px!important;right:7px!important;top:22px!important;opacity:.72!important;color:#8aa0b5!important;background:#f3f8ff!important;}
.controls-row{margin-top:8px!important;grid-template-columns:82px minmax(0,1fr) 76px!important;gap:7px!important;align-items:stretch!important;}
.filter-button,.idiom-card,.add-button{height:44px!important;border-radius:14px!important;}
.filter-button{font-size:13px!important;font-weight:720!important;padding:0 10px!important;justify-content:space-between!important;}
.filter-button span{max-width:52px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
.filter-menu{top:50px!important;width:min(218px,70vw)!important;border-radius:17px!important;z-index:120!important;padding:9px!important;}
.filter-menu label{height:32px!important;font-size:13px!important;font-weight:650!important;}
.filter-menu input{width:15px!important;height:15px!important;}
.idiom-card{padding:0 12px!important;min-width:0!important;}
.idiom-star{display:none!important;}
.idiom-copy small{font-size:11px!important;font-weight:780!important;line-height:1!important;}
.idiom-copy b{font-size:14px!important;font-weight:720!important;line-height:1.1!important;margin-top:3px!important;}
.idiom-copy em{font-size:11px!important;line-height:1!important;margin-top:4px!important;}
.add-button{font-size:13px!important;font-weight:720!important;gap:3px!important;padding:0 7px!important;background:linear-gradient(135deg,#2d82f6,#55a8fb)!important;box-shadow:0 9px 20px rgba(43,126,240,.20)!important;}
.add-button span{font-size:18px!important;}
.add-button b{font-weight:720!important;}
.list-panel{margin-top:8px!important;}
.list-head{height:30px!important;padding:0 6px 0 6px!important;display:grid!important;grid-template-columns:1fr 1.45fr!important;align-items:center!important;font-size:12.5px!important;font-weight:760!important;color:#647789!important;}
.translation-head{justify-content:space-between!important;align-items:center!important;gap:8px!important;}
.shuffle-button{width:40px!important;height:40px!important;border-radius:13px!important;background:rgba(255,255,255,.98)!important;border:1px solid #d7e7f4!important;color:#2b7ff0!important;box-shadow:0 6px 16px rgba(42,83,125,.07)!important;padding:0!important;}
.shuffle-button .ico{width:17px!important;height:17px!important;}
.shuffle-button.on{background:#edf7ff!important;color:#1d75e6!important;border-color:#9dcbff!important;box-shadow:0 0 0 3px rgba(43,127,240,.10),0 6px 16px rgba(42,83,125,.08)!important;}
.word-list{gap:8px!important;width:100%!important;}
.word-row{width:100%!important;margin:0!important;min-height:76px!important;padding:9px 10px!important;grid-template-columns:42px minmax(0,1fr)!important;gap:10px!important;border-radius:16px!important;box-shadow:0 7px 18px rgba(34,82,126,.055)!important;background:rgba(255,255,255,.985)!important;}
.word-row.expanded{min-height:118px!important;}
.sound-btn{width:38px!important;height:38px!important;border-radius:13px!important;}
.sound-btn .ico{width:17px!important;height:17px!important;}
.word-main{gap:7px!important;}
.word-text{font-size:17px!important;font-weight:700!important;letter-spacing:-.01em!important;}
.translation-btn{font-size:13px!important;margin-top:4px!important;min-height:20px!important;color:#687789!important;}
.translation-btn small{display:none!important;}
.word-row.expanded .translation-btn{padding:8px 10px!important;margin-top:8px!important;border-radius:13px!important;}
.word-row.expanded .translation-btn small{display:block!important;color:#6b7d8f!important;font-size:11px!important;margin-top:5px!important;}
.row-actions{gap:8px!important;}
.review-quick{width:28px!important;height:28px!important;border-radius:10px!important;border:0!important;background:transparent!important;color:#778695!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;box-shadow:none!important;}
.review-quick .ico{width:15px!important;height:15px!important;}
.review-quick.active{background:transparent!important;border:0!important;color:#7b8794!important;box-shadow:none!important;}
.status-pill{height:25px!important;font-size:11.2px!important;font-weight:670!important;padding:0 8px!important;border-radius:10px!important;}
.status-pill:before{width:7px!important;height:7px!important;border-width:1.5px!important;}
.more-btn{width:18px!important;font-size:18px!important;color:#7d8996!important;}
.modal-card{padding:22px 24px!important;border-radius:24px!important;}
.modal-head h2{font-size:22px!important;}
.modal-close{width:44px!important;height:44px!important;font-size:26px!important;border-radius:15px!important;}
.range-btn{height:44px!important;font-size:15px!important;}
.field input,.field select,.field textarea{padding:11px 13px!important;font-size:15px!important;}
.primary{height:48px!important;font-size:16px!important;}
@media(max-width:520px){
  .app{padding:9px 12px 24px!important;}
  .sticky-shell{margin:0 -12px!important;padding:9px 12px 9px!important;}
  .top-grid{grid-template-columns:94px minmax(0,1fr) minmax(0,1fr) 44px!important;gap:6px!important;}
  .chip{height:41px!important;border-radius:13px!important;}
  .date-chip{padding:0 10px!important;gap:6px!important;}
  .date-chip b{font-size:15px!important;}
  .date-chip .ico{width:14px!important;height:14px!important;}
  .lang-chip{font-size:10.8px!important;gap:3px!important;padding:0 3px!important;}
  .lang-chip .flag{font-size:13px!important;}
  .settings-chip .ico{width:17px!important;height:17px!important;}
  .stats-grid{gap:6px!important;margin-top:7px!important;}
  .stat{height:56px!important;padding:6px 7px!important;}
  .stat-label{font-size:10.2px!important;max-width:60px!important;}
  .stat b{font-size:17px!important;margin-top:4px!important;}
  .stat small{font-size:10px!important;margin-top:5px!important;}
  .stat i{width:18px!important;height:18px!important;top:22px!important;right:6px!important;}
  .controls-row{grid-template-columns:76px minmax(0,1fr) 70px!important;gap:6px!important;margin-top:7px!important;}
  .filter-button,.idiom-card,.add-button{height:41px!important;}
  .filter-button{font-size:12px!important;padding:0 8px!important;}
  .filter-button span{max-width:44px!important;}
  .idiom-card{padding:0 9px!important;}
  .idiom-copy small{font-size:10px!important;}
  .idiom-copy b{font-size:12.5px!important;}
  .idiom-copy em{font-size:10.5px!important;}
  .add-button{font-size:12px!important;padding:0 5px!important;}
  .add-button span{font-size:16px!important;}
  .list-panel{margin-top:8px!important;}
  .list-head{height:29px!important;padding:0 4px!important;font-size:12px!important;grid-template-columns:1fr 1.45fr!important;}
  .shuffle-button{width:38px!important;height:38px!important;}
  .word-row{width:100%!important;min-height:74px!important;padding:8px 9px!important;grid-template-columns:40px minmax(0,1fr)!important;}
  .sound-btn{width:36px!important;height:36px!important;}
  .word-text{font-size:16.5px!important;}
  .translation-btn{font-size:12.6px!important;}
  .row-actions{gap:6px!important;}
  .review-quick{width:26px!important;height:26px!important;}
  .status-pill{font-size:10.5px!important;height:24px!important;padding:0 7px!important;}
}
@media(max-width:390px){
  .app{padding:8px 10px 22px!important;}
  .sticky-shell{margin:0 -10px!important;padding:8px 10px 8px!important;}
  .top-grid{grid-template-columns:88px minmax(0,1fr) minmax(0,1fr) 42px!important;gap:5px!important;}
  .chip{height:40px!important;}
  .date-chip b{font-size:14.5px!important;}
  .lang-chip{font-size:10px!important;gap:3px!important;}
  .lang-chip .flag{font-size:12.5px!important;}
  .stat{height:55px!important;}
  .stat b{font-size:16px!important;}
  .stat small{font-size:9.6px!important;}
  .controls-row{grid-template-columns:70px minmax(0,1fr) 66px!important;gap:5px!important;}
  .filter-button{font-size:11.5px!important;}
  .filter-button span{max-width:39px!important;}
  .idiom-copy b{font-size:12px!important;}
  .add-button{font-size:11.5px!important;}
  .list-head{font-size:11.5px!important;}
  .word-row{width:100%!important;min-height:72px!important;}
  .word-text{font-size:16px!important;}
  .status-pill{font-size:10px!important;}
}

/* v14 targeted final patch: idiom variant 2, premium shuffle, split repeat icon, RU-DE import readiness */
.idiom-card{
  justify-content:flex-start!important;
  align-items:center!important;
  gap:9px!important;
  padding:7px 13px 8px 12px!important;
  overflow:hidden!important;
}
.idiom-star{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  border-radius:11px!important;
  background:linear-gradient(180deg,#f4f9ff 0%,#eaf5ff 100%)!important;
  color:#1f7bef!important;
  font-size:22px!important;
  font-family:Georgia,serif!important;
  line-height:1!important;
  box-shadow:inset 0 0 0 1px rgba(120,178,244,.24),0 5px 12px rgba(39,104,170,.055)!important;
  transform:translateY(-1px)!important;
}
.idiom-copy{
  justify-content:center!important;
  gap:2px!important;
  padding-top:1px!important;
  min-width:0!important;
}
.idiom-copy small{
  display:block!important;
  margin:0!important;
  padding-top:0!important;
  line-height:1.08!important;
  color:#176fd8!important;
  font-weight:760!important;
  letter-spacing:.005em!important;
}
.idiom-copy b{
  display:block!important;
  margin:1px 0 0!important;
  line-height:1.08!important;
  font-weight:720!important;
}
.idiom-copy em{
  display:block!important;
  margin:1px 0 0!important;
  line-height:1.05!important;
}
.shuffle-button{
  background:rgba(255,255,255,.97)!important;
  border:1px solid #d7e6f3!important;
  color:#506171!important;
  box-shadow:0 6px 16px rgba(41,82,124,.06)!important;
}
.shuffle-button .ico.shuffle{
  width:22px!important;
  height:22px!important;
  background:none!important;
  mask-image:none!important;
  -webkit-mask-image:none!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:22px 22px!important;
  background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 7.5H6.9C9.2 7.5 10.7 16.5 13.1 16.5H20' stroke='%236b7c8d' stroke-width='1.75' stroke-linecap='round'/%3E%3Cpath d='M4 16.5H6.9C9.2 16.5 10.7 7.5 13.1 7.5H20' stroke='%236b7c8d' stroke-width='1.75' stroke-linecap='round'/%3E%3Cpath d='M17 4.8L20 7.5L17 10.2' stroke='%236b7c8d' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M17 13.8L20 16.5L17 19.2' stroke='%236b7c8d' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
}
.shuffle-button.on{
  background:linear-gradient(180deg,#eef7ff 0%,#e6f2ff 100%)!important;
  border-color:#7db8ff!important;
  box-shadow:0 0 0 3px rgba(43,127,240,.10),0 7px 16px rgba(42,83,125,.08)!important;
}
.shuffle-button.on .ico.shuffle{
  width:23px!important;
  height:23px!important;
  background-size:23px 23px!important;
  background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 7.5H6.9C9.2 7.5 10.7 16.5 13.1 16.5H20' stroke='%231d75e6' stroke-width='2.55' stroke-linecap='round'/%3E%3Cpath d='M4 16.5H6.9C9.2 16.5 10.7 7.5 13.1 7.5H20' stroke='%231d75e6' stroke-width='2.55' stroke-linecap='round'/%3E%3Cpath d='M17 4.8L20 7.5L17 10.2' stroke='%231d75e6' stroke-width='2.55' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M17 13.8L20 16.5L17 19.2' stroke='%231d75e6' stroke-width='2.55' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
}
.review-quick,
.review-quick.active{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#7c8996!important;
}
.review-quick .ico.repeat{
  width:17px!important;
  height:17px!important;
  background:none!important;
  mask-image:none!important;
  -webkit-mask-image:none!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:17px 17px!important;
  background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.9 7.2C16.55 5.83 14.7 5 12.65 5C9.55 5 6.9 6.86 5.76 9.52' stroke='%237c8996' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M16.9 4.25L18.85 7.95L15.02 9.18' stroke='%237c8996' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6.1 16.8C7.45 18.17 9.3 19 11.35 19C14.45 19 17.1 17.14 18.24 14.48' stroke='%237c8996' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M7.1 19.75L5.15 16.05L8.98 14.82' stroke='%237c8996' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
}
@media(max-width:520px){
  .idiom-card{padding:6px 9px 7px 9px!important;gap:7px!important;}
  .idiom-star{width:25px!important;height:25px!important;min-width:25px!important;border-radius:9px!important;font-size:18px!important;}
  .idiom-copy small{font-size:10px!important;line-height:1.05!important;}
  .idiom-copy b{font-size:12.5px!important;line-height:1.08!important;margin-top:1px!important;}
  .idiom-copy em{font-size:10.4px!important;line-height:1.05!important;margin-top:1px!important;}
  .shuffle-button .ico.shuffle{width:20px!important;height:20px!important;background-size:20px 20px!important;}
  .shuffle-button.on .ico.shuffle{width:21px!important;height:21px!important;background-size:21px 21px!important;}
  .review-quick .ico.repeat{width:16px!important;height:16px!important;background-size:16px 16px!important;}
}
@media(max-width:390px){
  .idiom-card{padding:6px 7px 6px 7px!important;gap:6px!important;}
  .idiom-star{width:23px!important;height:23px!important;min-width:23px!important;font-size:16px!important;}
  .idiom-copy small{font-size:9.6px!important;}
  .idiom-copy b{font-size:12px!important;}
  .idiom-copy em{font-size:10px!important;}
}


/* v15 targeted patch: idiom text-only, known-only progress, filter counts, search, refined icons */
.idiom-card{padding:8px 14px 8px 17px!important;gap:0!important;justify-content:flex-start!important;align-items:center!important;}
.idiom-star{display:none!important;}
.idiom-copy{padding-top:2px!important;padding-left:0!important;justify-content:center!important;}
.idiom-copy small{margin-bottom:1px!important;line-height:1.12!important;}
.idiom-copy b{margin-top:1px!important;line-height:1.1!important;}
.idiom-copy em{margin-top:2px!important;line-height:1.08!important;}
.filter-menu label{justify-content:flex-start!important;}
.filter-menu .filter-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.filter-count{margin-left:auto;min-width:28px;text-align:right;color:#8da0b2;font-size:11px;font-weight:650;}
.word-head{display:flex;align-items:center;gap:8px;min-width:0;}
.search-button{width:28px;height:28px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#708397;background:rgba(255,255,255,.82);border:1px solid #dbe8f3;box-shadow:0 5px 12px rgba(41,82,124,.045);}
.search-button .ico{width:14px;height:14px;}
.search{mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="m20.7 19.3-4.2-4.2a7.5 7.5 0 1 0-1.4 1.4l4.2 4.2 1.4-1.4ZM5 10.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0Z"/></svg>');-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="m20.7 19.3-4.2-4.2a7.5 7.5 0 1 0-1.4 1.4l4.2 4.2 1.4-1.4ZM5 10.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0Z"/></svg>');}
.search-row{display:flex;align-items:center;gap:7px;margin:-2px 0 8px;padding:0 2px;}
.search-row input{height:38px;flex:1;border:1px solid #d8e8f4;border-radius:14px;background:#fff;padding:0 13px;color:#152033;outline:none;box-shadow:0 5px 14px rgba(41,82,124,.045);}
.search-row input:focus{border-color:#94c5ff;box-shadow:0 0 0 3px rgba(42,127,244,.09),0 5px 14px rgba(41,82,124,.045);}
.search-row button{width:36px;height:36px;border-radius:12px;background:#fff;border:1px solid #dbe8f3;color:#7b8ca0;font-size:20px;line-height:1;}
.shuffle-button{width:38px!important;height:38px!important;border-radius:13px!important;overflow:visible!important;}
.shuffle-button .ico.shuffle{width:18px!important;height:18px!important;background-size:18px 18px!important;}
.shuffle-button.on .ico.shuffle{width:19px!important;height:19px!important;background-size:19px 19px!important;}
.review-quick .ico.repeat{background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.6 7.4C16.3 6.1 14.45 5.25 12.35 5.25C9.7 5.25 7.4 6.62 6.1 8.67' stroke='%237c8996' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M17.05 4.7L18.55 7.95L15.15 8.75' stroke='%237c8996' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6.4 16.6C7.7 17.9 9.55 18.75 11.65 18.75C14.3 18.75 16.6 17.38 17.9 15.33' stroke='%237c8996' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M6.95 19.3L5.45 16.05L8.85 15.25' stroke='%237c8996' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;}
@media(max-width:520px){.idiom-card{padding:7px 10px 7px 13px!important}.search-button{width:26px;height:26px}.search-row input{height:36px}.shuffle-button{width:36px!important;height:36px!important}.shuffle-button .ico.shuffle{width:17px!important;height:17px!important;background-size:17px 17px!important}}
@media(max-width:390px){.idiom-card{padding:7px 8px 6px 12px!important}.idiom-copy small{font-size:9.5px!important}.idiom-copy b{font-size:11.8px!important}.search-row{margin-bottom:7px}.search-row input{height:34px;font-size:12px}.search-row button{width:34px;height:34px}}

/* v17 targeted fixes: fixed search bar, idiom text spacing, shuffle frame, welcome blocks */
:root{--sticky-offset:210px;--list-head-height:34px;}
.list-head{
  position:sticky!important;
  top:var(--sticky-offset)!important;
  z-index:70!important;
  background:linear-gradient(180deg,rgba(243,248,255,.98),rgba(243,248,255,.94))!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  overflow:visible!important;
  margin-top:0!important;
  padding-top:2px!important;
  padding-bottom:4px!important;
  min-height:40px!important;
}
.search-row{
  position:sticky!important;
  top:calc(var(--sticky-offset) + var(--list-head-height))!important;
  z-index:69!important;
  background:linear-gradient(180deg,rgba(243,248,255,.98),rgba(243,248,255,.94))!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  padding:4px 2px 8px!important;
  margin:0 0 8px!important;
}
.search-row button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-weight:520!important;
}
.idiom-card{
  align-items:center!important;
  padding-top:7px!important;
  padding-bottom:8px!important;
  overflow:hidden!important;
}
.idiom-copy{
  min-height:34px!important;
  justify-content:center!important;
  padding-top:0!important;
  transform:translateY(-1px)!important;
}
.idiom-copy small{
  margin:0 0 2px 0!important;
  line-height:1.05!important;
}
.idiom-copy b{
  margin:0!important;
  line-height:1.06!important;
}
.idiom-copy em{
  margin:1px 0 0 0!important;
  font-size:10.2px!important;
  line-height:1!important;
  transform:translateY(-1px)!important;
}
.translation-head,.list-head{overflow:visible!important;}
.shuffle-button{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  border-radius:12px!important;
  border:1.5px solid #d7e7f4!important;
  overflow:visible!important;
  box-shadow:0 5px 14px rgba(42,83,125,.07)!important;
  transform:translateY(0)!important;
}
.shuffle-button .ico.shuffle{
  width:16px!important;
  height:16px!important;
  background-size:16px 16px!important;
}
.shuffle-button.on .ico.shuffle{
  width:17px!important;
  height:17px!important;
  background-size:17px 17px!important;
}
.welcome-card{
  max-width:620px!important;
  padding:18px 18px 16px!important;
}
.welcome-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
  margin:8px 0 14px;
}
.welcome-item{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:11px;
  align-items:start;
  padding:10px 11px;
  border:1px solid #e0edf7;
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  box-shadow:0 6px 16px rgba(34,82,126,.055);
}
.welcome-icon{
  width:34px;
  height:34px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#eef7ff;
  color:#2178e9;
  font-weight:850;
  font-size:15px;
}
.welcome-item b{
  display:block;
  font-size:14px;
  line-height:1.15;
  color:#132033;
  margin-bottom:3px;
}
.welcome-item p{
  margin:0;
  color:#607284;
  font-size:12.5px;
  line-height:1.35;
}
@media(max-width:520px){
  .list-head{min-height:38px!important;padding-bottom:3px!important;}
  .search-row{padding:4px 0 7px!important;}
  .idiom-copy em{font-size:9.8px!important;}
  .shuffle-button{width:34px!important;height:34px!important;min-width:34px!important;}
  .shuffle-button .ico.shuffle{width:15px!important;height:15px!important;background-size:15px 15px!important;}
  .welcome-card{padding:16px 15px 15px!important;}
  .welcome-item{grid-template-columns:34px minmax(0,1fr);gap:9px;padding:9px 10px;border-radius:15px;}
  .welcome-icon{width:31px;height:31px;border-radius:11px;font-size:14px;}
  .welcome-item b{font-size:13px;}
  .welcome-item p{font-size:11.8px;line-height:1.32;}
}
@media(max-width:390px){
  .idiom-copy em{font-size:9.4px!important;transform:translateY(-2px)!important;}
  .search-row input{font-size:12.5px!important;}
  .shuffle-button{width:33px!important;height:33px!important;min-width:33px!important;}
}


/* v17 targeted patch: clear selected dictionary + idiom label lowered */
.clear-deck{background:#fff3f5!important;color:#a8324c!important;border-color:#ffd6df!important;}
.idiom-card{padding-top:10px!important;padding-bottom:7px!important;}
.idiom-copy{transform:translateY(2px)!important;min-height:36px!important;}
.idiom-copy small{margin-top:2px!important;margin-bottom:2px!important;line-height:1.08!important;}
@media(max-width:520px){.idiom-card{padding-top:9px!important;padding-bottom:6px!important}.idiom-copy{transform:translateY(2px)!important}.idiom-copy small{margin-top:2px!important}}

/* v17 targeted fixes: clear selected dictionary + idiom title lower */
.idiom-card{padding-top:9px!important;padding-bottom:7px!important;}
.idiom-copy{transform:translateY(1px)!important;}
.idiom-copy small{display:block!important;margin-top:1px!important;margin-bottom:2px!important;line-height:1.08!important;}
.clear-deck{background:#fff2f4!important;color:#a43248!important;border-color:#f3d6dc!important;}
@media(max-width:520px){.idiom-card{padding-top:8px!important;padding-bottom:6px!important}.idiom-copy{transform:translateY(1px)!important}.idiom-copy small{margin-top:1px!important}}
@media(max-width:390px){.idiom-card{padding-top:8px!important;padding-bottom:6px!important}.idiom-copy small{transform:none!important}}

/* v18 targeted patch: idiom card vertical balance for iOS/Android */
.idiom-card{
  height:48px!important;
  min-height:48px!important;
  padding:7px 12px 8px 14px!important;
  overflow:visible!important;
  align-items:center!important;
}
.idiom-copy{
  min-height:0!important;
  height:auto!important;
  justify-content:center!important;
  transform:translateY(-1px)!important;
  overflow:visible!important;
}
.idiom-copy small{
  display:block!important;
  font-size:10.6px!important;
  line-height:1.05!important;
  margin:0 0 1px 0!important;
  padding:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.idiom-copy b{
  display:block!important;
  font-size:13.2px!important;
  line-height:1.06!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.idiom-copy em{
  display:block!important;
  font-size:10.2px!important;
  line-height:1.08!important;
  margin:1px 0 0 0!important;
  padding:0!important;
  transform:none!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
@media(max-width:520px){
  .idiom-card{height:46px!important;min-height:46px!important;padding:6px 9px 8px 12px!important;}
  .idiom-copy{transform:translateY(-1px)!important;}
  .idiom-copy small{font-size:9.8px!important;line-height:1.04!important;margin-bottom:1px!important;}
  .idiom-copy b{font-size:12.4px!important;line-height:1.06!important;}
  .idiom-copy em{font-size:9.6px!important;line-height:1.08!important;margin-top:1px!important;transform:none!important;}
}
@media(max-width:390px){
  .idiom-card{height:46px!important;min-height:46px!important;padding:6px 8px 8px 11px!important;}
  .idiom-copy small{font-size:9.4px!important;}
  .idiom-copy b{font-size:12px!important;}
  .idiom-copy em{font-size:9.3px!important;}
}

/* v18 targeted patch: idiom hint must not be clipped on Android/iOS */
.idiom-card{
  height:48px!important;
  min-height:48px!important;
  padding-top:7px!important;
  padding-bottom:8px!important;
  overflow:visible!important;
  -webkit-font-smoothing:antialiased;
}
.idiom-copy{
  min-height:auto!important;
  justify-content:center!important;
  transform:translateY(-1px)!important;
  padding-top:0!important;
  padding-bottom:1px!important;
}
.idiom-copy small{
  font-size:10.6px!important;
  line-height:1.05!important;
  margin:0 0 2px 0!important;
  transform:none!important;
}
.idiom-copy b{
  font-size:13px!important;
  line-height:1.05!important;
  margin:0!important;
  transform:none!important;
}
.idiom-copy em{
  display:block!important;
  font-size:10px!important;
  line-height:1.12!important;
  margin:2px 0 0 0!important;
  transform:none!important;
  padding-bottom:1px!important;
}
@supports (-webkit-touch-callout:none){
  .idiom-copy em{line-height:1.18!important;padding-bottom:2px!important;}
}
@media(max-width:520px){
  .idiom-card{height:47px!important;min-height:47px!important;padding-top:7px!important;padding-bottom:8px!important;}
  .idiom-copy{transform:translateY(-1px)!important;}
  .idiom-copy small{font-size:10px!important;line-height:1.05!important;margin-bottom:2px!important;}
  .idiom-copy b{font-size:12.4px!important;line-height:1.05!important;}
  .idiom-copy em{font-size:9.6px!important;line-height:1.14!important;margin-top:2px!important;padding-bottom:1px!important;}
}
@media(max-width:390px){
  .idiom-card{height:46px!important;min-height:46px!important;padding-top:7px!important;padding-bottom:8px!important;}
  .idiom-copy small{font-size:9.6px!important;}
  .idiom-copy b{font-size:12px!important;line-height:1.04!important;}
  .idiom-copy em{font-size:9.2px!important;line-height:1.16!important;padding-bottom:2px!important;}
}


/* v19 targeted patch: remove idiom title, premium install prompt */
#idiomTitle{display:none!important;}
.idiom-card{height:48px!important;min-height:48px!important;padding:7px 12px 8px 14px!important;overflow:visible!important;}
.idiom-copy{justify-content:center!important;gap:2px!important;transform:none!important;}
.idiom-copy b{font-size:14px!important;line-height:1.12!important;margin:0!important;}
.idiom-copy em{font-size:11px!important;line-height:1.12!important;margin:1px 0 0!important;padding-bottom:1px!important;}
.install-card{padding:20px 22px 18px!important;max-width:560px!important;}
.install-hero{display:grid;grid-template-columns:58px minmax(0,1fr);gap:14px;align-items:center;margin-bottom:16px;}
.install-icon{width:58px;height:58px;border-radius:18px;box-shadow:0 12px 28px rgba(24,88,160,.16);background:#f4f9ff;}
.install-copy h2{margin:0 0 5px;font-size:22px;line-height:1.08;font-weight:760;color:#101827;}
.install-copy p{margin:0;color:#516173;font-size:13.5px;line-height:1.34;}
.install-copy small{display:block;margin-top:7px;color:#718196;font-size:12px;line-height:1.3;}
.install-actions{display:flex;justify-content:flex-end;gap:10px;align-items:center;}
@media(max-width:520px){.idiom-card{height:47px!important;min-height:47px!important;padding:7px 9px 8px 12px!important}.idiom-copy b{font-size:13px!important}.idiom-copy em{font-size:10.3px!important}.install-card{padding:18px 18px 16px!important}.install-hero{grid-template-columns:52px minmax(0,1fr);gap:12px}.install-icon{width:52px;height:52px;border-radius:16px}.install-copy h2{font-size:20px}.install-copy p{font-size:12.8px}.install-copy small{font-size:11.5px}.install-actions .primary,.install-actions .secondary{height:42px}}
@media(max-width:390px){.idiom-card{height:46px!important;min-height:46px!important}.idiom-copy b{font-size:12.5px!important}.idiom-copy em{font-size:9.8px!important}.install-hero{grid-template-columns:48px minmax(0,1fr)}.install-icon{width:48px;height:48px;border-radius:15px}}
.voice-test-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 4px}.voice-test-row small{color:var(--muted);font-size:12px}.voice-test-row .secondary{min-width:128px;justify-content:center}


/* v21 voice goal + circular progress refinement */
.stat .stat-icon{position:absolute!important;right:7px!important;top:23px!important;width:26px!important;height:26px!important;border-radius:11px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:conic-gradient(var(--blue) var(--icon-deg,0deg), #e9f3ff 0)!important;color:#708195!important;-webkit-mask:none!important;mask:none!important;opacity:1!important;padding:2px!important;overflow:hidden!important;box-shadow:inset 0 0 0 1px rgba(90,126,160,.08)!important}.stat .stat-icon:before{content:"";position:absolute;inset:3px;border-radius:8px;background:#f7fbff}.stat .stat-icon .ico{position:relative;z-index:1;width:15px!important;height:15px!important;background:currentColor!important}.stat.goal-complete .stat-icon{color:var(--blue)!important;box-shadow:0 0 0 1px rgba(22,114,255,.18),0 6px 14px rgba(22,114,255,.14)!important}.field input#dailyGoalInput{appearance:textfield}.field input#dailyGoalInput::-webkit-outer-spin-button,.field input#dailyGoalInput::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
@media(max-width:520px){.stat .stat-icon{width:24px!important;height:24px!important;top:22px!important;right:6px!important}.stat .stat-icon .ico{width:14px!important;height:14px!important}}

/* v23 targeted patch: scheduled review after Known + due-review mode */
.word-head{display:flex!important;align-items:center!important;gap:7px!important;min-width:0!important;}
.repeat-due-button{width:28px;height:28px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#7c8996;background:rgba(255,255,255,.82);border:1px solid #dbe8f3;box-shadow:0 5px 12px rgba(41,82,124,.045);flex:0 0 auto;}
.repeat-due-button.on{color:#1f78d1;background:#edf7ff;border-color:#b9daf9;box-shadow:0 7px 16px rgba(31,120,209,.12);}
.repeat-due-button .ico{width:15px;height:15px;}
.ico.repeat-due{background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.6 7.4C16.3 6.1 14.45 5.25 12.35 5.25C9.7 5.25 7.4 6.62 6.1 8.67' stroke='%237c8996' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M17.05 4.7L18.55 7.95L15.15 8.75' stroke='%237c8996' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6.4 16.6C7.7 17.9 9.55 18.75 11.65 18.75C14.3 18.75 16.6 17.38 17.9 15.33' stroke='%237c8996' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M6.95 19.3L5.45 16.05L8.85 15.25' stroke='%237c8996' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-color:transparent!important;background-repeat:no-repeat!important;background-position:center!important;background-size:15px 15px!important;mask-image:none!important;-webkit-mask-image:none!important;}
.repeat-due-button.on .ico.repeat-due{background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.6 7.4C16.3 6.1 14.45 5.25 12.35 5.25C9.7 5.25 7.4 6.62 6.1 8.67' stroke='%231f78d1' stroke-width='2.35' stroke-linecap='round'/%3E%3Cpath d='M17.05 4.7L18.55 7.95L15.15 8.75' stroke='%231f78d1' stroke-width='2.35' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6.4 16.6C7.7 17.9 9.55 18.75 11.65 18.75C14.3 18.75 16.6 17.38 17.9 15.33' stroke='%231f78d1' stroke-width='2.35' stroke-linecap='round'/%3E%3Cpath d='M6.95 19.3L5.45 16.05L8.85 15.25' stroke='%231f78d1' stroke-width='2.35' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;}
.review-schedule{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:7px;padding:5px 6px;border-radius:12px;background:#f7fbff;border:1px solid #e5f0fa;}
.review-schedule span{color:#68798a;font-size:11px;font-weight:650;margin-right:1px;white-space:nowrap;}
.schedule-chip,.schedule-none{height:24px;border-radius:9px;border:1px solid #dbe8f3;background:#fff;color:#597084;font-size:11px;font-weight:750;padding:0 7px;display:flex;align-items:center;justify-content:center;}
.schedule-chip.active,.schedule-none.active{background:#eaf6ee;border-color:#b9e1c7;color:#10814d;box-shadow:0 4px 10px rgba(16,129,77,.08);}
.schedule-none{padding:0 8px;}
.repeat-answer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:7px;}
.repeat-answer input{height:34px;border:1px solid #dbe8f3;background:#fff;border-radius:12px;padding:0 10px;font-size:13px;font-weight:600;color:#111827;outline:none;min-width:0;}
.repeat-answer input:focus{border-color:#9cc9f5;box-shadow:0 0 0 3px rgba(31,120,209,.08);}
.repeat-answer small{font-size:11px;font-weight:700;color:#718196;white-space:nowrap;}
.repeat-answer.is-correct input{border-color:#a7dbbc;background:#f4fbf7;}
.repeat-answer.is-correct small{color:#10814d;}
.repeat-answer.is-wrong input{border-color:#f3c1cc;background:#fff8fa;}
.repeat-answer.is-wrong small{color:#c43251;}
.word-row:has(.review-schedule){min-height:98px;}
.word-row.expanded:has(.review-schedule){min-height:148px;}
@media(max-width:520px){.repeat-due-button{width:26px;height:26px;border-radius:9px}.repeat-due-button .ico{width:14px;height:14px}.review-schedule{gap:4px;padding:4px 5px}.review-schedule span{font-size:10.4px}.schedule-chip,.schedule-none{height:22px;font-size:10.3px;padding:0 6px}.repeat-answer input{height:32px;font-size:12.5px}.repeat-answer small{font-size:10.3px}}
@media(max-width:390px){.word-head{gap:5px!important}.repeat-due-button,.search-button{width:25px!important;height:25px!important}.repeat-due-button .ico{width:13px;height:13px}.review-schedule span{flex-basis:100%;}.schedule-chip,.schedule-none{height:21px;font-size:10px;padding:0 5px}.repeat-answer{grid-template-columns:1fr}.repeat-answer small{min-height:12px}}


/* v25 targeted patch: schedule row alignment + safer filter outside tap */
.review-schedule{
  margin-left:auto!important;
  margin-right:0!important;
  width:min(100%, 350px)!important;
  justify-content:flex-start!important;
  align-self:flex-end!important;
  gap:7px!important;
  padding:6px 7px!important;
}
.review-schedule span{
  flex:0 0 100%!important;
  margin:0!important;
  font-size:10.8px!important;
  line-height:1.05!important;
}
.schedule-chip{
  min-width:31px!important;
  height:25px!important;
  padding:0 8px!important;
}
.schedule-none{
  min-width:86px!important;
  height:25px!important;
  padding:0 10px!important;
  white-space:nowrap!important;
}
@media(max-width:520px){
  .review-schedule{width:min(100%, 322px)!important;gap:6px!important;padding:5px 6px!important;}
  .schedule-chip{min-width:29px!important;height:24px!important;padding:0 7px!important;}
  .schedule-none{min-width:78px!important;height:24px!important;padding:0 8px!important;}
}
@media(max-width:390px){
  .review-schedule{width:min(100%, 286px)!important;gap:5px!important;padding:5px 6px!important;}
  .review-schedule span{flex:0 0 100%!important;}
  .schedule-chip{min-width:27px!important;height:23px!important;padding:0 6px!important;}
  .schedule-none{min-width:72px!important;height:23px!important;padding:0 7px!important;font-size:9.6px!important;}
}


/* v26 targeted patch: repeat schedule popup only, no inline Review in block */
.word-row:has(.review-schedule),
.word-row.expanded:has(.review-schedule){min-height:unset!important;}
.review-schedule{display:none!important;}
.review-quick.active{color:#1f78d1!important;background:rgba(237,247,255,.72)!important;}
.schedule-popover{position:fixed;z-index:9999;display:flex;flex-direction:column;gap:8px;padding:10px 11px;border-radius:16px;background:rgba(255,255,255,.96);border:1px solid #dbe8f3;box-shadow:0 18px 42px rgba(30,60,90,.18);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.schedule-popover-title{font-size:11px;line-height:1.1;font-weight:750;color:#68798a;white-space:nowrap;}
.schedule-popover-days{display:flex;align-items:center;gap:7px;}
.schedule-popover-day{min-width:34px;height:30px;border-radius:11px;border:1px solid #dbe8f3;background:#fff;color:#4f667a;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 10px;box-shadow:0 5px 12px rgba(41,82,124,.045);}
.schedule-popover-day.active{background:#eaf6ee;border-color:#b9e1c7;color:#10814d;box-shadow:0 6px 14px rgba(16,129,77,.10);}
.schedule-popover-day:active{transform:translateY(1px);}
@media(max-width:390px){.schedule-popover{padding:9px 10px;border-radius:15px}.schedule-popover-days{gap:6px}.schedule-popover-day{min-width:32px;height:29px;font-size:12.5px;padding:0 9px}}


/* v27 targeted patch: keep New word modal above mobile keyboard */
#wordDialog[open]{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  max-width:none!important;
  max-height:none!important;
  padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom))!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
  pointer-events:none!important;
}
#wordDialog[open] .new-word-modal{
  pointer-events:auto!important;
  width:min(88vw,560px)!important;
  min-width:0!important;
  max-height:calc(100dvh - 32px)!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  transition:transform .18s ease, margin-top .18s ease!important;
}
body.keyboard-open #wordDialog[open]{
  align-items:flex-start!important;
  justify-content:center!important;
  padding-top:max(16px, env(safe-area-inset-top))!important;
  padding-bottom:max(10px, env(safe-area-inset-bottom))!important;
}
body.keyboard-open #wordDialog[open] .new-word-modal{
  max-height:calc(100dvh - 24px)!important;
  transform:none!important;
  margin-top:0!important;
}
@media(max-height:720px){
  body.keyboard-open #wordDialog[open]{padding-top:max(8px, env(safe-area-inset-top))!important;}
  #wordDialog[open] .new-word-modal{max-height:calc(100dvh - 18px)!important;}
}

/* v28 targeted patch: scheduled review uses Review status and amber popup state */
.schedule-popover-day.active{
  background:#fff7df!important;
  border-color:#f3d789!important;
  color:#9a6a00!important;
  box-shadow:0 6px 14px rgba(154,106,0,.10)!important;
}
.review-quick.active .ico.repeat{opacity:.95;}

/* v29 responsive web layout: desktop/tablet only; mobile and application logic unchanged */
@media (min-width:721px){
  body{
    background:
      radial-gradient(circle at 12% 0%,rgba(73,167,255,.10),transparent 30%),
      linear-gradient(180deg,#fbfdff 0%,#eef7ff 100%);
  }
  .app{
    max-width:1180px!important;
    padding:22px 28px 36px!important;
  }
  .sticky-shell{
    position:sticky!important;
    top:0!important;
    z-index:100!important;
    margin:0 -12px!important;
    padding:12px!important;
    border-radius:0 0 24px 24px!important;
    background:rgba(247,251,255,.88)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
    box-shadow:0 10px 28px rgba(35,76,120,.055)!important;
  }
  .top-grid{
    grid-template-columns:160px minmax(150px,1fr) minmax(150px,1fr) 58px!important;
    gap:12px!important;
  }
  .chip{
    height:50px!important;
    border-radius:16px!important;
  }
  .date-chip b{font-size:18px!important;}
  .lang-chip{font-size:14px!important;}
  .lang-chip .flag{font-size:18px!important;}
  .stats-grid{
    gap:12px!important;
    margin-top:12px!important;
  }
  .stat{
    height:82px!important;
    padding:12px 14px!important;
    border-radius:17px!important;
  }
  .stat-label{font-size:13px!important;max-width:none!important;}
  .stat b{font-size:25px!important;margin-top:7px!important;}
  .stat small{font-size:12px!important;margin-top:6px!important;}
  .stat i{width:31px!important;height:31px!important;right:13px!important;top:27px!important;}
  .controls-row{
    grid-template-columns:minmax(190px,.8fr) minmax(330px,1.7fr) 132px!important;
    gap:12px!important;
    margin-top:12px!important;
  }
  .filter-button,.idiom-card,.add-button{
    height:58px!important;
    border-radius:17px!important;
  }
  .filter-button{font-size:14px!important;padding:0 16px!important;}
  .idiom-card{padding:9px 18px!important;}
  .idiom-copy small{font-size:12px!important;}
  .idiom-copy b{font-size:16px!important;}
  .idiom-copy em{font-size:12px!important;}
  .add-button{font-size:16px!important;}
  .filter-menu{top:66px!important;width:270px!important;}
  .list-panel{
    margin-top:18px!important;
    padding:14px!important;
    border:1px solid rgba(220,235,247,.9)!important;
    border-radius:24px!important;
    background:rgba(255,255,255,.52)!important;
    box-shadow:0 14px 38px rgba(31,78,125,.055)!important;
  }
  .list-head{
    height:44px!important;
    padding:0 22px!important;
    grid-template-columns:minmax(280px,.9fr) minmax(420px,1.35fr)!important;
    font-size:14px!important;
  }
  .word-list{gap:10px!important;}
  .word-row{
    min-height:84px!important;
    padding:13px 16px!important;
    grid-template-columns:50px minmax(0,1fr)!important;
    gap:14px!important;
    border-radius:18px!important;
  }
  .word-row:hover{
    transform:translateY(-1px)!important;
    box-shadow:0 12px 28px rgba(34,82,126,.09)!important;
  }
  .sound-btn{width:44px!important;height:44px!important;border-radius:14px!important;}
  .word-main{grid-template-columns:minmax(260px,1fr) auto!important;gap:16px!important;}
  .word-text{font-size:20px!important;}
  .translation-btn{font-size:14px!important;max-width:760px!important;}
  .status-pill{height:29px!important;font-size:12px!important;padding:0 10px!important;}
  .row-actions{gap:8px!important;}
  .search-row{padding:0 4px 10px!important;}
  .search-row input{height:44px!important;font-size:14px!important;}
  .search-row button{width:42px!important;height:42px!important;}
  .shuffle-button{width:44px!important;height:44px!important;}
  .modal-card{min-width:min(680px,88vw)!important;max-width:760px!important;}
}

@media (min-width:721px) and (max-width:960px){
  .app{max-width:900px!important;padding:18px 22px 32px!important;}
  .top-grid{grid-template-columns:140px minmax(130px,1fr) minmax(130px,1fr) 54px!important;gap:9px!important;}
  .stats-grid{gap:9px!important;}
  .controls-row{grid-template-columns:minmax(150px,.9fr) minmax(250px,1.5fr) 112px!important;gap:9px!important;}
  .list-head{grid-template-columns:minmax(220px,.9fr) minmax(330px,1.3fr)!important;}
  .word-main{grid-template-columns:minmax(210px,1fr) auto!important;}
}
