@font-face{font-family:Noto Sans Bengali;src:url(../fonts/NotoSansBengali-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Noto Sans Bengali;src:url(../fonts/NotoSansBengali-Medium.woff2) format("woff2");font-weight:500;font-display:swap}:root{--paper: #edeeea;--paper-raised: #f6f7f4;--ink: #1a1c1a;--ink-soft: #5c605c;--ink-faint: #8b8f8a;--indigo: #2e3f6e;--moss: #43613f;--brick: #9b3b2e;--rule: #c9ccc4;--bn: "Noto Sans Bengali", system-ui, sans-serif;--ui: ui-sans-serif, -apple-system, "Segoe UI", sans-serif}@media(prefers-color-scheme:dark){:root{--paper: #16181a;--paper-raised: #1f2225;--ink: #e8e9e4;--ink-soft: #a2a6a1;--ink-faint: #6f736e;--indigo: #8fa4d8;--moss: #8fb387;--brick: #d98878;--rule: #383c3f}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--ui);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}.app{max-width:34rem;margin:0 auto;min-height:100%;display:flex;flex-direction:column;padding:env(safe-area-inset-top) 1.25rem env(safe-area-inset-bottom)}.bar{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:1.25rem 0 .75rem;font-size:13px;color:var(--ink-faint)}.bar strong{font-weight:500;color:var(--ink-soft);font-variant-numeric:tabular-nums}.bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar button{flex-shrink:0;background:none;border:0;color:var(--ink-faint);font:inherit;cursor:pointer;padding:0}.bar button:hover{color:var(--ink)}.matra{height:2px;background:var(--ink);transform-origin:left;animation:draw .26s cubic-bezier(.4,0,.2,1)}@keyframes draw{0%{transform:scaleX(0)}}@media(prefers-reduced-motion:reduce){.matra{animation:none}}.card{flex:1;display:flex;flex-direction:column;padding-top:2rem}.eyebrow{font-size:12px;letter-spacing:.04em;color:var(--ink-faint);margin-bottom:.5rem}.prompt-bn{font-family:var(--bn);font-size:2.5rem;line-height:1.7;font-weight:500;margin:0;word-break:keep-all}.prompt-en{font-size:1.375rem;line-height:1.45;margin:0;font-weight:400}.tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.75rem}.tag{font-size:12px;line-height:1.4;padding:.1875rem .5rem;border:1px solid var(--rule);border-radius:999px;color:var(--ink-soft);white-space:nowrap}.translit{color:var(--ink-faint);font-size:13px;font-style:italic;margin-top:.5rem}.tok{font-family:var(--bn);border-bottom:2px solid transparent;padding-bottom:2px}.tok.bad{border-bottom-color:var(--brick);border-bottom-style:dashed}.tok.ok{border-bottom-color:var(--rule)}.answer{width:100%;font-family:var(--bn);font-size:1.75rem;line-height:1.7;padding:.75rem 0;background:transparent;color:var(--ink);border:0;border-bottom:2px solid var(--rule);border-radius:0;outline:none}.answer:focus{border-bottom-color:var(--indigo)}.answer::placeholder{color:var(--ink-faint);font-size:1rem}.choices{display:grid;gap:.5rem;margin-top:1.5rem}.choice{text-align:left;padding:.875rem 1rem;background:var(--paper-raised);border:1px solid var(--rule);border-radius:6px;font:inherit;color:var(--ink);cursor:pointer;min-height:3rem}.choice:focus-visible,.btn:focus-visible,.answer:focus-visible,.tile:focus-visible{outline:2px solid var(--indigo);outline-offset:2px}.choice.picked{border-color:var(--indigo)}.answer-strip{display:flex;flex-wrap:wrap;align-content:flex-start;gap:.5rem;min-height:3.5rem;padding:.5rem 0;margin-bottom:1.25rem;border-bottom:2px solid var(--rule)}.answer-strip-placeholder{align-self:center;color:var(--ink-faint);font-size:1rem}.tile-pool{display:flex;flex-wrap:wrap;gap:.5rem}.tile{font-family:var(--bn);font-size:1.25rem;padding:.5rem .875rem;min-height:3rem;background:var(--paper-raised);border:1px solid var(--rule);border-radius:6px;color:var(--ink);cursor:pointer}.tile.tile-placed{border-color:var(--indigo)}.verdict{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--rule)}.verdict-label{font-size:13px;font-weight:500}.verdict-label.correct{color:var(--moss)}.verdict-label.close{color:var(--indigo)}.verdict-label.wrong{color:var(--brick)}.verdict-note{color:var(--ink-soft);font-size:13px;margin-top:.125rem}.target{font-family:var(--bn);font-size:1.5rem;line-height:1.7;margin-top:.75rem}.actions{display:flex;gap:.5rem;padding:1rem 0 1.5rem}.btn{flex:1;padding:.875rem 1rem;min-height:3rem;border-radius:6px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font:inherit;font-weight:500;cursor:pointer}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--rule)}.btn:disabled{opacity:.4;cursor:default}.btn-back{flex:0 0 auto;min-width:3rem;min-height:3rem;padding:.875rem 1rem;border-radius:6px;border:1px solid var(--rule);background:transparent;color:var(--ink-soft);font:inherit;cursor:pointer}.btn-back:hover{color:var(--ink)}.ladder{margin-top:1.25rem}.ladder-rung{display:flex;align-items:baseline;gap:.75rem;padding:.5rem 0;border-top:1px solid var(--rule)}.ladder-label{flex:0 0 3.5rem;font-size:11px;letter-spacing:.04em;color:var(--ink-faint)}.ladder-bn{font-family:var(--bn);font-size:1.5rem}.ladder-options{display:flex;flex-wrap:wrap;gap:.5rem}.ladder-option{font-family:var(--bn);font-size:1.25rem;min-height:3rem;padding:.375rem .875rem;border:1px solid var(--rule);border-radius:6px;background:transparent;color:var(--ink);cursor:pointer}.ladder-option.right{border-color:var(--ink);box-shadow:inset 0 -2px 0 var(--ink)}.ladder-option.wrong{border-color:var(--brick);color:var(--brick);border-style:dashed}.ladder-more{display:block;width:100%;margin-top:1rem;min-height:3rem;padding:.75rem 1rem;background:transparent;border:1px dashed var(--rule);border-radius:6px;color:var(--ink-soft);font:inherit;font-weight:500;cursor:pointer}.ladder-more:hover{color:var(--ink);border-color:var(--ink-soft)}.error-inline{color:var(--brick);font-size:13px;margin-top:.5rem}.empty{flex:1;display:flex;flex-direction:column;justify-content:center;gap:.5rem}.empty p{margin:0;color:var(--ink-soft)}.verdict-learn-more{display:block;margin-top:1rem;background:none;border:0;padding:0;color:var(--ink-soft);font:inherit;font-size:13px;text-align:left;cursor:pointer}.verdict-learn-more:hover{color:var(--ink)}.rule-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--paper);overflow-y:auto;z-index:10}.rule-panel{max-width:34rem;margin:0 auto;padding:env(safe-area-inset-top) 1.25rem env(safe-area-inset-bottom)}.rule-back{background:none;border:0;color:var(--ink-soft);font:inherit;font-size:13px;padding:1.25rem 0 0;cursor:pointer}.rule-back:hover{color:var(--ink)}.rule-loading{color:var(--ink-soft);margin-top:2rem}.rule-label{font-size:1.375rem;line-height:1.4;font-weight:500;margin:.25rem 0 1rem}.rule-quote{margin:0 0 1.5rem;padding:.125rem 0 .125rem 1rem;border-left:2px solid var(--indigo)}.rule-quote p{color:var(--ink);font-size:.9375rem;line-height:1.65;white-space:pre-wrap;margin:0}.rule-quote p+p{margin-top:.75rem}.quote-table-wrap{overflow-x:auto;margin:.875rem 0;-webkit-overflow-scrolling:touch}.quote-table{border-collapse:collapse;min-width:100%}.quote-table th{font-size:11px;font-weight:400;letter-spacing:.04em;color:var(--ink-faint);text-align:left;padding:0 .875rem .375rem 0;white-space:nowrap}.quote-table td{padding:.375rem .875rem .375rem 0;vertical-align:baseline}.quote-table thead th{border-bottom:1px solid var(--rule)}.quote-table tbody tr+tr td{border-top:1px solid var(--rule)}.quote-cell-bn{font-family:var(--bn);font-size:1.25rem;line-height:1.6}.quote-cell-lead{font-family:var(--bn);font-size:1.0625rem;color:var(--ink-soft)}.quote-table-paradigm td,.quote-table-forms td{white-space:nowrap}.quote-table-gloss .quote-cell-bn{min-width:7rem}.quote-cell-en{font-size:.875rem;color:var(--ink-soft);line-height:1.5}.quote-cell-answer{font-family:var(--bn);font-size:1.5rem;line-height:1.6;font-weight:500;white-space:nowrap}.quote-table-entry .quote-cell-lead{white-space:nowrap}.quote-table-entry .quote-cell-en{font-size:.8125rem}.rule-quote cite{display:block;margin-top:.5rem;color:var(--ink-faint);font-size:12px;font-style:normal}.rule-shared{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem;margin:-.75rem 0 1.5rem;padding-left:1rem}.rule-shared-label{font-size:11px;letter-spacing:.04em;color:var(--ink-faint)}.rule-shared .tags{margin-top:0}.tag-link{font-family:var(--bn);font-size:1rem;background:transparent;cursor:pointer;min-height:2.25rem}.tag-link:hover{color:var(--ink);border-color:var(--ink-soft)}.rule-explanation{color:var(--ink-soft);font-size:.9375rem;line-height:1.6;margin:0 0 1.5rem}.rule-mastery{font-size:13px;color:var(--ink-soft);padding-top:1rem;border-top:1px solid var(--rule)}.rule-mastery strong{color:var(--ink);font-weight:500}.rule-examples{margin-top:1.5rem}.rule-example{padding:1rem 0;border-top:1px solid var(--rule)}.rule-example-bn{font-size:1.5rem;margin-bottom:.25rem}.rule-example-en{font-size:1rem;color:var(--ink-soft)}.conjugation-card .prompt-en{font-size:.8125rem;color:var(--ink-soft)}.conjugation-english{margin:.375rem 0 0;font-size:1rem;font-weight:500;line-height:1.5;color:var(--ink-soft)}.conjugation-english:first-letter{text-transform:uppercase}.conjugation-card .tags{margin-bottom:1.5rem}.conjugation-card .answer{border-top:2px solid var(--ink);border-bottom:0;font-size:2.5rem;font-weight:400;min-height:3rem}.conjugation-card .answer:focus{border-top-color:var(--indigo)}.conjugation-card .ladder-bn,.conjugation-card .target{font-size:2.5rem}.conjugation-card .verdict-learn-more{min-height:3rem}.ladder-option:focus-visible,.ladder-more:focus-visible,.verdict-learn-more:focus-visible,.btn-back:focus-visible{outline:2px solid var(--indigo);outline-offset:2px}.bar button{min-width:3rem;min-height:3rem}.study-sections{display:grid;gap:1rem;margin-top:1.5rem}.study-section{display:grid;grid-template-columns:1fr auto;gap:.5rem 1rem;padding:1.25rem 0;min-height:3rem;border:0;border-top:2px solid var(--ink);background:transparent;color:var(--ink);font:inherit;font-weight:500;text-align:left;cursor:pointer}.section-count{color:var(--ink-soft);font-size:.8125rem;font-weight:400}.vocabulary-en{font-size:1rem;line-height:1.6;color:var(--ink-soft);margin:0}.vocabulary-card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3rem}.suspend-word{min-height:3rem;padding:0 .25rem;border:0;background:transparent;color:var(--ink-soft);font:inherit;font-size:.8125rem;cursor:pointer}.suspend-word:hover{color:var(--brick)}.suspension-state{color:var(--brick);font-size:.8125rem}.suspend-word:disabled{opacity:.4;cursor:default}.vocabulary-answer{margin-top:2rem;padding-top:1rem;border-top:2px solid var(--ink)}.study-section:focus-visible,.bar button:focus-visible,.suspend-word:focus-visible{outline:2px solid var(--indigo);outline-offset:4px}@media(max-width:360px){.actions .btn{padding-inline:.5rem}}.app-library{max-width:88rem}.library{padding:1rem 0 2rem}.library-title-row,.library-section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.library-title-row h1,.library-section-heading h2{margin:0;font-weight:500}.library-title-row h1{font-size:2rem}.library-section-heading h2{font-size:1.25rem}.library-title-row p{margin:.125rem 0 0;color:var(--ink-faint);font-size:.8125rem}.library-add-button{flex:0 0 auto;min-width:8rem}.stage-switcher{display:flex;flex-wrap:wrap;border-top:2px solid var(--ink);margin:1.5rem 0 1rem}.stage-switcher button{flex:1 1 8.5rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:3rem;padding:.625rem .75rem;border:0;border-bottom:1px solid var(--rule);background:transparent;color:var(--ink-soft);font:inherit;font-size:.8125rem;cursor:pointer}.stage-switcher button:hover{color:var(--ink)}.stage-switcher button.selected{border-bottom:2px solid var(--indigo);color:var(--ink);font-weight:500}.stage-count{color:var(--ink-faint);font-size:.75rem;font-weight:400;font-variant-numeric:tabular-nums}.column-filter-panel{display:flex;align-items:end;gap:.75rem;margin:0 0 1rem;padding:.75rem;border:1px solid var(--rule);border-radius:6px;background:var(--paper-raised)}.column-filter-panel label{display:grid;gap:.25rem;width:min(24rem,100%);color:var(--ink-faint);font-size:.6875rem;letter-spacing:.04em}.column-filter-panel input,.column-filter-panel select,.vocab-add input,.vocab-add select{width:100%;min-height:3rem;padding:.625rem .75rem;border:1px solid var(--rule);border-radius:5px;outline:none;background:var(--paper-raised);color:var(--ink);font:inherit}.column-filter-panel input:focus,.column-filter-panel select:focus,.vocab-add input:focus,.vocab-add select:focus{border-color:var(--indigo);outline:2px solid color-mix(in srgb,var(--indigo) 25%,transparent)}.column-filter-actions{display:flex;margin-left:auto;gap:.25rem}.column-filter-actions .text-action{padding-inline:.75rem}.library-table-scroll,.vocab-add-scroll{overflow-x:auto;border-top:2px solid var(--ink);-webkit-overflow-scrolling:touch}.library-table,.vocab-add-table{width:100%;border-collapse:collapse;text-align:left}.library-table{min-width:68rem}.library-table th,.library-table td,.vocab-add-table th,.vocab-add-table td{padding:.875rem .75rem;border-bottom:1px solid var(--rule);vertical-align:top}.library-table th,.vocab-add-table th{color:var(--ink-faint);font-size:.6875rem;font-weight:500;letter-spacing:.04em;white-space:nowrap}.library-table td{font-size:.8125rem}.library-table th:first-child,.library-table td:first-child{position:sticky;left:0;z-index:1;background:var(--paper)}.library-table th:first-child{z-index:2}.column-heading{display:flex;align-items:center;justify-content:space-between;gap:.25rem}.column-filter-button,.column-sort-button{min-width:3rem;min-height:3rem;margin:-.75rem -.75rem -.75rem 0;padding:.75rem;border:0;background:transparent;color:var(--ink-faint);font:inherit;cursor:pointer}.column-filter-button svg{display:block;width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-linejoin:round;stroke-width:1.2}.column-filter-button:hover,.column-filter-button.active,.column-sort-button:hover,.column-sort-button.active{color:var(--indigo)}.column-filter-button.active svg{fill:currentColor;stroke:currentColor}.column-sort-button{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:calc(100% + 1.5rem);white-space:nowrap;text-align:left}.column-filter-button:focus-visible,.column-sort-button:focus-visible,.stage-switcher button:focus-visible{outline:2px solid var(--indigo);outline-offset:-2px}.library-word{min-width:9rem;font-family:var(--bn);font-size:1.2rem!important;line-height:1.6;font-weight:500}.library-gloss{width:22rem;min-width:14rem;color:var(--ink-soft)}.stage,.study-state{display:inline-block;white-space:nowrap;font-weight:500}.stage-needs-work,.study-state-suspended,.study-state-partly-suspended{color:var(--brick)}.stage-strong{color:var(--moss)}.stage-familiar,.study-state-due{color:var(--indigo)}.stage-detail,.cell-detail{display:block;margin-top:.2rem;color:var(--ink-faint);font-size:.75rem;line-height:1.4}.nowrap{white-space:nowrap}.row-action,.text-action,.remove-draft{min-height:3rem;border:0;background:transparent;color:var(--ink-soft);font:inherit;cursor:pointer}.row-action{display:block;margin:.125rem 0 -.75rem -.5rem;padding:0 .5rem;color:var(--ink-faint);font-size:.75rem}.row-action:hover,.text-action:hover{color:var(--ink)}.row-action:disabled,.remove-draft:disabled{opacity:.35;cursor:default}.library-message,.library-empty{margin:1rem 0;color:var(--ink-soft);font-size:.8125rem}.library-empty{padding:2rem 0;text-align:center}.library-pages{display:grid;grid-template-columns:8rem 1fr 8rem;align-items:center;gap:1rem;max-width:30rem;margin:1.5rem auto 0;text-align:center;color:var(--ink-faint);font-size:.8125rem}.library-pages .btn{padding-inline:.75rem}.vocab-add{margin:1.5rem 0;padding:1.25rem;border:1px solid var(--rule);border-radius:7px;background:var(--paper-raised)}.vocab-add-scroll{margin-top:1rem;border-top-width:1px}.vocab-add-table{min-width:72rem}.vocab-add-table th,.vocab-add-table td{padding:.375rem}.vocab-add-table th{padding-top:.625rem}.vocab-add-table input,.vocab-add-table select{min-height:2.75rem;background:var(--paper)}.vocab-add-table .draft-bn{min-width:10rem;font-family:var(--bn);font-size:1.125rem}.vocab-add-table td:nth-child(2) input{min-width:15rem}.vocab-add-table td:nth-child(5) input,.vocab-add-table td:nth-child(6) input{min-width:10rem}.vocab-add-table .draft-invalid input:first-child{border-color:var(--brick)}.draft-error td{padding:.125rem .5rem .5rem;color:var(--brick);font-size:.75rem}.remove-draft{min-width:3rem;padding:0;font-size:1.25rem}.vocab-add-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem}.vocab-add-actions .btn{flex:0 0 auto;min-width:8rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:520px){.library-title-row{align-items:flex-end}.library-title-row h1{font-size:1.625rem}.library-add-button{min-width:7rem}.vocab-add{margin-inline:-.5rem;padding-inline:.75rem}.stage-switcher button{flex-basis:calc(50% - .5rem)}.column-filter-panel{align-items:stretch;flex-wrap:wrap}.column-filter-panel label{width:100%}.library-pages{grid-template-columns:1fr auto 1fr}}
