@font-face{font-family:IM Fell;src:url(/assets/IMFeENrm28P-CvA-9pZz.ttf)format("truetype");font-style:normal;font-display:swap}@font-face{font-family:IM Fell;src:url(/assets/IMFeENit28P-C2NhvXbF.ttf)format("truetype");font-style:italic;font-display:swap}@font-face{font-family:Literata;src:url(/assets/Literata-Variable-Di9Y-kl9.ttf)format("truetype");font-style:normal;font-weight:200 900;font-display:swap}@font-face{font-family:Literata;src:url(/assets/Literata-Italic-Variable-BGq-w8V4.ttf)format("truetype");font-style:italic;font-weight:200 900;font-display:swap}:root{--bg:#f5e8cc;--sheet:#fbf4e2;--fg:#1a1a1a;--soft:#6b5f4b;--rule:#e3d3af;--line:#1a1a1a;--glass:#fbf4e29e;--glass-highlight:#ffffffd9;--selected:#1a1a1a;--on-selected:#f5e8cc;--carotte:#e07b2a;--carotte-text:#a9520f;--laitue:#7daa4a;--ciel:#7fb3d5;--other-chip:#e9ddc2;--ink:#1a1a1a;--danger:#b23a2a;--on-danger:#fbf4e2;--ok:#4e7a24;--shadow:#3c280a29;--scrim:#281c0a47;--present:#e9c146;--absent:#8c8170;--absent-text:#fbf4e2;--fell:"IM Fell", "Iowan Old Style", Georgia, serif;--literata:"Literata", Georgia, serif;--system:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, sans-serif;--top:env(safe-area-inset-top,0px);--bottom:env(safe-area-inset-bottom,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#171512;--sheet:#24211c;--fg:#f5e8cc;--soft:#a99c80;--rule:#f5e8cc1f;--line:#f5e8cc6b;--glass:#302c259e;--glass-highlight:#ffffff14;--selected:#f5e8cc;--on-selected:#1a1a1a;--carotte-text:#f0a060;--danger:#f08a7a;--on-danger:#1a1a1a;--ok:#9cc56a;--shadow:#00000073;--scrim:#00000080;--absent:#1c1a16;--absent-text:#8c8170}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);height:100%;color:var(--fg);margin:0}body{font-family:var(--literata);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;overscroll-behavior-y:none;font-size:16px}#root{height:100%}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:default}input,textarea{font:inherit;color:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--carotte);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{--col:min(100vw, 520px);--gutter:18px;--tile-max:56px;--board-chrome:430px;background:var(--bg);height:100%;position:relative;overflow:hidden}.screen{-webkit-overflow-scrolling:touch;padding:calc(var(--top) + 8px) var(--gutter) calc(var(--bottom) + 130px);position:absolute;inset:0;overflow:hidden auto}.screen.focus{padding-bottom:calc(var(--bottom) + 30px);z-index:5;background:var(--bg)}.sheet-screen{z-index:8;animation:.35s cubic-bezier(.2,.8,.2,1) rise}@keyframes rise{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.glass{background:var(--glass);-webkit-backdrop-filter:blur(20px)saturate(1.4);backdrop-filter:blur(20px)saturate(1.4);border:1.5px solid var(--line);box-shadow:inset 0 1px 0 var(--glass-highlight), 0 8px 22px var(--shadow)}@media (prefers-reduced-transparency:reduce){.glass{background:var(--sheet);-webkit-backdrop-filter:none;backdrop-filter:none}}.card{background:var(--sheet);border:1.5px solid var(--line);border-radius:14px}.press{transition:transform .2s cubic-bezier(.2,.8,.2,1)}.press:active:not(:disabled){transform:scale(.97)}.title{font-family:var(--fell);margin:0;padding:0 2px;font-size:42px;font-weight:400;line-height:1.05}.title em{color:var(--carotte-text);font-style:italic}.subtitle{color:var(--soft);margin:4px 2px 0;font-size:14px;font-style:italic}.day-header{text-transform:uppercase;letter-spacing:1.75px;color:var(--soft);margin:22px 0 8px;padding:0 6px;font-size:12.5px;font-weight:500}.soft{color:var(--soft)}.fell{font-family:var(--fell);font-weight:400}.hint{color:var(--soft);font-size:15px;font-style:italic}.type-chip{color:var(--ink);border:1.25px solid var(--ink);white-space:nowrap;background:var(--other-chip);vertical-align:middle;border-radius:999px;padding:1px 7px;font-size:11.5px;font-style:italic;line-height:1.4;display:inline-block}.type-chip.noun{background:var(--ciel)}.type-chip.verb{background:var(--laitue)}.type-chip.adjective{background:var(--carotte)}.btn{border:1.5px solid var(--line);width:100%;min-height:50px;font-family:var(--system);border-radius:15px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:16px;font-weight:600;transition:transform .2s cubic-bezier(.2,.8,.2,1),opacity .2s;display:flex}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.38}.btn.ink{background:var(--selected);color:var(--on-selected);border-color:var(--selected)}.btn.line{background:var(--sheet);color:var(--fg)}.btn.danger{background:var(--danger);color:var(--on-danger);border-color:var(--danger)}.btn-row{gap:14px;display:flex}.text-btn{min-height:44px;font-family:var(--system);align-items:center;gap:6px;font-size:16px;font-weight:600;display:inline-flex}.text-btn.danger{color:var(--danger)}.link-btn{font-family:var(--system);color:var(--soft);min-height:44px;font-size:14px;text-decoration:underline}.round{border-radius:50%;flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.back{min-height:44px;font-family:var(--system);align-items:center;gap:2px;padding-right:10px;font-size:16px;display:inline-flex}.segment{border-radius:17px;gap:3px;padding:4px;display:flex}.segment button{min-height:36px;font-family:var(--system);white-space:nowrap;border-radius:13px;flex:1;font-size:14px;font-weight:500;transition:background .3s,color .3s}.segment button[aria-pressed=true]{background:var(--selected);color:var(--on-selected)}.pill{border-radius:22px;gap:2px;padding:3px;display:inline-flex}.pill button{min-height:36px;font-family:var(--system);border-radius:999px;padding:0 13px;font-size:13px;font-weight:600}.pill button[aria-pressed=true]{background:var(--selected);color:var(--on-selected)}.filter-chips{scrollbar-width:none;gap:8px;padding:5px 0;display:flex;overflow-x:auto}.filter-chip{border:1.25px solid var(--line);white-space:nowrap;border-radius:999px;min-height:34px;padding:0 13px;font-size:13.5px}.filter-chip[aria-pressed=true]{background:var(--selected);color:var(--on-selected)}.bottom-bar{left:14px;right:14px;bottom:calc(var(--bottom) + 18px);z-index:4;align-items:center;gap:10px;display:flex;position:absolute}.tabs{border-radius:32px;flex:1;gap:2px;height:64px;padding:5px;display:flex}.tabs button{color:var(--soft);font-family:var(--system);border-radius:27px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1px;font-size:11px;font-weight:500;display:flex}.tabs button[aria-pressed=true]{background:var(--selected);color:var(--on-selected)}.search-fab{background:var(--carotte);width:64px;height:64px;color:var(--ink);border:1.5px solid var(--line);box-shadow:0 8px 22px var(--shadow);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.more{top:calc(var(--top) + 8px);z-index:6;position:absolute;right:18px}.toast{left:16px;right:16px;bottom:calc(var(--bottom) + 100px);z-index:7;border-radius:18px;align-items:center;gap:6px;min-height:52px;padding:0 4px 0 16px;animation:.35s cubic-bezier(.2,.8,.2,1) rise;display:flex;position:absolute}.toast-text{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:15px;overflow:hidden}.toast-text .fell{font-size:19px}.toast button{font-family:var(--system);min-height:44px;padding:0 12px;font-size:15px;font-weight:600;text-decoration:underline}.inline-toast{margin:0;animation:.3s fade;position:static}.list-card{background:var(--sheet);border:1.5px solid var(--line);border-radius:14px;overflow:hidden}.row{border-top:1px solid var(--rule);background:var(--sheet);align-items:center;min-height:56px;padding-left:14px;display:flex;position:relative}.row:first-child{border-top:0}.row-main{text-align:left;flex:1;align-items:center;gap:10px;min-width:0;min-height:56px;display:flex}.row-word{flex:0 auto;align-items:baseline;gap:8px;min-width:0;display:flex}.row-word .fell{white-space:nowrap;text-overflow:ellipsis;font-size:24px;overflow:hidden}.row-meaning{text-align:right;white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:40px;font-size:15.5px;overflow:hidden}.star{color:var(--carotte-text);flex:none}.speak{width:44px;height:44px;color:var(--soft);flex:none;justify-content:center;align-items:center;display:inline-flex}.row-actions{align-self:stretch;display:flex}.swipe-action{min-width:76px;font-family:var(--system);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:12px;font-weight:600;display:flex}.swipe-action.delete{background:var(--danger);color:var(--on-danger)}.swipe-action.fav{background:var(--carotte-text);color:var(--bg)}.field{border-radius:18px;align-items:center;gap:8px;min-height:56px;padding:0 6px 0 16px;display:flex}.field input{background:0 0;border:0;outline:none;flex:1;min-width:0;padding:12px 0;font-size:19px}.field input::placeholder{color:var(--soft);font-style:italic}.result{align-items:center;gap:6px;min-height:64px;padding:8px 10px 8px 14px;display:flex}.result+.result{margin-top:8px}.add-btn{border:1.5px solid var(--line);min-height:44px;font-family:var(--system);background:var(--carotte);color:var(--ink);border-radius:999px;flex:none;padding:0 14px;font-size:15px;font-weight:600}.add-btn.saved{color:var(--fg);background:0 0}.in-list{font-family:var(--system);align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.scrim{background:var(--scrim);z-index:20;animation:.25s fade;position:absolute;inset:0}.bottom-sheet{max-height:calc(100% - var(--top) - 24px);z-index:21;background:var(--bg);border-top:1.5px solid var(--line);padding:26px 20px calc(var(--bottom) + 34px);border-radius:28px 28px 0 0;animation:.35s cubic-bezier(.2,.8,.2,1) rise;position:absolute;bottom:0;left:0;right:0;overflow-y:auto}.grabber{background:var(--rule);border-radius:3px;width:40px;height:5px;margin:-14px auto 14px}.dialog-wrap{z-index:30;justify-content:center;align-items:center;padding:18px;display:flex;position:absolute;inset:0}.dialog{background:var(--bg);border:1.5px solid var(--line);border-radius:26px;width:100%;max-width:440px;padding:22px;animation:.3s rise;position:relative;box-shadow:0 20px 50px #0000004d}.dialog h2{font-family:var(--fell);margin:0 0 10px;font-size:31px;font-weight:400}.text-input{border:1.5px solid var(--line);background:var(--sheet);border-radius:13px;outline:none;width:100%;min-height:50px;padding:0 14px;font-size:17px}.progress{background:var(--rule);border-radius:3px;height:6px;overflow:hidden}.progress>div{background:var(--fg);border-radius:3px;height:100%;transition:width .3s}.group{background:var(--sheet);border:1.5px solid var(--line);border-radius:14px;overflow:hidden}.group-row{text-align:left;border-top:1px solid var(--rule);align-items:center;gap:12px;width:100%;min-height:50px;padding:8px 14px;font-size:16px;display:flex}.group-row:first-child{border-top:0}.group-row .grow{flex:1;min-width:0}.group-foot{color:var(--soft);margin:6px 6px 0;font-size:13px;font-style:italic}.toggle{background:var(--rule);border-radius:16px;flex:none;width:51px;height:31px;transition:background .2s;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:27px;height:27px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0003}.toggle[aria-checked=true]{background:var(--laitue)}.toggle[aria-checked=true]:after{transform:translate(20px)}select.select{appearance:none;font:inherit;color:var(--soft);text-align:right;background:0 0;border:0;padding:6px 0}.flash{perspective:1200px;cursor:pointer;height:min(420px,52vh)}.flash-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.8,.2,1);position:relative}.flash-inner.flipped{transform:rotateY(180deg)}.flash-face{backface-visibility:hidden;text-align:center;background:var(--sheet);border:1.5px solid var(--line);box-shadow:0 8px 22px var(--shadow);border-radius:26px;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:absolute;inset:0}.flash-face.back{transform:rotateY(180deg)}.board{flex-direction:column;align-items:center;gap:6px;display:flex}.board-row{gap:6px;display:flex}.board-row.shake{animation:.36s shake}@keyframes shake{20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.tile{border:1.5px solid var(--rule);background:var(--sheet);font-family:var(--system);text-transform:uppercase;color:var(--fg);border-radius:8px;justify-content:center;align-items:center;font-weight:700;display:flex}.tile.typed{border-color:var(--fg)}.tile.correct{background:var(--laitue);border-color:var(--ink);color:var(--ink)}.tile.present{background:var(--present);border-color:var(--ink);color:var(--ink)}.tile.absent{background:var(--absent);border-color:var(--absent);color:var(--absent-text)}.tile.turn-out{animation:.25s ease-in both turn-out}.tile.turn-in{animation:.25s ease-out both turn-in}@keyframes turn-out{0%{transform:rotateX(0)}to{transform:rotateX(90deg)}}@keyframes turn-in{0%{transform:rotateX(90deg)}to{transform:rotateX(0)}}.keyboard{flex-direction:column;gap:7px;display:flex}.key-row{justify-content:center;gap:5px;display:flex}.key{border:1.25px solid var(--line);background:var(--sheet);max-width:36px;min-height:50px;font-family:var(--system);text-transform:uppercase;border-radius:7px;flex:1;justify-content:center;align-items:center;font-size:17px;font-weight:600;display:flex}.key.wide{text-transform:none;flex:1.5;max-width:62px;font-size:12px}.key.correct{background:var(--laitue);color:var(--ink)}.key.present{background:var(--present);color:var(--ink)}.key.absent{background:var(--absent);border-color:var(--absent);color:var(--absent-text)}.option{text-align:left;border:1.5px solid var(--line);background:var(--sheet);border-radius:14px;align-items:center;gap:12px;width:100%;min-height:58px;padding:8px 14px;display:flex}.option[aria-pressed=true]{background:var(--bg);border-width:2.5px;padding:7px 13px}.check{border:1.5px solid var(--line);width:24px;height:24px;color:var(--ink);border-radius:6px;flex:none;justify-content:center;align-items:center;display:flex}.check.on{background:var(--laitue)}.radio{border:1.5px solid var(--line);border-radius:50%;flex:none;width:22px;height:22px;position:relative}.radio.on:after{content:"";background:var(--fg);border-radius:50%;position:absolute;inset:4px}.tour-card{z-index:41;background:var(--sheet);border:1.5px solid var(--line);border-radius:18px;padding:18px;animation:.3s fade;position:absolute;left:18px;right:18px;box-shadow:0 8px 22px #0000004d}.spotlight{z-index:40;border:2.5px solid var(--bg);pointer-events:none;transition:all .35s cubic-bezier(.2,.8,.2,1);position:absolute;box-shadow:0 0 0 200vmax #0000009e}.tour-block{z-index:39;position:absolute;inset:0}.update-banner{top:calc(var(--top) + 60px);z-index:50;border-radius:18px;align-items:center;gap:10px;padding:10px 10px 10px 16px;font-size:15px;display:flex;position:absolute;left:16px;right:16px}input[type=search]::-webkit-search-cancel-button{appearance:none}input[type=search]::-webkit-search-decoration{appearance:none}@media (width>=700px){.app{--col:min(100vw - 64px, 720px);--gutter:max(32px, calc((100% - 720px) / 2))}.screen{padding-top:calc(var(--top) + 20px)}.more{top:calc(var(--top) + 20px);right:max(32px,50% - 360px)}.bottom-bar,.toast,.update-banner,.tour-card{left:max(14px,50% - 260px);right:max(14px,50% - 260px)}.bottom-bar{bottom:calc(var(--bottom) + 24px)}.bottom-sheet{border:1.5px solid var(--line);border-radius:28px;max-height:calc(100% - 64px);padding-bottom:30px;animation:.3s cubic-bezier(.2,.8,.2,1) both pop;inset:50% max(24px,50% - 300px) auto}.bottom-sheet .grabber{display:none!important}.flash{height:min(460px,50vh)}}@keyframes pop{0%{opacity:0;transform:translateY(-46%)scale(.97)}to{opacity:1;transform:translateY(-50%)}}@media (width>=700px) and (height>=600px){.app{--tile-max:76px;--board-chrome:500px}.keyboard{gap:9px;width:100%;max-width:760px;margin-inline:auto}.key-row{gap:8px}.key{border-radius:10px;max-width:64px;min-height:60px;font-size:22px}.key.wide{max-width:104px}.board,.board-row{gap:8px}}
