:root{color-scheme:light;--ink:#26332d;--muted:#7b887f;--paper:#fff;--canvas:#f7f9f7;--line:#e1e8e2;--jade:#087f68;--jade-dark:#086451;--jade-pale:#e8f3ed;--turquoise:#087f68;--tibetan:"Noto Serif Tibetan","Kailasa","Microsoft Himalaya",serif;--sidebar:238px}*{box-sizing:border-box;letter-spacing:0}body{margin:0;min-width:320px;background:var(--canvas);color:var(--ink);font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,select,input{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.4}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}button,select{min-height:36px}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #159b8170;outline-offset:3px}[hidden],.is-hidden{display:none!important}.lucide{width:18px;height:18px;stroke-width:1.7;flex-shrink:0}button,a,select{transition:background .16s,color .16s,border-color .16s,box-shadow .16s}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link:focus{position:fixed;z-index:100;padding:16px;background:#fff}.muted{color:var(--muted)}.eyebrow{font-size:11px;line-height:1.6;font-weight:700;color:var(--jade);display:flex;align-items:center;gap:8px}.tiny-line{width:19px;height:2px;background:var(--jade)}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:31px 20px 0;z-index:30;overflow-y:auto}.brand{display:flex;align-items:center;gap:11px;margin:0 12px 34px}.brand-mark{width:43px;height:47px;border-radius:8px;display:grid;place-items:center;background:var(--jade);color:#fff;font-family:var(--tibetan);font-size:29px;padding-bottom:8px}.brand strong{display:block;font-size:22px;line-height:1.05;font-weight:700}.brand small{font-size:10px;display:block;margin-top:6px;font-weight:700;color:#657772}.sidebar-label{font-size:10px;color:#8a9491;font-weight:600;padding:0 12px;margin-bottom:12px}.main-nav{display:flex;flex-direction:column;gap:5px}.main-nav a{display:flex;align-items:center;gap:11px;min-height:45px;padding:10px 13px;color:#66706d;border-radius:6px}.main-nav a:hover{background:#f4f7f5;color:var(--ink)}.main-nav a.is-active{color:var(--jade);background:var(--jade-pale);font-weight:700}.nav-dot{width:5px;height:5px;border-radius:50%;background:var(--jade);margin-left:auto}.nav-count{margin-left:auto;font-size:11px;color:#7b8781}.sidebar-course{margin:31px 12px 20px}.sidebar-section-head{display:flex;justify-content:space-between;gap:10px;color:#8a9491;font-size:10px;font-weight:600}.course-path{margin-top:17px;display:grid;gap:2px}.course-step{display:flex;align-items:center;gap:12px;position:relative;text-align:left;padding:8px 0;background:none;border:0;font-size:12px;color:#828a87;min-height:36px}.course-step:before{content:"";position:absolute;left:8px;top:27px;height:20px;width:1px;background:#e4eae6}.course-step:last-child:before{display:none}.step-dot{width:17px;height:17px;border:1px solid #dce3df;border-radius:50%;background:#fff;display:grid;place-items:center;z-index:1;font-size:9px}.course-step.is-current{color:var(--jade);font-weight:700}.course-step.is-current .step-dot{border:5px solid var(--jade);background:#fff}.course-step.is-complete .step-dot{color:var(--jade);background:var(--jade-pale);border-color:var(--jade-pale)}.course-step.is-complete .lucide{width:11px;height:11px}.step-end{margin-left:auto;font-size:10px;color:#969e99}.sidebar-bottom{margin-top:auto;padding-top:20px}.culture-card{display:block;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:#fbfdfc}.culture-card img{display:block;width:100%;height:106px;object-fit:cover;object-position:50% 55%}.culture-caption{display:grid;grid-template-columns:1fr auto;padding:13px 12px;row-gap:1px}.culture-caption strong{font-family:var(--tibetan);font-size:15px;color:#4d675b;font-weight:400;grid-column:1;line-height:1.8}.culture-caption span{font-size:11px;color:#708077}.culture-caption .lucide{grid-column:2;grid-row:1/3;width:15px;align-self:center;color:#708077}.local-profile{display:flex;align-items:center;gap:9px;padding:21px 0;margin-top:8px}.profile-icon{background:#f0f5f2;width:33px;height:33px;border-radius:50%;display:grid;place-items:center;color:#66927a}.local-profile strong,.local-profile small{display:block;font-size:11px}.local-profile strong{font-weight:600}.local-profile small{margin-top:4px;color:#9aa39e;font-size:10px}.local-profile>.lucide{width:14px;margin-left:auto;color:#a2afa7}.main-shell{margin-left:var(--sidebar);width:calc(100% - var(--sidebar));min-width:0}.topbar{height:68px;padding:0 38px;background:#ffffffb8;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.breadcrumb,.topbar-right{display:flex;align-items:center;gap:14px}.breadcrumb{color:#939c97;font-size:12px}.breadcrumb>.lucide{width:12px;height:12px;color:#bec5c1}.breadcrumb strong{font-size:12px;color:#56665e;font-weight:500}.topbar-right{gap:25px}.device-status{display:flex;align-items:center;gap:7px;color:#8a9690;font-size:11px}.device-status>span{width:5px;height:5px;background:#7ca289;border-radius:50%}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;min-height:34px;flex-shrink:0;border:0;background:transparent;color:#87918d;border-radius:5px}.icon-button:hover{background:#edf2ee;color:var(--jade)}.icon-button .lucide{width:17px;height:17px}.mobile-menu{display:none}.outline-button,.primary-button,.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--line);border-radius:6px;background:#fff;min-height:40px;padding:9px 14px;font-size:12px;font-weight:600;white-space:normal}.outline-button{color:#52645b;box-shadow:0 1px 2px #203b2203}.outline-button .lucide{width:15px;height:15px}.outline-button:hover{border-color:#a4cbbb}.primary-button{background:var(--jade);color:#fff;border-color:var(--jade);font-size:14px;min-height:43px}.primary-button:hover{background:var(--jade-dark)}.danger-button{background:#ba4949;color:#fff;border-color:#ba4949}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:transparent;border:0;padding:4px 0;color:var(--jade);font-size:12px}.text-button .lucide{width:15px;height:15px}.full{width:100%}main{max-width:1320px;margin:0 auto;padding:35px 42px 0;outline:none}.page-view{animation:appear .24s ease}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.page-heading h1{font-size:29px;line-height:1.35;font-weight:600;margin-top:8px}.heading-dot{color:var(--jade)}.heading-caption{font-family:var(--tibetan);font-size:17px;line-height:2;color:#819186;margin-top:3px}.page-heading .muted{font-size:14px;margin-top:9px;line-height:1.65}.page-heading>.outline-button{margin-top:16px}.practice-navigation{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dee6e0;margin-bottom:22px;gap:12px}.mode-tabs{display:flex;gap:26px}.mode-tabs button{display:flex;align-items:center;gap:7px;color:#7d8781;border:0;border-bottom:2px solid transparent;background:none;padding:0 0 15px;position:relative;top:1px;font-size:13px;font-weight:500}.mode-tabs button .lucide{width:16px;height:16px}.mode-tabs button.is-active{color:var(--jade);border-bottom-color:var(--jade);font-weight:700}.settings-link{align-self:flex-start;margin-top:1px;color:#89958d}.lesson-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 18px}.lesson-identity{display:flex;gap:12px;align-items:center;min-width:0}.lesson-number{display:grid;place-items:center;width:39px;height:41px;background:#e9f0ec;color:#608371;border:1px solid #dfe8e1;font-size:14px;border-radius:6px;font-variant-numeric:tabular-nums;flex-shrink:0}.lesson-kicker{display:flex;align-items:center;gap:7px;font-size:11px;color:#93a095}.lesson-kicker>#lessonLevel{color:var(--jade);font-weight:600}.lesson-identity h2{font-size:17px;line-height:1.4;font-weight:600;margin-top:4px}.lesson-pager{display:flex;align-items:center;gap:4px;flex-shrink:0}.lesson-pager select{max-width:125px;border:0;background:transparent;font-size:11px;color:#758477;padding:3px;cursor:pointer}.custom-editor{margin-bottom:18px;padding:18px;border-left:2px solid var(--jade);background:#edf4ef}.custom-editor>label{display:block;font-weight:600;margin-bottom:10px}.custom-editor textarea{width:100%;padding:12px;background:#fff;border:1px solid var(--line);border-radius:5px;resize:vertical;font-family:var(--tibetan);font-size:22px;line-height:2}.custom-editor p{font-size:12px;color:#697d6d;line-height:1.7}.editor-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:8px}.training-surface{background:#fff;border:1px solid #dfe7e1;border-radius:8px;box-shadow:0 3px 12px #243d2b03;overflow:hidden}.metrics{display:grid;grid-template-columns:1fr 1.15fr 1.2fr 1fr;padding:21px 26px 20px;background:#fff;border-bottom:1px solid #edf0ed}.metric{padding-left:25px;border-left:1px solid #e8eeea}.metric:first-child{padding:0;border:0}.metric-label{color:#8d9991;font-size:11px;display:flex;align-items:center;gap:6px}.metric-label .lucide{width:13px;height:13px;color:#849d8d}.metric>div{display:flex;align-items:baseline;gap:7px;margin-top:7px}.metric strong{font-size:25px;font-weight:500;line-height:1.2;font-variant-numeric:tabular-nums}.metric small{font-size:10px;color:#95a297}#accuracyMetric{color:var(--jade)}.exercise-body{position:relative;padding:20px 27px 17px}.exercise-meta{display:flex;align-items:center;justify-content:space-between;color:#9ba69e;font-size:11px}.ready-status{display:flex;align-items:center;gap:7px}.ready-status>span{width:5px;height:5px;border-radius:50%;background:#c3d1c7}.ready-status.is-running{color:var(--jade)}.ready-status.is-running>span{background:var(--jade)}.target-text{font-family:var(--tibetan);font-size:35px;line-height:2.15;padding:18px 0 9px;color:#a5b0a8;min-height:106px;max-height:240px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;scrollbar-width:thin}.target-text span{border-radius:3px}.target-text .current{color:#164f39;background:#e1f2e5;box-shadow:0 2px #15885c}.target-text .correct{color:#16875d}.target-text .wrong{color:#c85353;background:#fbeded}.target-text.count-only .wrong{color:var(--ink);background:none}.input-wrap{display:flex;position:relative;border:1px solid #e9eeea;border-radius:6px;background:#f9fbf9;margin-top:13px;transition:border-color .2s,box-shadow .2s}.input-wrap:focus-within{border-color:#83b89c;box-shadow:0 0 0 3px #e8f4eb}.input-wrap textarea{font-family:var(--tibetan);font-size:23px;line-height:1.8;width:100%;min-height:55px;max-height:150px;padding:7px 45px 8px 14px;border:0;outline:none;resize:vertical;color:var(--ink);background:transparent}.input-wrap textarea::placeholder{color:#b8c6bc}.input-indicator{position:absolute;right:15px;top:17px;color:#b8c6bc}.input-indicator .lucide{width:15px;height:15px}.input-help{display:flex;align-items:center;gap:6px;color:#929f95;font-size:10px;margin-top:10px;line-height:1.6;min-height:17px}.input-help>.lucide{width:11px;height:11px}.input-help a{color:#598a6b;display:flex;align-items:center;gap:2px;margin-left:auto;white-space:nowrap}.input-help a .lucide{width:12px;height:12px}.input-help.is-warning{color:#ae6539}.run-progress{height:2px;background:#f2f5f2;overflow:hidden}.run-progress span{display:block;height:100%;width:100%;background:var(--jade);transform:scaleX(0);transform-origin:left;transition:transform .2s}.exercise-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 20px 11px 27px;background:#fcfdfb;min-height:58px}.next-key{display:flex;align-items:center;gap:13px;min-width:0}.next-label{font-size:10px;color:#94a197;white-space:nowrap}.next-key #currentHint{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px;color:#89998b;min-height:28px}.hint-letter{font-family:var(--tibetan);color:#337153;font-size:21px;line-height:1.6;margin-right:6px}.hint-caption{margin-left:3px;font-size:10px;color:#8a988c}kbd{font-family:inherit;display:inline-grid;place-items:center;min-width:23px;height:25px;padding:0 6px;border:1px solid #dce4de;border-bottom-width:2px;border-radius:4px;background:#fff;color:#5a7261;font-size:11px}.exercise-actions{display:flex;align-items:center;gap:3px;flex-shrink:0}.streak-status{display:flex;align-items:center;gap:4px;font-size:10px;color:#8c998e;margin-right:8px}.streak-status .lucide{width:13px;color:#c49a60}.action-divider{width:1px;height:18px;background:#e6ebe7;margin:0 5px}.pause-overlay{position:absolute;inset:0;background:#ffffffef;backdrop-filter:blur(8px);z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px}.pause-overlay>.lucide{width:30px;height:30px;color:var(--jade)}.pause-overlay strong{font-size:20px;font-weight:500}.keyboard{padding-top:25px}.keyboard-toolbar,.keyboard-title,.layout-controls{display:flex;align-items:center;gap:9px}.keyboard-toolbar{justify-content:space-between;gap:15px}.keyboard-title>.lucide{width:17px;color:#789180}.keyboard-title h2{font-size:14px;font-weight:600;color:#587061}.keyboard-tag{font-size:9px;color:#9bab9e;background:#eef2ef;padding:3px 5px;border-radius:3px}.layout-controls label{color:#92a097;font-size:11px}.layout-controls select{border:1px solid #e0e8e2;background:#fff;border-radius:5px;padding:6px 24px 6px 10px;font-size:12px;color:#617a68;max-width:240px;min-height:34px}.layout-controls .icon-button{width:24px;min-height:28px;height:28px}.keyboard-options{display:flex;align-items:center;justify-content:space-between;margin:12px 0 10px;font-size:11px;color:#8d9d91}.layer-tabs{display:flex;background:#edf1ee;border-radius:4px;padding:2px;gap:2px}.layer-tabs button{border:0;background:transparent;color:#8a988e;font-size:10px;min-height:23px;padding:3px 10px;border-radius:3px}.layer-tabs button.is-active{background:#fff;color:#528268;box-shadow:0 1px 3px #173b2510}.keyboard-scroll{padding:12px;background:#e7ece7;border:1px solid #d8e0d9;border-bottom:3px solid #ccd6ce;border-radius:8px;box-shadow:0 5px 11px #213c2905}.key-grid{max-width:960px;margin:0 auto;display:grid;gap:5px;user-select:none}.key-row{display:flex;gap:5px;min-width:0}.key{position:relative;flex:1 1 0;min-width:0;height:48px;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:3px 4px 5px;background:#fff;border:1px solid #cad5cd;border-bottom:3px solid #c4cfc7;border-radius:5px;box-shadow:0 2px 2px #37473408;color:#435f4c;cursor:pointer;transition:background .09s,transform .09s,border-color .09s}.key:after{content:"";position:absolute;height:2px;left:7px;right:7px;bottom:0;background:var(--finger-color,#dae3db);opacity:.75;border-radius:2px}.key strong{font-family:var(--tibetan);font-size:21px;line-height:1.3;font-weight:400;min-height:26px}.key small{font-size:9px;line-height:1;color:#8b9d90;position:absolute;top:5px;left:6px}.key strong+small{font-size:9px}.key.special{color:#87998c;background:#f1f4f1;align-items:flex-start;justify-content:flex-end;padding:8px;font-size:10px;cursor:default}.key.special:after{display:none}.key.special .lucide{width:15px;height:15px}.key.special.align-right{align-items:flex-end}.key.space-key{align-items:center;justify-content:center;background:#fdfefd}.key.space-key strong{font-size:19px;line-height:1}.key.space-key small{position:static;font-size:9px;margin-top:4px}.key.is-target{border-color:#72ae88;border-bottom-color:#40835b;background:#e7f4e9;color:#126237;box-shadow:0 0 0 1px #7db8913b}.key.is-target small{color:#619b72}.key.is-pressed{background:#207c55;border-color:#207c55;color:#fff;transform:translateY(2px)}.key.is-pressed small{color:#c1e6cf}.key.is-inspected{outline:2px solid #b9cddd;outline-offset:1px}.key.home-key:before{content:"";position:absolute;bottom:7px;left:calc(50% - 4px);width:8px;height:1px;background:#a8b7ab}.function-row .key{height:25px;justify-content:center;align-items:center;font-size:9px;border-bottom-width:2px}.function-row .key:after{display:none}.arrow-cluster{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:1fr 1fr;gap:3px;flex:3;min-width:0}.arrow-cluster .key{height:auto;min-height:0;padding:0;align-items:center;justify-content:center;font-size:9px}.arrow-cluster .key:first-child{grid-column:2}.arrow-cluster .key:nth-child(2){grid-column:1;grid-row:2}.arrow-cluster .key:nth-child(3){grid-column:2;grid-row:2}.arrow-cluster .key:nth-child(4){grid-column:3;grid-row:2}.arrow-cluster .lucide{width:11px;height:11px}.keyboard-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:13px}.finger-guide{display:flex;gap:17px;align-items:center;flex-wrap:wrap}.finger{display:flex;gap:5px;align-items:center;color:#899a8e;font-size:10px}.finger>span{width:6px;height:6px;border-radius:50%;background:var(--finger-color)}.finger.is-active{color:#436f50;font-weight:600}.keyboard-legend{display:flex;align-items:center;gap:5px;font-size:10px;color:#8c9e90;white-space:nowrap}.keyboard-legend>span{width:6px;height:6px;background:#93bd9e;border-radius:2px}.keyboard-legend>span.pressed-dot{background:#207c55;margin-left:9px}.layout-note{font-size:10px;color:#8b9d90;line-height:1.6;margin-top:10px;min-height:16px}.layout-note a{color:var(--jade);text-decoration:underline}.practice-summary{margin:23px 0 0;padding:22px 0 10px;border-top:1px solid var(--line);display:grid;grid-template-columns:1.15fr .95fr 1fr;gap:22px}.practice-summary>div,.practice-summary>button{display:flex;align-items:center;gap:10px;min-width:0}.practice-summary>button{border:0;background:none;text-align:left;padding:0}.summary-icon{display:grid;place-items:center;background:#eaf1ec;color:#6f957a;width:32px;height:34px;flex-shrink:0;border-radius:6px}.summary-icon .lucide{width:16px;height:16px}.summary-icon.amber{background:#f7f0e4;color:#b79a64}.summary-icon.blue{background:#e9eef5;color:#8098b4}.practice-summary small{display:block;font-size:9px;color:#9fa99f}.practice-summary strong{display:block;font-size:11px;font-weight:500;color:#768676;line-height:1.5;margin-top:4px}.practice-summary>button>.lucide{margin-left:auto;width:13px;color:#99a99b}.page-footer{border-top:1px solid var(--line);margin-top:26px;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:10px;color:#9aa79e;padding:17px 0 23px}.page-footer>span:first-child{display:flex;align-items:center;gap:7px;color:#899b8d;font-size:11px}.page-footer [lang=bo]{font-family:var(--tibetan);font-size:16px;line-height:1}.page-footer a{display:flex;align-items:center;gap:5px}.page-footer .lucide{width:12px;height:12px}.count-label{border:1px solid var(--line);border-radius:5px;padding:8px 12px;white-space:nowrap;color:#7a8f80;font-size:12px}.library-overview{display:flex;align-items:center;gap:26px;border-block:1px solid var(--line);padding:20px 0;margin:28px 0}.library-overview img{width:180px;height:118px;object-fit:cover;border-radius:6px}.library-overview h2{font-family:var(--tibetan);font-size:25px;line-height:2;font-weight:400;margin-top:5px}.library-overview p{font-size:13px;color:var(--muted);line-height:1.6}.library-total{margin-left:auto;text-align:center;padding:0 24px}.library-total strong{display:block;font-size:40px;font-weight:400;color:var(--jade)}.library-total span{font-size:11px;color:var(--muted);white-space:nowrap}.filter-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:23px}.filter-tabs button{background:transparent;border:1px solid transparent;border-radius:5px;font-size:12px;color:#8b978f;padding:8px 13px}.filter-tabs button.is-active{color:var(--jade);background:#e7f1e9;border-color:#dce9df}.curriculum-timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lesson-card{border:1px solid var(--line);background:#fff;border-radius:7px;text-align:left;padding:20px;position:relative;display:flex;flex-direction:column;min-height:217px;transition:border-color .2s,box-shadow .2s,transform .2s}.lesson-card:hover{border-color:#9abea6;box-shadow:0 6px 20px #18432c08;transform:translateY(-2px)}.lesson-card-top{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px;color:#8d9c90}.lesson-card-stage{display:flex;align-items:center;gap:7px}.lesson-card-stage i{width:6px;height:6px;background:#85ac94;border-radius:50%}.lesson-card h3{font-size:16px;font-weight:500;line-height:1.5;margin-top:12px;overflow-wrap:anywhere}.lesson-card p{color:#8d9991;font-size:12px;line-height:1.65;margin-top:5px}.lesson-card-sample{font-family:var(--tibetan);font-size:23px;line-height:1.8;color:#6c8d79;padding:12px 0;margin-top:auto;overflow-wrap:anywhere}.lesson-card-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf1ed;padding-top:12px;font-size:11px;color:var(--jade);margin-top:auto}.lesson-card-footer .lucide{width:14px;height:14px}.lesson-card-complete{display:flex;align-items:center;gap:5px;color:var(--jade)}.lesson-card-complete .lucide{width:13px;height:13px}.reading-filters{display:flex;gap:12px;margin:25px 0 17px}.search-field{position:relative;flex:1;min-width:0}.search-field>.lucide{position:absolute;top:13px;left:12px;width:15px;color:#9baa9f}.search-field input{width:100%;border:1px solid var(--line);background:#fff;border-radius:5px;padding:11px 12px 11px 36px;font-size:13px;color:var(--ink);min-height:42px}.reading-filters select{border:1px solid var(--line);border-radius:5px;padding:8px;background:#fff;font-size:12px;color:#7a8e81;max-width:155px}.library-status{font-size:12px;color:#8a9d8f;line-height:1.7;margin-bottom:17px}.passage-card .lesson-card-sample{font-size:22px;line-height:2;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;padding-bottom:0;margin-bottom:26px}.passage-card .lesson-card-stage{text-transform:capitalize}.progress-overview{display:flex;align-items:center;gap:30px;padding:28px 0;border-block:1px solid var(--line)}.course-progress{display:flex;align-items:center;gap:23px;flex:1}.mastery-ring{width:102px;height:102px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at center,var(--canvas) 62%,transparent 63%),conic-gradient(var(--jade) 0deg,#e2eae3 0deg)}.mastery-ring span{font-size:22px;font-weight:500;color:var(--jade)}.course-progress h2{font-size:21px;font-weight:500;margin:8px 0}.course-progress p{font-size:12px;line-height:1.6}.progress-stat{border-left:1px solid var(--line);padding-left:25px}.progress-stat small{color:var(--muted);font-size:11px}.progress-stat strong{display:block;font-size:28px;font-weight:500;margin-top:9px}.progress-stat strong span{font-size:11px;color:var(--muted)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:26px 0 18px}.section-title h2{font-size:17px;font-weight:500}.section-title>span{font-size:11px;color:var(--muted)}.weekly-chart{display:grid;grid-template-columns:repeat(7,1fr);height:152px;gap:15px;padding:10px 0 0;border-bottom:1px solid var(--line)}.chart-column{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:7px}.chart-column .bar{width:100%;max-width:65px;background:#d1e3d7;border-radius:3px 3px 0 0;min-height:2px}.chart-column.today .bar{background:#42946a}.chart-column small{color:#99a49c;font-size:10px;padding-bottom:10px}.chart-column>span{color:#86a090;font-size:11px}.history-list{display:flex;flex-direction:column}.history-item{display:grid;grid-template-columns:1fr auto auto;gap:30px;align-items:center;border-top:1px solid var(--line);padding:17px 0}.history-item strong{display:block;font-size:13px;font-weight:500}.history-item small{display:block;font-size:11px;color:#98a39b;margin-top:6px}.history-item .history-speed{font-size:18px;font-weight:500;text-align:right}.history-item .history-speed small{font-size:9px}.history-accuracy{font-size:12px;color:var(--jade);min-width:54px;text-align:right}.empty-state{text-align:center;padding:45px 25px;color:#9aa79c;background:#f0f4f0;border-radius:6px;grid-column:1/-1}.empty-state>.lucide{width:32px;height:32px;color:#7d9b87;margin-bottom:14px}.empty-state strong{display:block;font-size:16px;font-weight:500;color:#6c8674;margin-bottom:8px}.empty-state p{font-size:12px;line-height:1.7}.setup-intro,.setup-footnote{display:flex;align-items:flex-start;gap:14px;padding:18px 0;border-block:1px solid var(--line);color:#73887b;line-height:1.8;font-size:14px;margin-bottom:27px}.setup-intro .lucide,.setup-footnote .lucide{margin-top:4px;color:#7ea48a}.setup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.setup-grid article{border-right:1px solid var(--line);padding-right:24px}.setup-grid article:last-child{border:0;padding-right:0}.setup-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:8px;color:#619173;background:#e8f2eb;margin-bottom:17px}.setup-icon.blue{background:#e9eff5;color:#6d89a6}.setup-icon.amber{background:#f7f0e4;color:#aa885d}.setup-grid h2{font-size:19px;font-weight:500;line-height:1.5;margin:9px 0}.setup-grid p{font-size:13px;line-height:1.8;color:#87948b}.setup-grid ol{list-style:none;padding:0;margin:21px 0}.setup-grid li{display:flex;gap:10px;margin-bottom:16px;font-size:12px;line-height:1.8;color:#75877a}.setup-grid li>span{display:grid;place-items:center;flex-shrink:0;border:1px solid #dbe6dd;border-radius:50%;width:20px;height:20px;font-size:10px;margin-top:2px}.setup-footnote{border-bottom:0;font-size:12px;margin-top:31px}dialog{border:1px solid #e2e9e3;border-radius:8px;background:#fff;color:var(--ink);padding:28px;width:min(520px,calc(100% - 32px));box-shadow:0 25px 90px #1b39252e;max-height:90vh;overflow:auto}dialog::backdrop{background:#162c2355;backdrop-filter:blur(5px)}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:25px}.dialog-heading h2{font-size:23px;font-weight:500;margin-top:6px}.dialog-heading>.icon-button{margin:-9px -9px 0 0}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:24px}.settings-grid label{font-size:12px;color:#6f8375;display:grid;gap:8px}.settings-grid select,.form-field input{background:#f9fbf9;border:1px solid var(--line);border-radius:5px;width:100%;padding:10px 8px;font-size:13px;min-height:42px;color:var(--ink)}.toggles{margin:0 0 27px}.toggles label{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 0;border-top:1px solid #edf0ed;cursor:pointer}.toggles strong{font-size:13px;font-weight:500}.toggles small{display:block;color:#9aa59d;font-size:11px;margin-top:5px}.toggles input{appearance:none;width:33px;height:19px;border:0;min-width:33px;background:#dce4de;border-radius:20px;position:relative;cursor:pointer;transition:background .2s}.toggles input:checked{background:var(--jade)}.toggles input:before{content:"";position:absolute;width:13px;height:13px;border-radius:50%;left:3px;top:3px;background:#fff;box-shadow:0 1px 3px #12352622;transition:transform .2s}.toggles input:checked:before{transform:translate(14px)}.result-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;color:var(--jade);background:var(--jade-pale)}.result-icon .lucide{width:29px;height:29px}.result-dialog h2{font-size:24px;line-height:1.4;font-weight:500;margin:9px 0 22px}.result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;padding:20px 0;border-block:1px solid var(--line)}.result-grid strong{display:block;font-size:29px;font-weight:500;color:var(--jade)}.result-grid span{display:block;color:#91a097;font-size:11px;margin-top:4px}.error-report{margin:20px 0;font-size:12px;line-height:1.8;color:#839588}.error-report ul{display:flex;gap:10px;list-style:none;padding:0;flex-wrap:wrap}.error-report li{background:#fbf1ed;border-radius:4px;padding:7px 12px;color:#a86f59;font-family:var(--tibetan);font-size:17px}.result-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:25px}.confirm-dialog h2{font-size:21px;font-weight:500;margin-bottom:12px}.confirm-dialog p{font-size:14px;line-height:1.7;color:var(--muted)}.completion-toast{position:fixed;bottom:24px;left:calc(50% + var(--sidebar)/2);transform:translate(-50%,16px);max-width:calc(100% - 35px);width:max-content;background:#204b35;color:#fff;font-size:12px;line-height:1.6;box-shadow:0 6px 25px #12322020;padding:12px 18px;border-radius:6px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:90}.completion-toast.is-visible{opacity:1;transform:translate(-50%)}.upload-dialog{width:min(620px,calc(100% - 32px))}.form-field{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#6f8375;margin-bottom:19px}.optional{display:inline;color:#a1afa5}.upload-text-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#6f8375}.file-button{cursor:pointer}.file-button:focus-within{outline:2px solid var(--jade)}#passageText{width:100%;border:1px solid var(--line);border-radius:5px;background:#f9fbf9;padding:13px;font-family:var(--tibetan);font-size:22px;line-height:1.8;resize:vertical}.text-count{text-align:right;font-size:10px;color:#98a89d;margin:6px 0 15px}.rights-check{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.7;color:#839789;margin-bottom:17px}.rights-check input{accent-color:var(--jade);margin-top:4px}.form-error{color:#b0574d;font-size:12px;line-height:1.8}.connection-note{color:#8b7152;background:#fcf5e9;border-radius:5px;font-size:12px;line-height:1.7;padding:12px;margin-bottom:17px}.connection-note:empty{display:none}.focus-mode .sidebar,.focus-mode .topbar,.focus-mode .page-heading,.focus-mode .practice-summary,.focus-mode .page-footer{display:none}.focus-mode .main-shell{width:100%;margin-left:0}.focus-mode main{max-width:1120px;padding-top:24px}@keyframes appear{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1600px){main{padding-top:42px}.target-text{font-size:39px;min-height:140px}.key{height:56px}.keyboard{padding-top:29px}.page-heading{margin-bottom:31px}}@media(max-height:850px)and (min-width:981px){.sidebar{padding-top:24px}.brand{margin-bottom:27px}.sidebar-course{margin-top:23px}.culture-card img{height:78px}.sidebar-bottom{padding-top:8px}.culture-caption{padding:9px 12px}.local-profile{padding:15px 0}main{padding-top:25px}.page-heading{margin-bottom:17px}.page-heading h1{font-size:27px}.practice-navigation{margin-bottom:17px}.metrics{padding-block:16px}.target-text{padding-top:10px;padding-bottom:3px;min-height:87px;font-size:32px}.exercise-body{padding-top:15px}.keyboard{padding-top:17px}.key{height:43px}.key strong{font-size:19px;min-height:23px}.keyboard-options{margin:9px 0}.practice-summary{padding-top:16px;margin-top:18px}.page-footer{margin-top:20px}}@media(max-width:1200px){:root{--sidebar:208px}.sidebar{padding-inline:14px}.topbar{padding-inline:29px}main{padding:29px 28px 0}.brand{margin-left:9px}.sidebar-course{margin-inline:10px}.page-heading h1{font-size:26px}.mode-tabs{gap:20px}.metrics{padding-inline:20px}.metric{padding-left:17px}.metric small{font-size:9px}.metric strong{font-size:23px}.exercise-body{padding-inline:22px}.lesson-identity h2{font-size:16px}.lesson-pager select{max-width:102px}.key{height:44px}.key strong{font-size:18px;min-height:23px}.key.special{padding:6px;font-size:9px}.target-text{font-size:31px}.keyboard-tag{display:none}.setup-grid{gap:19px}.setup-grid article{padding-right:18px}.practice-summary{gap:14px}.finger-guide{gap:11px}}@media(max-width:980px){:root{--sidebar:180px}.sidebar{padding-inline:12px}.brand{gap:8px;margin-left:4px}.brand strong{font-size:20px}.brand-mark{width:36px;height:42px;font-size:26px}.sidebar-label,.sidebar-section-head{font-size:9px}.main-nav a{font-size:12px;padding-inline:10px;gap:8px}.nav-count{display:none}.sidebar-course{margin-inline:6px}.local-profile strong{font-size:10px}.local-profile>.lucide{display:none}.local-profile small{font-size:9px}.page-heading h1{font-size:23px}.page-heading>.outline-button{font-size:10px;padding:8px 10px}.page-heading>.outline-button>.lucide:last-child{display:none}.heading-caption{font-size:15px}.mode-tabs{gap:17px}.mode-tabs button{font-size:11px;gap:5px}.mode-tabs button .lucide{width:14px}.lesson-pager select{display:none}.metric>div{display:block}.metric small{display:block;margin-top:4px;font-size:9px}.metric strong{font-size:24px}.key strong{font-size:16px;min-height:20px}.key{height:42px}.key-grid,.key-row{gap:4px}.key small{font-size:7px;left:3px;top:3px}.key.special{font-size:7px;padding:5px}.keyboard-legend{display:none}.keyboard-toolbar{gap:8px}.layout-controls{gap:6px}.layout-controls select{max-width:185px;font-size:10px}.next-key{gap:7px}.hint-caption{display:none}.streak-status>span:last-child{display:none}.exercise-footer{padding-inline:16px}.input-help{flex-wrap:wrap}.input-help a{margin-left:17px}.target-text{font-size:28px}.practice-summary{grid-template-columns:1fr 1fr}.practice-summary>div:first-child{display:none}.page-footer>span:nth-child(2){display:none}.progress-overview{flex-wrap:wrap;gap:25px}.course-progress{flex-basis:100%}.progress-stat{border:0;padding-left:0;min-width:100px}.setup-grid{grid-template-columns:1fr;gap:22px}.setup-grid article{border:0;border-bottom:1px solid var(--line);padding:0 0 25px}.setup-grid li{font-size:13px}.library-overview{gap:18px}.library-overview img{width:130px;height:120px}.library-total{display:none}.curriculum-timeline{grid-template-columns:1fr}.library-overview h2{font-size:22px}.library-overview p{font-size:11px}.page-heading h1{overflow-wrap:anywhere}.keyboard-scroll{padding:9px}.reading-filters{flex-wrap:wrap}.search-field{flex-basis:100%}}@media(max-width:700px){:root{--sidebar:0px}.sidebar{transform:translate(-100%);width:238px;transition:transform .2s;box-shadow:8px 0 30px #1d432712;padding:24px 20px 0}.sidebar.is-open{transform:translate(0)}.brand strong{font-size:22px}.sidebar-label,.sidebar-section-head{font-size:10px}.main-nav a{font-size:14px}.sidebar-course{margin-top:28px}.sidebar .culture-card{display:none}.main-shell{width:100%;margin:0}.topbar{height:56px;padding:0 18px}.mobile-menu{display:flex;margin-left:-6px}.breadcrumb{gap:7px;font-size:10px}.breadcrumb strong{font-size:10px}.topbar-right{gap:5px}.device-status{display:none}main{padding:26px 18px 0}.page-heading{gap:10px;margin-bottom:21px}.page-heading h1{font-size:24px}.page-heading .eyebrow{font-size:9px}.page-heading>.outline-button{padding:7px 9px;min-height:34px}.page-heading>.outline-button span{display:none}.page-heading>.outline-button>.lucide:first-child{width:18px;height:18px}.heading-caption{font-size:15px;line-height:2}.mode-tabs{gap:22px;flex:1;justify-content:space-between}.mode-tabs button{font-size:11px;gap:5px;padding-bottom:13px}.mode-tabs button .lucide{width:14px;height:14px}.settings-link{display:none}.practice-navigation{margin-bottom:20px}.lesson-identity h2{font-size:15px}.lesson-number{width:34px;height:38px;font-size:12px}.lesson-kicker{font-size:9px}.lesson-pager{gap:0}.lesson-pager .icon-button{width:25px}.metrics{padding:16px 13px;grid-template-columns:1fr 1fr 1.18fr .9fr}.metric{padding-left:13px}.metric-label{font-size:9px;gap:4px}.metric-label .lucide{width:11px;height:11px}.metric strong{font-size:22px}.metric small{font-size:8px}.metric>div{margin-top:6px}.exercise-body{padding:17px 17px 14px}.target-text{font-size:29px;line-height:2.2;padding:18px 0 6px;min-height:150px;max-height:270px}.exercise-meta{font-size:9px}.input-wrap{margin-top:8px}.input-wrap textarea{font-size:23px;min-height:58px}.input-help{font-size:10px}.input-help a{margin-left:0}.input-help>.lucide{display:none}.exercise-footer{padding:10px 10px 10px 15px;gap:4px}.next-key{gap:6px}.next-label{font-size:8px}.hint-letter{font-size:19px;margin-right:0}.next-key #currentHint{gap:3px}kbd{font-size:10px;min-width:20px;padding:0 4px;height:23px}.exercise-actions{gap:0}.exercise-actions .icon-button{width:27px;height:30px}.exercise-actions .icon-button .lucide{width:15px;height:15px}.streak-status,.action-divider{display:none}.keyboard{padding-top:22px}.keyboard-toolbar{flex-wrap:wrap;gap:9px}.keyboard-title h2{font-size:12px}.layout-controls{margin-left:auto}.layout-controls label{display:none}.layout-controls select{max-width:183px;font-size:10px;min-height:32px;padding-right:13px}.keyboard-options{font-size:9px;margin-top:10px}.keyboard-scroll{padding:6px}.key-grid,.key-row{gap:3px}.key{height:39px;padding:5px 1px 3px;border-radius:3px;border-bottom-width:2px}.key strong{font-size:14px;min-height:20px;margin-top:4px}.key small{font-size:6px;top:2px;left:3px}.key:after{left:3px;right:3px}.key.special{padding:4px 2px;font-size:6px;overflow:hidden;align-items:center}.key.special .lucide{width:11px}.key.space-key small{font-size:7px}.key.space-key strong{font-size:17px}.function-row .key{height:21px;font-size:7px}.keyboard-bottom{margin-top:12px}.finger-guide{gap:13px}.finger{font-size:8px}.layout-note{font-size:10px;line-height:1.7;margin-top:11px}.practice-summary{padding-top:18px;margin-top:21px}.practice-summary strong{font-size:10px}.practice-summary small{font-size:8px}.summary-icon{width:29px;height:31px}.page-footer{margin-top:24px;padding-bottom:18px}.page-footer>span:first-child,.page-footer a{font-size:9px}.library-overview{margin-top:21px;gap:15px}.library-overview img{width:110px;height:125px}.library-overview h2{font-size:22px}.library-overview .eyebrow{font-size:9px}.filter-tabs{gap:3px}.filter-tabs button{padding:7px 9px;font-size:11px}.lesson-card{padding:18px;min-height:205px}.count-label{display:none}.page-heading .muted{font-size:13px}.progress-overview{padding:24px 0}.mastery-ring{width:86px;height:86px}.course-progress{gap:17px}.course-progress h2{font-size:19px}.course-progress .eyebrow{font-size:9px}.course-progress p{font-size:11px}.history-item{gap:16px}.history-item strong{font-size:12px}.history-item small{font-size:10px}.history-item .history-speed{font-size:16px}.history-accuracy{font-size:11px}.completion-toast{left:50%;font-size:11px}dialog{padding:23px}.settings-grid{grid-template-columns:1fr}.result-dialog h2{font-size:22px}.focus-mode main{padding-inline:18px}.focus-mode .practice-navigation{margin-top:6px}.editor-footer{align-items:flex-start;flex-direction:column}.page-heading>.primary-button{font-size:11px;padding:9px;flex-shrink:0}.page-heading>.primary-button .lucide{width:14px}}@media(max-width:370px){main{padding-inline:12px}.page-heading h1{font-size:22px}.mode-tabs{gap:10px}.mode-tabs button{font-size:10px}.mode-tabs button .lucide{width:12px}.metric{padding-left:9px}.key{height:36px}.key strong{font-size:12px}.key small{font-size:6px}.layout-controls select{max-width:174px}.layout-controls .icon-button{display:none}.keyboard-title{gap:6px}.keyboard-title>.lucide{width:15px}.exercise-footer{padding-left:11px}.next-label{display:none}}.target-text{color:#82968a}.metric-label,.exercise-meta,.input-help,.keyboard-options,.layout-note{color:#76897c}.metric small{color:#84958a}.key small{color:#718678}.page-footer{color:#83968a}.form-field .optional{font-size:11px}.practice-view .page-heading .eyebrow{display:none}@media(min-width:981px){.practice-view .page-heading{margin-bottom:23px}.practice-view .page-heading>div{display:flex;align-items:baseline;gap:19px}.practice-view .page-heading h1{font-size:25px;margin:0}.practice-view .heading-caption{font-size:15px;line-height:1.7;margin:0}.practice-view .page-heading>.outline-button{margin:0}.practice-view .exercise-body{padding-block:15px}.practice-view .target-text{max-height:148px;font-size:32px;line-height:2;padding-block:9px}.practice-view .keyboard-scroll{padding:10px}.practice-view .key{height:43px}.practice-view .function-row .key{height:24px}.practice-view .metrics{padding-block:17px}}@media(min-width:981px)and (max-height:900px){.topbar{height:56px}main{padding-top:21px}.practice-view .page-heading{margin-bottom:16px}.practice-view .heading-caption{display:none}.practice-view .practice-navigation{margin-bottom:15px}.practice-view .lesson-toolbar{margin-bottom:14px}.practice-view .exercise-body{padding-top:12px;padding-bottom:10px}.practice-view .target-text{min-height:66px;max-height:112px;font-size:30px;line-height:1.9;padding-block:4px}.practice-view .input-wrap{margin-top:7px}.practice-view .input-wrap textarea{min-height:47px;font-size:21px;padding-block:5px}.practice-view .input-help{margin-top:6px}.practice-view .exercise-footer{min-height:48px;padding-block:7px}.practice-view .keyboard{padding-top:15px}.practice-view .key{height:39px}.practice-view .function-row .key{height:22px}.practice-view .key strong{font-size:18px}.practice-view .keyboard-bottom{margin-top:10px}.practice-view .layout-note{margin-top:7px}}:root{color-scheme:dark;--ink:#fff5f8;--muted:#c9abb7;--paper:#351924;--canvas:#241019;--line:#55303f;--jade:#efa5b9;--jade-dark:#963654;--jade-pale:#4d2335;--turquoise:#efa5b9}body{background:var(--canvas);color:var(--ink)}.sidebar{background:#2c121e;border-right-color:#573041}.brand-mark{background:#9d3858;color:#fff;box-shadow:0 3px 14px #0e040b30}.brand small{color:#d9aabb}.sidebar-label,.sidebar-section-head{color:#b68c9d}.main-nav a{color:#dec6d1}.main-nav a:hover{background:#3d1c2d;color:#fff}.main-nav a.is-active{color:#fff4f7;background:#69283f}.main-nav a.is-active .lucide{color:#f0a6bd}.nav-dot{background:#ffc3d5}.nav-count{color:#c69cad}.course-step{color:#c0a0ae}.step-dot{border-color:#795165;background:#2c121e;color:#ccabb9}.course-step:before{background:#624051}.course-step.is-current{color:#fff}.course-step.is-current .step-dot{border-color:#e08aa5;background:#361c29}.course-step.is-complete .step-dot{color:#f4bdcf;background:#5b2b40;border-color:#774158}.step-end{color:#ac8496}.culture-card{border-color:#664151;background:#371c2a}.culture-card img{filter:brightness(.88) saturate(.9)}.culture-caption strong{color:#f4dbe5}.culture-caption span,.culture-caption .lucide{color:#cba8b9}.profile-icon{background:#55243a;color:#efb2c7}.local-profile small{color:#b58e9f}.local-profile>.lucide{color:#b9889f}.topbar{background:#2a111b;border-bottom-color:#4f2a3a}.breadcrumb{color:#b88d9f}.breadcrumb strong{color:#f0d7e2}.breadcrumb>.lucide{color:#8d5c73}.device-status{color:#c2a1ae}.device-status>span{background:#a6c4ad}.icon-button{color:#d5b5c4}.icon-button:hover{background:#5b2a40;color:#fff}.outline-button{color:#f3dce6;background:#3b1d2b;border-color:#704356;box-shadow:0 2px 3px #10040b14}.outline-button:hover{background:#52263b;border-color:#bc7d98}.primary-button{background:#a43b5c;border-color:#c26887;color:#fff}.primary-button:hover{background:#b7486b}.danger-button{background:#a7394e;border-color:#c2576c}.text-button{color:#f1b8cc}.eyebrow{color:#e6a4bb}.tiny-line{background:#dc8aa8}.heading-caption{color:#c7a0b2}.heading-dot{color:#ed98b7}.settings-link{color:#d1adbd}.practice-navigation{border-color:#643448}.mode-tabs button{color:#c4a4b3}.mode-tabs button.is-active{color:#fff;border-bottom-color:#efacc6}.mode-tabs button.is-active .lucide{color:#efacc6}.lesson-number{background:#482032;border-color:#6e3b50;color:#f4bfd1}.lesson-kicker{color:#b793a4}.lesson-kicker>#lessonLevel{color:#eca7c0}.lesson-pager select{color:#dfc1cf;background:transparent}.lesson-pager select option{color:#fff;background:#3d1d2c}.training-surface{background:#351924;border-color:#693448;box-shadow:0 8px 30px #10050b25}.metrics{background:#381a28;border-bottom-color:#5b2b3e}.metric{border-left-color:#63364a}.metric-label,.exercise-meta{color:#c7a3b5}.metric-label .lucide{color:#d094ad}.metric strong{color:#fff7fb}.metric small{color:#bc92a5}#accuracyMetric{color:#b1d7be}.ready-status>span{background:#b88a9e}.ready-status.is-running{color:#bfdcc9}.ready-status.is-running>span{background:#94c9a7}.target-text{color:#f5e6ed}.target-text .current{color:#fff;background:#873651;box-shadow:0 2px #ffb5cd}.target-text .correct{color:#a2d3b1}.target-text .wrong{color:#ffbec5;background:#6a273b}.target-text.count-only .wrong{color:#f5e6ed;background:none}.input-wrap{background:#26111c;border-color:#603246}.input-wrap:focus-within{border-color:#da8faa;box-shadow:0 0 0 3px #ba577328}.input-wrap textarea{color:#fff4f8}.input-wrap textarea::placeholder{color:#b48c9f}.input-indicator{color:#b98ba1}.input-help{color:#c9a6b7}.input-help a{color:#f0bad0}.input-help.is-warning{color:#f0c394}.run-progress{background:#4a2234}.run-progress span{background:#eba5bf}.exercise-footer{background:#30131f}.next-label{color:#b98b9f}.next-key #currentHint{color:#dfb5c7}.hint-letter{color:#ffe0ec}.hint-caption{color:#c19baa}kbd{background:#4c2336;color:#fff5fa;border-color:#875168;border-bottom-color:#190911}.streak-status{color:#cfacb9}.streak-status .lucide{color:#ddb07f}.action-divider{background:#683c50}.pause-overlay{background:#301622ed}.pause-overlay>.lucide{color:#ecadc6}.keyboard-title h2{color:#f5e0e9}.keyboard-title>.lucide{color:#d8a3ba}.keyboard-tag{background:#472435;color:#d2a6ba}.layout-controls label{color:#c8a0b2}.layout-controls select{background:#371926;border-color:#754158;color:#fff3f8}.keyboard-options{color:#c09cad}.layer-tabs{background:#311520;border:1px solid #5b3043}.layer-tabs button{color:#c6a2b3}.layer-tabs button.is-active{background:#6a3049;color:#fff4f9;box-shadow:0 1px 4px #13030a44}.keyboard-scroll{background:#29111d;border-color:#704157;border-bottom-color:#130710;box-shadow:0 7px 18px #10040b30,inset 0 1px #86546725}.key{background:#4a2638;border-color:#7b4e64;border-bottom-color:#1b0b14;color:#fff5fa;box-shadow:0 2px 2px #0b020833,inset 0 1px #a1718920}.key:hover{background:#593047}.key small{color:#d6b6c6}.key:after{opacity:.85}.key.special{background:#3e2030;color:#dec4d1;border-color:#70485d;border-bottom-color:#1b0b14}.key.special:hover{background:#4a283b}.key.space-key{background:#4a2638}.key.is-target{background:#8c3657;border-color:#f0a9c7;border-bottom-color:#522138;color:#fff;box-shadow:0 0 0 1px #e5a1bc55,0 3px 9px #11060c30}.key.is-target small{color:#ffd1e3}.key.is-pressed{background:#d391aa;border-color:#ffe0ed;border-bottom-color:#a55c7c;color:#28101c}.key.is-pressed small{color:#43192e}.key.is-inspected{outline-color:#ecb3cb}.key.home-key:before{background:#d3acbd}.finger{color:#cfadbd}.finger.is-active{color:#fff1f7}.keyboard-legend{color:#c39aac}.keyboard-legend>span{background:#da8cab}.keyboard-legend>span.pressed-dot{background:#f4cadd}.layout-note{color:#c5a0b2}.layout-note a{color:#ffd0e2}.summary-icon{background:#4c2837;color:#d7a1b7}.summary-icon.amber{background:#493429;color:#d6b18a}.summary-icon.blue{background:#293141;color:#a9bdd8}.practice-summary small{color:#bc91a4}.practice-summary strong{color:#e8cbd7}.practice-summary>button>.lucide{color:#d2a8bc}.page-footer{color:#b78c9f}.page-footer>span:first-child{color:#d2a2b8}.count-label{color:#e5bbce;border-color:#784158}.library-overview p{color:#cbacba}.library-total strong{color:#f2b2cc}.filter-tabs button{color:#d4aebf}.filter-tabs button.is-active{background:#6c2a43;border-color:#91506a;color:#fff4fa}.lesson-card{background:#361824;border-color:#673448}.lesson-card:hover{background:#401d2c;border-color:#c585a0;box-shadow:0 8px 25px #0e030a30}.lesson-card-top{color:#c397ac}.lesson-card-stage i{background:#db92af}.lesson-card p{color:#cba8b8}.lesson-card-sample{color:#f0d4e1}.lesson-card-footer{border-color:#623447;color:#f0b9d0}.lesson-card-complete{color:#b7d2bd}.search-field>.lucide{color:#c292a8}.search-field input,.reading-filters select{background:#341622;border-color:#754054;color:#f8eaf0}.search-field input::placeholder{color:#bd93a6}.library-status{color:#c7a4b4}.progress-stat small,.course-progress p{color:#c7a8b6}.section-title>span{color:#c49ead}.chart-column .bar{background:#85465e}.chart-column.today .bar{background:#e39cb6}.chart-column>span,.chart-column small{color:#d7acbf}.history-item small{color:#c095a8}.history-accuracy{color:#b2d5bc}.empty-state{background:#341722;color:#c8a5b6}.empty-state>.lucide,.empty-state strong{color:#e9b9ce}.setup-intro,.setup-footnote{color:#ddc2cd}.setup-intro .lucide,.setup-footnote .lucide{color:#e7a8c2}.setup-icon{background:#57263a;color:#edb0c9}.setup-icon.blue{background:#303749;color:#bbcae3}.setup-icon.amber{background:#4f352f;color:#e6bd99}.setup-grid p,.setup-grid li{color:#ddbdcc}.setup-grid li>span{border-color:#956278;color:#f1c2d7}dialog{background:#311420;color:#fff4f8;border-color:#91546d;box-shadow:0 25px 90px #0b010b88}dialog::backdrop{background:#10050be0;backdrop-filter:blur(6px)}.settings-grid label,.form-field,.upload-text-label{color:#eccad9}.settings-grid select,.form-field input,#passageText{background:#24101a;color:#fff0f7;border-color:#774158}.form-field input::placeholder,#passageText::placeholder{color:#b58a9f}.toggles label{border-color:#5d3043}.toggles small{color:#cda1b6}.toggles input{background:#684252}.toggles input:checked{background:#c7668b}.toggles input:before{background:#fff2f8}.result-icon{background:#68263f;color:#ffe0ec}.result-grid strong{color:#f4bfd5}.result-grid span{color:#c9a3b5}.error-report{color:#dbc0cd}.error-report li{background:#6b293d;color:#ffd0d7}.confirm-dialog p{color:#d8b7c7}.completion-toast{background:#812e4c;border:1px solid #c17393;color:#fff;box-shadow:0 7px 30px #0b010b70}.connection-note{color:#e6c5a6;background:#463029;border:1px solid #755044}.rights-check{color:#d4acbe}.text-count,.optional{color:#c09aac}.form-error{color:#ffb5c4}.page-view{animation:none}body{font-family:"DM Sans",var(--tibetan),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.practice-view .arrow-cluster .key{height:auto}.custom-editor{background:#3e1b2b;border-left-color:#d68eaa}.custom-editor textarea{background:#24101a;border-color:#754054;color:#fff1f7}.custom-editor p{color:#d1a9bc}@media(min-width:981px){.practice-view .target-text{min-height:80px}}@media(max-width:700px){.sidebar{box-shadow:10px 0 40px #0e030d70}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.combination-coach{display:grid;grid-template-columns:minmax(76px,auto) minmax(0,1fr);gap:20px;align-items:center;padding:19px 0;border-bottom:1px solid var(--line)}.coach-glyph{font-family:var(--tibetan);font-size:30px;line-height:2;color:#fff5f8;min-width:76px;max-width:210px;overflow-wrap:anywhere;text-align:center}.coach-content{min-width:0}.coach-heading{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.coach-heading strong{font-size:14px;font-weight:600}.coach-heading>span{font-size:12px;color:var(--muted);white-space:nowrap}.coach-steps{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:10px 0}.coach-steps li{display:flex;gap:4px;align-items:center;min-height:35px;padding:3px 5px 3px 0;border-bottom:2px solid transparent}.coach-steps li.is-current{border-color:#ffc0d5}.coach-steps li.is-current kbd{background:#934361;color:#fff;border-color:#d98da9}.coach-steps li.is-done kbd{color:#b6d9c4;border-color:#6c9782}.step-number{font-size:11px;color:#b897a6;min-width:15px;text-align:center}.is-done .step-number{color:#b6d9c4}.chord-plus{color:#cbacba;font-size:12px}.coach-content p{font-size:13px;line-height:1.7;color:#d5b6c5}.coach-finger{display:block;font-size:12px;line-height:1.7;color:#f0bfd1;margin-top:3px}.alphabet-reference{border-block:1px solid var(--line);margin-top:20px;padding:15px 0}.alphabet-reference summary{cursor:pointer;font-size:14px;line-height:1.7;color:#efc6d7}.alphabet-reference summary:focus-visible{outline:2px solid #efa5b9;outline-offset:5px}.alphabet-combinations{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0 18px;margin-top:14px}.alphabet-combination{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:66px;background:none;border:0;border-bottom:1px solid var(--line);padding:7px 3px;text-align:left}.alphabet-combination:hover{background:#4d2335}.alphabet-combination>[lang=bo]{font-family:var(--tibetan);font-size:25px;line-height:1.9;flex-shrink:0}.alphabet-combination>span:last-child{display:flex;gap:3px;align-items:center;flex-wrap:wrap}.alphabet-combination kbd{min-width:20px;padding-inline:4px;font-size:11px}.lesson-identity>div{min-width:0}.lesson-identity h2,.history-item strong{overflow-wrap:anywhere;line-height:1.8}.lesson-card h3{line-height:1.9}.form-field input{line-height:1.8}.skip-link:focus{background:#632c43;color:#fff}.keyboard-scroll{overflow-x:auto}.key-row{flex:none}.keyboard-options{flex-wrap:wrap;gap:9px}.layer-tabs{flex-wrap:wrap}.key.special[data-code=AltRight]{white-space:nowrap}select:not(#lessonSelect){font-family:DM Sans,Tibetan UI,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.4}.lesson-pager select{min-height:40px}.coach-heading{line-height:1.5}.practice-workbench{min-width:0}@media(min-width:981px){.practice-workbench{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:22px;align-items:stretch}.practice-workbench:has(#combinationCoach[hidden]){grid-template-columns:1fr}.combination-coach{display:flex;flex-direction:column;gap:6px;align-items:stretch;justify-content:center;border-bottom:0;border-left:1px solid var(--line);padding:8px 0 8px 20px}.coach-glyph{text-align:left;font-size:32px;line-height:1.8;min-height:58px;max-width:100%}.coach-heading{flex-wrap:wrap;gap:4px}.coach-steps{margin-block:8px}.coach-content p{font-size:12px}.coach-finger{margin-top:6px}.practice-workbench .metrics{padding:13px 18px}.practice-workbench .metric{padding-left:15px}.practice-workbench .metric:first-child{padding-left:0}.practice-workbench .metric>div{display:block}.practice-workbench .metric small{display:block;margin-top:3px}.practice-workbench .metric strong{font-size:24px}.practice-workbench .input-help{flex-wrap:wrap}.practice-workbench .input-help a{margin-left:0}.practice-workbench .exercise-body{padding-inline:20px}.practice-workbench .target-text{min-height:65px}.practice-workbench .exercise-footer{padding-inline:18px}.practice-workbench .streak-status>span:last-child{display:none}}@media(min-width:1100px)and (max-height:950px){.topbar{height:48px}main{padding-top:18px}.practice-view .page-heading{margin-bottom:12px}.practice-view .page-heading h1{font-size:24px}.practice-view .practice-navigation{margin-bottom:12px}.practice-view .mode-tabs button{padding-bottom:10px}.practice-view .lesson-toolbar{margin-bottom:12px}.practice-workbench .metric>div{display:flex;flex-wrap:wrap;gap:5px}.practice-workbench .metric small{margin:0}.practice-view .key{height:38px}.practice-view .function-row .key{height:22px}.practice-view .keyboard{padding-top:16px}}@media(min-width:1100px)and (max-height:950px){.practice-view .target-text{min-height:60px}.practice-view .keyboard-options{margin-block:6px}.practice-view .key{height:36px}.practice-view .function-row .key{height:20px}.practice-view .key strong{font-size:18px}.practice-view .keyboard-scroll{padding-block:7px}}@media(max-width:1100px){.alphabet-combinations{grid-template-columns:repeat(3,minmax(0,1fr))}}.navigation-toggle{display:flex;flex-shrink:0}.sidebar-collapsed .completion-toast{left:50%}.coach-instruction{display:block;font-size:14px;line-height:1.6;color:#fff4f8;margin:7px 0}.coach-content p{margin:5px 0}.coach-finger{color:#bddac7}.mistake-feedback{display:flex;align-items:center;gap:9px;color:#ffd2d7;font-size:12px;line-height:1.6;padding-top:6px;min-height:32px}.mistake-feedback>.lucide{width:17px;flex-shrink:0}.mistake-feedback b{font-family:var(--tibetan);font-size:19px;line-height:1.8;padding-inline:5px;font-weight:400;color:#fff4f8}.mistake-feedback small{font-size:11px;margin-left:9px;color:#eeb4bf}.input-wrap:has([aria-invalid=true]){border-color:#ff899c}.is-correction .coach-instruction{color:#ffc0ca}.key.is-target.is-correction{background:#862f42;border-color:#ffa8b7}.keyboard-device{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.keyboard-device select{background:#351924;color:#edc6d6;border:1px solid #704157;border-radius:4px;padding:4px 7px;font-size:11px;min-height:28px}.keyboard-device select:disabled{opacity:.85}.keyboard-layer-status{font-size:11px;line-height:1.5;color:#edbed0;min-height:21px;margin-bottom:3px}.key-grid[data-hardware=windows] .key.special{gap:2px}.key-grid[data-hardware=windows] .key.special>span{font-size:10px;line-height:1.2}.key-grid[data-hardware=windows] .key.special>.lucide{width:14px;height:14px}.key-grid[data-hardware=windows] .key.special[data-code=Backspace],.key-grid[data-hardware=windows] .key.special[data-code=Enter]{flex-direction:row;align-items:center;justify-content:flex-end;gap:5px}@media(min-width:701px){.sidebar-collapsed .sidebar{display:none}.sidebar-collapsed .main-shell{width:100%;margin-left:0}.sidebar-collapsed main{max-width:1216px}.focus-mode main{max-width:1216px;padding-inline:40px}.navigation-toggle{margin-left:-7px}.keyboard-scroll{border-radius:8px}.key-grid{min-width:650px}}@media(min-width:701px)and (max-width:980px){.sidebar-collapsed main{padding-inline:30px}.coach-glyph{max-width:150px}.key strong{font-size:21px}.key small{font-size:10px}.key{height:48px}.function-row .key{height:24px}.keyboard-options{align-items:flex-start}.keyboard-device>span{font-size:12px}.keyboard-tag{display:none}.keyboard-toolbar{flex-wrap:wrap}.layout-controls{margin-left:auto}}.focus-mode .practice-navigation{display:none}.main-shell{margin-left:0;width:100%}.practice-workbench{display:block}.focus-mode .topbar{display:flex;max-width:1080px;margin-inline:auto;padding-inline:20px;background:transparent;border:0;height:56px}.focus-mode main{max-width:1080px;padding:8px 20px 24px}.focus-mode .keyboard-toolbar{display:none}.focus-mode .keyboard{padding-top:18px}.focus-mode .keyboard-scroll{padding:10px}.focus-mode .key-grid{max-width:none}.focus-mode .training-surface,.focus-mode .keyboard-scroll{border-radius:8px}.focus-mode .completion-toast{left:50%}.navigation-toggle{width:40px;height:40px;margin-left:0}.navigation-toggle .lucide{width:22px;height:22px}.practice-menu:not([open]){display:none}.practice-menu[open]{display:block;position:fixed;inset:0 auto 0 0;margin:0;width:380px;max-width:calc(100vw - 24px);height:100dvh;max-height:100dvh;border:0;border-right:1px solid #704157;border-radius:0;padding:20px 24px 28px;background:#2c121e;color:var(--ink);transform:none;overflow-y:auto;overscroll-behavior:contain;box-shadow:12px 0 40px #10040b55}.practice-menu::backdrop{background:#1609128c}.practice-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:18px}.practice-menu-heading h2{font-size:19px;line-height:1.4}.practice-menu .main-nav{gap:3px}.practice-menu .main-nav a{font-size:13px;min-height:40px;padding:8px 10px}.practice-menu .nav-count{display:block}.practice-menu .combination-coach{display:block;border:0;border-block:1px solid var(--line);margin-top:20px;padding:14px 0 18px}.practice-menu .coach-glyph{font-size:29px;min-width:0;max-width:none;min-height:0;line-height:1.9;text-align:left;margin-bottom:4px}.practice-menu .coach-heading{flex-wrap:nowrap;gap:10px}.practice-menu .coach-steps{margin-block:8px}.practice-menu .coach-content p,.practice-menu .coach-finger{font-size:12px}.menu-section{padding-top:20px}.menu-section>h3{font-size:13px;margin-bottom:12px;color:#efd0dd}.practice-menu .practice-navigation{display:block;margin-bottom:14px;border:0}.practice-menu .mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;border-bottom:1px solid var(--line)}.practice-menu .mode-tabs button{font-size:12px;padding:9px 0;justify-content:flex-start;gap:8px}.practice-menu .mode-tabs button .lucide{display:block;width:16px;height:16px}.practice-menu .settings-link{display:none}.practice-menu .lesson-toolbar{display:block;margin-bottom:0}.practice-menu .lesson-identity{gap:10px}.practice-menu .lesson-number{width:34px;height:38px;flex-shrink:0}.practice-menu .lesson-kicker{font-size:10px}.practice-menu .lesson-identity h2{font-size:13px;line-height:1.65}.practice-menu .lesson-pager{display:flex;justify-content:space-between;margin-top:10px;gap:8px}.practice-menu .lesson-pager select{display:block;min-width:0;max-width:none;width:100%;font-size:12px;flex:1}.practice-menu .custom-editor{padding:12px 0;border:0}.practice-menu .editor-footer{flex-direction:column;align-items:flex-start;gap:7px}.practice-menu .custom-editor textarea{width:100%;font-size:21px}.practice-menu-heading{position:sticky;top:-20px;z-index:2;margin-top:-20px;padding-top:20px;background:#2c121e}.session-launcher{display:grid;grid-template-columns:minmax(0,1fr) 155px auto;align-items:end;gap:14px;padding:0 0 18px}.session-launcher label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#cfadbd;min-width:0}.session-launcher select{width:100%;min-width:0;min-height:43px;background:#351924;border:1px solid #754158;border-radius:5px;color:#fff3f8;padding:8px 10px;font-size:13px}.session-launcher .primary-button{min-width:134px}.session-launcher select:disabled{opacity:.8}.menu-start{margin-top:16px}.start-gate{display:flex;align-items:center;gap:10px;min-height:62px;margin-top:7px;border:1px solid #ba7792;border-radius:6px;background:#4a2033;padding:5px 8px}.space-start-button{display:flex;flex:1;align-items:center;justify-content:center;gap:16px;border:0;background:transparent;min-height:50px;color:#fff5f8;font-size:15px;font-weight:600}.space-start-button kbd{min-width:80px;height:33px;font-size:12px;font-weight:400}.space-start-button:hover{background:#632c43}.start-gate .icon-button{color:#edc6d6}.result-grid>div:last-child:nth-child(odd){grid-column:1/-1}.input-wrap:has(textarea:disabled){opacity:.65}@media(max-width:800px){.session-launcher{grid-template-columns:minmax(0,1fr) 130px;gap:10px}.session-launcher .launch-lesson{grid-column:1/-1}.session-launcher .primary-button{min-width:0}.session-launcher select{font-size:12px}.space-start-button{font-size:13px;gap:9px}}.metric strong,.result-grid strong{font-variant-numeric:tabular-nums}.space-start-button:focus-visible{outline-color:#efa5b9}.keyboard>.keyboard-options{gap:8px 16px;margin:6px 0 10px}.keyboard>.keyboard-options .layer-tabs button{min-height:32px;font-size:12px;padding:5px 12px}.keyboard>.keyboard-options .keyboard-device{font-size:12px}.keyboard>.keyboard-options .keyboard-device select{min-height:32px;font-size:12px}.next-key #currentHint{min-width:0;max-width:min(680px,72vw);overflow-x:auto;scrollbar-width:thin}.hint-sequence{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.hint-sequence>i{font-style:normal;color:#9f7488}.hint-step{display:inline-flex;align-items:center;gap:3px;opacity:.62}.hint-step.is-current{opacity:1}.hint-step.is-current kbd{border-color:#e9a3c0;background:#6a3049;color:#fff}.hint-step.is-done{opacity:.38}.hint-step.is-done kbd{text-decoration:line-through}.keyboard-quick-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin-bottom:8px}.keyboard-quick-controls .keyboard-layer-status{min-height:0;margin:0}.keyboard-quick-layout{display:flex;align-items:center;gap:9px;margin-left:auto;max-width:100%}.keyboard-quick-layout label{font-size:12px;color:#edbed0}.keyboard-quick-layout select{min-width:0;max-width:100%;min-height:34px;padding:6px 9px;border:1px solid #754158;border-radius:5px;background:#351924;color:#fff5f8;font-size:12px;cursor:pointer}.keyboard-quick-layout select:hover{border-color:#c788a2}.keyboard-quick-layout select:focus-visible{outline-color:#efa5b9}.practice-menu .layout-controls{display:flex;flex-wrap:wrap;gap:8px;margin-left:0}.practice-menu .layout-controls label{display:none}.practice-menu .layout-controls select{max-width:none;min-width:0;flex:1;font-size:12px;min-height:36px}.practice-menu .keyboard-options{display:block;margin-block:12px}.practice-menu .keyboard-device{gap:8px;margin-bottom:12px;font-size:12px}.practice-menu .layer-tabs{display:flex;flex-wrap:wrap;gap:3px}.practice-menu .layer-tabs button{font-size:11px;min-height:34px}.practice-menu .layout-note{font-size:12px;line-height:1.7}.practice-menu .alphabet-reference{margin-top:18px}.practice-menu .alphabet-reference summary{font-size:12px}.practice-menu .alphabet-combinations{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.menu-settings{width:100%;margin-top:18px}.practice-menu .sidebar-course{margin:22px 0 0}.practice-menu .sidebar-bottom{padding-top:16px}.practice-menu .culture-card{display:none}.practice-menu .local-profile{margin:0;padding-bottom:0}@media(min-width:981px){.focus-mode .practice-workbench .metrics{padding:14px 24px}.focus-mode .practice-workbench .metric>div{display:flex;align-items:baseline;gap:8px}.focus-mode .practice-workbench .metric small{margin:0}.focus-mode .practice-workbench .metric strong{font-size:26px}.focus-mode .practice-workbench .exercise-body{padding:18px 24px 14px}.focus-mode .practice-view .target-text{min-height:110px;max-height:165px;max-height:calc(2lh + 16px);font-size:34px;line-height:2.2;padding-block:8px}.focus-mode .input-wrap textarea{min-height:56px;font-size:25px}}@media(min-width:981px)and (max-height:850px){.focus-mode .lesson-toolbar{margin-bottom:10px}.focus-mode main{padding-top:12px}.focus-mode .practice-workbench .metrics{padding-block:10px}.focus-mode .practice-workbench .metric>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px}.focus-mode .practice-workbench .metric small{margin:0}.focus-mode .keyboard{padding-top:10px}.focus-mode .keyboard-options{margin-block:6px}.focus-mode .key{height:36px}.focus-mode .function-row .key{height:20px}.focus-mode .keyboard-scroll{padding-block:7px}.focus-mode .practice-workbench .exercise-body{padding-block:14px 10px}.focus-mode .practice-view .target-text{line-height:2;max-height:144px;max-height:calc(2lh + 8px);padding-block:4px}}@media(max-width:700px){.combination-coach{grid-template-columns:64px minmax(0,1fr);gap:12px;padding:16px 0}.coach-glyph{min-width:0;font-size:25px;max-width:64px}.coach-heading{flex-wrap:wrap;gap:3px}.coach-heading strong{font-size:14px}.coach-heading>span{font-size:12px}.coach-content p{font-size:12px}.coach-steps{gap:4px}.coach-steps li{padding-right:2px}.alphabet-combinations{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.key-grid{min-width:650px}.key strong{font-size:20px!important}.key small{font-size:9px!important}.key.special,.function-row .key{font-size:10px}.input-help,.layout-note,.keyboard-options,.finger{font-size:12px}.mode-tabs{gap:8px}.mode-tabs button{font-size:12px}.mode-tabs button .lucide{display:none}.metric-label,.metric small{font-size:10px}.exercise-meta{font-size:11px}.lesson-kicker{font-size:11px;flex-wrap:wrap}.lesson-identity h2{font-size:15px}.page-heading>.outline-button{min-width:40px;min-height:40px}}.keyboard-alphabet-panel{border:1px solid #754158;background:#2b121e;padding:18px 20px 20px;margin-bottom:10px;border-radius:7px;box-shadow:inset 0 1px #9b647c20}.keyboard-alphabet-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:12px;border-bottom:1px solid #63344a}.keyboard-alphabet-heading h3{font-size:18px;color:#fff5f9;margin:3px 0 0}.keyboard-alphabet-heading p{font-size:12px;color:#cda8b8;margin:0;text-align:right}.keyboard-alphabet-kicker{font-size:9px;font-weight:700;color:#d997b3;letter-spacing:0}.keyboard-alphabet-panel .alphabet-combinations{margin-top:5px;grid-template-columns:repeat(5,minmax(0,1fr));gap:0 14px}.keyboard-alphabet-panel .alphabet-combination{display:grid;grid-template-columns:22px minmax(45px,1fr) auto;gap:7px;min-height:72px;padding:7px 4px;color:#fff4f8;border-radius:4px;cursor:pointer}.keyboard-alphabet-panel .alphabet-combination:hover,.keyboard-alphabet-panel .alphabet-combination:focus-visible{background:#4d2335}.alphabet-number{font-size:9px;color:#9f7185;font-variant-numeric:tabular-nums}.alphabet-letter{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}.alphabet-letter>[lang=bo]{font-family:var(--tibetan);font-size:27px;line-height:1.35}.alphabet-letter small{font-size:9px;color:#c394a8;text-transform:lowercase}.alphabet-keys{display:flex;align-items:center;justify-content:flex-end;gap:3px;flex-wrap:wrap}.key-arrow{font-size:9px;color:#9c6d81}.keyboard-alphabet-panel .alphabet-combination kbd{min-width:24px;padding:4px 5px;font-size:10px}@media(max-width:1100px){.keyboard-alphabet-panel .alphabet-combinations{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.keyboard-alphabet-heading{align-items:flex-start;flex-direction:column;gap:4px}.keyboard-alphabet-heading p{text-align:left}.keyboard-alphabet-panel .alphabet-combinations{grid-template-columns:repeat(2,minmax(0,1fr))}}.lesson-card .lesson-card-tibetan{font-family:var(--tibetan);font-size:15px;line-height:1.8;margin-top:0;overflow-wrap:anywhere}@media(min-width:1024px){.focus-mode:not(.session-on) .practice-workbench .metrics{display:none}.focus-mode.session-done .practice-workbench .metrics{display:none}.focus-mode.is-typing .input-help:not(.is-warning){display:none}}@media(min-width:1024px)and (max-height:900px){.focus-mode .topbar{height:48px}.focus-mode main{padding-top:10px;padding-bottom:10px}.focus-mode .session-launcher{grid-template-columns:minmax(0,1fr) 250px auto;align-items:center;padding:0 0 10px}.focus-mode .session-launcher label{flex-direction:row;align-items:center;gap:10px;white-space:nowrap}.focus-mode .session-launcher select{min-height:38px;height:38px;padding-block:6px}.focus-mode .session-launcher .primary-button{min-height:40px}.focus-mode .practice-workbench .metrics{padding:8px 18px}.focus-mode .practice-workbench .metric{display:flex;align-items:baseline;gap:8px}.focus-mode .practice-workbench .metric>div{display:flex;align-items:baseline;gap:5px}.focus-mode .practice-workbench .metric strong{font-size:22px}.focus-mode .practice-workbench .exercise-body{padding-block:9px}.focus-mode .practice-view .target-text{min-height:0;max-height:calc(116px * var(--text-scale,1));--target-base:30px;line-height:1.9;padding-block:2px}.focus-mode .practice-view .input-wrap{margin-top:6px}.focus-mode .practice-view .input-wrap textarea{min-height:46px;height:46px;font-size:21px;padding-block:5px}.focus-mode .practice-view .exercise-footer{min-height:42px;padding-block:4px}.focus-mode .keyboard{display:flex;flex-wrap:wrap;align-items:center;column-gap:14px;padding-top:8px}.focus-mode .keyboard>*{flex:0 0 100%}.focus-mode .keyboard>.keyboard-quick-controls,.focus-mode .keyboard>.keyboard-options{flex:1 1 auto;margin:0 0 6px}.focus-mode .practice-view .keyboard-scroll{padding-block:6px}.focus-mode .practice-view .key-row>.key{height:37px}.focus-mode .practice-view .function-row>.key{height:20px}.focus-mode .keyboard-bottom{margin-top:6px}}@media(min-width:1024px)and (max-height:740px){.focus-mode .topbar{height:44px}.focus-mode main{padding-top:8px;padding-bottom:8px}.focus-mode .practice-workbench .metrics{padding-block:7px}.focus-mode .practice-workbench .metric strong{font-size:21px}.focus-mode .practice-workbench .exercise-body{padding-block:8px}.focus-mode .practice-view .target-text{max-height:calc(108px * var(--text-scale,1));--target-base:29px;line-height:1.85}.focus-mode .practice-view .input-wrap textarea{min-height:42px;height:42px;font-size:20px;padding-block:4px}.focus-mode .practice-view .exercise-footer{min-height:40px}.focus-mode .practice-view .keyboard-scroll{padding-block:5px}.focus-mode .practice-view .key-row>.key{height:32px}.focus-mode .practice-view .function-row>.key{height:17px}}.arrow-cluster{align-self:stretch;row-gap:2px}.practice-view .arrow-cluster .key{height:auto;min-height:0}.target-text .current{background:linear-gradient(to bottom,transparent 13%,#873651 13% 84%,#ffb5cd 84% 87%,transparent 87%);box-shadow:none}:is(button,a,select,input,textarea,summary,[tabindex]):focus-visible{outline:3px solid #efa5b9;outline-offset:3px}.input-wrap,.search-field input,.reading-filters select,.session-launcher select,.keyboard-device select,.keyboard-quick-layout select,.layout-controls select,.settings-grid select,.form-field input,#passageText{border-color:#9a5f78}.input-wrap:focus-within{border-color:#efa5b9}.toggles input{background:#9a6a7e}.exercise-actions{gap:8px}.input-help{font-size:12px}.chart-column .bar{background:#a85b7a}.alphabet-number,.key-arrow{color:#b98ba0}.hint-step.is-done{opacity:.55}.main-nav a:not(.is-active) .nav-dot{display:none}.mode-tabs button:hover,.text-button:hover,.filter-tabs button:hover{background:#3d1c2d}.completion-toast{left:50%}.lesson-number[lang=bo]{font-family:var(--tibetan);font-size:15px}.focus-mode .practice-view .page-heading{display:block;position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.focus-mode .practice-view .page-heading .outline-button{display:none}.exercise-meta{gap:12px}.exercise-title{margin-right:auto;color:#e9c3d3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.exercise-title:not(:empty):before{content:"·";margin-right:10px;color:#b98b9f}.lesson-card{cursor:pointer}.lesson-card h3{margin-top:12px}.lesson-card-link{all:unset;cursor:pointer;color:inherit;font:inherit;line-height:inherit;overflow-wrap:anywhere}.lesson-card-link:after{content:"";position:absolute;inset:0;border-radius:7px}.lesson-card-link:focus-visible{outline:none}.lesson-card:focus-within{outline:3px solid #efa5b9;outline-offset:3px}.lesson-card .lesson-card-tibetan{font-size:19px;line-height:1.9}.lesson-card.is-next{border-color:#c17393;box-shadow:0 0 0 1px #c1739366}.lesson-card-next{color:#ffd0e1;font-weight:500}.result-goal{color:#ffd8a8;margin-bottom:10px}@media(min-width:1024px)and (max-height:740px){.focus-mode main{padding-bottom:4px}.focus-mode .practice-view .input-help{margin-top:4px;min-height:0;line-height:1.4}.focus-mode .keyboard-bottom{margin-top:4px}}@media(min-width:1024px)and (max-height:900px){.focus-mode .start-gate{margin-top:6px;padding-block:2px;min-height:46px}.focus-mode .space-start-button{min-height:40px;height:40px}}.result-dialog .result-grid{grid-template-columns:repeat(3,1fr);gap:14px;padding:14px 0}.result-dialog .result-grid>div:last-child:nth-child(odd){grid-column:auto}.result-dialog .result-grid strong{font-size:26px}.result-dialog .error-report{margin:14px 0 4px}dialog{--dialog-pad:28px}@media(max-width:700px){dialog{--dialog-pad:23px}}.result-dialog .result-actions{position:sticky;bottom:calc(-1*var(--dialog-pad));margin:12px calc(-1*var(--dialog-pad)) calc(-1*var(--dialog-pad));padding:14px var(--dialog-pad);background:#311420;border-top:1px solid #5b2b3e}.result-dialog h2[tabindex="-1"]:focus{outline:none}@media(max-height:1000px){.result-dialog .result-icon{display:none}.result-dialog .dialog-heading{justify-content:flex-end;margin-bottom:-26px}.result-dialog h2{margin:2px 0 12px}}.setup-tip{margin:14px 0 4px;padding:10px 12px;border-left:2px solid #c17393;background:#3a1a28;border-radius:0 6px 6px 0;font-size:13px;line-height:1.7;color:#ecd2dd}.setup-tip strong{color:#ffe0ec;font-weight:500}.setup-tip [lang=bo]{font-family:var(--tibetan);font-size:17px}.empty-state .outline-button{margin-top:14px}h1[tabindex="-1"]:focus{outline:none}.practice-view .target-text,.focus-mode .practice-view .target-text{font-size:calc(var(--target-base,32px) * var(--text-scale,1))}.topbar-right{display:flex;align-items:center;gap:16px}.goal-status{display:flex;align-items:center;gap:6px;border:1px solid #6e3b50;background:#351924;color:#f2cfdd;border-radius:999px;padding:4px 11px;font-size:12px;cursor:pointer}.goal-status .lucide{width:14px;height:14px;color:#ddb07f}.goal-status.is-met{border-color:#94c9a7;color:#d7f0de}.goal-status.is-met .lucide{color:#94c9a7}.lesson-stars{color:#ffd27a;letter-spacing:1px;margin-right:6px}.lesson-stars span{color:#6e3b50}.letters-section{margin:28px 0 8px}.letter-map{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:8px;margin-top:14px}.letter-cell{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px 6px;border-radius:6px;border:1px solid #6e3b50;background:#351924;color:#fff4f8;cursor:pointer}.letter-cell [lang=bo]{font-family:var(--tibetan);font-size:24px;line-height:1.5}.letter-cell small{font-size:11px;color:#cfa9ba;font-variant-numeric:tabular-nums}.letter-cell:hover{background:#401d2c;border-color:#c585a0}.letter-cell.is-good{border-color:#5f9b75;background:#26302a}.letter-cell.is-fair{border-color:#c79a52;background:#3a2c1c}.letter-cell.is-weak{border-color:#d36a7f;background:#4a1e2b}.letter-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:12px;font-size:12px;color:#cfa9ba}.letter-legend span{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:-8px;border:1px solid #6e3b50}.letter-legend .good{background:#5f9b75}.letter-legend .fair{background:#c79a52}.letter-legend .weak{background:#d36a7f}.letter-legend .new{background:#351924}.mistake-snippets{display:flex;flex-direction:column;gap:4px;margin:6px 0 10px}.mistake-snippets span{font-family:var(--tibetan);font-size:20px;line-height:1.9;color:#ecd2dd}.mistake-snippets mark{background:#6a273b;color:#ffd0d7;border-radius:3px;padding:0 2px;text-decoration:underline wavy #ff8fa8 1px;text-underline-offset:6px}.practise-mistakes{margin-top:10px;color:#f0b9d0}.keyboard-check-dialog{width:min(620px,calc(100% - 32px))}.keyboard-check-intro{font-size:14px;line-height:1.8;color:#ecd2dd;margin:6px 0 14px}.keyboard-check-intro kbd{margin:0 2px}.keyboard-check-input{width:100%;font-family:var(--tibetan);font-size:30px;line-height:1.6;padding:8px 14px;border-radius:6px;border:1px solid #9a5f78;background:#24101a;color:#fff4f8}.keyboard-check-input::placeholder{font-family:DM Sans,sans-serif;font-size:15px;color:#b48c9f;letter-spacing:2px}.keyboard-check-result{min-height:24px;margin:10px 0 4px;font-size:13px;line-height:1.7;color:#f0c394}.keyboard-check-result.is-success{color:#b7e3c4}.keyboard-check-or{font-size:12px;color:#c9a6b7;margin:8px 0}.keyboard-check-choices{display:flex;flex-wrap:wrap;gap:8px}.keyboard-check-choices .outline-button{font-size:12px}.welcome-heading{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:16px;row-gap:0}.welcome-heading h2{grid-column:1/-1}.welcome-greeting .tashi-delek{font-family:var(--tibetan);font-size:24px;line-height:1.6;color:#f6dce7;margin:0 0 2px}.welcome-greeting .eyebrow{margin-bottom:0}.welcome-heading .welcome-heading-actions{align-self:start;margin-top:0}.ui-bo .welcome-greeting .eyebrow{margin-bottom:0}.welcome-heading-actions{display:flex;align-items:center;gap:6px;margin:-9px -9px -9px 0}.welcome-language{display:inline-flex;gap:2px;padding:2px;border:1px solid #6e3b50;border-radius:999px}.welcome-language button{display:inline-flex;align-items:center;height:26px;min-height:0;padding:0 12px;border:0;border-radius:999px;background:transparent;color:#f2cfdd;font-size:13px;line-height:1;cursor:pointer}.welcome-language button[lang=bo]{font-family:var(--tibetan);font-size:15px;padding-top:7px}.welcome-language button:hover{background:#3d1c2d}.welcome-language button[aria-pressed=true]{background:#4d2335;color:#fff}.keyboard-check-dialog .result-actions{align-items:center}.keyboard-check-dialog .result-actions{position:sticky;bottom:calc(-1*var(--dialog-pad));z-index:1;margin:13px calc(-1*var(--dialog-pad)) calc(-1*var(--dialog-pad));padding:12px var(--dialog-pad) var(--dialog-pad);background:#311420}.keyboard-check-dialog .result-actions>button{flex-shrink:0}.dialog-brand{flex:0 1 138px;min-width:96px;margin-right:auto;border-radius:4px;line-height:0}.dialog-brand img{display:block;width:100%;height:auto}.dialog-brand.is-sponsor{display:flex;flex-direction:column;align-items:flex-start;gap:5px;line-height:1.2}.dialog-brand.is-sponsor small{font-size:11px;letter-spacing:.02em;color:#b48c9f}.dialog-brand.is-sponsor img{width:auto;max-width:150px;max-height:40px}.dialog-brand.is-sponsor strong{font-size:15px;font-weight:600;color:#fff4f8}.passage-card .lesson-card-sample{-webkit-mask-image:linear-gradient(#000 calc(100% - 7px),transparent calc(100% - 3px));mask-image:linear-gradient(#000 calc(100% - 7px),transparent calc(100% - 3px))}.lesson-card-sample{pointer-events:none}.target-text .current.is-rejected{animation:key-rejected .4s ease}@keyframes key-rejected{0%,55%{background:#b3261e;color:#fff;box-shadow:0 2px #ff8a80}}#typingCard.is-rejected{animation:card-shake .42s cubic-bezier(.36,.07,.19,.97),card-glow .6s ease-out}@keyframes card-shake{0%,to{transform:none}15%{transform:translate(-10px)}30%{transform:translate(9px)}45%{transform:translate(-7px)}60%{transform:translate(5px)}75%{transform:translate(-3px)}90%{transform:translate(1px)}}@keyframes card-glow{0%{box-shadow:0 0 0 2px #e5484d,0 0 32px 4px #e5484d88}to{box-shadow:0 0 0 0 transparent,0 0 0 0 transparent}}@media(prefers-reduced-motion:reduce){#typingCard.is-rejected{animation:card-glow .6s ease-out}}.practice-view .target-text{overflow:hidden}.target-text .off-window{opacity:0}.setup-intro .outline-button{margin-left:auto;flex-shrink:0}body,button,input,select,textarea{font-family:DM Sans,Tibetan UI,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.ui-bo .eyebrow,.ui-bo .sidebar-section-head,.ui-bo .next-label{letter-spacing:0}.language-switch{border:1px solid #6e3b50;background:transparent;color:#f2cfdd;border-radius:999px;padding:3px 12px;font-size:13px;cursor:pointer}.language-switch[lang=bo]{font-family:var(--tibetan);font-size:15px;line-height:1.5}.language-switch:hover{background:#3d1c2d}.eyebrow,.next-label,.keyboard-alphabet-kicker,.sidebar-section-head>span:first-child,.practice-summary small{text-transform:uppercase}.language-switch,.goal-status{height:28px;display:inline-flex;align-items:center}.language-switch[lang=bo]{line-height:1;padding-block:0}.ui-bo .lesson-card-tibetan{display:none}.ui-bo body{line-height:1.45}.ui-bo{font-synthesis-weight:none}.ui-bo :is(p,li,dd,blockquote,figcaption){line-height:2}.ui-bo :is(h1,h2,h3){line-height:1.7}.ui-bo .eyebrow{margin-bottom:12px}.ui-bo .heading-dot{display:none}.ui-bo .toggles :is(strong,small){line-height:1.8}.ui-bo .dialog-heading h2{font-size:21px}.ui-bo :is(.outline-button,.primary-button,.danger-button){padding-block:11px;line-height:1.6}.ui-bo .practice-view .page-heading h1{line-height:1.35}.ui-bo #startLessonBtn{padding-block:9px;line-height:1.45}.ui-bo .focus-mode main{padding-bottom:18px}@media(min-width:1024px)and (max-height:740px){.ui-bo .focus-mode main{padding-bottom:1px}.ui-bo .focus-mode .keyboard-bottom{margin-top:2px}}.focus-mode .topbar{transition:height .25s ease,opacity .2s ease,visibility 0s}.distraction-free .topbar{height:0!important;opacity:0;overflow:hidden;visibility:hidden;pointer-events:none;transition:height .25s ease,opacity .15s ease,visibility 0s .25s}.distraction-free .keyboard-quick-layout,.distraction-free .keyboard-options{display:none}.distraction-free .keyboard-quick-controls{justify-content:flex-start}.site-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;margin-top:36px;padding:22px 0 30px;border-top:1px solid #4f2a3a;font-size:13px;color:#c9a6b7}.site-footer .footer-brand{display:flex;align-items:center;gap:12px}.site-footer .footer-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#812e4c;color:#fff;font-family:var(--tibetan);font-size:20px;line-height:1}.site-footer .footer-brand strong{display:block;font-size:14px;font-weight:600;color:#fff4f8}.site-footer .footer-brand small{display:block;font-size:12px;color:#c9a6b7;margin-top:2px}.site-footer .footer-links{display:flex;gap:22px}.site-footer .footer-links a{display:inline;color:#e9c3d3;font-size:13px}.site-footer .footer-links a:hover,.site-footer .footer-owner a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}.site-footer .footer-link-button{min-height:0;padding:0;border:0;background:none;color:#e9c3d3;font:inherit;font-size:13px;cursor:pointer}.site-footer .footer-link-button:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}.credits-dialog{width:min(640px,calc(100% - 32px))}.credits-intro{font-size:13px;line-height:1.7;color:#ecd2dd;margin:-10px 0 16px}.credits-list{list-style:none;margin:0;padding:0}.credits-list li{padding:14px 0;border-top:1px solid #4f2a3a;font-size:12px;line-height:1.6;color:#d9b9c7}.credits-list .credits-title{font-size:14px;font-weight:500;color:#fff4f8;margin-bottom:4px}.credits-list .credits-title [lang=bo]{font-family:var(--tibetan);font-size:16px}.credits-list .credits-links{margin-top:4px}.credits-list a{color:#f0bad0;text-decoration:underline;text-underline-offset:2px}.credits-list .credits-changes{margin-top:4px;font-size:11px;color:#b48c9f}.site-footer .footer-owner{justify-self:end;margin:0;font-size:13px;color:#c9a6b7}.site-footer .footer-owner a{display:inline;color:#f0bad0;font-weight:500}.top-nav{display:none}@media(min-width:1024px){.top-nav{display:flex;align-items:center;gap:4px;margin-right:auto;margin-left:18px}.top-nav a{padding:6px 11px;border-radius:999px;font-size:13px;color:#e2bccb;white-space:nowrap}.top-nav a:hover{background:#3d1c2d;color:#fff}.top-nav a.is-active{background:#4d2335;color:#fff;font-weight:500}.breadcrumb-chevron,#viewBreadcrumb{display:none}.topbar-brand{font-size:13px;color:#f2cfdd;font-weight:600;white-space:nowrap}}.navigation-toggle{width:auto;min-width:34px;padding:0 10px;gap:6px;display:inline-flex;align-items:center}.navigation-toggle .menu-label{font-size:13px}.topbar-settings .lucide{width:16px;height:16px}@media(max-width:1279px){.topbar .device-status{display:none}}@media(max-width:1180px){.topbar-brand{display:none}}.exercise-meta,.next-key #currentHint,.hint-caption,.keyboard-layer-status,.keyboard-legend,.metric-label,.layer-tabs button,.session-launcher label,.streak-status,.finger-guide .finger{font-size:12px}.next-label,.metric small{font-size:11px}@media(min-width:1024px)and (max-height:740px){.focus-mode .session-launcher{padding-bottom:6px}}@media(min-width:1024px){.focus-mode .topbar{max-width:none;padding-inline:24px}}.language-switch,.goal-status,.top-nav a,.navigation-toggle{white-space:nowrap;flex-shrink:0}@media(max-width:1499px){.topbar .device-status{display:none}}.promo-slot:empty{display:none}.promo-banner,.promo-box,.promo-card,.promo-result{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:8px;color:#ecd2dd}.promo-banner,.promo-box{border:1px dashed #7a4560;background:#2a1420;margin:0 0 18px}.promo-card{grid-column:1/-1;border:1px dashed #9a5f78;background:#2a1420}.promo-result{border-top:1px solid #5b2b3e;margin-top:14px;padding:14px 0 0;border-radius:0}.promo-logo{width:52px;height:52px;flex-shrink:0;border-radius:8px;background:#4d2335;display:grid;place-items:center;object-fit:cover;color:#f0bad0}.promo-logo.is-empty{border:1px dashed #b46a88;background:transparent;font-size:11px;color:#b48c9f}.promo-copy{min-width:0;flex:1;display:grid;gap:2px}.promo-copy small{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#b48c9f}.promo-copy strong{font-size:14px;font-weight:500;color:#fff4f8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.promo-copy span{font-size:12px;color:#d9b9c7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.promo-button{flex-shrink:0;padding:7px 14px;border:1px solid #b46a88;border-radius:6px;color:#fff;font-size:12px;text-decoration:none}.promo-button:hover{background:#4d2335}.promo-name{color:#f0bad0}.site-footer .promo-footer{grid-column:1/-1;margin:0;font-size:12px;color:#b48c9f;text-align:center}.site-footer .promo-footer a{display:inline;font-size:12px}.promo-inline{margin-left:16px;padding-left:16px;border-left:1px solid #5b2b3e;font-size:12px;color:#b48c9f;white-space:nowrap}.promo-keyboard{display:none;align-items:center;gap:8px;font-size:12px;color:#b48c9f;margin:0 auto}.promo-keyboard{line-height:16px;max-height:16px}.promo-keyboard .promo-logo{width:14px;height:14px;border-radius:3px;font-size:0}@media(min-width:1500px)and (min-height:880px){.promo-keyboard{display:inline-flex}}@media(max-width:1279px){.promo-inline{display:none}}.is-typing .promo-inline,.is-typing .promo-keyboard{visibility:hidden}.speed-section{margin-top:6px}.speed-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-6px 0 10px}.speed-summary{display:flex;align-items:baseline;gap:10px;margin:0;font-size:13px;color:#c9abb7}.speed-summary strong{font-size:24px;font-weight:600;color:#fff5f8}.speed-tabs{display:inline-flex;gap:2px;padding:2px;border:1px solid #6e3b50;border-radius:999px}.speed-tabs button{height:28px;min-height:0;padding:0 14px;border:0;border-radius:999px;background:transparent;color:#f2cfdd;font-size:12px;cursor:pointer}.speed-tabs button:hover{background:#3d1c2d}.speed-tabs button[aria-pressed=true]{background:#4d2335;color:#fff}.speed-chart{border-bottom:1px solid var(--line);padding-bottom:6px}.speed-chart svg{display:block;width:100%;height:auto}.speed-grid{stroke:#4a2638;stroke-width:1}.speed-axis{fill:#b48c9f;font-size:13px;font-family:DM Sans,sans-serif}.speed-line{fill:none;stroke:#efa5b9;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.speed-dot{fill:#311420;stroke:#efa5b9;stroke-width:2.5}.speed-dot.is-last{fill:#efa5b9}.speed-empty{margin:0;padding:34px 0;text-align:center;font-size:13px;color:#c49ead}.certificate-cta,.certificate-note{display:flex;align-items:center;gap:14px;padding:16px 18px;margin:18px 0 0;border:1px solid #5b2b3e;border-radius:10px;background:#2c1220}.certificate-cta>div:not(.certificate-meter),.certificate-note>div{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.certificate-cta strong,.certificate-note strong{font-size:14px;font-weight:600;color:#fff5f8}.certificate-cta span,.certificate-note span{font-size:12px;color:#c9abb7}.certificate-icon{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:50%;background:#4d2335;color:#efa5b9}.certificate-icon .lucide{width:19px;height:19px}.certificate-meter{flex:0 0 180px;height:6px;border-radius:999px;background:#4a2234;overflow:hidden}.certificate-meter span{display:block;height:100%;background:#efa5b9;border-radius:inherit}.certificate-cta.is-ready,.certificate-note{border-color:#c39a4a;background:linear-gradient(135deg,#3a1828,#2c1220)}.certificate-cta.is-ready .certificate-icon,.certificate-note .certificate-icon{background:#c39a4a;color:#2a1018}.certificate-note{margin-top:14px}.certificate-cta .primary-button,.certificate-note .primary-button{flex-shrink:0}.share-dialog{width:min(460px,calc(100% - 32px))}.share-preview{display:block;width:100%;height:auto;aspect-ratio:4/5;margin-top:14px;border-radius:12px;background:#24101a;box-shadow:0 10px 30px #0006}.certificate-dialog{width:min(860px,calc(100% - 32px))}.certificate-name-field{display:flex;flex-direction:column;gap:7px;margin-top:14px;font-size:12px;color:#c9abb7}.certificate-name-field input{min-height:42px;padding:10px 12px;border:1px solid #9a5f78;border-radius:6px;background:#341622;color:#f8eaf0;font:inherit;font-size:15px}.certificate-name-field input::placeholder{color:#bd93a6}.certificate-preview{display:block;width:100%;height:auto;aspect-ratio:2480/1754;margin-top:14px;border-radius:6px;background:#f3e8d6;box-shadow:0 10px 30px #0006}.result-actions .share-result{margin-right:auto}.share-preview{width:auto;max-width:100%;max-height:calc(100vh - 270px);margin:14px auto 0}.certificate-preview{width:auto;max-width:100%;max-height:calc(100vh - 340px);margin:14px auto 0}.card-format{display:inline-flex;gap:2px;padding:2px;margin-top:12px;border:1px solid #6e3b50;border-radius:999px}.card-format button{height:28px;min-height:0;padding:0 14px;border:0;border-radius:999px;background:transparent;color:#f2cfdd;font-size:12px;cursor:pointer}.card-format button:hover{background:#3d1c2d}.card-format button[aria-pressed=true]{background:#4d2335;color:#fff}.share-dialog{width:min(480px,calc(100% - 32px))}.share-preview.is-story{aspect-ratio:9/16}.share-preview{max-height:calc(100vh - 380px)}.share-tag{margin:12px 0 0;text-align:center;font-size:12px;color:#c9abb7}.share-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px}.share-buttons button{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 14px;font-size:13px}.share-buttons .lucide{width:17px;height:17px}.share-buttons button:disabled{opacity:.5;cursor:wait}.share-app{border:0;border-radius:8px;color:#fff;font-weight:600;cursor:pointer}.share-instagram{background:linear-gradient(45deg,#f58529,#dd2a7b 45%,#8134af 75%,#515bd4)}.share-whatsapp{background:#25d366;color:#0b2e17}.share-app:hover{filter:brightness(1.08)}.share-status{min-height:18px;margin:10px 0 0;text-align:center;font-size:12px;line-height:1.5;color:#f6dce7}.certificate-form{display:flex;flex-direction:column;gap:14px;margin-top:10px}.certificate-intro{margin:0;font-size:13px;line-height:1.6;color:#d9bcc8}.certificate-field{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#c9abb7}.certificate-field input,.certificate-field select{min-height:42px;padding:9px 12px;border:1px solid #9a5f78;border-radius:6px;background:#341622;color:#f8eaf0;font:inherit;font-size:14px;color-scheme:dark}.certificate-pair{display:grid;grid-template-columns:1fr 1.4fr;gap:12px}.certificate-check{display:flex;align-items:flex-start;gap:10px;font-size:12.5px;line-height:1.5;color:#ecd2dd;cursor:pointer}.certificate-check input{width:17px;height:17px;margin:2px 0 0;flex-shrink:0;accent-color:#c26887}.certificate-hint{margin:-4px 0 0 27px;font-size:11.5px;color:#b48c9f}.certificate-error{min-height:0;margin:0;font-size:13px;color:#ffb3c4}.certificate-error:empty{display:none}.certificate-form .result-actions{margin-top:4px}.certificate-number{display:flex;align-items:center;justify-content:center;gap:14px;margin:10px 0 0;font-size:12px;color:#c9abb7}.certificate-number .text-button{font-size:12px;color:#efa5b9;text-decoration:underline;text-underline-offset:3px}.certificate-actions{flex-wrap:wrap}.certificate-actions [data-share-course]{margin-right:auto}.certificate-cta .outline-button{flex-shrink:0}img.promo-logo:not(.promo-poster){width:auto;max-width:130px;object-fit:contain;background:#fff;padding:4px}.promo-keyboard img.promo-logo{width:auto;max-width:56px;height:16px;padding:1px 2px;border-radius:2px}.next-key #currentHint{padding-block:16px;margin-block:-16px;overflow-y:hidden}.next-key .hint-letter{font-size:26px;line-height:1;align-self:center;transform:translateY(1px)}.next-key .hint-letter.is-word{font-family:inherit;font-size:14px;font-weight:500}.error-report li .is-word{font-family:DM Sans,Tibetan UI,Tibetan UI Fallback,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;font-weight:500}.library-overview img.is-flag{height:auto;aspect-ratio:480/372;object-fit:contain;border-radius:3px;box-shadow:0 2px 10px #0006}#setupView .page-heading>.outline-button{margin-top:16px;flex-shrink:0}.setup-good-news{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;margin:0 0 26px;padding:0}.setup-good-news li{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border:1px solid #4f2a3a;border-radius:10px;background:#2c1220;font-size:13px;line-height:1.6;color:#ecd2dd}.setup-good-news .lucide{flex-shrink:0;width:18px;height:18px;margin-top:2px;color:#9be3b5}.setup-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:22px}.setup-tabs button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border:0;border-bottom:2px solid transparent;background:none;color:#c9abb7;font:inherit;font-size:14px;cursor:pointer}.setup-tabs button .lucide{width:17px;height:17px}.setup-tabs button:hover{color:#fff5f8}.setup-tabs button[aria-selected=true]{color:#fff5f8;border-bottom-color:#efa5b9;font-weight:600}.setup-panel-intro{margin:0 0 18px;font-size:14px;line-height:1.7;color:#ecd2dd}.setup-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.setup-step{display:flex;gap:16px;padding:16px 18px;border:1px solid #4f2a3a;border-radius:10px;background:#2a1019}.setup-step .step-no{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;background:#a43b5c;color:#fff;font-weight:600;font-size:15px}.setup-step h3{margin:4px 0;font-size:15px;font-weight:600;color:#fff5f8}.setup-step p{margin:0;font-size:13.5px;line-height:1.7;color:#ddbdcc}.click-path{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}.ui-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid #8a5a6d;border-radius:6px;background:#3b1d2b;color:#fff5f8;font-size:12.5px;font-weight:500;box-shadow:0 1px #0005}.ui-sep{color:#b48c9f;font-size:15px}.ui-plus{color:#b48c9f;font-size:13px}.click-path kbd{display:inline-flex;align-items:center;min-height:30px;padding:0 11px;border:1px solid #8a5a6d;border-bottom-width:3px;border-radius:7px;background:#3b1d2b;color:#fff5f8;font:inherit;font-size:13px;font-weight:600}.setup-step .text-button{display:inline-flex;align-items:center;gap:6px;margin-top:10px;color:#efa5b9}.setup-panel .setup-tip{margin-top:16px}.setup-test{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:8px 24px;align-items:center;margin-top:28px;padding:20px 22px;border:1px solid #c39a4a;border-radius:12px;background:linear-gradient(135deg,#3a1828,#2c1220)}.setup-test h2{margin:0 0 4px;font-size:18px;font-weight:600}.setup-test p{margin:0;font-size:13px;line-height:1.6;color:#ddbdcc}.setup-test input{min-height:52px;padding:8px 14px;border:1px solid #9a5f78;border-radius:8px;background:#1d0b13;color:#fff5f8;font-family:var(--tibetan);font-size:24px}.setup-test-result{grid-column:2;min-height:20px;font-size:13px!important;color:#ffcf9c!important}.setup-test-result.is-success{color:#9be3b5!important}.setup-help{margin-top:30px}.setup-help h2{margin:0 0 12px;font-size:18px;font-weight:600}.setup-help details{border-bottom:1px solid var(--line)}.setup-help summary{padding:14px 2px;font-size:14px;color:#fff5f8;cursor:pointer}.setup-help details p{margin:0 0 14px;padding:0 2px;font-size:13.5px;line-height:1.7;color:#ddbdcc}.exercise-meta{line-height:16px}@media(max-height:1000px){.practice-view .function-row{display:none}}.practice-view .key strong{transform:translateY(.28em)}@media(max-height:740px){.practice-view .key strong{font-size:17px}}.exercise-meta{margin-bottom:6px}.ui-bo .exercise-meta{margin-bottom:10px}.ui-bo select{padding-block:0;line-height:normal}.ui-bo :is(.certificate-cta,.certificate-note) :is(strong,span),.ui-bo .promo-copy :is(small,strong,span),.ui-bo :is(#coachTitle,#coachPosition,.coach-instruction,.coach-finger,.layout-note),.ui-bo :is(.lesson-kicker,.lesson-card-top,.lesson-card-footer,.sidebar-section-head,.course-step,.progress-stat small),.ui-bo :is(.setup-good-news span,.certificate-check span,.setup-help summary,.share-tag,.share-status,.certificate-intro),.ui-bo :is(.mistake-feedback,.input-help,.hint-caption,.section-title>span,.speed-summary span),.ui-bo :is(.passage-card,.lesson-card) :is(small,span:not([lang=bo])){line-height:1.9}.ui-bo .setup-step p,.ui-bo .setup-step h3,.ui-bo .setup-panel-intro{line-height:1.9}.ui-bo .certificate-cta,.ui-bo .certificate-note{padding-block:12px}.site-footer .footer-logo{display:block;height:44px;width:auto}.site-footer .footer-brand>small{margin:0;padding-left:14px;border-left:1px solid #5b2b3e;max-width:180px;line-height:1.5}.ui-bo .site-footer .footer-brand>small{line-height:1.9}.privacy-body{max-width:760px}.privacy-body .privacy-lead{font-size:16px;line-height:1.75;color:#f3dce6;margin:0 0 8px}.privacy-body section{padding:22px 0;border-top:1px solid var(--line)}.privacy-body h2{margin:0 0 10px;font-size:18px;font-weight:600;color:#fff5f8}.privacy-body h3{margin:16px 0 8px;font-size:15px;font-weight:600;color:#fff5f8}.privacy-body p,.privacy-body li{font-size:14px;line-height:1.75;color:#ddbdcc}.privacy-body p{margin:0 0 10px}.privacy-body ul{margin:0 0 10px;padding-left:20px}.privacy-body strong{color:#fff5f8;font-weight:600}.privacy-page .fill-in{background:#5c3a1e;color:#ffcf9c;padding:0 4px;border-radius:3px}.certificate-privacy-link{margin:-6px 0 0 27px;font-size:12px;color:#efa5b9;text-decoration:underline;text-underline-offset:3px}@media(min-width:1024px)and (max-height:650px){.focus-mode .keyboard>.keyboard-quick-controls,.focus-mode .keyboard>.keyboard-options{display:none}.focus-mode .practice-view .target-text{padding-top:8px;margin-top:-6px;max-height:calc(114px * var(--text-scale,1))}.focus-mode .practice-view .key-row:not(.function-row)>.key{height:29px}.focus-mode .practice-view .key strong{font-size:15px;transform:translateY(.36em)}}@media(min-width:1024px)and (max-height:1039px){:root:is([data-text-size="1.15"],[data-text-size="1.3"]) body.focus-mode:not(.distraction-free) .keyboard-bottom{display:none}:root[data-text-size="1.3"] .focus-mode .practice-view .input-help:not(.is-warning){display:none}.focus-mode .practice-view .exercise-body:has(>.pause-overlay:not([hidden])) .target-text{--text-scale:1}}@media(min-width:1024px)and (max-height:600px){.focus-mode .practice-view .key-row:not(.function-row)>.key{height:27px}.focus-mode .practice-view .key strong{font-size:14px;transform:translateY(.4em)}.focus-mode .practice-view .input-wrap textarea{min-height:38px;height:38px;font-size:19px;padding-block:3px}.ui-bo .focus-mode main{padding-bottom:0}}.practice-view .key:after{bottom:-2px}.practice-view .key.home-key:before{bottom:2px}.practice-view .key.space-key{flex-direction:row;gap:9px}.practice-view .key.space-key strong{transform:translateY(.45em)}.practice-view .key.space-key small{margin-top:0}@media(min-height:651px){.practice-view .key strong{min-height:0;line-height:1;transform:translateY(5.5px)}}@media(min-width:1024px)and (max-height:900px){.ui-bo .focus-mode .session-launcher select{padding-block:0}}@media(min-width:1024px)and (min-height:651px)and (max-height:740px){.practice-view .key strong{font-size:16px;transform:translateY(5px)}.practice-view .key-row>.key{border-bottom-width:2px}.focus-mode .practice-view .target-text{line-height:2;padding-top:8px;margin-top:-6px;max-height:calc(122px * var(--text-scale,1))}.ui-bo .focus-mode .practice-view .input-help{margin-top:8px}}@media(min-width:1024px)and (min-height:741px)and (max-height:900px){.practice-view .key strong{transform:translateY(5px)}.focus-mode .practice-view .key-row>.key{height:39px}.focus-mode .practice-view .target-text{line-height:2.1;padding-top:8px;margin-top:-6px;max-height:calc(132px * var(--text-scale,1))}.ui-bo .focus-mode .practice-view .input-help{margin-top:9px}}@media(min-width:1024px)and (min-height:841px)and (max-height:900px){.focus-mode .practice-view .key-row>.key{height:41px}.practice-view .key strong{transform:translateY(4.75px)}.ui-bo .focus-mode .practice-workbench .exercise-body{padding-block:13px 12px}.ui-bo .focus-mode .practice-view .exercise-meta{margin-bottom:15px}.ui-bo .focus-mode .practice-view .target-text{line-height:2.2;max-height:calc(138px * var(--text-scale,1))}.ui-bo .focus-mode .practice-view .input-wrap{margin-top:10px}.ui-bo .focus-mode .practice-view .input-help{margin-top:12px}}@media(min-width:1024px)and (min-height:1040px){.focus-mode .practice-view .key-row:not(.function-row)>.key{height:46px}.practice-view .key strong{transform:translateY(6px)}.ui-bo .focus-mode .practice-workbench .exercise-body{padding-block:20px 14px}.ui-bo .focus-mode .practice-view .exercise-meta{margin-bottom:16px}.ui-bo .focus-mode .practice-view .input-help{margin-top:14px}}.welcome-language button{height:30px}.welcome-language button[lang=bo]{padding-top:10px}.ui-bo .welcome-heading h2{margin-top:10px}.ui-bo .settings-grid label{gap:10px}.ui-bo .toggles small{margin-top:9px}.ui-bo .settings-grid label:has(#errorMode){grid-column:1/-1}.ui-bo .lesson-card h3+p{margin-top:9px}.ui-bo :is(.certificate-cta,.certificate-note)>div:not(.certificate-meter){gap:7px}.ui-bo .history-item small{margin-top:10px}.ui-bo .setup-test h2{margin-bottom:10px}.ui-bo .setup-test p,.ui-bo .setup-help details p{line-height:1.95}.ui-bo .certificate-form,.ui-bo .certificate-field{gap:11px}.ui-bo .certificate-privacy-link{margin-top:-2px}@media(max-height:600px){.certificate-dialog{max-height:calc(100vh - 24px);padding-block:18px}.certificate-dialog .dialog-heading{margin-bottom:12px}.ui-bo .certificate-form{gap:9px}}.ui-bo .local-profile :is(strong,small){line-height:1.8}.ui-bo .local-profile small{margin-top:5px}.classroom-join{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.class-card{display:flex;flex-direction:column;gap:12px;padding:22px;border:1px solid #4f2a3a;border-radius:12px;background:#2a1019}.class-card h2{margin:0;font-size:19px;font-weight:600;color:#fff5f8}.class-card>p{margin:0;font-size:13.5px;line-height:1.7;color:#ddbdcc}.class-card .primary-button,.class-card .outline-button{align-self:flex-start}.class-card-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#4d2335;color:#efa5b9}.class-field{display:flex;flex-direction:column;gap:7px;font-size:12.5px;color:#c9abb7}.class-field input{min-height:44px;padding:9px 12px;border:1px solid #9a5f78;border-radius:7px;background:#341622;color:#f8eaf0;font:inherit;font-size:16px;letter-spacing:.03em}.class-note{margin:0;font-size:12px;color:#b48c9f}.class-error{margin:0;font-size:13px;color:#ffb3c4}.class-error:empty{display:none}.teacher-box{display:flex;align-items:center;gap:16px;margin-top:22px;padding:18px 20px;border:1px solid #5b2b3e;border-radius:12px;background:linear-gradient(135deg,#341522,#2a1019)}.teacher-box>div{display:flex;flex-direction:column;gap:4px;flex:1}.teacher-box strong{font-size:15px;color:#fff5f8}.teacher-box span{font-size:13px;line-height:1.6;color:#ddbdcc}.teacher-box .outline-button{flex-shrink:0}.teacher-box>.teacher-box-actions{display:flex;flex-direction:row;align-items:center;gap:10px;flex:0 0 auto}.register-card{margin-top:16px}.register-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.class-consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.6;color:#ddbdcc}.class-consent input{margin-top:3px;accent-color:#c26887}.class-consent a{color:#efa5b9;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.ui-bo .class-consent{align-items:center;line-height:1.9}.ui-bo .class-consent input{margin-top:0}.register-email{font-size:16px;font-weight:600;color:#ffe3a3}.class-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:22px;border:1px solid #4f2a3a;border-radius:12px;background:#2a1019}.class-header h2{margin:6px 0 4px;font-size:24px;font-weight:600;color:#fff5f8}.class-header p{margin:0;font-size:13.5px;color:#ddbdcc}.class-name-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px;align-items:end}.class-header .class-school{margin:0 0 8px;font-size:14px;color:#ddbdcc}.class-header .class-pupil{font-size:15px;font-weight:600;color:#efa5b9;margin-bottom:2px}.class-code-box{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right;max-width:280px}.class-code-box>span{font-size:12px;color:#c9abb7}.class-code-box strong{font-size:26px;letter-spacing:.1em;padding:4px 12px;border:2px dashed #c39a4a;border-radius:9px;color:#ffe3a3}.class-code-box small{font-size:11.5px;line-height:1.5;color:#b48c9f}.class-code-box .text-button{display:inline-flex;align-items:center;gap:6px;color:#efa5b9;font-size:12.5px}.class-goal{display:flex;align-items:center;gap:14px;margin-top:16px;padding:14px 18px;border:1px solid #c39a4a;border-radius:12px;background:#33191f}.class-goal .lucide{color:#ffcf9c;width:26px;height:26px}.class-goal div{display:flex;flex-direction:column;gap:2px;flex:1}.class-goal strong{font-size:22px;color:#fff5f8}.class-goal span{font-size:12.5px;color:#ddbdcc}.class-goal small{font-size:12px;color:#c9abb7}.class-section{margin-top:8px}.homework-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.homework-list li{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid #4f2a3a;border-radius:10px;background:#2a1019}.homework-list li>div{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.homework-list strong{font-size:15px;color:#fff5f8}.homework-meta{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:12.5px;color:#c9abb7}.homework-status{padding-left:8px;border-left:1px solid #5b2b3e}.homework-check{color:#b48c9f}.homework-list li.is-done{opacity:.75}.homework-list li.is-done .homework-check{color:#9be3b5}.homework-list li.is-late .homework-meta{color:#ffcf9c}.class-texts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.class-text{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;border:1px solid #4f2a3a;border-radius:10px;background:#2a1019;color:inherit;text-align:left;cursor:pointer;font:inherit}.class-text:hover{border-color:#c26887}.class-text strong{font-size:15px;color:#fff5f8}.class-text-preview{padding:5px 0 2px;font-family:var(--tibetan);font-size:18px;line-height:2;color:#f3dce6;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.class-text-go{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:#efa5b9}.class-empty{margin:0;padding:16px;border:1px dashed #5b2b3e;border-radius:10px;font-size:13px;color:#c49ead}.class-leave{margin-top:22px}.ui-bo :is(.class-card>p,.class-note,.teacher-box span,.class-header p,.class-code-box small,.class-goal span,.homework-meta,.class-empty){line-height:1.9}.ui-bo .class-field{gap:11px}.class-card>p.class-note{font-size:12px;color:#b48c9f}.class-card>p.class-error{font-size:13px;font-weight:600;color:#ffb3c4}.class-problem{margin-top:14px;padding:10px 14px;border:1px solid #a7394e;border-radius:10px;background:#3a1420;font-weight:600}.class-header .class-signout{display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;padding:3px 0;color:#efa5b9;font-size:12.5px;text-align:left;text-decoration:underline;text-underline-offset:3px}.class-header .class-signout .lucide{width:14px;height:14px;flex-shrink:0}.ui-bo :is(.class-card>p.class-note,.class-card>p.class-error,.class-problem,.class-header .class-signout){line-height:1.9}.teacher-lessons{margin-top:34px;padding-top:4px;border-top:1px solid var(--line)}.teacher-lesson-card .lesson-card-sample{font-size:22px;line-height:2;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;padding-bottom:0;margin-bottom:26px;-webkit-mask-image:linear-gradient(#000 calc(100% - 7px),transparent calc(100% - 3px));mask-image:linear-gradient(#000 calc(100% - 7px),transparent calc(100% - 3px))}img.share-preview:not([src]),img.certificate-preview:not([src]){visibility:hidden}.promo-keyboard .promo-logo .lucide{width:10px;height:10px}.device-note{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#5a2238;color:#fff5f8;font-size:13px;line-height:1.6}.device-note[hidden]{display:none}.device-note>.lucide{width:18px;height:18px;flex-shrink:0}.device-note span{flex:1}.device-note .icon-button{flex-shrink:0}.keyboard-check-save,.save-note{display:flex;align-items:flex-start;gap:8px;margin:8px 0 0;font-size:12px;line-height:1.6;color:#c9abb7}.keyboard-check-save .lucide,.save-note .lucide{width:15px;height:15px;flex-shrink:0;margin-top:2px}.save-note{margin-top:10px}.ui-bo .device-note,.ui-bo .keyboard-check-save,.ui-bo .save-note{line-height:1.9}@media(max-height:620px){.keyboard-check-dialog .dialog-heading{margin-bottom:12px}.keyboard-check-dialog .keyboard-check-intro{margin-bottom:8px}.keyboard-check-dialog .keyboard-check-input{height:50px;min-height:50px}.keyboard-check-dialog .keyboard-check-result:empty{min-height:0;margin:4px 0 0}}@media(max-height:620px){.keyboard-check-dialog:has(#keyboardCheckResult:not(:empty)) .keyboard-check-save{display:none}.ui-bo .keyboard-check-dialog:has(#keyboardCheckResult:not(:empty)) .keyboard-check-result{margin:4px 0 2px}.ui-bo .keyboard-check-dialog:has(#keyboardCheckResult:not(:empty)) .keyboard-check-or{margin:4px 0}.ui-bo .keyboard-check-dialog:has(#keyboardCheckResult:not(:empty)) .result-actions{margin-top:6px}}html[data-boot-view]:not([data-boot-view=practice]) #practiceView{display:none}html[data-boot-view=lessons] #lessonsView,html[data-boot-view=reading] #readingView,html[data-boot-view=progress] #progressView,html[data-boot-view=setup] #setupView,html[data-boot-view=classroom] #classroomView,html[data-boot-view=privacy] #privacyView{display:block!important}html[data-boot-view=game] #gameView,html[data-boot-view=game-stack] #game-stackView,html[data-boot-view=game-yakrun] #game-yakrunView,html[data-boot-view=game-yakclimb] #game-yakclimbView{display:flex!important}html[data-boot-view=keyboardtest] #keyboardtestView{display:block!important}html.i18n-pending body{-webkit-text-fill-color:transparent;animation:i18n-show-words 0s linear 6s forwards!important}html.i18n-pending body ::placeholder{-webkit-text-fill-color:transparent}@keyframes i18n-show-words{to{-webkit-text-fill-color:currentcolor}}@font-face{font-family:Tibetan Fallback;src:local("Kailasa"),local("Kailasa Regular");unicode-range:U+0F00-0FFF;size-adjust:130%;ascent-override:112.8%;descent-override:103.8%;line-gap-override:0%;font-display:swap}@font-face{font-family:Tibetan UI Fallback;src:local("Kailasa"),local("Kailasa Regular");unicode-range:U+0F00-0FFF;size-adjust:149.5%;ascent-override:112.8%;descent-override:103.8%;line-gap-override:0%;font-display:swap}:root{--tibetan:"Noto Serif Tibetan","Tibetan Fallback","Kailasa","Microsoft Himalaya",serif}body,button,input,select,textarea{font-family:DM Sans,Tibetan UI,Tibetan UI Fallback,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}select:not(#lessonSelect){font-family:DM Sans,Tibetan UI,Tibetan UI Fallback,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.target-text .target-loading{font-family:DM Sans,Tibetan UI,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.6;color:#c9abb7;vertical-align:middle}.input-wrap:has(textarea[readonly]){opacity:.65}.session-launcher #startLessonBtn{min-width:138px}.ui-bo .session-launcher #startLessonBtn{min-width:173px}i.lucide{display:inline-block}@media(min-width:981px){.focus-mode .practice-view .target-text{height:calc(2lh + 16px)}}@media(min-width:1024px){.focus-mode .practice-view .key-grid:empty{min-height:235px}}@media(min-width:1024px)and (min-height:1001px){.focus-mode .practice-view .key-grid:empty{min-height:264px}}@media(min-width:1024px)and (min-height:1040px){.focus-mode .practice-view .key-grid:empty{min-height:279px}}@media(min-width:1100px)and (max-height:950px){.focus-mode .practice-view .key-grid:empty{min-height:200px}}@media(min-width:1024px)and (max-height:900px){.focus-mode .practice-view .key-grid:empty{min-height:205px}}@media(min-width:1024px)and (min-height:741px)and (max-height:840px){.focus-mode .practice-view .key-grid:empty{min-height:215px}}@media(min-width:1024px)and (min-height:841px)and (max-height:900px){.focus-mode .practice-view .key-grid:empty{min-height:225px}}@media(min-width:1024px)and (max-height:740px){.focus-mode .practice-view .key-grid:empty{min-height:180px}}@media(min-width:1024px)and (max-height:650px){.focus-mode .practice-view .key-grid:empty{min-height:168px}}@media(min-width:1024px)and (max-height:600px){.focus-mode .practice-view .key-grid:empty{min-height:160px}}.page-view:not(#practiceView){min-height:calc(100vh - 68px)}.practice-view .arrow-cluster .key{padding:0}.practice-view .arrow-cluster .key .lucide,.practice-view .key-grid[data-hardware] .arrow-cluster .key.special>.lucide{width:11px;height:11px}@media(min-width:1024px)and (max-height:600px){.focus-mode .practice-view .keyboard-scroll{padding-block:3px}}@media(min-width:1024px)and (max-height:900px){.focus-mode .practice-workbench .metrics{grid-template-columns:repeat(4,minmax(max-content,1fr))}}body.is-typing:not(.distraction-free) :is(#mistakeFeedback,#inputHelp){display:none!important}.practice-view .keyboard-scroll{overflow-y:hidden}.practice-view .input-wrap textarea{overflow-y:hidden;scrollbar-width:none}.practice-view .input-wrap textarea::-webkit-scrollbar{display:none}.keyboard-stage{position:relative}.keyboard-stage:has(>.keyboard-alphabet-panel:not([hidden]))>.keyboard-scroll[hidden]{display:block!important;visibility:hidden}.keyboard-stage:has(>.keyboard-alphabet-panel:not([hidden]))>.keyboard-bottom[hidden]{display:flex!important;visibility:hidden}@media(min-width:1024px)and (max-height:1039px){:root:is([data-text-size="1.15"],[data-text-size="1.3"]) body.focus-mode:not(.distraction-free) .keyboard-stage>.keyboard-bottom[hidden]{display:none!important}}.keyboard-stage>.keyboard-alphabet-panel{position:absolute;inset:0;z-index:1;margin:0;padding-top:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.keyboard-stage>.keyboard-alphabet-panel .keyboard-alphabet-heading{position:sticky;top:0;z-index:1;padding-top:14px;background:#2b121e}@media(min-width:1101px){.keyboard-stage>.keyboard-alphabet-panel .alphabet-combinations{grid-template-columns:repeat(6,minmax(0,1fr))}.keyboard-stage>.keyboard-alphabet-panel .alphabet-combination{min-height:0;padding-block:4px}}.result-dialog{width:min(640px,calc(100% - 32px))}.result-dialog .result-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.result-dialog .result-grid strong{font-size:24px}.result-dialog .result-actions button{white-space:nowrap}.result-dialog .error-report{display:flex;flex-direction:column}.result-dialog .error-report>.result-goal{order:-3}.result-dialog .error-report>:is(p:has(+ul),ul){order:-2}.result-dialog .error-report>#practiseMistakes{order:-2;align-self:flex-start;margin:0 0 6px;scroll-margin-bottom:190px}.result-dialog .result-footer{position:sticky;bottom:calc(-1*var(--dialog-pad));z-index:1;margin:12px calc(-1*var(--dialog-pad)) calc(-1*var(--dialog-pad));background:#311420;border-top:1px solid #5b2b3e}.result-dialog .result-footer>.result-actions{position:static;margin:0;border-top:0}.result-dialog .result-footer>.promo-result{margin:0;padding:12px var(--dialog-pad) 0;border-top:0}.result-dialog .error-report ul{margin:6px 0 8px}.mistake-snippets mark{display:inline-block;line-height:inherit;vertical-align:top}@media(max-height:760px){.result-dialog .result-grid{padding:10px 0}.result-dialog .certificate-note{margin-top:10px;padding-block:8px}.result-dialog .result-footer>.promo-result{padding-top:10px}.result-dialog .result-footer>.result-actions{padding-block:11px}.result-dialog:has(#certificateNote:not([hidden])) .error-report:has(>p:only-child){display:none}}@media(max-height:600px){.result-dialog h2{margin-bottom:6px}.result-dialog .result-grid{padding:6px 0;gap:8px}.result-dialog .result-grid strong{font-size:21px}.result-dialog .certificate-note{margin-top:8px;padding-block:6px}.result-dialog .error-report{margin:8px 0 2px}.result-dialog .error-report ul{margin:4px 0 6px}.result-dialog .result-footer>.promo-result{padding-top:8px}.result-dialog .result-footer .promo-logo{width:40px;height:40px}.result-dialog .result-footer>.result-actions{padding-block:9px}}.share-dialog{width:min(520px,calc(100% - 32px))}.share-dialog .share-preview{max-height:calc(90vh - 330px)}.ui-bo .share-dialog .share-preview{max-height:calc(90vh - 390px)}@media(min-width:1024px)and (max-height:820px){.share-dialog[open]{display:grid;grid-template-columns:min(calc((90vh - 150px)*.8),448px) minmax(260px,320px);grid-template-rows:auto auto auto auto 1fr;column-gap:26px;width:fit-content;max-width:calc(100% - 32px)}.share-dialog[open]>.dialog-heading{grid-column:1/-1;margin-bottom:16px}.share-dialog[open]>.share-preview{grid-column:1;grid-row:2/span 4;align-self:start;justify-self:center;height:min(calc(90vh - 150px),560px);width:auto;max-width:none;max-height:none;margin:0}.share-dialog[open]>.card-format{grid-column:2;grid-row:2;justify-self:start;margin-top:0}.share-dialog[open]>.share-tag{grid-column:2;grid-row:3;margin-top:14px;text-align:left}.share-dialog[open]>.share-buttons{grid-column:2;grid-row:4;justify-content:flex-start;flex-wrap:wrap;margin-top:14px}.share-dialog[open]>.share-status{grid-column:2;grid-row:5;align-self:start;text-align:left}}@media(min-width:1024px){.settings-dialog{width:min(900px,calc(100% - 32px))}.settings-dialog .settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ui-bo .settings-dialog .settings-grid label:has(#errorMode){grid-column:span 2}.settings-dialog .toggles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px}}.settings-dialog>.primary-button.full{position:sticky;bottom:0;z-index:1;box-shadow:0 0 0 var(--dialog-pad) #311420}@media(max-height:1000px){.ui-bo .settings-dialog .toggles label{padding-block:7px}.ui-bo .settings-dialog .toggles small{margin-top:4px}}#setupView :is(.setup-tip,.setup-footnote p,.setup-help details p,.setup-step p,.setup-panel-intro){max-width:75ch}.save-note{max-width:75ch}@media(min-width:2400px)and (min-height:1300px){.focus-mode .topbar,.focus-mode main,.game-mode .topbar,.game-mode main{zoom:1.25}}@media(min-width:2400px)and (min-height:1560px){.focus-mode .topbar,.focus-mode main,.game-mode .topbar,.game-mode main{zoom:1.5}}@media(min-width:3600px)and (min-height:1900px){.focus-mode .topbar,.focus-mode main,.game-mode .topbar,.game-mode main{zoom:1.75}}@media(min-width:2400px){main:has(>#lessonsView:not([hidden])),main:has(>#readingView:not([hidden])),html:is([data-boot-view=lessons],[data-boot-view=reading]) main{max-width:1900px}:is(#lessonsView,#readingView) .curriculum-timeline{grid-template-columns:repeat(3,minmax(0,1fr))}}.promo-line-logo{display:inline-block;height:18px;width:auto;max-width:80px;object-fit:contain;vertical-align:middle;margin-right:6px}.site-footer .promo-footer .promo-line-logo{height:22px;max-width:110px}.promo-inline .promo-line-logo{height:20px;max-width:80px;margin-top:-2px;margin-bottom:-2px}:where(.completion-toast){display:block;top:auto;right:auto;margin:0;border:0;overflow:visible}.main-nav .nav-button{display:flex;align-items:center;gap:11px;width:100%;min-height:45px;padding:10px 13px;border:0;border-radius:6px;background:none;color:#dec6d1;font:inherit;text-align:left}.main-nav .nav-button:hover{background:#3d1c2d;color:#fff}.practice-menu .main-nav .nav-button{font-size:13px;min-height:40px;padding:8px 10px}.course-extras{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:14px;margin:-8px 0 24px}.extra-card{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:84px;padding:14px 18px;border:1px solid #673448;border-radius:7px;background:#361824;transition:border-color .2s}.extra-card:hover{border-color:#bc7d98}.extra-card h3{font-size:15px;font-weight:600;line-height:1.4;color:#fff5f8}.extra-card p{font-size:12px;line-height:1.6;color:#cba8b8;margin-top:3px}.extra-card>.lucide{width:16px;height:16px;color:#d8a3ba}.extra-art{display:block;width:52px;height:52px;flex-shrink:0}.extra-link{all:unset;cursor:pointer;color:inherit;font:inherit;line-height:inherit}.extra-link:after{content:"";position:absolute;inset:0;border-radius:7px}.extra-link:focus-visible{outline:none}.extra-card:focus-within{outline:3px solid #efa5b9;outline-offset:3px}.ui-bo .extra-card :is(h3,p){line-height:1.9}.games-row{margin:-6px 0 26px}.games-row .section-title{margin:0 0 12px}.game-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.game-tile{position:relative;display:flex;flex-direction:column;border:1px solid #673448;border-radius:8px;background:#361824;color:inherit;text-decoration:none;overflow:hidden;transition:border-color .2s,transform .2s}.game-tile:hover{border-color:#bc7d98;transform:translateY(-2px)}.game-tile:focus-visible{outline:3px solid #efa5b9;outline-offset:3px}.game-tile-pic{display:block;aspect-ratio:16/9;background:#4a2234;overflow:hidden}.game-tile-pic img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.game-tile:hover .game-tile-pic img{transform:scale(1.03)}.game-tile-text{display:grid;gap:3px;padding:11px 14px 13px}.game-tile-text strong{font-size:15px;font-weight:600;line-height:1.4;color:#fff5f8}.game-tile-text span{font-size:12px;line-height:1.55;color:#cba8b8}.ui-bo .game-tile-text strong{line-height:1.7}.ui-bo .game-tile-text span{line-height:1.85}@media(prefers-reduced-motion:reduce){.game-tile,.game-tile-pic img{transition:none}.game-tile:hover,.game-tile:hover .game-tile-pic img{transform:none}}@media(max-width:900px){.game-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.nav-games{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;margin:4px 0}.nav-games-label{grid-column:1/-1;padding:6px 10px 2px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#b68c9d}.ui-bo .nav-games-label{font-size:13px;letter-spacing:0;text-transform:none}.practice-menu .main-nav .nav-games a{min-width:0}.practice-menu .main-nav .nav-games a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setup-next{display:flex;align-items:center;gap:16px;margin:18px 0 0;padding:14px 18px;border:1px solid #5b2b3e;border-radius:10px;background:#2c1220}.setup-next p{flex:1;font-size:13px;line-height:1.7;color:#ecd2dd}.setup-next .outline-button{flex-shrink:0}.ui-bo .setup-next p{line-height:1.9}.start-right-dialog{width:min(880px,calc(100% - 32px))}.start-right-dialog .dialog-heading{align-items:center}.start-right-heading-actions{display:flex;align-items:center;gap:10px;margin-right:-9px;align-self:flex-start}.start-right-count{font-size:12px;color:#c9abb7;font-variant-numeric:tabular-nums;white-space:nowrap}.start-right-dialog :is(h2,h3)[tabindex="-1"]:focus{outline:none}.start-right-steps{display:grid;margin:0;padding:0;list-style:none}.start-right-step{grid-area:1/1;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:28px;align-items:center}.start-right-step:not(.is-current){visibility:hidden}.start-right-figure{margin:0;height:clamp(180px,40vh,300px);background:#2b121e;border:1px solid #5b2b3e;border-radius:10px;padding:10px}.start-right-art{display:block;width:100%;height:100%}.start-right-figure.is-photo{justify-self:center;width:auto;max-width:100%;aspect-ratio:720/538;padding:0;border:0;border-radius:12px;background:#4a1a2b;overflow:hidden}.start-right-photo{display:block;width:100%;height:100%;object-fit:cover}.start-right-key{font:600 12px DM Sans,sans-serif;fill:#fff5fa}.start-right-mapkey{font:600 9px DM Sans,sans-serif;fill:#241019}.start-right-big{font:600 40px DM Sans,sans-serif;fill:#fff5f8}.start-right-marker{font-family:DM Sans,sans-serif}.start-right-text h3{font-size:20px;font-weight:500;line-height:1.4;color:#fff5f8;margin-bottom:8px}.start-right-text p{font-size:14px;line-height:1.75;color:#ecd2dd}.start-right-points{display:grid;gap:8px;margin:14px 0 0;padding:0;list-style:none;counter-reset:point}.start-right-points li{position:relative;padding-left:18px;font-size:13px;line-height:1.7;color:#e3c6d2}.start-right-points li:before{content:"";position:absolute;left:3px;top:.68em;width:6px;height:6px;border-radius:50%;background:#efa5b9}.start-right-points.is-numbered li{padding-left:30px;counter-increment:point}.start-right-points.is-numbered li:before{content:counter(point);left:0;top:.1em;width:20px;height:20px;display:grid;place-items:center;background:#c39a4a;color:#2a1018;font-size:11px;font-weight:700;line-height:1}.start-right-keys{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 14px;align-items:center;margin:14px 0 0}.start-right-keys dt{font-size:12px;color:#c9abb7}.start-right-keys dd{display:flex;gap:5px;margin:0}.start-right-keys kbd{min-width:28px;height:28px;font-size:12px;font-weight:600}.start-right-fingers{margin-top:14px;gap:14px}.start-right-fingers .finger{font-size:12px}.start-right-footer{display:flex;align-items:center;gap:9px;margin-top:20px}.start-right-dots{display:flex;align-items:center;gap:6px;margin-right:auto}.start-right-dots i{width:6px;height:6px;border-radius:3px;background:#704356;transition:width .2s,background-color .2s}.start-right-dots i.is-done{background:#c39a4a}.start-right-dots i.is-current{width:18px;background:#efa5b9}.start-right-footer button{white-space:nowrap}.ui-bo .start-right-text p,.ui-bo .start-right-points li,.ui-bo .start-right-keys dt{line-height:1.9}.ui-bo .start-right-text h3{font-size:19px;line-height:1.7;margin-bottom:4px}@media(max-height:620px){.start-right-dialog .dialog-heading{margin-bottom:12px}.start-right-figure{height:clamp(170px,36vh,230px)}.start-right-footer{margin-top:14px}}@media(max-width:760px){.start-right-step{grid-template-columns:minmax(0,1fr);gap:16px}.start-right-figure{height:200px}}.break-card{display:flex;align-items:flex-start;gap:12px;margin:12px var(--dialog-pad,28px) 0;padding:10px 14px;border-left:2px solid #c17393;background:#3a1a28;border-radius:0 8px 8px 0}.break-card .break-art{display:block;width:40px;height:40px;flex-shrink:0}.break-card>div{display:flex;flex-direction:column;min-width:0}.break-card strong{display:block;font-size:14px;font-weight:600;color:#fff5f8}.break-card div span{display:block;font-size:12px;line-height:1.6;color:#ecd2dd}.break-card .break-tip{color:#e6bd99}.ui-bo .break-card :is(span,strong){line-height:1.9}.badges-section{margin:28px 0 8px}.badges-section .section-title{margin-top:0}.badge-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 20px}.badge-group{display:grid;gap:6px;min-width:0}.badge-group-label{font-size:11px;font-weight:700;color:#e6a4bb}.badge-list{display:flex;gap:8px;margin:0;padding:0;list-style:none}.badge{width:78px;display:grid;justify-items:center;align-content:start;gap:4px;padding:6px 2px 8px;border:1px solid transparent;border-radius:8px;background:none;color:inherit;text-align:center;min-height:0}.badge:hover,.badge.is-selected{background:#341722;border-color:#5b2b3e}.badge:focus-visible{outline:3px solid #efa5b9;outline-offset:2px}.badge-art{display:block;width:56px;height:56px}.badge-art svg{display:block}.badge-glyph{font-family:var(--tibetan)}.badge-number{font:700 10px DM Sans,sans-serif}.badge-name{font-size:12px;line-height:1.35;color:#f0d7e2;overflow-wrap:anywhere}.badge.is-locked .badge-name{color:#c9abb7}.badge-state{display:flex;justify-content:center;font-size:11px;line-height:1.4;color:#c49ead;font-variant-numeric:tabular-nums;min-height:16px}.badge-state .lucide{width:14px;height:14px;color:#c39a4a;stroke-width:2.4}.badge-detail{margin:12px 0 0;padding:9px 14px;border-left:2px solid #c39a4a;background:#2c1220;border-radius:0 8px 8px 0;font-size:13px;line-height:1.7;color:#ecd2dd;min-height:42px}.badge-detail strong{color:#fff5f8;font-weight:600}.ui-bo :is(.badge-name,.badge-detail,.badge-group-label){line-height:1.9}.badge-note{display:flex;align-items:center;gap:14px;padding:12px 16px;margin:14px 0 0;border:1px solid #c39a4a;border-radius:10px;background:linear-gradient(135deg,#3a1828,#2c1220)}.badge-note>div{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:10px;row-gap:2px;flex:1;min-width:0}.badge-note .badge-note-kicker{font-size:11px;font-weight:700;color:#e6a4bb}.badge-note>div>span:last-child{flex-basis:100%}.badge-note strong{font-size:14px;font-weight:600;color:#fff5f8}.badge-note strong span{font:inherit;color:inherit}.badge-note>div>span:last-child{font-size:12px;color:#c9abb7}.badge-note .badge-art{display:flex;width:auto;height:44px;flex-shrink:0}.badge-note .badge-art svg+svg{margin-left:-10px}.badge-note .badge-art svg{animation:badge-arrive .32s cubic-bezier(.2,.8,.2,1)}.badge-note .text-button{flex-shrink:0;white-space:nowrap}@keyframes badge-arrive{0%{transform:scale(.86);opacity:.4}to{transform:none;opacity:1}}.ui-bo .badge-note :is(strong,span){line-height:1.9}@media(max-height:760px){.result-dialog .badge-note{margin-top:10px;padding-block:8px}.result-dialog:has(#badgeNote:not([hidden])) :is(.error-report:has(>p:only-child),.promo-result){display:none}}@media(max-height:600px){.result-dialog .badge-note{margin-top:8px;padding-block:6px}}@media(min-width:1024px){.ui-bo .settings-dialog .settings-grid label:has(#errorMode){grid-column:auto}}@media(max-height:620px){.settings-dialog .dialog-heading{margin-bottom:14px}.settings-dialog .settings-grid{margin-bottom:16px}}@media(max-height:620px){.result-dialog .break-card .break-tip{display:none}.result-dialog:has(#breakCard:not([hidden])) .badge-note>div>span:last-child{display:none}}@media(max-height:880px){.result-dialog:has(#badgeNote:not([hidden])) .error-report>:is(.mistake-snippets,.mistake-snippets-label){display:none}}@media(max-height:760px){.result-dialog:has(#badgeNote:not([hidden])) .break-card .break-tip{display:none}}@media(max-height:700px){.result-dialog .error-report>:is(.mistake-snippets,.mistake-snippets-label){display:none}}@media(min-height:701px)and (max-height:760px){.result-dialog .mistake-snippets>span:nth-child(n+2){display:none}}@media(max-height:660px){.result-dialog:has(#badgeNote:not([hidden])) .error-report>.result-goal{display:none}}@media(max-height:620px){.result-dialog:has(#badgeNote:not([hidden])) .break-card{margin-top:8px;padding-block:6px}.result-dialog:has(#breakCard:not([hidden])) .badge-note .badge-art{height:36px}.result-dialog:has(#breakCard:not([hidden])) .badge-note .badge-art svg{width:36px;height:36px}}.game-mode .main-shell{display:flex;flex-direction:column;height:100vh;height:100dvh}.game-mode main{flex:1;min-height:0;display:flex;flex-direction:column;max-width:1240px;width:100%;padding-top:12px;padding-bottom:12px}.game-mode #gameView{flex:1;min-height:0;display:flex;flex-direction:column}.game-mode .site-footer{display:none}.game-mode #gameView .page-heading{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.game-mode .game-view,.game-mode .page-view.game-view:not(#practiceView){flex:1;min-height:0;display:flex;flex-direction:column}.game-mode main:has(.game-page:not([hidden])){max-width:1600px}.game-bar{display:flex;align-items:center;gap:14px;flex:none;height:40px;margin-bottom:8px;transition:height .25s ease,margin .25s ease,opacity .2s ease,visibility 0s}.game-bar h1{margin:0;font-size:16px;font-weight:500;line-height:1.3;color:#f6dce7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-bar h1:focus{outline:none}.game-back{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px 0 10px;border:1px solid #704356;border-radius:6px;background:#3b1d2b;color:#f3dce6;font:inherit;font-size:13px;font-weight:500;cursor:pointer;flex:none}.game-back:hover{background:#4c2336;border-color:#a0637d;color:#fff}.game-back:focus-visible{outline:3px solid #efa5b9;outline-offset:2px}.game-back .lucide{width:16px;height:16px}.game-playing .game-bar{height:0;margin-bottom:0;opacity:0;overflow:hidden;visibility:hidden;pointer-events:none;transition:height .25s ease,margin .25s ease,opacity .15s ease,visibility 0s .25s}.ui-bo .game-bar h1{font-size:17px;line-height:1.6}.ui-bo .game-back{font-size:14px}.game-host{position:relative;flex:1;min-height:0}.game-host>.bs-game{position:absolute;inset:0}.game-host.yak-game{height:auto;min-height:0;border:1px solid #693448;border-radius:10px}.game-loading{display:flex;align-items:center;justify-content:center;gap:10px;flex:1;margin:0;border:1px solid #693448;border-radius:10px;background:#351924;color:#e3c6d2;font-size:14px}.game-loading:not([hidden])+.game-host{display:none}.game-loading .lucide{width:20px;height:20px;animation:game-spin 1s linear infinite}@keyframes game-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.game-loading .lucide{animation:none}}.game-mode .topbar{transition:height .25s ease,opacity .2s ease,visibility 0s}.game-playing .topbar{height:0!important;border-bottom-width:0;opacity:0;overflow:hidden;visibility:hidden;pointer-events:none;transition:height .25s ease,opacity .15s ease,visibility 0s .25s}.game-stage{position:relative;flex:1;min-height:320px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#351924;border:1px solid #693448;border-radius:10px;box-shadow:0 8px 30px #10050b25;overflow:hidden}.game-hud{display:flex;align-items:center;gap:22px;height:52px;padding:0 10px 0 18px;background:#381a28;border-bottom:1px solid #5b2b3e}.game-stat{display:flex;align-items:baseline;gap:7px}.game-stat small{font-size:11px;color:#c7a3b5}.game-stat strong{font-size:20px;font-weight:500;line-height:1;color:#fff7fb;font-variant-numeric:tabular-nums}.game-lives{display:flex;gap:6px;margin-inline:auto}.game-lamp{display:block;width:18px;height:24px}.game-lamp svg{display:block}.game-lamp .lamp-flame{transition:opacity .22s ease}.game-lamp.is-out .lamp-flame{opacity:0}.game-lamp.is-out .lamp-bowl{fill:#704356}.game-lamp.is-out .lamp-wick{stroke:#704356}.game-hud-actions{display:flex;gap:2px}.game-hud .icon-button{width:40px;height:40px;min-height:40px}.game-hud .icon-button:focus-visible{outline:3px solid #efa5b9;outline-offset:-3px}.game-field{position:relative;overflow:hidden;background:radial-gradient(circle at 7% 12%,#f6dce770 0 1.2px,transparent 1.8px),radial-gradient(circle at 19% 34%,#f6dce74d 0 1px,transparent 1.6px),radial-gradient(circle at 33% 9%,#f6dce75c 0 1.4px,transparent 2px),radial-gradient(circle at 48% 26%,#f6dce740 0 1px,transparent 1.6px),radial-gradient(circle at 63% 7%,#f6dce766 0 1.2px,transparent 1.8px),radial-gradient(circle at 77% 30%,#f6dce74d 0 1px,transparent 1.6px),radial-gradient(circle at 91% 15%,#f6dce766 0 1.4px,transparent 2px),linear-gradient(#2b121e,#351924)}.game-item{position:absolute;top:0;left:0;padding:2px 14px;border:1px solid #875168;border-bottom-color:#190911;border-radius:8px;background:#4c2336;color:#fff4f8;font-family:var(--tibetan);font-size:calc(clamp(28px,6.2vh,56px) * var(--text-scale,1));line-height:1.9;white-space:nowrap;will-change:transform}.game-item.is-next{border-color:#da8faa}.game-item.is-target{z-index:2;background:#873651;border-color:#c26887;box-shadow:0 2px #ffb5cd}.game-item.is-demo{opacity:.55;will-change:auto}.game-item.is-caught{animation:game-catch .16s ease-out forwards}@keyframes game-catch{to{opacity:0;transform:var(--at) scale(1.15)}}.game-item.is-landed{animation:game-land .22s ease-out forwards}@keyframes game-land{to{opacity:0;filter:saturate(0)}}.game-burst{position:absolute;top:0;width:64px;height:64px;margin:-32px 0 0 -32px;border:2px solid #a2d3b1;border-radius:50%;pointer-events:none;animation:game-burst .32s cubic-bezier(.2,.8,.2,1) forwards}@keyframes game-burst{0%{opacity:.9;transform:var(--at) scale(.45)}to{opacity:0;transform:var(--at) scale(1.5)}}.game-hint{position:absolute;left:50%;top:100%;transform:translate(calc(-50% + var(--hint-shift,0px)));margin-top:6px;display:flex;gap:4px;align-items:center;font-family:DM Sans,sans-serif;font-size:12px;line-height:1;white-space:nowrap}.game-hint>i{font-style:normal;color:#c49ead}.game-step{display:flex;align-items:center;gap:2px}.game-step kbd{min-width:24px;height:24px;font-size:11px}.game-step.is-done kbd{opacity:.45}.game-step.is-current kbd{background:#934361;color:#fff;border-color:#d98da9}.game-level-banner{position:absolute;inset:52px 0 72px;z-index:3;display:grid;place-items:center;font-size:34px;font-weight:600;color:#fff5f8;text-shadow:0 2px 18px #10050b;pointer-events:none;opacity:0}.game-level-banner.is-shown{animation:game-banner .9s ease forwards}@keyframes game-banner{0%{opacity:0;transform:scale(.96)}15%,75%{opacity:1;transform:none}to{opacity:0}}.game-tray{position:relative;display:flex;align-items:center;gap:12px;padding:10px 16px 12px;background:#30131f;border-top:1px solid #5b2b3e}.game-tray .game-input{flex:1;min-width:0;margin:0}.game-input textarea{height:50px;min-height:0;max-height:none;padding:3px 14px;font-size:26px;line-height:1.7;resize:none;overflow:hidden}.game-tray.is-rejected .game-input{border-color:#e5484d;animation:card-shake .42s cubic-bezier(.36,.07,.19,.97),card-glow .6s ease-out}.game-tray.is-still .game-input{border-color:#e5484d}.game-help{flex:0 1 auto;max-width:min(58%,640px);max-height:52px;overflow:hidden;margin:0;padding:4px 12px;border-left:2px solid #f0c394;border-radius:0 6px 6px 0;background:#3a1a28;font-size:12px;line-height:1.5;color:#f0c394}.game-panel{position:absolute;inset:52px 0 0;z-index:4;display:grid;place-items:center;padding:16px;background:#241019d9}.game-card{width:min(560px,100%);max-height:100%;overflow:auto;padding:24px 28px;border:1px solid #91546d;border-radius:10px;background:#311420;box-shadow:0 25px 90px #0b010b88}.game-card.is-small{width:min(420px,100%)}.game-card h2{font-size:23px;font-weight:500;line-height:1.35;color:#fff5f8;margin-top:6px}.game-card h2:focus{outline:none}.game-lead{margin-top:8px;font-size:14px;line-height:1.7;color:#ecd2dd}.game-rules{display:grid;gap:6px;margin:12px 0 0;padding:0;list-style:none}.game-rules li{position:relative;padding-left:18px;font-size:13px;line-height:1.7;color:#e3c6d2}.game-rules li:before{content:"";position:absolute;left:3px;top:.68em;width:6px;height:6px;border-radius:50%;background:#efa5b9}.game-setup{display:flex;align-items:flex-end;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid #5b2b3e}.game-setup label{display:grid;gap:6px;margin-right:auto;font-size:12px;color:#eccad9}.game-setup .game-best-line{margin-bottom:10px}.game-setup .primary-button{flex-shrink:0;min-width:120px}.game-setup select{min-height:40px;padding:8px 10px;border:1px solid #774158;border-radius:5px;background:#24101a;color:#fff0f7;font-size:13px}.game-best-line{display:flex;align-items:baseline;gap:8px;font-size:13px;color:#c9abb7}.game-best-line strong{font-size:17px;font-weight:600;color:#f0c394;font-variant-numeric:tabular-nums}.game-note{margin-top:12px;font-size:12px;line-height:1.6;color:#c49ead}.game-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.game-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px;padding:14px 0;border-block:1px solid #5b2b3e}.game-results strong{display:block;font-size:26px;font-weight:500;line-height:1.2;color:#efa5b9;font-variant-numeric:tabular-nums}.game-results span{display:block;margin-top:2px;font-size:11px;line-height:1.5;color:#c9abb7}#gameOver .game-results+*{margin-top:14px}.game-new-best{display:inline-flex;align-items:center;gap:6px;padding:4px 12px 4px 9px;border-radius:20px;background:#c39a4a;color:#2a1018;font-size:12px;font-weight:700}.game-new-best .lucide{width:14px;height:14px;fill:#2a1018}.game-panel .break-card{margin:14px 0 0}.ui-bo :is(.game-lead,.game-rules li,.game-note,.game-results span,.game-help,.game-best-line){line-height:1.9}.ui-bo .game-card h2,.ui-bo .game-tray .game-help{line-height:1.7}@media(max-height:620px){.game-card{padding:18px 22px}.game-results{margin-top:12px;padding:10px 0}.game-actions{margin-top:14px}.game-panel .break-card .break-tip{display:none}}@media(prefers-reduced-motion:reduce){.game-level-banner.is-shown{opacity:1}}.keyboard-check-choices:has(>[data-choose-layout=monlam]:not([hidden])){display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.keyboard-check-choices:has(>[data-choose-layout=monlam]:not([hidden])) .outline-button{min-height:42px;padding:5px 8px;line-height:1.25;text-align:center;justify-content:center}.setup-keys{display:inline-flex;align-items:center;gap:5px;margin-left:6px;vertical-align:middle}.setup-keys kbd{display:inline-flex;align-items:center;min-height:26px;padding:0 8px;border:1px solid #8a5a6d;border-bottom-width:3px;border-radius:6px;background:#3b1d2b;color:#fff5f8;font:inherit;font-size:12px;font-weight:600}.setup-keys [lang=bo]{font-size:20px;line-height:1}.kt-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:18px 32px;align-items:start;padding:20px 22px;border:1px solid #c39a4a;border-radius:12px;background:linear-gradient(135deg,#3a1828,#2c1220)}.kt-how{margin:0;padding-left:20px;display:grid;gap:6px;font-size:13.5px;line-height:1.7;color:#ecd2dd}.kt-tools{display:grid;gap:12px}.kt-env{font-size:13px;line-height:1.6;color:#ddbdcc}.kt-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.kt-progress{font-size:12.5px;color:#c9abb7;font-variant-numeric:tabular-nums}.kt-group{margin-top:30px}.kt-group h2{font-size:18px;font-weight:600;color:#fff5f8}.kt-group>p,.kt-group summary p{margin-top:4px;font-size:13px;line-height:1.6}details.kt-group summary{cursor:pointer;list-style:none;padding:12px 16px;border:1px solid #4f2a3a;border-radius:10px;background:#2a1019}details.kt-group summary::-webkit-details-marker{display:none}details.kt-group summary h2:after{content:" +";color:#efa5b9}details.kt-group[open] summary h2:after{content:" –"}details.kt-group summary:focus-visible{outline:3px solid #efa5b9;outline-offset:3px}.kt-rows{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.kt-row{display:grid;grid-template-columns:30px minmax(0,1.35fr) minmax(0,.8fr) minmax(170px,1fr) minmax(0,.95fr) 36px;gap:10px 16px;align-items:center;padding:12px 14px;border:1px solid #4f2a3a;border-left:3px solid #4f2a3a;border-radius:10px;background:#2a1019}.kt-row[data-state=same]{border-left-color:#9be3b5}.kt-row[data-state=different]{border-left-color:#ffcf9c}.kt-no{font-size:12px;font-weight:600;color:#b48c9f;font-variant-numeric:tabular-nums}.kt-what{display:grid;gap:6px;min-width:0}.kt-what strong{font-size:13.5px;font-weight:600;color:#fff5f8}.kt-keys{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center}.kt-keys kbd{display:inline-flex;align-items:center;min-height:24px;padding:0 7px;border:1px solid #8a5a6d;border-bottom-width:2px;border-radius:5px;background:#3b1d2b;color:#fff5f8;font:inherit;font-size:11.5px;font-weight:600}.kt-keys .chord-plus{color:#b48c9f;font-size:11px}.kt-expected,.kt-type{display:grid;gap:3px;min-width:0}.kt-expected small,.kt-type small,.kt-result small{font-size:11px;color:#b48c9f}.kt-expected [lang=bo],.kt-result [lang=bo]{font-family:var(--tibetan);font-size:22px;line-height:1.6;color:#fff5f8;overflow-wrap:anywhere}.kt-result [lang=bo]{font-size:17px}.kt-outputs{display:flex;flex-wrap:wrap;gap:2px 8px}.kt-outputs [lang=bo]{font-size:19px}.kt-space{display:inline-block;margin:0 2px;padding:0 4px;border:1px dashed #8a5a6d;border-radius:4px;font-family:DM Sans,sans-serif;font-size:10px;line-height:1.6;color:#c9abb7;vertical-align:middle}.kt-empty{font-size:12px;color:#b48c9f}.kt-input{width:100%;height:56px;padding:0 12px;line-height:1.7;border:1px solid #9a5f78;border-radius:8px;background:#1d0b13;color:#fff5f8;font-family:var(--tibetan);font-size:22px}.kt-input:focus-visible{outline:3px solid #efa5b9;outline-offset:2px}.kt-result{display:grid;gap:2px;min-width:0;font-size:12.5px}.kt-status{display:inline-flex;align-items:center;gap:6px;color:#c9abb7}.kt-status .lucide{width:16px;height:16px}.kt-row[data-state=same] .kt-status{color:#9be3b5}.kt-row[data-state=different] .kt-status{color:#ffcf9c}.kt-result small{overflow-wrap:anywhere;line-height:1.5}@media(max-width:1180px){.kt-row{grid-template-columns:30px minmax(0,1fr) minmax(0,1fr) 36px}.kt-what{grid-column:2/4}.kt-clear{grid-column:4;grid-row:1}.kt-expected{grid-column:2}.kt-type{grid-column:3}.kt-result{grid-column:2/4}}@media(max-width:820px){.kt-intro{grid-template-columns:1fr}}.home-view,.classroom-view{visibility:hidden}.view-css-failed :is(.home-view,.classroom-view){visibility:visible}:root{--hm-bar:68px}@media(min-width:981px)and (max-height:900px){:root{--hm-bar:56px}}@media(min-width:1100px)and (max-height:950px){:root{--hm-bar:48px}}.topbar-logo{display:flex;align-items:center;flex-shrink:0;min-height:0;border-radius:6px}.topbar-logo img{display:block;height:34px;width:auto}@media(min-width:1100px)and (max-height:950px){.topbar-logo img{height:31px}}.site-footer .footer-home{display:block;flex-shrink:0;border-radius:6px}html[data-boot-view=home] #homeView{display:block!important}.home-mode main{max-width:none;padding:0}.home-mode .topbar{position:sticky;top:0;z-index:40}html:has(body.home-mode){scroll-padding-top:calc(var(--hm-bar) + 20px)}.home-mode .site-footer{margin:0;padding:30px max(clamp(24px,4.45vw,64px),calc((100% - 1312px)/2));background:#1d0b13;border-top-color:#3a1c29}.ui-bo .site-footer .footer-home{line-height:1}.topbar :is(.breadcrumb,.top-nav,.topbar-right){position:relative;z-index:1}.skip-practice,.focus-mode .skip-home{display:none}.focus-mode .skip-practice{display:inline}.keyboard-check-choices .outline-button[aria-pressed=true]{background:#6c2a43;border-color:#efa5b9;color:#fff;box-shadow:0 0 0 1px #efa5b9 inset}.language-switch[lang=bo]{padding-top:14px;padding-bottom:0}@media(min-width:1024px){.focus-mode .topbar{padding-inline:38px}}@media(min-width:1024px)and (max-width:1200px){.focus-mode .topbar{padding-inline:29px}}.course-extras{grid-template-columns:minmax(0,2fr) minmax(0,4fr);gap:12px;margin:-8px 0 20px;align-items:stretch}.course-extras .extra-card{min-height:84px;padding:12px 16px;grid-template-columns:44px minmax(0,1fr) auto;gap:12px}.course-extras .extra-art,.course-extras .extra-art svg{width:44px;height:44px}.course-extras .extra-card p{margin-top:2px;line-height:1.55}.games-row{margin:0;min-width:0}.game-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;height:100%}.game-tile{flex-direction:row;align-items:center;gap:10px;padding:10px;min-height:84px}.game-tile-pic{flex:none;width:80px;height:60px;aspect-ratio:auto;border-radius:6px}.game-tile-text{padding:0;gap:0;min-width:0}.game-tile-text strong{font-size:14px;line-height:1.35}.game-tile-text .game-tile-desc{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.ui-bo .game-tile-text strong{font-size:15px;line-height:1.6}.lessons-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;margin-bottom:23px}.lessons-bar .filter-tabs{margin-bottom:0}.games-note{display:flex;align-items:center;gap:7px;margin:0 0 0 auto;font-size:12px;line-height:1.5;color:#c49ead}.games-note .lucide{width:15px;height:15px;flex:none;color:#d8a3ba}.ui-bo .games-note{line-height:1.8}@media(min-width:1000px)and (max-height:700px){#lessonsView .library-overview{margin:18px 0;padding:12px 0}#lessonsView .library-overview img.is-flag{width:150px}}.game-field{background:linear-gradient(180deg,#241019bd,#24101999 55%,#2410194d),#1f2440 url(./assets/games/falling-field.webp?v=fb2c06a6e6) center bottom/cover no-repeat}.game-mode main:has(#gameView:not([hidden])){max-width:1600px}.next-key .next-label{font-size:13px}.next-key #currentHint{font-size:17px;gap:10px}.next-key .hint-letter{font-size:34px;line-height:1.35}.next-key .hint-sequence{gap:8px}.next-key .hint-sequence kbd{font-size:17px;min-width:38px;min-height:36px;padding:0 11px;line-height:34px}.next-key .hint-finger{font-size:17px}@media(max-height:700px){.next-key .next-label{font-size:11px}.next-key #currentHint{font-size:15px;gap:8px}.next-key .hint-letter{font-size:28px;line-height:1.2}.next-key .hint-sequence kbd{font-size:15px;min-width:32px;min-height:30px;padding:0 9px;line-height:28px}.next-key .hint-finger{font-size:15px}}@media(min-width:1100px){body:not(.focus-mode):not(.game-mode):not(.home-mode) main{max-width:1400px;padding-inline:clamp(64px,6.5vw,120px)}}.setup-stickers{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:22px 28px;align-items:center;margin-top:18px;padding:18px 22px;border:1px solid #5b2b3e;border-radius:12px;background:#2c1220}.sticker-preview{display:block;width:100%;height:auto;aspect-ratio:600/429;border-radius:8px;background:#f6eee6;box-shadow:0 0 0 1px #ffffff14,0 6px 18px #0000004d}.sticker-preview[hidden]{display:block;visibility:hidden}.sticker-copy{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0}.sticker-copy h2{margin:0;font-size:18px;font-weight:600;color:#fff5f8}.sticker-copy p{margin:0;font-size:13px;line-height:1.6;color:#ddbdcc}.sticker-print{display:flex;align-items:flex-start;gap:8px}.sticker-print .lucide{flex:none;width:15px;height:15px;margin-top:3px;color:#e6a4bb}.sticker-links{margin:4px 0;line-height:2}.sticker-link:not(.is-main){margin-right:16px}.sticker-link{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:#f0bad0;text-decoration:underline;text-decoration-color:#f0bad055;text-underline-offset:3px}.sticker-link .lucide{width:13px;height:13px}.sticker-link:hover{color:#fff5f8;text-decoration-color:currentColor}.sticker-link:focus-visible{outline:2px solid #efa5b9;outline-offset:3px;border-radius:4px}.sticker-link.is-main{display:flex;width:max-content;max-width:100%;margin-bottom:8px;line-height:1.4;min-height:42px;padding:9px 18px;border:1px solid #c26887;border-radius:8px;background:#a43b5c;color:#fff;font-size:14px;font-weight:600;text-decoration:none}.sticker-link.is-main .lucide{width:16px;height:16px}.sticker-link.is-main:hover{background:#b7486b}.sticker-tip{padding-top:10px;border-top:1px solid #4a2234;color:#c9abb7!important}.ui-bo .sticker-copy p{line-height:1.95}.ui-bo .sticker-link{font-size:14px}@media(max-width:760px){.setup-stickers{grid-template-columns:1fr}}@media(min-width:1024px){.focus-mode{--pv-air:clamp(4px, calc(5vh - 20px) ,24px)}.focus-mode.distraction-free{--pv-air:clamp(12px, calc(6vh - 18px) ,34px)}.focus-mode .main-shell{display:flex;flex-direction:column;min-height:calc(100vh - 1px)}.focus-mode .main-shell>.topbar{width:100%}.focus-mode .main-shell>main{flex:1 0 auto;display:flex;flex-direction:column;width:100%;padding-block:8px}.focus-mode #practiceView{margin-block:auto}.focus-mode .practice-view .session-launcher{padding-bottom:calc(6px + var(--pv-air)*.6)}.focus-mode .practice-workbench .exercise-body{padding-block:calc(8px + var(--pv-air)*.35) calc(8px + var(--pv-air)*.3)}.focus-mode .practice-view .keyboard{padding-top:calc(8px + var(--pv-air)*.7)}.focus-mode .practice-view .keyboard-bottom{margin-top:calc(4px + var(--pv-air)*.4)}.focus-mode .practice-view .exercise-footer{min-height:48px;padding-block:5px}.focus-mode .practice-view .next-key .hint-letter{transform:translateY(5px)}.focus-mode.distraction-free .practice-workbench .metrics{padding-block:calc(6px + var(--pv-air)*.12)}.focus-mode.distraction-free .practice-view .input-wrap{margin-top:calc(6px + var(--pv-air)*.15)}.focus-mode.distraction-free .practice-workbench .exercise-body{padding-bottom:4px}.focus-mode.distraction-free .practice-view .exercise-footer{min-height:50px}.focus-mode.distraction-free .practice-view .input-help:not(.is-warning){display:none}.focus-mode.distraction-free .practice-view #mistakeFeedback{min-height:40px}.focus-mode.distraction-free .practice-view #mistakeFeedback[hidden]{display:flex!important;visibility:hidden}}@media(min-width:1024px)and (max-height:800px){.focus-mode.distraction-free .topbar{transition:none}.focus-mode .practice-view .keyboard{max-width:960px;margin-inline:auto;width:100%}.focus-mode.distraction-free .practice-view .keyboard-bottom{display:none}.focus-mode .practice-view .arrow-cluster{contain:size}.focus-mode .practice-view .key-grid,.focus-mode .practice-view .key-row{gap:4px}.focus-mode .practice-view .key-grid[data-hardware=windows] .key.special:has(>.lucide):not([data-code=Backspace],[data-code=Enter]){flex-direction:row;align-items:center;justify-content:flex-start;gap:5px}.focus-mode .practice-view .key-grid[data-hardware=windows] .key.special.align-right:has(>.lucide):not([data-code=Backspace],[data-code=Enter]){justify-content:flex-end}}@media(min-width:1024px)and (max-height:740px){.focus-mode{--pv-air:9px}.focus-mode.distraction-free{--pv-air:clamp(12px, calc(6vh - 22px) ,20px)}.focus-mode .main-shell>main{padding-bottom:4px}.focus-mode:not(.session-on) .practice-view .exercise-meta,.focus-mode.session-done .practice-view .exercise-meta{display:none}.focus-mode:not(.session-on) .practice-view .target-text,.focus-mode.session-done .practice-view .target-text{margin-top:0}}@media(min-width:1024px)and (max-height:600px){:root:not([data-text-size="1.15"],[data-text-size="1.3"]) .focus-mode.distraction-free .practice-view .target-text{line-height:2.05;height:calc(2lh + 12px);max-height:none;padding-block:8px 4px}:root:not([data-text-size="1.15"],[data-text-size="1.3"]) .focus-mode.distraction-free .practice-view .key-row:not(.function-row)>.key{height:30px}:root:not([data-text-size="1.15"],[data-text-size="1.3"]) .focus-mode.distraction-free .practice-view .key strong{font-size:16px;min-height:0;line-height:1;transform:translateY(5.5px)}}@media(min-width:1024px)and (min-height:601px)and (max-height:740px){:root:not([data-text-size="1.15"],[data-text-size="1.3"]) .focus-mode.distraction-free .practice-view .target-text{line-height:2.1;height:calc(2lh + 12px);max-height:none;padding-block:8px 4px}:root:not([data-text-size="1.15"],[data-text-size="1.3"]) .focus-mode.distraction-free .practice-view .key-row:not(.function-row)>.key{height:35px}:root:not([data-text-size="1.15"],[data-text-size="1.3"]) .focus-mode.distraction-free .practice-view .key strong{font-size:18px}}@media(min-width:1024px)and (max-height:740px){:root:is([data-text-size="1.15"],[data-text-size="1.3"]) .focus-mode.distraction-free{--pv-air:8px}}.ui-bo :is(.eyebrow,.count-label,.library-total span,.lesson-card-top,.section-title>span,.badge-group-label,.history-item small,.device-status,.promo-copy small,.promo-copy span,.chart-column small,.progress-stat small,.progress-stat strong span,.result-grid span,.metric small,.metric-label,.goal-status,.exercise-meta,.keyboard-layer-status,.keyboard-legend,.finger-guide .finger,.session-launcher label,.keyboard-quick-layout label,.keyboard>.keyboard-options .layer-tabs button,.letter-legend,.library-status,.site-footer .footer-brand small,.class-goal small,.cr-meta,.next-key .next-label,.badge-note .badge-note-kicker,.lesson-card-footer){font-size:13px}.ui-bo :is(.keyboard-check-or,.keyboard-check-choices .outline-button,.keyboard-check-save,.outline-button,.navigation-toggle .menu-label,.top-nav a,.input-help,.badge-note>div>span:last-child,.text-button,.site-footer .footer-links a,.site-footer .footer-link-button,.library-overview p,.extra-card p,.filter-tabs button,.games-note,.lesson-card p,.library-more .outline-button,.course-progress p,.certificate-cta span,.save-note,.badge-name,.speed-empty,.history-item strong,.setup-good-news li,.setup-step p,.setup-tip,.setup-test p,.sticker-copy p,.setup-next p,.setup-help details p,.setup-footnote,.class-header .class-signout,.class-header p,.class-code-box>span,.class-code-box small,.class-code-box .text-button,.class-goal span,.homework-meta,.class-text-go,.classroom-view .cr-how-toggle,.error-report,.promo-button,.badge-detail){font-size:14px}@media(min-width:1024px)and (min-height:741px)and (max-height:800px){.ui-bo .focus-mode:not(.distraction-free){--pv-air:clamp(4px, calc(5vh - 33px) ,24px)}.focus-mode:not(.distraction-free){--pv-air:clamp(4px, calc(5vh - 21px) ,24px)}}.ui-bo :is(.game-stat small,.game-setup label,.game-results span,.game-new-best,.game-tray .game-help){font-size:13px}.ui-bo :is(.game-note,.empty-state p){font-size:14px}.ui-bo .settings-dialog :is(.settings-grid label,.toggles strong){font-size:14px}.ui-bo .settings-dialog .toggles small{font-size:13px}@media(min-width:1024px){.ui-bo .settings-dialog .toggles{column-gap:20px}.ui-bo .settings-dialog .toggles label{gap:10px}}@media(max-height:620px){.ui-bo .settings-dialog .toggles{margin-bottom:16px}.ui-bo .settings-dialog .toggles label{padding-block:5px}}.ui-bo #uploadDialog :is(.form-field,.settings-grid label,.upload-text-label,.rights-check,.connection-note){font-size:14px}.ui-bo #uploadDialog :is(.field-hint,.text-count){font-size:13px}.ui-bo :is(.start-right-count,.start-right-keys dt){font-size:13px}details .font-download{margin:12px 0 10px}details .font-download .outline-button{text-decoration:none}details .small-note{font-size:13px;color:var(--muted)}.setup-fonts{margin-top:16px}.setup-fonts .sticker-tip a{color:#f0bad0;text-underline-offset:3px}.setup-fonts .sticker-tip a:hover{color:#fff5f8}.font-need{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13px;line-height:1.55;color:#ddbdcc}.font-need li{display:flex;gap:8px;align-items:flex-start}.font-need b{color:#fff5f8;font-weight:600}.font-need .lucide{flex:none;width:15px;height:15px;margin-top:3px;color:#9fd3b5}.font-need li:last-child .lucide{color:#e6a4bb}.ui-bo .font-need{line-height:1.95;font-size:14px}.site-footer .footer-brand{min-width:max-content}.site-footer .footer-owner{white-space:nowrap}.site-footer .footer-links{flex-wrap:wrap;justify-content:center;row-gap:6px}.site-footer .footer-contact{white-space:nowrap}body.is-typing #keyGrid .key:not([data-flash]){transition:none}.site-footer{display:block}.site-footer .footer-top{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}.site-footer .footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 26px}.site-footer .footer-links a,.site-footer .footer-link-button{font-size:14px}.site-footer .footer-part{display:flex;align-items:center;gap:12px;color:#c9a6b7;font-size:13px;text-decoration:none;white-space:nowrap}.site-footer .footer-part img{display:block;height:34px;width:auto}.site-footer .footer-part:hover span{color:#fff}.site-footer .footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid #3e2030}.site-footer .footer-owner{margin:0;font-size:13px;color:#a98798;white-space:normal;justify-self:auto}.site-footer .footer-legal{display:flex;align-items:center;flex-wrap:wrap;gap:8px 22px}.site-footer .footer-legal a{display:inline;color:#e9c3d3;font-size:13px;white-space:nowrap}.site-footer .footer-legal a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}.site-footer .promo-footer:not(:empty){margin-top:14px}@media(max-width:980px){.site-footer .footer-top{grid-template-columns:1fr;justify-items:center;text-align:center}}@media(min-width:981px)and (max-width:1120px){.top-nav a{padding-left:6px;padding-right:6px}.topbar-right{gap:10px}}.keyboard-check-missing{display:flex;align-items:center;gap:12px;margin:4px 0 14px;padding:12px 14px;border:1px solid #a4566f;border-radius:10px;background:#4a1d2e}.keyboard-check-missing>.lucide{width:22px;height:22px;flex-shrink:0;color:#f0b4c8}.keyboard-check-missing>div{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;font-size:13px;line-height:1.5;color:#ecd2dd}.keyboard-check-missing strong{color:#fff;font-size:14px}.keyboard-check-missing .primary-button{flex-shrink:0;white-space:nowrap}@media(max-width:600px){.keyboard-check-missing{flex-wrap:wrap}.keyboard-check-missing .primary-button{width:100%;justify-content:center}}.no-keyboard-dialog{width:min(560px,calc(100% - 32px))}.no-keyboard-intro{font-size:14px;line-height:1.7;color:#ecd2dd;margin:6px 0 16px}.no-keyboard-paths{display:grid;gap:12px}.no-keyboard-path{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;border:1px solid #5c2a3d;border-radius:10px;background:#3a1726;font-size:13px;line-height:1.6;color:#d9bcc8}.no-keyboard-path.is-main{border-color:#a4566f;background:#4a1d2e}.no-keyboard-path strong{color:#fff;font-size:15px}.no-keyboard-path button{margin-top:8px}
