:root{--bg:#f7f4ed;--surface:#fff;--ink:#202d40;--primary:#202d40;--on-primary:#fff;--soft:#5b6878;--line:#e5e0d5;--mist:#dce5ec;--accent:#ad5410;--accent-bright:#f2a65a;--on-accent:#202d40;--accent-weak:#fcebd8;--accent-mid:#f5c796;--err:#c2255c;--err-weak:#fce8ef;--side-bg:#202d40;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--f-body:"Microsoft JhengHei", "PingFang TC", "Noto Sans TC", system-ui, sans-serif;--f-type:var(--font-plex-mono), Consolas, ui-monospace, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#141b26;--surface:#1c2533;--ink:#f7f4ed;--primary:#e8edf3;--on-primary:#202d40;--soft:#9aa7b6;--line:#2a3546;--mist:#263244;--accent:#f2a65a;--accent-bright:#f2a65a;--on-accent:#202d40;--accent-weak:#2f2a24;--accent-mid:#6e4b2b;--err:#f0729a;--err-weak:#3d1d29;--side-bg:#0f151e;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#141b26;--surface:#1c2533;--ink:#f7f4ed;--primary:#e8edf3;--on-primary:#202d40;--soft:#9aa7b6;--line:#2a3546;--mist:#263244;--accent:#f2a65a;--accent-bright:#f2a65a;--on-accent:#202d40;--accent-weak:#2f2a24;--accent-mid:#6e4b2b;--err:#f0729a;--err-weak:#3d1d29;--side-bg:#0f151e;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.7}html[data-i18n-pending] body{visibility:hidden}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3{text-wrap:balance;margin:0;font-weight:700;line-height:1.35}h2{font-size:16px}p{margin:0}.soft{color:var(--soft)}.num{font-variant-numeric:tabular-nums}.app{grid-template-columns:auto minmax(0,1fr);min-height:100dvh;display:grid}.wrap{width:100%;max-width:1080px;margin:0 auto;padding-block:28px 140px;padding-inline:32px}.narrow{max-width:760px}.side{--surface:var(--side-bg);--bg:#ffffff12;--ink:#f7f4ed;--primary:#f7f4ed;--soft:#aab6c4;--line:#ffffff1f;--accent:#f2a65a;--accent-weak:#f2a65a29;--accent-mid:#f2a65a66;--side-pad:12px;width:64px;height:100dvh;padding:0 var(--side-pad) var(--side-pad);background:var(--side-bg);color:var(--ink);border-right:1px solid var(--line);z-index:30;flex-direction:column;transition:width .18s,margin-right .18s,box-shadow .18s;display:flex;position:sticky;top:0}.side.wide{width:232px}.side-top{flex:none;align-items:center;height:64px;display:flex}.side-logo{border-radius:10px;align-items:center;gap:10px;min-width:0;height:40px;text-decoration:none;display:flex}.side-mark{width:40px;height:40px;color:var(--ink);flex:none}.side-name{white-space:nowrap;align-items:baseline;gap:6px;line-height:1.15;display:flex;overflow:hidden}.side-name b{color:var(--ink);letter-spacing:.04em;font-size:18px}.side-name small{font-family:var(--font-brush), var(--f-body);color:var(--accent-bright);letter-spacing:.06em;font-size:17px}.side-menu{display:none}.side-nav{scrollbar-width:none;flex-direction:column;flex:1;gap:2px;min-height:0;display:flex;overflow:hidden auto}.side-group{flex-direction:column;gap:2px;display:flex}.side-group-name{letter-spacing:.04em;color:#8d9aab;white-space:nowrap;height:32px;padding:14px 10px 0;font-size:11px;font-weight:600;display:block;overflow:hidden}.side-link{height:40px;color:var(--soft);font:inherit;text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:none;align-items:center;gap:10px;padding:0 10px;text-decoration:none;display:flex;position:relative}.side-link>svg,.side-link>.side-avatar{flex:none}.side-link:hover{background:var(--bg);color:var(--ink)}.side-link[aria-current=page]{background:var(--accent-weak);color:var(--primary);font-weight:600}.side-link[aria-current=page]>svg{color:var(--accent)}.side-label{text-overflow:ellipsis;flex:1;min-width:0;font-size:14px;overflow:hidden}.side-badge{background:var(--accent-bright);min-width:20px;height:20px;color:var(--on-accent);border-radius:10px;flex:none;place-items:center;padding:0 6px;font-size:11px;font-weight:700;display:grid}.side-foot{border-top:1px solid var(--line);padding-top:var(--side-pad);flex-direction:column;flex:none;gap:2px;display:flex}.side-avatar{background:var(--accent-weak);width:20px;height:20px;color:var(--accent);border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid}.side-email{font-size:13px}.side:not(.wide) .side-name{display:none}.side:not(.wide) .side-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.side:not(.wide) .side-group-name{height:32px;padding:16px 4px 0;font-size:0}.side:not(.wide) .side-group-name:before{content:"";background:var(--line);height:1px;display:block}.side:not(.wide) .side-badge{min-width:16px;height:16px;box-shadow:0 0 0 2px var(--surface);padding:0 4px;font-size:10px;position:absolute;top:5px;right:4px}.side:not(.wide) .side-link[data-tip]:after{content:attr(data-tip);color:#202d40;white-space:nowrap;pointer-events:none;opacity:0;z-index:40;background:#f7f4ed;border-radius:8px;padding:5px 10px;font-size:13px;font-weight:500;transition:opacity .12s,transform .12s;position:absolute;top:50%;left:calc(100% + 14px);transform:translateY(-50%)translate(-4px);box-shadow:0 4px 14px #0f151e40}.side:not(.wide) .side-link[data-tip]:hover:after,.side:not(.wide) .side-link[data-tip]:focus-visible:after{opacity:1;transform:translateY(-50%)}.side:not(.wide) .side-nav{overflow:visible}.side-control{flex-direction:column;display:flex;position:relative}.side:not(.wide) .side-control .side-link[aria-expanded=true]:after{display:none}.side-pop{z-index:50;color:#202d40;background:#f7f4ed;border-radius:12px;gap:2px;min-width:184px;padding:6px;display:grid;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 8px 28px #0f151e4d}.side-pop-title{color:#5b6878;border-bottom:1px solid #e3ddd0;margin:0 0 2px;padding:4px 10px 6px;font-size:12px}.side-pop button{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:7px 10px;font-size:14px;display:flex}.side-pop button:hover,.side-pop button:focus-visible{background:#e9e3d6}.side-pop-dot{border-radius:50%;flex:none;width:8px;height:8px}.side-pop button[aria-checked=true]{font-weight:600}.side-pop button[aria-checked=true] .side-pop-dot{background:#202d40}.mod-head{margin-bottom:18px}.mod-title{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.mod-title h1{color:var(--primary);font-size:24px}.mod-title p{margin-top:2px;font-size:14px}.mod-tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:4px;margin-top:14px;display:flex;overflow-x:auto}.mod-tabs a{color:var(--soft);white-space:nowrap;border-bottom:2px solid #0000;flex:none;align-items:center;gap:6px;margin-bottom:-1px;padding:8px 14px;font-size:14px;text-decoration:none;display:inline-flex}.mod-tabs a:hover{color:var(--ink)}.mod-tabs a[aria-current=page]{color:var(--primary);border-bottom-color:var(--accent-bright);font-weight:600}.mod-subtabs{scrollbar-width:none;gap:6px;margin-top:12px;padding-right:28px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000)}.mod-subtabs a{color:var(--soft);white-space:nowrap;border-radius:999px;flex:none;padding:4px 12px;font-size:13px;text-decoration:none}.mod-subtabs a:hover{color:var(--ink);background:var(--surface)}.mod-subtabs a[aria-current=page]{background:var(--accent-weak);color:var(--accent);font-weight:600}.mod-badge{background:var(--accent-weak);color:var(--accent);border-radius:9px;padding:0 6px;font-size:11px;font-weight:700}@media (max-width:760px){.app{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr)}.wrap{padding-inline:16px;padding-top:16px}.side,.side.wide{border-right:0;border-bottom:1px solid var(--line);width:auto;height:auto;padding:0 16px;position:sticky;top:0}.side-top{justify-content:space-between;height:56px}.side-mark{width:34px;height:34px}.side .side-name,.side:not(.wide) .side-name{display:flex}.side-menu{border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:4px 12px;font-size:13px;display:block}.side-nav,.side-foot,.side-control{display:none}.side.open .side-nav{max-height:calc(100dvh - 140px);padding-bottom:8px;display:flex;overflow-y:auto}.side.open .side-foot{padding-bottom:12px;display:flex}.side .side-label,.side:not(.wide) .side-label{clip-path:none;width:auto;height:auto;position:static}.side .side-group-name,.side:not(.wide) .side-group-name{height:32px;padding:14px 10px 0;font-size:11px}.side:not(.wide) .side-group-name:before{display:none}.side .side-badge,.side:not(.wide) .side-badge{box-shadow:none;min-width:20px;height:20px;font-size:11px;position:static}.side:not(.wide) .side-link[data-tip]:after{display:none}.side:not(.wide) .side-nav{overflow-y:auto}}.login{gap:14px;max-width:420px;margin:40px auto 0;display:grid}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;gap:14px;padding:32px 28px 24px;display:grid;box-shadow:0 1px 2px #202d400a,0 12px 32px -12px #202d4024}.login-brand{justify-items:center;gap:6px;margin-bottom:4px;display:grid}.login-mark{color:var(--primary)}.login-name{align-items:baseline;gap:8px;display:flex}.login-name b{color:var(--primary);letter-spacing:.04em;font-size:24px;line-height:1.2}.login-name .brand-en{font-size:24px}.login-tagline{color:var(--ink);font-size:14px;font-weight:600}.login-title{text-align:center;color:var(--ink);margin-top:8px;font-size:20px}.login-lead{color:var(--soft);text-align:center;margin-top:-6px;font-size:14px;line-height:1.7}.login-wide{text-align:center;width:100%;padding:11px 16px;font-size:15px}.google-login{color:#1f1f1f;background:#fff;border:1px solid #747775;border-radius:10px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:48px;padding:10px 16px;font-size:15px;font-weight:500;transition:background-color .15s,box-shadow .15s;display:flex}.google-login:hover:not(:disabled){background:#f8f9fa;box-shadow:0 1px 3px #3c40434d}.google-login:disabled{opacity:.6;cursor:progress}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .google-login{color:#e3e3e3;background:#131314;border-color:#8e918f}:root:not([data-theme=light]) .google-login:hover:not(:disabled){background:#1f1f20}}:root[data-theme=dark] .google-login{color:#e3e3e3;background:#131314;border-color:#8e918f}:root[data-theme=dark] .google-login:hover:not(:disabled){background:#1f1f20}.login-or{color:var(--soft);align-items:center;gap:12px;font-size:13px;display:flex}.login-or:before,.login-or:after{content:"";border-top:1px solid var(--line);flex:1}.login-email{gap:8px;display:grid}.login-label{color:var(--soft);font-size:13px}.login-input{font-family:var(--f-body);padding:10px 14px;font-size:16px}.login-fine{color:var(--soft);text-align:center;font-size:12.5px}.login .login-link{font-size:inherit;color:var(--accent);text-underline-offset:3px;text-decoration:underline}.login .login-switch{justify-self:center;font-size:13.5px}.login-card .msg{text-align:center;margin:0}.login-perks{border-top:1px solid var(--line);color:var(--soft);gap:6px;margin:4px 0 0;padding:14px 0 0;font-size:13px;list-style:none;display:grid}.login-perks li{align-items:baseline;gap:8px;display:flex}.login-perks li:before{content:"";background:var(--accent-bright);border-radius:50%;flex:none;width:6px;height:6px;transform:translateY(-2px)}.login-terms{color:var(--soft);text-align:center;font-size:12.5px}.login-terms a{color:var(--soft);text-underline-offset:3px;text-decoration:underline}@media (max-width:480px){.login{margin-top:16px}.login-card{border-radius:14px;padding:26px 18px 20px}}.turnstile:empty{display:none}.fb-form{gap:6px;max-width:600px;display:grid}.fb-form label,.fb-kinds legend{font-size:13px}.fb-kinds{border:0;gap:6px;margin:0 0 8px;padding:0;display:grid}.fb-kinds .chips button{font-size:14px;font-weight:500}.fb-form .dict{font-family:var(--f-body);width:100%;padding:8px 12px;font-size:16px}.fb-message{resize:vertical;min-height:140px;line-height:1.6}.fb-count{margin:0 0 8px;font-size:12px}.fb-trap{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.fb-inbox-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.fb-toggle{align-items:center;gap:6px;font-size:13px;display:inline-flex}.fb-list{gap:10px;margin:8px 0 0;padding:0;list-style:none;display:grid}.fb-item{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.fb-item.done{opacity:.6}.fb-meta{overflow-wrap:anywhere;flex-wrap:wrap;gap:4px 12px;font-size:12px;display:flex}.fb-kind{color:var(--accent);font-weight:700}.fb-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 10px}.fb-actions{flex-wrap:wrap;gap:8px;display:flex}.btn{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:7px 16px;font-weight:500;text-decoration:none;display:inline-block}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn.main{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn.main:hover{color:var(--on-primary);opacity:.88}.btn:disabled{opacity:.45;cursor:not-allowed}.link{color:var(--soft);background:0 0;border:0;padding:0;font-size:14px;text-decoration:none}.link:hover{color:var(--accent)}.filter{flex-wrap:wrap;gap:6px;display:flex}.filter button{color:var(--soft);background:0 0;border:1px solid #0000;border-radius:999px;padding:2px 12px;font-size:13px}.filter button:hover{color:var(--accent)}.filter button[aria-pressed=true]{background:var(--accent-weak);color:var(--accent);font-weight:500}.filter-row{margin:-4px 0 10px}kbd{font-family:var(--f-type);background:var(--surface);border:1px solid var(--line);color:var(--ink);white-space:nowrap;border-bottom-width:2px;border-radius:4px;padding:0 6px;font-size:12px}.block{margin-top:22px}.lead{background:var(--accent-weak);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:6px;padding:12px 16px;display:flex}.lead b{color:var(--accent)}.note{margin:4px 0 10px;font-size:13px}.foot{color:var(--soft);margin-top:28px;font-size:12px}.actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.toc-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.toc,.wl,.set{border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;width:100%;overflow:hidden}.toc th,.wl th{color:var(--soft);text-align:left;border-bottom:1px solid var(--line);padding:10px 14px;font-size:12px;font-weight:500}.toc td,.wl td,.set td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 14px;font-size:14px}.toc tbody tr:last-child td,.wl tbody tr:last-child td,.set tr:last-child td{border-bottom:0}.toc tbody tr{cursor:pointer}.toc tbody tr:hover td{background:var(--accent-weak)}.toc .pt{width:52px}.toc .pt span{background:var(--accent-weak);width:30px;height:30px;color:var(--accent);border-radius:8px;place-items:center;font-weight:700;display:inline-grid}.toc .t a{font-size:15px;font-weight:500;text-decoration:none}.toc small{color:var(--soft);font-size:12px;display:block}.r{text-align:right;white-space:nowrap}.toc .best{color:var(--accent);font-weight:700}.level-filter{margin:-2px 0 10px}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.stats div{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 14px;display:grid}.stats b{color:var(--primary);font-size:22px;line-height:1.2}.stats span{color:var(--soft);font-size:12px}.p-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.p-head h2{font-size:19px}.p-head .sub{color:var(--soft);font-size:13px}.boxes{gap:4px;margin-top:14px;display:flex}.box{background:0 0;border:0;flex:1;height:14px;padding:0;position:relative}.box:before{content:"";background:var(--line);border-radius:3px;position:absolute;inset:4px 0}.box.done:before{background:var(--accent-bright)}.box.cur:before{background:var(--primary);inset:3px 0}.prog{gap:6px;margin-top:14px;display:grid}.prog-text{justify-content:space-between;gap:12px;font-size:13px;display:flex}.prog-text b{color:var(--primary);font-size:15px}.prog-bar{background:var(--line);border-radius:3px;height:6px;position:relative}.prog-bar span{background:var(--accent-bright);border-radius:3px;transition:width .3s;position:absolute;inset:0 auto 0 0}.prog-bar i{background:var(--primary);border-radius:2px;width:4px;height:12px;margin-left:-2px;position:absolute;top:-3px}.sheet{background:var(--surface);border:1px solid var(--line);border-radius:14px;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:16px;padding:18px 20px;display:grid}.sent-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.speaker{color:var(--accent);font-size:13px;font-weight:500}.pager{align-items:center;gap:4px;display:flex}.pager button{border:1px solid var(--line);background:var(--bg);width:30px;height:30px;color:var(--ink);border-radius:7px}.pager button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.pager button:disabled{opacity:.35;cursor:default}.pager select{border:1px solid var(--line);background:var(--surface);height:30px;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;border-radius:7px;padding:0 6px;font-size:14px}.player{background:var(--bg);border:1px solid var(--line);border-radius:999px;align-items:center;gap:12px;padding:5px 14px 5px 5px;display:flex}.pp{background:var(--primary);width:32px;height:32px;color:var(--on-primary);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.pp svg{fill:currentColor;width:14px;height:14px}.pp:hover{opacity:.85}.track{background:var(--line);border-radius:3px;flex:1;min-width:60px;height:6px;overflow:hidden}.track.seekable{cursor:pointer}.track span{background:var(--accent-bright);border-radius:3px;height:100%;display:block}.time{color:var(--soft);white-space:nowrap;font-size:12px}.vol{color:var(--soft);align-items:center;gap:6px;display:flex}.vol svg{fill:currentColor;stroke:currentColor;flex:none;width:16px;height:16px}.player .vol input{width:80px}.speed{color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;padding:2px;font-size:13px;font-weight:600}.dict{border:1.5px solid var(--line);background:var(--bg);width:100%;color:var(--ink);font-family:var(--f-type);resize:none;border-radius:10px;padding:12px 14px;font-size:18px;line-height:1.6}.dict:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-weak);outline:none}.dict::placeholder{color:var(--soft);opacity:.8;font-family:var(--f-body);font-size:15px}.dict-wrap{position:relative}.dict-wrap textarea.dict{field-sizing:content;min-height:calc(3.2em + 27px);display:block}.dict-mirror{pointer-events:none;color:#0000;white-space:pre-wrap;overflow-wrap:break-word;background:0 0;border-color:#0000;position:absolute;inset:0;overflow:hidden}.bad-word{border-bottom:3px solid var(--accent-bright)}.step{gap:4px;display:grid}.step-msg{color:var(--soft);flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;display:flex}.step-tag{color:var(--err);background:var(--err-weak);font-variant-numeric:tabular-nums;border-radius:4px;padding:0 7px;font-size:12px;font-weight:700}.step-line{font-family:var(--f-type);overflow-wrap:break-word;font-size:17px;line-height:1.9}.sw{white-space:nowrap}.sw.ok{color:var(--ink)}.sw.next{color:var(--accent);background:var(--accent-weak);border-radius:4px;padding:0 3px;font-weight:600}.sw.mask{color:var(--soft);letter-spacing:.06em}.tabs{border-bottom:1px solid var(--line);gap:4px;margin-top:14px;display:flex}.tabs button{color:var(--soft);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:6px 12px;font-size:14px}.tabs button:hover{color:var(--ink)}.tabs button[aria-selected=true]{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.sheet-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:4px;display:flex}.go{align-items:center;gap:8px;padding:7px 14px 7px 18px;display:inline-flex}.go kbd{color:inherit;opacity:.7;background:0 0;border-color:currentColor}.keys{color:var(--soft);margin-top:12px;font-size:12px}.keys summary{cursor:pointer;width:max-content}.keys summary:hover{color:var(--accent)}.keys .keys-line{margin-top:8px}.tools{flex-wrap:wrap;gap:6px;display:flex}.tools button{background:var(--bg);border:1px solid var(--line);color:var(--soft);border-radius:7px;padding:3px 12px;font-size:13px}.tools button:hover{color:var(--accent);border-color:var(--accent-mid)}.tools .speaking{color:var(--accent);border-color:var(--accent)}.hint{color:var(--accent);font-size:14px}.hint .k{font-family:var(--f-type);letter-spacing:.08em;font-weight:600}.marked{font-family:var(--f-type);background:var(--bg);word-spacing:.3em;border-radius:10px;padding:12px 14px;font-size:17px;line-height:2.1}.wd{white-space:nowrap;word-spacing:normal}.wd.ok{color:var(--ink)}.wd.bad{color:var(--err);font-weight:600}.wd.bad s{color:var(--soft);margin-right:.35em;font-weight:400}.wd .miss{color:var(--err);border-bottom:2px dotted var(--err);font-weight:600}.wd.extra s{color:var(--soft)}.why{font-family:var(--f-body);background:var(--err-weak);color:var(--err);vertical-align:2px;border-radius:4px;margin-left:4px;padding:1px 5px;font-size:11px;font-style:normal;font-weight:500}.mark-line{flex-wrap:wrap;align-items:center;gap:12px;font-size:14px;display:flex}.score{color:var(--accent);font-size:17px;font-weight:700}.score.full{background:var(--accent);color:var(--surface);border-radius:6px;padding:0 10px;font-size:15px}.score.err{color:var(--err)}.orig,.marked{overflow-wrap:break-word}.orig{color:var(--soft);font-size:14px}.orig span{color:var(--ink)}.after{border-top:1px dashed var(--line);gap:8px;padding-top:10px;display:grid}.words{font-family:var(--f-type);overflow-wrap:break-word;font-size:16px;line-height:2}.w-item{display:inline-block;position:relative}.w-btn{font:inherit;color:var(--ink);border:0;border-bottom:1.5px dotted var(--soft);background:0 0;padding:0;line-height:1.3}.w-btn:hover,.w-btn[aria-expanded=true]{color:var(--accent);border-bottom-color:var(--accent)}.w-pop{z-index:20;background:var(--surface);border:1px solid var(--line);width:max-content;min-width:200px;max-width:min(280px,100vw - 48px);font-family:var(--f-body);white-space:normal;border-radius:10px;gap:6px;padding:10px 12px;font-size:14px;line-height:1.5;display:grid;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 6px 24px #0000001f}.w-head{font-family:var(--f-type);font-size:16px}.w-say{gap:6px;display:flex}.w-say button{border:1px solid var(--accent-mid);background:var(--accent-weak);color:var(--accent);border-radius:7px;padding:2px 10px;font-size:13px}.w-say button:hover{border-color:var(--accent)}.w-row .soft{margin-right:4px;font-size:12px}.ipa{font-family:Segoe UI,Lucida Sans Unicode,Arial Unicode MS,sans-serif}.zh{color:var(--soft);font-size:15px}.note-add{justify-self:start}.note-box{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.note-box.editing{gap:8px;display:grid}.note-text{background:var(--accent-weak);border-radius:6px;padding:2px 8px;font-size:14px}.note-input{font-family:var(--f-body);font-size:15px}.tr-head{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.tr-zh{cursor:pointer;align-items:center;gap:4px;font-size:14px;display:flex}.tr{margin:0;padding:0;list-style:none}.tr li button{text-align:left;border:0;border-top:1px solid var(--line);background:0 0;grid-template-columns:64px minmax(0,1fr);column-gap:10px;width:100%;padding:9px 4px;display:grid}.tr li:first-child button{border-top:0}.tr li button:hover{background:var(--accent-weak)}.tr li.cur button{background:var(--accent-weak);box-shadow:inset 3px 0 0 var(--accent-bright)}.tr-sp{color:var(--accent);padding-top:3px;font-size:12px}.tr-en{font-family:var(--f-type);font-size:15px}.tr-cn{color:var(--soft);grid-column:2;font-size:13px}mark{background:var(--accent-weak);color:var(--accent);border-radius:3px;padding:0 2px}.keys-line{color:var(--soft);flex-wrap:wrap;gap:6px 16px;font-size:12px;display:flex}.sum{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:16px;margin-top:16px;padding:20px;display:grid}.sum-top{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.big{color:var(--accent);font-size:40px;font-weight:700;line-height:1}.big small{font-size:18px}.slist{margin:0;padding:0;list-style:none}.slist li{border-top:1px solid var(--line);grid-template-columns:24px 1fr auto;gap:12px;padding:8px 0;font-size:14px;display:grid}.slist .n{color:var(--soft);padding-top:2px;font-size:12px}.slist .sc{color:var(--accent);font-size:13px;font-weight:600}.wl .w{font-family:var(--f-type);font-size:15px;font-weight:600}.wl .times{margin-left:6px;font-size:12px;font-weight:400}.wl .rs span{background:var(--accent-weak);color:var(--accent);white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:12px}.wl .ctx{color:var(--soft);font-size:13px}.wl .due{white-space:nowrap;color:var(--soft);font-size:13px}.wl .due.now{color:var(--accent);font-weight:700}.wl .vl-say{font-size:11px;text-decoration:none}.nowrap{white-space:nowrap}.vl-status{white-space:nowrap;color:var(--soft);font-size:13px}.vl-status.missed{color:var(--err);font-weight:600}.vl-status.heard{color:var(--ink)}.empty{background:var(--surface);border:1px dashed var(--accent-mid);text-align:center;border-radius:14px;justify-items:center;gap:10px;margin-top:16px;padding:32px 20px;display:grid}.set tr.cap td{background:var(--accent-weak)}.set .d{color:var(--soft);font-size:12px}.msg{min-height:1.5em;color:var(--accent);margin:8px 0;font-size:13px}.msg.err{color:var(--err)}.sel{border:1px solid var(--line);background:var(--surface);height:30px;color:var(--ink);font:inherit;cursor:pointer;border-radius:7px;padding:0 6px;font-size:14px}.sel:disabled,.set input:disabled{opacity:.45;cursor:not-allowed}input[type=checkbox]{accent-color:var(--accent);vertical-align:middle;width:16px;height:16px}input[type=range]{accent-color:var(--accent);vertical-align:middle;width:200px;max-width:100%}.mbar{padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--line);z-index:10;gap:8px;display:none;position:fixed;bottom:0;left:0;right:0}.mbar button{border:1px solid var(--line);background:var(--bg);border-radius:10px;flex:1;padding:12px 4px;font-size:14px}.mbar button.main{background:var(--primary);border-color:var(--primary);color:var(--on-primary);flex:1.6;font-weight:500}@media (max-width:640px){.mbar{display:flex}.keys,.tools,.go,.hide-s,.vol{display:none}.sheet{padding:14px}.dict{font-size:16px}.words{position:relative}.w-item{position:static}.w-pop{width:auto;max-width:none;left:0;right:0}.tr li button{grid-template-columns:minmax(0,1fr)}.tr-cn{grid-column:1}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.notes{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin:10px 0 0;padding:0;list-style:none}.notes li{border-top:1px solid var(--line);gap:2px;padding:12px 14px;display:grid}.notes li:first-child{border-top:0}.notes-src{font-size:13px}.notes-src a{color:var(--accent);font-weight:500;text-decoration:none}.notes-en{font-family:var(--f-type);font-size:14px}.notes-text{font-size:14px}.notes .link{justify-self:start;font-size:13px}.lv{border:1px solid var(--line);background:var(--surface);color:var(--soft);white-space:nowrap;border-radius:999px;padding:1px 10px;font-size:12px;display:inline-block}.lv-1{color:var(--accent);border-color:var(--accent-mid)}.lv-2{color:var(--primary);border-color:var(--primary)}.lv-3{color:var(--on-primary);background:var(--primary);border-color:var(--primary)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips button{border:1px solid var(--line);background:var(--surface);font-variant-numeric:tabular-nums;border-radius:9px;min-width:40px;height:36px;padding:0 12px;font-size:15px;font-weight:600}.chips button:hover{border-color:var(--accent);color:var(--accent)}.chips button[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.syn-modes{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.syn-mode{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:4px;padding:12px 14px;display:grid}.syn-mode b{color:var(--primary);font-size:16px}.syn-mode span{color:var(--soft);font-size:12px;line-height:1.5}.syn-mode:hover{border-color:var(--accent)}.syn-mode[aria-checked=true]{border-color:var(--primary);box-shadow:0 0 0 3px var(--accent-weak)}.syn-session{gap:4px;display:grid}.syn-card{gap:14px}.syn-ask{color:var(--soft);font-size:14px}.syn-word{font-family:var(--f-type);color:var(--primary);font-size:28px;font-weight:600}.syn-sentence,.syn-heard{font-family:var(--f-type);font-size:18px;line-height:1.7}.syn-sentence u,.syn-note u{-webkit-text-decoration-color:var(--accent-bright);text-decoration-color:var(--accent-bright);text-underline-offset:4px;text-decoration-thickness:2px}.syn-play{justify-self:start}.syn-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.syn-opt{text-align:left;border:1px solid var(--line);background:var(--surface);width:100%;font-family:var(--f-type);border-radius:10px;align-items:center;gap:10px;padding:10px 14px;font-size:16px;display:flex}.syn-opt:hover:not(:disabled){border-color:var(--accent)}.syn-opt:disabled{cursor:default}.syn-opt.right{color:#2b8a3e;background:#ebfbee;border-color:#2f9e44}.syn-opt.wrong{border-color:var(--err);background:var(--err-weak);color:var(--err)}.syn-opt.dim{opacity:.5}.syn-opt.sel{border-color:var(--primary);box-shadow:0 0 0 3px var(--accent-weak)}.syn-match{grid-template-columns:1fr 1fr;gap:12px;display:grid}.syn-match>div{align-content:start;gap:8px;display:grid}.syn-gap{align-items:center;gap:12px;display:flex}.syn-gap .dict{flex:1;min-width:0;padding:10px 14px;font-size:17px}.syn-verdict{font-weight:600}.syn-verdict.right{color:#2b8a3e}.syn-verdict.wrong{color:var(--err)}.syn-note{background:var(--bg);border-radius:10px;gap:4px;padding:10px 14px;font-size:14px;display:grid}.syn-note p:first-child{font-family:var(--f-type)}.syn-wrong{gap:4px;margin:0;padding-left:20px;font-size:14px;display:grid}.syn-bank{margin-top:18px}.syn-bank ul{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin:8px 0 0;padding:0;list-style:none}.syn-bank li{border-top:1px solid var(--line);padding:10px 14px;font-size:14px}.syn-bank li:first-child{border-top:0}.syn-bank li p:first-child{font-family:var(--f-type)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .syn-opt.right{color:#69db7c;background:#12301a;border-color:#37b24d}}:root[data-theme=dark] .syn-opt.right{color:#69db7c;background:#12301a;border-color:#37b24d}@media (max-width:640px){.syn-options{grid-template-columns:minmax(0,1fr)}}.scribble{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 10' preserveAspectRatio='none'%3E%3Cpath d='M2 6.5C20 3.5 38 3 56 4.6S94 7.6 118 3.2' fill='none' stroke='%23F2A65A' stroke-width='3.2' stroke-linecap='round'/%3E%3C/svg%3E") 0 100%/100% 9px no-repeat;padding-bottom:7px}.brand-hero{align-items:center;gap:14px;margin-bottom:18px;display:flex}.brand-hero-mark{color:var(--primary);flex:none}.brand-hero p{justify-items:start;gap:4px;display:grid}.brand-hero b{color:var(--primary);letter-spacing:.04em;font-size:28px;line-height:1.2}.brand-name{align-items:baseline;gap:10px;display:flex}.brand-en{font-family:var(--font-brush), var(--f-body);color:var(--primary);letter-spacing:.06em;font-size:28px}.brand-hero .scribble{color:var(--ink);font-size:15px;font-weight:600}.kicker{letter-spacing:.06em;color:var(--accent);font-size:12px;font-weight:700;display:block}.dash{grid-template-columns:minmax(0,1fr);gap:28px;display:grid}.dash-head h1{color:var(--primary);margin-top:4px;font-size:28px}.dash-head p{margin-top:4px}.dash-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.dash-stat{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:6px;padding:14px 16px;display:grid}.dash-stat-label{color:var(--soft);font-size:13px}.dash-stat-value{align-items:baseline;gap:4px;display:flex}.dash-stat-value b{color:var(--primary);font-size:26px;line-height:1.1}.dash-stat-value small{color:var(--soft);font-size:13px}.dash-stat.hot{background:var(--accent-weak);border-color:var(--accent-mid)}.dash-stat.hot b{color:var(--accent)}.dash-section{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.dash-section-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.dash-section-head h2{color:var(--primary);font-size:17px}.dash-section-head .soft{font-size:13px}.dash-tasks{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin:0;padding:0;list-style:none}.dash-tasks li{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 16px;display:grid}.dash-tasks li:first-child{border-top:0}.dash-task-ico{background:var(--bg);width:36px;height:36px;color:var(--soft);border-radius:10px;place-items:center;display:grid}.dash-task-ico.due{background:var(--accent-weak);color:var(--accent)}.dash-task-body{min-width:0;display:grid}.dash-task-body b{font-size:15px;font-weight:600}.dash-task-body .soft{font-size:13px}.dash-tasks.plan li.done .dash-task-body b{color:var(--soft);text-decoration:line-through;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);font-weight:500}.dash-tasks .link{justify-self:end;font-size:13px}.dash-tasks.plan li.idle .dash-task-body b{color:var(--soft);font-weight:500}.plan-mark{border:1.5px solid var(--line);width:28px;height:28px;color:var(--soft);border-radius:50%;place-items:center;font-size:13px;font-weight:600;display:grid}.plan-mark.done{border-color:var(--accent);background:var(--accent);color:var(--on-primary)}.due-lead{margin-bottom:16px}.due-steps{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin:0;padding:0;list-style:none}.due-steps li{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.due-steps li:first-child{border-top:0}.due-steps li.now{background:var(--accent-weak)}.due-steps li.done{color:var(--soft)}.due-n{border:1.5px solid var(--line);border-radius:50%;place-items:center;width:28px;height:28px;font-size:13px;font-weight:600;display:grid}.due-steps li.now .due-n{border-color:var(--accent);color:var(--accent)}.due-steps li.done .due-n{border-color:var(--accent);background:var(--accent);color:var(--on-primary)}.due-body{min-width:0;display:grid}.due-body b{font-size:15px;font-weight:600}.due-body .soft{font-size:13px}@media (max-width:640px){.dash-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.due-steps li{grid-template-columns:auto minmax(0,1fr)}.due-steps .actions{grid-column:2}.dash-tasks li{grid-template-columns:auto minmax(0,1fr)}.dash-tasks .btn,.dash-tasks .link{grid-column:2;justify-self:start}}.ck-search{cursor:text;width:100%;padding:0 10px}.ck-count{margin:2px 0;font-size:12px}.ck-toggle{color:var(--soft);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.ck-rows{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ck-row{background:var(--surface);border:1px solid var(--line);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:10px 14px;display:grid}.ck-row.done{background:var(--bg)}.ck-row.done .ck-en{color:var(--soft)}.ck-play{border:1px solid var(--accent-mid);background:var(--accent-weak);width:30px;height:30px;color:var(--accent);border-radius:50%;place-items:center;font-size:11px;display:grid}.ck-play:hover{border-color:var(--accent)}.ck-en{font-family:var(--f-type);font-size:15px;font-weight:500}.ck-zh{color:var(--soft);font-size:14px}.ck-zh.masked{background:var(--line);color:#0000;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;width:fit-content;min-width:6em}.ck-zh.masked:hover,.ck-zh.masked:focus{color:var(--soft);background:0 0;outline:none}.ck-meta{color:var(--soft);flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;font-size:12px;display:flex}.ck-tag{background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:0 6px}.ck-tag.idiom{color:var(--primary)}.ck-tag.used{color:#2b8a3e;background:#ebfbee;border-color:#b2f2bb}.ck-side{justify-items:end;gap:4px;display:grid}.ck-check{color:var(--soft);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.ck-stats{margin-top:0;margin-bottom:14px}.ck-lib-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.ck-lib-bar .ck-search{flex:200px;width:auto}.ck-add-btn{margin-left:auto}.ck-form{margin:0 0 14px}.ck-form label,.ck-form>div{gap:4px;font-size:13px;display:grid}.ck-form .dict{padding:8px 12px;font-size:15px}.ck-form-row{flex-wrap:wrap;gap:20px;display:flex!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .ck-tag.used{color:#69db7c;background:#12301a;border-color:#2b8a3e}}:root[data-theme=dark] .ck-tag.used{color:#69db7c;background:#12301a;border-color:#2b8a3e}@media (max-width:640px){.ck-row{grid-template-columns:auto minmax(0,1fr)}.ck-side{grid-column:2;grid-auto-flow:column;justify-items:start;gap:14px}}.rx-swap{-webkit-text-decoration:underline 2px var(--accent);text-decoration:underline 2px var(--accent);text-underline-offset:3px;font-weight:600}.rx-n{background:var(--primary);min-width:26px;height:26px;color:var(--on-primary);border-radius:7px;place-items:center;font-size:13px;font-weight:700;display:grid}.rc-form{margin-top:0}.rc-form label,.rc-form .rc-row>div,.rc-form>div:not(.rc-row):not(.actions){align-content:start;gap:4px;font-size:13px;display:grid}.rc-row{flex-wrap:wrap;align-items:flex-start;gap:14px;display:flex}.rc-grow{flex:200px}.rc-input{cursor:text;width:100%;padding:0 10px}.rc-num{width:90px}.rc-band{color:var(--accent);font-size:20px;line-height:30px}.rc-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.rc-cell{background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:4px;padding:12px 14px;display:grid}.rc-cell>b{color:var(--primary);font-size:14px}.rc-cell-row{justify-content:space-between;gap:8px;font-size:13px;display:flex}.rc-cell-row b{color:var(--accent)}.rc-pending{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin:8px 0 0;padding:0;list-style:none}.rc-pending li{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 14px;font-size:14px;display:grid}.rc-pending li:first-child{border-top:0}.rc-pending .soft{font-size:12px}.rc-mistakes{gap:10px;margin:0;padding:0;list-style:none;display:grid}.rc-mistakes li{background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:6px;padding:12px 14px;display:grid}.rc-mistakes li.review{border-left:3px solid var(--accent-bright)}.rc-m-head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.rc-m-src{margin-left:auto;font-size:12px}.rc-m-q{font-family:var(--f-type);font-size:14px}.rc-m-ans{font-size:14px}.rc-m-ans s{color:var(--err)}.rc-m-ans b{color:#2b8a3e}.rc-m-note{font-size:13px}.rc-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.rc-trend{color:var(--accent);font-size:12px}.rc-sub{margin:4px 0 10px;font-size:16px}.rc-tile{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:grid}.rc-tile .soft{font-size:12px}.rc-tile b{color:var(--primary);font-size:26px;line-height:1.3}.rc-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.rc-bars{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.rc-bars li{grid-template-columns:120px minmax(0,1fr) 44px;align-items:center;gap:10px;font-size:13px;display:grid}.rc-bar-track{background:var(--line);border-radius:0 4px 4px 0;height:10px}.rc-bar{background:var(--accent-bright);border-radius:0 4px 4px 0;min-width:2px;height:100%;display:block}.rc-bar-val{text-align:right;color:var(--ink)}.rc-chart{background:var(--surface);border:1px solid var(--line);--series-listening:#2a78d6;--series-reading:#eb6834;border-radius:12px;margin-top:10px;padding:12px 14px;position:relative}@media (prefers-color-scheme:dark){:root:where(:not([data-theme=light])) .rc-chart{--series-listening:#3987e5;--series-reading:#d95926}}:root[data-theme=dark] .rc-chart{--series-listening:#3987e5;--series-reading:#d95926}.rc-chart svg{width:100%;height:auto;display:block;overflow:visible}.rc-legend{color:var(--soft);gap:16px;margin-bottom:4px;font-size:13px;display:flex}.rc-key{vertical-align:middle;border-radius:2px;width:14px;height:3px;display:inline-block}.rc-key.listening{background:var(--series-listening)}.rc-key.reading{background:var(--series-reading)}.rc-grid-line{stroke:var(--line);stroke-width:1px}.rc-axis{fill:var(--soft);font-size:11px;font-family:var(--f-body)}.rc-series polyline{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.rc-series circle{stroke:var(--surface);stroke-width:2px}.rc-series.listening polyline{stroke:var(--series-listening)}.rc-series.listening circle{fill:var(--series-listening)}.rc-series.reading polyline{stroke:var(--series-reading)}.rc-series.reading circle{fill:var(--series-reading)}.rc-series circle.rc-hit{fill:#0000;stroke:none;cursor:pointer}.rc-tip{background:var(--surface);border:1px solid var(--line);white-space:nowrap;pointer-events:none;border-radius:8px;margin:12px 14px 0;padding:4px 10px;font-size:12px;display:grid;position:absolute;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 4px 14px #0000001a}@media (max-width:760px){.rc-grid,.rc-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.rc-two{grid-template-columns:minmax(0,1fr)}.rc-bars li{grid-template-columns:96px minmax(0,1fr) 40px}}:root{--g-core:#c2410c;--g-phrase:#2a78d6;--g-clause:#0f8a5f;--g-special:#7048e8}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--g-core:#ff9a5c;--g-phrase:#5c9ded;--g-clause:#3cc28f;--g-special:#9d85f2}}:root[data-theme=dark]{--g-core:#ff9a5c;--g-phrase:#5c9ded;--g-clause:#3cc28f;--g-special:#9d85f2}.g-core{--g:var(--g-core)}.g-phrase{--g:var(--g-phrase)}.g-clause{--g:var(--g-clause)}.g-special{--g:var(--g-special)}.st-start{max-width:760px}.st-field{gap:4px;font-size:13px;display:grid}.st-field .dict{font-size:16px}.st-examples{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin:8px 0 0;padding:0;list-style:none}.st-examples li{border-top:1px solid var(--line)}.st-examples li:first-child{border-top:0}.st-examples a{font-family:var(--f-type);align-items:baseline;gap:10px;padding:10px 14px;font-size:14px;text-decoration:none;display:flex}.st-examples a:hover{background:var(--accent-weak)}.st-examples .lv{font-family:var(--f-body);flex:none}.st-layout{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:18px;display:grid}.st-main{min-width:0}.st-canvas{margin-top:0}.st-bar{flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:13px;display:flex}.st-bar .link:disabled{opacity:.4;cursor:default}.st-words{-webkit-user-select:none;user-select:none;touch-action:none;flex-wrap:wrap;row-gap:14px;padding:6px 0;display:flex}.st-col{align-content:start;display:grid}.st-word{font-family:var(--f-type);color:var(--ink);background:0 0;border:0;border-radius:5px;padding:2px 5px;font-size:18px;line-height:1.5}.st-word:hover{background:var(--accent-weak)}.st-word.on{background:var(--primary);color:var(--on-primary)}.st-cell{height:16px;margin-top:3px;position:relative}.st-cell.on{background:color-mix(in srgb, var(--g) 22%, transparent);border-top:3px solid var(--g)}.st-cell.first{border-top-left-radius:3px;margin-left:3px}.st-cell.last{border-top-right-radius:3px;margin-right:3px}.st-cell.hover{background:color-mix(in srgb, var(--g) 45%, transparent)}.st-cell i{color:var(--g);font-size:10px;font-style:normal;font-weight:700;line-height:13px;position:absolute;top:0;left:2px}.st-core{font-family:var(--f-type);border-top:1px dashed var(--line);padding-top:10px;font-size:15px}.st-core span{font-family:var(--f-body);color:var(--on-primary);background:var(--primary);border-radius:4px;margin-right:6px;padding:1px 7px;font-size:12px;font-weight:700}.st-marks{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.st-marks li{background:var(--surface);border:1px solid var(--line);border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:8px 12px;font-size:14px;display:grid}.st-marks li.hover{border-color:var(--accent-mid)}.st-num{color:#fff;background:var(--g);border-radius:6px;place-items:center;width:24px;height:24px;font-size:12px;font-style:normal;font-weight:700;display:grid}.st-marks .soft{font-size:12px}.st-span{font-family:var(--f-type);font-size:14px}.st-note{border:0;border-bottom:1px dashed var(--line);width:100%;color:var(--ink);font:inherit;background:0 0;padding:2px 0;font-size:13px}.st-note:focus{border-bottom-color:var(--accent);outline:none}.st-fields{gap:10px;display:grid}.st-palette{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:12px;max-height:calc(100dvh - 32px);padding:12px;display:grid;position:sticky;top:16px;overflow-y:auto}.st-pgroup h3{color:var(--soft);margin-bottom:6px;font-size:12px;font-weight:600}.st-roles{flex-wrap:wrap;gap:5px;display:flex}.st-role{border:1px solid color-mix(in srgb, var(--g) 40%, var(--line));background:color-mix(in srgb, var(--g) 8%, var(--surface));color:var(--ink);border-left:3px solid var(--g);border-radius:7px;padding:2px 9px;font-size:13px}.st-role:hover:not(:disabled){background:color-mix(in srgb, var(--g) 20%, var(--surface))}.st-role:disabled{opacity:.5;cursor:not-allowed}.st-library{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.st-library li{background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:6px;padding:12px 14px;font-size:14px;display:grid}.st-lib-text{font-family:var(--f-type);font-size:15px}.st-lib-fix{color:#2b8a3e;font-family:var(--f-type)}.st-lib-imit{font-family:var(--f-type);color:var(--accent)}@media (max-width:900px){.st-layout{grid-template-columns:minmax(0,1fr)}.st-palette{z-index:5;order:-1;max-height:34dvh;top:58px;box-shadow:0 6px 18px #00000014}}.res-free{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.res-item{background:var(--surface);border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;font-size:14px;text-decoration:none;display:flex}.res-item:hover{border-color:var(--accent-mid)}.res-item span{color:var(--accent);font-weight:600}.syn-quick{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:6px;display:flex}.syn-quick h2{color:var(--primary);font-size:17px}.syn-quick .soft{margin-top:2px;font-size:13px}.syn-go{min-width:140px;height:44px;font-size:15px}.syn-more>summary{cursor:pointer;color:var(--soft);font-size:14px}.syn-more>summary:hover{color:var(--ink)}.syn-more[open]>summary{margin-bottom:10px}.syn-more+.syn-stats,.syn-more+.hint+.syn-stats{margin-top:18px}.aq-preview{background:var(--bg);border-radius:10px;padding:10px 14px;font-size:14px}.aq-preview ol{font-family:var(--f-type);margin:6px 0 0;padding-left:22px}.syn-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.syn-start{margin-top:14px}.syn-hint{flex-wrap:wrap;align-items:baseline;gap:8px;font-size:13px;display:inline-flex}.syn-window{margin:12px 0 10px}.syn-mine{color:var(--accent);margin-left:6px;font-size:11px}.syn-io{margin:8px 0 4px}.syn-io .link:disabled{opacity:.4;cursor:default}.syn-bank li.syn-own{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.syn-set-opts{justify-content:flex-end}.syn-pairs{flex-wrap:wrap;gap:4px 14px;display:flex}.syn-pairs .link{color:var(--accent)}.rc-m-syn{color:var(--accent);justify-self:start;font-size:13px}@media (max-width:640px){.syn-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.syn-set-opts{justify-content:flex-start}}.st-words{position:relative}.st-words.has-arrows{padding-top:56px}.st-arrow-layer{pointer-events:none;color:var(--accent);position:absolute;inset:0;overflow:visible}.st-arrow-layer path{stroke:currentColor;stroke-width:1.5px}.st-arrow-layer text{fill:var(--accent);font-size:11px;font-weight:600;font-family:var(--f-body);paint-order:stroke;stroke:var(--surface);stroke-width:4px}.st-mark-actions{justify-items:end;gap:4px;display:grid}.st-link-to{border-color:var(--accent);color:var(--accent);padding:2px 10px;font-size:12px}.st-linking{background:var(--accent-weak);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0;padding:8px 12px;font-size:13px;display:flex}.st-sub{margin:14px 0 6px;font-size:14px}.st-arrows{gap:4px;margin:0;padding:0;list-style:none;display:grid}.st-arrows li{background:var(--surface);border:1px solid var(--line);border-radius:8px;justify-content:space-between;gap:10px;padding:6px 12px;font-size:14px;display:flex}.st-arrow-kind{color:var(--accent);margin:0 8px;font-size:13px}.st-lib-wrong{font-family:var(--f-type);color:var(--err)}.st-drill-note{margin:10px 0}.st-drill{gap:12px;margin-top:0;display:grid}.st-drill-text{font-family:var(--f-type);font-size:18px;line-height:1.8}.st-drill-hl{background:var(--accent-weak);color:var(--accent);border-bottom:2px solid var(--accent-bright)}.st-drill-hl+.st-drill-hl{border-radius:0}.st-drill-structure{background:var(--bg);border-radius:10px;gap:4px;padding:10px 14px;font-size:14px;display:grid}.st-core-tag{color:var(--on-primary);background:var(--primary);border-radius:4px;margin-right:6px;padding:1px 7px;font-size:12px;font-weight:700}.st-drill .syn-opt kbd{font-size:11px}.wr-hint{margin-left:6px;font-size:12px;font-weight:400}.wc{margin:16px 0 0}.wc-title{color:var(--ink);font-size:14px;font-weight:700}.wc-legend{color:var(--ink);flex-wrap:wrap;gap:4px 16px;margin:6px 0 4px;padding:0;font-size:13px;list-style:none;display:flex}.wc-legend li{align-items:center;gap:6px;display:flex}.wc-key{border-radius:3px;width:12px;height:12px;display:inline-block}.wc-key.line{border-radius:2px;width:16px;height:3px}.wc-key.s1{background:var(--series-1)}.wc-key.s2{background:var(--series-2)}.wc-key.s3{background:var(--series-3)}.wc-svg{width:100%;height:auto;display:block;overflow:visible}.wc-grid{stroke:var(--line);stroke-width:1px}.wc-axis{stroke:var(--soft);stroke-width:1px}.wc-tick,.wc-unit{fill:var(--soft);font-size:11px;font-family:var(--f-body)}.wc-bar.s1{fill:var(--series-1)}.wc-bar.s2{fill:var(--series-2)}.wc-bar.s3{fill:var(--series-3)}.wc-line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.wc-line.s1{stroke:var(--series-1)}.wc-line.s2{stroke:var(--series-2)}.wc-line.s3{stroke:var(--series-3)}.wc-dot{stroke:var(--surface);stroke-width:2px}.wc-dot.s1{fill:var(--series-1)}.wc-dot.s2{fill:var(--series-2)}.wc-dot.s3{fill:var(--series-3)}.wc-bar:hover,.wc-dot:hover{opacity:.8}.wc-toggle{margin-top:6px}.wc-table{margin-top:8px;font-size:13px}.wc-key.s4,.wc-slice.s4{background:var(--series-4);fill:var(--series-4)}.wc-key.s5,.wc-slice.s5{background:var(--series-5);fill:var(--series-5)}.wc-slice.s1{fill:var(--series-1)}.wc-slice.s2{fill:var(--series-2)}.wc-slice.s3{fill:var(--series-3)}.wc-slice{stroke:var(--surface);stroke-width:2px;stroke-linejoin:round}.wc-slice:hover{opacity:.8}.wc-pies{flex-wrap:wrap;justify-content:center;gap:8px 24px;display:flex}.wc-pie{text-align:center;flex:150px;max-width:240px}.wc-pie svg,.wc-map svg{width:100%;height:auto;display:block;overflow:visible}.wc-plabel{fill:var(--ink);font-size:14px;font-family:var(--f-body)}.wc-pie-name{color:var(--ink);margin:2px 0 0;font-size:13px;font-weight:700}.wc-mixed{gap:8px;display:grid}.wc-scroll{overflow-x:auto}.wc-figure-table{background:var(--surface);margin-top:6px}.wc-steps{gap:18px;max-width:420px;margin:10px 0 0;padding:0;list-style:none;display:grid}.wc-steps li{background:var(--surface);border:1px solid var(--line);border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px;padding:8px 12px;font-size:13px;display:grid;position:relative}.wc-steps li:not(:last-child):after{content:"↓";color:var(--soft);font-size:13px;line-height:18px;position:absolute;bottom:-18px;left:50%;transform:translate(-50%)}.wc-step-n{background:var(--primary);width:20px;height:20px;color:var(--on-primary);border-radius:50%;grid-row:span 2;place-items:center;font-size:11px;display:grid}.wc-step-label{color:var(--ink);font-weight:700}.wc-step-detail{color:var(--soft);font-size:12px}.wc-cycle{margin:8px 0 0;font-size:13px}.wc-maps{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:8px;display:grid}.wc-map-bg{fill:var(--surface);stroke:var(--line);stroke-width:.4px}.wc-f{stroke-width:.35px}.wc-f.building{fill:var(--mist);stroke:var(--soft)}.wc-f.road{fill:color-mix(in srgb, var(--soft) 30%, var(--surface));stroke:none}.wc-f.path{fill:none;stroke:var(--soft);stroke-dasharray:1 .8}.wc-f.water{fill:color-mix(in srgb, var(--series-1) 25%, var(--surface));stroke:var(--series-1)}.wc-f.trees{fill:color-mix(in srgb, var(--series-3) 28%, var(--surface));stroke:var(--series-3)}.wc-f.field{fill:color-mix(in srgb, var(--series-4) 22%, var(--surface));stroke:var(--series-4)}.wc-f.parking{fill:var(--bg);stroke:var(--soft);stroke-dasharray:.8 .6}.wc-map-label{fill:var(--ink);font-size:3.4px;font-family:var(--f-body)}.wc-north path{fill:var(--ink)}.wc-north text{fill:var(--ink);font-size:3.4px;font-weight:700;font-family:var(--f-body)}@media (max-width:640px){.wc-tick,.wc-unit{font-size:18px}}.tip-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.tip-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:2px;padding:12px 16px;text-decoration:none;display:grid}.tip-card:hover{border-color:var(--accent-mid)}.tip-card b{color:var(--primary);font-size:15px}.tip-card .soft{font-size:13px;line-height:1.6}.tip{gap:14px;display:grid}.tip>.link{justify-self:start;font-size:13px}.tip-title{color:var(--primary);font-size:21px}.tip-gist{font-size:15px;font-weight:600;line-height:1.8}.tip-sec{gap:10px;margin:0;display:grid}.tip-sec h3{color:var(--primary);font-size:15px}.tip-steps,.tip-traps{gap:6px;margin:0;padding-left:22px;font-size:14.5px;line-height:1.7;display:grid}.tip-traps li::marker{color:var(--err)}.tip-source{background:var(--bg);border-radius:10px;gap:4px;padding:10px 14px;display:grid}.tip-source .soft{font-size:12px}.tip-source p,.tip-q p{font-family:var(--f-type);white-space:pre-line;font-size:14.5px;line-height:1.75}.tip-answer{border-top:1px dashed var(--line);gap:8px;padding-top:10px;font-size:14.5px;line-height:1.75;display:grid}.tip-answer>summary{cursor:pointer;color:var(--accent);font-size:14px;font-weight:600}.tip-answer[open]>summary{margin-bottom:4px}.tip-ans{align-items:baseline;gap:10px;display:flex}.tip-ans b{color:var(--on-accent);background:var(--accent-bright);border-radius:4px;flex:none;padding:0 7px;font-size:12px}.tip-ans span{font-family:var(--f-type);white-space:pre-line}.tip-go{margin-top:2px}.tip-more-h{color:var(--soft);margin-bottom:8px;font-size:14px}.tw-bar{flex-wrap:wrap;align-items:center;gap:8px 16px;margin:4px 0 12px;display:flex}.tw-topic+.tw-topic{margin-top:20px}.tw-topic h2{margin:0 0 8px;font-size:16px}.tw-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.tw-row{background:var(--surface);border:1px solid var(--line);border-radius:10px;grid-template-columns:12rem 7.5rem minmax(0,1fr);align-items:baseline;gap:4px 14px;padding:8px 12px;font-size:14px;display:grid}.tw-en{font-family:var(--f-type);color:var(--ink);font-size:14px}.tw-zh{color:var(--ink);justify-self:start;font-size:13px}.tw-ex{color:var(--soft);font-size:13px}.tw-ex mark{background:var(--accent-weak);color:var(--ink);border-radius:3px;padding:0 2px}@media (max-width:640px){.tw-row{grid-template-columns:minmax(0,1fr) auto}.tw-ex{grid-column:1/-1}}.next-steps{margin:18px 0 4px}.next-steps h3{margin:0 0 8px;font-size:15px}.next-steps ol{gap:8px;margin:0;padding:0;list-style:none;display:grid}.next-steps a{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent-bright);color:var(--ink);border-radius:10px;gap:2px;padding:10px 14px;text-decoration:none;display:grid}.next-steps a:hover{border-color:var(--accent-mid);border-left-color:var(--accent-bright)}.next-steps .soft{font-size:13px}.dg{gap:14px;display:grid}.dg-steps{flex-wrap:wrap;gap:6px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.dg-steps li{background:var(--surface);border:1px solid var(--line);color:var(--soft);border-radius:999px;padding:3px 12px}.dg-steps li.cur{border-color:var(--accent-bright);color:var(--ink);font-weight:600}.dg-steps li.done{color:var(--ink);background:var(--accent-weak);border-color:#0000}.dg-card{gap:12px;display:grid}.dg-card h1{margin:0;font-size:22px}.dg-card h2{margin:0;font-size:18px}.dg-card p{margin:0}.dg-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.dg-list{gap:4px;margin:0;padding-left:20px;display:grid}.dg-play{gap:10px;display:flex}.dg-passage{background:var(--bg);border-radius:10px;gap:10px;padding:14px 16px;font-size:15px;line-height:1.75;display:grid}.dg-passage h3{margin:0;font-size:16px}.dg-q-title{margin:6px 0 0;font-size:14px}.dg-q{border:0;gap:6px;margin:0;padding:0;display:grid}.dg-q legend{margin-bottom:4px;padding:0;font-size:14.5px}.dg-gap{font-size:14.5px;line-height:2.2;display:block}.dg-gap-input{border:1px solid var(--line);background:var(--surface);width:130px;height:30px;color:var(--ink);font:inherit;border-radius:6px;margin:0 6px;padding:0 8px}.dg-self{border:0;gap:6px;margin:0;padding:0;display:grid}.dg-self legend{margin-bottom:6px;padding:0;font-weight:700}.dg-self legend .soft{font-size:13px;font-weight:400}.dg-option{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:14px;display:flex}.dg-option input{margin-top:4px}.dg-option.on{border-color:var(--accent-bright);background:var(--accent-weak)}.dg-bands{gap:8px;margin:0;padding:0;list-style:none;display:grid}.dg-bands li{grid-template-columns:3em minmax(0,1fr) 2.5em 3em;align-items:center;gap:10px;display:grid}.dg-bands li.weak .dg-skill{color:var(--accent);font-weight:700}.dg-bands b{color:var(--primary);text-align:right;font-size:18px}.dg-bar{background:var(--line);border-radius:5px;height:10px;overflow:hidden}.dg-bar>span{background:var(--primary);border-radius:5px;height:100%;display:block}.dg-bands li.weak .dg-bar>span{background:var(--accent-bright)}.dg-how{font-size:12px}.home-ask{color:var(--soft);flex-wrap:wrap;align-items:center;gap:6px 10px;margin:-12px 0 0;font-size:13.5px;display:flex}.home-ask a{color:var(--accent);white-space:nowrap;font-weight:600;text-decoration:none}.home-ask a:hover{text-underline-offset:3px;text-decoration:underline}.sum-ask{border-top:1px dashed var(--line);margin:14px 0 0;padding-top:12px;font-size:13px}.sum-ask a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.dash-hero{background:var(--surface);border:1px solid var(--accent-mid);border-radius:16px;gap:10px;padding:22px 22px 20px;display:grid}.dash-hero h1{color:var(--primary);margin:0;font-size:26px;line-height:1.35}.dash-hero p{max-width:620px;margin:0;font-size:14.5px}.dash-hero .actions{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:4px;display:flex}@media (max-width:480px){.dash-hero{padding:18px 16px}.dash-hero h1{font-size:22px}}.dash-intro{background:var(--surface);border:1px solid var(--accent-mid);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;display:flex}.dash-intro h2{margin:0 0 4px;font-size:17px}.dash-intro p{margin:0;font-size:13.5px}.tip-read{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.rt-of{font-size:14px;font-weight:400}.rt-days{grid-template-columns:repeat(auto-fill,minmax(14px,1fr));gap:4px;max-width:520px;margin:4px 0 0;padding:0;list-style:none;display:grid}.rt-days li{background:var(--line);border-radius:4px;height:14px}.rt-days li.done{background:var(--primary)}.rt-days li.cur{background:var(--accent-bright);box-shadow:0 0 0 2px var(--accent-weak)}.rt-week{margin:6px 0 10px;font-size:13px}.rt-msg{gap:10px;margin:6px 0 0;display:grid}.rt-msg p{margin:0}.rt-foot{flex-wrap:wrap;align-items:baseline;gap:10px;margin:10px 0 0;font-size:12.5px;display:flex}.rt-start{margin-top:4px}.gl-howto{gap:8px;margin-top:14px;display:grid}.gl-howto h2{margin:0;font-size:16px}.gl-next{vertical-align:2px;margin-left:8px}.nd-setup{gap:12px;display:grid}.nd-setup h2{margin:0;font-size:16px}.nd-item{gap:12px;display:grid}.nd-check{border-radius:10px;gap:2px;padding:10px 14px;display:grid}.nd-check p{margin:0}.nd-check.ok{background:#2b8a3e1a}.nd-check.bad{background:var(--err-weak)}.nd-review{gap:6px;margin:12px 0;padding:0;list-style:none;display:grid}.nd-review li{grid-template-columns:7em minmax(0,1fr);gap:10px;font-size:14px;display:grid}.nd-review li.bad b{color:var(--err)}.aw-scenes{flex-wrap:wrap;gap:4px}.aw-count{opacity:.7;margin-left:6px;font-size:11px}.aw-only{align-items:center;gap:8px;margin:8px 0;font-size:14px;display:flex}.aw-play{gap:8px}.aw-big{min-width:8em}.aw-input{letter-spacing:.02em;font-size:22px}.aw-word{font-size:18px}.aw-word b{font-family:var(--f-type)}.aw-diff{font-family:var(--f-type);letter-spacing:.06em;overflow-wrap:anywhere;margin:6px 0;font-size:22px}.aw-diff .aw-missing{color:var(--err);text-underline-offset:4px;background:var(--err-weak);border-radius:3px;font-weight:700;text-decoration:underline;text-decoration-thickness:2px}.aw-diff .aw-extra{color:var(--soft);font-size:.8em;text-decoration:line-through;text-decoration-thickness:2px}.aw-retype{gap:6px;margin:12px 0 4px;display:grid}.aw-retype label{color:var(--soft);font-size:14px}.aw-retype.ok label{color:#2b8a3e;font-weight:600}.aw-retype.ok .dict{border-color:#2b8a3e}.aw-list{margin:12px 0 4px}.aw-list summary{cursor:pointer;color:var(--accent);font-size:14px}.aw-list h4{margin:14px 0 6px;font-size:14px}.aw-list ul{grid-template-columns:repeat(auto-fill,minmax(min(100%,15em),1fr));gap:2px 12px;margin:0;padding:0;list-style:none;display:grid}.aw-list li{align-items:baseline;gap:8px;min-width:0;font-size:14px;display:flex}.aw-list li .soft{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.aw-list li.known .aw-en{color:#2b8a3e}.aw-list li.missed .aw-en{color:var(--accent);font-weight:600}.aw-words{grid-template-columns:repeat(auto-fill,minmax(min(100%,15em),1fr));gap:4px 12px;margin:0 0 8px;padding:0;list-style:none;display:grid}.aw-words li{align-items:baseline;gap:8px;min-width:0;font-size:15px;display:flex}.aw-words li .soft{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.aw-en{font-family:var(--f-type)}.aw-say{color:var(--soft);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:12px}.aw-say:hover{color:var(--accent)}.ld-item{gap:10px;display:grid}.ld-q{margin:0;font-size:16px;font-weight:600;line-height:1.6}.ld-opts{margin-top:4px;font-size:13px;font-weight:400;display:block}.ld-hint{margin:0;font-size:13px}.ld-para{background:var(--bg);border-radius:10px;margin:0;padding:12px 14px;font-size:15px;line-height:1.85}.ld-s{font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;margin:0;padding:1px 2px;display:inline}.ld-s:hover:not(:disabled){background:var(--accent-weak)}.ld-s:disabled{cursor:default}.ld-s.answer{background:#2b8a3e29;box-shadow:0 0 0 2px #2b8a3e66}.ld-s.wrong{background:var(--err-weak);text-decoration:line-through;-webkit-text-decoration-color:var(--err);text-decoration-color:var(--err)}.dr-choices{gap:8px;display:grid}.dr-choice{text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;border-radius:10px;padding:10px 14px;font-size:15px}.dr-choice:hover:not(:disabled){border-color:var(--accent-bright);background:var(--accent-weak)}.dr-choice:disabled{cursor:default}.dr-choice.right{background:#2b8a3e1f;border-color:#2b8a3e;font-weight:600}.dr-choice.wrong{border-color:var(--err);background:var(--err-weak);text-decoration:line-through;-webkit-text-decoration-color:var(--err);text-decoration-color:var(--err)}.dr-choice.dim{opacity:.55}.dr-sentence{font-size:16px;line-height:1.9}.dr-sentence p{margin:0}.dr-sentence p+p{margin-top:6px}.dr-err{background:var(--err-weak);box-shadow:0 0 0 2px color-mix(in srgb, var(--err) 45%, transparent);border-radius:4px}.dr-blank{color:var(--primary);border-bottom:2px solid var(--accent-bright);padding:0 2px}.dr-pool{gap:8px;margin:0;padding:0;list-style:none;display:grid}.dr-piece{text-align:left;border:1px dashed var(--line);background:var(--surface);width:100%;color:var(--ink);font:inherit;cursor:pointer;border-radius:10px;padding:10px 14px;font-size:14.5px;line-height:1.6}.dr-piece:hover:not(:disabled){border-color:var(--accent-bright);border-style:solid}.dr-piece:disabled{opacity:.35;cursor:default}.dr-built{gap:6px;margin:0;padding-left:22px;font-size:14.5px;line-height:1.6;display:grid}.dr-built:empty{display:none}.dr-built li.ok::marker{color:#2b8a3e;font-weight:700}.dr-built li.bad{color:var(--err)}.dr-live{margin:0;font-size:14px;font-style:italic}.dr-audio{width:100%;height:36px}.dr-self{gap:6px;font-size:14px;display:grid}.dr-checks{gap:6px;margin:0;padding:0;list-style:none;display:grid}.dr-checks li{border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:10px;padding:8px 12px;font-size:14px;font-weight:600;display:flex}.dr-checks li .soft{font-size:13px;font-weight:400}.dr-checks li.ok{background:#2b8a3e1a}.dr-checks li.ok:before{content:"✓";color:#2b8a3e}.dr-checks li.bad{background:var(--err-weak)}.dr-checks li.bad:before{content:"✗";color:var(--err)}.dr-hit{color:#2b8a3e}.dr-miss{color:var(--err);-webkit-text-decoration:underline wavy var(--err);text-decoration:underline wavy var(--err);text-underline-offset:3px}.dr-input{cursor:text;width:100%;height:42px;padding:0 12px;font-size:16px}.cx-level{gap:10px;display:grid}.cx-level h2{margin:0;font-size:17px}.cx-level p{margin:0}.cx-bands{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.cx-bands li{background:var(--bg);border-radius:10px;padding:10px 12px;display:grid}.cx-bands .soft{font-size:12px}.cx-bands b{color:var(--primary);font-size:24px;line-height:1.3}.cx-skills{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px;display:grid}.cx-skill{background:var(--surface);border:1px solid var(--line);border-radius:12px;align-content:start;gap:10px;padding:14px;display:grid}.cx-skill-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.cx-skill-head h3{color:var(--primary);margin:0;font-size:16px}.cx-skill-head .soft{font-size:12px}.cx-figures{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.cx-figure{background:var(--bg);height:100%;color:var(--ink);border-radius:10px;gap:2px;padding:8px 10px;text-decoration:none;display:grid}.cx-figure:hover{box-shadow:0 0 0 1px var(--accent-mid)}.cx-figure .soft{font-size:12px}.cx-figure b{color:var(--primary);font-size:20px;line-height:1.3}.cx-try{justify-self:end;font-size:14px}@media (max-width:640px){.cx-bands{grid-template-columns:repeat(2,minmax(0,1fr))}.cx-skills{grid-template-columns:minmax(0,1fr)}}.set-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.set-choice{text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;border-radius:12px;gap:4px;padding:12px 14px;display:grid}.set-choice b{font-size:15px}.set-choice .soft{font-size:13px;line-height:1.55}.set-choice:hover{border-color:var(--accent-mid)}.set-choice.on{border-color:var(--accent-bright);background:var(--accent-weak);box-shadow:inset 0 0 0 1px var(--accent-bright)}@media (max-width:640px){.set-choices{grid-template-columns:minmax(0,1fr)}}.wb-drop{text-align:center;border:1.5px dashed var(--accent-mid);background:var(--bg);cursor:pointer;border-radius:12px;justify-items:center;gap:4px;padding:28px 16px;display:grid}.wb-drop:hover,.wb-drop.on{border-color:var(--accent-bright);background:var(--accent-weak)}.wb-drop input{opacity:0;width:1px;height:1px;position:absolute}.wb-drop:focus-within{box-shadow:0 0 0 3px var(--accent-weak)}.wb-paste{min-height:140px;font-size:15px}.wb-err{color:var(--err);margin:0;font-size:14px}.wb-help summary{cursor:pointer}.wb-help code{font-family:var(--f-type);background:var(--bg);border-radius:4px;padding:0 4px}.wb-cols{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.wb-cols label{color:var(--soft);gap:4px;font-size:13px;display:grid}.wb-cols .sel{min-width:140px}.wb-name{flex:1;min-width:200px}.wb-name .sel{cursor:text;width:100%}input.sel{cursor:text;padding:0 8px}.wl tr.wb-off td{opacity:.45;text-decoration:line-through}.wb-title{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-top:18px;display:flex}.wb-title h2{margin:0}.wb-rename{min-width:240px}.wb-modes{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;display:grid}.wb-mode{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;gap:2px;padding:10px 14px;text-decoration:none;display:grid}.wb-mode .soft{font-size:13px;line-height:1.5}a.wb-mode:hover,button.wb-mode:hover{border-color:var(--accent-bright);background:var(--accent-weak)}button.wb-mode{font:inherit;text-align:left;cursor:pointer}.wb-mode.off{opacity:.55}.wb-danger:hover{color:var(--err)}.wb-session{justify-content:space-between;align-items:center;margin-top:16px;display:flex}.wb-prompt{font-size:22px;line-height:1.4}.wb-term{font-family:var(--f-type)}.wb-answer{gap:2px;display:grid}.wb-answer p{margin:0}.wb-spell{gap:10px;display:grid}.wb-missed{gap:4px;margin:0;padding:0;list-style:none;display:grid}.wb-missed b{font-family:var(--f-type)}.plans{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.plan{background:var(--surface);border:1px solid var(--line);border-radius:14px;align-content:start;gap:8px;padding:18px 20px;display:grid}.plan.pro{border-color:var(--accent-bright);box-shadow:inset 0 0 0 1px var(--accent-bright)}.plan h2{margin:0;font-size:17px}.plan-price{color:var(--soft);margin:0}.plan-price b{color:var(--primary);font-size:30px}.plan-sub{margin:0;font-size:13px}.plan-list{gap:4px;margin:0;padding-left:18px;font-size:14px;display:grid}.plan-redeem{gap:10px;display:grid}.plan-redeem p{margin:0}.plan-code{min-width:220px;font-family:var(--f-type);letter-spacing:.06em;text-transform:uppercase}.plan-made{font-family:var(--f-type);letter-spacing:.06em;white-space:pre-wrap;margin:4px 0;font-size:16px}.plan-faq dt{margin-top:12px;font-weight:600}.plan-faq dd{color:var(--soft);margin:2px 0 0}.free-note{color:var(--soft);margin:10px 0 0;font-size:13px}.free-note a{color:var(--accent);margin-left:4px}.toc .lock{white-space:nowrap;font-size:12px}@media (max-width:640px){.plans{grid-template-columns:minmax(0,1fr)}}.about-hero{text-align:center;justify-items:center;gap:8px;padding:28px 0 8px;display:grid}.about-mark{width:64px;height:64px;color:var(--primary)}.about-name{letter-spacing:.04em;margin:0;font-size:18px;font-weight:700}.about-name span{font-family:var(--font-brush), var(--f-body);color:var(--accent);font-weight:400}.about-hero h1{margin:0;font-size:30px}.about-lead{max-width:520px;margin:4px 0 8px;font-size:16px}.about-hero .actions{justify-content:center}.about h3{margin:0 0 4px;font-size:15px}.about p{margin:0}.about-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.about-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px;font-size:14px}.about-steps{gap:10px;margin:0;padding:0;list-style:none;display:grid}.about-steps li{align-items:flex-start;gap:12px;font-size:14px;display:flex}.about-n{background:var(--accent-weak);width:30px;height:30px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.about-counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.about-counts div{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:grid}.about-counts b{color:var(--primary);font-size:20px}.about-counts span{font-size:12px}.about-price{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:22px;display:flex}.about-price h2{margin:0 0 4px}@media (max-width:640px){.about-cards{grid-template-columns:minmax(0,1fr)}.about-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.about-hero h1{font-size:24px}}.plan-message{background:var(--bg);border-radius:10px;margin:0;padding:10px 14px;font-size:14px}.plan-mail{flex-wrap:wrap;align-items:center;gap:10px;margin:0;display:flex}.plan-buy{align-items:center;gap:20px;display:flex}.plan-qr{border:1px solid var(--line);background:#fff;border-radius:12px;flex:none;padding:6px;line-height:0;display:block}.plan-qr img{width:160px;height:160px}.plan-buy-text{gap:10px;display:grid}.plan-buy-text p{margin:0}.plan-line-phone{justify-self:start;display:none}@media (max-width:640px){.plan-qr{display:none}.plan-line-phone{display:inline-block}.plan-scan{display:none}}.plan-checkout{gap:12px;display:grid}.plan-checkout p{margin:0}.plan-total b{color:var(--primary);font-size:22px}.plan-agree{align-items:flex-start;gap:8px;font-size:14px;display:flex}.plan-agree input{flex:none;margin-top:4px}.plan-other summary{cursor:pointer;font-weight:600}.plan-other[open] summary{margin-bottom:12px}.legal h2{margin:18px 0 6px;font-size:17px}.legal p,.legal li{font-size:14px;line-height:1.75}.legal ol,.legal ul{gap:4px;margin:0;padding-left:20px;display:grid}.adm{min-width:0;max-width:1080px}.adm-stack{gap:28px;display:grid}.adm-stack>*,.adm-charts>*,.adm-stats>*{min-width:0}.adm-h{color:var(--ink);margin:0 0 10px;font-size:16px}.adm-section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.adm-section-head .adm-h{margin:0}.adm-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.adm-stats-3{grid-template-columns:repeat(3,minmax(0,1fr))}.adm-stat{background:var(--surface);border:1px solid var(--line);border-radius:14px;align-content:start;gap:4px;padding:14px 16px;display:grid}.adm-stat-label{color:var(--soft);font-size:13px}.adm-stat>b{color:var(--primary);font-size:28px;line-height:1.15}.adm-delta{color:var(--soft);font-size:12.5px}.adm-delta b{color:var(--ink);font-weight:600}.adm-charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.adm-chart{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin:0;padding:14px 16px 10px}.adm-chart figcaption{color:var(--ink);margin-bottom:6px;font-size:14px;font-weight:600}.adm-plot{position:relative}.adm-plot svg{width:100%;height:auto;display:block;overflow:visible}.adm-grid{stroke:var(--line);stroke-width:1px}.adm-baseline{stroke:var(--soft);stroke-width:1px;opacity:.5}.adm-axis{fill:var(--soft);font-size:11px;font-family:var(--f-body)}.adm-bar{fill:var(--primary);opacity:.82}.adm-bar.on{opacity:1}.adm-hit{fill:#0000}.adm-tip{background:var(--surface);border:1px solid var(--line);white-space:nowrap;pointer-events:none;border-radius:8px;justify-items:center;gap:1px;padding:4px 10px;font-size:12px;display:grid;position:absolute;top:0;transform:translate(-50%);box-shadow:0 4px 14px #0000001a}.adm-tip b{color:var(--ink)}.adm-kind{color:var(--accent);background:var(--accent-weak);white-space:nowrap;border-radius:999px;padding:1px 9px;font-size:12px;font-weight:700;display:inline-block}.adm-mini-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.adm-mini-list li{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:4px 10px;min-width:0;padding:10px 14px;font-size:14px;display:flex}.adm-mini-text{text-overflow:ellipsis;white-space:nowrap;flex:200px;min-width:0;overflow:hidden}.adm-mini-list .soft{white-space:nowrap;font-size:12px}.adm-guide{border:1px solid var(--line);background:var(--surface);border-radius:14px;width:100%;height:max(600px,100dvh - 240px);display:block}.adm-table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow-x:auto}.adm-table{border-collapse:collapse;width:100%;font-size:14px}.adm-table th{text-align:left;color:var(--soft);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 14px;font-size:12.5px;font-weight:600}.adm-table td{border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 14px}.adm-table tbody tr:last-child td{border-bottom:0}.adm-table .r{text-align:right}.adm-table tr.on td{background:var(--accent-weak)}.adm-table a{color:var(--primary)}.adm-row-btn{color:var(--primary);font:inherit;text-align:left;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:600}.adm-row-btn:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.adm-tag{color:var(--soft);border:1px solid var(--line);border-radius:999px;margin-left:8px;padding:0 7px;font-size:11px;font-weight:700}.adm-col-bar{width:32%;min-width:180px}.adm-inline-bar{grid-template-columns:minmax(0,1fr) 40px;align-items:center;gap:10px;display:grid}.adm-inline-bar .num{text-align:right}.adm-bar-fill{background:var(--primary)}.adm-grant{flex-wrap:wrap;gap:8px;display:flex}.adm-grant .adm-search{width:320px}.adm-search{width:240px;max-width:100%;font-family:var(--f-body);padding:7px 12px;font-size:15px}.adm-detail-row>td{white-space:normal;background:var(--bg);padding:16px 18px}.adm-detail{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;display:grid}.adm-detail h3{color:var(--soft);margin:0 0 4px;font-size:13px}.adm-detail p{margin:0;font-size:14px}.adm-detail-list{gap:4px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.adm-detail-list li{justify-content:space-between;gap:12px;display:flex}.adm-days{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.adm-days li{background:var(--surface);border:1px solid var(--line);border-radius:8px;justify-items:center;padding:3px 8px;font-size:12px;display:grid}.adm-filters{gap:8px;display:grid}.adm-filters .chips button{font-size:14px;font-weight:500}.adm-count{opacity:.75;margin-left:4px;font-size:12px}.adm-fb-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.adm-fb{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 18px}.adm-fb.done{opacity:.62}.adm-fb-meta{color:var(--soft);flex-wrap:wrap;align-items:center;gap:10px;font-size:12.5px;display:flex}.adm-done{font-weight:600}.adm-fb-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 12px;font-size:15px;line-height:1.7}.adm-fb-facts{flex-wrap:wrap;gap:6px 24px;margin:0 0 12px;font-size:13px;display:flex}.adm-fb-facts div{gap:8px;display:flex}.adm-fb-facts dt{color:var(--soft)}.adm-fb-facts dd{overflow-wrap:anywhere;margin:0}.adm-fb-facts a{color:var(--primary)}.adm-fb-actions{flex-wrap:wrap;gap:8px;display:flex}.adm-fb-actions .btn{font-size:14px}.btn.adm-danger{color:var(--err)}.btn.adm-danger:hover{border-color:var(--err);color:var(--err)}@media (max-width:900px){.adm-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.adm-charts,.adm-detail{grid-template-columns:minmax(0,1fr)}}@media (max-width:480px){.adm-stats-3{grid-template-columns:minmax(0,1fr)}.adm-stat>b{font-size:24px}.adm-search{width:100%}}.rf{gap:10px;display:grid}.rf-top{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;margin-top:8px;display:grid}.rf-bar{background:var(--mist);border-radius:999px;height:12px;overflow:hidden}.rf-bar span{border-radius:inherit;background:var(--accent-bright);height:100%;transition:width .45s cubic-bezier(.2,.8,.2,1);display:block}.rf-streak{min-width:0;color:var(--accent);opacity:0;white-space:nowrap;font-size:13px;font-weight:700;transition:opacity .2s,transform .2s;transform:translateY(4px)}.rf-streak.on{opacity:1;transform:none}.rf-duck{color:var(--primary);flex:none}.rf-again{color:var(--accent);background:var(--accent-weak);border:1px solid var(--accent-mid);border-radius:999px;padding:1px 10px;font-size:12px;font-weight:700}.rf-verdict b{font-size:16px}.nd-check.ok .rf-verdict b{color:#2b8a3e}.nd-check.bad .rf-verdict b{color:var(--err)}:root[data-theme=dark] .nd-check.ok .rf-verdict b{color:#69db7c}.rf-next.ok{color:#fff;background:#2b8a3e;border-color:#2b8a3e}.rf-next.ok:hover{color:#fff}.dr-choice.right{animation:.32s cubic-bezier(.2,.8,.2,1.4) dr-pop}.dr-choice.wrong{animation:.36s ease-in-out dr-shake}.rf-feedback{animation:.24s ease-out rf-rise}@keyframes dr-pop{0%{transform:scale(1)}45%{transform:scale(1.035)}to{transform:scale(1)}}@keyframes dr-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}@keyframes rf-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.duck-body{transform-box:fill-box;transform-origin:50% 90%}.duck-happy .duck-body{animation:.45s cubic-bezier(.2,.8,.2,1.3) duck-hop}.duck-encourage .duck-body{animation:.5s ease-in-out duck-tilt}.duck-celebrate .duck-body{animation:.5s cubic-bezier(.2,.8,.2,1.3) 2 duck-hop}.duck-sparkles{transform-box:fill-box;transform-origin:50%;animation:1.2s ease-in-out infinite duck-twinkle}@keyframes duck-hop{0%,to{transform:translateY(0)}40%{transform:translateY(-14%)}}@keyframes duck-tilt{0%,to{transform:rotate(0)}35%{transform:rotate(-7deg)}70%{transform:rotate(4deg)}}@keyframes duck-twinkle{0%,to{opacity:.35}50%{opacity:1}}.rs{gap:18px}.rs-hero{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;display:grid}.rs-hero .duck{color:var(--primary)}.rs-title{color:var(--primary);margin:0;font-size:24px;font-weight:700}.rs-hero .soft{margin:2px 0 0;font-size:13px}.rs-score{--pct:0%;background:radial-gradient(closest-side, var(--surface) 78%, transparent 80% 100%), conic-gradient(var(--accent-bright) var(--pct), var(--mist) 0);border-radius:50%;grid-auto-flow:column;place-content:center;place-items:center;width:92px;height:92px;display:grid}.rs-score span{color:var(--primary);font-size:28px;font-weight:700;line-height:1}.rs-score small{color:var(--soft);align-self:end;margin:0 0 4px 1px;font-size:13px}.rs-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;display:grid}.rs-stats div{background:var(--bg);border-radius:10px;gap:2px;padding:10px 12px;display:grid}.rs-stats dt{color:var(--soft);font-size:12px}.rs-stats dd{color:var(--ink);margin:0;font-size:18px;font-weight:700}.rs-fixed{color:#2b8a3e;margin:0;font-size:14px}:root[data-theme=dark] .rs-fixed{color:#69db7c}.rs-advice{margin:0;font-size:14px;line-height:1.7}.rs-score.full{background:radial-gradient(closest-side, var(--surface) 78%, transparent 80% 100%), conic-gradient(#2b8a3e 100%, var(--mist) 0)}@media (max-width:560px){.rs-hero{grid-template-columns:auto minmax(0,1fr)}.rs-score{grid-column:1/-1;justify-self:center}.rs-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.rf-top{gap:8px}}@media (prefers-reduced-motion:reduce){.rf-bar span,.rf-streak{transition:none}.dr-choice.right,.dr-choice.wrong,.rf-feedback,.duck-body,.duck-sparkles{animation:none!important}}.rs-stats.rs-stats-3{grid-template-columns:repeat(3,minmax(0,1fr))}.syn-session .rf-top{margin-top:6px}.lvp{flex-wrap:wrap;align-items:center;gap:6px 12px;margin:10px 0 4px;display:flex}.lvp-opts{border:1px solid var(--line);background:var(--surface);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.lvp-opt{color:var(--soft);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:4px 12px 4px 5px;font-size:14px;display:inline-flex}.lvp-opt:hover{color:var(--accent)}.lvp-opt[aria-checked=true]{background:var(--accent-weak);color:var(--accent);font-weight:600}.lvp-n{border:1px solid;border-radius:50%;place-items:center;width:20px;height:20px;font-size:12px;font-weight:600;display:inline-grid}.lvp-opt[aria-checked=true] .lvp-n{background:var(--accent);border-color:var(--accent);color:var(--surface)}.lvp-does{font-size:13px}.lvp-up{border:1px solid var(--accent-mid);background:var(--accent-weak);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin:4px 0;padding:12px 14px;display:flex}.lvp-up p{margin:0;font-size:14px;line-height:1.6}p.lvp-up{display:block}.nd-sub{margin:14px 0 4px;font-size:14px}.bs{margin:14px 0 6px}.bs-line{margin:0 0 14px;font-size:18px;line-height:2.1}.bs-gap{border-bottom:2px solid var(--soft);white-space:pre;min-width:3em;padding:0 6px;line-height:1.5;display:inline-block}.bs-gap.cur{border-bottom-color:var(--accent-bright);background:var(--accent-weak);border-radius:6px 6px 0 0}.bs-gap.ok{color:#2b8a3e;white-space:normal;border-bottom-color:#2b8a3e;font-weight:600}.bs-gap.bad{border-bottom-color:var(--err);color:var(--err);white-space:normal}.bs-gap.bad s{color:var(--soft)}:root[data-theme=dark] .bs-gap.ok{color:#69db7c;border-bottom-color:#69db7c}.bs-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.bs-key{border:1px solid var(--line);width:20px;height:20px;color:var(--soft);border-radius:5px;place-items:center;margin-right:8px;font-size:12px;display:inline-grid}.bs-count{margin:8px 0 0;font-size:13px}@media (max-width:560px){.bs-choices{grid-template-columns:minmax(0,1fr)}.bs-line{font-size:17px}.lvp-does{flex-basis:100%}}.dash-stats.dash-stats-2{grid-template-columns:repeat(2,minmax(0,1fr))}.goal-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin:4px 0 18px;padding:18px 20px;display:grid}.goal-card.met{border-color:color-mix(in srgb, #2b8a3e 45%, var(--line))}.goal-ring{--pct:0%;background:radial-gradient(closest-side, var(--surface) 76%, transparent 78% 100%), conic-gradient(var(--accent-bright) var(--pct), var(--mist) 0);border-radius:50%;grid-auto-flow:column;place-content:center;place-items:center;width:104px;height:104px;transition:background .4s;display:grid}.goal-card.met .goal-ring{background:radial-gradient(closest-side, var(--surface) 76%, transparent 78% 100%), conic-gradient(#2b8a3e 100%, var(--mist) 0)}.goal-ring b{color:var(--primary);font-size:30px;font-weight:700;line-height:1}.goal-ring small{color:var(--soft);align-self:end;margin:0 0 4px 2px;font-size:13px}.goal-body{gap:8px;min-width:0;display:grid}.goal-title{color:var(--primary);margin:0;font-size:18px;font-weight:700}.goal-card.met .goal-title{color:#2b8a3e}:root[data-theme=dark] .goal-card.met .goal-title{color:#69db7c}.goal-line{margin:0;font-size:14px;line-height:1.6}.goal-streak{background:var(--accent-weak);color:var(--accent);border-radius:999px;margin-right:8px;padding:0 10px;font-size:13px;display:inline-block}.goal-week{gap:10px;margin:2px 0 0;padding:0;list-style:none;display:flex}.goal-week li{justify-items:center;gap:3px;display:grid}.goal-dot{border:2px solid var(--mist);border-radius:50%;width:14px;height:14px}.goal-week li.some .goal-dot{border-color:var(--accent-bright);background:var(--accent-weak)}.goal-week li.full .goal-dot{background:#2b8a3e;border-color:#2b8a3e}.goal-day{color:var(--soft);font-size:11px}.goal-pick{flex-wrap:wrap;align-items:center;gap:4px 6px;font-size:13px;display:flex}.goal-pick .soft{margin-right:4px}.goal-pick button{border:1px solid var(--line);color:var(--soft);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:2px 10px;font-size:13px}.goal-pick button:hover{color:var(--accent)}.goal-pick button[aria-checked=true]{background:var(--accent-weak);border-color:var(--accent-mid);color:var(--accent);font-weight:600}.goal-duck{color:var(--primary)}@media (max-width:560px){.goal-card{grid-template-columns:auto minmax(0,1fr);gap:14px;padding:16px}.goal-ring{width:84px;height:84px}.goal-ring b{font-size:24px}.goal-duck{display:none}.goal-week{gap:7px}}.xp-earned{background:var(--accent-weak);border-radius:12px;gap:6px;padding:10px 14px;display:grid}.xp-earned p{margin:0;font-size:14px}.xp-plus{color:var(--accent);font-size:18px}.xp-bar{background:var(--surface);border-radius:999px;height:8px;overflow:hidden}.xp-bar span{border-radius:inherit;background:var(--accent-bright);height:100%;transition:width .5s cubic-bezier(.2,.8,.2,1);display:block}.xp-earned.met{background:#2b8a3e1f}.xp-earned.met .xp-bar span{background:#2b8a3e}.xp-earned.met .xp-plus{color:#2b8a3e}.xp-home{justify-self:start;font-size:13px}.sum .xp-earned{margin:4px 0}.goal-cheer{z-index:60;border:1px solid color-mix(in srgb, #2b8a3e 45%, var(--line));background:var(--surface);width:max-content;max-width:min(440px,100vw - 32px);color:var(--ink);border-radius:16px;align-items:center;gap:12px;margin-inline:auto;padding:12px 16px;animation:.3s ease-out rf-rise;display:flex;position:fixed;bottom:24px;left:0;right:0;box-shadow:0 10px 30px #00000026}.goal-cheer b{color:#2b8a3e;font-size:16px}:root[data-theme=dark] .goal-cheer b{color:#69db7c}.goal-cheer p{margin:2px 0 0;font-size:13px}.goal-cheer .duck{color:var(--primary);flex:none}@media (max-width:760px){.goal-cheer{bottom:84px}}@media (prefers-reduced-motion:reduce){.goal-ring,.xp-bar span{transition:none}.goal-cheer{animation:none}}.mr{gap:4px;display:grid}.mr .rf-top{margin-top:6px}.mr-sheet{gap:14px}.mr-board{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 14px;display:grid}.mr-col{grid-auto-rows:minmax(54px,auto);gap:8px;display:grid}.mr-card{border:1px solid var(--line);background:var(--surface);min-height:54px;color:var(--ink);font:inherit;font-family:var(--f-type);text-align:center;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;cursor:pointer;border-bottom-width:3px;border-radius:12px;place-items:center;padding:8px 12px;font-size:16px;line-height:1.35;transition:border-color .12s,background .12s,transform 80ms;animation:.22s ease-out both mr-in;display:grid}.mr-card:hover:not(:disabled){border-color:var(--accent-bright)}.mr-card:active:not(:disabled){transform:translateY(1px)}.mr-card:disabled{cursor:default}.mr-card.say{color:var(--accent);font-size:20px}.mr-card.sel{border-color:var(--primary);background:var(--accent-weak);box-shadow:0 0 0 3px var(--accent-weak)}.mr-card.right{color:#2b8a3e;background:#ebfbee;border-color:#2f9e44;animation:.22s ease-out both mr-in,.26s ease-in forwards mr-out}.mr-card.wrong{border-color:var(--err);background:var(--err-weak);color:var(--err);animation:.22s ease-out both mr-in,.36s ease-in-out dr-shake}.mr-card.empty{border:1px dashed var(--line);cursor:default;background:0 0;animation:none}@keyframes mr-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@keyframes mr-out{0%{transform:scale(1)}40%{opacity:1;transform:scale(1.04)}to{opacity:0;transform:scale(.9)}}.mr-clock{grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:10px;margin-top:6px;display:grid;position:relative}.mr-clock:before{content:"";background:var(--mist);border-radius:999px;grid-area:1/1;height:8px}.mr-clock span{background:var(--primary);border-radius:999px;grid-area:1/1;height:8px;transition:width .2s linear}.mr-clock b{text-align:right;color:var(--primary);font-size:15px}.mr-clock.low span{background:var(--err)}.mr-clock.low b{color:var(--err)}.mr-banner{border:1px solid var(--line);background:var(--bg);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:12px 14px;animation:.24s ease-out rf-rise;display:flex}.mr-banner p{margin:0;font-size:15px}.mr-banner.ok{border-color:#2f9e44}.mr-banner.ok b{color:#2b8a3e}.mr-banner .actions{margin:0}.mr-stars{letter-spacing:0;color:var(--mist);gap:1px;font-size:1.05em;display:inline-flex}.mr-stars .on{color:var(--accent-bright)}.mr-missed{gap:6px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.mr-missed li{background:var(--bg);font-family:var(--f-type);border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:8px 12px;display:flex}.mr-missed b{color:var(--primary)}.mr-entry{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;display:flex}.mr-entry h2{color:var(--primary);font-size:17px}.mr-entry .soft{margin-top:2px;font-size:13px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .mr-card.right{color:#69db7c;background:#12301a;border-color:#37b24d}:root:not([data-theme=light]) .mr-banner.ok b{color:#69db7c}}:root[data-theme=dark] .mr-card.right{color:#69db7c;background:#12301a;border-color:#37b24d}:root[data-theme=dark] .mr-banner.ok b{color:#69db7c}@media (max-width:560px){.mr-board{gap:8px}.mr-card{padding:6px 8px;font-size:14px}}@media (prefers-reduced-motion:reduce){.mr-card,.mr-card.right,.mr-card.wrong,.mr-banner{animation:none!important}}.ow-play{margin:0}.ow-caption{font-family:var(--f-type);margin:4px 0;font-size:19px;line-height:2}.ow-word{border-radius:6px;padding:1px 2px}button.ow-word{font:inherit;color:var(--ink);background:var(--accent-weak);border:1px solid var(--accent-mid);cursor:pointer;padding:0 6px;line-height:1.6}button.ow-word:hover{border-color:var(--accent);color:var(--accent)}.ow-word.odd{background:var(--err-weak);color:var(--err);text-decoration:line-through;-webkit-text-decoration-color:var(--err);text-decoration-color:var(--err)}.ow-word.picked{box-shadow:inset 0 -2px 0 var(--soft)}.ow-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.ow-choices .dr-choice{text-align:center;padding:12px 14px;font-size:16px}.ow-hint{flex-wrap:wrap;align-items:baseline;gap:12px;margin:0;font-size:14px;display:flex}.ow-heard{color:#2b8a3e;font-family:var(--f-type)}:root[data-theme=dark] .ow-heard{color:#69db7c}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .ow-heard{color:#69db7c}}.ow-said{font-family:var(--f-type)}.jd{gap:10px;display:grid}.jd-ev{color:inherit;background:#2b8a3e24;border-radius:4px;padding:1px 0}.jd-card{border:1px solid var(--line);background:var(--surface);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;border-bottom-width:4px;border-radius:16px;gap:8px;padding:18px 18px 22px;transition:transform .25s cubic-bezier(.2,.8,.2,1.2),border-color .15s;display:grid;position:relative;box-shadow:0 6px 18px #202d4014}.jd-card.dragging{cursor:grabbing;transition:none}.jd-card.lean-right{border-color:#2f9e44}.jd-card.lean-left{border-color:var(--err)}.jd-card.lean-up{border-color:var(--accent-bright)}.jd-statement{color:var(--primary);margin:0;font-size:17px;font-weight:600;line-height:1.6}.jd-stamp{letter-spacing:.04em;font-size:13px;font-weight:800;position:absolute;top:8px;right:12px}.lean-right .jd-stamp{color:#2b8a3e}.lean-left .jd-stamp{color:var(--err)}.lean-up .jd-stamp{color:var(--accent)}.jd-card.flipped{cursor:default;animation:.4s ease-out jd-flip}.jd-card.flipped.ok{border-color:#2f9e44}.jd-card.flipped.bad{border-color:var(--err)}.jd-answer{margin:0;font-size:15px}.jd-card.ok .jd-answer b{color:#2b8a3e}.jd-card.bad .jd-answer b{color:var(--err)}.jd-answer span{color:var(--soft);font-size:13px}@keyframes jd-flip{0%{opacity:.4;transform:perspective(700px)rotateY(80deg)}to{opacity:1;transform:none}}.jd-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.jd-choices .dr-choice{text-align:center;justify-items:center;gap:2px;padding:10px 6px;font-weight:600;display:grid}.jd-choices small{color:var(--soft);font-size:12px;font-weight:400}:root[data-theme=dark] .jd-card.ok .jd-answer b{color:#69db7c}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .jd-card.ok .jd-answer b{color:#69db7c}}@media (prefers-reduced-motion:reduce){.jd-card,.jd-card.flipped{transition:none;animation:none}}.hunt-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.hunt-head .dg-head{flex:1}.hunt-lamps{gap:6px;display:inline-flex}.hunt-lamps span{background:var(--mist);width:16px;height:16px;box-shadow:inset 0 0 0 1px var(--line);border-radius:50%;transition:background .2s,box-shadow .2s}.hunt-lamps span.on{background:var(--accent-bright);box-shadow:0 0 0 3px var(--accent-weak), 0 0 10px var(--accent-bright);animation:.32s cubic-bezier(.2,.8,.2,1.4) dr-pop}.hunt-text p{margin:0}.hunt-text p+p{margin-top:8px}.ld-s.shake{animation:.36s ease-in-out dr-shake}.ld-s.missed{box-shadow:inset 0 -2px 0 var(--err)}.hunt-fix{color:#2b8a3e;font-weight:700}:root[data-theme=dark] .hunt-fix{color:#69db7c}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .hunt-fix{color:#69db7c}}.hunt-explain{gap:6px;margin:0;padding-left:18px;font-size:14px;line-height:1.6;display:grid}@media (prefers-reduced-motion:reduce){.hunt-lamps span.on,.ld-s.shake{animation:none}}.hunt-gap{background:#2b8a3e29}.radio-lead{flex-wrap:nowrap}.radio-lead .duck{color:var(--primary);flex:none}.radio-lead>span{flex:1;line-height:1.7}.radio-part h2{color:var(--soft);margin:18px 0 8px;font-size:15px}.radio-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.radio-ep{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:12px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 14px;text-decoration:none;display:grid}.radio-ep:hover{border-color:var(--accent-bright);background:var(--accent-weak)}.radio-ep.locked{opacity:.6}.radio-n{background:var(--accent-weak);width:34px;height:34px;color:var(--accent);border-radius:50%;place-items:center;font-weight:700;display:grid}.radio-title{gap:2px;min-width:0;display:grid}.radio-title .soft{font-size:12px}.radio-score{color:var(--accent);font-size:13px;font-weight:700}.radio-score.full{color:#2b8a3e}.radio{gap:4px;display:grid}.radio-on{gap:14px}.radio-air{align-items:center;gap:14px;display:flex}.radio-duck{color:var(--primary);flex:none}.radio-duck.on .duck-body{animation:.6s ease-in-out infinite duck-hop}.radio-now{color:var(--primary);margin:0 0 6px;font-weight:600}.radio-dots{gap:6px;display:flex}.radio-dots span{background:var(--mist);border-radius:3px;width:28px;height:6px}.radio-dots span.now{background:var(--accent-bright)}.radio-dots span.ok{background:#2f9e44}.radio-dots span.bad{background:var(--err)}.radio-wave{justify-content:center;align-items:center;gap:5px;height:56px;display:flex}.radio-wave span{background:var(--accent-bright);border-radius:3px;width:6px;height:14px;animation:1s ease-in-out infinite radio-wave}@keyframes radio-wave{0%,to{height:12px}50%{height:48px}}.radio-q{gap:10px;display:grid}.radio-q p{margin:0}.radio-ask{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.radio-ask b{color:var(--primary);font-size:17px}.radio-words{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.radio-quote{border-left:4px solid var(--accent-bright);background:var(--bg);font-family:var(--f-type);border-radius:8px;margin:0;padding:12px 14px;font-size:16px;line-height:1.6}.radio-script>summary{cursor:pointer;color:var(--soft);font-size:14px}.radio-script[open]>summary{margin-bottom:8px}.radio-lines{gap:8px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.radio-lines li{grid-template-columns:5em minmax(0,1fr);gap:10px;display:grid}.radio-who{color:var(--accent);font-size:13px;font-weight:600}.radio-zh{margin-top:2px;font-size:13px;display:block}@media (max-width:560px){.radio-words{grid-template-columns:repeat(2,minmax(0,1fr))}.radio-lead{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.radio-wave span,.radio-duck.on .duck-body{animation:none}}.ch-card{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;display:flex}.ch-card h2{color:var(--primary);font-size:16px}.ch-card .soft{margin-top:2px;font-size:13px}.ch-card.gold{border-color:var(--accent-bright);background:linear-gradient(135deg, var(--accent-weak), var(--surface) 70%);box-shadow:0 0 0 3px var(--accent-weak)}.ch-result{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.ch-result p{margin:0;font-size:15px}.ch-result.won{border-color:var(--accent-bright);background:var(--accent-weak)}.ch-result.won b{color:var(--accent)}.rh{gap:4px;display:grid}.rh .rf-bar{margin-top:8px}.rh-sheet{gap:14px}.rh-lines{gap:10px;margin:0;padding:0;list-style:none;display:grid}.rh-lines li{border-radius:10px;grid-template-columns:5em minmax(0,1fr);gap:10px;padding:6px 8px;transition:background .2s,opacity .2s;display:grid}.rh-lines li.now{background:var(--accent-weak)}.rh-lines li.later{opacity:.55}.rh-text{font-family:var(--f-type);font-size:16px;line-height:1.9}.rh-gap{border-bottom:2px solid var(--soft);vertical-align:bottom;min-height:1.4em;line-height:1.4;display:inline-block}.rh-gap.ask{border-bottom-color:var(--accent);background:color-mix(in srgb, var(--accent-bright) 25%, transparent);border-radius:4px 4px 0 0;animation:1s ease-in-out infinite rh-blink}.rh-gap.ok{color:#2b8a3e;border-bottom-color:#2f9e44;font-weight:700}.rh-gap.bad{border-bottom-color:var(--err);color:var(--err);font-weight:700}.rh-gap s{color:var(--soft);margin-right:4px;font-weight:400}@keyframes rh-blink{50%{background:color-mix(in srgb, var(--accent-bright) 45%, transparent)}}.rh-dock{background:var(--surface);border-top:1px solid var(--line);padding-top:12px;position:sticky;bottom:12px}.rh-dock .actions{margin:0}.rh-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.rh-choices .dr-choice{font-family:var(--f-type)}:root[data-theme=dark] .rh-gap.ok{color:#69db7c}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .rh-gap.ok{color:#69db7c}}@media (max-width:560px){.rh-lines li{grid-template-columns:minmax(0,1fr);gap:0}}@media (prefers-reduced-motion:reduce){.rh-gap.ask{animation:none}}.lvp-label{color:var(--soft);letter-spacing:.04em;font-size:12px;font-weight:600}.tier-choose p{margin:6px 0 0}.tier-note{font-size:14px}.tier-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:14px;display:grid}.tier-card{text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;border-radius:14px;align-content:start;gap:6px;padding:16px 18px;font-size:14px;display:grid}.tier-card:hover{border-color:var(--accent-bright);background:var(--accent-weak)}.tier-card.rec{border-color:var(--accent-bright);box-shadow:0 0 0 3px var(--accent-weak)}.tier-name{align-items:center;gap:8px;font-size:20px;font-weight:700;display:flex}.tier-band{color:var(--accent);font-weight:600}.tier-bar{flex-wrap:wrap;align-items:center;gap:6px 12px;margin:6px 0 4px;display:flex}.tier-label{color:var(--soft);letter-spacing:.04em;font-size:12px;font-weight:600}.tier-opt{padding:4px 14px}.tier-opt small{opacity:.85;font-size:11px;font-weight:400}.tier-about{font-size:13px}.ex-paper{gap:18px}.ex-block{gap:8px;display:grid}.ex-inst{color:var(--soft);margin:0;font-size:13px;font-style:italic}.ex-title{margin:0;font-size:16px}.ex-rows{font-family:var(--f-type);gap:6px;margin:0;padding:0;font-size:15px;line-height:1.8;list-style:none;display:grid}.ex-rows.notes li:not(.ex-sub){padding-left:14px;position:relative}.ex-rows.notes li:not(.ex-sub):before{content:"•";color:var(--soft);position:absolute;left:0}.ex-sub{font-family:var(--f-body);margin-top:4px;font-size:14px;font-weight:700}.ex-table-wrap{overflow-x:auto}.ex-table{border-collapse:collapse;width:100%;min-width:520px;font-size:14px}.ex-table th,.ex-table td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:6px 8px;line-height:1.7}.ex-table th{background:var(--bg);font-weight:600}.ex-gap{text-align:center;border-bottom:2px solid var(--soft);min-width:3.2em;color:var(--soft);margin:0 2px;padding:0 6px;font-weight:700;line-height:1.4;display:inline-block}.ex-gap.cur{color:var(--accent);border-bottom-color:var(--accent);background:var(--accent-weak);border-radius:4px 4px 0 0}.ex-gap.ok{color:#2b8a3e;border-bottom-color:#2f9e44}.ex-gap.bad{color:var(--err);border-bottom-color:var(--err)}.ex-gap s{color:var(--soft);font-weight:400}.ex-choices{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ex-choices li{border-radius:8px;gap:10px;padding:4px 6px;display:flex}.ex-choices li.cur{background:var(--accent-weak)}.ex-n{background:var(--primary);min-width:24px;height:24px;color:var(--on-primary);border-radius:6px;flex:none;place-items:center;margin-right:8px;padding:0 4px;font-size:13px;font-weight:700;display:inline-grid}.ex-mark.ok{color:#2b8a3e;font-weight:700}.ex-mark.bad{color:var(--err);font-weight:700}.ex-dock{border-color:var(--accent-mid);gap:14px}.ex-player{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.ex-live{align-items:center;gap:8px;font-weight:600;display:inline-flex}.ex-dot{background:var(--accent-bright);border-radius:50%;width:10px;height:10px;animation:1s ease-in-out infinite ex-pulse}@keyframes ex-pulse{50%{opacity:.3}}.ex-answers{gap:14px;display:grid}.ex-answers .actions{margin:0}.ex-q{gap:6px;display:grid}.ex-q-head{flex-wrap:wrap;align-items:baseline;gap:0 4px;margin:0;font-size:15px;display:flex}.ex-input{font-family:var(--f-type);border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;width:100%;max-width:360px;padding:8px 12px;font-size:17px}.ex-input:focus{outline:2px solid var(--accent-bright);border-color:var(--accent-bright)}.ex-wait{margin:0;font-size:13px}.ex-opts{grid-template-columns:repeat(2,minmax(0,1fr))}.ex-opts.five{grid-template-columns:minmax(0,1fr)}.ex-opts .dr-choice.picked{border-color:var(--primary);background:var(--mist);font-weight:600}.ex-results{gap:10px;margin:0;padding:0;list-style:none;display:grid}.ex-result{border:1px solid var(--line);border-left-width:4px;border-radius:10px;gap:4px;padding:10px 12px;display:grid}.ex-result.ok{border-left-color:#2f9e44}.ex-result.bad{border-left-color:var(--err)}.ex-result p{margin:0}.ex-result .ex-mark{margin-right:6px}.ex-trap{background:var(--accent-weak);color:var(--accent);white-space:nowrap;border-radius:999px;margin-left:auto;padding:1px 8px;font-size:12px}.ex-context{font-family:var(--f-type);font-size:13px}.ex-note{color:var(--err);font-size:14px}.ex-why{font-size:14px;line-height:1.7}.ex-lines{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.ex-lines li{border-radius:8px;grid-template-columns:6.5em minmax(0,1fr);gap:10px;padding:4px 6px;display:grid}.ex-lines li.key{background:var(--accent-weak)}.ex-lines small{margin-top:2px;display:block}.ex-who{color:var(--soft);font-size:13px;font-weight:600}.ex-tag{color:var(--accent);white-space:nowrap;margin-left:6px;font-size:12px;font-weight:600}:root[data-theme=dark] .ex-gap.ok,:root[data-theme=dark] .ex-mark.ok{color:#69db7c}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .ex-gap.ok,:root:not([data-theme=light]) .ex-mark.ok{color:#69db7c}}@media (max-width:560px){.ex-opts{grid-template-columns:minmax(0,1fr)}.ex-lines li{grid-template-columns:minmax(0,1fr);gap:0}}@media (prefers-reduced-motion:reduce){.ex-dot{animation:none}}.p1-sheet{gap:6px;display:grid}.p1-sheet p{margin:0}.p1-sheet ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.p1-sheet li{background:var(--bg);border-radius:10px;gap:2px;padding:8px 12px;font-size:14.5px;line-height:1.55;display:grid}.p1-sheet li.miss{background:var(--err-weak)}.p1-sheet li.miss b{color:var(--err)}.p1-sample{background:var(--surface);border-left:3px solid var(--accent-bright);border-radius:6px;padding:8px 12px;font-size:15px;line-height:1.7}.tr-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:4px;padding:12px 14px;font-size:15px;line-height:1.5;display:grid}.cc-card ul{margin:0;padding-left:20px}.cc-notes{white-space:pre-line;text-align:left;font-size:14px;line-height:1.55}.cc-story{background:var(--surface);border-left:3px solid var(--accent-bright);border-radius:6px;margin:0;padding:10px 12px;font-size:15.5px;line-height:1.7}.sheet .dr-choice.picked{border-color:var(--primary);background:var(--mist);font-weight:600}.dr-choice.missed{background:0 0;border:2px dashed #2b8a3e}.cg-instruction{color:var(--soft);margin:0;font-size:13.5px;font-style:italic}.cg-passage{background:var(--surface);border:1px solid var(--line);border-radius:10px;gap:6px;padding:10px 12px;font-size:14.5px;line-height:1.6;display:grid}.cg-passage p{margin:0}.cc-missed{color:#2b8a3e;margin-top:4px;font-size:12.5px;font-weight:600;display:block}:root[data-theme=dark] .cc-missed{color:#69db7c}.tr-collected{gap:6px;margin:6px 0 10px;padding-left:0;list-style:none;display:grid}.tr-collected a{align-items:baseline;gap:8px;display:inline-flex}.tr-old-days{color:var(--soft);margin:4px 0 0;padding-left:20px;font-size:13.5px}.p1-built li{gap:0;display:grid}.p1-built small{font-size:12px}.gp-limit{letter-spacing:.04em;color:var(--accent);background:var(--accent-weak);border-radius:6px;justify-self:start;margin:0;padding:3px 8px;font-size:12.5px;font-weight:700}.gp-gap{border-bottom:2px solid var(--ink);min-width:4em;margin:0 2px;display:inline-block}.gp-gap.filled{color:#2b8a3e;border-bottom-color:#2b8a3e}.th-toc{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.th-toc a{border:1px solid var(--line);color:var(--ink);background:var(--surface);border-radius:999px;padding:4px 10px;font-size:13.5px;text-decoration:none}.th-toc a:hover{border-color:var(--accent-bright)}.th-sec{scroll-margin-top:72px}.th-sec h2{margin:0}.th-sec>div>p{margin:2px 0 0}.th-games{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.th-game{background:var(--accent-weak);color:var(--ink);border:1px solid #0000;border-radius:10px;gap:2px;padding:10px 14px;text-decoration:none;display:grid}.th-game:hover{border-color:var(--accent-bright)}.th-game b{color:var(--accent)}.th-game b:after{content:" →"}.th-game span{font-size:13.5px}.th-tips{gap:10px;margin:0;padding:0;list-style:none;display:grid}.th-tips li{grid-template-columns:44px minmax(0,1fr);align-items:baseline;gap:8px;display:grid}.th-tips p{margin:2px 0 0;font-size:14px;line-height:1.6}.th-id{color:var(--soft);font-size:12px}.th-foot{margin-top:16px}.tr-script{gap:4px;display:grid}.tr-script p{margin:0}.mp-plan{gap:6px;margin:0;display:grid}.mp-plan figcaption{text-align:center;font-size:13px}.mp-grid{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);grid-template-areas:"end end end""L4 path R4""L3 path R3""L2 path R2""L1 path R1""door door door";gap:6px;display:grid}.mp-spot.end{justify-self:center;min-width:50%}.mp-spot{border:1px solid var(--line);background:var(--bg);text-align:center;border-radius:8px;place-items:center;min-height:40px;padding:4px 6px;font-size:13px;line-height:1.25;display:grid}.mp-spot.letter{color:var(--accent);background:var(--surface);border-style:dashed;border-color:var(--accent-bright);font-size:17px;font-weight:700}.mp-spot.hit{color:#2b8a3e;background:#2b8a3e29;border:2px solid #2b8a3e}.mp-path{background:repeating-linear-gradient(to top, var(--line) 0 10px, transparent 10px 18px);border-radius:6px;grid-area:path;justify-self:center;width:4px}.mp-door{color:var(--accent);grid-area:door;justify-self:center;font-size:13px;font-weight:700}.mp-letters .dr-choices{grid-template-columns:repeat(auto-fit,minmax(56px,1fr))}.mp-letters .dr-choice{text-align:center;font-size:17px;font-weight:700}.more-due{margin-left:8px}.th-tag{background:var(--surface);color:var(--soft);vertical-align:1px;border-radius:4px;margin-right:6px;padding:0 6px;font-size:12px;font-weight:500;display:inline-block}.aw-show{font-size:13px}
