.lt-root{padding:18px 0 80px;display:grid;gap:16px}.lt-card{background:var(--card-bg);border-top:3px solid var(--accent, var(--seal));border-radius:var(--radius);box-shadow:var(--shadow);padding:22px 24px;display:grid;gap:14px;align-content:start}.lt-card h1{font:700 clamp(1.5rem,4vw,2.1rem)/1.2 "Be Vietnam Pro",sans-serif;margin:4px 0 6px}.lt-card h2{font:700 1.08rem Be Vietnam Pro,sans-serif;margin:0}.lt-card h3{font:600 .92rem Be Vietnam Pro,sans-serif;margin:0;color:var(--ink-soft)}.lt-q{display:grid;gap:8px}.lt-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.lt-goals{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.lt-goal{display:grid;gap:6px;align-content:start;text-align:left;padding:14px;border:1.5px solid #E4DDCB;border-radius:12px;background:var(--card-bg);cursor:pointer;font:inherit;color:var(--ink)}.lt-goal:hover{border-color:#c9c1ae}.lt-goal.is-on{border-color:var(--ink);box-shadow:0 0 0 2px var(--ink) inset}.lt-goal b{font-size:1rem}.lt-goal small{color:var(--ink-soft);font-size:.8rem;line-height:1.45}.lt-em{width:42px;height:42px;display:grid;place-items:center;border-radius:6px 10px 7px 8px;transform:rotate(-4deg);color:#fff;font-weight:700;font-size:1.25rem}.lt-chip{padding:7px 13px;border-radius:99px;border:1.5px solid #E4DDCB;background:var(--card-bg);font:600 .86rem Be Vietnam Pro,sans-serif;cursor:pointer;color:var(--ink)}.lt-chip.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}.lt-head{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:end}.lt-ring{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:14px;align-self:stretch;text-align:right;white-space:nowrap}.lt-ring b{font-size:1.6rem}.lt-ring small{display:block;color:var(--ink-soft);font-size:.8rem}.lt-bar{height:10px;border-radius:5px;background:#ece6da;overflow:hidden}.lt-bar b{display:block;height:100%;background:var(--seal)}.lt-ms{display:flex;gap:8px;flex-wrap:wrap}.lt-ms span{font-size:.8rem;padding:5px 10px;border-radius:8px;background:var(--paper)}.lt-ms span.is-ok{background:var(--jade-soft);color:var(--jade);font-weight:600}.lt-today{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.lt-task{display:grid;gap:4px;align-content:start;padding:12px 14px;border:1px solid #E4DDCB;border-radius:10px;text-decoration:none;color:var(--ink);background:var(--card-bg)}.lt-task:hover{border-color:#c9c1ae;box-shadow:0 2px 8px #22262b14}.lt-task small{color:var(--ink-soft);font-size:.78rem}.lt-task b{font-size:.96rem;line-height:1.35}.lt-task.is-done{border-color:var(--jade);background:var(--jade-soft)}.lt-task.is-done small:first-child{color:var(--jade);font-weight:600}.lt-min{font-weight:700;color:var(--seal);font-size:.76rem}.lt-sync{font-size:.82rem!important}.lt-sync a{color:var(--seal);font-weight:600}.lt-phases{display:grid}.lt-ph{display:grid;grid-template-columns:130px 1fr;gap:14px;padding:12px 0;border-top:1px solid #EFE9DC}.lt-ph:first-child{border-top:0}.lt-ph.is-now{background:linear-gradient(90deg,#FBF3E6,transparent);border-radius:8px;padding-left:8px}.lt-ph.is-now .lt-wk{color:var(--seal)}.lt-ph.is-past{opacity:.6}.lt-wk{font-weight:700;font-size:.9rem}.lt-wk small{display:block;font-weight:500;color:var(--ink-soft);font-size:.78rem;line-height:1.4}.lt-links{display:flex;gap:6px;flex-wrap:wrap;align-content:start}.lt-links a{font-size:.84rem;padding:5px 10px;border-radius:8px;border:1px solid #E4DDCB;color:var(--ink);text-decoration:none;background:var(--card-bg)}.lt-links a:hover{border-color:var(--ink-soft)}.lt-goal:focus-visible,.lt-chip:focus-visible,.lt-task:focus-visible,.lt-links a:focus-visible{outline:3px solid var(--azure);outline-offset:2px}@media (max-width:760px){.lt-goals{grid-template-columns:1fr 1fr}.lt-today{grid-template-columns:1fr}.lt-ph{grid-template-columns:1fr;gap:6px}.lt-head{grid-template-columns:1fr}.lt-ring{align-items:flex-start;text-align:left}}.lt-go{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.lt-start{font-size:.95rem;padding:11px 18px}.lt-all-done{font-weight:700;color:var(--jade)}.lt-test-btn{justify-self:start;margin-top:4px}.lt-date{font:inherit;padding:8px 10px;border:1.5px solid #E4DDCB;border-radius:10px;background:var(--card-bg);color:var(--ink);justify-self:start}.lt-hours{margin:6px 0 0;font-size:.92rem}.lt-warn{margin:8px 0 0;padding:10px 12px;border-radius:10px;background:#fbefe7;color:var(--ink);font-size:.9rem;line-height:1.55}.lt-warn .td-btn{margin-top:6px}.pl{display:grid;gap:12px}.pl-word{font-size:2.4rem;margin:6px 0 0;text-align:center}.pl-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}.pl-opt{text-align:left;font:inherit;padding:10px 12px;border:1.5px solid #E4DDCB;border-radius:10px;background:var(--card-bg);color:var(--ink);cursor:pointer}@media (hover:hover){.pl-opt:hover{border-color:var(--ink)}}.pl-opt:focus-visible{border-color:var(--ink);outline:3px solid var(--azure);outline-offset:2px}.pl-skip{color:var(--ink-soft)}.pl-zh{font-family:"Noto Serif SC",serif;line-height:1.9;font-size:1.02rem}.pl-title{text-align:center;font-weight:700;margin:0}.pl-blank{display:inline-block;min-width:2.2em;border-bottom:1.5px solid var(--ink);text-align:center;color:var(--seal);font-weight:700}.pl-parts{list-style:none;padding:0;margin:0;font-family:"Noto Serif SC",serif;display:grid;gap:4px}.pl-res{margin:0;padding-left:20px;display:grid;gap:4px}.lt-hsk-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:14px 0 4px}.lt-hsk-mocks{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.lt-mock{padding:5px 12px;border-radius:16px;border:1.5px solid #E4DDCB;background:var(--card-bg);color:var(--ink);font-size:.85rem;font-weight:600;text-decoration:none}.lt-mock:hover{border-color:var(--ink-soft)}.lt-mock.is-target{border-color:var(--seal);color:var(--seal)}.lt-mock--all{border-style:dashed;font-weight:500}.lt-mock:focus-visible{outline:2px solid var(--azure);outline-offset:2px}.pl-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.pl-clock{font-variant-numeric:tabular-nums;color:var(--ink-soft);font-size:.85rem}.pl-play{margin:6px 0 12px;width:auto!important;display:inline-flex!important}.pl-py{display:block;font-size:.78rem;color:var(--azure);font-family:IBM Plex Mono,monospace;margin-top:2px}.pl-stages{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:14px 0}.pl-stage{border:1.5px solid #E4DDCB;border-radius:10px;padding:10px;display:grid;gap:2px}.pl-stage.is-ok{border-color:var(--jade)}.pl-stage small{color:var(--ink-soft)}.pl-stage.is-ok small{color:var(--jade);font-weight:600}.pl-skills{list-style:none;padding:0;margin:6px 0 14px;display:grid;gap:8px}.pl-skills li{display:grid;grid-template-columns:80px 1fr 48px auto;align-items:center;gap:10px;font-size:.9rem}.pl-skills i{height:10px;border-radius:6px;background:linear-gradient(90deg,var(--jade) var(--p),#EEE8DA var(--p))}.pl-skills b{font-variant-numeric:tabular-nums}.pl-skills a{color:var(--seal);font-weight:600;text-decoration:none;font-size:.85rem}.pl-prog{height:4px;border-radius:2px;background:#ece6da;overflow:hidden;margin-top:-4px}.pl-prog i{display:block;height:100%;background:var(--accent, var(--seal));transition:width .3s}.pl-gq{font-size:1.25rem;margin:4px 0 0}.pl-result{font-size:2.1rem;margin:0;color:var(--seal)}.pl-lesson-name{margin:-6px 0 0;font-weight:600;min-height:1.4em}.pl-skills--cat li{grid-template-columns:80px auto auto 1fr}.pl-skills--cat small{color:var(--ink-soft)}.pl-cd{border-left:3px solid var(--jade);padding:2px 0 2px 12px;margin:4px 0 8px}.pl-cd p{margin:0 0 2px}.pl-cd ul{margin:0;padding-left:0;list-style:none;display:grid;gap:0}.pl-cd a{display:inline-flex;align-items:center;min-height:44px;padding:6px 0;color:var(--seal);font-weight:600;text-decoration:none}@media (hover:hover){.pl-cd a:hover{text-decoration:underline}}.pl-cd a:focus-visible{outline:3px solid var(--azure);outline-offset:2px}.pl-skills--cat a{justify-self:start}.pl .pl-top .td-kicker:focus{outline:none}.pl-result:focus{outline:none}.pl-skel{min-height:260px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(90deg,#f3efe4 25%,#faf7f0,#f3efe4 75%);background-size:200% 100%;animation:pl-sk 1.2s linear infinite}@keyframes pl-sk{to{background-position:-200% 0}}.pl-help{display:inline-block;vertical-align:middle;position:relative}.pl-help summary{list-style:none;cursor:pointer;width:24px;height:24px;border-radius:50%;border:1.5px solid #D9D0BC;display:inline-grid;place-items:center;font-weight:700;font-size:.8rem;color:var(--ink-soft)}.pl-help summary::-webkit-details-marker{display:none}.pl-help summary:focus-visible{outline:3px solid var(--azure);outline-offset:2px}.pl-help[open]>span{display:block;margin-top:6px;padding:10px 12px;border-radius:10px;background:var(--paper, #F7F3EA);color:var(--ink);font-size:.86rem;line-height:1.5;max-width:420px}@media (max-width:600px){.pl-skills--cat li{grid-template-columns:72px 1fr;row-gap:2px}.pl-skills--cat small,.pl-skills--cat a{grid-column:2}.pl-opt{min-height:44px}.pl-cta .td-btn{flex:1 1 100%;justify-content:center;text-align:center}}@media (prefers-reduced-motion: reduce){.pl-prog i{transition:none}.pl-skel{animation:none}}.lt-ms span.is-late{box-shadow:inset 0 0 0 1px #e3b341}.lt-ms-self{font:inherit;font-size:.8rem;padding:5px 10px;border-radius:8px;background:var(--paper);border:1px dashed #C9C1AE;cursor:pointer;color:inherit}.lt-ms-self.is-ok{background:var(--jade-soft);color:var(--jade);font-weight:600;border-style:solid;border-color:transparent}.lt-ms-self:focus-visible{outline:2px solid var(--jade);outline-offset:2px}.lt-ms-note{font-size:.78rem;margin-top:4px}.lt-guide{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border:1.5px solid var(--jade);border-radius:12px;background:var(--jade-soft);color:var(--jade);text-decoration:none;text-align:left;white-space:normal}.lt-guide:hover{background:#fff}.lt-guide .zh{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:var(--jade);color:#fff;font-size:1.1rem;flex:none}.lt-guide span:last-child{font-weight:700;font-size:.92rem;line-height:1.25}.lt-guide small{display:block;font-weight:500;font-size:.76rem;color:var(--ink-soft)}.lt-guide:focus-visible{outline:2px solid var(--jade);outline-offset:2px}.lt-lv{display:block;font-size:1.5rem;font-weight:800;line-height:1.1;letter-spacing:-.01em;color:var(--ink)}.lt-ph.is-now .lt-lv{color:var(--seal)}.lt-dates{display:block;font-weight:600;font-size:.8rem;color:var(--ink-soft);font-variant-numeric:tabular-nums}.dp{--dp-done:#2F7A5E;--dp-done-bg:#E3F2EA;--dp-weak:#8C877D;--dp-weak-bg:#EFEDE8;--dp-mock:#4B5A8A;--dp-mock-bg:#E7EAF5;--dp-gold:#E0A526;--dp-today:#FDF2D8}.dp-pace{display:grid;gap:8px;padding-bottom:14px;border-bottom:1px solid #E4DDCB;margin-bottom:12px}.dp-pace-head{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}.dp-pace-head h2{margin:0;font-size:1.1rem}.dp-print{margin-left:auto}.dp-tag{font-weight:700;font-size:.85rem;padding:3px 10px;border-radius:999px}.dp-tag--slow{background:#fbe5df;color:#a2391f}.dp-tag--fast,.dp-tag--ok{background:var(--dp-done-bg);color:var(--dp-done)}.dp-track{position:relative;height:12px;background:var(--dp-weak-bg);border-radius:6px}.dp-act{position:absolute;inset:0 auto 0 0;background:var(--dp-done);border-radius:6px}.dp-plan{position:absolute;top:-4px;bottom:-4px;width:3px;margin-left:-1px;background:var(--seal);border-radius:2px}.dp-track-lb{display:flex;justify-content:space-between;gap:8px;font-size:.76rem;color:var(--ink-soft);font-variant-numeric:tabular-nums}.dp-legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.78rem;color:var(--ink-soft)}.dp-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-1px;margin-right:4px;border:1px solid #E4DDCB;background:#fff}.dp-legend .lg-done{background:var(--dp-done-bg);border-color:#a9d3bd}.dp-legend .lg-weak{background:var(--dp-weak-bg);border-color:#b9b4aa}.dp-legend .lg-skip{border-style:dashed;border-color:#b9b4aa}.dp-legend .lg-ex{border-left:4px solid var(--dp-gold)}.dp-legend .lg-mock{background:var(--dp-mock-bg);border-color:#c3cae6}.dp-legend .lg-big{background:var(--dp-mock);border-color:var(--dp-mock)}.dp-h{margin:0}.dp-lead{margin:2px 0 6px}.dp-lv{display:grid;grid-template-columns:120px 1fr;gap:14px;border-top:1px solid #E4DDCB;padding-top:12px;margin-top:12px}.dp-lv-side b{display:block;font-size:1.6rem;line-height:1.05;font-weight:800}.dp-lv-side small{display:block;margin-top:4px;font-size:.78rem;color:var(--ink-soft);line-height:1.45}.dp-lv.is-now .dp-lv-side b{color:var(--seal)}.dp-weeks{display:grid;gap:8px;min-width:0}.dp-wk{border:1px solid #E4DDCB;border-radius:10px;background:#fff}.dp-wk.is-now{border-color:var(--seal);box-shadow:0 0 0 2px #f6d8cf}.dp-wk>summary{list-style:none;cursor:pointer;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;padding:8px 12px}.dp-wk>summary::-webkit-details-marker{display:none}.dp-wk>summary:before{content:"▸";color:var(--ink-soft)}.dp-wk[open]>summary:before{content:"▾"}.dp-wk>summary:focus-visible{outline:2px solid var(--seal);outline-offset:2px;border-radius:8px}.dp-wn{font-weight:700}.dp-wd{font-size:.82rem;color:var(--ink-soft);font-variant-numeric:tabular-nums}.dp-wsum{font-size:.85rem}.dp-wst{font-size:.78rem;font-weight:700}.dp-wst.is-ok{color:var(--dp-done)}.dp-wst.is-late{color:var(--seal)}.dp-wst.is-weak{color:var(--dp-weak)}.dp-mini{display:flex;gap:3px;padding:0 12px 8px}.dp-mini span{width:20px;height:7px;border-radius:3px;background:var(--dp-weak-bg)}.dp-mini .d{background:var(--dp-done)}.dp-mini .w{background:#b9b4aa}.dp-mini .s{background:#f0c4bc}.dp-mini .mk{background:var(--dp-mock)}.dp-mini .t{outline:2px solid var(--seal);outline-offset:1px}.dp-wk[open] .dp-mini{display:none}.dp-days{border-top:1px solid #E4DDCB}.dp-day{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:7px 12px;border-top:1px dashed #EEE8DA}.dp-day:first-child{border-top:0}.dp-day.is-today{background:var(--dp-today)}.dp-dd{font-size:.8rem;color:var(--ink-soft);font-variant-numeric:tabular-nums}.dp-dd b{display:block;color:var(--ink);font-size:.86rem}.dp-items{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0}.dp-it{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:8px;border:1px solid #E4DDCB;background:#fff;color:var(--ink);font-size:.85rem;text-decoration:none;max-width:100%}.dp-it:hover{border-color:#c9c1ae}.dp-m{color:var(--ink-soft);font-size:.74rem;font-variant-numeric:tabular-nums}.dp-sc{font-size:.74rem;font-weight:700}.dp-it.is-done{background:var(--dp-done-bg);border-color:#a9d3bd}.dp-it.is-done:before{content:"✓";color:var(--dp-done);font-weight:800}.dp-it.is-weak{background:var(--dp-weak-bg);border-color:#b9b4aa;color:#5f5b54}.dp-it.is-skip{background:var(--dp-weak-bg);border-style:dashed;border-color:#c2bdb1;color:#77726a}.dp-stars{font-size:.8rem;line-height:1;letter-spacing:-.5px;color:#d3cdbf;white-space:nowrap}.dp-stars b{font-weight:400;color:#c98a12}.dp-stars.is-due b{color:#a2391f}.dp-it.has-hist{flex-wrap:wrap;row-gap:2px}.dp-hist{flex-basis:100%;font-size:.72rem;font-weight:400;color:var(--ink-soft);font-variant-numeric:tabular-nums}.dp-catch{display:grid;gap:8px;padding:10px 12px;border-radius:10px;background:#f4f2ec;border:1px dashed #C2BDB1}.dp-catch p{margin:0;font-size:.9rem;line-height:1.5}.dp-catch-act{display:flex;flex-wrap:wrap;gap:8px}@media print{.dp-catch{display:none}}.dp-it.is-ex{border-left:4px solid var(--dp-gold)}.dp-it.is-next{border-color:var(--seal);box-shadow:0 0 0 2px #f6d8cf;font-weight:600}.dp-it.is-mock{background:var(--dp-mock-bg);border-color:#c3cae6;color:var(--dp-mock);font-weight:600}.dp-it.is-big{background:var(--dp-mock);border-color:var(--dp-mock);color:#fff;font-weight:700}.dp-it.is-big .dp-m{color:#dde2f3}@media (max-width:640px){.dp-lv{grid-template-columns:1fr}.dp-day{grid-template-columns:1fr;gap:4px}.dp-print{margin-left:0}}@media print{.site-header,header.sh,nav,footer,.lt-row,.dp-print,.lt-go,.lt-today,.lt-hsk-tools,.lt-guide,.lt-sync,.lt-warn button{display:none!important}body{background:#fff!important}.lt-card{box-shadow:none!important;border:0!important;break-inside:auto}.dp-wk{break-inside:avoid}.dp-mini{display:none}.dp-it{-webkit-print-color-adjust:exact;print-color-adjust:exact}a[href]:after{content:none!important}}.dp-more>summary{cursor:pointer;padding:8px 12px;border:1px dashed #D8CFBB;border-radius:10px;color:var(--ink-soft);font-size:.88rem}.dp-more[open]>summary{margin-bottom:8px}.dp-ask{max-width:440px;width:calc(100% - 32px);border:0;border-radius:14px;padding:20px;box-shadow:0 12px 40px #22262b40}.dp-ask::backdrop{background:#22262b73}.dp-ask h3{margin:0 0 6px}.dp-ask p{margin:0 0 14px;line-height:1.55}.dp-ask-act{display:flex;flex-wrap:wrap;gap:8px}.dp-lv.is-name .dp-lv-side b{font-size:1.05rem;line-height:1.3}.dp-intro{display:grid;gap:2px;margin-bottom:6px}.dp-intro h1{margin:0;font-size:1.7rem;line-height:1.15}.dp-intro .td-kicker,.dp-intro p{margin:0}.dp-intro .lt-warn{margin-top:6px}.dp-pace-head h2{font-size:1rem}.dp-ms{font-size:.78rem;font-weight:700;color:#8a5a3c;background:#fbf0e2;padding:1px 8px;border-radius:999px}.dp-ms.is-ok{color:var(--dp-done);background:var(--dp-done-bg)}.dp-pace{gap:8px}.dp-top{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}.dp-top h1{margin:0;font-size:1.55rem;line-height:1.2}.dp-top .dp-print{margin-left:auto;align-self:center}.dp-pace-head{font-size:.9rem}.dp-pace .lt-warn{margin:0}.dp-h{margin-top:4px}.dp>.dp-legend{margin:2px 0 4px}.dp-pace .dp-pace-head{display:block;line-height:1.7}.dp-pace-head .dp-tag{margin-right:8px}.dp .dp-pace{display:flow-root;padding-bottom:16px;margin-bottom:14px}.dp-pace>*+*{margin-top:8px}.dp-pace>.ps-corner+*{margin-top:0}.dp-title{margin:0;font-size:1.6rem;line-height:1.2;letter-spacing:-.01em}.dp-pace>.dp-meta{margin-top:2px;font-size:.86rem}.dp-pace>.dp-track{margin-top:12px}.dp-pace>.lt-warn{clear:both;margin-top:12px}.dp-hrow{display:flex;align-items:center;gap:12px}.dp-hrow .dp-print{margin-left:auto}.dp-hrow .dp-h{margin:0}.dp-print{white-space:nowrap;flex:none}.dp-ask{padding:0}.dp-ask-in{padding:20px}.lt-chip--soon{opacity:.55;cursor:default;border-style:dashed}.lt-note{margin:8px 0 0;padding:10px 12px;border-radius:10px;background:var(--gold-soft, #FFF3D6);color:var(--ink);font-size:.9rem;line-height:1.5}.pl-play[aria-disabled=true]{opacity:.55}@media print{.lt-note{display:none!important}}.lt-chip--soon small{font-size:.72rem;margin-left:2px}.lt-save{margin:10px 0;padding:10px 14px;border:1.5px solid #E2B8AE;border-radius:12px;background:#fdf3f0}.lt-save b{display:block;font-size:.95rem;margin-bottom:6px}.lt-save-btn{min-height:44px;border:1.5px solid var(--seal);color:var(--seal);background:#fff;font-weight:700}.lt-save-later{min-height:44px;padding:0 12px;border:0;background:none;color:var(--ink-soft);font:600 .86rem Be Vietnam Pro,sans-serif;cursor:pointer;text-decoration:underline}.lt-sync--guest{color:var(--ink)!important}.dp-go{display:inline-flex;align-items:center;min-height:48px;margin:8px 0 4px;padding:10px 18px;font-size:.95rem;text-align:left}.dp-legend-d summary{cursor:pointer;font-size:.85rem;color:var(--ink-soft);min-height:32px;display:flex;align-items:center}.lt-test-link{min-height:44px;padding:0;border:0;background:none;color:var(--seal);font:600 .88rem Be Vietnam Pro,sans-serif;cursor:pointer;text-align:left}.lt-more a{display:inline-block;padding:10px 0}@media (max-width:600px){.lt-chip{min-height:44px}.lt-start-row{position:sticky;bottom:0;z-index:5;margin:12px -16px 0;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--card-bg);box-shadow:0 -6px 16px #0000000f}.lt-start-row #lt-start{flex:1;min-height:48px;font-size:1rem}}@media print{.lt-save,.dp-go{display:none!important}}.lt-opt{font-weight:400;font-size:.85rem;color:var(--ink-soft)}.lt-exam-count{margin:6px 0 0;padding:10px 14px;border-radius:12px;background:var(--gold-soft, #F5EBD8)}.lt-exam-mode{display:block;margin-top:4px;font-size:.86rem;color:var(--ink-soft)}.lt-exam-clear{border:0;background:none;min-height:44px;padding:6px 4px;color:var(--azure);font:inherit;font-size:.88rem;text-decoration:underline;cursor:pointer}.lt-examday h1{margin:4px 0}.dp-it.is-examday{border:1.5px solid var(--seal);color:var(--seal);background:transparent;font-weight:700;cursor:default}.dp-h,.dp-title{overflow-wrap:anywhere}.lt-after-test{margin:4px 0 0;padding:10px 12px;border-radius:10px;background:var(--jade-soft);color:var(--ink);font-weight:600}.dp-lock{margin:6px 0 0;font-size:.88rem}.dp-lock-tag{display:inline-block;font-weight:700;color:var(--seal);border:1px solid var(--seal);border-radius:99px;padding:1px 8px;font-size:.78rem}.dp-lock a{color:var(--jade);font-weight:600}.pl-lock{margin:2px 0 0;font-size:.9rem}.pl-lock-tag{display:inline-block;font-weight:700;color:var(--seal);border:1px solid var(--seal);border-radius:99px;padding:1px 8px;font-size:.78rem}.pl-lock a{color:var(--jade);font-weight:600}.dp-it.is-skipped{opacity:.7;border-style:dashed}.dp-skipped{font-size:.75rem;color:var(--ink-soft);white-space:nowrap}.dp-unskip{border:0;background:none;min-height:44px;padding:0 6px;color:var(--azure);font:inherit;font-size:.82rem;text-decoration:underline;cursor:pointer}.dp-it.is-re{border-color:#b7791f;background:#fffbf2}.lt-flash{animation:lt-flash 1.6s ease-out;border-radius:10px}@keyframes lt-flash{0%,40%{box-shadow:0 0 0 4px #c8322b73}to{box-shadow:0 0 #c8322b00}}@media (prefers-reduced-motion: reduce){.lt-flash{animation:none;outline:3px solid rgba(200,50,43,.5)}}.dp-day,.dp-it{scroll-margin-top:80px}a.dp-pace-link{display:flex;min-height:44px;align-items:center;color:inherit;text-decoration:none;border-radius:10px}a.dp-pace-link b:last-of-type{text-decoration:underline}@media (hover:hover){a.dp-pace-link:hover{background:#2f6f5e0f}}a.dp-pace-link:focus-visible{outline:3px solid var(--azure);outline-offset:2px}.lt-root{padding-bottom:64px}.lt-dd{position:relative;margin:12px 0 4px;padding:12px 48px 12px 14px;border-radius:12px;background:#f3f8f5;border:1px solid #CFE3D8}.lt-dd-h{margin:0;font-weight:700;font-size:1rem;color:#2f6f5e}.lt-dd-k{margin:8px 0 0;font-size:.8rem;font-weight:700;color:var(--ink-soft)}.lt-dd-list{margin:2px 0 0;padding-left:18px;font-size:.9rem;line-height:1.5}.lt-dd-list span,.lt-dd-more{color:var(--ink-soft);font-variant-numeric:tabular-nums}.lt-dd-more{list-style:none;margin-left:-18px;font-size:.84rem}.lt-dd-rest{margin:2px 0 0;font-size:.9rem}.lt-dd-cta{margin-top:10px;min-height:44px;border-color:var(--seal);color:var(--seal);background:#fff;font-weight:700}.lt-dd-x{position:absolute;top:2px;right:2px;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:none;color:var(--ink-soft);font:400 1.4rem/1 Be Vietnam Pro,sans-serif;cursor:pointer}.lt-dd-x:focus-visible,.lt-dd-cta:focus-visible{outline:3px solid var(--azure);outline-offset:2px}@media print{.lt-dd{display:none}}@media (max-width:600px){.lt-dd-cta{display:flex;width:100%;justify-content:center;text-align:center;box-sizing:border-box}}
