:root{--ink:#3a2e33;--muted:#7a6a70;--ground:#fff7ef;--card:#fff;--dash:#eadfe3;--sky:#5aa9e6;--sky-mid:#a4d0f1;--sky-soft:#e8f3fb;--star:#ffc93c;--star-soft:#fff1c7;--good:#2d6e4c;--good-soft:#e2f4e9;--warn:#9c4410;--warn-soft:#ffebdc;--stick:4px 4px 0 var(--ink);--stick-sm:3px 3px 0 var(--ink);--soft:0 1px 2px #3a2e330f;--zh:"Kaiti TC", "STKaiti", "LXGW WenKai TC", "Noto Sans TC", serif;--font:"Nunito", "Kaiti TC", "STKaiti", "LXGW WenKai TC", "Noto Sans TC", ui-rounded, system-ui, sans-serif;--hand:"Gochi Hand", "Kaiti TC", "STKaiti", "LXGW WenKai TC", cursive;--pen:#2a57a5;--pen-soft:#dce6f6;--rule:#d3e3f1;--margin:#f2a7a0;--red-ink:#c8402f;--paper:#fffefa;--binding:#e9ddd0;--line:#cfc3c8;--r-xs:8px;--r-sm:12px;--r-md:16px;--r-lg:20px;--r-xl:28px;--r-pill:999px;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--gutter:16px;--q-size:30px;--word-size:56px;--opt-h:74px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (width>=768px){:root{--gutter:32px;--q-size:40px;--word-size:80px;--opt-h:96px}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body,#root{min-height:100%}body{background:var(--ground);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;margin:0;font-size:17px;font-weight:600;line-height:1.45}@media (width>=768px){body{font-size:19px}}button,a,[role=button]{touch-action:manipulation;-webkit-user-select:none;user-select:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}input,textarea,select{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--sky);outline-offset:3px}h1,h2,h3{letter-spacing:-.4px;text-wrap:balance;margin:0;font-weight:900;line-height:1.15}h1{font-size:30px}h2{font-size:24px}h3{letter-spacing:0;font-size:18px;font-weight:800}@media (width>=768px){h1{font-size:40px}h2{font-size:30px}h3{font-size:21px}}p{margin:0}.muted{color:var(--muted)}.ico{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:22px;height:22px}.ico.fill{fill:currentColor;stroke:var(--ink);stroke-width:1.5px}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shell{flex-direction:column;min-height:100dvh;display:flex}.shell.on-q{background:var(--sky)}.content{flex-direction:column;flex:1;min-width:0;display:flex}.screen{width:100%;max-width:560px;padding:calc(20px + var(--safe-t)) calc(var(--gutter) + var(--safe-r)) 24px calc(var(--gutter) + var(--safe-l));flex-direction:column;flex:1;gap:16px;margin:0 auto;display:flex}.screen.wide{max-width:1000px}.screen.act{max-width:1000px;padding-bottom:calc(24px + var(--safe-b))}@media (width>=768px){.screen{padding-top:calc(32px + var(--safe-t));gap:24px;max-width:820px}.screen.wide{max-width:1080px}}.tabs{z-index:5;background:var(--card);border-top:1.5px solid var(--dash);padding:8px max(8px, var(--safe-r)) calc(8px + var(--safe-b)) max(8px, var(--safe-l));grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:sticky;bottom:0}.tabs a,.tabs button{color:var(--muted);flex-direction:column;align-items:center;gap:2px;min-height:52px;padding:4px 0;font-size:12px;font-weight:800;display:flex}.tabs .bub{border-radius:var(--r-pill);place-items:center;width:56px;height:32px;display:grid}.tabs .active{color:var(--ink)}.tabs .active .bub{background:var(--sky-soft)}@media (width>=768px){.shell.railed{flex-direction:row}.shell.railed .tabs{height:100dvh;width:calc(112px + var(--safe-l));border-top:0;border-right:1.5px solid var(--dash);padding:calc(28px + var(--safe-t)) 12px calc(20px + var(--safe-b)) calc(12px + var(--safe-l));order:-1;grid-auto-rows:max-content;grid-auto-flow:row;align-content:start;gap:8px;position:sticky;top:0;bottom:auto}.shell.railed .tabs a,.shell.railed .tabs button{min-height:72px;font-size:14px}.shell.railed .tabs .bub{width:64px;height:40px}.shell.railed .tabs .rail-mark{display:grid}.shell.railed .tabs .rail-end{margin-top:auto}}.rail-mark{place-items:center;padding-bottom:16px;display:none}.rail-mark .tile{border-radius:var(--r-sm);background:var(--sky);place-items:center;width:48px;height:48px;display:grid}.stk{background:var(--card);border-radius:var(--r-lg);box-shadow:var(--soft)}.tap{transition:transform .14s,box-shadow .14s}.tap:active:not([disabled]){box-shadow:2px 2px 0 var(--ink);transform:translate(2px,2px)}.pill{border-radius:var(--r-pill);background:var(--card);align-items:center;gap:6px;padding:4px 12px;font-size:13px;font-weight:800;display:inline-flex}.brand{justify-content:space-between;align-items:center;gap:12px;display:flex}.mark{align-items:center;gap:8px;font-size:17px;font-weight:900;display:flex}.mark .tile{border-radius:var(--r-sm);background:var(--sky);place-items:center;width:36px;height:36px;display:grid}.mark .tile .ico{stroke-width:2.2px;width:20px;height:20px}@media (width>=768px){.shell.railed .screen{position:relative}.shell.railed .brand{top:calc(32px + var(--safe-t));right:calc(var(--gutter) + var(--safe-r));height:46px;position:absolute}.shell.railed .brand .mark{display:none}.shell.railed .brand+h1{padding-right:128px}}.btn{border-radius:var(--r-pill);border:2px solid var(--ink);min-height:56px;box-shadow:var(--stick);justify-content:center;align-items:center;gap:8px;padding:0 24px;font-size:18px;font-weight:900;display:inline-flex}@media (width>=768px){.btn{min-height:64px;padding:0 32px;font-size:20px}}.btn-sky{background:var(--sky)}.btn-white{background:var(--card)}.btn-again{background:var(--warn-soft)}.btn-know{background:var(--good-soft)}.btn[disabled]{background:var(--dash);color:var(--muted);border-color:var(--line);box-shadow:none;cursor:default}.btn-wide{width:100%}.btn-sm{min-height:44px;box-shadow:var(--stick-sm);padding:0 16px;font-size:15px}.link{color:var(--ink);align-items:center;min-height:44px;font-weight:800;text-decoration:underline;display:inline-flex}.subj{align-self:flex-start;align-items:center;gap:8px;font-size:15px;font-weight:900;display:inline-flex}.sg{border-radius:var(--r-xs);letter-spacing:.02em;flex:none;place-items:center;min-width:32px;height:32px;padding:0 6px;font-size:13px;font-weight:900;line-height:1;display:inline-grid}.subj .sn{background:var(--card);border-radius:var(--r-pill);padding:3px 12px}.subj.lg .sg{border-radius:var(--r-sm);min-width:44px;height:44px;font-size:16px}.subj.lg .sn{font-size:19px}.today-grid{gap:16px;display:grid}@media (width>=900px){.today-grid{grid-template-columns:1.3fr 1fr;align-items:start;gap:24px}}.today{background:var(--sky);border-radius:var(--r-xl);flex-direction:column;gap:12px;padding:20px;display:flex}.today h2{font-size:28px}@media (width>=768px){.today{gap:16px;padding:32px}.today h2{font-size:40px}}.today .btn{align-self:flex-start;margin-top:4px}.meta{flex-wrap:wrap;gap:8px;display:flex}.meta span{background:var(--card);border-radius:var(--r-pill);align-items:center;gap:6px;padding:4px 12px 4px 8px;font-size:16px;font-weight:900;display:inline-flex}.meta .ico{width:18px;height:18px}.steps{align-items:center;display:flex}.steps>span>span{border-radius:var(--r-sm);background:var(--card);justify-content:center;align-items:center;gap:8px;min-width:48px;height:48px;padding:0 16px;font-size:20px;font-weight:900;display:inline-flex}.steps>span>span.d{background:var(--good-soft);color:var(--good)}.steps i{background:var(--ink);flex:0 0 16px;height:2px}.empty{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:28px 20px;display:flex}.empty .big{border-radius:var(--r-lg);background:var(--good-soft);width:72px;height:72px;color:var(--good);place-items:center;display:grid}.empty .big .ico{width:36px;height:36px}.tip{background:var(--star-soft);border-radius:var(--r-lg);align-items:flex-start;gap:12px;padding:12px 16px;display:flex}.tip .ico{margin-top:2px}.tip p{flex:1;font-weight:600}.tip button{place-items:center;min-width:44px;min-height:44px;margin:-10px -8px -10px 0;display:grid}.section-label{align-items:center;gap:8px;padding-inline:4px;font-size:18px;font-weight:900;display:flex}.list{padding:4px 16px}.row{text-align:left;align-items:center;gap:12px;width:100%;min-height:72px;display:flex}.row+.row{border-top:2px dashed var(--dash)}.row .sg{border-radius:var(--r-sm);min-width:44px;height:44px}.row .txt{flex:1;min-width:0}.row .txt b{font-size:17px;font-weight:800;display:block}.row .txt span{color:var(--muted);font-size:14px;font-weight:600}.row .ok{background:var(--good-soft);width:34px;height:34px;color:var(--good);border-radius:50%;flex:none;place-items:center;display:grid}.row .go{color:var(--muted)}.row .score{color:var(--good);background:var(--good-soft);border-radius:var(--r-pill);flex:none;padding:3px 10px;font-size:15px;font-weight:900}.revgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width>=768px){.revgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}@media (width>=1100px){.revgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}.deck{background:var(--card);border:2px solid var(--ink);box-shadow:var(--stick);border-radius:var(--r-lg);text-align:left;flex-direction:column;align-items:flex-start;gap:8px;min-height:124px;padding:16px;display:flex}@media (width>=768px){.deck{min-height:152px;padding:20px}}.deck b{font-size:17px;font-weight:900}.deck .sg{border-radius:var(--r-sm);min-width:40px;height:40px;font-size:14px}.dk-ic{border-radius:var(--r-sm);background:var(--card);place-items:center;width:40px;height:40px;display:grid}.dk-n{color:var(--muted);align-items:center;gap:5px;margin-top:auto;font-weight:900;display:inline-flex}.dk-n .ico{width:18px;height:18px}.bar{align-items:center;gap:12px;display:flex}.round{background:var(--card);border:2px solid var(--ink);width:48px;height:48px;box-shadow:var(--stick-sm);border-radius:50%;flex:none;place-items:center;display:grid}.bar .t{flex:1;justify-content:center;display:flex}.bar .count{font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:center;gap:4px;min-width:48px;font-size:15px;font-weight:900;display:inline-flex}.bar .count .ico{width:18px;height:18px}.segs{gap:8px;display:flex}.segs i{border-radius:var(--r-pill);background:var(--dash);flex:1;height:12px}.segs i.on{background:var(--ink)}.on-q .segs i{background:#ffffff8c}.on-q .segs i.on{background:var(--ink)}.flash-wrap{perspective:1200px;flex:1;min-height:320px;display:flex}@media (width>=768px){.flash-wrap{min-height:min(52vh,520px)}}.flash{transform-style:preserve-3d;cursor:pointer;border-radius:var(--r-xl);flex:1;transition:transform .45s;position:relative}.flash.flipped{transform:rotateY(180deg)}.face{backface-visibility:hidden;border-radius:var(--r-xl);border:2px solid var(--ink);box-shadow:var(--stick);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px 24px 72px;display:flex;position:absolute;inset:0}.face.front{background:var(--card)}.face.back{background:var(--sky);transform:rotateY(180deg)}.face .word{font-size:var(--word-size);letter-spacing:-1px;overflow-wrap:anywhere;font-weight:900;line-height:1.1}.face .word:lang(zh-HK){font-family:var(--zh);letter-spacing:2px;font-weight:600}.face .ex{background:var(--card);border-radius:var(--r-md);padding:8px 16px;font-size:18px;font-weight:600}@media (width>=768px){.face .ex{padding:12px 24px;font-size:24px}}.tapme{background:var(--sky-soft);border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:absolute;bottom:18px;right:18px}.twin{grid-template-columns:1fr 1fr;gap:12px;display:grid}.twin .btn{padding:0 12px;font-size:17px}.qrow{align-items:flex-start;gap:12px;display:flex}.qtext{min-width:0;font-size:var(--q-size);letter-spacing:-.5px;overflow-wrap:anywhere;flex:1;padding-block:8px;font-weight:900;line-height:1.22}.qtext .gap{border-bottom:4px solid var(--ink);text-align:center;min-width:72px;margin:0 4px;display:inline-block}.qtext .gap.filled{background:var(--good-soft);border-bottom:0;border-radius:12px;padding:0 10px}.say{background:var(--star-soft);border:2px solid var(--ink);width:52px;height:52px;box-shadow:var(--stick-sm);border-radius:50%;flex:none;place-items:center;margin-top:6px;display:grid}.say .ico{width:26px;height:26px}@media (width>=768px){.say{width:60px;height:60px}}.corner-say{margin:0;position:absolute;top:18px;right:18px}.opts{grid-template-columns:1fr 1fr;gap:12px;display:grid}.opts.stack{grid-template-columns:1fr}@media (width>=768px){.opts{gap:16px}}.opt{min-height:var(--opt-h);border-radius:var(--r-lg);background:var(--card);border:2px solid var(--ink);box-shadow:var(--stick);text-align:left;overflow-wrap:anywhere;align-items:center;gap:12px;padding:12px 16px;font-size:21px;font-weight:800;display:flex}@media (width>=768px){.opt{gap:16px;padding:12px 20px;font-size:26px}}.opt .let{border-radius:var(--r-xs);border:2px solid var(--ink);background:var(--sky-soft);flex:none;place-items:center;width:32px;height:32px;font-size:15px;font-weight:900;display:grid}.opt .let .ico{width:18px;height:18px}.opt.wrong{background:var(--warn-soft);color:var(--muted);box-shadow:none;border-style:dashed;transform:translate(2px,2px)}.opt.wrong .let{background:var(--card)}.opt.right{background:var(--good-soft)}.opt.right .let{background:var(--good);color:#fff}.opt[disabled]{cursor:default}.fb{border-radius:var(--r-lg);background:var(--card);align-items:flex-start;gap:12px;padding:12px 16px;display:flex}.fb .ic{border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid}.fb.good .ic{background:var(--good-soft);color:var(--good)}.fb.again .ic{background:var(--warn-soft);color:var(--warn)}.fb.info .ic{background:var(--star-soft)}.fb b{font-size:17px;font-weight:900;display:block}@media (width>=768px){.fb{padding:20px 24px}.fb b{font-size:21px}}.hint{letter-spacing:4px;font-family:ui-monospace,Menlo,monospace;font-weight:800}.answer-in{border-radius:var(--r-lg);border:2px solid var(--ink);width:100%;min-height:64px;box-shadow:var(--stick);background:var(--card);padding:0 20px;font-size:24px;font-weight:800}@media (width>=768px){.answer-in{min-height:80px;font-size:30px}}.answer-in:focus-visible{box-shadow:var(--stick), 0 0 0 4px var(--card);outline:none}.answer-in.bad{background:var(--warn-soft)}.answer-in.ok{background:var(--good-soft)}.spacer{flex:1}.act-foot{flex-direction:column;gap:12px;display:flex}.big-ic{justify-content:center;padding-top:8px;display:flex}.big-ic span{border-radius:var(--r-lg);background:var(--good-soft);width:84px;height:84px;color:var(--good);place-items:center;display:grid}.big-ic .ico{width:42px;height:42px}.chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.chips span{background:var(--card);border-radius:var(--r-pill);align-items:center;gap:6px;padding:6px 16px 6px 12px;font-weight:900;display:inline-flex}.chips .ico{width:18px;height:18px}.statrow{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stat{align-items:center;gap:12px;padding:16px;display:flex}.stat b{font-variant-numeric:tabular-nums;letter-spacing:-.5px;font-size:30px;font-weight:900}.stat .si{border-radius:var(--r-sm);background:var(--sky-soft);flex:none;place-items:center;width:44px;height:44px;display:grid}.login{justify-content:center;max-width:480px}.login .hero{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.login .hero .tile{border-radius:var(--r-lg);background:var(--sky);place-items:center;width:84px;height:84px;display:grid}.login .hero .tile .ico{width:44px;height:44px}.code-in{text-align:center;letter-spacing:6px;text-transform:uppercase;font-family:ui-monospace,Menlo,monospace}.err{background:var(--warn-soft);color:var(--warn);border-radius:var(--r-md);padding:12px 16px;font-weight:800}.demo-note{color:var(--muted);text-align:center;font-size:14px;font-weight:600}.center{color:var(--muted);flex:1;place-items:center;padding:40px;font-weight:800;display:grid}.toast{left:50%;top:calc(14px + var(--safe-t));background:var(--card);border:2px solid var(--ink);box-shadow:var(--stick-sm);border-radius:var(--r-pill);z-index:20;white-space:nowrap;padding:8px 16px;font-size:15px;font-weight:900;position:fixed;transform:translate(-50%)}.t-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.t-grid{gap:16px;display:grid}@media (width>=900px){.t-grid{grid-template-columns:320px 1fr;align-items:start;gap:24px}}.panel{flex-direction:column;gap:12px;padding:16px 20px;display:flex}.panel h3{align-items:center;gap:8px;display:flex}.trow{text-align:left;align-items:center;gap:12px;width:100%;min-height:56px;padding:8px 0;display:flex}.trow+.trow{border-top:2px dashed var(--dash)}.trow .txt{flex:1;min-width:0}.trow .txt b{font-weight:800;display:block}.trow .txt span{color:var(--muted);font-size:14px;font-weight:600}.trow.sel{background:var(--sky-soft);border-radius:var(--r-sm);width:calc(100% + 24px);margin-inline:-12px;padding-inline:12px}.code{letter-spacing:2px;background:var(--star-soft);border-radius:var(--r-xs);padding:2px 8px;font-family:ui-monospace,Menlo,monospace;font-weight:800}.status{border-radius:var(--r-pill);background:var(--sky-soft);white-space:nowrap;padding:3px 10px;font-size:13px;font-weight:900}.status.completed{background:var(--good-soft);color:var(--good)}.status.in_progress{background:var(--star-soft)}.status.again{background:var(--warn-soft);color:var(--warn)}.status.none{background:var(--dash);color:var(--muted)}.trow-main{flex:1;align-items:center;gap:12px;min-width:0;min-height:44px;display:flex}.trow .txt>span{display:block}.trow .txt b .arrow{font-size:inherit;color:var(--muted);font-weight:600}.back-link{align-self:flex-start;gap:4px}.r-title{align-items:center;gap:12px;min-width:0;display:flex}.r-score{background:var(--good-soft);color:var(--good);border-radius:var(--r-pill);margin-left:auto;padding:3px 12px;font-size:15px;font-weight:900}.r-q{align-items:flex-start;padding-block:12px}.tries{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.trow .txt .tries .try{border-radius:var(--r-pill);align-items:center;gap:4px;padding:2px 10px 2px 6px;font-size:14px;font-weight:800;display:inline-flex}.try .ico{width:16px;height:16px}.trow .txt .try.ok{background:var(--good-soft);color:var(--good)}.trow .txt .try.no{background:var(--warn-soft);color:var(--warn)}.field{flex-direction:column;gap:8px;font-size:15px;font-weight:800;display:flex}.field>span{padding-left:4px}.in{border-radius:var(--r-sm);border:2px solid var(--dash);background:var(--card);width:100%;min-height:48px;padding:8px 12px;font-size:17px;font-weight:600}.in:focus{border-color:var(--sky);outline:none}textarea.in{resize:vertical;min-height:72px}.frow{gap:12px;display:grid}@media (width>=640px){.frow.two{grid-template-columns:1fr 1fr}.frow.three{grid-template-columns:1fr 1fr 1fr}}.item{border:2px solid var(--dash);border-radius:var(--r-md);background:var(--paper);flex-direction:column;gap:12px;padding:16px;display:flex}.item-head{align-items:center;gap:8px;font-weight:900;display:flex}.item-head .spacer{flex:1}.icon-btn{border-radius:var(--r-sm);min-width:44px;min-height:44px;color:var(--muted);place-items:center;display:grid}.icon-btn:hover{background:var(--dash);color:var(--ink)}.choice{align-items:center;gap:8px;display:flex}.choice input[type=radio]{width:24px;height:24px;accent-color:var(--good);flex:none}.seg{background:var(--dash);border-radius:var(--r-pill);flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.seg button{border-radius:var(--r-pill);min-height:40px;padding:0 14px;font-size:15px;font-weight:900}.seg button.on{background:var(--card);box-shadow:var(--soft)}.actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.subtle{color:var(--muted);font-size:14px;font-weight:600}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.page{background-color:var(--paper);background-image:linear-gradient(90deg, transparent 39px, var(--margin) 39px, var(--margin) 41px, transparent 41px), repeating-linear-gradient(to bottom, transparent 0 35px, var(--rule) 35px 36px);border-radius:4px var(--r-lg) var(--r-lg) 4px;box-shadow:0 1px 2px #3a2e3314, -4px 0 0 var(--binding) inset;background-position:0 12px;padding:12px 20px 16px 54px;position:relative}.page p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:36px}.phead{height:36px;color:var(--muted);align-items:center;gap:8px;display:flex}.phead .sg{border-radius:8px;min-width:30px;height:26px;font-size:11px}.phead .ico{width:20px;height:20px}.his{font-size:18px;font-weight:600}.his.stamped{padding-right:84px}@media (width>=768px){.his{font-size:22px}}.hand{font-family:var(--hand);color:var(--pen);font-size:26px;font-weight:400;line-height:36px}.hand:lang(zh-HK){font-size:24px}.sig{text-align:right;font-size:22px}.stamp{opacity:.88;mix-blend-mode:multiply;pointer-events:none;width:92px;height:92px;position:absolute;top:6px;right:10px;transform:rotate(-12deg)}@media (width>=768px){.stamp{width:110px;height:110px}}.words{flex-wrap:wrap;gap:8px;display:flex}.words span{border-radius:var(--r-pill);background:#ffffffbf;padding:4px 12px;font-weight:900}@media (width>=768px){.words span{padding:4px 16px;font-size:22px}}textarea.lined{font:inherit;color:var(--ink);border-radius:var(--r-lg);border:2px solid var(--ink);width:100%;box-shadow:var(--stick);resize:none;background-color:var(--paper);background-image:linear-gradient(90deg, transparent 30px, var(--margin) 30px, var(--margin) 32px, transparent 32px), repeating-linear-gradient(to bottom, transparent 0 39px, var(--rule) 39px 40px);background-attachment:local;min-height:180px;padding:10px 16px 10px 44px;font-size:22px;font-weight:600;line-height:40px}@media (width>=768px){textarea.lined{min-height:240px;font-size:26px}}textarea.lined:focus-visible{box-shadow:var(--stick), 0 0 0 4px var(--card);outline:none}.waiting{color:var(--muted);align-items:center;gap:8px;font-weight:900;display:flex}.waiting .ico{color:var(--sky)}.note{flex-direction:column;gap:12px;display:flex}.note-head{align-items:center;gap:8px;padding-inline:4px;font-weight:900;display:flex}.note-head .ico{color:var(--pen)}.note .actions{justify-content:flex-end}.verdicts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.verdict{border-radius:var(--r-md);border:2px solid var(--dash);background:var(--card);text-align:center;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;font-size:15px;font-weight:900;display:flex}.verdict .vstamp{width:64px;height:64px;transform:rotate(-8deg)}.verdict.on{border-color:var(--ink);box-shadow:var(--stick-sm);background:var(--ground)}textarea.in.hand-in{font-family:var(--hand);color:var(--pen);font-size:24px;font-weight:400;line-height:1.4}.badge{border-radius:var(--r-pill);background:var(--warn);color:#fff;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:13px;font-weight:900;display:inline-grid}.bub{position:relative}.bub .badge{position:absolute;top:-6px;right:-10px}.older{opacity:.75}.row .ok.wait{background:var(--sky-soft);color:var(--sky)}.row .ok.wait .ico{width:18px;height:18px}.status.submitted{background:var(--pen-soft);color:var(--pen)}.trow .txt .clip{-webkit-line-clamp:1;color:var(--ink);-webkit-box-orient:vertical;font-size:15px;display:-webkit-box;overflow:hidden}.inline-link{text-decoration:underline}.m-prompt{font-size:26px}@media (width>=768px){.m-prompt{font-size:30px}}.stkr{width:40px;height:40px;fill:var(--star);stroke:#fff;stroke-width:2.8px;stroke-linejoin:round;paint-order:stroke;filter:drop-shadow(0 1.5px 1.2px #3a2e3359);flex:none;overflow:visible}.stkr.mini{stroke-width:2.2px;width:22px;height:22px}.offline-card{background:var(--paper);border-radius:var(--r-lg);box-shadow:var(--soft);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;display:flex}.offline-card .oc-ic .ico{width:26px;height:26px;color:var(--sky)}.offline-card .oc-txt{flex-direction:column;flex:1;min-width:160px;display:flex}.brand-right{align-items:center;gap:8px;display:flex}.syncpill{background:var(--paper);color:var(--muted);border-radius:var(--r-pill);white-space:nowrap;box-shadow:var(--soft);align-items:center;gap:6px;padding:6px 14px 6px 10px;font-size:15px;font-weight:900;display:inline-flex}.syncpill .ico{width:20px;height:20px;color:var(--sky)}.starpill{background:var(--star-soft);border-radius:var(--r-pill);font-variant-numeric:tabular-nums;align-items:center;gap:6px;padding:6px 16px 6px 12px;font-size:17px;font-weight:900;display:inline-flex}@media (width>=768px){.starpill{font-size:20px}}.big-stars{justify-content:center;gap:8px;padding-top:8px;display:flex}.big-stars .stkr{width:60px;height:60px}@media (width>=768px){.big-stars .stkr{width:76px;height:76px}}.book{background:var(--paper);border-radius:var(--r-lg);box-shadow:var(--soft);background-image:radial-gradient(var(--dash) 1px, transparent 1.2px);background-size:14px 14px;flex-direction:column;gap:16px;padding:16px;display:flex}.bookhead{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.bookhead .num{font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:22px;font-weight:900;display:inline-flex}.prize{background:var(--star-soft);border-radius:var(--r-pill);align-items:center;gap:8px;padding:4px 12px;font-weight:900;display:inline-flex}.prize .ico{width:18px;height:18px}.slots{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}@media (width>=768px){.slots{grid-template-columns:repeat(10,minmax(0,1fr))}}.slot{aspect-ratio:1;border:2px dashed var(--line);border-radius:50%;place-items:center;min-width:0;display:grid;overflow:visible}.slot .ico{width:20px;height:20px}.slot.full{border-color:#0000}.slot.full .stkr{aspect-ratio:1;width:80%;height:auto}.slot.goal{border:2px dashed var(--star);background:var(--star-soft)}.shelf{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}@media (width<=420px){.shelf{grid-template-columns:repeat(2,minmax(0,1fr))}}.gcard{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:16px 12px 12px;display:flex}.gcard .ge{border-radius:var(--r-md);background:var(--star-soft);place-items:center;width:52px;height:52px;display:grid}.gcard .ge .ico{width:28px;height:28px}.gcard b{font-size:16px;font-weight:900}.cost{font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-weight:900;display:inline-flex}.gcard button{border-radius:var(--r-pill);background:var(--sky);border:2px solid var(--ink);width:100%;min-height:44px;box-shadow:var(--stick-sm);justify-content:center;align-items:center;gap:4px;margin-top:auto;padding:0 6px;font-size:14px;font-weight:900;display:inline-flex}.gcard button.wait{background:var(--star-soft)}.gcard button.far,.gcard button:disabled:not(.wait){background:var(--card);border:2px dashed var(--line);box-shadow:none;color:var(--muted)}.gcard button .ico{width:16px;height:16px}.asked{background:var(--star-soft);border-radius:var(--r-lg);align-items:center;gap:12px;padding:12px 16px;font-weight:800;display:flex}.asked .ico{width:28px;height:28px}.icon-pick{flex-wrap:wrap;gap:6px;display:flex}.icon-pick button{border-radius:var(--r-sm);border:2px solid var(--dash);background:var(--card);place-items:center;width:44px;height:44px;display:grid}.icon-pick button.on{border-color:var(--ink);background:var(--star-soft)}.off{opacity:.55}.seg button .stkr.mini{vertical-align:-3px;width:18px;height:18px}.seg button{align-items:center;gap:4px;display:inline-flex}.gicon{border-radius:var(--r-sm);background:var(--star-soft);flex:none;place-items:center;width:44px;height:44px;display:grid}details summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.plus-stars{color:var(--red-ink);font-family:var(--hand);white-space:nowrap;vertical-align:-4px;align-items:center;gap:1px;margin-left:4px;font-size:28px;display:inline-flex}.plus-stars .stkr{width:28px;height:28px;margin-left:-1px}:root{--heart:#e0526b;--heart-soft:#fde3e8}.fav{background:var(--card);border:2px solid var(--ink);width:52px;height:52px;box-shadow:var(--stick-sm);color:var(--ink);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:18px;right:18px}.fav .ico{width:26px;height:26px}.fav.on{background:var(--heart-soft);color:var(--heart)}.fav.on .ico{fill:currentColor}.deck.mine{background:var(--heart-soft)}.deck.mine .dk-ic{color:var(--heart)}.deck.mine .dk-ic .ico{fill:currentColor}.hint-line{align-items:center;gap:6px;padding-inline:4px;font-size:15px;display:flex}.hint-line .ico{width:18px;height:18px;color:var(--heart)}.ico.sm{vertical-align:-3px;width:16px;height:16px}.bento{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width>=768px){.bento{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}}.bento-tile{border-radius:var(--r-xl);background:var(--bk);min-height:152px;color:var(--bk-fg);border:2px solid var(--ink);box-shadow:var(--stick);flex-direction:column;justify-content:flex-end;gap:8px;padding:16px;display:flex;position:relative;overflow:hidden}.bento-tile.wide{grid-column:span 2;min-height:168px}@media (width>=768px){.bento-tile,.bento-tile.wide{grid-column:auto;min-height:220px;padding:20px}}.bento-tile b{font-size:26px;font-weight:900;position:relative}.bt-glyph{opacity:.28;letter-spacing:-2px;font-size:64px;font-weight:900;line-height:1;position:absolute;top:8px;right:16px}.bento-tile.wide .bt-glyph{font-size:84px}.bt-chips{flex-wrap:wrap;gap:6px;display:flex;position:relative}.bt-chips span{color:var(--ink);border-radius:var(--r-pill);background:#ffffffe6;align-items:center;gap:4px;padding:4px 10px 4px 7px;font-size:14px;font-weight:900;display:inline-flex}.bt-chips span.todo{background:var(--star)}.bt-chips .ico{width:16px;height:16px}.month{padding:0 16px}.month-head{text-align:left;align-items:center;gap:12px;width:100%;min-height:56px;display:flex}.month-head b{flex:1;font-size:17px;font-weight:900}.mh-n{border-radius:var(--r-pill);background:var(--good-soft);min-width:34px;height:28px;color:var(--good);place-items:center;padding:0 10px;font-size:14px;font-weight:900;display:inline-grid}.chev{color:var(--muted);transition:transform .15s}.chev.open{transform:rotate(90deg)}.month .list{border-top:2px dashed var(--dash);padding:0}.daily{flex-direction:column;gap:8px;display:flex}.daily .row .txt span{align-items:center;gap:4px;display:inline-flex}.today-grid>.daily,.today-grid>.tip{align-self:start}@media (width>=900px){.daily .section-label{font-size:24px}.daily .section-label .ico{width:26px;height:26px}.daily .list{border-radius:var(--r-xl);padding:8px 20px}.daily .row{gap:16px;min-height:112px}.daily .row .sg{border-radius:var(--r-md);min-width:64px;height:64px;font-size:18px}.daily .row .txt b{font-size:24px}.daily .row .txt span .ico{width:20px;height:20px}.daily .row .ok{width:52px;height:52px}}.bookcover{border-radius:var(--r-xs) var(--r-lg) var(--r-lg) var(--r-xs);background:var(--bk);min-height:140px;color:var(--bk-fg);text-align:left;flex-direction:column;gap:8px;padding:16px 16px 12px 24px;display:flex;position:relative}.bookcover.tap{border:2px solid var(--ink);box-shadow:var(--stick)}.bookcover.flat{box-shadow:var(--soft)}.bookcover.big{min-height:150px;padding:20px 20px 16px 32px}.bookcover.big b{font-size:28px}.bk-spine{background:#3a2e3338;border-radius:6px 0 0 6px;width:12px;position:absolute;top:0;bottom:0;left:0}.bookcover.big .bk-spine{width:16px}.bk-top{justify-content:space-between;align-items:center;display:flex}.bk-top .sg{background:var(--card)!important;color:var(--ink)!important}.bk-kind{width:34px;height:34px;color:var(--ink);background:#ffffffe6;border-radius:50%;place-items:center;display:grid}.bk-kind .ico{width:18px;height:18px}.bookcover b{font-size:19px;font-weight:900;line-height:1.2}.bookcover b:lang(zh-HK){font-family:var(--zh);letter-spacing:1px}.bk-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;display:flex}.bk-n{align-items:center;gap:4px;font-size:15px;font-weight:900;display:inline-flex}.bk-n .ico{width:16px;height:16px}.daydots{vertical-align:middle;gap:3px;display:inline-flex}.daydots i{width:19px;height:19px;color:inherit;opacity:.7;background:#ffffff59;border-radius:50%;place-items:center;font-size:11px;font-style:normal;font-weight:900;display:inline-grid}.daydots i.on{background:var(--card);color:var(--ink);opacity:1}.trow .daydots i{background:var(--dash);color:var(--muted)}.trow .daydots i.on{background:var(--sky);color:var(--ink)}.monthnav{align-items:center;gap:12px;display:flex}.monthnav .round[disabled]{opacity:.35;box-shadow:none;cursor:default}.mn-t{flex-direction:column;flex:1;align-items:center;display:flex}.mn-t b{font-size:20px;font-weight:900}.mn-t span{color:var(--muted);align-items:center;gap:4px;font-size:15px;font-weight:800;display:inline-flex}.mn-t .ico{width:16px;height:16px;color:var(--good)}.bpages{flex-direction:column;gap:8px;display:flex}.bpage{border-radius:4px var(--r-lg) var(--r-lg) 4px;background-color:var(--paper);background-image:linear-gradient(90deg, transparent 63px, var(--margin) 63px, var(--margin) 65px, transparent 65px);min-height:76px;box-shadow:0 1px 2px #3a2e3314, -4px 0 0 var(--binding) inset;align-items:center;gap:16px;padding:12px 16px 12px 0;display:flex;position:relative;overflow:hidden}.bpage.tap{border:2px solid var(--ink);box-shadow:var(--stick-sm)}.bpage.is-today{background-color:var(--sky-soft)}.bpage.missed{opacity:.55}.bp-date{flex-direction:column;flex:none;align-items:center;width:64px;line-height:1.05;display:flex}.bp-date span{color:var(--muted);font-size:13px;font-weight:800}.bp-date b{font-size:26px;font-weight:900}.bp-body{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.bp-body.blank{color:var(--muted);font-size:22px;font-weight:900}.bp-body .btn{pointer-events:none}.bp-score{align-items:center;gap:8px;min-width:0;display:inline-flex}.bp-score>.ico{background:var(--good-soft);width:30px;height:30px;color:var(--good);border-radius:50%;flex:none;padding:5px}.bp-score b{font-size:20px;font-weight:900}.bp-note{text-overflow:ellipsis;white-space:nowrap;font-size:22px;line-height:1.2;overflow:hidden}.bp-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;padding-right:54px;font-size:16px;font-weight:600;display:-webkit-box;overflow:hidden}.bp-wait{background:var(--sky-soft);width:30px;height:30px;color:var(--sky);border-radius:50%;flex:none;place-items:center;display:grid}.bp-wait .ico{width:16px;height:16px}.bp-stamp{opacity:.85;mix-blend-mode:multiply;pointer-events:none;width:58px;height:58px;position:absolute;top:50%;right:54px;transform:translateY(-50%)rotate(-12deg)}.bp-stars{flex:none;margin-left:auto;display:inline-flex}.bp-stars .stkr.mini{width:20px;height:20px;margin-left:-5px}.seg.days button{min-width:48px;padding:0 10px}.seg button .ico{width:18px;height:18px}.bookcover .daydots{gap:2px}.bookcover .daydots i{width:16px;height:16px;font-size:10px}.bookcover.big .daydots i{width:22px;height:22px;font-size:12px}.kb{margin:0 calc(-1 * var(--gutter) + 4px);padding:8px 4px calc(4px + var(--safe-b));background:var(--dash);border-radius:var(--r-lg) var(--r-lg) 0 0;z-index:3;flex-direction:column;gap:8px;display:flex;position:sticky;bottom:0}.screen.act:has(.kb){padding-bottom:0}.kb.off{opacity:.6}.kb-row{grid-template-columns:repeat(20,minmax(0,1fr));gap:5px;display:grid}.kk{border-radius:var(--r-sm);background:var(--card);border:2px solid var(--ink);min-height:50px;box-shadow:0 3px 0 var(--ink);touch-action:manipulation;justify-content:center;align-items:center;gap:4px;min-width:0;padding:0;font-size:23px;font-weight:800;display:inline-flex}.kk:active:not([disabled]){box-shadow:0 1px 0 var(--ink);transform:translateY(2px)}.kk.fn{background:var(--sky-soft);font-size:17px}.kk.fn.small{font-size:15px;font-weight:900}.kk.fn.on{background:var(--star)}.kk.fn.lock{background:var(--star);box-shadow:0 3px 0 var(--ink), inset 0 -4px 0 var(--ink)}.kk.go{background:var(--sky);font-size:17px;font-weight:900}.kk[disabled]{background:var(--card);color:var(--line);border-color:var(--line);box-shadow:none}.kk-sp{color:var(--muted);font-size:15px;font-weight:800}.kk .ico{width:24px;height:24px}@media (width>=768px){.kb{padding:12px 10px calc(10px + var(--safe-b));gap:10px;margin-inline:0}.kb-row{gap:8px}.kk{min-height:62px;font-size:28px}.kk.fn,.kk.go{font-size:20px}}.keyfield{white-space:pre-wrap;overflow-wrap:anywhere;cursor:default;flex-wrap:wrap;align-items:center;display:flex}.answer-in.keyfield{padding-block:10px}.lined.keyfield{border-radius:var(--r-lg);border:2px solid var(--ink);box-shadow:var(--stick);background-color:var(--paper);background-image:linear-gradient(90deg, transparent 30px, var(--margin) 30px, var(--margin) 32px, transparent 32px), repeating-linear-gradient(to bottom, transparent 0 39px, var(--rule) 39px 40px);background-attachment:local;align-content:flex-start;align-items:flex-start;min-height:140px;max-height:40vh;padding:10px 16px 10px 44px;font-size:22px;font-weight:600;line-height:40px;overflow-y:auto}@media (width>=768px){.lined.keyfield{min-height:200px;font-size:26px}}.kf-ph{color:var(--muted);font-weight:600}.kf-ph+.caret{order:-1;margin-left:0}.caret{background:var(--sky);vertical-align:middle;border-radius:2px;width:3px;height:1.1em;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.answer-in.zh{font-family:var(--zh);letter-spacing:2px;font-size:30px}@media (width>=768px){.answer-in.zh{font-size:38px}}.listen{flex-direction:column;align-items:center;gap:12px;padding-top:8px;display:flex}.listen-btn{background:var(--star-soft);border:2px solid var(--ink);width:132px;height:132px;box-shadow:var(--stick);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:18px;font-weight:900;display:flex}.listen-btn .ico{width:52px;height:52px}@media (width>=768px){.listen-btn{width:168px;height:168px;font-size:21px}.listen-btn .ico{width:64px;height:64px}}@media (height<=700px){.listen-btn{width:104px;height:104px}.listen-btn .ico{width:40px;height:40px}}.clue{background:var(--card);border-radius:var(--r-pill);align-items:center;gap:8px;padding:6px 16px 6px 12px;font-size:20px;font-weight:800;display:inline-flex}.clue .ico{color:var(--star);stroke:var(--ink)}@media (width>=768px){.clue{font-size:24px}}.tile-slots{border-radius:var(--r-lg);border:2px solid var(--ink);min-height:84px;box-shadow:var(--stick);background:var(--card);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;padding:8px 12px;display:flex}.tile-slots.bad{background:var(--warn-soft)}.tile-slots.ok{background:var(--good-soft)}.slot-ch{font-family:var(--zh);text-align:center;border-bottom:3px solid var(--line);min-width:52px;font-size:44px;line-height:1.1}.slot-ph{color:var(--line);font-size:36px;font-weight:900}.tiles{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:10px;display:grid}@media (width>=768px){.tiles{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:14px}}.ctile{aspect-ratio:1;border-radius:var(--r-md);background:var(--card);border:2px solid var(--ink);min-height:64px;box-shadow:var(--stick-sm);font-family:var(--zh);place-items:center;font-size:40px;display:grid}@media (width>=768px){.ctile{font-size:52px}}.ctile[disabled]{background:var(--dash);color:var(--line);border:2px dashed var(--line);box-shadow:none}.paper-note{border-radius:var(--r-lg);background:var(--card);justify-content:center;align-items:center;gap:10px;min-height:84px;font-size:20px;display:flex}.paper-note .ico{width:30px;height:30px;color:var(--pen)}.paper-key{border-radius:var(--r-lg);background:var(--paper);min-height:96px;box-shadow:var(--soft);font-family:var(--zh);letter-spacing:4px;text-align:center;place-items:center;padding:8px 16px;font-size:56px;display:grid}@media (width>=768px){.paper-key{font-size:72px}}.filter{scrollbar-width:none;gap:8px;margin-inline:-2px;padding:2px 2px 6px;display:flex;overflow-x:auto}.filter::-webkit-scrollbar{display:none}.chip{border-radius:var(--r-pill);background:var(--card);border:2px solid var(--ink);min-height:44px;box-shadow:var(--stick-sm);flex:none;align-items:center;gap:6px;padding:0 14px 0 8px;font-size:15px;font-weight:900;display:inline-flex}.chip:first-child{padding-left:14px}.chip.on{background:var(--sky)}.chip .sg{border-radius:7px;min-width:28px;height:26px;font-size:11px}.bk-n.heart .ico{fill:currentColor}.word-row{gap:8px}.wr-main{flex-direction:column;flex:1;justify-content:center;min-width:0;min-height:64px;display:flex}.wr-term{overflow-wrap:anywhere;font-size:22px;font-weight:900;line-height:1.2}.wr-term:lang(zh-HK){font-family:var(--zh);letter-spacing:1px;font-size:28px;font-weight:600}.wr-mean{color:var(--muted);font-size:15px;font-weight:700}.wr-from{font-weight:600}.say.sm{width:44px;height:44px;margin-top:0}.say.sm .ico{width:22px;height:22px}.fav-sm{border:2px solid var(--ink);width:44px;height:44px;box-shadow:var(--stick-sm);background:var(--card);border-radius:50%;flex:none;place-items:center;display:grid}.fav-sm .ico{width:22px;height:22px}.fav-sm.on{background:var(--heart-soft);color:var(--heart)}.fav-sm.on .ico{fill:currentColor}.fav-title{align-items:center;gap:6px;font-size:17px;font-weight:900;display:inline-flex}.fav-title .ico{color:var(--heart);fill:currentColor}.practise .seg{align-self:flex-start}.practise .twin .btn{width:100%}.statrow.one{grid-template-columns:minmax(0,220px);justify-content:center}.waiting.center-line{justify-content:center}.checks{flex-wrap:wrap;gap:8px 16px;display:flex}.check{align-items:center;gap:8px;min-height:44px;font-weight:700;display:inline-flex}.check input{width:22px;height:22px;accent-color:var(--sky)}.r-mode{color:var(--muted);font-weight:700}.r-pend{margin-left:auto}.r-score .stkr.mini{vertical-align:-3px;width:18px;height:18px;margin-left:6px}.r-when{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.r-attempt+.r-attempt{border-top:2px dashed var(--dash)}.r-attempt .month-head b .subtle{font-size:14px;font-weight:700}.r-attempt .month-head .r-score,.r-attempt .month-head .r-pend{margin-left:0}.confirm{border:2px solid var(--pen)}.confirm .seg button.on:first-child{background:var(--good-soft);color:var(--good)}.confirm .seg button.on:last-child{background:var(--warn-soft);color:var(--warn)}.paper-ask{text-align:center;font-size:19px;font-weight:900}@media (orientation:landscape) and (width>=900px) and (height<=900px){.screen.act{padding-top:calc(16px + var(--safe-t));gap:12px}.listen{flex-direction:row;justify-content:center;gap:16px;padding-top:0}.listen-btn{gap:0;width:88px;height:88px;font-size:15px}.listen-btn .ico{width:36px;height:36px}.answer-in{min-height:64px}.answer-in.keyfield{padding-block:6px}.lined.keyfield{min-height:112px;max-height:26vh}textarea.lined{min-height:160px}.kb{gap:6px;padding-top:8px}.kb-row{gap:6px}.kk{min-height:50px;font-size:24px}.tile-slots{min-height:68px}.slot-ch{font-size:38px}.tiles{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:10px}.ctile{aspect-ratio:auto;min-height:72px;font-size:40px}.paper-key,.paper-note{min-height:72px}.paper-key{font-size:52px}.flash-wrap{min-height:300px}.qtext{font-size:32px}.opt{min-height:72px}}@media (width>=1000px){.list.word-grid{grid-template-columns:1fr 1fr;column-gap:32px;display:grid}.list.word-grid .row+.row{border-top:0}.list.word-grid .row:nth-child(n+3){border-top:2px dashed var(--dash)}.stk.panel.practise{flex-flow:wrap;align-items:center}.stk.panel.practise .twin{flex:1;min-width:360px}}.page-title:lang(zh-HK){font-family:var(--zh);letter-spacing:1px;font-weight:600}.title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.title-row .daydots i{background:var(--dash);color:var(--muted);width:26px;height:26px;font-size:13px}.title-row .daydots i.on{background:var(--sky);color:var(--ink)}.sl-n{border-radius:var(--r-pill);background:var(--card);place-items:center;min-width:30px;height:26px;padding:0 9px;font-size:14px;display:inline-grid}.carousel{--cw:78%;grid-auto-flow:column;grid-auto-columns:var(--cw);overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;gap:14px;margin:-4px -6px -6px -4px;padding:4px 6px 10px 4px;scroll-padding-inline:4px;display:grid;overflow-x:auto}.carousel::-webkit-scrollbar{display:none}@media (width>=600px){.carousel{--cw:43%;gap:16px}}@media (width>=1000px){.carousel{--cw:34%}}.task{scroll-snap-align:start;border-radius:var(--r-xl);background:var(--card);border:2px solid var(--ink);min-height:196px;box-shadow:var(--stick);flex-direction:column;align-items:flex-start;gap:8px;padding:16px;display:flex}.task.next{background:var(--sky)}.task-top{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.task-top .sg{border-radius:var(--r-sm);min-width:44px;height:44px;font-size:15px}.task-title{overflow-wrap:anywhere;font-size:22px;font-weight:900;line-height:1.2}.task-title:lang(zh-HK){font-family:var(--zh);letter-spacing:1px;font-weight:700}.task-sub{color:var(--muted);margin-top:-4px;font-size:15px;font-weight:700}.task.next .task-sub{color:var(--ink);opacity:.75}.task-parts{flex-wrap:wrap;gap:6px;display:flex}.task-parts span{background:var(--ground);border-radius:var(--r-pill);align-items:center;gap:4px;padding:4px 12px;font-size:15px;font-weight:900;display:inline-flex}.task.next .task-parts span{background:var(--card)}.task-parts span.d{background:var(--good-soft);color:var(--good)}.task-parts .ico{width:16px;height:16px}.task-go{pointer-events:none;margin-top:auto}.task-status{color:var(--good);align-items:center;gap:4px;font-size:14px;font-weight:900;display:inline-flex}.task-status .ico{width:18px;height:18px}@media (width>=768px){.task{min-height:230px;padding:20px}.task-title{font-size:26px}}.shell.fit{height:100dvh;min-height:0;overflow:hidden}.shell.fit .content{min-height:0;overflow:hidden}.screen.today-fit{gap:12px;height:100%;min-height:0;padding-bottom:8px;overflow:hidden}@media (width>=768px){.screen.today-fit{padding-bottom:calc(12px + var(--safe-b));gap:16px}}.today-fit>*{flex:none}.today-fit .carousel{flex:1 1 0;grid-template-rows:minmax(0,1fr);min-height:140px;max-height:360px;overflow-y:hidden}.today-fit .task{min-height:0;overflow:hidden}.today-fit .task-go{margin-top:auto}.today-fit .empty{flex:1 1 0;justify-content:center;min-height:0;max-height:360px;padding-block:12px;overflow:hidden}.today-fit .notes{overscroll-behavior:contain;border-radius:var(--r-lg);flex-direction:column;gap:12px;max-height:42%;display:flex;overflow-y:auto}.today-fit .spacer{flex:1 1 0;min-height:0}@media (height<=760px){.today-fit h1{font-size:26px}.today-fit .task{gap:6px;padding:12px 14px}.today-fit .task-title{font-size:20px}.today-fit .task-top .sg{min-width:36px;height:36px}.today-fit .task-parts span{padding:2px 10px;font-size:14px}}.task-top{justify-content:flex-start;align-items:flex-start}.task-name{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.task-name .task-sub{margin-top:0}.today-fit .task-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.today-fit .tip{padding:8px 12px;font-size:15px}.today-fit .tip button{margin-block:-8px}@media (height<=760px){.today-fit .task-sub{display:none}.today-fit .task-go{min-height:40px}.today-fit .carousel{min-height:128px}.today-fit .section-label{font-size:16px}}.today-fit .carousel{max-height:280px}@media (width>=768px){.today-fit .task-title{font-size:22px}}@media (height<=700px){.today-fit .tip{display:none}}.code-field{flex:0 260px}.code-field .code-in{letter-spacing:3px;font-family:ui-monospace,Menlo,monospace;font-weight:800}.task{background:var(--bk);color:var(--bk-fg)}.task .task-top .sg{background:var(--card)!important;color:var(--ink)!important}.task .task-sub{color:inherit;opacity:.8}.task .task-parts span{color:var(--ink);background:#ffffffe6}.task .task-parts span.d{background:var(--good-soft);color:var(--good)}.task .task-status{background:var(--card);color:var(--good);border-radius:var(--r-pill);padding:3px 10px 3px 6px}.task.is-done{background:var(--bk)}.task.is-done .task-title,.task.is-done .task-sub{opacity:.7}.task .task-go{color:var(--ink)}.tile.logo{object-fit:contain;background:0 0;display:block}.rail-mark .tile.logo{width:64px;height:64px}.ask-back{z-index:30;background:#3a2e3359;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.ask{flex-direction:column;gap:16px;width:100%;max-width:440px;padding:20px;font-weight:700;display:flex}.ask .actions{justify-content:flex-end}.kb-dock{z-index:3;margin:0 calc(-1 * var(--gutter));padding-top:10px;padding-inline:var(--gutter);background:linear-gradient(to bottom, transparent, var(--sky) 24px);flex-direction:column;gap:10px;display:flex;position:sticky;bottom:0}@media (width>=768px){.kb-dock{margin-inline:0;padding-inline:0}}.kb-dock .kb{position:static}.screen.act:has(.kb-dock){padding-bottom:0}.shell:has(.write-fit){height:100dvh;min-height:0;overflow:hidden}.shell:has(.write-fit) .content{min-height:0;overflow:hidden}.screen.write-fit{height:100%;min-height:0;overflow:hidden}.write-fit>*{flex:none}.write-fit>.spacer{display:none}.write-fit .lined.keyfield,.write-fit textarea.lined{overscroll-behavior:contain;flex:1 1 0;min-height:80px;max-height:none;overflow-y:auto}.write-fit textarea.lined{padding-bottom:40px}.write-fit>.page{max-height:26%;overflow-y:auto}.write-fit .kb-dock{position:static}@media (width>=768px){.screen.act{max-width:1080px}.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.bento-tile{min-height:200px}.bento-tile.wide{grid-column:span 2;min-height:200px}}.bento-tile.wide{min-height:152px}@media (width>=768px){.bento-tile.wide{min-height:200px}}.bento-tile.off{opacity:.45;box-shadow:none;cursor:default;border-color:#0000}@media (width>=768px){.bento-tile.wide{min-height:150px}.bento-tile{min-height:170px}.bento-tile.wide .bt-glyph{font-size:76px}}.match{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:10px 12px;display:grid}.mtile{border-radius:var(--r-md);background:var(--card);border:2px solid var(--ink);min-height:60px;box-shadow:var(--stick-sm);text-align:center;overflow-wrap:anywhere;justify-content:center;align-items:center;padding:8px 12px;font-size:20px;font-weight:800;line-height:1.2;display:flex;position:relative}.mtile.zh{font-family:var(--zh);font-size:28px}.mtile.on{background:var(--star)}.mtile.ok{background:var(--good-soft);color:var(--good);border-color:var(--good);box-shadow:none;cursor:default;padding-left:42px;transform:translate(2px,2px)}.mtile.shake{background:var(--warn-soft);animation:.45s shake}.mno{background:var(--good);color:#fff;width:26px;height:26px;font-family:var(--font);border-radius:50%;place-items:center;font-size:15px;font-weight:900;display:grid;position:absolute;top:50%;left:8px;translate:0 -50%}@keyframes shake{0%,to{translate:0}20%,60%{translate:-7px}40%,80%{translate:7px}}.m-left{color:var(--ink);justify-content:center;align-items:center;gap:8px;font-weight:900;display:flex}@media (width>=768px){.match{gap:14px 24px}.mtile{min-height:76px;font-size:24px}.mtile.zh{font-size:34px}}.answer-in.nfield{justify-content:center;align-items:center;gap:10px;min-height:84px;padding:8px 16px;display:flex}.nbox{border-radius:var(--r-sm);border:2px dashed var(--line);font-variant-numeric:tabular-nums;place-items:center;min-width:56px;min-height:52px;padding:0 10px;font-size:30px;font-weight:900;display:grid}.nbox.on{border:2px solid var(--sky);background:var(--sky-soft)}.nbox[disabled]{cursor:default}.nfrac{flex-direction:column;align-items:center;gap:4px;display:inline-flex}.nfrac .nbox{min-width:52px;min-height:44px;font-size:26px}.nfrac i{background:var(--ink);border-radius:2px;align-self:stretch;height:3px;display:block}.nunit{color:var(--muted);font-size:28px;font-weight:900}.nshown{font-size:32px;font-weight:900}.npad-dock{z-index:3;margin:0 calc(-1 * var(--gutter) + 4px);padding:10px 8px calc(8px + var(--safe-b));background:var(--dash);border-radius:var(--r-lg) var(--r-lg) 0 0;flex-direction:column;gap:10px;display:flex;position:sticky;bottom:0}.screen.act:has(.npad-dock){padding-bottom:0}.units{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.unit{border-radius:var(--r-pill);background:var(--card);border:2px solid var(--ink);min-width:64px;min-height:48px;box-shadow:var(--stick-sm);padding:0 16px;font-size:20px;font-weight:900}.unit.on{background:var(--star)}.npad{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;max-width:520px;margin:0 auto;display:grid}.npad .kk{min-height:56px;font-size:28px}.npad .kk.wide{grid-column:span 2}.npad .kk.go{font-size:20px}.kfrac{flex-direction:column;align-items:center;font-size:15px;font-weight:900;line-height:1;display:inline-flex}.kfrac b{min-height:15px}.kfrac i{background:currentColor;width:20px;height:2px;margin:2px 0}.scribble{border-radius:var(--r-lg);background:var(--paper);border:2px dashed var(--line);flex:1;min-height:140px;position:relative;overflow:hidden}.scribble canvas{touch-action:none;width:100%;height:100%;position:absolute;inset:0}.scribble-ph{color:var(--muted);pointer-events:none;justify-content:center;align-items:center;gap:8px;font-weight:800;display:flex;position:absolute;inset:0}.scribble-clear{background:var(--card);border:2px solid var(--ink);width:44px;height:44px;box-shadow:var(--stick-sm);border-radius:50%;place-items:center;display:grid;position:absolute;top:8px;right:8px}@media (width>=768px){.npad-dock{padding:12px 12px calc(10px + var(--safe-b));margin-inline:0}.npad{gap:10px}.npad .kk{min-height:64px;font-size:32px}.nbox{min-height:60px;font-size:38px}.nfrac .nbox{min-height:50px;font-size:32px}.scribble{min-height:200px}}@media (orientation:landscape) and (width>=900px) and (height<=900px){.npad .kk{min-height:50px;font-size:26px}.scribble{min-height:110px}.mtile{min-height:60px}}.pairs{flex-direction:column;gap:8px;display:flex}.pair{grid-template-columns:1fr auto 1fr auto;align-items:center;gap:8px;display:grid}.pair-to{color:var(--muted);font-weight:900}.pair:not(:has(.icon-btn)){grid-template-columns:1fr auto 1fr}.t-head-btns{flex-wrap:wrap;gap:8px;display:inline-flex}textarea.in.code{min-height:180px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:16px;font-weight:500;line-height:1.5}.file-btn{position:relative;overflow:hidden}.file-btn input{opacity:0;cursor:pointer;position:absolute;inset:0}.item.imp .item-head{align-items:flex-start}.item.imp .txt{flex-direction:column;min-width:0;display:flex}.item.imp.bad{border-color:var(--warn-soft);background:#fff8f2}.imp-q{border-radius:var(--r-sm);background:var(--dash);flex:none;place-items:center;width:44px;height:44px;font-weight:900;display:grid}.imp-problems{color:var(--warn);margin:0;padding-left:22px;font-weight:700}.imp-ok{color:var(--good);align-items:center;gap:6px;font-weight:800;display:flex}.imp-words{color:var(--muted);overflow-wrap:anywhere}.field>span .link{margin-left:12px}.item.imp .item-head{flex-wrap:wrap}.item.imp .item-head .txt{flex:200px}.item.imp .item-head .btn{white-space:nowrap;flex:none}.folders{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width>=768px){.folders{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}}.folder{border-radius:var(--r-lg);background:var(--star-soft);border:2px solid var(--ink);min-height:104px;box-shadow:var(--stick);flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;display:flex}.folder .ico{width:30px;height:30px}.folder b{font-size:20px;font-weight:900}.folder span{color:var(--muted);font-weight:700}.term-title{align-items:center;gap:8px;font-size:22px;font-weight:900;display:inline-flex}.term-sub{flex-direction:column;gap:8px;display:flex}.term-line{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.term-label{background:var(--star-soft);border-radius:var(--r-pill);align-items:center;gap:6px;padding:4px 12px 4px 8px;font-weight:900;display:inline-flex}.term-label .ico{width:18px;height:18px}.term-pick{min-width:180px}.term-archive{background:var(--star-soft);border-radius:var(--r-lg);padding:12px 16px}
