:root{color:#253a31;font-synthesis:none;--ink:#253a31;--muted:#5d6b60;--green:#28533e;--line:#dfe4da;--paper:#fffefa;--accent:#e7edbe;--red:#a23c35;background:#f7f8f2;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer;border:0}button:disabled{opacity:.55;cursor:wait}button,input,textarea,select{max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #55734b}button,a{touch-action:manipulation}h1,h2,h3,p{margin:0}h1{letter-spacing:-.055em;overflow-wrap:anywhere;font-size:clamp(2.5rem,4.6vw,3.8rem);font-weight:500;line-height:1.12}h2{letter-spacing:-.035em;font-size:1.45rem;font-weight:600}h3{letter-spacing:-.025em;font-size:1.15rem;font-weight:600}p{color:var(--muted)}input,textarea,select{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;padding:.7rem .8rem}input::placeholder,textarea::placeholder{color:#65715e}textarea{resize:vertical}input:focus,textarea:focus,select:focus{border-color:#55734b}label{font-size:.85rem;font-weight:500}label input,label textarea,label select{width:100%;margin-top:.3rem;display:block}select{cursor:pointer}button,.button{border-radius:8px;justify-content:center;align-items:center;gap:.55rem;min-height:44px;padding:.7rem 1.15rem;font-size:.88rem;font-weight:600;transition:background .15s;display:inline-flex}.primary{background:var(--green);color:#fffefa}.primary:hover{background:#1b3c2c}.secondary{background:var(--paper);border:1px solid var(--line);color:var(--ink)}.secondary:hover{background:#eef1e6}.small{min-height:38px;padding:.5rem .75rem;font-size:.8rem}.icon-button{min-width:36px;color:var(--muted);background:0 0;padding:.3rem;font-size:1.25rem}.danger:hover{color:var(--red);background:#fbebe6}.text-button{color:var(--green);background:0 0;min-height:44px;padding:.25rem .3rem}.button-row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.app-shell{max-width:1352px;margin:auto;padding:0 64px}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:100px;display:flex}.brand{letter-spacing:-.08em;align-items:center;font-size:1.55rem;font-weight:700;display:flex}.brand-mark{background:var(--green);width:36px;height:36px;color:var(--accent);border-radius:12px;justify-content:center;align-items:center;margin-right:10px;font-family:Georgia,serif;font-size:1.7rem;font-style:italic;display:inline-flex}.brand-dot{color:#8c9c51}.site-header nav{gap:30px;font-size:.84rem;display:flex}.site-header nav a:hover{color:var(--green);text-underline-offset:6px;text-decoration:underline}main{min-height:calc(100vh - 205px);padding:44px 0 58px}.site-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:20px;padding:25px 0;font-size:.73rem;display:flex}.eyebrow{letter-spacing:.14em;color:#65715e;font-size:.65rem;font-weight:700;display:block}.serif-accent{letter-spacing:-.06em;color:#55734b;font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:400}.page-intro{justify-content:space-between;align-items:center;padding:20px 0 44px;display:flex}.page-intro h1{margin:15px 0 22px}.page-intro p{font-size:.95rem;line-height:1.8}.intro-note{width:220px;margin-right:60px;padding:25px 30px 25px 40px;transform:rotate(7deg)}.note-spark{color:#8c9c51;font-size:4rem;line-height:1.1;display:block}.intro-note p{color:var(--ink);margin-top:8px;font-family:Georgia,Times New Roman,serif;font-size:1.65rem;line-height:1.4}.note-line{border-bottom:2px solid #a3b47d;width:130px;margin-top:12px;display:block;transform:rotate(-6deg)}.continue-card{background:#eaf0dc;border:1px solid #dce4ca;border-radius:12px;align-items:center;gap:22px;margin:0 0 44px;padding:26px 30px;display:flex}.continue-icon{background:#dbe5c7;border-radius:50%;place-items:center;width:50px;height:50px;font-size:1.9rem;display:grid}.continue-card h2{margin:5px 0}.continue-card p{font-size:.8rem}.continue-action{white-space:nowrap;margin-left:auto;font-size:.85rem;font-weight:600}.continue-action span{margin-left:18px}.section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.section-heading h2{align-items:center;gap:10px;display:flex}.section-heading p{margin-top:5px;font-size:.82rem}.count-badge{border:1px solid var(--line);color:var(--muted);letter-spacing:0;background:#f3f5ed;border-radius:20px;justify-content:center;align-items:center;min-width:24px;padding:1px 7px;font-size:.67rem;font-weight:500;display:inline-flex}.topic-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.topic-card{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:23px;transition:transform .18s,border-color .18s}.topic-card:hover{border-color:#a7b49b;transform:translateY(-3px)}.card-top{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.topic-symbol{border-radius:12px;place-items:center;width:42px;height:42px;font-size:1.7rem;display:grid}.tone-0{color:#72854a;background:#edf0dd}.tone-1{color:#aa7953;background:#f4e9df}.tone-2{color:#62818b;background:#e6edf0}.card-arrow{color:#8a9588}.topic-card h3{overflow-wrap:anywhere;margin-bottom:8px;font-size:1.25rem}.topic-card p{font-size:.76rem}.topic-card p span{padding:0 7px}.card-bottom{border-top:1px solid #edf0e7;margin-top:22px;padding-top:15px}.status-label{color:#65715e;white-space:nowrap;font-size:.7rem}.status-label.completed{color:#3c7053}.workspace-note{color:#7a8579;gap:10px;max-width:740px;margin-top:32px;font-size:.74rem;line-height:1.7;display:flex}.workspace-note p a{text-underline-offset:3px;text-decoration:underline}.empty-state{text-align:center;background:#f2f5e9;border:1px dashed #d2dbca;border-radius:12px;padding:65px 20px}.empty-icon{color:#81965b;margin-bottom:12px;font-size:3rem;display:block}.empty-state p{margin:12px 0 24px;font-size:.88rem;line-height:1.8}.empty-state h1{margin-top:16px;font-size:2.5rem}.empty-state h3{font-size:1.3rem}.notice{border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;padding:13px 18px;font-size:.85rem;display:flex}.error{color:#8b3c32;background:#fff0e9;border:1px solid #edc8b8}.error-text{color:var(--red);font-size:.8rem}.inline-form{flex-wrap:wrap;gap:10px;margin-bottom:24px;display:flex}.inline-form input{flex:1;min-width:170px}.new-topic-form{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:20px}.back-link{min-height:44px;color:var(--muted);align-items:center;margin-bottom:22px;font-size:.8rem;display:inline-flex}.back-link:hover{color:var(--green)}.topic-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px;display:flex}.topic-heading h1{margin:10px 0 12px;font-size:3rem}.topic-heading p{font-size:.9rem}.vocabulary-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:28px;padding:17px 20px;font-size:.77rem;display:flex}.vocabulary-summary strong{font-weight:700}.balance{gap:16px;margin-left:auto;display:flex}.balance span{align-items:center;gap:6px;display:flex}.legend-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.legend-dot.known{background:#6c936b}.legend-dot.learning{background:#c4a067}.balance-tip{width:100%;color:var(--muted);font-size:.73rem}.vocabulary-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:14px;display:grid}.category-panel{border:1px solid var(--line);background:var(--paper);border-radius:10px;min-width:0;overflow:hidden}.category-panel>header{border-bottom:1px solid var(--line);padding:19px 16px 14px}.category-title{align-items:center;gap:8px;display:flex}.category-title>span:first-child{color:#86975c;font-size:1.2rem}.category-title h2{letter-spacing:-.02em;font-size:.95rem}.category-title .count-badge{margin-left:auto}.category-panel header p{margin-top:5px;font-size:.65rem}.word-list{margin:0;padding:0;list-style:none}.word-list>li{border-bottom:1px solid #edf0e7}.word-row{align-items:center;gap:5px;padding:4px 8px 4px 13px;display:flex}.word-main{text-align:left;overflow-wrap:anywhere;min-width:0;color:var(--ink);background:0 0;flex-direction:column;flex:1;align-items:start;padding:9px 0;font-size:.82rem;font-weight:500;display:flex}.word-main small{color:var(--muted);font-size:.7rem;font-weight:400}.familiarity-tag{color:#806739;white-space:nowrap;background:#f6efdf;border-radius:4px;padding:2px 5px;font-size:.55rem}.familiarity-tag.known{color:#54724d;background:#edf2e6}.word-delete{min-width:25px;min-height:40px;font-size:1rem}.word-delete:hover{color:var(--red)}.add-word{padding:10px 13px 13px}.add-word-input{color:#819177;align-items:center;gap:4px;display:flex}.add-word-input input{background:0 0;border:0;width:100%;min-width:0;padding:8px 0;font-size:.75rem}.add-word-input button{min-width:26px;font-size:.95rem}.familiarity-select{color:var(--muted);align-items:center;gap:6px;font-size:.65rem;font-weight:400;display:flex}.familiarity-select select{background:0 0;border:0;width:auto;margin:0;padding:4px 3px;font-size:.65rem}.word-edit{gap:10px;padding:12px;display:grid}.word-edit label{font-size:.7rem}.word-edit input,.word-edit select,.word-edit textarea{padding:7px;font-size:.75rem}.form-pair{grid-template-columns:1fr;gap:8px;display:grid}.muted{color:var(--muted);font-weight:400}.editor-hint{margin:16px 0 40px;font-size:.7rem}.stories-section{margin-top:40px}.empty-stories{text-align:center;border:1px dashed var(--line);border-radius:12px;padding:36px 20px}.empty-stories>span{color:#8c9c6e;margin-bottom:10px;font-size:2rem;display:block}.empty-stories p{margin:8px 0;font-size:.8rem;line-height:1.8}.empty-stories .text-button{font-size:.8rem}.story-list{border:1px solid var(--line);background:var(--paper);border-radius:10px;overflow:hidden}.story-list-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 16px;display:flex}.story-list-row:last-child{border:0}.story-list-row>a{flex:1;align-items:center;gap:18px;min-width:0;display:flex}.story-list-row a>div{flex:1;min-width:0}.story-list-row h3{overflow-wrap:anywhere;font-size:.9rem}.story-list-row p{text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:.75rem;overflow:hidden}.story-icon{color:#839968;font-size:1.8rem}.practice-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.practice-heading h1{margin-top:10px;font-size:2.3rem}.save-status{color:var(--muted);white-space:nowrap;font-size:.7rem}.save-error{color:var(--red)}.practice-grid{grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:25px;display:grid}.story-paper{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:27px 32px;overflow:hidden;box-shadow:0 4px 18px #253a3103}.paper-top{justify-content:space-between;gap:16px;display:flex}.paper-top .eyebrow{overflow-wrap:anywhere}.story-title-input{letter-spacing:-.03em;background:0 0;border:0;border-radius:0;width:100%;margin:28px 0 14px;padding:0;font-family:Georgia,Times New Roman,serif;font-size:1.4rem}.story-body{field-sizing:content;resize:vertical;background:0 0;border:0;border-radius:0;width:100%;min-height:390px;padding:0;font-size:.95rem;line-height:1.95;display:block}.story-body::placeholder{color:#65715e}.paper-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:15px;margin-top:20px;padding-top:16px;font-size:.65rem;display:flex}.word-pocket{border:1px solid var(--line);background:#eef2e3;border-radius:10px;overflow:hidden}.word-pocket summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:18px;font-size:.85rem;font-weight:600;list-style:none;display:flex}.word-pocket summary:after{content:"⌄";font-size:1rem}.word-pocket[open] summary:after{content:"⌃"}.word-pocket summary .count-badge{margin-left:auto}.pocket-content{padding:0 18px 22px}.progress-heading{align-items:baseline;gap:7px;font-size:.75rem;display:flex}.progress-heading strong{font-size:1.25rem;font-weight:500}.progress-heading>span{color:var(--muted)}progress{appearance:none;background:#dbe2ce;border:0;border-radius:10px;width:100%;height:5px;margin:12px 0 14px}progress::-webkit-progress-bar{background:#dbe2ce;border-radius:10px}progress::-webkit-progress-value{background:#729553;border-radius:10px}progress::-moz-progress-bar{background:#729553;border-radius:10px}.pocket-hint{margin-bottom:18px;font-size:.73rem;line-height:1.7}.practice-chips{flex-wrap:wrap;gap:7px;display:flex}.word-chip{color:#63715b;overflow-wrap:anywhere;background:#fbfcf7;border:1px solid #d8dfce;border-radius:6px;align-items:baseline;gap:6px;max-width:100%;padding:6px 9px;font-size:.73rem;display:inline-flex}.word-chip.used{color:#315b36;background:#deebd6;border-color:#b8cfa7}.practice-note{padding:25px 14px}.practice-note>span{color:#859959;font-size:2rem}.practice-note h3{margin:6px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:1.1rem;font-weight:400}.practice-note p{font-size:.76rem;line-height:1.8}.practice-note p.small-note{color:#65715e;margin-top:18px;font-size:.66rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=1500px){.app-shell{max-width:1440px}.vocabulary-grid{gap:20px}}@media (width<=1100px){.app-shell{padding:0 35px}.vocabulary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-pair{grid-template-columns:1fr 1fr}.practice-heading{flex-direction:column;align-items:flex-start}.intro-note{margin-right:0}.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.app-shell{padding:0 20px}.site-header{height:80px}.site-header nav{gap:18px;font-size:.73rem}.brand{font-size:1.3rem}.brand-mark{width:30px;height:30px;margin-right:7px;font-size:1.4rem}main{padding:28px 0 40px}.page-intro{padding:12px 0 30px}.page-intro h1{font-size:2.7rem}.page-intro p{font-size:.85rem}.intro-note{display:none}.continue-card{flex-wrap:wrap;gap:14px;margin-bottom:30px;padding:20px 18px}.continue-card h2{overflow-wrap:anywhere;font-size:1.25rem}.continue-card>div{flex:1;min-width:0}.continue-icon{width:36px;height:36px;font-size:1.5rem}.continue-action{margin-left:auto;font-size:.75rem}.continue-action span{margin-left:5px}.continue-card .eyebrow{font-size:.55rem}.section-heading{gap:12px}.section-heading h2{font-size:1.25rem}.section-heading p{font-size:.72rem}.section-heading button{padding:.6rem .8rem;font-size:.76rem}.topic-grid{gap:12px}.topic-card{padding:16px}.topic-card h3{font-size:1.05rem}.topic-card p{font-size:.66rem}.topic-card p span{padding:0 3px}.card-top{margin-bottom:20px}.status-label{font-size:.62rem}.topic-heading{flex-direction:column;align-items:flex-start;gap:20px}.topic-heading h1{font-size:2.6rem}.topic-heading .button-row{width:100%}.topic-heading .primary{margin-left:auto}.vocabulary-summary{gap:12px;padding:15px 0;font-size:.7rem}.balance{gap:12px;margin-left:0}.vocabulary-grid{grid-template-columns:1fr;gap:18px}.category-panel>header{padding:16px 18px}.category-title h2{font-size:1rem}.category-panel header p{font-size:.72rem}.word-row{padding:5px 12px 5px 18px}.word-main{font-size:.9rem}.word-delete{min-width:40px;min-height:44px}.familiarity-tag{font-size:.62rem}.add-word{padding:10px 18px 14px}.add-word-input input{min-height:44px;font-size:.88rem}.familiarity-select,.familiarity-select select{font-size:.73rem}.word-edit{padding:16px}.word-edit label{font-size:.8rem}.word-edit input,.word-edit select,.word-edit textarea{font-size:.85rem}.editor-hint{font-size:.65rem}.story-list-row{gap:5px;padding:12px}.story-list-row a{flex-wrap:wrap;gap:10px}.story-list-row a>div{flex-basis:70%}.story-list-row a>.status-label{margin-left:30px}.story-list-row a>span:last-child{display:none}.practice-heading h1{font-size:2.15rem}.practice-heading .button-row{gap:8px;width:100%}.practice-heading button{padding:.65rem .75rem;font-size:.75rem}.practice-grid{flex-direction:column;gap:18px;display:flex}.practice-sidebar{order:-1;width:100%}.practice-note{display:none}.word-pocket summary{min-height:52px;padding:14px 16px}.pocket-content{padding:0 16px 16px}.pocket-hint{margin-bottom:12px}.progress-heading strong{font-size:1rem}.story-paper{width:100%;padding:22px 20px}.story-body{min-height:350px;font-size:1rem}.story-title-input{font-size:1.25rem}.paper-footer{flex-wrap:wrap;font-size:.6rem}.site-footer{flex-direction:column;gap:8px;font-size:.65rem}.inline-form>button{flex:1}.empty-state{padding:45px 16px}.empty-state h3{font-size:1.15rem}.workspace-note{font-size:.68rem}}@media (width<=370px){.topic-grid{grid-template-columns:1fr}.app-shell{padding:0 15px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.practice-card{border:1px solid var(--line);background:var(--paper);border-radius:12px;align-items:center;gap:24px;padding:30px;display:flex}.practice-card h2{margin:8px 0 12px}.practice-card p{font-size:.9rem;line-height:1.8}.practice-card:hover{border-color:#a7b49b}.language-picker select{min-height:40px;margin:0;padding:7px;font-size:.75rem}.site-header nav{align-items:center;gap:22px}.word-chip bdi{overflow-wrap:anywhere;min-width:0}@media (width<=700px){.site-header{flex-wrap:wrap;gap:12px;height:auto;min-height:100px;padding:16px 0}.site-header nav{flex-wrap:wrap;gap:14px}.practice-card{flex-wrap:wrap;gap:16px;padding:22px}.practice-card>div{flex:1;min-width:180px}.practice-card .continue-action{margin-left:0}.topic-heading .button-row{gap:8px}.topic-heading .button-row button{padding:.65rem .7rem;font-size:.8rem}.practice-heading .button-row{flex-wrap:wrap}.practice-heading .button-row button{flex:1}.progress-heading{flex-wrap:wrap}}.forms-hint{font-size:.7rem;line-height:1.65}.variants-link{text-underline-offset:3px;margin-top:16px;font-size:.75rem;text-decoration:underline;display:inline-block}.word-chip{flex-wrap:wrap}.matched-forms{font-weight:600}.touch-add-word,.touch-word-hint{display:none}.app-dialog{inset:auto;top:var(--dialog-top,0px);left:var(--dialog-left,0px);width:var(--dialog-width,100vw);height:var(--dialog-height,100dvh);max-width:none;max-height:none;color:var(--ink);background:0 0;border:0;margin:0;padding:12px;position:fixed;overflow:hidden}.app-dialog[open]{justify-content:center;align-items:flex-end;display:flex}.app-dialog::backdrop{background:#14231b73}.dialog-form{border:1px solid var(--line);background:var(--paper);border-radius:20px;flex-direction:column;width:min(100%,540px);min-height:0;max-height:100%;display:flex;overflow:hidden;box-shadow:0 16px 70px #14231b30}.dialog-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px 10px;display:flex}.dialog-header h2{margin-top:4px;font-size:1.25rem}.dialog-header button{min-width:44px;min-height:44px;font-size:1.75rem}.dialog-scroll{overscroll-behavior:contain;min-height:0;padding:8px 20px 16px;scroll-padding:12px;overflow:auto}.dialog-scroll>input{width:100%;min-height:50px;margin-top:8px}.app-dialog input,.app-dialog textarea,.app-dialog select{font-size:16px}.familiarity-options{border:0;flex-wrap:wrap;gap:10px;margin:16px 0;padding:0;display:flex}.familiarity-options legend{margin-bottom:8px;padding:0;font-size:.8rem}.familiarity-options label{border:1px solid var(--line);cursor:pointer;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:10px 12px;font-size:.85rem;display:flex}.familiarity-options label:has(:checked){background:#eaf0dc;border-color:#7d975b}.familiarity-options input{width:auto;accent-color:var(--green);margin:0}.word-dialog-details summary{min-height:44px;color:var(--muted);cursor:pointer;padding:10px 0;font-size:.85rem}.word-dialog-extra{border:0;gap:12px;margin:0;padding:10px 0 0;display:grid}.word-dialog-extra input,.word-dialog-extra textarea,.word-dialog-extra select{min-height:44px}.dialog-footer{padding:12px 20px max(12px, env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);flex-shrink:0}.dialog-footer .button-row{flex-wrap:nowrap}.dialog-footer button{flex:1;min-height:48px;padding:12px 10px}.dialog-footer .error-text{padding-bottom:10px}.dialog-announcement{font-size:.75rem}.dialog-announcement:not(:empty){margin-bottom:8px}@media (width>=701px){.app-dialog[open]{align-items:center;padding:24px}}@media (width<=700px),(any-pointer:coarse){.desktop-add-word,.desktop-word-hint{display:none}.touch-add-word,.touch-word-hint{display:block}.touch-add-word{padding:12px 16px}.touch-add-word button{justify-content:flex-start;width:100%;min-height:48px}button,.button,.small,.word-delete,.icon-button{min-height:44px}.icon-button,.word-delete{min-width:44px}input,textarea,select,.add-word-input input,.word-edit input,.word-edit textarea,.word-edit select,.language-picker select{font-size:16px}.site-header nav a{align-items:center;min-height:44px;display:inline-flex}.language-picker select{min-height:44px}.word-edit .form-pair{grid-template-columns:1fr}.word-main{min-height:48px}.word-main small{line-height:1.65}.story-title-input{font-size:1.25rem}.site-footer{padding-bottom:max(25px, env(safe-area-inset-bottom))}}@media (width<=380px){.app-dialog{padding:8px}.dialog-header,.dialog-scroll,.dialog-footer{padding-left:16px;padding-right:16px}.dialog-footer button{font-size:.8rem}}.app-shell{--shell-padding:64px;padding-left:max(var(--shell-padding), env(safe-area-inset-left), var(--app-safe-left,0px));padding-right:max(var(--shell-padding), env(safe-area-inset-right), var(--app-safe-right,0px))}.app-dialog{padding-left:max(12px, env(safe-area-inset-left), var(--app-safe-left,0px));padding-right:max(12px, env(safe-area-inset-right), var(--app-safe-right,0px))}@media (width<=1100px){.app-shell{--shell-padding:35px}}@media (width<=700px){.app-shell{--shell-padding:20px}}@media (width<=370px){.app-shell{--shell-padding:15px}}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--control-height:44px;--control-radius:10px;--dialog-radius:20px;--danger:#a23c35;--surface:#fffefa;--canvas:#f7f8f2}button,.button{min-height:var(--control-height);border-radius:var(--control-radius)}input,select,textarea{border-radius:var(--control-radius);font-size:16px}input,select{min-height:var(--control-height)}.icon-button{min-width:var(--control-height);min-height:var(--control-height)}.desktop-add-word input,.familiarity-select select{min-height:var(--control-height);font-size:16px}.dialog-form{border-radius:var(--dialog-radius)}.destructive{background:var(--danger);color:#fff}.destructive:hover{background:#812d27}.notice{gap:var(--space-3);border-radius:var(--control-radius)}.notice.success{color:#315335;background:#eaf0dc;border:1px solid #bfcea9}.notice-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.dialog-footer .notice{padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);font-size:.8rem}.confirmation-message{padding:0 0 var(--space-3);font-size:1rem;line-height:1.7}.app-feedback{bottom:max(16px, env(safe-area-inset-bottom));z-index:40;width:min(640px,100% - 32px);position:fixed;left:50%;transform:translate(-50%)}.app-feedback .notice{margin:0;box-shadow:0 8px 30px #253a3120}.nav-action{color:var(--ink);font-size:inherit;min-height:var(--control-height);background:0 0;padding:0;font-weight:400}.site-header nav a{min-height:var(--control-height);align-items:center;display:inline-flex}.site-header nav [aria-current]{color:var(--green);text-underline-offset:7px;font-weight:700;text-decoration:underline}.link-button{color:var(--green);font:inherit;text-underline-offset:3px;background:0 0;border:0;padding:0 2px;font-weight:600;text-decoration:underline;display:inline}.skip-link{z-index:100;background:var(--green);color:#fff;border-radius:var(--control-radius);padding:12px 16px;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.editor-toolbar{z-index:20;background:var(--canvas);border-bottom:1px solid var(--line);margin:-10px 0 24px;padding:12px 0;position:sticky;top:0}.editor-toolbar .button-row{justify-content:flex-end}.editor-toolbar .save-status{margin-right:auto;font-size:.8rem}.editor-toolbar button{font-size:.85rem}@media (width<=700px){.editor-toolbar .button-row{grid-template-columns:auto minmax(0,1fr);gap:8px;display:grid}.editor-toolbar .save-status{grid-column:1/-1}.editor-toolbar button{min-width:0;padding:10px 12px}.practice-heading{margin-bottom:20px}.practice-heading h1{font-size:1.75rem}.site-header nav{gap:12px}.site-header .nav-action{font-size:.73rem}}.editor-toolbar{top:var(--visual-top,0px)}.app-feedback{inset:auto;top:var(--visual-top,0px);left:var(--visual-left,0px);width:var(--visual-width,100vw);height:var(--visual-height,100dvh);padding:max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));pointer-events:none;justify-content:center;align-items:flex-end;display:flex;transform:none}.app-feedback .notice{pointer-events:auto;width:min(640px,100%)}select,.language-picker select,.familiarity-select select{appearance:none;height:var(--control-height);background-image:url("data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"%23253a31\" stroke-width=\"1.7\"%3E%3Cpath d=\"m6 9 6 6 6-6\"/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:16px;padding:10px 32px 10px 12px}@media (width<=700px){.site-header{gap:8px;position:relative}.site-header .brand{min-height:var(--control-height)}.site-header nav{flex-wrap:nowrap;gap:16px;width:100%;font-size:.85rem}.site-header .nav-action{font-size:inherit}.site-header .language-picker{position:absolute;top:16px;right:0}}.app-dialog:not(.drawer){padding-top:max(12px, var(--app-safe-top,0px));padding-bottom:max(12px, var(--app-safe-bottom,0px))}.boot-placeholder{min-height:45vh;padding:48px 0}:root[data-telegram]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:var(--tg-theme-bg-color);--paper:var(--tg-theme-section-bg-color,var(--tg-theme-secondary-bg-color));--surface:var(--paper);--ink:var(--tg-theme-text-color);--muted:var(--tg-theme-subtitle-text-color,var(--tg-theme-hint-color));--green:var(--tg-theme-link-color);--line:var(--tg-theme-section-separator-color,color-mix(in srgb, var(--ink) 16%, var(--canvas)));--accent:color-mix(in srgb, var(--tg-theme-button-color) 16%, var(--paper));--red:var(--tg-theme-destructive-text-color,#d84e52);--danger:var(--red);background:var(--canvas);color:var(--ink)}:root[data-telegram][data-scheme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-telegram] .primary,[data-telegram] .skip-link,[data-telegram] .brand-mark{background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color)}[data-telegram] .primary:hover{filter:brightness(1.08)}[data-telegram] .secondary:hover{background:var(--accent)}[data-telegram] :is(.continue-card,.word-pocket,.empty-state,.topic-symbol,.familiarity-tag,.word-chip,.notice.success,.familiarity-options label:has(:checked)){background:var(--accent);color:var(--ink);border-color:var(--line)}[data-telegram] :is(.continue-icon,.count-badge,.word-chip.used){background:color-mix(in srgb, var(--tg-theme-button-color) 22%, var(--paper));color:var(--ink);border-color:var(--line)}[data-telegram] :is(.back-link,.card-arrow,.status-label,.status-label.completed,.word-main small,.word-row .word-main,.empty-icon,.practice-note>span,.category-title>span,.paper-top,.intro-note,.serif-accent,.brand-dot,.category-title,.workspace-note,.word-count,.balance-hint,.paper-footer,.practice-note p.small-note,.word-pocket p){color:var(--muted)}[data-telegram] .serif-accent{color:var(--green)}[data-telegram] .notice{background:color-mix(in srgb, var(--red) 12%, var(--paper));border-color:color-mix(in srgb, var(--red) 35%, var(--paper));color:var(--ink)}[data-telegram] :is(input,textarea)::placeholder{color:var(--muted)}[data-telegram] :is(.card-bottom,.word-row){border-color:var(--line)}[data-telegram] progress{background:var(--line)}[data-telegram] progress::-webkit-progress-bar{background:var(--line)}[data-telegram] progress::-webkit-progress-value{background:var(--tg-theme-button-color)}[data-telegram] progress::-moz-progress-bar{background:var(--tg-theme-button-color)}[data-telegram] .app-shell{padding-top:max(env(safe-area-inset-top), var(--app-safe-top,0px))}[data-telegram] .site-header{height:auto;min-height:68px;padding-top:12px;padding-bottom:12px}[data-telegram] .back-link{display:none}[data-telegram] .site-footer{padding-bottom:max(24px, var(--app-safe-bottom,0px))}[data-telegram] .editor-toolbar{top:calc(var(--visual-top,0px) + var(--app-safe-top,0px))}.native-action-hidden{display:none}.editor-toolbar:has(.native-action-hidden) .button-row{display:flex}.telegram-connection{text-align:center;justify-items:center;gap:20px;max-width:500px;margin:8vh auto;display:grid}.telegram-connection h1{letter-spacing:-.035em;font-size:clamp(1.7rem,5vw,2.5rem)}.telegram-connection p{line-height:1.7}.connection-symbol{background:var(--accent);width:64px;height:64px;color:var(--green);border-radius:20px;place-items:center;font-size:2rem;display:grid}[data-telegram] .app-feedback{padding-top:max(16px, var(--app-safe-top,0px));padding-right:max(16px, var(--app-safe-right,0px));padding-bottom:max(16px, var(--app-safe-bottom,0px));padding-left:max(16px, var(--app-safe-left,0px))}.site-navigation{align-items:center;min-width:0;display:flex}.site-header .desktop-navigation{flex-wrap:nowrap;align-items:center;gap:22px;width:auto;font-size:.85rem;display:flex}.desktop-navigation .nav-action svg{width:18px;height:18px}.navigation-language select{min-height:44px;margin:0}.desktop-navigation .navigation-language>span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-header .site-navigation .menu-trigger{gap:8px;min-height:44px;padding:8px 12px;font-size:.85rem;display:none}.site-navigation.telegram-navigation .desktop-navigation{display:none}.site-header .site-navigation.telegram-navigation .menu-trigger{display:inline-flex}.app-dialog.drawer .drawer-navigation{gap:28px;padding:4px 0 16px;display:grid}.app-dialog.drawer .drawer-destinations{gap:8px;display:grid}.app-dialog.drawer .drawer-destinations a,.app-dialog.drawer .drawer-export{border-radius:var(--control-radius);width:100%;min-height:56px;color:var(--ink);text-align:left;background:0 0;justify-content:flex-start;align-items:center;gap:14px;padding:14px 12px;font-size:1rem;font-weight:500;text-decoration:none;display:flex}.app-dialog.drawer .drawer-navigation svg,.menu-trigger svg{flex-shrink:0}.app-dialog.drawer .drawer-destinations a[aria-current]{background:var(--accent);color:var(--green);font-weight:600}.app-dialog.drawer .drawer-destinations a:hover,.app-dialog.drawer .drawer-export:hover{background:color-mix(in srgb, var(--ink) 5%, var(--paper))}.app-dialog.drawer .drawer-destinations a[aria-current]:hover{background:var(--accent);text-decoration:none}.app-dialog.drawer .navigation-chevron{color:var(--muted);margin-left:auto;font-size:1.6rem;line-height:1}.app-dialog.drawer .drawer-settings{border-top:1px solid var(--line);gap:16px;padding-top:24px;display:grid}.app-dialog.drawer .drawer-settings h3{color:var(--muted);letter-spacing:.02em;padding:0 12px;font-family:inherit;font-size:.75rem;font-weight:600}.app-dialog.drawer .drawer-settings .navigation-language{gap:12px;padding:0 12px;font-size:.85rem;display:grid}.app-dialog.drawer .drawer-settings .navigation-language>span{align-items:center;gap:14px;display:flex}.app-dialog.drawer .drawer-settings .navigation-language select{width:100%;height:48px;font-size:16px}.app-dialog.drawer .navigation-access{font-size:.75rem;line-height:1.6}.app-dialog.drawer[open]{justify-content:flex-end;align-items:stretch;padding:0}.app-dialog.drawer .dialog-form{border-right:0;border-radius:20px 0 0 20px;width:min(380px,100%);height:100%;max-height:100%;animation:.18s ease-out navigation-enter}.app-dialog.drawer .dialog-header{padding-top:max(16px, var(--app-safe-top,env(safe-area-inset-top)));padding-right:max(20px, var(--app-safe-right,env(safe-area-inset-right)));padding-bottom:16px}.app-dialog.drawer .dialog-scroll{padding-right:max(20px, var(--app-safe-right,env(safe-area-inset-right)));flex:1}.app-dialog.drawer .dialog-footer{padding-bottom:max(20px, var(--app-safe-bottom,env(safe-area-inset-bottom)))}@keyframes navigation-enter{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@media (width<=900px){.site-header:has(.site-navigation){flex-wrap:nowrap;gap:16px;height:auto;min-height:72px;padding-top:12px;padding-bottom:12px}.site-header .site-navigation .desktop-navigation{display:none}.site-header .site-navigation .menu-trigger{display:inline-flex}}
