.speak-button{-webkit-tap-highlight-color:transparent;align-items:center;background:#0000000f;border:none;border-radius:50%;cursor:pointer;display:inline-flex;justify-content:center;line-height:1;padding:0;transition:background .15s ease,transform .05s ease}.speak-button:hover{background:#0000001f}.speak-button:active{transform:scale(.92)}.speak-button:focus-visible{outline:2px solid #4a90d9;outline-offset:2px}.speak-button-md{font-size:1.15rem;height:var(--min-tap-target);width:var(--min-tap-target)}.speak-button-lg{font-size:1.5rem;height:max(2.75rem,var(--min-tap-target));margin-top:.5rem;width:max(2.75rem,var(--min-tap-target))}.word-card{background-color:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 1px 2px #281e140f,0 8px 24px #281e140f;box-sizing:border-box;container-type:inline-size;cursor:pointer;display:flex;flex-direction:column;margin:auto;max-width:320px;min-height:290px;overflow:hidden;padding:12px;perspective:1000px;position:relative;width:100%}.word-card.success{outline:3px solid var(--ok);outline-offset:2px}.word-card.failure{outline:3px solid var(--bad);outline-offset:2px}.feedback-indicator{font-size:1.1rem;font-weight:700;left:4px;line-height:1;position:absolute;top:4px;z-index:2}.feedback-indicator.success{color:var(--ok)}.feedback-indicator.failure{color:var(--bad)}.word-card-inner{display:flex;flex:1 1;flex-direction:column;height:100%;min-height:240px;position:relative;transform-origin:center;transform-style:preserve-3d;transition:transform .6s;width:100%}.word-card--hinted{min-height:366px}.word-card-back,.word-card-front{backface-visibility:hidden;border-radius:12px;box-sizing:border-box;display:flex;flex-direction:column;font-family:inherit;height:100%;left:0;position:absolute;top:0;width:100%}.word-card-front{align-items:center;background-color:initial;color:var(--ink);justify-content:flex-start;padding-top:6px;text-align:center}.word-card-front-content{flex-direction:column;gap:6px;margin:0;max-width:100%;width:100%}.card-front-hint-box,.word-card-front-content{align-items:center;display:flex;justify-content:center}.card-front-hint-box{aspect-ratio:1/1;background:var(--surface-2);border:1px dashed var(--line);border-radius:12px;flex:none;margin-bottom:2px;max-height:30%;max-width:52%;order:-1;overflow:hidden;text-align:center;width:72px}.card-front-hint-box:has(.hint-image-placeholder.is-empty),.card-hint-image-box:has(.hint-image-placeholder.is-empty){background:none;border-style:none}.hint-image-placeholder.is-empty{font-style:italic;opacity:.75}.word-card-front-hanzi{align-items:center;color:var(--ink);display:flex;font-family:"Noto Serif SC",serif;font-family:var(--font-hanzi,"Noto Serif SC",serif);font-size:4rem;justify-content:center;line-height:1.1;margin:0;min-height:70px;white-space:nowrap}.word-card-front-hanzi.long{font-size:2.8rem}.word-card-front-hanzi.len-4{font-size:2.1rem}.word-card-front-hanzi.len-5{font-size:1.65rem}.word-card-front-hanzi.len-6{font-size:1.35rem}.word-card-front-hanzi.len-7{font-size:1.2rem}.word-card-front-hanzi.len-8{font-size:1.05rem}.word-card-front-pinyin{font-size:1.35rem;line-height:1.2;margin:4px 0 6px}.word-card-back{background-color:initial;color:var(--ink)}.word-card-back,.word-card-inner.flipped{transform:rotateY(180deg)}.word-card-back,.word-card-front{-webkit-backface-visibility:hidden;transition:visibility 0s linear .3s}.word-card-inner.flipped .word-card-front,.word-card-inner:not(.flipped) .word-card-back{visibility:hidden}.practice-buttons{grid-gap:8px;display:grid;flex-shrink:0;gap:8px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:auto;width:100%;z-index:1}.practice-buttons button{align-items:center;border:none;border-radius:999px;cursor:pointer;display:flex;font-size:15px;font-weight:600;justify-content:center;line-height:1.2;min-height:48px;overflow-wrap:break-word;padding:0 8px;text-align:center;transition:opacity .2s ease,transform .05s ease;white-space:normal;word-break:normal}.practice-buttons button:hover{opacity:.92}.practice-buttons button:active{transform:scale(.98)}.practice-buttons button.answer-yes{background-color:var(--ok);color:#fff}.practice-buttons button.answer-no{background-color:var(--bad);color:#fff}.practice-buttons button{font-size:20px;line-height:1}.practice-buttons--front{box-sizing:border-box;margin-top:0;padding:0 10px 10px}.practice-buttons--front button{min-height:44px}.practice-buttons button:lang(th),:lang(th) .practice-buttons button{font-family:system-ui,-apple-system,Segoe UI,Noto Sans Thai,Roboto,sans-serif;line-height:1.4}.test-buttons{grid-gap:.2rem;display:grid;gap:.2rem;grid-template-columns:1fr 1fr;margin-top:5px;width:95%;z-index:1}.test-buttons button{--t1:currentColor;--t2:currentColor;--t3:currentColor;--t4:currentColor;align-items:center;aspect-ratio:1;border:none;border-radius:8px;color:var(--surface);cursor:pointer;display:flex;flex-wrap:wrap;font-size:1.5rem;justify-content:center;line-height:1.2;margin:0;max-height:100%;overflow:hidden;overflow-wrap:break-word;padding:0;text-align:center;text-overflow:ellipsis;transition:background-color .3s;white-space:normal;width:100%;word-break:keep-all}.test-buttons button,.test-buttons button:hover{background-color:var(--accent)}.test-buttons button.test-option-md{font-size:1rem}.test-buttons button.test-option-sm{font-size:.85rem}.test-buttons button.test-option-xs{font-size:.7rem}.test-buttons button.test-option-xxs{font-size:.6rem}.metadata{display:flex;justify-content:space-between;margin-top:2px;width:100%}.exclude-button{border:none;border-radius:6px;color:var(--surface);cursor:pointer;font-family:inherit;font-size:.72rem;font-weight:600;line-height:1;min-width:68px;padding:6px 10px;white-space:nowrap}.red{background-color:var(--bad)}.green{background-color:var(--ok)}.exclude-button.red{background-color:var(--bad-soft);box-shadow:inset 0 0 0 1px var(--bad);color:var(--bad)}.exclude-button.green{background-color:var(--ok-soft);box-shadow:inset 0 0 0 1px var(--ok);color:var(--ok)}.mastery-indicator{align-items:center;align-self:center;color:var(--muted);font-size:.55rem}.history-tiles,.mastery-indicator{display:flex;justify-content:flex-end;overflow:hidden}.history-tiles{gap:2px}.history-tile{border-radius:3px;color:#fff;flex:0 0 auto;font-size:9px;font-weight:700;height:13px;line-height:13px;text-align:center;width:13px}.history-tile .mark{display:block;margin:2px auto}.history-tile.correct{background-color:var(--ok)}.history-tile.wrong{background-color:var(--bad)}.history-tile.correct.bulk{background-color:initial;box-shadow:inset 0 0 0 1.5px var(--ok);color:var(--ok)}.history-empty{color:var(--muted);font-size:.55rem;white-space:nowrap}.green-background{background-color:var(--ok);color:var(--surface)}.red-background{background-color:var(--bad);color:var(--surface)}.card-back-main-row{align-items:flex-start;display:flex;flex:1 1 auto;gap:12px;min-height:0;overflow:hidden;width:100%}.card-hint-image-box{align-items:center;background:var(--surface-2);border:1px dashed var(--line);border-radius:12px;color:var(--muted);display:flex;flex:none;font-size:11px;height:96px;justify-content:center;overflow:hidden;position:relative;text-align:center;width:96px}.hint-image-wrapper{height:100%;position:relative;width:100%}.hint-image{border-radius:12px;height:100%;object-fit:cover;width:100%}.hint-image-placeholder{color:var(--muted);font-size:11px;line-height:1.3;padding:6px}.regenerate-hint-button{background:#0009;border:none;border-radius:50%;color:var(--surface);cursor:pointer;font-size:1rem;height:44px;line-height:1;position:absolute;right:5px;top:5px;width:44px}.loading-hint{color:var(--muted);font-size:1rem}.card-back-text-col{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.card-back-hanzi-row{align-items:center;display:flex;gap:6px;justify-content:space-between}.card-back-hanzi{color:var(--ink);font-family:"Noto Serif SC",serif;font-family:var(--font-hanzi,"Noto Serif SC",serif);font-size:26px;line-height:1.1}.card-back-pinyin{color:var(--ink);font-size:18px;line-height:1.2}.word-gloss{color:var(--ink);display:block;font-size:20px;line-height:1.3;overflow-wrap:anywhere;word-break:break-word}:lang(th) .word-gloss{line-height:1.45}.exclude-button:lang(th),:lang(th) .exclude-button,:lang(th) .word-gloss{font-family:system-ui,-apple-system,Segoe UI,Noto Sans Thai,Roboto,sans-serif}.exclude-button:lang(th),:lang(th) .exclude-button,:lang(vi) .word-gloss{line-height:1.35}.word-gloss.gloss-small{font-size:17px}.gloss-fallback-tag{align-items:center;border:1px solid var(--line);border-radius:5px;color:var(--muted);display:inline-flex;font-family:system-ui,-apple-system,sans-serif;font-size:10px;font-weight:600;height:18px;justify-content:center;line-height:18px;margin-right:6px;padding:0 5px;vertical-align:middle}.card-hint-row{align-items:flex-start;color:var(--muted);display:flex;font-size:14px;gap:6px;line-height:1.5}.hint-lang-tag{border:1px solid var(--line);border-radius:5px;color:var(--muted);flex:none;font-family:system-ui,-apple-system,sans-serif;font-size:10px;font-weight:600;height:18px;line-height:18px;padding:0 5px}.card-hint-copy{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;word-break:break-word}.word-meaning{display:flex;flex-direction:column;gap:10px;height:100%;min-height:0;width:100%}.test-back-pinyin{font-size:1.2rem;margin-top:auto;text-align:center}.test-buttons button.quiz-option-correct{background-color:var(--ok-soft);border:2px solid var(--ok);color:var(--ok)}.test-buttons button.quiz-option-picked{background-color:var(--bad-soft);border:2px solid var(--bad);color:var(--bad)}.test-buttons button.quiz-option-dimmed{opacity:.35}.test-buttons button.quiz-option-correct:hover{background-color:var(--ok-soft)}.test-buttons button.quiz-option-picked:hover{background-color:var(--bad-soft)}.test-buttons button{position:relative}.test-buttons .quiz-option-mark{font-size:.8rem;position:absolute;right:3px;top:3px}@container (max-width: 260px){.card-hint-image-box{aspect-ratio:1/1;height:auto;max-width:96px;width:34%}.practice-buttons{grid-template-columns:minmax(0,1fr)}.practice-buttons--front{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.practice-buttons button{min-width:44px}.test-buttons button{min-height:44px;min-width:44px}.cards-area .word-card{grid-row-gap:6px;display:grid;grid-template-rows:44px minmax(0,1fr) auto;height:306px;height:var(--card-h,306px);min-height:0;padding:10px;row-gap:6px}.cards-area .word-card.word-card--hinted{min-height:0}@media (max-width:767px){.cards-area .word-card{--card-h:var(--card-h-phone,clamp(420px,calc(100svh - 240px),600px));padding:12px;row-gap:8px}}.card-row-a{align-items:center;display:flex;gap:6px;height:44px;min-width:0}.level-chip{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;color:var(--ink);flex:none;font-size:.75rem;font-weight:600;line-height:1.4;padding:2px 8px;white-space:nowrap}.card-row-a .mastery-indicator{flex:1 1 auto;justify-content:flex-start;min-width:0;overflow:hidden}.card-row-a .history-empty{white-space:nowrap}.card-row-a-end{align-items:center;display:flex;flex:none;margin-left:auto}.cards-area .word-card-inner{height:100%;min-height:0}.card-row-d{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto}.card-row-d .practice-buttons,.card-row-d .practice-buttons--row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin:0;padding:0}.card-row-d .practice-buttons button{min-height:44px}@media (max-width:767px){.card-row-d .practice-buttons button{min-height:56px}}.cards-area .exclude-button.exclude-icon{background:none;box-shadow:none;color:var(--muted);font-size:1.25rem;min-height:44px;min-width:44px;padding:0;width:44px}.cards-area .word-card-front{justify-content:center;padding-top:0}.cards-area .word-card-front-content{height:100%;justify-content:center}.cards-area .word-card-front-hanzi{font-size:min(calc(100cqi*.92/1 - 22.08px),110px);font-size:min(calc((100cqi*0.92 - 22.08px)/var(--chars, 1)),var(--hanzi-cap,110px));line-height:1.1;min-height:0}.cards-area .word-card--hinted .word-card-front-hanzi{--hanzi-cap:60px}@media (max-width:767px){.cards-area .word-card-front-hanzi{--hanzi-cap:200px}.cards-area .word-card--hinted .word-card-front-hanzi{--hanzi-cap:124px}}.cards-area .card-front-hint-box{aspect-ratio:1/1;height:88px;max-height:none;max-width:100%;order:0;width:auto}@media (max-width:767px){.cards-area .card-front-hint-box{height:200px}}.cards-area .word-card-back .word-meaning{display:flex;flex-direction:column;height:100%;min-height:0}.cards-area .word-card-back .word-gloss{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.cards-area .word-card-back .card-hint-row{margin-top:auto;min-height:0;overflow:hidden}.cards-area .word-card-back .card-hint-copy{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;font-size:.8rem;overflow:hidden}.cards-area .card-back-hanzi{font-size:min(calc(100cqi*.8/1 - 19.2px),44px);font-size:min(calc((100cqi*0.8 - 19.2px)/var(--chars, 1)),var(--back-hanzi-cap,44px));line-height:1.15;white-space:nowrap}.cards-area .card-back-pinyin{font-size:15px;font-size:var(--back-pinyin,15px)}.cards-area .word-card-back .word-gloss{font-size:15px;font-size:var(--back-gloss,15px);line-height:1.3}@media (max-width:767px){.cards-area .word-card-back{--back-hanzi-cap:75px;--back-pinyin:25px;--back-gloss:22px}}.cards-area .word-card:has(.test-buttons){grid-template-rows:44px minmax(0,1fr)}.hint-image-placeholder.is-empty{align-items:center;display:flex;flex-direction:column;gap:4px;justify-content:center}.regenerate-hint-button.regenerate-hint-button--failed{background:var(--surface-2);border:1px solid var(--line);color:var(--ink);font-size:1.25rem;height:44px;position:static;width:44px}.card-error-fallback{align-items:center;background-color:var(--surface);border:3px solid #d3d3d3;border-radius:8px;box-sizing:border-box;color:#333;color:var(--ink,#333);display:flex;flex-direction:column;font-size:.85rem;gap:8px;justify-content:center;margin:auto;padding:12px;text-align:center;width:160px}.card-error-retry{background-color:var(--surface);border:1px solid #d3d3d3;border-radius:4px;cursor:pointer;padding:4px 10px}.missed-badge-root{display:flex;position:relative}.missed-badge{align-items:center;background-color:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--bad);cursor:pointer;display:flex;font-size:1.2rem;font-weight:600;gap:4px;min-height:44px;min-width:44px;padding:0 10px;white-space:nowrap}.missed-sheet{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px #281e142e;box-sizing:border-box;display:flex;flex-direction:column;max-height:60vh;padding:12px;position:absolute;right:0;top:calc(100% + 6px);width:320px;z-index:30}.missed-sheet-head{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:8px}.missed-sheet-title{color:var(--ink);font-weight:600}.missed-sheet-close{background:none;border:none;color:var(--ink);cursor:pointer;font-size:1.5rem;line-height:1;min-height:44px;min-width:44px}.missed-sheet-count{color:var(--muted);font-size:.85rem;margin:-4px 0 8px}.missed-sheet-list{display:flex;flex-direction:column;min-height:0;overflow-y:auto}.missed-row{border-top:1px solid var(--line);min-width:0;padding:8px 0}.missed-row:first-child{border-top:none}.missed-row-main{align-items:center;display:flex;gap:10px;min-width:0}.missed-row-word{color:var(--ink);flex:none;font-size:1.35rem;white-space:nowrap}.missed-row-meaning{color:var(--ink);flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.missed-row-pinyin{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;display:inline-flex;flex:none;font:inherit;gap:4px;min-height:44px;min-width:44px;padding:0 8px;white-space:nowrap}.missed-row-pinyin--answer[aria-expanded=true]{color:var(--ok)}.missed-row-meta{color:var(--muted);display:flex;flex-wrap:wrap;font-size:.85rem;gap:4px 12px;margin-top:2px}.missed-row-meta--pick,.missed-row-times{color:var(--bad)}.missed-row-meta .mark{vertical-align:-.125em}.missed-sheet-foot{color:var(--muted);font-size:.85rem;margin:8px 0 0}@media (max-width:767px){.missed-sheet{border-radius:16px 16px 0 0;bottom:0;left:0;max-height:70vh;padding:12px 16px calc(12px + env(safe-area-inset-bottom, 0px));position:fixed;right:0;top:auto;width:auto}}.session-header{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;width:100%;z-index:10}.session-header-bar{align-items:center;background:var(--surface);box-sizing:border-box;display:flex;gap:14px;padding:8px 20px}.session-header-back{align-items:center;color:var(--ink);cursor:pointer;display:inline-flex;font-weight:600;gap:6px;text-decoration:none}.session-header-back:hover{color:var(--accent);text-decoration:underline}.session-back-arrow{font-size:18px;line-height:1}.session-back-title-desktop{display:inline}.session-header-count-desktop{color:var(--muted);font-size:14px;white-space:nowrap}.session-header-title-mobile{display:none}.session-header-spacer{flex:1 1}.session-header-status{font-feature-settings:"tnum";color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}.session-header-progress-track{background:var(--line);height:4px;overflow:hidden;width:100%}.session-header-progress-fill{background:var(--accent);height:100%;transition:width .3s ease}@media (max-width:600px){.session-header-bar{gap:8px;padding:6px 8px 6px 4px}.session-header-back{justify-content:center;padding:0}.session-back-title-desktop,.session-header-count-desktop{display:none}.session-header-title-mobile{display:flex;flex:1 1;flex-direction:column;line-height:1.35;min-width:0}.session-header-spacer{display:none}.session-header-name{color:var(--ink);font-size:15px}.session-header-name,.session-header-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-header-sub{color:var(--muted);font-size:13px}}.excluded-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:12px 0 0;padding:0;width:100%}.excluded-row{grid-gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;display:grid;gap:12px;grid-template-columns:auto auto minmax(0,1fr) auto;padding:8px 12px}.excluded-hanzi{color:var(--ink);font-family:"Noto Serif SC",serif;font-family:var(--font-hanzi,"Noto Serif SC",serif);font-size:1.5rem;white-space:nowrap}.excluded-pinyin{color:var(--muted);white-space:nowrap}.excluded-gloss{color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.excluded-include{background:var(--ok-soft);border:none;border-radius:999px;box-shadow:inset 0 0 0 1px var(--ok);color:var(--ok);cursor:pointer;font-family:inherit;font-weight:600;min-height:44px;min-width:44px;padding:0 14px}.excluded-list-page .excluded-list-empty{color:var(--muted);margin:24px 0;text-align:center}@media (max-width:480px){.excluded-row{grid-template-columns:auto minmax(0,1fr) auto}.excluded-pinyin{grid-column:2;grid-row:1}.excluded-gloss{grid-column:2;grid-row:2}.excluded-hanzi{grid-row:1/span 2}.excluded-include{grid-column:3;grid-row:1/span 2}}.completed{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;height:100%;padding:20px;text-align:center;width:100%}.completed-time{font-size:2.5rem;margin:20px 0}.completed-stats{font-size:3rem;margin:20px 0}.completed-list{word-wrap:break-word;align-items:center;display:flex;flex-wrap:wrap;font-size:1.5rem;justify-content:center;list-style-position:inside;margin:0 auto;max-width:400px;overflow-wrap:break-word;padding-left:0;text-align:left;width:80%}.completed-list li{display:flex;margin:.2em}.completed-incorrect-indicator{font-feature-settings:"smcp";color:var(--bad);font-size:x-small;font-variant:small-caps;font-weight:bolder;vertical-align:super}.completed-review{margin:10px auto;max-width:400px;text-align:left;width:80%}.completed-review-title{font-size:1.3rem;margin:10px 0;text-align:center}.completed-review-list{list-style:none;margin:0;padding-left:0}.completed-review-item{align-items:baseline;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;font-size:1.2rem;gap:.4em;padding:4px 0}.completed-review-word{font-weight:700}.completed-review-def{color:var(--muted);font-size:1rem}.completed-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:20px}.completed-share-message{color:var(--accent);font-size:1rem;margin-top:12px}.completed-button{background-color:var(--accent);border:none;border-radius:8px;color:var(--surface);cursor:pointer;font-size:1.5rem;margin-top:20px;padding:10px 20px;transition:background-color .3s}.completed-actions .completed-button{margin-top:0}.completed-button-share,.completed-button-share:hover{background-color:var(--ok)}.completed-button:hover{background-color:var(--accent)}.completed-session{margin-bottom:.5rem;text-align:center}.completed-session-title{color:var(--ok);font-size:1.75rem;font-weight:700}.completed-session-sub{color:var(--muted);font-size:.95rem}.completed-actions-named{flex-direction:column;gap:8px;max-width:400px;width:100%}.completed-button-back{align-items:center;background-color:var(--accent);border-radius:999px;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;justify-content:center;padding:0 16px;text-decoration:none;transition:opacity .2s}.completed-button-back:hover{opacity:.9;text-decoration:none}.completed-button-again{align-items:center;background:#0000;border:1.5px solid var(--line);border-radius:999px;box-sizing:border-box;color:var(--ink);cursor:pointer;display:flex;font-size:1rem;font-weight:600;justify-content:center;padding:0 16px}.completed-button-again:hover{background:#00000008}.completed-sibling-section{align-self:center;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px;margin-top:16px;max-width:400px;padding-top:12px;text-align:left;width:100%}.completed-sibling-title{color:var(--muted);font-size:13px}.completed-sibling-list{display:flex;flex-direction:column;gap:6px}.completed-sibling-cta{align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;box-sizing:border-box;color:var(--ink);display:flex;font-size:15px;justify-content:space-between;padding:0 14px;text-decoration:none}.completed-sibling-cta:hover{border-color:var(--muted);text-decoration:none}.completed-sibling-label{flex:1 1}.completed-sibling-tag{border:1px solid var(--line);border-radius:4px;color:var(--muted);font-size:11px;font-weight:600;margin-left:8px;margin-right:8px;padding:0 4px}.completed-sibling-arrow{color:var(--accent);font-weight:700}.onboarding-overlay{align-items:flex-end;background:#140f0a73;box-sizing:border-box;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}@media (min-width:600px){.onboarding-overlay{align-items:center}}.onboarding-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-hero);box-shadow:var(--shadow);box-sizing:border-box;color:var(--ink);max-width:420px;padding:22px 20px 18px;text-align:left;width:100%}.onboarding-title{font-family:var(--font-display);font-size:1.3rem;letter-spacing:-.01em;margin:0 0 12px;text-align:left}.onboarding-list{grid-gap:10px;display:grid;gap:10px;list-style:none;margin:0 0 18px;padding:0}.onboarding-list li{align-items:flex-start;display:flex;font-size:.98rem;gap:12px;line-height:1.4;margin:0}.onboarding-icon{background:var(--surface-2);border-radius:var(--r-pill);display:grid;flex:0 0 auto;font-size:.85rem;height:28px;place-items:center;text-align:center;width:28px}.onboarding-button{align-items:center;background-color:var(--accent);border:none;border-radius:var(--r-pill);color:var(--accent-ink);cursor:pointer;display:flex;flex-shrink:0;font:inherit;font-size:1.05rem;font-weight:600;justify-content:center;line-height:1.2;min-height:max(48px,var(--min-tap-target));overflow-wrap:break-word;padding:0 20px;text-align:center;transition:filter .15s;white-space:normal;width:100%;word-break:normal}.onboarding-button:hover{filter:brightness(1.05)}.onboarding-card:lang(th),.onboarding-overlay:lang(th),:lang(th) .onboarding-card,:lang(th).onboarding-overlay{font-family:system-ui,-apple-system,Segoe UI,Noto Sans Thai,Roboto,sans-serif}.onboarding-list li:lang(th),:lang(th) .onboarding-list li{line-height:1.6}.onboarding-button:lang(th),:lang(th) .onboarding-button{font-family:system-ui,-apple-system,Segoe UI,Noto Sans Thai,Roboto,sans-serif;line-height:1.4}.onboarding-icon--ok{color:var(--ok)}.onboarding-icon--bad{color:var(--bad)}.container{align-items:center;background-color:var(--bg);border:2px solid var(--line);border-radius:8px;box-shadow:0 0 10px #0000001a;box-sizing:border-box;flex-direction:column;height:100%;justify-content:space-between;margin-top:60px;padding:10px}.cards-area,.container{display:flex;width:100%}.cards-area{flex-direction:row;height:calc(100% - 100px);min-height:0;overflow:hidden}.cards-container{grid-gap:10px;box-sizing:border-box;display:grid;gap:10px;grid-auto-flow:column;margin:0 auto;padding:0;width:100%}.cards-container.layout1c1r,.cards-container.layout1c2r{grid-auto-flow:row;grid-template-columns:repeat(1,minmax(0,1fr))}.cards-container.layout1c2r{grid-template-rows:repeat(2,minmax(0,auto))}.cards-container.layout1c3r{grid-template-rows:repeat(3,minmax(0,auto))}.cards-container.layout1c3r,.cards-container.layout1c4r{grid-auto-flow:row;grid-template-columns:repeat(1,minmax(0,1fr))}.cards-container.layout1c4r{grid-template-rows:repeat(4,minmax(0,auto))}.cards-container.layout2c1r,.cards-container.layout2c2r{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}.cards-container.layout2c2r{grid-template-rows:repeat(2,minmax(0,auto))}.cards-container.layout2c3r{grid-template-rows:repeat(3,minmax(0,auto))}.cards-container.layout2c3r,.cards-container.layout2c4r{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}.cards-container.layout2c4r{grid-template-rows:repeat(4,minmax(0,auto))}.cards-container.layout3c1r,.cards-container.layout3c2r{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr))}.cards-container.layout3c2r{grid-template-rows:repeat(2,minmax(0,auto))}.cards-container.layout3c3r{grid-template-rows:repeat(3,minmax(0,auto))}.cards-container.layout3c3r,.cards-container.layout3c4r{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr))}.cards-container.layout3c4r{grid-template-rows:repeat(4,minmax(0,auto))}.cards-container.layout4c1r,.cards-container.layout4c2r{grid-auto-flow:row;grid-template-columns:repeat(4,minmax(0,1fr))}.cards-container.layout4c2r{grid-template-rows:repeat(2,minmax(0,auto))}.cards-container.layout4c3r{grid-template-rows:repeat(3,minmax(0,auto))}.cards-container.layout4c3r,.cards-container.layout4c4r{grid-auto-flow:row;grid-template-columns:repeat(4,minmax(0,1fr))}.cards-container.layout4c4r{grid-template-rows:repeat(4,minmax(0,auto))}.cards-container.layout5c1r,.cards-container.layout5c2r{grid-auto-flow:row;grid-template-columns:repeat(5,minmax(0,1fr))}.cards-container.layout5c2r{grid-template-rows:repeat(2,minmax(0,auto))}.cards-container.layout5c3r{grid-template-rows:repeat(3,minmax(0,auto))}.cards-container.layout5c3r,.cards-container.layout5c4r{grid-auto-flow:row;grid-template-columns:repeat(5,minmax(0,1fr))}.cards-container.layout5c4r{grid-template-rows:repeat(4,minmax(0,auto))}.cards-container.layout6c1r,.cards-container.layout6c2r{grid-auto-flow:row;grid-template-columns:repeat(6,minmax(0,1fr))}.cards-container.layout6c2r{grid-template-rows:repeat(2,minmax(0,auto))}.cards-container.layout6c3r{grid-template-rows:repeat(3,minmax(0,auto))}.cards-container.layout6c3r,.cards-container.layout6c4r{grid-auto-flow:row;grid-template-columns:repeat(6,minmax(0,1fr))}.cards-container.layout6c4r{grid-template-rows:repeat(4,minmax(0,auto))}.cards-container.layout7c1r,.cards-container.layout7c2r{grid-auto-flow:row;grid-template-columns:repeat(7,minmax(0,1fr))}.cards-container.layout7c2r{grid-template-rows:repeat(2,minmax(0,auto))}.cards-container.layout7c3r{grid-template-rows:repeat(3,minmax(0,auto))}.cards-container.layout7c3r,.cards-container.layout7c4r{grid-auto-flow:row;grid-template-columns:repeat(7,minmax(0,1fr))}.cards-container.layout7c4r{grid-template-rows:repeat(4,minmax(0,auto))}.cards-container.layout8c1r,.cards-container.layout8c2r{grid-auto-flow:row;grid-template-columns:repeat(8,minmax(0,1fr))}.cards-container.layout8c2r{grid-template-rows:repeat(2,minmax(0,auto))}.cards-container.layout8c3r{grid-template-rows:repeat(3,minmax(0,auto))}.cards-container.layout8c3r,.cards-container.layout8c4r{grid-auto-flow:row;grid-template-columns:repeat(8,minmax(0,1fr))}.cards-container.layout8c4r{grid-template-rows:repeat(4,minmax(0,auto))}.cards-container.layout9c1r,.cards-container.layout9c2r{grid-auto-flow:row;grid-template-columns:repeat(9,minmax(0,1fr))}.cards-container.layout9c2r{grid-template-rows:repeat(2,minmax(0,auto))}.cards-container.layout9c3r{grid-template-rows:repeat(3,minmax(0,auto))}.cards-container.layout9c3r,.cards-container.layout9c4r{grid-auto-flow:row;grid-template-columns:repeat(9,minmax(0,1fr))}.cards-container.layout9c4r{grid-template-rows:repeat(4,minmax(0,auto))}.cards-container.layout10c1r,.cards-container.layout10c2r{grid-auto-flow:row;grid-template-columns:repeat(10,minmax(0,1fr))}.cards-container.layout10c2r{grid-template-rows:repeat(2,minmax(0,auto))}.cards-container.layout10c3r{grid-template-rows:repeat(3,minmax(0,auto))}.cards-container.layout10c3r,.cards-container.layout10c4r{grid-auto-flow:row;grid-template-columns:repeat(10,minmax(0,1fr))}.cards-container.layout10c4r{grid-template-rows:repeat(4,minmax(0,auto))}.cards-container.layout11c1r,.cards-container.layout11c2r{grid-auto-flow:row;grid-template-columns:repeat(11,minmax(0,1fr))}.cards-container.layout11c2r{grid-template-rows:repeat(2,minmax(0,auto))}.cards-container.layout11c3r{grid-template-rows:repeat(3,minmax(0,auto))}.cards-container.layout11c3r,.cards-container.layout11c4r{grid-auto-flow:row;grid-template-columns:repeat(11,minmax(0,1fr))}.cards-container.layout11c4r{grid-template-rows:repeat(4,minmax(0,auto))}.cards-container.layout12c1r,.cards-container.layout12c2r{grid-auto-flow:row;grid-template-columns:repeat(12,minmax(0,1fr))}.cards-container.layout12c2r{grid-template-rows:repeat(2,minmax(0,auto))}.cards-container.layout12c3r{grid-template-rows:repeat(3,minmax(0,auto))}.cards-container.layout12c3r,.cards-container.layout12c4r{grid-auto-flow:row;grid-template-columns:repeat(12,minmax(0,1fr))}.cards-container.layout12c4r{grid-template-rows:repeat(4,minmax(0,auto))}.cards-container.layout1c5r{grid-template-rows:repeat(5,minmax(0,auto))}.cards-container.layout1c5r,.cards-container.layout1c6r{grid-auto-flow:row;grid-template-columns:repeat(1,minmax(0,1fr))}.cards-container.layout1c6r{grid-template-rows:repeat(6,minmax(0,auto))}.cards-container.layout1c7r{grid-auto-flow:row;grid-template-columns:repeat(1,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,auto))}.cards-container.layout2c5r{grid-template-rows:repeat(5,minmax(0,auto))}.cards-container.layout2c5r,.cards-container.layout2c6r{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}.cards-container.layout2c6r{grid-template-rows:repeat(6,minmax(0,auto))}.cards-container.layout2c7r{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,auto))}.cards-container.layout3c5r{grid-template-rows:repeat(5,minmax(0,auto))}.cards-container.layout3c5r,.cards-container.layout3c6r{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr))}.cards-container.layout3c6r{grid-template-rows:repeat(6,minmax(0,auto))}.cards-container.layout3c7r{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,auto))}.cards-container.layout4c5r{grid-template-rows:repeat(5,minmax(0,auto))}.cards-container.layout4c5r,.cards-container.layout4c6r{grid-auto-flow:row;grid-template-columns:repeat(4,minmax(0,1fr))}.cards-container.layout4c6r{grid-template-rows:repeat(6,minmax(0,auto))}.cards-container.layout4c7r{grid-auto-flow:row;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,auto))}.cards-container.layout5c5r{grid-template-rows:repeat(5,minmax(0,auto))}.cards-container.layout5c5r,.cards-container.layout5c6r{grid-auto-flow:row;grid-template-columns:repeat(5,minmax(0,1fr))}.cards-container.layout5c6r{grid-template-rows:repeat(6,minmax(0,auto))}.cards-container.layout5c7r{grid-auto-flow:row;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,auto))}.cards-container.layout6c5r{grid-template-rows:repeat(5,minmax(0,auto))}.cards-container.layout6c5r,.cards-container.layout6c6r{grid-auto-flow:row;grid-template-columns:repeat(6,minmax(0,1fr))}.cards-container.layout6c6r{grid-template-rows:repeat(6,minmax(0,auto))}.cards-container.layout6c7r{grid-auto-flow:row;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,auto))}.cards-container.layout7c5r{grid-template-rows:repeat(5,minmax(0,auto))}.cards-container.layout7c5r,.cards-container.layout7c6r{grid-auto-flow:row;grid-template-columns:repeat(7,minmax(0,1fr))}.cards-container.layout7c6r{grid-template-rows:repeat(6,minmax(0,auto))}.cards-container.layout7c7r{grid-auto-flow:row;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,auto))}.cards-container.layout8c5r{grid-template-rows:repeat(5,minmax(0,auto))}.cards-container.layout8c5r,.cards-container.layout8c6r{grid-auto-flow:row;grid-template-columns:repeat(8,minmax(0,1fr))}.cards-container.layout8c6r{grid-template-rows:repeat(6,minmax(0,auto))}.cards-container.layout8c7r{grid-auto-flow:row;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,auto))}.cards-container.layout9c5r{grid-template-rows:repeat(5,minmax(0,auto))}.cards-container.layout9c5r,.cards-container.layout9c6r{grid-auto-flow:row;grid-template-columns:repeat(9,minmax(0,1fr))}.cards-container.layout9c6r{grid-template-rows:repeat(6,minmax(0,auto))}.cards-container.layout9c7r{grid-auto-flow:row;grid-template-columns:repeat(9,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,auto))}.cards-container.layout10c5r{grid-template-rows:repeat(5,minmax(0,auto))}.cards-container.layout10c5r,.cards-container.layout10c6r{grid-auto-flow:row;grid-template-columns:repeat(10,minmax(0,1fr))}.cards-container.layout10c6r{grid-template-rows:repeat(6,minmax(0,auto))}.cards-container.layout10c7r{grid-auto-flow:row;grid-template-columns:repeat(10,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,auto))}.cards-container.layout11c5r{grid-template-rows:repeat(5,minmax(0,auto))}.cards-container.layout11c5r,.cards-container.layout11c6r{grid-auto-flow:row;grid-template-columns:repeat(11,minmax(0,1fr))}.cards-container.layout11c6r{grid-template-rows:repeat(6,minmax(0,auto))}.cards-container.layout11c7r{grid-auto-flow:row;grid-template-columns:repeat(11,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,auto))}.cards-container.layout12c5r{grid-template-rows:repeat(5,minmax(0,auto))}.cards-container.layout12c5r,.cards-container.layout12c6r{grid-auto-flow:row;grid-template-columns:repeat(12,minmax(0,1fr))}.cards-container.layout12c6r{grid-template-rows:repeat(6,minmax(0,auto))}.cards-container.layout12c7r{grid-auto-flow:row;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,auto))}.cards-container.layout13c1r,.cards-container.layout13c2r{grid-auto-flow:row;grid-template-columns:repeat(13,minmax(0,1fr))}.cards-container.layout13c2r{grid-template-rows:repeat(2,minmax(0,auto))}.cards-container.layout13c3r{grid-template-rows:repeat(3,minmax(0,auto))}.cards-container.layout13c3r,.cards-container.layout13c4r{grid-auto-flow:row;grid-template-columns:repeat(13,minmax(0,1fr))}.cards-container.layout13c4r{grid-template-rows:repeat(4,minmax(0,auto))}.cards-container.layout13c5r{grid-template-rows:repeat(5,minmax(0,auto))}.cards-container.layout13c5r,.cards-container.layout13c6r{grid-auto-flow:row;grid-template-columns:repeat(13,minmax(0,1fr))}.cards-container.layout13c6r{grid-template-rows:repeat(6,minmax(0,auto))}.cards-container.layout13c7r{grid-auto-flow:row;grid-template-columns:repeat(13,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,auto))}.cards-container.layout14c1r,.cards-container.layout14c2r{grid-auto-flow:row;grid-template-columns:repeat(14,minmax(0,1fr))}.cards-container.layout14c2r{grid-template-rows:repeat(2,minmax(0,auto))}.cards-container.layout14c3r{grid-template-rows:repeat(3,minmax(0,auto))}.cards-container.layout14c3r,.cards-container.layout14c4r{grid-auto-flow:row;grid-template-columns:repeat(14,minmax(0,1fr))}.cards-container.layout14c4r{grid-template-rows:repeat(4,minmax(0,auto))}.cards-container.layout14c5r{grid-template-rows:repeat(5,minmax(0,auto))}.cards-container.layout14c5r,.cards-container.layout14c6r{grid-auto-flow:row;grid-template-columns:repeat(14,minmax(0,1fr))}.cards-container.layout14c6r{grid-template-rows:repeat(6,minmax(0,auto))}.cards-container.layout14c7r{grid-auto-flow:row;grid-template-columns:repeat(14,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,auto))}.cards-container.layout15c1r,.cards-container.layout15c2r{grid-auto-flow:row;grid-template-columns:repeat(15,minmax(0,1fr))}.cards-container.layout15c2r{grid-template-rows:repeat(2,minmax(0,auto))}.cards-container.layout15c3r{grid-template-rows:repeat(3,minmax(0,auto))}.cards-container.layout15c3r,.cards-container.layout15c4r{grid-auto-flow:row;grid-template-columns:repeat(15,minmax(0,1fr))}.cards-container.layout15c4r{grid-template-rows:repeat(4,minmax(0,auto))}.cards-container.layout15c5r{grid-template-rows:repeat(5,minmax(0,auto))}.cards-container.layout15c5r,.cards-container.layout15c6r{grid-auto-flow:row;grid-template-columns:repeat(15,minmax(0,1fr))}.cards-container.layout15c6r{grid-template-rows:repeat(6,minmax(0,auto))}.cards-container.layout15c7r{grid-auto-flow:row;grid-template-columns:repeat(15,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,auto))}.cards-container.layout16c1r,.cards-container.layout16c2r{grid-auto-flow:row;grid-template-columns:repeat(16,minmax(0,1fr))}.cards-container.layout16c2r{grid-template-rows:repeat(2,minmax(0,auto))}.cards-container.layout16c3r{grid-template-rows:repeat(3,minmax(0,auto))}.cards-container.layout16c3r,.cards-container.layout16c4r{grid-auto-flow:row;grid-template-columns:repeat(16,minmax(0,1fr))}.cards-container.layout16c4r{grid-template-rows:repeat(4,minmax(0,auto))}.cards-container.layout16c5r{grid-template-rows:repeat(5,minmax(0,auto))}.cards-container.layout16c5r,.cards-container.layout16c6r{grid-auto-flow:row;grid-template-columns:repeat(16,minmax(0,1fr))}.cards-container.layout16c6r{grid-template-rows:repeat(6,minmax(0,auto))}.cards-container.layout16c7r{grid-auto-flow:row;grid-template-columns:repeat(16,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,auto))}.cards-container.layout17c1r,.cards-container.layout17c2r{grid-auto-flow:row;grid-template-columns:repeat(17,minmax(0,1fr))}.cards-container.layout17c2r{grid-template-rows:repeat(2,minmax(0,auto))}.cards-container.layout17c3r{grid-template-rows:repeat(3,minmax(0,auto))}.cards-container.layout17c3r,.cards-container.layout17c4r{grid-auto-flow:row;grid-template-columns:repeat(17,minmax(0,1fr))}.cards-container.layout17c4r{grid-template-rows:repeat(4,minmax(0,auto))}.cards-container.layout17c5r{grid-template-rows:repeat(5,minmax(0,auto))}.cards-container.layout17c5r,.cards-container.layout17c6r{grid-auto-flow:row;grid-template-columns:repeat(17,minmax(0,1fr))}.cards-container.layout17c6r{grid-template-rows:repeat(6,minmax(0,auto))}.cards-container.layout17c7r{grid-auto-flow:row;grid-template-columns:repeat(17,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,auto))}.cards-container.layout18c1r,.cards-container.layout18c2r{grid-auto-flow:row;grid-template-columns:repeat(18,minmax(0,1fr))}.cards-container.layout18c2r{grid-template-rows:repeat(2,minmax(0,auto))}.cards-container.layout18c3r{grid-template-rows:repeat(3,minmax(0,auto))}.cards-container.layout18c3r,.cards-container.layout18c4r{grid-auto-flow:row;grid-template-columns:repeat(18,minmax(0,1fr))}.cards-container.layout18c4r{grid-template-rows:repeat(4,minmax(0,auto))}.cards-container.layout18c5r{grid-template-rows:repeat(5,minmax(0,auto))}.cards-container.layout18c5r,.cards-container.layout18c6r{grid-auto-flow:row;grid-template-columns:repeat(18,minmax(0,1fr))}.cards-container.layout18c6r{grid-template-rows:repeat(6,minmax(0,auto))}.cards-container.layout18c7r{grid-auto-flow:row;grid-template-columns:repeat(18,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,auto))}.cards-container.layout19c1r,.cards-container.layout19c2r{grid-auto-flow:row;grid-template-columns:repeat(19,minmax(0,1fr))}.cards-container.layout19c2r{grid-template-rows:repeat(2,minmax(0,auto))}.cards-container.layout19c3r{grid-template-rows:repeat(3,minmax(0,auto))}.cards-container.layout19c3r,.cards-container.layout19c4r{grid-auto-flow:row;grid-template-columns:repeat(19,minmax(0,1fr))}.cards-container.layout19c4r{grid-template-rows:repeat(4,minmax(0,auto))}.cards-container.layout19c5r{grid-template-rows:repeat(5,minmax(0,auto))}.cards-container.layout19c5r,.cards-container.layout19c6r{grid-auto-flow:row;grid-template-columns:repeat(19,minmax(0,1fr))}.cards-container.layout19c6r{grid-template-rows:repeat(6,minmax(0,auto))}.cards-container.layout19c7r{grid-auto-flow:row;grid-template-columns:repeat(19,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,auto))}.cards-container.layout20c1r,.cards-container.layout20c2r{grid-auto-flow:row;grid-template-columns:repeat(20,minmax(0,1fr))}.cards-container.layout20c2r{grid-template-rows:repeat(2,minmax(0,auto))}.cards-container.layout20c3r{grid-template-rows:repeat(3,minmax(0,auto))}.cards-container.layout20c3r,.cards-container.layout20c4r{grid-auto-flow:row;grid-template-columns:repeat(20,minmax(0,1fr))}.cards-container.layout20c4r{grid-template-rows:repeat(4,minmax(0,auto))}.cards-container.layout20c5r{grid-template-rows:repeat(5,minmax(0,auto))}.cards-container.layout20c5r,.cards-container.layout20c6r{grid-auto-flow:row;grid-template-columns:repeat(20,minmax(0,1fr))}.cards-container.layout20c6r{grid-template-rows:repeat(6,minmax(0,auto))}.cards-container.layout20c7r{grid-auto-flow:row;grid-template-columns:repeat(20,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,auto))}.progress-bar-container{margin:5px auto;position:relative;width:100%}.progress-bar{background-color:var(--line);border-radius:var(--r-item);height:24px;overflow:hidden;width:100%}.progress{background-color:var(--ok);border-radius:12px 0 0 12px;height:100%;transition:width .3s ease}.progress-info{border-radius:8px;color:var(--ink);font-size:14px;font-weight:700;left:50%;padding:4px 8px;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.progress-stats{display:flex;justify-content:space-between;margin:0 0 5px;width:100%}.memorized,.not-memorized,.timer{text-wrap-mode:nowrap;background-color:var(--surface);border-radius:10px;display:flex;font-size:2rem;padding:0 10px}.not-memorized{color:var(--bad)}.memorized{color:var(--ok)}.game-settings{align-items:center;display:flex;flex-direction:row;gap:6px}.game-settings-button{align-items:center;background-color:initial;border:0;border-radius:var(--r-pill);box-shadow:inset 0 0 0 1.5px var(--line);box-sizing:border-box;color:var(--ink);cursor:pointer;display:inline-flex;font:inherit;font-size:.875rem;font-weight:600;gap:6px;justify-content:center;line-height:1.2;margin:0;padding:0 16px;white-space:nowrap}.game-settings-button.is-on{background-color:var(--accent-soft);box-shadow:none;color:var(--accent)}.game-settings-button:hover{background-color:var(--surface-2)}.game-settings-button.is-on:hover{background-color:var(--accent-soft)}.game-settings-icon{display:none;flex:none}@media (max-width:430px){.game-settings-button{padding:0;position:relative;width:44px}.game-settings-icon{display:block}.game-settings-label{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}}.mark-all-memorized-button{background-color:var(--ok);border:none;border-radius:10px;color:var(--ok-ink);font-size:1.6rem;margin:2px 0 0;padding:2px;width:100%}.loading-container{height:100%;margin-top:20%}.empty-state,.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center}.empty-state{box-sizing:border-box;color:var(--muted);font-size:1rem;gap:12px;margin-top:60px;padding:32px 16px;text-align:center;width:100%}.loading-spinner{animation:loading-spin .9s linear infinite;border:4px solid #0000001f;border-radius:50%;border-top:4px solid var(--muted);height:40px;margin-bottom:12px;width:40px}@keyframes loading-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.loading-spinner{animation:none}}@media (max-width:480px){.progress-stats{flex-wrap:wrap;gap:4px}.memorized,.not-memorized,.timer{font-size:1.2rem;padding:0 6px}}.unknown-set-page{background-color:var(--bg);min-height:calc(100vh - 48px)}.unknown-set-container{align-items:start;justify-content:center;padding:20px 20px 14px}.unknown-set-banner,.unknown-set-container{box-sizing:border-box;display:flex;width:100%}.unknown-set-banner{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);flex-direction:column;gap:4px;line-height:1.6;max-width:800px;padding:14px 16px}.unknown-set-title{color:var(--ink);font-size:18px;font-weight:600;margin:0}.unknown-set-description{color:var(--muted);font-size:15px}.unknown-set-code{background:var(--bg);border:1px solid var(--line);border-radius:4px;color:var(--ink);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;padding:2px 4px}.progress-stats-end{align-items:center;display:flex;gap:6px}.cards-area .cards-container{justify-content:center}@media (max-width:767px){.cards-area .cards-container{grid-template-columns:minmax(0,380px)}.cards-area .word-card{max-width:380px}}@media (min-width:768px){.cards-area .cards-container{column-gap:12px;grid-template-columns:repeat(1,168px);grid-template-columns:repeat(var(--card-columns,1),168px);row-gap:16px}}.navbar{align-items:center;background-color:var(--ink);box-sizing:border-box;display:flex;justify-content:space-between;padding:0 .5rem 0 .25rem;width:100%}.nav-center,.nav-left,.nav-right{align-items:center;display:flex;gap:1.5rem}.nav-left{margin-right:.5rem}.nav-logo{align-items:center;color:#fff;display:flex;font-size:1.5rem;font-weight:700;gap:.5rem;text-decoration:none}.logo-text{font-size:1.1rem;margin-right:.5rem}.navbar a{color:#fff;padding:.5rem;text-decoration:none}.navbar a:hover{color:var(--accent)}.nav-button{border:none;border-radius:8px;color:var(--surface);cursor:pointer;font-size:.9rem;font-weight:700;padding:.25rem .75rem;white-space:nowrap}.nav-button,.nav-button:hover{background:var(--accent)}.nav-list{align-items:center;display:flex;justify-content:space-between;list-style:none;margin:0;padding:0}.nav-item{margin-right:20px}.nav-link{color:#fff;font-size:18px;text-decoration:none}.user-section{align-items:center;display:flex;height:40px;justify-content:space-between;margin-left:auto}.user-section .nav-user-info{align-items:center;color:#fff;display:flex;flex-direction:column;font-size:.5rem;margin:3px 0;text-align:center}.login-button,.logout-button{background-color:var(--ok);border:none;border-radius:2px;color:#fff;cursor:pointer;height:30px;padding:2px 5px}.logout-button{background-color:#f44336;margin-left:20px}.page-content{margin-top:60px;padding:20px}.nav-profile-avatar,.profile-avatar{border-radius:50%;box-shadow:0 4px 10px #0000001a;display:block;height:30px;margin-bottom:5px;width:30px}.profile-avatar{height:100px;width:100px}.nav-center a,.nav-right a{color:#fff;font-size:.9rem;padding:.5rem 1rem;text-decoration:none}.nav-link-active{background-color:#ffffff1a;border-radius:8px}.nav-right{gap:.4rem;margin-left:0}.nav-right a{font-size:.8rem;opacity:.7;padding:.25rem .5rem}.nav-wordsets-link{align-items:center;box-sizing:border-box;display:flex}.nav-center{margin-right:auto;padding-left:0}.dropdown{height:100%;position:relative}.dropdown-trigger{align-items:center;background:none;border:none;color:var(--surface);cursor:pointer;display:flex;font-size:.8rem;gap:.5rem;height:100%;padding:0 .5rem}.dropdown-arrow{font-size:.6rem;opacity:.7}.user-dropdown-trigger{max-width:200px}.user-avatar{border-radius:50%;height:24px;width:24px}.user-info-compact{align-items:flex-start;display:flex;flex-direction:column;font-size:.7rem;line-height:1.1;overflow:hidden}.user-info-compact .name{font-weight:500}.user-info-compact .email,.user-info-compact .name{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-info-compact .email{opacity:.7}.dropdown-menu{background:#2a2a2a;border-radius:8px;box-shadow:0 2px 10px #0003;margin-top:4px;min-width:160px;position:absolute;right:0;top:100%;z-index:1001}.dropdown-item{color:var(--surface);cursor:pointer;display:block;padding:.5rem 1rem;text-decoration:none;white-space:nowrap}.dropdown-item:hover{background:#ffffff1a}.nav-right .auth-buttons{align-items:center;display:flex;flex-direction:row;gap:8px}.google-signin-compact{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;display:flex;font-family:var(--font-latin);font-size:14px;font-weight:500;gap:6px;order:1;padding:4px 12px}.google-signin-compact img{height:18px;width:18px}.try-button{background-color:var(--accent);border:none;border-radius:8px;color:var(--surface);cursor:pointer;font-size:14px;order:2;padding:6px 12px;white-space:nowrap}.try-button:hover{background-color:#357ae8}.mobile-about-items{display:none}@media (max-width:480px){.navbar{padding:0 .25rem}.nav-center,.nav-left,.nav-right{gap:.5rem}.logo-text,.nav-left{margin-right:.25rem}.logo-text{font-size:1rem}.user-info-compact{display:none}.user-dropdown-trigger{max-width:none;padding:0 .25rem}.dropdown-trigger{padding:0 .35rem}.nav-right a{padding:.25rem .35rem}.nav-about-dropdown{display:none}.mobile-about-items{display:block}}.nav-doors{align-items:center;display:flex;gap:2px;min-width:0;overflow:hidden}.nav-door{align-items:center;border-radius:999px;box-sizing:border-box;color:#ffffffdb;display:inline-flex;font-size:14px;font-weight:500;padding:0 10px;text-decoration:none;white-space:nowrap}.nav-door:hover{background:#ffffff1a;text-decoration:none}.nav-door.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-menu-btn{align-items:center;background:#0000;border:none;border-radius:999px;color:#fff;cursor:pointer;display:none;flex:none;height:44px;justify-content:center;padding:0;width:44px}.nav-menu-btn.open{background:#ffffff1f}.navbar.nav--compact .nav-doors{display:none}.navbar.nav--compact .nav-menu-btn{display:inline-flex}@media (max-width:600px){.nav-doors{display:none}.nav-menu-btn{display:inline-flex}}.nav-menu-backdrop{background:#1d1a1652;bottom:0;z-index:1001}.nav-menu-backdrop,.nav-menu-sheet{left:0;position:fixed;right:0;top:48px}.nav-menu-sheet{background:var(--surface);border-bottom:1px solid var(--line);border-radius:0 0 20px 20px;box-shadow:0 8px 24px #281e141f;flex-direction:column;padding:6px 8px 14px;z-index:1002}.nav-menu-door,.nav-menu-sheet{box-sizing:border-box;display:flex}.nav-menu-door{align-items:center;border-radius:12px;border-radius:var(--r-item,12px);color:var(--ink);font-size:16px;font-weight:500;padding:2px 14px;text-decoration:none}.nav-menu-door.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-menu-legal{border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:0 14px;margin-top:6px;padding:6px 14px 0}.nav-menu-legal a{align-items:center;color:var(--muted);display:inline-flex;font-size:13px;text-decoration:none}@media (max-width:600px){.nav-logo .logo,.nav-logo img,.nav-logo picture{display:none}.nav-left{gap:.25rem}}.navbar.nav--compact .nav-logo .logo,.navbar.nav--compact .nav-logo img,.navbar.nav--compact .nav-logo picture{display:none}@media (max-width:430px){.nav-right{gap:4px}.nav-left{margin-right:0}}@media (max-width:600px){.auth-buttons .google-signin-compact,.navbar .streak-badge .streak-goal,.user-info-compact{display:none}.user-dropdown-trigger{padding:0 2px}}.nav-menu-signin{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;border-radius:var(--r-item,12px);box-sizing:border-box;color:var(--ink);cursor:pointer;display:flex;font:inherit;font-size:15px;font-weight:600;gap:10px;margin-top:6px;padding:2px 14px;width:100%}.nav-menu-signin .google-icon{height:18px;width:18px}.profile-container{align-items:flex-start;justify-content:center;padding:32px 16px 64px}.profile-card,.profile-container{box-sizing:border-box;display:flex}.profile-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;border-radius:var(--r-card,16px);box-shadow:var(--shadow);flex-direction:column;gap:20px;max-width:480px;padding:24px 20px;width:100%}.profile-card .user-info{align-items:center;display:flex;flex-direction:column;gap:6px;text-align:center}.profile-user-name{color:var(--ink);font-size:18px;font-weight:700}.profile-user-email{color:var(--muted);font-size:14px}.profile-language-section{background:var(--surface);border:1px solid var(--line);border-radius:16px;border-radius:var(--r-card,16px);box-sizing:border-box;display:flex;flex-direction:column;gap:8px;padding:16px}.profile-language-title{color:var(--ink);font-size:16px;font-weight:700}.profile-language-desc{color:var(--muted);font-size:14px;line-height:1.5}.profile-card .logout-button{align-items:center;background:var(--surface);border:1.5px solid var(--line);border-radius:999px;border-radius:var(--r-pill,999px);box-sizing:border-box;color:var(--ink);cursor:pointer;display:inline-flex;font:inherit;font-weight:600;justify-content:center;margin:0;min-height:var(--tap);padding:0 24px;transition:border-color .15s ease;width:100%}.profile-card .logout-button:hover{border-color:var(--ink)}.profile-card .login-button{background:var(--accent);border:none;border-radius:999px;border-radius:var(--r-pill,999px);color:#fff;color:var(--accent-ink,#fff);cursor:pointer;font:inherit;font-weight:600;justify-content:center;margin:0;min-height:var(--tap);padding:0 24px;width:100%}.lang-switcher,.profile-card .login-button{align-items:center;box-sizing:border-box;display:inline-flex}.lang-switcher{position:relative}.lang-pill{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);box-sizing:border-box;color:var(--ink);cursor:pointer;display:inline-flex;font-family:var(--font-latin);font-size:15px;font-weight:600;gap:8px;justify-content:center;list-style:none;min-height:44px;padding:0 16px;transition:border-color .15s ease;-webkit-user-select:none;user-select:none;white-space:nowrap}.lang-pill:hover,.lang-pill[aria-expanded=true],.lang-switcher.open .lang-pill{border-color:var(--ink)}.lang-pill-name-short{display:none}.lang-pill-name-full{display:inline}.lang-arrow{color:var(--muted);display:inline-block;font-size:10px;line-height:1}.lang-menu{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);box-sizing:border-box;display:flex;flex-direction:column;padding:6px;position:absolute;right:0;top:calc(100% + 8px);width:240px;z-index:1002}.lang-sheet-handle{display:none}.lang-options{display:flex;flex-direction:column;width:100%}.lang-option{align-items:center;background:#0000;border:none;border-radius:var(--r-item);box-sizing:border-box;color:var(--ink);cursor:pointer;display:flex;font-family:var(--font-latin);font-size:15px;font-weight:400;justify-content:space-between;min-height:44px;padding:0 14px;text-align:left;text-decoration:none;-webkit-user-select:none;user-select:none;width:100%}.lang-option:hover{background:#281e140a;text-decoration:none}.lang-option-active,.lang-option.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.lang-option-active:hover,.lang-option.active:hover{background:var(--accent-soft)}.lang-check{color:var(--accent);font-weight:700}.lang-backdrop{display:none}@media (max-width:480px){.lang-pill{font-size:14px;gap:6px;padding:0 12px}.lang-pill-name-full{display:none}.lang-pill-name-short{display:inline}}@media (max-width:600px){.lang-menu{border:none;border-radius:20px 20px 0 0;border-top:1px solid var(--line);bottom:0;box-shadow:0 -8px 24px #281e1414;left:0;padding:10px 12px 18px;position:fixed;right:0;top:auto;width:100%;z-index:1002}.lang-sheet-handle{align-self:center;background:var(--line);border-radius:2px;display:block;height:4px;margin:0 auto 8px;width:36px}.lang-option{font-size:16px;min-height:48px}.lang-backdrop{background:#1d1a1659;display:block;inset:0;position:fixed;z-index:1001}}.private-login-container{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 48px);padding:20px}.login-card{align-items:center;border-radius:var(--r-item);box-shadow:0 2px 10px #00000014;display:flex;flex-direction:column;padding:40px 20px}.login-card h2{color:var(--accent);font-size:2.5rem}.login-card p{font-size:1.2rem;margin-bottom:1rem}.features-list{margin:2rem 0;padding:0 1rem}.feature-item{align-items:center;display:flex;font-size:1.2rem;position:relative}.feature-item:before{display:inline-block;font-size:1.2rem;margin-right:.75rem}.feature-item>:first-child{margin-left:0}.login-button{border-radius:8px;color:var(--surface);font-size:1.2rem;font-weight:500;height:auto;line-height:1.5;margin:2rem auto 1rem;min-width:250px;padding:16px 32px;transition:background .2s;white-space:nowrap;width:auto}.login-button:hover{background:var(--accent)}.auth-buttons{display:flex;flex-direction:column;gap:12px;margin:0 auto;max-width:300px;width:100%}.google-signin-button{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;display:flex;font-family:var(--font-latin);font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:8px 16px;width:100%}.google-signin-button img{height:18px;width:18px}.try-without-signin{border:none;border-radius:8px;color:var(--surface);cursor:pointer;font-size:1.5em;font-weight:500;padding:12px 24px;transition:background-color .2s;width:100%}.try-without-signin,.try-without-signin:hover{background-color:var(--accent)}.streak-badge{align-items:center;background:#ff8a001f;border-radius:var(--r-pill);color:#d9660b;display:inline-flex;font-size:.9rem;font-weight:600;gap:.25rem;line-height:1;padding:.2rem .55rem;white-space:nowrap}.streak-badge.goal-met{background:#2ea04326;color:#1f7a34}.streak-flame{font-size:1rem}.streak-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.streak-goal{font-size:.75rem;font-weight:500;opacity:.85}.wordsets-container{align-items:start;box-sizing:border-box;display:flex;justify-content:center;padding:0 20px;width:100%}.wordsets-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin:0 auto;width:100%}.wordset-tile{align-items:stretch;display:flex;flex-direction:row;justify-content:space-between;margin-bottom:0}.wordset-button-group{grid-gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);box-sizing:border-box;display:grid;gap:10px;grid-template-columns:1fr 1fr;padding:16px 16px 14px;width:100%}.wordset-button{border:1.5px solid #0000;border-radius:var(--r-pill);cursor:pointer;font:inherit;font-size:1rem;margin:0;transition:filter .15s ease,background-color .15s ease;width:auto}.wordset-header{grid-column:1/3;grid-row:1}.wordset-header-text{color:var(--ink);font-size:1.05rem;font-weight:700;margin:0 0 4px;text-align:left}.wordset-button-due{background:var(--accent);color:var(--accent-ink);font-weight:600;grid-column:1/3;grid-row:2;min-height:calc(var(--min-tap-target) + 4px);padding:0 18px}.wordset-button-due:hover{filter:brightness(1.05)}.wordset-button-practice,.wordset-button-test{background:var(--surface);border-color:var(--line);color:var(--accent);font-weight:600;grid-row:3;padding:0 14px}.wordset-button-practice{grid-column:1}.wordset-button-test{grid-column:2}.wordset-button-practice:hover,.wordset-button-test:hover{background:var(--accent-soft)}.wordset-button-excluded{background:#0000;border-color:var(--line);color:var(--ink);font-size:.9rem;font-weight:500;grid-column:1/3;grid-row:4;justify-self:start;padding:0 14px}.wordset-button-excluded:hover{color:var(--ink)}.wordset-tile-foot{align-items:center;column-gap:8px;display:flex;flex-wrap:wrap;grid-column:1/3;grid-row:4;justify-content:space-between}.wordset-list-link{align-items:center;color:var(--accent);display:inline-flex;font-size:.9rem;font-weight:500;margin-left:auto;padding:0 10px;text-decoration:none;white-space:nowrap}.wordset-list-link:hover{text-decoration:underline}.wordsets-login-container{align-items:center;background:var(--bg);display:flex;justify-content:center;min-height:calc(100vh - 64px);padding:2rem}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-hero);box-shadow:var(--shadow);max-width:480px;padding:2.5rem;text-align:center;width:100%}.login-card h2{color:var(--ink);font-family:var(--font-display);font-size:1.8rem;letter-spacing:-.02em;margin-bottom:1rem}.login-card p{color:var(--muted);line-height:1.6;margin-bottom:2rem}.features-list{margin:1rem 0;text-align:left}.feature-item{color:var(--ink);font-size:1.1rem;margin:1rem 0}.feature-item:before{color:var(--ok);content:"✓";font-weight:700;margin-right:.5rem}@supports (((-webkit-mask-image:none) or (mask-image:none)) or (-webkit-mask-image:none)){.feature-item:before{background-color:var(--ok);content:"";display:inline-block;height:1em;-webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m4.5 12.5 5 5L19.5 7' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center /contain no-repeat;mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m4.5 12.5 5 5L19.5 7' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center /contain no-repeat;vertical-align:-.125em;width:1em}}.login-button{background:var(--accent);border:none;border-radius:var(--r-pill);color:var(--accent-ink);cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem 2rem;transition:filter .2s}.login-button:hover{filter:brightness(1.05)}.wordsets-status{color:var(--muted);font-size:1rem;padding:32px 16px;text-align:center;width:100%}.wordsets-error{align-items:center;display:flex;flex-direction:column;gap:12px}.wordsets-retry{background-color:var(--accent);border:none;border-radius:var(--r-pill);color:var(--accent-ink);cursor:pointer;font-size:1rem;font-weight:600;padding:10px 20px}.wordsets-retry:hover{filter:brightness(1.05)}.skeleton-block{background:var(--line);opacity:.6;pointer-events:none}.wordset-header-text.skeleton-block{border-radius:4px;height:1.2em;margin-bottom:4px;width:60%}.wordset-button-excluded.skeleton-block{width:90px}.site-footer{align-self:center;border-top:1px solid #eae3d6;border-top:1px solid var(--line,#eae3d6);box-sizing:border-box;display:flex;flex-wrap:wrap;font-size:.9rem;gap:6px 14px;justify-content:center;margin-left:auto;margin-right:auto;margin-top:32px;max-width:1000px;max-width:var(--page-w,1000px);padding:12px 0 24px;width:100%}.site-footer,.site-footer a{align-items:center;color:#6d6558;color:var(--muted,#6d6558)}.site-footer a{display:inline-flex;min-height:44px;min-height:var(--min-tap-target,44px);text-decoration:underline}.session-size{box-sizing:border-box;color:var(--ink);margin:48px auto 0;max-width:560px;padding:28px 24px 72px;width:100%}.session-size-back{align-items:center;color:var(--muted);display:inline-flex;margin-left:-8px;min-height:var(--min-tap-target);padding:0 8px;text-decoration:none}.session-size-title{font-family:var(--font-display);font-size:1.7rem;letter-spacing:-.02em;line-height:1.2;margin:10px 0 4px}.session-size-sub{color:var(--muted);margin:0 0 20px}.session-size-options{grid-gap:10px;display:grid;gap:10px}.session-size-option{align-items:center;background:var(--surface);border:2px solid var(--line);border-radius:var(--r-card);box-sizing:border-box;color:var(--ink);cursor:pointer;display:flex;font:inherit;gap:12px;justify-content:space-between;min-height:64px;padding:10px 18px;text-align:left;transition:border-color .15s ease}.session-size-option:focus-visible,.session-size-option:hover{border-color:var(--accent);outline:none}.session-size-option.is-selected{background:var(--accent-soft);border-color:var(--accent)}.session-size-option-text{grid-gap:2px;display:grid;flex:1 1;gap:2px;min-width:0}.session-size-option-label{font-size:1.1rem;font-weight:700;line-height:1.35;word-break:break-word}.session-size-option-hint{color:var(--muted);font-size:.85rem;line-height:1.35;overflow-wrap:break-word;word-break:break-word}.session-size-option-time{color:var(--muted);flex-shrink:0;font-size:.9rem;white-space:nowrap}.session-size-note{color:var(--muted);font-size:.85rem;margin:18px 0 0}@media (max-width:480px){.session-size{padding:20px 16px 64px}.session-size-option{gap:8px;padding:10px 14px}}.policy-wrapper{background:var(--surface);bottom:0;left:0;overflow-y:auto;position:fixed;right:0;top:48px}.policy-container{color:var(--ink);font-family:var(--font-latin);margin:0 auto;max-width:min(var(--page-w),72ch);padding:2rem}.policy-container h1{color:#1a1a1a;font-size:2.5rem;margin-bottom:.5rem}.policy-container h2{color:#2a2a2a;font-size:1.5rem;margin-bottom:1rem;margin-top:2rem}.policy-container p{line-height:1.6;margin-bottom:1rem}.policy-container .last-updated{color:var(--muted);font-style:italic;margin-bottom:2rem}.policy-container ul{margin:1rem 0 1rem 2rem}.policy-container ul li{line-height:1.6;margin-bottom:.5rem}.policy-container ul ul{margin-top:.5rem}.policy-container section{margin-bottom:2rem}@media (max-width:768px){.policy-container{padding:1rem}}.cta-button-container{background-color:#f5f7fa;border-radius:8px;margin:2rem 0;padding:1rem;text-align:center}.cta-button{background-color:#24292e;border-radius:6px;padding:12px 24px;transition:background-color .2s ease}.cta-button:hover{background-color:#2f363d;color:var(--surface);text-decoration:none}:root{--font-latin:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-display:var(--font-latin);--font-hanzi:"Noto Serif SC","Songti SC","STSong","Source Han Serif SC","SimSun",serif;--r-pill:999px;--r-hero:20px;--r-card:16px;--r-item:12px;--page-w:1000px;--bg:#fbf9f4;--surface:#fff;--surface-2:#f4efe6;--ink:#1d1a16;--muted:#6d6558;--line:#eae3d6;--accent:#b23b2e;--accent-ink:#fff;--accent-soft:#fbeeeb;--ok:#397146;--ok-ink:#fff;--ok-soft:#e6f1e8;--bad:#a4133c;--bad-ink:#fff;--bad-soft:#fbe9ee;--t1:#c8361f;--t2:#9c5410;--t3:#2a7130;--t4:#6b3fa0;--shadow:0 1px 2px #281e140f,0 8px 24px #281e140f}body,html{-webkit-font-smoothing:antialiased;background-color:#fbf9f4;color:#1d1a16;color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}:lang(zh),:lang(zh-Hans){font-family:"Noto Serif SC",Songti SC,STSong,"Source Han Serif SC",SimSun,serif;font-family:var(--font-hanzi)}.t1{color:#c8361f;color:var(--t1)}.t1,.t2{font-weight:700}.t2{color:#9c5410;color:var(--t2)}.t3{color:#2a7130;color:var(--t3)}.t3,.t4{font-weight:700}.t4{color:#6b3fa0;color:var(--t4)}:root{--min-tap-target:44px}.completed-button-again,.completed-button-back,.completed-sibling-cta,.dropdown-trigger,.exclude-button,.game-settings-button,.google-signin-button,.google-signin-compact,.home-link,.mark-all-memorized-button,.nav-door,.nav-menu-door,.nav-menu-legal a,.nav-menu-signin,.nav-wordsets-link,.onboarding-button,.popular-words-list a,.session-header-back,.session-size-back,.session-size-option,.speak-button,.today-secondary,.today-start,.try-button,.wordset-button,.wordset-list-link,.wordsets-retry{min-height:44px;min-height:var(--min-tap-target)}.dropdown-trigger,.session-header-back,.speak-button,.try-button{min-width:44px;min-width:var(--min-tap-target)}.mark{display:inline-block;flex:none;vertical-align:-.125em}body,html{align-items:center;background-color:var(--bg);box-sizing:border-box;display:flex;font-family:var(--font-latin);justify-content:center;margin:0;padding:0}#root,body,html{height:100%;width:100%}.app{display:flex;flex-direction:column;height:100vh}.navbar{height:48px;left:0;position:fixed;right:0;top:0;z-index:1000}.content{height:calc(100vh - 48px);margin-top:48px}.centered-content{align-items:center;display:flex;flex-direction:column;text-align:center;width:100%}.text-content{line-height:1.6;max-width:min(var(--page-w),72ch);text-align:left}.content-container{height:100%}.cards-container{flex:1 1;min-height:0}.page-wrapper{bottom:0;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:48px}.home-container{margin:0 auto;max-width:var(--page-w);padding:40px 20px}.home-content{align-items:center;display:flex;flex-direction:column;text-align:center}.hero-section{margin-bottom:2rem;text-align:center}.hero-section h1,.hero-section h2{margin-bottom:1rem}.hero-cta,.hero-section p{margin-bottom:2rem}.hero-value-prop{color:var(--muted);font-size:.95rem;line-height:1.5;margin:0 auto 1rem;max-width:32rem}.features-section{background:var(--surface);border-radius:var(--r-item);box-shadow:0 2px 10px #00000014;box-sizing:border-box;margin:10px 0;padding:10px;text-align:left;width:100%}.start-button{border-radius:8px;color:var(--surface);display:inline-block;font-weight:500;margin:30px 0;padding:15px 30px;text-decoration:none}.start-button,.start-button:hover{background:var(--accent)}.intro-section{display:none}.features-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:10px 0}.feature-card{background:var(--surface-2);border-radius:8px;padding:2rem;transition:transform .2s}.feature-card:hover{transform:translateY(-5px)}.cta-section{margin:3rem 0}.popular-words-section{margin:1.5rem 0;text-align:center;width:100%}.popular-words-list{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;justify-content:center;list-style:none;margin:.5rem 0 0;padding:0}.popular-words-list a{align-items:center;color:var(--accent);display:inline-flex;padding:0 4px;text-decoration:none}.popular-words-list a:hover{text-decoration:underline}.cta-button{border-radius:8px;color:var(--surface);display:inline-block;font-weight:700;padding:1rem 2rem;text-decoration:none;transition:background .2s}.cta-button,.cta-button:hover{background:var(--accent)}.game-preview{background:var(--bg);border-radius:var(--r-item);margin:3rem auto;max-width:1000px;padding:2rem}.cards-demo{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin:2rem 0;position:relative}.game-stats{display:flex;font-size:1.2rem;gap:1rem;position:absolute;right:20px;top:-30px}.timer{background:var(--surface);border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:.5rem 1rem}.score .wrong{color:var(--bad);margin-right:1rem}.score .right{color:var(--ok)}.flashcard{background:var(--surface);border-radius:8px;box-shadow:0 4px 8px #0000001a;display:flex;flex-direction:column;height:250px;justify-content:space-between;padding:1rem;perspective:1000px;width:200px}.flashcard.flipped{background:var(--bg)}.card-content{text-align:center}.example-word{display:block;margin-bottom:.5rem}.example-word .chinese-char{font-size:1.6rem;margin-right:.4rem}.example-word .meaning,.example-word .pinyin{color:var(--muted);font-size:1rem}.example-word .pinyin:after{color:#bbb;content:"\00b7";margin:0 .4rem}.chinese-word{font-size:2.5rem;margin-bottom:1rem}.pinyin{color:var(--muted);font-size:1.2rem;margin-bottom:.5rem}.english{color:#444;font-size:1.1rem;margin-bottom:1.5rem}.card-controls{display:flex;gap:1rem;justify-content:center;margin-top:auto}.right-btn,.wrong-btn{border:none;border-radius:50%;cursor:pointer;font-size:1.2rem;height:40px;width:40px}.wrong-btn{background:var(--bad-soft);color:var(--bad)}.right-btn{background:var(--ok-soft);color:var(--ok)}.game-controls-demo{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.control-btn{background:#e9ecef;border:none;border-radius:8px;color:#495057;cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.control-btn:hover{background:#dee2e6}@media (max-width:768px){.cards-demo{flex-direction:column}.game-stats{margin-bottom:1rem;position:static}.game-controls-demo{flex-wrap:wrap}}.page-container{align-items:center;display:flex;flex-direction:column;width:100%}.page-container,.wordsets-container{margin:0 auto;max-width:var(--page-w)}.today{align-items:center;display:flex;flex-direction:column;gap:.75rem;padding:3rem 1rem;text-align:center}.today-headline{color:var(--ink);font-size:1.5rem;margin:0}.today-count{color:var(--accent);display:block;font-size:3.5rem;font-weight:700;line-height:1}.today-done{color:var(--ok);font-size:2rem;font-weight:700}.today-streak,.today-sub,.today-target{color:var(--muted);font-size:.95rem;margin:0}.today-streak{font-weight:700}.today-explainer{color:var(--muted);font-size:.85rem;line-height:1.4;margin:0;max-width:30ch}.today-start{border:none;border-radius:8px;color:var(--surface);cursor:pointer;font-size:1.25rem;font-weight:700;margin-top:.5rem;padding:1rem 3rem;transition:background .2s}.today-start,.today-start:hover{background:var(--accent)}.today-secondary{align-items:center;box-sizing:border-box;color:var(--accent);display:inline-flex;font-size:.95rem;justify-content:center;text-decoration:none}.today-secondary:hover{text-decoration:underline}.today-status{color:var(--muted);margin:0}.today-error{color:var(--bad);font-weight:700}.not-found{color:var(--ink);padding:64px 16px;text-align:center}.not-found-status{font-size:3rem;margin:0 0 8px}.not-found-message{color:var(--muted);font-size:1.125rem;margin:0 0 24px}.home-link{align-items:center;background:var(--accent);border-radius:8px;color:var(--accent-ink);display:inline-flex;font-weight:600;padding:0 24px;text-decoration:none}.home-link:hover{filter:brightness(1.05)}
/*# sourceMappingURL=main.7350b7e6.css.map*/