._page_1xeh9_1{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:var(--mist);font-family:var(--text)}._cover_1xeh9_10{background:var(--ink);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:64px clamp(32px,6vw,88px);gap:14px}._coverLine_1xeh9_19{font-family:var(--display);font-size:clamp(34px,4.4vw,60px);font-weight:700;letter-spacing:-.04em;line-height:1.08}._struck_1xeh9_26{color:#ffffff73;text-decoration:line-through;text-decoration-color:#e0513e;text-decoration-thickness:5px}._marked_1xeh9_32{color:var(--ink);background:var(--marker);padding:0 .14em;box-decoration-break:clone;-webkit-box-decoration-break:clone}._coverNote_1xeh9_39{margin-top:26px;max-width:38ch;font-size:16px;line-height:1.6;color:#ffffffa6}._panel_1xeh9_48{display:flex;align-items:center;justify-content:center;padding:48px 28px}._inner_1xeh9_54{width:min(360px,100%)}._brand_1xeh9_56{font-family:var(--display);font-size:34px;font-weight:800;letter-spacing:-.045em;color:var(--ink);line-height:1}._teacher_1xeh9_64{margin-top:8px;font-size:15px;color:var(--slate-600)}._form_1xeh9_66{margin-top:34px;display:grid}._label_1xeh9_67{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:6px}._input_1xeh9_68{width:100%;padding:12px 14px;margin-bottom:18px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--paper);font:inherit;font-size:16px;color:var(--ink);outline:none;transition:border-color .14s,box-shadow .14s}._input_1xeh9_68:focus{border-color:var(--ink);box-shadow:0 0 0 3px #1d4ed824}._error_1xeh9_83{margin:-6px 0 16px;padding:10px 12px;border-radius:var(--r-sm);background:var(--red-soft);border:1px solid var(--red-line);color:#8e2414;font-size:14px}._btn_1xeh9_93{margin-top:4px;padding:13px 18px;border:none;border-radius:var(--r-sm);background:var(--ink);color:#fff;font:inherit;font-size:15.5px;font-weight:700;cursor:pointer;transition:background .14s}._btn_1xeh9_93:hover:not(:disabled){background:var(--ink-2)}._btn_1xeh9_93:disabled{opacity:.55;cursor:not-allowed}._help_1xeh9_109{margin-top:26px;font-size:14px;line-height:1.6;color:var(--slate-600)}._help_1xeh9_109 a{color:var(--ink);font-weight:600;white-space:nowrap}@media (max-width: 820px){._page_1xeh9_1{grid-template-columns:1fr}._cover_1xeh9_10{padding:40px 22px 34px;gap:8px}._coverLine_1xeh9_19{font-size:30px}._coverNote_1xeh9_39{margin-top:14px;font-size:14.5px}._panel_1xeh9_48{align-items:flex-start;padding:32px 22px 56px}}._page_1y81p_3{min-height:100vh;background-color:var(--mist);font-family:var(--text);padding:0 0 4rem;position:relative}._page_1y81p_3:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:56px 56px;pointer-events:none}._header_1y81p_23{position:relative;z-index:1;background:var(--ink-2);background-image:linear-gradient(var(--ink),var(--ink));padding:1.75rem 2.5rem;display:flex;align-items:center;gap:1.25rem;overflow:hidden;box-shadow:none}._header_1y81p_23:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:#ffffff0a;right:-80px;top:-80px;pointer-events:none}._header_1y81p_23:before{content:"";position:absolute;width:160px;height:160px;border-radius:50%;background:#ffffff08;left:-50px;bottom:-70px;pointer-events:none}._btnBack_1y81p_61{position:relative;z-index:1;padding:.5rem 1rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.22);border-radius:10px;color:#fffc;font-family:var(--text);font-size:.8rem;font-weight:500;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .18s,border-color .18s,color .18s,transform .18s}._btnBack_1y81p_61:hover{background:#ffffff2e;border-color:#fff6;color:#fff;transform:translate(-2px)}._headerText_1y81p_85{position:relative;z-index:1}._title_1y81p_90{font-family:var(--display);font-size:1.55rem;font-weight:700;color:#fff;margin:0 0 3px;letter-spacing:-.02em;line-height:1.15;text-shadow:0 2px 16px rgba(0,0,0,.25)}._subtitle_1y81p_101{font-size:.95rem;color:#ffffff73;font-weight:400;margin:0}._content_1y81p_109{position:relative;z-index:1;max-width:980px;margin:0 auto;padding:0 2rem}._contentWide_1y81p_118{max-width:1120px}._htmlFrame_1y81p_122{display:block;width:100%;min-height:75vh;margin-top:2rem;border:1px solid var(--line);border-radius:16px;background:var(--paper)}._scoreRow_1y81p_133{display:flex;align-items:center;gap:1rem;margin:2rem 0 1.5rem}._scoreText_1y81p_140{font-size:1rem;font-weight:600;color:var(--ink-2);white-space:nowrap}._progressWrap_1y81p_147{flex:1;height:8px;background:var(--line);border-radius:999px;overflow:hidden}._progressBar_1y81p_155{height:100%;border-radius:999px;background:var(--ink-2);transition:width .4s ease}._tabs_1y81p_163{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}._tab_1y81p_163{padding:.6rem 1.3rem;background:var(--sheet);border:1px solid var(--line);border-radius:999px;color:var(--slate-600);font-family:var(--text);font-size:.95rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}._tab_1y81p_163:hover{border-color:var(--royal-line);color:var(--ink-2);background:var(--royal-soft)}._tabActive_1y81p_189,._tabActive_1y81p_189:hover{background:var(--marker);border-color:var(--marker);color:var(--ink);font-weight:700;box-shadow:none}._ruleBox_1y81p_198{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--marker);border-radius:10px;padding:1.1rem 1.4rem;font-size:1rem;color:var(--ink);line-height:1.6;margin-bottom:1.5rem}._exCard_1y81p_211{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.75rem 2rem;margin-bottom:1.25rem;box-shadow:0 2px 10px #0000000d;transition:border-color .2s,box-shadow .2s;animation:_cardRise_1y81p_1 .45s both}._exCard_1y81p_211:nth-child(1){animation-delay:.05s}._exCard_1y81p_211:nth-child(2){animation-delay:.08s}._exCard_1y81p_211:nth-child(3){animation-delay:.11s}._exCard_1y81p_211:nth-child(4){animation-delay:.14s}._exCard_1y81p_211:nth-child(5){animation-delay:.17s}._exCard_1y81p_211:nth-child(6){animation-delay:.2s}._exCard_1y81p_211:nth-child(7){animation-delay:.23s}._exCard_1y81p_211:nth-child(8){animation-delay:.26s}._exCardCorrect_1y81p_231{border-color:var(--green-line);background:var(--green-soft)}._exCardWrong_1y81p_236{border-color:var(--red-line);background:var(--red-soft)}._exNum_1y81p_241{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--slate-400);margin-bottom:.6rem}._exQ_1y81p_250{font-size:1.1rem;color:var(--ink);line-height:1.6;margin-bottom:1rem;font-weight:400}._exInput_1y81p_259{width:100%;padding:.95rem 1.15rem;background:var(--sheet);border:1px solid var(--line);border-radius:10px;color:var(--ink);font-size:1.05rem;font-family:var(--text);font-weight:400;outline:none;transition:border-color .2s,box-shadow .2s,background .2s;box-sizing:border-box}._exInput_1y81p_259::placeholder{color:var(--slate-400)}._exInput_1y81p_259:focus{border-color:var(--ink-3);background:#fff;box-shadow:0 0 0 3.5px #3b82f61f}._exInput_1y81p_259:disabled{cursor:not-allowed;opacity:.8}._exInputCorrect_1y81p_287{border-color:var(--green-line);background:var(--green-soft);color:var(--green)}._exInputWrong_1y81p_293{border-color:var(--red-line);background:var(--red-soft)}._btnCheck_1y81p_299{margin-top:.9rem;padding:.8rem 2rem;background:var(--ink-2);border:none;border-radius:10px;color:#fff;font-family:var(--text);font-size:1rem;font-weight:600;cursor:pointer;letter-spacing:.01em;transition:background .18s,transform .18s,box-shadow .18s;box-shadow:none}._btnCheck_1y81p_299:hover{background:var(--ink);transform:translateY(-1px);box-shadow:none}._btnCheck_1y81p_299:active{transform:translateY(0);box-shadow:none}._feedback_1y81p_327{margin-top:.75rem;font-size:.95rem;font-weight:500;border-radius:8px;padding:.6rem 1rem}._feedbackCorrect_1y81p_335{background:var(--green-soft);color:var(--green);border:1px solid var(--green-line)}._feedbackWrong_1y81p_341{background:var(--red-soft);color:var(--red);border:1px solid var(--red-line)}._gabarito_1y81p_348{margin-top:2.5rem}._btnGab_1y81p_352{width:100%;padding:1rem 1.5rem;background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--slate-600);font-family:var(--text);font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s;box-shadow:0 2px 8px #0000000a}._btnGab_1y81p_352:hover{background:var(--royal-soft);border-color:var(--royal-line);color:var(--ink-2)}._gabList_1y81p_373{margin-top:.75rem;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 2px 10px #0000000d}._gabItem_1y81p_382{display:flex;gap:1rem;padding:.9rem 1.5rem;font-size:1rem;color:#3f3f46;border-bottom:1px solid var(--mist)}._gabItem_1y81p_382:last-child{border-bottom:none}._gabNum_1y81p_393{font-weight:700;color:var(--ink-2);min-width:1.75rem}._gabAns_1y81p_399{font-weight:400;color:#3f3f46}@keyframes _fadeUp_1y81p_1{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes _cardRise_1y81p_1{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){._header_1y81p_23{padding:1.35rem 1.5rem;gap:1rem}._title_1y81p_90{font-size:1.25rem}._subtitle_1y81p_101{font-size:.85rem}._content_1y81p_109{padding:0 1.25rem}._htmlFrame_1y81p_122{margin-top:1.25rem;border-radius:14px}._exCard_1y81p_211{padding:1.35rem 1.5rem;border-radius:14px}._gabItem_1y81p_382{padding:.75rem 1.25rem}}@media (max-width: 480px){._header_1y81p_23{padding:1rem 1.1rem;gap:.75rem;flex-wrap:nowrap}._btnBack_1y81p_61{padding:.45rem .85rem;font-size:.78rem;flex-shrink:0}._title_1y81p_90{font-size:1.1rem;letter-spacing:-.01em}._subtitle_1y81p_101{font-size:.78rem}._content_1y81p_109{padding:0 1rem}._scoreRow_1y81p_133{margin:1.35rem 0 1.1rem;gap:.75rem}._scoreText_1y81p_140{font-size:.88rem;white-space:nowrap}._tabs_1y81p_163{gap:.35rem;margin-bottom:1.1rem}._tab_1y81p_163{padding:.5rem 1rem;font-size:.875rem}._ruleBox_1y81p_198{font-size:.92rem;padding:.9rem 1.1rem;margin-bottom:1.1rem}._exCard_1y81p_211{padding:1.1rem;border-radius:12px;margin-bottom:.9rem}._exNum_1y81p_241{font-size:.7rem;margin-bottom:.45rem}._exQ_1y81p_250{font-size:1rem;margin-bottom:.75rem}._exInput_1y81p_259{font-size:.97rem;padding:.85rem 1rem}._btnCheck_1y81p_299{padding:.75rem 1.5rem;font-size:.95rem;margin-top:.75rem;width:100%}._feedback_1y81p_327{font-size:.88rem;padding:.5rem .875rem}._btnGab_1y81p_352{font-size:.9rem;padding:.875rem 1.25rem}._gabItem_1y81p_382{padding:.75rem 1rem;font-size:.92rem;gap:.75rem}._gabarito_1y81p_348{margin-top:1.75rem}}._header_1y81p_23:before,._header_1y81p_23:after,._page_1y81p_3:before{display:none}._header_1y81p_23{background:var(--paper);background-image:none;border-bottom:1px solid var(--line);padding:18px 28px}._header_1y81p_23:before,._header_1y81p_23:after{display:none}._title_1y81p_90{color:var(--ink)}._subtitle_1y81p_101{color:var(--slate-600)}._btnBack_1y81p_61{background:var(--paper);border:1px solid var(--line-strong);color:var(--ink)}._btnBack_1y81p_61:hover{background:var(--mist);border-color:var(--ink);color:var(--ink)}._title_1y81p_90,._subtitle_1y81p_101{text-shadow:none}._shell_jn79o_3{min-height:100vh;background-color:var(--mist);font-family:var(--text);padding:0 0 3rem;position:relative;overflow-x:hidden}._header_jn79o_13{position:relative;z-index:1;background:#18181b;background-image:linear-gradient(var(--ink),var(--ink));padding:2rem 2.5rem 2.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;overflow:hidden;box-shadow:none}._headerLeft_jn79o_27{position:relative;z-index:1}._badge_jn79o_29{display:inline-flex;align-items:center;gap:7px;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:4px 12px 4px 8px;margin-bottom:.75rem}._badgeDot_jn79o_40{width:6px;height:6px;border-radius:50%;background:var(--marker);animation:_blink_jn79o_1 2.2s ease-in-out infinite}._badgeText_jn79o_48{font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#ffffffbf}._greeting_jn79o_56{font-family:var(--display);font-size:1.85rem;font-weight:700;color:#fff;margin:0 0 .3rem;letter-spacing:-.02em;line-height:1.15;text-shadow:0 2px 16px rgba(0,0,0,.25)}._greetingAccent_jn79o_67{color:var(--marker)}._sub_jn79o_69{font-size:.8rem;color:#ffffffa6;font-weight:400;margin:0}._btnLogout_jn79o_76{position:relative;z-index:1;padding:.55rem 1.1rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.22);border-radius:10px;color:#fffc;font-family:var(--text);font-size:.8rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .18s,border-color .18s,color .18s,transform .18s;flex-shrink:0}._btnLogout_jn79o_76:hover{background:#ffffff2e;border-color:#fff6;color:#fff;transform:translateY(-1px)}._content_jn79o_100{position:relative;z-index:1;max-width:640px;margin:0 auto;padding:2.25rem 2rem 0;display:flex;flex-direction:column;align-items:stretch}._finishedBanner_jn79o_111{background:var(--green-soft);border:1px solid var(--green-line);color:var(--green);border-radius:14px;padding:.9rem 1.1rem;font-size:.92rem;font-weight:600;margin-bottom:1.5rem;text-align:center}._goalRow_jn79o_124{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--sheet);border:1px solid var(--line);border-radius:14px;padding:.9rem 1.1rem;margin-bottom:1.25rem}._goalText_jn79o_136{display:flex;flex-direction:column;gap:2px;min-width:0}._goalLabel_jn79o_143{font-size:.85rem;font-weight:600;color:var(--ink)}._goalHint_jn79o_149{font-size:.72rem;color:var(--slate-600)}._goalInput_jn79o_154{width:68px;flex-shrink:0;text-align:center;padding:.55rem .4rem;font-family:var(--text);font-size:1.05rem;font-weight:700;color:var(--ink-2);background:#fff;border:1px solid var(--royal-line);border-radius:10px;outline:none;transition:border-color .2s,box-shadow .2s;-moz-appearance:textfield}._goalInput_jn79o_154::-webkit-outer-spin-button,._goalInput_jn79o_154::-webkit-inner-spin-button{margin:0}._goalInput_jn79o_154:focus{border-color:var(--ink-3);background:#fff;box-shadow:0 0 0 3.5px #3b82f61f}._statsGrid_jn79o_182{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.25rem}._statCard_jn79o_189{background:var(--sheet);border:1px solid var(--line);border-radius:14px;padding:1.1rem .5rem;text-align:center;transition:transform .15s}._statCard_jn79o_189{background:var(--paper);border-color:var(--line)}._statCard_jn79o_189:nth-child(1) ._statValue_jn79o_200{color:var(--amber)}._statCard_jn79o_189:nth-child(2) ._statValue_jn79o_200{color:var(--marker-ink)}._statCard_jn79o_189:nth-child(3) ._statValue_jn79o_200{color:var(--green)}._statCard_jn79o_189:nth-child(4) ._statValue_jn79o_200{color:var(--ink)}._statValue_jn79o_200{font-family:var(--display);font-size:1.85rem;font-weight:700;color:var(--ink);line-height:1.1}._statLabel_jn79o_213{font-size:.74rem;color:var(--slate-600);margin-top:5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}._progressWrap_jn79o_222{height:8px;background:var(--mist);border-radius:999px;overflow:hidden;margin-bottom:.5rem}._progressBar_jn79o_230{height:100%;border-radius:999px;background:var(--ink-2);transition:width .4s ease}._progressLabel_jn79o_237{font-size:.82rem;color:var(--slate-600);text-align:center;margin-bottom:1.75rem}._btnPrimary_jn79o_244{background:linear-gradient(var(--ink),var(--ink));color:#fff;border:none;border-radius:14px;padding:1rem;font-family:var(--text);font-size:1.02rem;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:none}._btnPrimary_jn79o_244:hover{transform:translateY(-1px);box-shadow:none}._btnPrimary_jn79o_244:active{transform:scale(.98)}._btnSecondary_jn79o_260{margin-top:.75rem;background:transparent;color:var(--ink-2);border:1px solid var(--royal-line);border-radius:14px;padding:.85rem;font-family:var(--text);font-size:.92rem;font-weight:600;cursor:pointer;transition:background .15s}._btnSecondary_jn79o_260:hover{background:var(--royal-soft)}._hint_jn79o_275{font-size:.82rem;color:var(--slate-400);text-align:center;margin-top:.75rem}._emptyBox_jn79o_282{text-align:center;padding:1.5rem 1rem .5rem}._emptyEmoji_jn79o_287{font-size:2.6rem;margin-bottom:.75rem}._emptyTitle_jn79o_289{font-family:var(--display);font-size:1.3rem;font-weight:700;color:var(--ink);margin-bottom:.4rem}._emptyText_jn79o_297{font-size:.9rem;color:var(--slate-600);margin-bottom:1.5rem}._sessionHeader_jn79o_304{display:flex;align-items:center;gap:1rem;max-width:640px;margin:0 auto;padding:1.5rem 2rem 0}._btnBack_jn79o_313{flex-shrink:0;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;font-family:var(--text);font-size:13px;color:var(--slate-600);cursor:pointer;transition:all .15s}._btnBack_jn79o_313:hover{border-color:var(--ink-2);color:var(--ink-2)}._sessionProgressWrap_jn79o_327{flex:1;height:8px;background:var(--mist);border-radius:999px;overflow:hidden}._sessionProgressBar_jn79o_335{height:100%;border-radius:999px;background:var(--ink-2);transition:width .3s ease}._sessionCount_jn79o_342{flex-shrink:0;font-size:.85rem;font-weight:600;color:var(--slate-600);white-space:nowrap}._cardArea_jn79o_351{max-width:640px;margin:2.5rem auto 0;padding:0 2rem;display:flex;justify-content:center}._promptCard_jn79o_359{width:100%;max-width:420px;min-height:220px;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;padding:2rem 1.5rem;text-align:center;background:linear-gradient(var(--ink),var(--ink));border:1px solid var(--ink-2);box-shadow:none}._promptHint_jn79o_376{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#ffffffa6}._wordPt_jn79o_384{font-family:var(--text);font-size:calc(2.35rem * var(--fitScale, 1));font-weight:800;color:#fff;letter-spacing:-.005em;line-height:1.2;word-break:break-word;transition:font-size .15s ease}._exampleSentence_jn79o_395{font-family:var(--text);font-size:calc(1.35rem * var(--exampleFitScale, 1));font-weight:600;color:#ffffffe6;line-height:1.5;margin-top:.6rem;max-width:100%;overflow-wrap:break-word;word-break:break-word;transition:font-size .15s ease}._exampleHighlight_jn79o_408{font-weight:800;color:var(--marker);padding:0 1px;border-bottom:2px solid var(--marker)}._answerForm_jn79o_416{max-width:420px;margin:1.5rem auto 0;padding:0 2rem 2rem;display:flex;flex-direction:column}._answerInput_jn79o_424{width:100%;padding:1.05rem 1.2rem;background:var(--sheet);border:1px solid var(--line);border-radius:10px;color:var(--ink);font-size:1.25rem;font-family:var(--text);font-weight:500;text-align:center;outline:none;transition:border-color .2s,box-shadow .2s,background .2s;box-sizing:border-box}._answerInput_jn79o_424::placeholder{color:var(--slate-400)}._answerInput_jn79o_424:focus{border-color:var(--ink-3);background:#fff;box-shadow:0 0 0 3.5px #3b82f61f}._answerInput_jn79o_424:disabled{cursor:not-allowed;opacity:.9}._answerInputCorrect_jn79o_450{border-color:var(--green-line);background:var(--green-soft);color:var(--green)}._answerInputWrong_jn79o_451{border-color:var(--red-line);background:var(--red-soft);color:var(--red)}._btnCheck_jn79o_453,._btnNext_jn79o_453{margin-top:.9rem;padding:.95rem;border:none;border-radius:12px;color:#fff;font-family:var(--text);font-size:1rem;font-weight:600;cursor:pointer;transition:transform .15s,background .15s}._btnCheck_jn79o_453{background:linear-gradient(var(--ink),var(--ink));box-shadow:none}._btnCheck_jn79o_453:hover{transform:translateY(-1px)}._btnNext_jn79o_453{background:var(--ink);box-shadow:0 6px 20px #18181b33}._btnNext_jn79o_453:hover{transform:translateY(-1px);background:#3f3f46}._feedback_jn79o_479{margin-top:1rem;font-size:.95rem;font-weight:500;border-radius:12px;padding:.9rem 1.1rem;text-align:center;display:flex;flex-direction:column;gap:.35rem}._feedbackCorrect_jn79o_491{background:var(--green-soft);color:var(--green);border:1px solid var(--green-line)}._feedbackHard_jn79o_492{background:var(--amber-soft);color:var(--amber);border:1px solid var(--amber-line)}._feedbackWrong_jn79o_493{background:var(--red-soft);color:var(--red);border:1px solid var(--red-line)}._feedbackTag_jn79o_495{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;opacity:.8}._exampleTranslationBox_jn79o_503{margin-top:.75rem;padding:.85rem 1.05rem;border-radius:12px;background:#f5f9ff;border:1px solid var(--marker);display:flex;flex-direction:column;gap:.3rem}._exampleTranslationLabel_jn79o_514{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#1d4ed8}._exampleTranslationText_jn79o_522{font-size:1.1rem;font-weight:600;color:#18181b;line-height:1.45}@keyframes _fadeUp_jn79o_1{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes _blink_jn79o_1{0%,to{opacity:1}50%{opacity:.25}}@media (max-width: 480px){._header_jn79o_13{padding:1.1rem 1.25rem;flex-wrap:wrap;gap:.75rem}._greeting_jn79o_56{font-size:1.3rem}._sub_jn79o_69{font-size:.75rem}._content_jn79o_100{padding:1.5rem 1.25rem 0}._statsGrid_jn79o_182{gap:.5rem}._statValue_jn79o_200{font-size:1.45rem}._statLabel_jn79o_213{font-size:.62rem}._sessionHeader_jn79o_304{padding:1rem 1.25rem 0}._cardArea_jn79o_351{padding:0 1.25rem;margin:1.75rem auto 0}._promptCard_jn79o_359{min-height:180px;padding:1.5rem 1.25rem}._wordPt_jn79o_384{font-size:calc(1.7rem * var(--fitScale, 1))}._exampleSentence_jn79o_395{font-size:calc(1.05rem * var(--exampleFitScale, 1));margin-top:.5rem}._answerForm_jn79o_416{padding:0 1.25rem 1.5rem;margin-top:1.25rem}._answerInput_jn79o_424{font-size:1.15rem;padding:1rem}._btnCheck_jn79o_453,._btnNext_jn79o_453{padding:.85rem;font-size:.95rem}._feedback_jn79o_479{font-size:.88rem;padding:.75rem .875rem}._exampleTranslationText_jn79o_522{font-size:.98rem}._goalRow_jn79o_124{padding:.8rem .9rem;gap:.75rem}._goalLabel_jn79o_143{font-size:.8rem}._goalHint_jn79o_149{font-size:.68rem}._goalInput_jn79o_154{width:58px;font-size:1rem}}._header_jn79o_13:before,._header_jn79o_13:after,._page_jn79o_566:before{display:none}._plainHead_jn79o_569{max-width:640px;margin:0 auto;padding:32px 2rem 0}._plainHead_jn79o_569 .page-sub{margin-top:6px}._progress_yejwe_4{display:flex;height:10px;border-radius:var(--r-pill);overflow:hidden;background:var(--mist);border:1px solid var(--line);margin:14px 0 8px}._progress_yejwe_4 span{display:block;height:100%}._barLearning_yejwe_14{background:var(--amber-line)}._barSolid_yejwe_15{background:var(--ink-3)}._barMastered_yejwe_16{background:var(--green)}._legend_yejwe_18{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13.5px;color:var(--slate-600)}._legend_yejwe_18 i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}._packMeter_yejwe_34{width:120px;height:6px;border-radius:var(--r-pill);background:var(--mist);overflow:hidden;margin-top:6px}._packMeter_yejwe_34 span{display:block;height:100%;background:var(--green)}._packCurrent_yejwe_43{background:var(--marker-soft)}._entry_yejwe_46{background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--r-lg);padding:28px 30px 26px;position:relative}._entryHead_yejwe_53{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}._term_yejwe_54{font-family:var(--display);font-size:clamp(30px,5vw,44px);line-height:1.05;letter-spacing:-.02em;color:var(--ink);font-weight:700}._kind_yejwe_62{display:inline-block;font-size:13px;color:var(--slate-600);border:1px solid var(--line-strong);border-radius:var(--r-pill);padding:3px 10px;margin-top:10px;margin-right:6px}._pt_yejwe_72{font-size:19px;color:var(--ink);font-weight:600;margin-top:18px}._definition_yejwe_78{font-size:15px;color:var(--slate-600);margin-top:4px;font-style:italic;max-width:62ch}._patterns_yejwe_85{margin-top:16px;font-size:14.5px;color:var(--ink-2);font-weight:600}._sectionLabel_yejwe_91{font-size:13px;color:var(--slate-400);margin:22px 0 8px;font-weight:600}._examples_yejwe_97{list-style:none;display:grid;gap:10px}._examples_yejwe_97 li{font-size:16.5px;line-height:1.55;color:var(--ink);padding-left:16px;border-left:3px solid var(--line);max-width:68ch}._mark_yejwe_106{background:linear-gradient(transparent 38%,var(--marker) 38%,var(--marker) 88%,transparent 88%);padding:0 2px;font-weight:600}._note_yejwe_111{margin-top:22px;background:var(--marker-soft);border-radius:var(--r-md);padding:14px 16px;font-size:15px;line-height:1.6;color:var(--ink);max-width:72ch}._note_yejwe_111 strong{color:var(--marker-ink)}._step_yejwe_124{font-size:13.5px;color:var(--slate-400);margin-bottom:6px}._qTitle_yejwe_125{font-family:var(--display);font-size:22px;color:var(--ink);margin-bottom:6px}._qPrompt_yejwe_131{font-size:15.5px;color:var(--slate-600);margin-bottom:14px}._qSentence_yejwe_132{font-size:18px;line-height:1.6;color:var(--ink);border-left:3px solid var(--ink-3);padding:4px 0 4px 16px;margin-bottom:18px}._ptSentence_yejwe_140{font-size:18px;color:var(--ink);font-weight:600;margin-bottom:10px}._gapLine_yejwe_146{font-size:16px;color:var(--slate-600);margin-bottom:14px}._gapLine_yejwe_146 b{color:var(--ink);letter-spacing:.05em}._options_yejwe_149{display:grid;gap:8px}._option_yejwe_149{text-align:left;font:inherit;font-size:15.5px;line-height:1.5;padding:12px 16px;border-radius:var(--r-md);border:1.5px solid var(--line-strong);background:var(--paper);color:var(--ink);cursor:pointer}._option_yejwe_149:hover:not(:disabled){border-color:var(--ink)}._option_yejwe_149:focus-visible{outline:3px solid var(--marker);outline-offset:2px}._option_yejwe_149:disabled{cursor:default}._optionRight_yejwe_165{border-color:var(--green);background:var(--green-soft)}._optionWrong_yejwe_166{border-color:var(--red);background:var(--red-soft)}._optionDim_yejwe_167{opacity:.55}._feedback_yejwe_169{margin-top:16px;border-radius:var(--r-md);padding:14px 16px;font-size:15px;line-height:1.6}._feedbackOk_yejwe_176{background:var(--green-soft);border:1px solid var(--green-line);color:#1c5c3b}._feedbackBad_yejwe_177{background:var(--red-soft);border:1px solid var(--red-line);color:#8e2414}._feedback_yejwe_169 strong{display:block;margin-bottom:2px}._result_yejwe_180{font-family:var(--display);font-size:26px;color:var(--ink);margin-bottom:6px}._wordList_yejwe_187{display:grid;gap:0}._wordRow_yejwe_188{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid var(--line);background:var(--paper);text-align:left;font:inherit;width:100%;cursor:pointer;border-left:none;border-right:none;border-bottom:none}._wordRow_yejwe_188:first-child{border-top:none}._wordRow_yejwe_188:hover{background:var(--sheet)}._wordRow_yejwe_188:focus-visible{outline:3px solid var(--marker);outline-offset:-3px}._wordTerm_yejwe_207{font-weight:600;color:var(--ink);font-size:15.5px}._wordPt_yejwe_208{font-size:13.5px;color:var(--slate-400);margin-top:2px}@media (max-width: 560px){._entry_yejwe_46{padding:22px 18px}._examples_yejwe_97 li{font-size:15.5px}}._homeTop_yejwe_216{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;align-items:stretch}._today_yejwe_217{min-height:220px}._todayActions_yejwe_218{position:relative;display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:14px}._progressCard_yejwe_219{padding:20px 22px;display:flex;flex-direction:column;gap:14px}._progHead_yejwe_220{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}._progBig_yejwe_221{font-size:14px;color:var(--slate-600)}._progBig_yejwe_221 b{font-family:var(--display);font-size:26px;color:var(--ink);margin-right:2px}._statGrid_yejwe_223{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}._statGrid_yejwe_223>div{border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;border:1px solid transparent}._statGrid_yejwe_223 b{font-family:var(--display);font-size:24px;line-height:1.15}._statGrid_yejwe_223 span{font-size:13px;font-weight:600}._statMastered_yejwe_227{background:var(--green-soft);color:var(--green);border-color:var(--green-line)!important}._statSolid_yejwe_228{background:var(--mist);color:var(--ink-2);border-color:var(--line)!important}._statLearning_yejwe_229{background:var(--amber-soft);color:var(--amber);border-color:var(--amber-line)!important}._statNew_yejwe_230{background:var(--paper);color:var(--slate-600);border-color:var(--line)!important}._themeGrid_yejwe_232{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;padding:16px 18px 18px;border-top:1px solid var(--line);max-height:560px;overflow-y:auto}._theme_yejwe_232{display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--paper)}._theme_yejwe_232:hover{border-color:var(--line-strong)}._themeCurrent_yejwe_235{border-color:#b9d3ff;background:linear-gradient(135deg,#eef4ff,#f8faff 70%)}._themeTop_yejwe_236{display:flex;align-items:center;gap:12px}._themeEmoji_yejwe_237{width:42px;height:42px;border-radius:11px;background:var(--mist);display:grid;place-items:center;font-size:20px;flex:none}._themeCurrent_yejwe_235 ._themeEmoji_yejwe_237{background:#fff}._themeMain_yejwe_239{flex:1;min-width:0;display:flex;flex-direction:column}._themeMain_yejwe_239 b{font-size:15px;color:var(--ink)}._themeMain_yejwe_239 small{font-size:12.5px;color:var(--slate-600)}._themeBadge_yejwe_242{font-size:11.5px;font-weight:700;color:var(--marker-ink);background:#fff;border:1px solid #B9D3FF;padding:2px 8px;border-radius:999px;white-space:nowrap}._themeActions_yejwe_243{display:flex;gap:8px}@media (max-width: 1000px){._homeTop_yejwe_216{grid-template-columns:1fr}}._theme_yejwe_232 ._packMeter_yejwe_34{width:100%;max-width:none;margin:0}._themeActions_yejwe_243{margin-top:auto;align-items:center}._themeActions_yejwe_243 ._themeBadge_yejwe_242{margin-left:auto;padding:4px 10px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--ink: #18181B;--ink-2: #3F3F46;--ink-3: #5B5B65;--paper: #FFFFFF;--mist: #F4F4F5;--sheet: #FAFAFA;--line: #E0E0E4;--line-strong: #CBCBD1;--slate-900: #18181B;--slate-600: #3F3F46;--slate-400: #5B5B65;--slate-300: #A1A1AA;--marker: #7DB2FF;--marker-soft: #E5EFFF;--marker-line: #B9D3FF;--marker-ink: #1D4ED8;--accent-strong: #1D4ED8;--red: #B8321F;--red-soft: #FCE8E4;--red-line: #F2C4BB;--red-ink: #8E2414;--green: #1C5C3B;--green-soft: #E3F1E8;--green-line: #BCDCC8;--amber: #7A4A04;--amber-soft: #FBF0D9;--amber-line: #EDD3A5;--royal: var(--ink-2);--royal-dark: var(--ink);--royal-soft: #EBF2FF;--royal-line: #C9DAFB;--gold: var(--marker);--gold-soft: var(--marker-soft);--r-lg: 16px;--r-md: 14px;--r-sm: 9px;--r-pill: 999px;--shadow-card: 0 1px 2px rgba(24,24,27,.05);--shadow-pop: 0 16px 40px -14px rgba(24,24,27,.38);--shadow-deep: var(--shadow-pop);--topbar-h: 0px;--display: "Bricolage Grotesque", "Figtree", system-ui, sans-serif;--text: "Figtree", system-ui, sans-serif}html{-webkit-text-size-adjust:100%}body{font-family:var(--text);font-size:15px;line-height:1.5;background:var(--mist);color:var(--slate-900);min-height:100vh;-webkit-font-smoothing:antialiased}a{color:var(--ink-2);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--ink-2);outline-offset:2px;border-radius:4px}::selection{background:var(--marker);color:var(--ink)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}}.app-shell{min-height:100vh;display:flex}.sidebar{position:sticky;top:0;height:100vh;width:272px;flex-shrink:0;background:var(--paper);border-right:1px solid var(--line);padding:24px 16px 18px;display:flex;flex-direction:column;overflow-y:auto}.brand{display:block;padding:0 12px 14px;text-decoration:none;color:var(--ink)}.brand:hover{text-decoration:none}.brand-name{display:block;font-family:var(--display);font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.1}.brand-role{display:block;font-size:13.5px;color:var(--slate-400);margin-top:3px}.sidebar-nav{flex:1}.nav-group{display:grid;gap:2px}.nav-caption{padding:18px 12px 6px;font-size:12.5px;font-weight:600;color:var(--slate-400)}.nav-group:first-child .nav-caption{padding-top:6px}.nav-link{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 12px;border-radius:8px;color:var(--slate-600);font-size:15px;font-weight:500;text-decoration:none}.nav-link:hover{background:var(--mist);color:var(--ink);text-decoration:none}.nav-link.active{background:var(--ink);color:#fff}.nav-label{flex:1;min-width:0}.sidebar-foot{margin-top:18px;padding:16px 4px 0;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px}.sidebar-foot .who{flex:1;min-width:0}.sidebar-foot .who-name{font-size:14.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-foot .who-link{font-size:13px;color:var(--slate-600)}.logout-btn{background:transparent;border:1px solid var(--line-strong);color:var(--ink);border-radius:var(--r-sm);min-height:36px;padding:0 12px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer}.logout-btn:hover{border-color:var(--ink)}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--marker);color:var(--ink);font-family:var(--display);font-weight:700;font-size:15px;flex-shrink:0}.mobilebar{display:none;position:sticky;top:0;z-index:40;height:var(--topbar-h);padding:0 16px;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid var(--line)}.mobilebar .brand{padding:0}.mobilebar .brand-name{font-size:19px}.burger{width:44px;height:44px;border-radius:var(--r-sm);background:transparent;border:1px solid var(--line-strong);cursor:pointer;display:grid;place-items:center}.burger-icon{display:grid;gap:5px;width:20px}.burger-icon i{display:block;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s,opacity .2s}.burger-icon.is-open i:nth-child(1){transform:translateY(7px) rotate(45deg)}.burger-icon.is-open i:nth-child(2){opacity:0}.burger-icon.is-open i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.drawer{position:fixed;top:0;left:0;bottom:0;width:min(300px,86vw);z-index:50;background:var(--paper);border-right:1px solid var(--line);padding:22px 16px calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column;overflow-y:auto;transform:translate(-100%);transition:transform .22s ease;visibility:hidden}.drawer.show{transform:none;visibility:visible;box-shadow:var(--shadow-pop)}.drawer nav{flex:1}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;background:#18181b66;opacity:0;pointer-events:none;transition:opacity .2s}.drawer-backdrop.show{opacity:1;pointer-events:auto}.main{flex:1;min-width:0;position:relative}@media (max-width: 900px){.app-shell{display:block}.sidebar{display:none}.mobilebar{display:flex}}.page-wrap{max-width:none;margin:0 auto;padding:32px 28px 72px}.page-wrap.wide{max-width:none}.page-wrap.home-wrap{max-width:1176px;padding:36px 32px 96px}.page-wrap.focus-wrap{max-width:1120px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:28px}.page-title{font-family:var(--display);font-size:40px;font-weight:700;line-height:1.05;letter-spacing:-.035em;color:var(--ink)}.page-sub{margin-top:8px;font-size:16px;color:var(--slate-600);max-width:62ch;line-height:1.6}.page-sub strong{color:var(--ink);font-weight:600}.section-title{font-family:var(--display);font-size:19px;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin:36px 0 14px}.week-head{display:flex;align-items:baseline;gap:14px;margin:34px 0 12px}.week-head h2{font-family:var(--display);font-size:19px;font-weight:600;color:var(--ink);letter-spacing:-.02em}.week-head:after{content:"";flex:1;height:1px;background:var(--line-strong)}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:20px 22px}.card+.card{margin-top:10px}.card-link{display:block;text-decoration:none;color:inherit;transition:border-color .15s,background .15s}.card-link:hover{border-color:var(--ink-3);text-decoration:none}.card-row{display:flex;align-items:center;gap:16px}.card-emoji{font-size:22px;width:46px;height:46px;border-radius:var(--r-sm);display:grid;place-items:center;background:var(--sheet);border:1px solid var(--line);flex-shrink:0}.card-title{font-size:16px;font-weight:600;color:var(--ink);letter-spacing:-.01em;line-height:1.35}.card-sub{font-size:14px;color:var(--slate-600);margin-top:3px;line-height:1.55}.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:10px;overflow:hidden}.stat{padding:18px 22px 16px;border-left:1px solid var(--line);margin-left:-1px}.stat-value{font-family:var(--display);font-size:34px;font-weight:700;line-height:1;letter-spacing:-.04em;color:var(--ink);font-variant-numeric:tabular-nums}.stat-label{font-size:13px;color:var(--slate-400);margin-top:8px}.level-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.level-card{display:block;width:100%;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 18px;font-family:inherit;color:inherit;cursor:pointer;transition:border-color .15s}.level-card:hover{border-color:var(--ink-3)}.level-card.owner{background:var(--marker-soft);border-color:#b9d3ff}.level-code{font-family:var(--display);font-size:26px;font-weight:700;color:var(--ink);letter-spacing:-.04em;line-height:1}.level-name{font-size:14px;color:var(--slate-600);margin-top:6px}.level-desc{font-size:13px;color:var(--slate-400);margin-top:6px;line-height:1.5}.level-count{display:inline-block;margin-top:12px;font-size:13px;font-weight:600;color:var(--ink-2)}.fold{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.fold+.fold{margin-top:8px}.fold.is-open{border-color:var(--line-strong)}.fold-head{width:100%;display:flex;align-items:center;gap:14px;padding:15px 18px;background:transparent;border:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.fold-head:hover{background:var(--sheet)}.fold-code{min-width:44px;height:44px;padding:0 8px;border-radius:var(--r-sm);display:grid;place-items:center;background:var(--sheet);border:1px solid var(--line);font-family:var(--display);font-size:17px;font-weight:700;letter-spacing:-.03em;color:var(--ink);flex-shrink:0}.fold.is-student .fold-code{background:var(--marker);border-color:transparent}.fold-title{font-weight:600;font-size:15.5px;color:var(--ink)}.fold-desc{font-size:13.5px;color:var(--slate-400);margin-top:2px}.fold-count{margin-left:auto;font-size:13px;color:var(--slate-600);white-space:nowrap;font-variant-numeric:tabular-nums}.fold-chevron{width:10px;height:10px;border-right:2px solid var(--slate-400);border-bottom:2px solid var(--slate-400);transform:rotate(45deg) translate(-2px,-2px);transition:transform .18s;flex-shrink:0;margin-left:6px}.fold.is-open .fold-chevron{transform:rotate(225deg) translate(-2px,-2px)}.fold-body{border-top:1px solid var(--line);background:var(--sheet);max-height:620px;overflow-y:auto}.fold-sub{padding:12px 18px 6px;font-size:13px;font-weight:600;color:var(--slate-600)}.fold-group-title{font-family:var(--display);font-size:19px;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin:32px 0 6px}.fold-group-title:first-child{margin-top:0}.fold-group-desc{font-size:14px;color:var(--slate-400);margin-bottom:12px}.ex-row{display:flex;align-items:center;gap:14px;padding:12px 18px;border-top:1px solid var(--line);background:var(--paper)}.fold-sub+.ex-row{border-top:none}.ex-row:first-child{border-top:none}.ex-row .card-emoji{width:38px;height:38px;font-size:18px}.ex-main{flex:1;min-width:200px}.ex-title{font-weight:600;font-size:14.5px;color:var(--ink)}.ex-meta{font-size:13px;color:var(--slate-400);margin-top:2px}.ex-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.ex-actions .select{width:132px;padding:7px 10px;font-size:13.5px}a.ex-row{text-decoration:none;color:inherit}a.ex-row:hover{background:var(--sheet)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--r-sm);padding:10px 18px;font-family:inherit;font-size:14.5px;font-weight:600;line-height:1.2;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .14s,border-color .14s,color .14s}.btn:hover{text-decoration:none}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover:not(:disabled){background:var(--ink-2)}.btn-gold{background:var(--marker);color:var(--ink)}.btn-gold:hover:not(:disabled){background:#5e9eff}.btn-ghost{background:var(--paper);border-color:var(--line-strong);color:var(--ink)}.btn-ghost:hover:not(:disabled){border-color:var(--ink)}.btn-danger{background:transparent;border-color:var(--red-line);color:var(--red)}.btn-danger:hover:not(:disabled){background:var(--red-soft);border-color:var(--red)}.btn-danger-solid{background:var(--red);color:#fff}.btn-danger-solid:hover:not(:disabled){background:#9a2a18}.btn-sm{padding:0 12px;min-height:36px;font-size:13.5px}.btn-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.icon-btn{width:32px;height:32px;display:inline-grid;place-items:center;border-radius:var(--r-sm);border:1px solid transparent;background:transparent;color:var(--slate-400);cursor:pointer;font-size:15px}.icon-btn:hover{color:var(--red);border-color:var(--red-line);background:var(--red-soft)}.field{margin-bottom:16px}.label{display:block;font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:6px}.input,.select,.textarea{width:100%;border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:10px 12px;font-family:inherit;font-size:15px;color:var(--ink);background:var(--paper);outline:none;transition:border-color .14s,box-shadow .14s}.input::placeholder,.textarea::placeholder{color:var(--slate-300)}.input:focus,.select:focus,.textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px #1d4ed824}.input:disabled,.textarea:disabled{background:var(--sheet);color:var(--slate-400)}.textarea{resize:vertical;min-height:130px;line-height:1.7}.textarea.tall{min-height:340px}.hint{font-size:13px;color:var(--slate-400);margin-top:6px;line-height:1.5}.form-grid{display:grid;gap:0 18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.checkbox-row{display:flex;align-items:center;gap:10px;font-size:14.5px;padding:9px 0;cursor:pointer}.checkbox-row input{width:17px;height:17px;accent-color:var(--ink);cursor:pointer}.checkbox-row .muted{margin-left:auto}.pick-list{max-height:300px;overflow-y:auto;border:1px solid var(--line);border-radius:var(--r-sm);padding:4px 14px;background:var(--sheet)}.pick-list .checkbox-row+.checkbox-row{border-top:1px solid var(--line)}.alert{border-radius:var(--r-sm);border:1px solid;padding:12px 15px;font-size:14.5px;line-height:1.55;margin-bottom:18px}.alert-error{background:var(--red-soft);color:#8e2414;border-color:var(--red-line)}.alert-success{background:var(--green-soft);color:#1c5c3b;border-color:var(--green-line)}.alert-info{background:var(--marker-soft);color:var(--ink);border-color:#b9d3ff}.empty{padding:44px 24px;color:var(--slate-600);font-size:14.5px;line-height:1.65;background:transparent;border:1px dashed var(--line-strong);border-radius:var(--r-md);text-align:center}.empty strong{display:block;font-family:var(--display);font-size:19px;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin-bottom:4px}.loading{padding:70px 20px;text-align:center;color:var(--slate-400);font-size:14.5px}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:var(--r-pill);padding:3px 10px;font-size:12.5px;font-weight:600;white-space:nowrap;border:1px solid transparent;line-height:1.5}.badge-neutral{background:var(--sheet);color:var(--slate-600);border-color:var(--line)}.badge-blue{background:var(--royal-soft);color:var(--marker-ink);border-color:var(--royal-line)}.badge-green{background:var(--green-soft);color:var(--green);border-color:var(--green-line)}.badge-amber{background:var(--amber-soft);color:var(--amber);border-color:var(--amber-line)}.badge-red{background:var(--red-soft);color:var(--red-ink);border-color:var(--red-line)}.badge-gold{background:var(--marker-soft);color:var(--marker-ink);border-color:var(--marker-line)}.bar{height:6px;background:#e6e8e1;border-radius:var(--r-pill);overflow:hidden}.bar-fill{height:100%;border-radius:var(--r-pill);background:var(--ink-2);transition:width .4s ease}.bar-fill.good{background:var(--green)}.bar-fill.mid{background:#c98a12}.bar-fill.low{background:var(--red)}.table-wrap{overflow:auto;max-height:560px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md)}table.data{width:100%;border-collapse:collapse;font-size:14.5px;min-width:560px}table.data th{text-align:left;font-size:13px;font-weight:600;color:var(--slate-400);padding:12px 16px;border-bottom:1px solid var(--line-strong);white-space:nowrap;background:var(--sheet);position:sticky;top:0;z-index:1}table.data td{padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--slate-600)}table.data td strong{font-weight:600;color:var(--ink)}table.data tr:last-child td{border-bottom:none}table.data tbody tr.clickable{cursor:pointer}table.data tbody tr.clickable:hover td{background:var(--sheet)}table.data td.actions{text-align:right;width:1%;white-space:nowrap}.tabbar{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:26px;border-bottom:1px solid var(--line-strong)}.tabbtn{position:relative;padding:10px 12px 12px;background:transparent;border:none;font-family:inherit;font-size:14.5px;font-weight:500;color:var(--slate-600);cursor:pointer;white-space:nowrap}.tabbtn:hover{color:var(--ink)}.tabbtn.active{color:var(--ink);font-weight:700}.tabbtn.active:after{content:"";position:absolute;left:6px;right:6px;bottom:-1px;height:3px;background:var(--accent-strong);border-radius:3px 3px 0 0}.muted{color:var(--slate-400);font-size:13.5px}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.92em}.mt-16{margin-top:16px}.mt-24{margin-top:26px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.prose{font-size:15.5px;line-height:1.75;color:var(--slate-600);max-width:70ch}.prose h1,.prose h2,.prose h3{font-family:var(--display);color:var(--ink);letter-spacing:-.02em;margin:24px 0 10px;font-weight:700}.prose p{margin-bottom:13px}.prose ul,.prose ol{margin:0 0 13px 22px}.prose img{max-width:100%;border-radius:var(--r-sm)}.essay-text{white-space:pre-wrap;font-size:16px;line-height:1.85;color:var(--ink);max-width:72ch}.html-frame{width:100%;min-height:70vh;border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper)}.code-block{background:var(--ink);color:#e4e9f5;padding:16px 18px;border-radius:var(--r-sm);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;line-height:1.7;overflow-x:auto}.score-card{text-align:center;padding:44px 28px}.score-big{font-family:var(--display);font-size:88px;font-weight:800;line-height:.9;letter-spacing:-.06em;color:var(--ink);display:inline-block;padding:0 .12em;background:linear-gradient(transparent 58%,var(--marker) 58%,var(--marker) 92%,transparent 92%)}.score-big.mid{color:var(--amber)}.score-big.low{color:var(--red);background:none}.score-caption{font-size:15.5px;color:var(--slate-600);margin-top:14px}.answer-row{padding:13px 0;border-bottom:1px solid var(--line)}.answer-row:last-child{border-bottom:none}.call-screen{min-height:calc(100vh - var(--topbar-h));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:80px 20px calc(30px + env(safe-area-inset-bottom));background:var(--ink);color:#fff}.call-top{position:absolute;top:22px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 28px;max-width:820px;margin:0 auto}.call-topic{font-family:var(--display);font-size:18px;font-weight:600;color:#fff}.call-clock{display:inline-block;margin-left:12px;padding:2px 10px;border-radius:var(--r-pill);background:#ffffff1a;font-family:var(--text);font-size:13px;font-variant-numeric:tabular-nums;color:#ffffffbf}.call-clock.low{background:var(--red);color:#fff}.call-toggle{display:flex;align-items:center;gap:10px;font-size:13.5px;color:#ffffffb3;cursor:pointer;-webkit-user-select:none;user-select:none}.call-toggle input{position:absolute;opacity:0;pointer-events:none}.call-toggle-track{width:42px;height:24px;border-radius:var(--r-pill);background:#ffffff2e;position:relative;transition:background .18s}.call-toggle-dot{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .18s}.call-toggle input:checked+.call-toggle-track{background:var(--marker)}.call-toggle input:checked+.call-toggle-track .call-toggle-dot{transform:translate(18px);background:var(--ink)}.call-toggle input:focus-visible+.call-toggle-track{outline:2px solid var(--marker);outline-offset:3px}.orb{position:relative;width:188px;height:188px;display:grid;place-items:center}.orb-core{width:112px;height:112px;border-radius:50%;background:#eef1f8;box-shadow:0 0 0 10px #ffffff0f;transition:transform .4s ease,background .3s}.orb-ring{position:absolute;width:138px;height:138px;border-radius:50%;border:2px solid rgba(255,255,255,.3);opacity:0}.orb-ring-2{width:176px;height:176px}@keyframes orbPulse{0%{transform:scale(.86);opacity:.7}70%,to{transform:scale(1.14);opacity:0}}@keyframes orbBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.orb-speaking .orb-ring{animation:orbPulse 1.9s ease-out infinite}.orb-speaking .orb-ring-2{animation-delay:.55s}.orb-speaking .orb-core{animation:orbBreathe 1.9s ease-in-out infinite;background:#fff}.orb-listening .orb-core{background:var(--marker);animation:orbBreathe 3.4s ease-in-out infinite;box-shadow:0 0 0 12px #7db2ff24}.orb-listening .orb-ring{border-color:#7db2ff80;animation:orbPulse 3.4s ease-out infinite}.orb-thinking .orb-core,.orb-connecting .orb-core{background:#5b5b65;animation:orbBreathe 1.1s ease-in-out infinite}.orb-ended .orb-core{opacity:.4}.call-state{font-size:15px;color:#ffffffb8;min-height:22px}.call-whisper{min-height:20px;color:#ffffff59}.captions{width:min(620px,100%);max-height:34vh;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:18px;border-radius:var(--r-md);background:#ffffff0f}.captions p{font-size:15px;line-height:1.6;color:#ffffffe6}.captions p span{display:block;font-size:12px;color:#ffffff73;margin-bottom:2px}.caption-student{color:var(--marker)!important}.caption-partial{opacity:.55;font-style:italic}.call-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}.call-btn{display:inline-flex;align-items:center;gap:9px;padding:12px 20px;border-radius:var(--r-pill);background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;font:inherit;font-size:14.5px;font-weight:500;cursor:pointer}.call-btn:hover:not(:disabled){background:#ffffff2e}.call-btn:disabled{opacity:.5;cursor:not-allowed}.call-btn-icon{font-size:16px}.call-btn-end{background:var(--red);border-color:var(--red);font-weight:600}.call-btn-end:hover:not(:disabled){background:#d44a38}.call-speed{display:flex;gap:4px;padding:4px;border-radius:var(--r-pill);background:#ffffff14}.speed-btn{padding:8px 14px;border:none;border-radius:var(--r-pill);background:transparent;color:#ffffffa6;font:inherit;font-size:13.5px;cursor:pointer}.speed-btn:hover{color:#fff}.speed-btn.active{background:#fff;color:var(--ink);font-weight:600}.call-leave{background:none;border:none;color:#ffffff73;font:inherit;font-size:13.5px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.call-leave:hover{color:#fff}.topic-sheet{width:min(620px,100%);padding:18px;border-radius:var(--r-md);background:#ffffff12;color:#fff}.topic-sheet .btn-ghost{background:transparent;border-color:#ffffff4d;color:#fff}.topic-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.topic-chip{display:grid;gap:3px;text-align:left;padding:14px 16px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--paper);font-family:inherit;cursor:pointer;transition:border-color .15s}.topic-chip:hover:not(:disabled){border-color:var(--ink)}.topic-chip:disabled{opacity:.5;cursor:not-allowed}.topic-code{font-size:12.5px;font-weight:700;color:var(--ink-3)}.topic-name{font-size:15px;font-weight:600;color:var(--ink)}.topic-focus{font-size:13px;color:var(--slate-400);line-height:1.45}.topic-sheet .topic-chip{background:#ffffff0f;border-color:#ffffff24}.topic-sheet .topic-name{color:#fff}.topic-sheet .topic-code{color:var(--marker)}.topic-sheet .topic-focus{color:#ffffff8c}.fix-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px}.fix-label{font-size:13px;font-weight:600;color:var(--slate-400);margin-bottom:4px}.fix-said{font-size:16px;line-height:1.6;color:var(--slate-600);text-decoration:line-through;text-decoration-color:var(--red);text-decoration-thickness:2px}.fix-ok{font-size:16px;line-height:1.6;color:var(--ink);font-weight:600}.fix-arrow{font-size:20px;color:var(--red)}.fix-why{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:14.5px;line-height:1.65;color:var(--slate-600)}.review-prompt{font-size:19px;line-height:1.55;color:var(--ink);margin-bottom:6px}.review-answer{margin-top:12px;padding:13px 15px;border-radius:var(--r-sm);background:var(--green-soft);border:1px solid var(--green-line);font-size:16px;font-weight:600;color:var(--green)}.review-context{margin-bottom:16px;padding:12px 14px;border-radius:var(--r-sm);background:var(--sheet);border:1px solid var(--line);display:grid;gap:6px}.review-context-row{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.review-context-label{min-width:64px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--slate-400)}.review-context-value{font-size:15px;font-weight:600;color:var(--ink)}.review-rule{margin-top:4px}.review-rule summary{cursor:pointer;font-size:13.5px;color:var(--ink-2);font-weight:600}.review-rule-body{margin-top:8px;font-size:14px;line-height:1.65;color:var(--slate-600)}.review-compare{display:grid;gap:12px;margin-top:14px}.review-compare .review-answer{margin-top:0}.review-given{padding:13px 15px;border-radius:var(--r-sm);background:var(--red-soft);border:1px solid var(--red-line);font-size:16px;color:var(--ink);white-space:pre-wrap;word-break:break-word}.review-given.is-empty{color:var(--slate-400);font-style:italic}.diff-bad{background:transparent;color:var(--red);font-weight:700;text-decoration:underline wavy var(--red);text-underline-offset:3px}.diff-good{background:transparent;color:var(--green);font-weight:800;text-decoration:underline;text-underline-offset:3px}.assess-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.assess-card{display:block;text-align:left;width:100%;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:22px;cursor:pointer;font-family:inherit;color:inherit;transition:border-color .15s}.assess-card:hover{border-color:var(--ink)}.assess-card.intermediate{background:var(--marker-soft);border-color:#b9d3ff}.assess-emoji{font-size:28px;margin-bottom:8px}.assess-title{font-family:var(--display);font-size:21px;font-weight:700;letter-spacing:-.03em;color:var(--ink)}.assess-range{display:inline-block;margin-top:6px}.assess-desc{font-size:14px;color:var(--slate-600);line-height:1.55;margin-top:10px}.assess-meta{display:flex;gap:14px;margin-top:14px;font-size:13px;color:var(--slate-400)}.assess-history-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.assess-history-row:last-child{border-bottom:none}.assess-steps{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:22px}.assess-step{padding:7px 14px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-pill);font-size:13.5px;color:var(--slate-400);display:inline-flex;align-items:center;gap:6px}.assess-step.current{background:var(--marker);border-color:transparent;color:var(--ink);font-weight:700}.assess-step.done{color:var(--green);border-color:var(--green-line);background:var(--green-soft)}.timer-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--r-pill);background:var(--ink);color:#fff;font-size:13px;font-variant-numeric:tabular-nums;font-weight:600}.mcq-options{display:grid;gap:8px;margin-top:10px}.mcq-option{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--paper);font-family:inherit;font-size:15px;color:var(--ink);text-align:left;cursor:pointer}.mcq-option:hover{border-color:var(--ink)}.mcq-option.selected{border-color:var(--ink);background:var(--marker-soft);font-weight:600}.mcq-option .dot{width:17px;height:17px;border-radius:50%;border:1.5px solid var(--slate-300);flex-shrink:0;display:grid;place-items:center}.mcq-option.selected .dot{border-color:var(--ink);background:var(--ink)}.mcq-option.selected .dot:after{content:"";width:7px;height:7px;border-radius:50%;background:var(--marker)}.listen-card{border:1px solid var(--line);border-radius:var(--r-md);padding:18px;background:var(--sheet)}.listen-play{display:inline-flex;align-items:center;gap:10px;padding:11px 20px;border-radius:var(--r-pill);background:var(--ink);color:#fff;border:none;font:inherit;font-size:14.5px;font-weight:600;cursor:pointer}.listen-play:hover:not(:disabled){background:var(--ink-2)}.listen-play:disabled{opacity:.6;cursor:not-allowed}.listen-play.speaking{background:var(--marker);color:var(--ink)}.listen-plays-left{font-size:13px;color:var(--slate-400);margin-top:8px}.confirm-box{border:1px solid #B9D3FF;background:var(--marker-soft);border-radius:var(--r-md);padding:18px 20px}.confirm-check{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:15px;line-height:1.55;color:var(--ink)}.confirm-check input{width:19px;height:19px;margin-top:2px;accent-color:var(--ink);cursor:pointer;flex-shrink:0}.score-ring-wrap{display:flex;align-items:center;gap:24px;flex-wrap:wrap;justify-content:center}.score-ring{position:relative;width:156px;height:156px;flex-shrink:0}.score-ring svg{transform:rotate(-90deg)}.score-ring-value{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;align-content:center;font-family:var(--display);font-size:36px;font-weight:800;letter-spacing:-.04em;color:var(--ink)}.score-ring-value span{display:block;font-family:var(--text);font-size:12px;font-weight:500;letter-spacing:0;color:var(--slate-400);margin-top:2px;text-align:center}.cat-bar-list{display:grid;gap:14px}.cat-bar-row{display:grid;grid-template-columns:1fr 46px;gap:10px;align-items:center}.cat-bar-top{display:flex;justify-content:space-between;font-size:14px;margin-bottom:6px}.cat-bar-pct{font-size:14px;font-weight:700;text-align:right;font-variant-numeric:tabular-nums}.sw-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.sw-col-title{font-size:14px;font-weight:700;margin-bottom:8px;display:flex;align-items:center;gap:7px}.sw-item{display:flex;align-items:flex-start;gap:9px;padding:10px 0;font-size:14.5px;color:var(--slate-600);border-bottom:1px solid var(--line)}.sw-item:last-child{border-bottom:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#18181b80;display:flex;align-items:center;justify-content:center;padding:20px}.modal-panel{width:min(560px,100%);max-height:88vh;overflow-y:auto;background:var(--paper);border-radius:var(--r-lg);padding:26px;box-shadow:var(--shadow-pop)}.modal-panel.narrow{width:min(440px,100%)}.modal-panel.wide{width:min(820px,100%)}.preview-rule{background:var(--royal-soft);border:1px solid var(--royal-line);border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.6;color:var(--ink-2);margin-bottom:14px}.preview-list{margin:0;padding-left:22px}.preview-q{padding:12px 0;border-top:1px solid var(--line);font-size:14.5px;line-height:1.5}.preview-q:first-child{border-top:none;padding-top:4px}.preview-ph{font-size:13px;color:var(--slate-400);margin-top:4px}.preview-answers{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.preview-answers .badge{white-space:normal;text-align:left;font-weight:500}.modal-title{font-family:var(--display);font-size:22px;font-weight:700;letter-spacing:-.03em;color:var(--ink)}.modal-text{margin-top:10px;font-size:15px;line-height:1.6;color:var(--slate-600)}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:22px;flex-wrap:wrap}@media (max-width: 900px){:root{--topbar-h: 58px}.page-wrap,.page-wrap.wide{padding:22px 16px 72px}.page-head{flex-direction:column;align-items:stretch;gap:16px;margin-bottom:22px}.page-title{font-size:30px}.page-sub{font-size:14.5px}.page-head .btn{width:100%}.card{padding:16px}.card-row{gap:12px;flex-wrap:wrap}.card-emoji{width:42px;height:42px;font-size:20px}.card-row>.btn{flex:1 1 auto;min-width:44%}.stat-grid{grid-template-columns:1fr 1fr}.stat{padding:14px 16px;border-top:1px solid var(--line);margin-top:-1px}.stat-value{font-size:28px}.level-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.btn{padding:12px 16px}.btn-sm{padding:9px 12px}.btn-row .btn{flex:1 1 auto}.input,.select,.textarea{font-size:16px}.tabbar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-left:-16px;margin-right:-16px;padding:0 10px}.tabbar::-webkit-scrollbar{display:none}.tabbtn{font-size:14px}.fold-head{padding:13px 14px;gap:12px}.fold-code{min-width:40px;height:40px;font-size:15px}.fold-desc{display:none}.ex-row{flex-wrap:wrap;padding:12px 14px}.ex-main{min-width:0;flex:1 1 60%}.ex-actions{width:100%;justify-content:flex-start}.ex-actions .select{width:100%}.table-wrap{border:none;background:transparent;overflow:visible}table.data{min-width:0;display:block}table.data thead{display:none}table.data tbody{display:block}table.data tr{display:block;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;margin-bottom:8px}table.data td{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:6px 0;border:none;text-align:right}table.data td:before{content:attr(data-label);flex-shrink:0;font-size:13px;font-weight:600;color:var(--slate-400);text-align:left}table.data td:empty{display:none}table.data td .bar{width:90px!important}table.data td.actions{width:auto;justify-content:flex-end}.card-row .select{width:100%!important}.hide-on-phone{display:none}.call-top{padding:0 14px;top:14px}.call-screen{gap:18px;padding-top:74px}.orb{width:150px;height:150px}.orb-core{width:92px;height:92px}.orb-ring{width:112px;height:112px}.orb-ring-2{width:142px;height:142px}.call-controls{width:100%;flex-direction:column}.call-btn,.call-speed{width:100%;justify-content:center}.captions{max-height:26vh}.topic-grid{grid-template-columns:1fr}.fix-grid{grid-template-columns:1fr;gap:8px}.fix-arrow{transform:rotate(90deg);justify-self:start}.review-prompt{font-size:17px}.score-big{font-size:68px}.score-card{padding:32px 20px}.html-frame{min-height:62vh}.textarea.tall{min-height:260px}.assess-grid{grid-template-columns:1fr}.assess-step{padding:7px 11px;font-size:13px;flex:1 1 auto;justify-content:center}.score-ring-wrap{flex-direction:column}.cat-bar-row{grid-template-columns:1fr 40px}.sw-grid{grid-template-columns:1fr}.modal-panel{padding:20px;max-height:92vh}.modal-actions .btn{flex:1 1 auto}}@media (max-width: 380px){.stat-grid,.level-grid{grid-template-columns:1fr}.card-row>.btn{min-width:100%}}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}label.btn{cursor:pointer}label.btn.is-busy{opacity:.6;cursor:progress}label.btn:focus-within{outline:2px solid var(--ink-2);outline-offset:2px}.seg{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--paper)}.seg-btn{white-space:nowrap;padding:7px 14px;border:none;border-radius:var(--r-pill);background:transparent;font:inherit;font-size:14px;color:var(--slate-600);cursor:pointer}.seg-btn:hover{color:var(--ink)}.seg-btn.active{background:var(--ink);color:#fff;font-weight:600}.seg-btn:focus-visible,.outcome-btn:focus-visible{outline:2px solid var(--ink-2);outline-offset:2px}.plan-sheet{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:28px 30px 24px}.fold-body .plan-sheet{border:none;border-radius:0;padding:18px 22px 20px;background:var(--paper)}.plan-head{padding-bottom:18px;border-bottom:2px solid var(--ink)}.plan-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.plan-topic{margin-top:12px;font-family:var(--display);font-size:30px;font-weight:700;line-height:1.1;letter-spacing:-.03em;color:var(--ink);max-width:28ch}.plan-asked{margin-top:8px;font-size:14.5px;color:var(--slate-600);font-style:italic}.plan-outcome{margin-top:18px;padding:14px 16px;background:var(--green-soft);border:1px solid var(--green-line);border-radius:var(--r-sm);font-size:14.5px;color:#1c5c3b}.plan-outcome p{margin-top:4px;line-height:1.6;white-space:pre-line}.plan-sec{padding:20px 0;border-bottom:1px solid var(--line)}.plan-sec:last-of-type{border-bottom:none}.plan-h{font-family:var(--display);font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--ink);margin-bottom:8px}.plan-p{font-size:15px;line-height:1.7;color:var(--slate-600);max-width:72ch}.plan-p+.plan-list{margin-top:10px}.plan-list{list-style:none;display:grid;gap:6px;max-width:72ch}.plan-list li{position:relative;padding-left:18px;font-size:14.5px;line-height:1.6;color:var(--slate-600)}.plan-list li:before{content:"";position:absolute;left:2px;top:.68em;width:7px;height:2px;background:var(--ink-3)}.plan-outline{list-style:none;position:relative;margin-top:6px}.plan-outline:before{content:"";position:absolute;left:58px;top:0;bottom:0;width:2px;background:var(--red);opacity:.55}.plan-outline li{display:grid;grid-template-columns:58px 1fr;gap:0;padding:10px 0}.plan-outline li+li{border-top:1px dashed var(--line)}.plan-min{font-family:var(--display);font-size:20px;font-weight:700;color:var(--red);text-align:right;padding-right:14px;line-height:1.2;font-variant-numeric:tabular-nums}.plan-outline li>div{padding-left:18px}.plan-outline strong{font-size:15px;color:var(--ink)}.plan-outline p{margin-top:3px;font-size:14.5px;line-height:1.65;color:var(--slate-600);max-width:68ch}.plan-two{display:grid;grid-template-columns:1fr 1fr;gap:28px}.plan-target{list-style:none;display:grid;gap:6px}.plan-target li{justify-self:start;padding:3px 8px;background:var(--marker-soft);box-shadow:inset 0 -.42em 0 var(--marker);font-size:15px;color:var(--ink);line-height:1.5}.plan-chips{display:flex;flex-wrap:wrap;gap:6px}.plan-chip{padding:4px 10px;border:1px solid var(--line-strong);border-radius:var(--r-pill);font-size:13.5px;color:var(--ink);background:var(--sheet)}.plan-homework{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.plan-homework+.plan-p{margin-top:10px}.plan-foot{margin-top:6px;padding-top:16px;border-top:1px solid var(--line);display:grid;gap:14px}.plan-done-form{padding:18px;background:var(--sheet);border:1px solid var(--line);border-radius:var(--r-md)}.outcome-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.outcome-btn{display:grid;gap:2px;text-align:left;padding:12px 14px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--paper);font:inherit;cursor:pointer}.outcome-btn strong{font-size:14.5px;color:var(--ink)}.outcome-btn span{font-size:12.5px;color:var(--slate-400)}.outcome-btn:hover{border-color:var(--ink)}.outcome-btn.active{border-color:var(--ink);background:var(--marker-soft);box-shadow:inset 0 0 0 1px var(--ink)}.plan-history{display:grid;gap:8px}.plan-history .fold-chevron{margin-left:auto}.import-preview{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.import-preview-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}.import-score{display:flex;gap:6px;flex-wrap:wrap}.import-facts{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:14px;font-size:14px;color:var(--slate-600)}.import-facts li:before{content:"•";margin-right:7px;color:var(--ink-3);font-weight:700}.original-panel{width:min(980px,100%);height:88vh;display:flex;flex-direction:column;gap:14px}.original-frame{flex:1;width:100%;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--mist)}.report-comment{font-size:15px;line-height:1.7;color:var(--slate-600);white-space:pre-line}@media (max-width: 900px){.plan-sheet{padding:20px 16px}.plan-topic{font-size:24px}.plan-two{grid-template-columns:1fr;gap:20px}.outcome-row{grid-template-columns:1fr}.plan-outline:before{left:44px}.plan-outline li{grid-template-columns:44px 1fr}.plan-min{font-size:17px;padding-right:10px}.plan-outline li>div{padding-left:14px}.original-panel{height:92vh;padding:16px}.seg{width:100%}.seg-btn{flex:1;padding:8px 6px}}.ai-now{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--ink);border-radius:var(--r-md)}.ai-dot{width:12px;height:12px;margin-top:5px;border-radius:50%;background:var(--red);flex-shrink:0}.ai-dot.on{background:var(--green)}.ai-now-label{font-size:13px;font-weight:600;color:var(--slate-400)}.ai-now-value{font-family:var(--display);font-size:20px;font-weight:700;color:var(--ink);letter-spacing:-.02em;margin:2px 0}.provider-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.provider-grid.two{grid-template-columns:1fr 1fr}.model-row{display:flex;gap:8px}.model-row .input{flex:1;min-width:0}.chip-btn{font:inherit;font-size:13px;cursor:pointer}.chip-btn:hover{border-color:var(--ink)}.chip-btn.active{background:var(--ink);border-color:var(--ink);color:#fff}details>summary.summary{cursor:pointer;list-style-position:inside}.ai-line{margin:4px 0 14px}.plan-request{margin-top:10px}.plan-request .plan-asked{margin-top:0}.plan-check{margin-top:4px;font-size:14px;color:var(--green);line-height:1.55}.plan-check:before{content:"✓ ";font-weight:700}.plan-alts{list-style:none;display:grid;gap:8px}.plan-alts li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm)}.plan-alts li>div{display:grid;gap:2px;min-width:0}.plan-alts strong{font-size:14.5px;color:var(--ink)}.plan-alts span{font-size:13.5px;color:var(--slate-600);line-height:1.5}@media (max-width: 900px){.provider-grid,.provider-grid.two{grid-template-columns:1fr}.model-row{flex-direction:column}.plan-alts li{flex-direction:column;align-items:stretch}}.field-wide{grid-column:span 2}.plan-pre{white-space:pre-line}.plan-stack{display:grid;gap:14px}.section-count{margin-left:10px;font-family:var(--text);font-size:13.5px;font-weight:500;color:var(--slate-400);letter-spacing:0}.fold.is-muted .fold-title{color:var(--slate-400)}.link-btn{padding:0;border:none;background:none;font:inherit;font-weight:600;color:var(--ink-2);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.link-btn:hover{color:var(--ink)}.link-btn:focus-visible{outline:2px solid var(--ink-2);outline-offset:2px}@media (max-width: 900px){.field-wide{grid-column:auto}}.agenda-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px 20px;flex-wrap:wrap;margin-bottom:18px}.agenda-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.agenda-arrow{width:36px;height:36px;font-size:22px;line-height:1;color:var(--ink);border-color:var(--line-strong);background:var(--paper)}.agenda-arrow:hover{color:var(--ink);border-color:var(--ink);background:var(--paper)}.agenda-arrow:focus-visible{outline:2px solid var(--ink-2);outline-offset:2px}.agenda-period{font-family:var(--display);font-size:24px;font-weight:700;letter-spacing:-.03em;color:var(--ink);margin-left:4px}.agenda-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--r-md);overflow:hidden;transition:opacity .15s}.agenda-week.is-loading,.agenda-month.is-loading{opacity:.55}.agenda-day{display:flex;flex-direction:column;min-height:420px;min-width:0}.agenda-day+.agenda-day{border-left:1px solid var(--line)}.agenda-day.is-past .agenda-day-body{background:var(--sheet)}.agenda-day-head{position:relative;display:flex;align-items:baseline;gap:6px;padding:12px 12px 10px;border-bottom:2px solid var(--ink)}.agenda-wd{font-size:13px;font-weight:600;color:var(--slate-400)}.agenda-num{font-family:var(--display);font-size:26px;font-weight:700;line-height:1;letter-spacing:-.04em;color:var(--ink)}.agenda-day.is-past .agenda-num{color:var(--slate-400)}.agenda-day.is-today .agenda-num{background:var(--marker);border-radius:5px;padding:2px 5px}.agenda-day.is-today .agenda-day-body{background:#f5f9ff}.agenda-today{font-size:12.5px;font-weight:700;color:var(--marker-ink)}@media (min-width: 1181px){.agenda-today{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}.agenda-add{margin-left:auto;align-self:center;flex-shrink:0;width:26px;height:26px;border-radius:50%;border:1px solid var(--line-strong);background:var(--paper);color:var(--ink-3);font-size:17px;line-height:1;cursor:pointer}.agenda-add:hover{border-color:var(--ink);color:var(--ink)}.agenda-add:focus-visible{outline:2px solid var(--ink-2);outline-offset:2px}.agenda-day-body{flex:1;display:flex;flex-direction:column;gap:6px;padding:10px 8px 12px}.agenda-item,.agenda-plan{display:grid;gap:1px;width:100%;min-width:0;padding:8px 9px 8px 10px;text-align:left;font:inherit;color:inherit;text-decoration:none;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer}.agenda-item:hover,.agenda-plan:hover{border-color:var(--ink-3);text-decoration:none}.agenda-item:focus-visible,.agenda-plan:focus-visible,.agenda-free:focus-visible,.agenda-cell-num:focus-visible,.agenda-more:focus-visible{outline:2px solid var(--ink-2);outline-offset:2px}.agenda-item.is-lesson{border-left:3px solid var(--ink)}.agenda-item.is-other{border-left:3px solid var(--line-strong);background:var(--sheet)}.agenda-time{font-size:12.5px;font-weight:700;color:var(--ink-2);font-variant-numeric:tabular-nums}.agenda-name{font-size:14px;font-weight:600;line-height:1.3;color:var(--ink);overflow-wrap:anywhere}.agenda-extra{font-size:12.5px;color:var(--slate-400);line-height:1.35;overflow-wrap:anywhere}.agenda-plan-tag{margin-top:5px;padding:2px 6px;justify-self:start;font-size:12px;line-height:1.4;color:var(--marker-ink);background:var(--marker-soft);border-radius:4px;overflow-wrap:anywhere}.agenda-plan{border-style:dashed;border-color:#e2d27a;background:var(--marker-soft)}.agenda-plan .agenda-time{color:var(--marker-ink)}.agenda-plan.is-done{border-color:var(--green-line);background:var(--green-soft)}.agenda-plan.is-done .agenda-time{color:var(--green)}.agenda-free{flex:1;min-height:60px;border:none;background:transparent;border-radius:var(--r-sm);font:inherit;font-size:13px;color:transparent;cursor:pointer}.agenda-free:hover,.agenda-free:focus-visible{color:var(--slate-400);background:var(--sheet)}.agenda-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--r-md);overflow:hidden;transition:opacity .15s}.agenda-month-wd{padding:9px 10px;font-size:13px;font-weight:600;color:var(--slate-400);border-bottom:2px solid var(--ink)}.agenda-cell{position:relative;min-height:118px;padding:6px 6px 8px;border-top:1px solid var(--line);min-width:0}.agenda-month-wd+.agenda-cell,.agenda-cell:nth-child(-n+14){border-top:none}.agenda-cell:not(:nth-child(7n+1)){border-left:1px solid var(--line)}.agenda-cell.is-outside{background:var(--sheet)}.agenda-cell.is-outside .agenda-cell-num{color:var(--slate-300)}.agenda-cell-num{display:inline-block;padding:2px 5px;margin-bottom:4px;border:none;background:none;border-radius:4px;font-family:var(--display);font-size:16px;font-weight:700;letter-spacing:-.03em;color:var(--ink);cursor:pointer}.agenda-cell-num:hover{background:var(--sheet)}.agenda-cell.is-today .agenda-cell-num{background:var(--marker)}.agenda-cell-items{display:grid;gap:3px}.agenda-cell .agenda-item,.agenda-cell .agenda-plan{display:flex;gap:5px;align-items:baseline;padding:3px 6px;border-radius:4px}.agenda-cell .agenda-item.is-lesson{border-left-width:2px}.agenda-cell .agenda-name{font-size:12.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-cell .agenda-time{font-size:11.5px;flex-shrink:0}.agenda-more{justify-self:start;padding:1px 6px;border:none;background:none;font:inherit;font-size:12.5px;font-weight:600;color:var(--ink-2);cursor:pointer}.agenda-dots{display:none}.agenda-modal{width:min(600px,100%)}.agenda-when{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:0 12px}.agenda-repeat{max-width:220px;margin-top:4px}.agenda-scope{padding:14px;background:var(--marker-soft);border-radius:var(--r-sm)}.agenda-links{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;padding:12px 0 0;border-top:1px solid var(--line);font-size:14px;color:var(--slate-600)}.agenda-links a{font-weight:600}.agenda-delete{margin-right:auto}.agenda-confirm{margin-top:20px;padding:14px;border:1px solid var(--red-line);background:var(--red-soft);border-radius:var(--r-sm);font-size:14.5px;color:#8e2414}@media (max-width: 1180px){.agenda-week{grid-template-columns:1fr}.agenda-day{min-height:0;flex-direction:row}.agenda-day+.agenda-day{border-left:none;border-top:1px solid var(--line)}.agenda-day-head{flex-direction:column;align-items:flex-start;gap:2px;width:92px;flex-shrink:0;border-bottom:none;border-right:2px solid var(--ink)}.agenda-add{margin-left:0;margin-top:6px;align-self:flex-start}.agenda-day-body{flex-direction:row;flex-wrap:wrap;align-content:flex-start}.agenda-day-body .agenda-item,.agenda-day-body .agenda-plan{width:auto;flex:1 1 220px;max-width:340px}.agenda-free{min-height:40px;color:var(--slate-300);text-align:left;padding:0 6px}}@media (max-width: 900px){.agenda-period{font-size:20px;margin-left:0}.agenda-toolbar .seg{width:auto}.agenda-day-head{width:74px;padding:10px}.agenda-num{font-size:22px}.agenda-day-body{padding:8px}.agenda-day-body .agenda-item,.agenda-day-body .agenda-plan{flex-basis:100%;max-width:none}.agenda-when{grid-template-columns:1fr 1fr}.agenda-when .field:first-child{grid-column:span 2}.agenda-cell{min-height:58px;padding:4px;text-align:center}.agenda-cell-items{display:none}.agenda-cell-num{font-size:15px;margin-bottom:2px}.agenda-dots{display:flex;justify-content:center;gap:3px}.agenda-dots i{width:5px;height:5px;border-radius:50%;background:var(--ink-2)}.agenda-month-wd{padding:8px 4px;text-align:center;font-size:12px}}.plan-outcome.is-partial{background:var(--marker-soft);border-color:#b9d3ff;color:var(--ink)}.plan-outcome.is-review{background:var(--amber-soft);border-color:var(--amber-line);color:var(--amber)}.pr-levels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:22px}.pr-level{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px 14px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);font:inherit;text-align:left;cursor:pointer;overflow:hidden}.pr-level:hover{border-color:var(--ink-3)}.pr-level.active{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.pr-level.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--marker)}.pr-level-code{font-family:var(--display);font-size:24px;font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--ink)}.pr-level-cap{font-size:13px;color:var(--slate-400)}.pr-level.used .pr-level-cap{color:var(--ink-2);font-weight:600}.pr-level-own{font-size:12px;color:var(--marker-ink)}.pr-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}.pr-title{font-family:var(--display);font-size:26px;font-weight:700;letter-spacing:-.03em;line-height:1.15;color:var(--ink);margin-bottom:4px}.pr-status{white-space:nowrap}.pr-status.is-error{color:var(--red);font-weight:600}.pr-guide{overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:16px}.pr-guide>summary{padding:12px 18px;font-weight:600;color:var(--ink);cursor:pointer}.pr-guide[open]>summary{border-bottom:1px solid var(--line)}.pr-guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:0;margin:0 -1px -1px 0}.pr-guide-item{padding:14px 18px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.pr-guide-sound{font-weight:700;color:var(--ink);font-size:14.5px}.pr-guide-words{font-size:14px;color:var(--ink-2);margin-top:2px}.pr-guide-tip{font-size:13.5px;color:var(--slate-600);margin-top:6px;line-height:1.5}.pr-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.pr-sheet{--rule: 38px;position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:22px 34px 34px 54px}.pr-sheet:before{content:"";position:absolute;top:0;bottom:0;left:38px;width:1px;background:var(--red-line)}.pr-sheet-hint{font-size:13px;color:var(--slate-400);margin-bottom:10px}.pr-text{font-size:19px;line-height:var(--rule);color:var(--ink);white-space:pre-wrap;max-width:68ch;cursor:text;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--rule) - 1px),var(--line) calc(var(--rule) - 1px),var(--line) var(--rule));background-position:0 -5px}.pr-mark{background:linear-gradient(transparent 22%,var(--marker) 22%,var(--marker) 86%,transparent 86%);text-decoration:underline wavy var(--red);text-decoration-thickness:1.5px;text-underline-offset:5px;text-decoration-skip-ink:none;border-radius:2px;cursor:pointer}.pr-mark.active{background:linear-gradient(transparent 14%,#5E9EFF 14%,#5E9EFF 92%,transparent 92%);box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--ink)}.pr-mark.resolved{background:linear-gradient(transparent 22%,var(--green-soft) 22%,var(--green-soft) 86%,transparent 86%);text-decoration:underline solid var(--green);text-decoration-thickness:1.5px}.pr-pending{background:var(--marker-soft);outline:1.5px dashed var(--ink-3);outline-offset:1px;border-radius:2px}.pr-composer{background:var(--paper);border:1px solid var(--ink);border-radius:var(--r-md);padding:12px 14px;cursor:default}.pr-composer.floating{position:absolute;z-index:20;width:min(360px,calc(100% - 16px));box-shadow:var(--shadow-pop)}.pr-composer.is-measuring{visibility:hidden}.pr-composer-quote{font-size:15px;font-weight:600;color:var(--ink);margin-bottom:8px}.pr-composer-quote mark{background:var(--marker);color:inherit;padding:0 3px;border-radius:2px}.pr-composer-text{min-height:70px;font-size:14.5px;line-height:1.5;margin-top:8px}.pr-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;flex-wrap:wrap}.pr-tags{display:flex;flex-wrap:wrap;gap:5px}.pr-tag{padding:3px 10px;border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--paper);font:inherit;font-size:12.5px;color:var(--slate-600);cursor:pointer}.pr-tag:hover{border-color:var(--ink);color:var(--ink)}.pr-tag.active{background:var(--ink);border-color:var(--ink);color:#fff}.pr-side{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow-y:auto;padding-bottom:4px}.pr-side-head{margin-bottom:10px}.pr-count{font-size:15px;color:var(--ink)}.pr-count strong{font-family:var(--display);font-size:22px;letter-spacing:-.02em;margin-right:2px}.pr-tag-summary{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.pr-empty{padding:18px;border:1px dashed var(--line-strong);border-radius:var(--r-md);font-size:14px;line-height:1.6;color:var(--slate-600)}.pr-comments{list-style:none;display:grid;gap:8px}.pr-comment{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:11px 14px 10px;cursor:pointer}.pr-comment:hover{border-color:var(--ink-3)}.pr-comment.active{border-color:var(--ink);box-shadow:inset 4px 0 0 var(--marker)}.pr-comment.resolved .pr-comment-quote{background:var(--green-soft)}.pr-comment.resolved .pr-comment-text{color:var(--slate-400)}.pr-comment-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pr-comment-quote{background:var(--marker);color:var(--ink);font-weight:600;padding:0 4px;border-radius:2px}.pr-comment-day{margin-left:auto;font-size:12px;color:var(--slate-400)}.pr-comment-text{font-size:14px;line-height:1.5;color:var(--slate-600);margin-top:6px;white-space:pre-wrap}.pr-comment-actions{display:flex;align-items:center;gap:14px;margin-top:8px;font-size:13px;flex-wrap:wrap}.pr-resolve{padding:3px 10px;border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--paper);font:inherit;font-size:12.5px;font-weight:600;color:var(--slate-600);cursor:pointer}.pr-resolve:hover{border-color:var(--green);color:var(--green)}.pr-resolve.on{background:var(--green-soft);border-color:var(--green-line);color:var(--green)}.link-btn.danger{color:var(--red)}.link-btn.danger:hover{color:#9a2a18}.pr-tag:focus-visible,.pr-resolve:focus-visible,.pr-level:focus-visible,.ls-choice:focus-visible,.apply-student:focus-visible{outline:2px solid var(--ink-2);outline-offset:2px}.ls-form{display:flex;flex-wrap:wrap;gap:0 26px}.ls-form .label{margin-bottom:8px}.ls-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.ls-result{display:flex;align-items:center;gap:26px;flex-wrap:wrap;background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--marker);border-radius:var(--r-md);padding:18px 22px;margin-bottom:18px}.ls-grade{display:flex;align-items:baseline;gap:6px}.ls-grade-value{font-family:var(--display);font-size:64px;font-weight:700;letter-spacing:-.05em;line-height:1;color:var(--ink)}.ls-grade-of{font-size:15px;color:var(--slate-400)}.ls-result-line{font-size:15.5px;color:var(--slate-600)}.ls-result-line strong{color:var(--ink)}.ls-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px;align-items:start}.ls-layout.no-text{grid-template-columns:minmax(0,760px)}.ls-sheet{position:sticky;top:20px}.ls-text{font-size:18px;cursor:auto}.ls-questions{list-style:none;display:grid;gap:8px}.ls-q{display:flex;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px}.ls-q.is-right{box-shadow:inset 4px 0 0 var(--green)}.ls-q.is-wrong{box-shadow:inset 4px 0 0 var(--red)}.ls-q-num{width:30px;height:30px;flex-shrink:0;display:grid;place-items:center;border:1.5px solid var(--ink);border-radius:50%;font-family:var(--display);font-weight:700;font-size:14px;color:var(--ink)}.ls-q-body{flex:1;min-width:0}.ls-q-prompt{font-size:16px;line-height:1.5;color:var(--ink);font-weight:500}.ls-choices{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.ls-choice{padding:7px 15px;border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--paper);font:inherit;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer}.ls-choice:hover{border-color:var(--ink)}.ls-choice.chosen{background:var(--ink);border-color:var(--ink);color:#fff}.ls-choice.ok.chosen{background:var(--green);border-color:var(--green)}.ls-choice.bad.chosen{background:var(--red);border-color:var(--red)}.ls-note{margin-top:8px;padding:7px 10px;font-size:14px}.ls-given{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}.ls-key{margin-top:10px;padding:8px 11px;background:var(--sheet);border-radius:var(--r-sm);font-size:13.5px;line-height:1.5;color:var(--slate-600)}.ls-key strong{color:var(--ink)}.ls-key-why{color:var(--slate-400)}.ls-footer{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:18px;padding:14px 18px;background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:0 -8px 24px -14px #18181b40}.ls-row-open{background:var(--marker-soft)}.apply-pick{width:min(420px,100%)}.apply-pick .select{min-width:0;flex:1}.apply-choose{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.apply-student{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 16px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);font:inherit;text-align:left;cursor:pointer}.apply-student:hover{border-color:var(--ink)}.apply-student-name{font-weight:600;color:var(--ink)}.apply-student-level{font-size:13px;color:var(--slate-400)}@media (max-width: 1100px){.pr-layout,.ls-layout{grid-template-columns:minmax(0,1fr)}.pr-side,.ls-sheet{position:static;max-height:none}}@media (max-width: 900px){.pr-levels{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(104px,1fr);overflow-x:auto;padding-bottom:4px}.pr-sheet{--rule: 34px;padding:18px 18px 26px 34px}.pr-sheet:before{left:22px}.pr-text{font-size:17px}.ls-grade-value{font-size:52px}}.row-menu-btn{width:36px;height:36px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);font-size:18px;line-height:1;cursor:pointer;display:inline-grid;place-items:center}.row-menu-btn:hover,.row-menu-btn[aria-expanded=true]{border-color:var(--ink);background:var(--mist)}.row-menu{position:fixed;z-index:60;min-width:210px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-pop);padding:6px}.row-menu button{display:block;width:100%;text-align:left;padding:10px 14px;border-radius:8px;border:none;background:none;font:500 14.5px var(--text);color:var(--ink);cursor:pointer}.row-menu button:hover{background:var(--mist)}.row-menu button.danger{color:var(--red)}.row-menu hr{border:none;border-top:1px solid var(--line);margin:6px 0}.today-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-bottom:30px}.today-tile{display:flex;flex-direction:column;gap:6px;padding:18px 20px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);text-decoration:none;color:var(--ink);transition:border-color .15s}.today-tile:hover{border-color:var(--ink-3);text-decoration:none}.today-tile.is-accent{background:var(--marker-soft);border:1.5px solid var(--marker)}.today-tile.is-accent .today-label{color:var(--marker-ink)}.today-label{font-size:14px;font-weight:600;color:var(--slate-400)}.today-value{font-family:var(--display);font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.15}.today-sub{font-size:14.5px;color:var(--slate-600)}.crumbs{display:flex;gap:8px;align-items:center;font-size:14.5px;color:var(--slate-600);margin-bottom:14px}.crumbs a{color:var(--slate-600);text-decoration:none}.crumbs a:hover{color:var(--ink);text-decoration:underline}.person-head{display:flex;align-items:center;gap:16px;min-width:0}.avatar-lg{width:56px;height:56px;font-size:24px}.page-head .page-title{font-size:36px}@media (max-width: 900px){.person-head{align-items:flex-start}.avatar-lg{width:46px;height:46px;font-size:20px}}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.kpi{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:18px 20px}.kpi.is-accent{background:var(--marker-soft);border-color:var(--marker)}.kpi.is-accent .kpi-label{color:var(--marker-ink)}.kpi-value{font-family:var(--display);font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.1;color:var(--ink);font-variant-numeric:tabular-nums}.kpi-label{font-size:14px;color:var(--slate-400);margin-top:4px}.split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.side-stack{display:flex;flex-direction:column;gap:14px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px}.panel-title{font-family:var(--display);font-size:19px;font-weight:700;letter-spacing:-.01em;color:var(--ink);margin:0}.panel-tool{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--slate-600)}.select.select-sm{width:auto;padding:6px 10px;font-size:14px}.panel-scroll{max-height:420px;overflow-y:auto;border-top:1px solid var(--line)}.panel-empty{padding:26px 20px 30px;text-align:center;color:var(--slate-600);border-top:1px solid var(--line)}.panel-empty strong{display:block;color:var(--ink);font-size:16px;margin-bottom:4px}table.data.flat{min-width:0;font-size:15px}table.data.flat td{color:var(--slate-600)}table.data.flat td strong{color:var(--ink)}.side-card{padding:20px}.side-card .panel-title{font-size:17px;margin-bottom:12px}.side-text{font-size:14.5px;color:var(--slate-600);line-height:1.55;margin:0}.side-label{font-size:13.5px;font-weight:600;color:var(--slate-400);margin:14px 0 8px}.seg-bar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--line);margin-bottom:10px}.seg-bar span{display:block;height:100%}.score-chip{display:inline-block;font-weight:700;font-size:14px;padding:3px 9px;border-radius:7px;font-variant-numeric:tabular-nums}.score-chip.low{background:var(--red-soft);color:var(--red-ink)}.score-chip.mid{background:var(--amber-soft);color:var(--amber)}.score-chip.good{background:var(--green-soft);color:var(--green)}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip{font-size:13.5px;font-weight:600;padding:4px 10px;border-radius:999px;white-space:nowrap}.chip-amber{background:var(--amber-soft);color:var(--amber)}.chip-neutral{background:var(--mist);color:var(--slate-600)}.mini-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.mini-list.is-scroll{max-height:300px;overflow-y:auto;padding-right:4px}.mini-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14.5px}.mini-main{min-width:0}.mini-title{display:block;color:var(--ink);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-meta{display:block;font-size:12.5px;color:var(--slate-400)}.link-btn{margin-top:12px;background:none;border:none;padding:0;font:600 14.5px var(--text);color:var(--ink);cursor:pointer;text-decoration:underline;text-underline-offset:3px}@media (max-width: 1000px){.split{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.stack{display:flex;flex-direction:column;gap:14px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.section-h{font-family:var(--display);font-size:22px;font-weight:700;letter-spacing:-.01em;color:var(--ink);margin:0}.section-aside{font-size:14.5px;color:var(--slate-400)}.task-list{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.task-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 20px;border-top:1px solid var(--line);text-decoration:none;color:var(--ink)}.task-row:first-child{border-top:none}.task-row:hover{background:var(--sheet);text-decoration:none}.task-ico{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:var(--mist);color:var(--ink)}.task-main{min-width:0}.task-title{display:block;font-weight:600;font-size:16.5px}.task-meta{display:block;font-size:14.5px;color:var(--slate-400);margin-top:2px}.task-note{display:block;font-size:14px;color:var(--slate-600);margin-top:4px}.pill{font-size:13px;font-weight:600;padding:4px 10px;border-radius:999px;white-space:nowrap}.pill-red{background:var(--red-soft);color:var(--red-ink)}.pill-neutral{background:var(--mist);color:var(--slate-600)}.pill-green{background:var(--green-soft);color:var(--green)}.pill-blue{background:var(--marker-soft);color:var(--marker-ink)}.panel-empty.boxed{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md)}.past-weeks{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:0 20px}.past-weeks summary{cursor:pointer;padding:16px 0;font-weight:600;font-size:15.5px;color:var(--ink)}.past-weeks summary span{color:var(--slate-400);font-weight:500}.past-body{padding-bottom:18px}.past-body .task-list{border-radius:12px}.lesson-card{display:flex;flex-direction:column;gap:6px;background:var(--ink);color:#fff;border-radius:var(--r-md);padding:22px;text-decoration:none}.lesson-card:hover{text-decoration:none;background:#27272a}.lesson-kicker{font-size:14px;font-weight:600;color:#c9cbd3}.lesson-when{font-family:var(--display);font-size:22px;font-weight:700}.lesson-topic{font-size:14.5px;line-height:1.55;color:#e0e1e6}.month-stats{margin:0;display:grid;gap:10px}.month-stats div{display:flex;justify-content:space-between;gap:12px;font-size:15px}.month-stats dt{color:var(--slate-600)}.month-stats dd{margin:0;font-weight:700;color:var(--ink)}@media (max-width: 900px){.task-row{grid-template-columns:36px minmax(0,1fr);padding:14px 16px}.task-row .pill{grid-column:2;justify-self:start}}.nav-count{display:inline-block;min-width:22px;padding:1px 7px;margin-left:2px;border-radius:999px;background:var(--marker);color:var(--ink);font-size:12.5px;font-weight:700;line-height:1.5;text-align:center}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:20px}.search-box{flex:1 1 260px;display:flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line-strong);border-radius:10px;padding:0 12px;min-height:44px;color:var(--slate-400)}.search-box:focus-within{border-color:var(--ink)}.search-box input{border:none;outline:none;background:transparent;font:inherit;font-size:15px;flex:1;color:var(--ink);min-width:0}.chip-btn{font:600 14px var(--text);min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line-strong);background:var(--paper);color:var(--slate-600);cursor:pointer}.chip-btn:hover{border-color:var(--ink);color:var(--ink)}.chip-btn.on{background:var(--ink);border-color:var(--ink);color:#fff}.crumb-btn{background:none;border:none;padding:0;font:inherit;color:var(--slate-600);cursor:pointer}.crumb-btn:hover{color:var(--ink);text-decoration:underline}.xl-split{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px;align-items:start}.xl-list{display:flex;flex-direction:column}.xl-headrow,.xl-row{display:grid;grid-template-columns:minmax(0,1fr) 72px 112px auto;gap:12px;align-items:center}.xl-headrow{padding:11px 18px;background:var(--sheet);font-size:13px;font-weight:600;color:var(--slate-400);border-bottom:1px solid var(--line)}.xl-scroll{max-height:640px;overflow-y:auto}.xl-group{padding:14px 18px 6px;font-size:13px;font-weight:700;color:var(--slate-400);border-top:1px solid var(--line)}.xl-scroll>div:first-child .xl-group{border-top:none;padding-top:10px}.xl-row{padding:10px 18px;border-top:1px solid var(--line)}.xl-group+.xl-row{border-top:none}.xl-row:hover{background:var(--sheet)}.xl-row.is-selected{background:var(--marker-soft)}.xl-main{text-align:left;background:none;border:none;padding:4px 0;font:inherit;color:var(--ink);cursor:pointer;min-width:0}.xl-title{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-weight:600;font-size:15.5px}.xl-meta{display:block;font-size:13.5px;color:var(--slate-400);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xl-cell{min-width:0}.xl-muted{color:var(--slate-400);font-size:14px}.xl-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end}.tag{display:inline-block;font-size:13px;font-weight:600;padding:3px 9px;border-radius:7px;background:var(--mist);color:var(--slate-600);white-space:nowrap}.tag-amber{background:var(--amber-soft);color:var(--amber)}.tag-red{background:var(--red-soft);color:var(--red-ink)}.select-tag{max-width:100%;font:600 13.5px var(--text);color:var(--ink);background:var(--mist) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%233F3F46' stroke-width='3'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 7px center;border:1px solid transparent;border-radius:7px;padding:4px 22px 4px 8px;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer}.select-tag:hover{border-color:var(--line-strong)}.select-tag:focus-visible{outline:2px solid var(--ink-2);outline-offset:1px}.xp-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);display:flex;flex-direction:column;max-height:720px;position:sticky;top:calc(var(--topbar-h) + 16px)}.xp-head{padding:20px 22px 14px;border-bottom:1px solid var(--line)}.xp-title-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.xp-title{font-family:var(--display);font-size:22px;font-weight:700;letter-spacing:-.01em;margin:0;color:var(--ink)}.xp-sub{margin:4px 0 0;font-size:14px;color:var(--slate-600);line-height:1.5}.xp-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.xp-body{padding:4px 22px 18px;overflow-y:auto;flex:1;min-height:0}.xp-rule{background:var(--royal-soft);border-radius:10px;padding:12px 14px;margin:14px 0 4px;font-size:14.5px;line-height:1.55}.xp-list{list-style:none;margin:0;padding:0}.xp-q{display:grid;grid-template-columns:26px minmax(0,1fr);gap:4px;padding:12px 0;border-top:1px solid var(--line);font-size:15px;line-height:1.5}.xp-q:first-child{border-top:none}.xp-n{font-weight:700;color:var(--ink)}.xp-answers{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.xp-ans{font-size:13px;font-weight:600;background:var(--green-soft);color:var(--green);padding:2px 8px;border-radius:6px}.xp-foot{padding:14px 22px;border-top:1px solid var(--line);display:flex;gap:18px;flex-wrap:wrap;align-items:center;font-weight:600;font-size:14.5px}.xp-foot a{color:var(--ink)}@media (max-width: 1080px){.xl-split{grid-template-columns:1fr}.xp-panel{position:static;max-height:none}}@media (max-width: 700px){.xl-headrow{display:none}.xl-row{grid-template-columns:1fr 1fr}.xl-main{grid-column:1 / -1}.xl-actions{grid-column:1 / -1;justify-content:flex-start}}@media (max-width: 900px){table.data.flat{display:table;font-size:14px}table.data.flat thead{display:table-header-group}table.data.flat tbody{display:table-row-group}table.data.flat tr{display:table-row;border:none;padding:0;margin:0;background:none;box-shadow:none}table.data.flat td,table.data.flat th{display:table-cell;padding:10px 8px;text-align:left;border-bottom:1px solid var(--line)}table.data.flat th{font-size:12px}.panel-scroll{overflow:auto}table.data.flat td:before{content:none}.panel-head{flex-wrap:wrap}.panel-tool{width:100%}.panel-tool .select{flex:1}}.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"head ." "main side";column-gap:24px;row-gap:14px;align-items:start}.home-head{grid-area:head}.home-main{grid-area:main}.home-side{grid-area:side}@media (max-width: 1000px){.home-grid{grid-template-columns:1fr;grid-template-areas:"head" "main" "side"}}.today-tile.has-alert{border-color:var(--red-line)}.today-tile.has-alert .today-label{display:flex;align-items:center;justify-content:space-between;gap:8px}.today-flag{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;color:var(--red-ink);background:var(--red-soft);padding:2px 9px 2px 7px;border-radius:999px}.text-red{color:var(--red-ink)}.kpi-foot{font-size:13px;color:var(--slate-400);margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.kpi.is-accent .kpi-foot{border-top-color:var(--marker-line);color:var(--slate-600)}.kpi-link{text-decoration:none;color:inherit;transition:border-color .15s}.kpi-link:hover{border-color:var(--ink-3);text-decoration:none}.people-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.people-list li+li{border-top:1px solid var(--line)}.person-row{display:flex;align-items:center;gap:14px;padding:14px 20px;text-decoration:none;color:var(--ink)}.person-row:hover{background:var(--sheet);text-decoration:none}.person-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.person-name{font-weight:600;font-size:15.5px}.panel-foot{padding:12px 20px;border-top:1px solid var(--line);font-size:14px;color:var(--slate-400)}.chip-red{background:var(--red-soft);color:var(--red-ink)}.chip-blue{background:var(--marker-soft);color:var(--marker-ink)}.mini-when{font-size:14px;white-space:nowrap}.level-bars{display:grid;gap:10px}.level-bar{display:grid;grid-template-columns:30px minmax(0,1fr) 24px;gap:10px;align-items:center;font-size:14px}.level-id{font-weight:700;color:var(--ink)}.level-track{height:10px;border-radius:999px;background:var(--mist);overflow:hidden}.level-track span{display:block;height:100%;border-radius:999px;background:var(--ink-2)}.level-n{text-align:right;font-weight:600;color:var(--slate-600);font-variant-numeric:tabular-nums}.all-students{margin-top:24px;overflow:visible}.all-students summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;cursor:pointer;list-style:none}.all-students summary::-webkit-details-marker{display:none}.all-students summary:after{content:"";width:9px;height:9px;margin-left:4px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg) translateY(-3px);transition:transform .15s}.all-students[open] summary:after{transform:rotate(-135deg) translateY(-2px)}.all-students summary .panel-title{flex:1}.summary-meta{font-size:14px;color:var(--slate-400)}.all-students-body{padding:0 20px 20px}.table-plain{border:1px solid var(--line);border-radius:12px;overflow-x:auto}.table-plain table.data th{position:static}.cell-person{display:flex;align-items:center;gap:12px}.cell-sub{display:block;font-size:13px;margin-top:1px}.seg-field{border:none;padding:0;margin:0 0 18px}.seg-choice{display:inline-flex;gap:4px;padding:4px;background:var(--mist);border-radius:12px;flex-wrap:wrap}.seg-choice label{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border-radius:9px;cursor:pointer;font-size:15px;font-weight:600;color:var(--slate-600)}.seg-choice label.on{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px #18181b1f}.seg-choice input{accent-color:var(--ink)}.rv-summary{display:flex;gap:24px;align-items:center;flex-wrap:wrap;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:24px 26px}.rv-score-wrap{text-align:center;min-width:120px}.rv-score{font-family:var(--display);font-size:44px;font-weight:700;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}.rv-score.good{color:var(--green)}.rv-score.mid{color:var(--amber)}.rv-score.low{color:var(--red-ink)}.rv-pct{font-size:14px;color:var(--slate-400);margin-top:6px}.rv-head{flex:1;min-width:240px}.rv-title{font-family:var(--display);font-size:26px;font-weight:700;letter-spacing:-.02em;margin:0;color:var(--ink)}.rv-meta{margin:4px 0 0;font-size:14.5px;color:var(--slate-600)}.rv-count{font-family:var(--text);font-size:14px;font-weight:500;color:var(--slate-400);margin-left:8px}.rv-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.rv-item{display:grid;grid-template-columns:28px minmax(0,1fr);gap:14px;padding:16px 20px;border-top:1px solid var(--line)}.rv-item:first-child{border-top:none}.rv-mark{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;margin-top:1px}.rv-item.is-right .rv-mark{background:var(--green-soft);color:var(--green)}.rv-item.is-wrong .rv-mark{background:var(--red-soft);color:var(--red-ink)}.rv-q{font-size:15.5px;color:var(--ink);line-height:1.5}.rv-given,.rv-expected{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-top:8px;font-size:14.5px}.rv-k{font-size:12.5px;font-weight:600;color:var(--slate-400);min-width:104px}.rv-v{font-family:var(--mono, ui-monospace, monospace);padding:2px 8px;border-radius:6px}.rv-item.is-right .rv-given .rv-v{background:var(--green-soft);color:var(--green)}.rv-item.is-wrong .rv-given .rv-v{background:var(--red-soft);color:var(--red-ink);text-decoration:line-through;text-decoration-thickness:1px}.rv-expected .rv-v{background:var(--green-soft);color:var(--green);font-weight:600}.html-history{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--ink-2);border-radius:var(--r-md);padding:14px 18px;font-size:15px;color:var(--ink)}.tt{--c: var(--ink);--soft: var(--mist);--soft2: var(--paper);--line-c: var(--line);--ring: var(--ink);position:relative;display:flex;flex-direction:column;gap:6px;padding:20px 22px 18px;min-height:160px;box-sizing:border-box;border-radius:18px;border:1px solid var(--line-c);background:linear-gradient(135deg,var(--soft) 0%,var(--soft2) 72%);color:var(--ink);text-decoration:none;overflow:hidden;transition:box-shadow .2s,transform .2s}.tt:hover{text-decoration:none;box-shadow:0 14px 30px -18px var(--c);transform:translateY(-1px)}.tt:focus-visible{outline:3px solid var(--c);outline-offset:2px}.tt-blue{--c: #1D4ED8;--soft: #E8F0FF;--soft2: #F4F8FF;--line-c: #B9D3FF;--ring: #2F6BFF}.tt-coral{--c: #B42F1C;--soft: #FDECE8;--soft2: #FFF6F3;--line-c: #F5C3B8;--ring: #E2553C}.tt-yellow{--c: #805700;--soft: #FFF3CC;--soft2: #FFFAE8;--line-c: #F4D77A;--ring: #F5B800}.tt-green{--c: #1C5C3B;--soft: #E3F1E8;--soft2: #F3FAF5;--line-c: #BCDCC8;--ring: #2F8F5B}.tt-mark{position:absolute;right:-18px;bottom:-26px;color:var(--c);opacity:.11;pointer-events:none}.tt-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;min-height:54px}.tt-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--c);padding-top:2px}.tt-dot{position:relative;width:8px;height:8px;border-radius:50%;background:#d23a22;flex:none}.tt-dot:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:50%;border:2px solid #D23A22;opacity:.35;animation:tt-pulse 2.2s ease-out infinite}@keyframes tt-pulse{0%{transform:scale(.6);opacity:.5}80%,to{transform:scale(1.5);opacity:0}}@media (prefers-reduced-motion: reduce){.tt-dot:after{animation:none}.tt:hover{transform:none}}.tt-value{font-family:var(--display);font-size:27px;font-weight:700;letter-spacing:-.02em;line-height:1.12;position:relative}.tt-sub{font-size:14.5px;color:var(--slate-600);position:relative}.tt-go{margin-top:auto;padding-top:10px;display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--c);position:relative}.tt-ring{position:relative;width:58px;height:58px;flex:none;display:grid;place-items:center;margin:-4px -4px 0 0}.tt-ring svg{position:absolute;top:0;right:0;bottom:0;left:0}.tt-ring-track{stroke:#ffffffd9}.tt-ring-fill{stroke:var(--ring);transition:stroke-dasharray .6s ease}.tt-ring b{font-size:13.5px;font-weight:700;color:var(--ink);line-height:1;margin-top:-7px;font-variant-numeric:tabular-nums}.tt-ring small{position:absolute;bottom:13px;font-size:10.5px;color:var(--slate-600)}.sampling-note{margin-top:16px;padding:12px 14px;border-radius:10px;font-size:14.5px;line-height:1.55;background:var(--mist);color:var(--slate-600)}.sampling-note strong{color:var(--ink)}.sampling-note.is-ok{background:var(--green-soft);color:var(--green)}.sampling-note.is-ok strong{color:var(--green)}.sampling-note.is-warn{background:var(--amber-soft);color:var(--amber);border:1px solid var(--amber-line)}.sampling-note.is-warn strong{color:var(--amber)}.xl-folds{display:flex;flex-direction:column;min-width:0}.xl-section{font-family:var(--display);font-size:18px;font-weight:700;letter-spacing:-.01em;color:var(--ink);margin:6px 0 10px}.xl-folds .xl-section~.xl-section{margin-top:26px}.fold.is-plain .fold-body{max-height:none;overflow:visible;background:var(--paper)}.xl-folds .fold-head{padding:16px 18px}.xl-folds .fold-code{min-width:46px;height:46px;font-size:16px;border-radius:12px}.xl-folds .fold-title{font-size:16.5px;font-weight:700}.xl-folds .fold-desc{font-size:14px;color:var(--slate-600)}.xl-folds .fold-count{font-size:13.5px}.xl-folds .fold-body .xl-headrow{border-bottom:1px solid var(--line)}.xl-folds .fold-body .xl-row:first-of-type{border-top:none}.xl-folds .fold-body .xl-headrow+.xl-row,.xl-folds .fold-body .xl-sub+.xl-row{border-top:none}.xl-sub{padding:12px 18px 6px;font-size:13px;font-weight:700;color:var(--slate-400);border-top:1px solid var(--line);background:var(--sheet)}.fold.is-student .fold-code{background:var(--marker);color:var(--ink);font-family:var(--display)}.xp-empty{align-items:center;justify-content:center;text-align:center;gap:8px;padding:40px 28px;color:var(--slate-600);font-size:14.5px;line-height:1.55;min-height:260px}.xp-empty strong{color:var(--ink);font-size:16px}.xp-empty-ico{width:52px;height:52px;border-radius:14px;background:var(--mist);color:var(--slate-600);display:grid;place-items:center;margin-bottom:4px}.ag-page{padding:20px 24px;height:100vh;box-sizing:border-box;display:flex;flex-direction:column;gap:12px}.ag-wrap{flex:1;min-height:0;display:grid;grid-template-columns:330px minmax(0,1fr);gap:20px}.ag-side{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:16px;display:flex;flex-direction:column;min-height:0}.ag-tabs{display:inline-flex;gap:4px;padding:4px;background:var(--mist);border-radius:999px;align-self:flex-start}.ag-tabs button{border:none;background:none;font:600 14px var(--text);color:var(--slate-600);padding:8px 14px;border-radius:999px;cursor:pointer}.ag-tabs button.on{background:var(--ink);color:#fff}.ag-hint{font-size:13px;color:var(--slate-400);margin:12px 2px 0;line-height:1.45}.ag-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px;margin-top:14px;padding-right:2px}.ag-empty{font-size:14px;color:var(--slate-600);padding:18px 6px;line-height:1.5;display:flex;flex-direction:column;align-items:flex-start}.ag-card{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid;border-radius:14px;text-align:left;cursor:pointer;font:inherit;transition:transform .12s,box-shadow .12s}.ag-card:hover{transform:translateY(-1px);box-shadow:0 6px 16px -10px #18181b66}.ag-card-date{flex:none;width:54px;padding:6px 0;border-radius:10px;background:#ffffffa6;display:flex;flex-direction:column;align-items:center;line-height:1.2}.ag-card-date b{font-size:13px}.ag-card-date span{font-size:12.5px;opacity:.85}.ag-card-main{min-width:0;display:flex;flex-direction:column}.ag-card-main b{font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ag-card-main span{font-size:13px;opacity:.85}.ag-card.is-free{background:#e3f4e1;border-color:#c3e5be;color:#2f6b2a}.ag-main{min-width:0;min-height:0;display:flex;flex-direction:column}.ag-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.ag-toolbar-left,.ag-toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ag-seg{display:inline-flex;gap:2px;padding:4px;background:var(--paper);border:1px solid var(--line);border-radius:999px}.ag-seg button{border:none;background:none;font:600 14px var(--text);color:var(--slate-600);padding:7px 16px;border-radius:999px;cursor:pointer}.ag-seg button.on{background:var(--ink);color:#fff}.ag-switch{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--slate-600);cursor:pointer;margin-left:6px}.ag-switch input{position:absolute;opacity:0;width:1px;height:1px}.ag-switch-track{width:40px;height:22px;border-radius:999px;background:var(--line-strong);position:relative;transition:background .15s}.ag-switch-track span{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 2px #0003}.ag-switch input:checked+.ag-switch-track{background:#3e9b4f}.ag-switch input:checked+.ag-switch-track span{transform:translate(18px)}.ag-switch input:focus-visible+.ag-switch-track{outline:2px solid var(--ink-2);outline-offset:2px}.ag-icon-btn{width:36px;height:36px;border-radius:10px;border:1px solid var(--line-strong);background:var(--paper);color:var(--slate-600);display:grid;place-items:center;cursor:pointer}.ag-icon-btn:hover,.ag-icon-btn[aria-expanded=true]{border-color:var(--ink);color:var(--ink)}.ag-settings{position:relative}.ag-pop{position:absolute;right:0;top:44px;z-index:30;width:260px;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-pop);padding:14px;display:flex;flex-direction:column;gap:10px}.ag-title{font-family:var(--display);font-size:24px;font-weight:700;letter-spacing:-.02em;margin:12px 0;color:var(--ink)}.ag-grid{--hcol: 64px;flex:1;min-height:0;background:var(--paper);border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;overflow:hidden}.ag-grid-head{display:grid;grid-template-columns:var(--hcol) repeat(var(--cols),minmax(0,1fr));background:var(--sheet);border-bottom:1px solid var(--line)}.ag-dayhead{padding:9px 4px;text-align:center;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:1px}.ag-dayhead b{font-size:13px;color:var(--ink)}.ag-dayhead span{font-size:12.5px;color:var(--slate-400)}.ag-dayhead.is-today b,.ag-dayhead.is-today span{color:var(--marker-ink)}.ag-grid-scroll{flex:1;min-height:0;overflow-y:auto}.ag-grid-body{display:grid;grid-template-columns:var(--hcol) repeat(var(--cols),minmax(0,1fr));position:relative}.ag-hours{position:relative}.ag-hour{font-size:12px;font-weight:700;color:var(--slate-400);text-align:right;padding:6px 10px 0 0;box-sizing:border-box;border-bottom:1px solid transparent}.ag-col{position:relative;border-left:1px solid var(--line);cursor:pointer}.ag-col.is-today{background:#7db2ff0f}.ag-cell{position:absolute;left:0;right:0;border-bottom:1px solid var(--line)}.ag-col:hover .ag-cell:hover{background:#18181b06}.ag-event{position:absolute;z-index:2;border:1px solid;border-radius:10px;padding:4px 7px;text-align:left;cursor:pointer;font:inherit;overflow:hidden;display:flex;flex-direction:column;gap:1px}.ag-event b{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ag-event span{font-size:12px;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ag-event:hover{box-shadow:0 6px 16px -8px #18181b73;z-index:3}.ag-event.is-muted{opacity:.55;text-decoration:line-through}.ag-event.is-done:after{content:"✓";position:absolute;right:6px;top:4px;font-size:12px;font-weight:800}.ag-free{position:absolute;left:3px;right:3px;z-index:1;border:1.5px dashed #9ED39A;background:#eef8ec;color:#2f6b2a;border-radius:10px;font:700 12px var(--text);cursor:pointer}.ag-free:hover{background:#e1f3de}.ag-now{position:absolute;left:0;right:0;height:2px;background:var(--marker-ink);z-index:4;pointer-events:none}.ag-now:before{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--marker-ink)}.ag-month{flex:1;min-height:0;background:var(--paper);border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;overflow:hidden}.ag-month-head{display:grid;grid-template-columns:repeat(7,1fr);background:var(--sheet);border-bottom:1px solid var(--line)}.ag-month-head div{text-align:center;padding:10px 0;font-size:13px;font-weight:700;color:var(--ink)}.ag-month-body{flex:1;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,1fr)}.ag-mcell{border:none;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:10px;cursor:pointer;font:inherit}.ag-mcell:hover{background:var(--sheet)}.ag-mcell.is-other{background:var(--mist)}.ag-mcell.is-other .ag-mday{color:var(--slate-400)}.ag-mday{font-size:14px;font-weight:700;color:var(--ink);width:28px;height:28px;display:grid;place-items:center;border-radius:50%}.ag-mday.is-today{background:var(--ink);color:#fff}.ag-dots{display:flex;gap:4px;flex-wrap:wrap;justify-content:center;max-width:80%}.ag-dots i{width:7px;height:7px;border-radius:50%}.ag-dots em{font-style:normal;font-size:11px;font-weight:700;color:var(--slate-600)}@media (max-width: 1100px){.ag-page{height:auto}.ag-wrap{grid-template-columns:1fr}.ag-side{max-height:420px}.ag-grid{height:640px;flex:none}.ag-month{height:560px;flex:none}}.cl-modal{width:min(820px,100%);max-height:92vh;overflow-y:auto;background:var(--paper);border-radius:20px;box-shadow:var(--shadow-pop);display:flex;flex-direction:column}.cl-modal.narrow{width:min(560px,100%)}.cl-modal-head{display:flex;justify-content:space-between;align-items:center;padding:20px 28px;background:var(--sheet);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2}.cl-modal-head h2{font-family:var(--display);font-size:21px;font-weight:700;margin:0;color:var(--ink)}.cl-x{width:36px;height:36px;border-radius:10px;border:none;background:none;font-size:24px;line-height:1;color:var(--slate-600);cursor:pointer}.cl-x:hover{background:var(--mist);color:var(--ink)}.cl-modal-body{padding:22px 28px}.cl-modal-foot{display:flex;justify-content:space-between;gap:12px;padding:16px 28px;background:var(--sheet);border-top:1px solid var(--line)}.cl-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cl-detail{display:flex;flex-direction:column;flex:1;min-height:0}.cl-hero{display:flex;align-items:center;gap:16px;padding:26px 28px;border-bottom:1px solid var(--line)}.cl-avatar{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:22px;flex:none}.cl-hero-main{flex:1;min-width:0}.cl-name{font-family:var(--display);font-size:24px;font-weight:700;color:var(--ink);text-decoration:none;letter-spacing:-.01em}.cl-name:hover{text-decoration:underline}.cl-sub{font-size:14.5px;color:var(--slate-600);margin-top:2px}.cl-datebox{flex:none;text-align:center;border:1px solid var(--line);background:var(--sheet);border-radius:14px;padding:10px 16px;display:flex;flex-direction:column}.cl-datebox span{font-size:12.5px;font-weight:700;color:var(--slate-600)}.cl-datebox b{font-family:var(--display);font-size:26px;color:var(--ink);line-height:1.15}.cl-body{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:24px 28px}.cl-col{min-width:0}.cl-flags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}.cl-flag{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-strong);background:var(--paper);color:var(--slate-600);font:600 13px var(--text);padding:7px 12px;border-radius:999px;cursor:pointer}.cl-flag:hover{border-color:var(--ink-3)}.cl-flag.on{background:var(--green-soft);border-color:var(--green-line);color:var(--green)}.cl-rows{margin:0}.cl-rows div{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:15px}.cl-rows dt{color:var(--slate-600)}.cl-rows dd{margin:0;color:var(--ink);text-align:right}.cl-kind{display:inline-flex;align-items:center;gap:6px}.cl-status{font-size:13px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--mist);color:var(--slate-600)}.cl-status.s-completed{background:var(--green-soft);color:var(--green)}.cl-status.s-student_absent{background:var(--red-soft);color:var(--red-ink)}.cl-status.s-teacher_absent{background:var(--amber-soft);color:var(--amber)}.cl-section{display:block;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-400);margin-bottom:10px}.cl-notes{margin-top:20px}.cl-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cl-act{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:64px;padding:10px 6px;border:1px solid var(--line-strong);border-radius:12px;background:var(--paper);color:var(--ink);font:700 13px var(--text);text-decoration:none;cursor:pointer;text-align:center}.cl-act:hover:not(:disabled){border-color:var(--ink);text-decoration:none}.cl-act.is-absent{background:var(--red-soft);border-color:var(--red-line);color:var(--red-ink)}.cl-act.is-absent.on{background:var(--red);border-color:var(--red);color:#fff}.cl-act small{font-size:11px;font-weight:600}.cl-act.is-soon,.cl-attach.is-soon{color:var(--slate-400);background:var(--sheet);cursor:not-allowed;overflow:hidden}.cl-act.is-soon:after,.cl-attach.is-soon:after{content:"";position:absolute;left:8%;right:8%;top:50%;height:2px;background:#d23a22;transform:rotate(-12deg);opacity:.8}.cl-attach{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:22px;border:1.5px dashed var(--line-strong);border-radius:14px;font-size:14.5px}.cl-attach small,.cl-act.is-soon small{color:#b4301c}.cl-complete{margin:0 28px 20px;padding:16px 18px;border:1px solid var(--green-line);background:var(--green-soft);border-radius:14px}.cl-complete-row{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-end}.cl-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 28px;background:var(--sheet);border-top:1px solid var(--line)}.cl-foot-note{font-size:13.5px;color:var(--slate-400);max-width:340px}@media (max-width: 760px){.cl-body{grid-template-columns:1fr;gap:20px}.cl-hero{flex-wrap:wrap}.cl-row2{grid-template-columns:1fr}}.mc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}.mc-caption{font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--marker-ink)}.mc-wrap{display:grid;grid-template-columns:400px minmax(0,1fr);gap:20px;height:calc(100vh - 190px);min-height:520px}.mc-list-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;min-height:0;overflow:hidden}.mc-tabs{display:flex;gap:4px;padding:10px 12px 0;border-bottom:1px solid var(--line)}.mc-tabs button{border:none;background:none;font:700 14px var(--text);color:var(--slate-600);padding:10px 10px 11px;cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-1px;display:inline-flex;gap:8px;align-items:center}.mc-tabs button.on{color:var(--ink);border-bottom-color:var(--ink)}.mc-tabs span{font-size:12px;background:var(--mist);color:var(--slate-600);padding:1px 8px;border-radius:999px}.mc-list{flex:1;min-height:0;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px}.mc-item{display:flex;align-items:stretch;border:1px solid var(--line);border-left:4px solid var(--stripe);border-radius:14px;background:var(--paper);overflow:hidden;padding:0;text-align:left;cursor:pointer;font:inherit;min-height:92px;transition:border-color .12s,box-shadow .12s}.mc-item:hover{box-shadow:0 6px 16px -12px #18181b73}.mc-item.on{border-color:var(--ink);border-left-color:var(--stripe);box-shadow:0 0 0 1px var(--ink)}.mc-date{flex:none;width:82px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--sheet);border-right:1px solid var(--line);color:var(--ink)}.mc-date b{font-family:var(--display);font-size:22px;letter-spacing:-.02em;line-height:1.15}.mc-date small{font-size:12.5px;font-weight:600;color:var(--slate-400)}.mc-item.on .mc-date{background:var(--ink);color:#fff;border-right-color:var(--ink)}.mc-item.on .mc-date small{color:#c9cbd3}.mc-main{padding:14px 16px;display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0}.mc-main b{font-size:17px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mc-main span{font-size:14px;color:var(--slate-600)}.mc-panel{background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow-y:auto;display:flex;flex-direction:column;min-height:0}@media (max-width: 1100px){.mc-wrap{grid-template-columns:1fr;height:auto}.mc-list-card{max-height:480px}}.ag-tabs button{white-space:nowrap;padding:8px 12px}.ag-titlerow{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0 12px}.ag-titlerow .ag-title{margin:0}.wt-intro{font-size:14.5px;color:var(--slate-600);background:var(--royal-soft);border:1px solid var(--royal-line);border-radius:12px;padding:12px 16px;margin:0 0 16px;line-height:1.55}.wt-table{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--paper)}.wt-head{display:grid;grid-template-columns:220px minmax(0,1fr) 70px;padding:11px 22px;background:var(--sheet);border-bottom:1px solid var(--line);font-size:13px;font-weight:700;color:var(--slate-600)}.wt-head span:last-child{text-align:right}.wt-empty{padding:22px;color:var(--slate-600);font-size:14.5px}.wt-row{display:grid;grid-template-columns:220px minmax(0,1fr);padding:14px 22px;border-top:1px solid var(--line)}.wt-row:first-of-type{border-top:none}.wt-day b{display:block;font-size:15.5px;color:var(--ink)}.wt-turn{background:none;border:none;padding:0;margin-top:6px;font:700 13.5px var(--text);color:var(--marker-ink);cursor:pointer}.wt-turn:hover{text-decoration:underline}.wt-lines{display:flex;flex-direction:column;gap:8px}.wt-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.wt-time{width:130px}.wt-dur{width:120px}.wt-ate{font-size:13.5px;color:var(--slate-400)}.wt-kind label{min-height:36px;padding:0 12px;font-size:14px}.wt-x{margin-left:auto;width:36px;height:36px;border-radius:9px;border:none;background:none;color:var(--slate-400);cursor:pointer;display:grid;place-items:center}.wt-x:hover{background:var(--red-soft);color:var(--red-ink)}.wt-add{margin-top:14px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-strong);background:var(--paper);border-radius:999px;padding:9px 16px;font:700 14px var(--text);color:var(--ink);cursor:pointer}.wt-add span{font-size:18px;line-height:1}.wt-add:hover:not(:disabled){border-color:var(--ink)}.wt-add:disabled{opacity:.5;cursor:default}.wt-pick{margin-top:14px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.wt-repeat{margin-top:20px}.wt-repeat-row{display:flex;gap:10px}.wt-repeat-row .input{width:110px}.wt-repeat-row .select{width:150px}@media (max-width: 760px){.wt-head{display:none}.wt-row{grid-template-columns:1fr;gap:10px;padding:14px}}.t-red{color:var(--red-ink)}.t-green{color:var(--green)}.fi-av{border-radius:50%;display:inline-grid;place-items:center;font-family:var(--display);font-weight:700;flex:none}.fi-filters{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:18px}.fi-filters .input{width:180px}.fi-gain{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start}.fi-gain-side,.fi-gain-main{display:flex;flex-direction:column;gap:14px}.fi-kpi{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:4px}.fi-kpi span{font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-600)}.fi-kpi b{font-family:var(--display);font-size:27px;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}.fi-kpi b.t-green{color:var(--green)}.fi-kpi b.t-red{color:var(--red-ink)}.fi-kpi small{font-size:13px;color:var(--slate-400)}.fi-howto{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:16px 18px;font-size:14px;color:var(--slate-600);line-height:1.55}.fi-howto strong{display:block;color:var(--ink);margin-bottom:6px}.fi-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px 24px;min-width:0}.fi-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.fi-card-head h2,.fi-h2{font-family:var(--display);font-size:20px;font-weight:700;margin:0;color:var(--ink)}.fi-h2{margin-bottom:16px}.fi-card-head>span{font-size:13px;color:var(--slate-400)}.fi-legend{display:flex;gap:18px;justify-content:center;font-size:13.5px;color:var(--slate-600)}.fi-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.fi-chart{width:100%;height:auto;margin-top:6px}.fi-axis{font-size:11.5px;fill:var(--slate-400);font-family:var(--text)}.fi-table{width:100%;border-collapse:collapse;font-size:14.5px}.fi-table th{text-align:left;font-size:12.5px;font-weight:700;color:var(--slate-400);padding:10px;border-bottom:2px solid var(--ink);white-space:nowrap}.fi-table td{padding:12px 10px;border-bottom:1px solid var(--line);color:var(--ink);vertical-align:middle}.fi-table .num{text-align:right;font-variant-numeric:tabular-nums}.fi-table tfoot td{border-bottom:none;font-weight:700}.fi-table tr.clickable{cursor:pointer}.fi-table tr.clickable:hover td{background:var(--royal-soft)}.fi-person{display:flex;align-items:center;gap:12px;min-width:0}.fi-person a{color:var(--ink);font-weight:600}.fi-person b{display:block;font-size:15px}.fi-person small{display:block;font-size:13px}.fi-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-bottom:18px}.fi-strip>div{padding:14px 20px;border-right:1px solid var(--line);display:grid;grid-template-columns:1fr auto;row-gap:2px}.fi-strip>div span{font-size:13.5px;font-weight:700;color:var(--ink)}.fi-strip>div small{font-size:12.5px;color:var(--slate-400);text-align:right}.fi-strip>div b{grid-column:1 / -1;font-family:var(--display);font-size:24px;letter-spacing:-.02em;color:var(--ink)}.fi-strip>div b.t-red{color:var(--red-ink)}.fi-strip>div b.t-green{color:var(--green)}.fi-strip .fi-strip-cta{border-right:none;display:flex;align-items:center;background:var(--sheet)}.fi-pay{display:grid;grid-template-columns:380px minmax(0,1fr);gap:20px;align-items:start}.fi-recv{min-height:420px}.fi-recv-list{max-height:620px;overflow-y:auto}.fi-month{display:flex;justify-content:space-between;align-items:baseline;padding:10px 4px 8px;border-bottom:2px solid var(--ink);margin-top:6px}.fi-month b{font-family:var(--display);font-size:16px}.fi-month span{font-size:13.5px;color:var(--slate-600)}.fi-pay-row{display:flex;align-items:center;gap:14px;padding:12px 4px;border-bottom:1px solid var(--line)}.fi-day{width:34px;text-align:center;display:flex;flex-direction:column;line-height:1.1}.fi-day b{font-family:var(--display);font-size:20px}.fi-day small{font-size:12px;color:var(--slate-400)}.fi-pay-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.fi-pay-main b{font-size:15px}.fi-pay-main small{font-size:13px;color:var(--slate-400);display:flex;gap:6px;align-items:center}.fi-amount{font-size:15.5px;font-variant-numeric:tabular-nums}.fi-modal{width:min(1280px,100%);height:min(860px,94vh);background:var(--paper);border-radius:20px;box-shadow:var(--shadow-pop);display:flex;flex-direction:column;overflow:hidden}.fi-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 26px;border-bottom:1px solid var(--line)}.fi-modal-head h2{font-family:var(--display);font-size:22px;margin:0;color:var(--ink)}.fi-modal-head p{margin:4px 0 0;font-size:14px;color:var(--slate-600)}.fi-close{width:40px;height:40px;border-radius:12px;border:none;background:var(--ink);color:#fff;font-size:24px;line-height:1;cursor:pointer;flex:none}.fi-close:hover{background:var(--ink-2)}.fi-modal-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:18px 26px 16px}.fi-bal-tools{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.fi-seg{display:inline-flex;gap:2px;padding:4px;background:var(--mist);border-radius:999px}.fi-seg button{border:none;background:none;font:700 13.5px var(--text);color:var(--slate-600);padding:7px 12px;border-radius:999px;cursor:pointer}.fi-seg button.on{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px #18181b1f}.fi-seg button span{font-weight:600;color:var(--slate-400);margin-left:3px}.fi-bal-sum{font-size:15px;color:var(--slate-600);margin:14px 0 6px}.fi-scroll{flex:1;min-height:0;overflow-y:auto;margin-top:6px}.fi-bal .fi-bar{display:block;width:120px;height:8px;border-radius:999px;background:var(--red-soft);overflow:hidden}.fi-bal .fi-bar span,.fi-bar span{display:block;height:100%;background:#2f8f5b;border-radius:999px}.fi-sal{display:block;font-size:12px;font-weight:700}.fi-sal.owing{color:var(--red-ink)}.fi-sal.credit{color:var(--green)}.fi-sal.even{color:var(--slate-400)}.fi-chev{color:var(--slate-400);font-size:20px;width:20px}.fi-details{border-top:1px solid var(--line);padding-top:12px;margin-top:10px;font-size:14px;color:var(--slate-600)}.fi-details summary{cursor:pointer;font-weight:700;color:var(--slate-600)}.fi-details p{margin:8px 0 0;line-height:1.55;max-width:80ch}.fi-back{align-self:flex-start;background:none;border:none;padding:0;font:700 14.5px var(--text);color:var(--marker-ink);cursor:pointer;margin-bottom:14px}.fi-st-head{display:flex;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}.fi-st-head h3{font-family:var(--display);font-size:24px;margin:0;color:var(--ink)}.fi-st-head p{margin:2px 0 0;font-size:14px;color:var(--slate-600)}.fi-st-kpis{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden}.fi-st-kpis>div{padding:12px 18px;border-right:1px solid var(--line);display:flex;flex-direction:column}.fi-st-kpis>div:last-child{border-right:none}.fi-st-kpis span{font-size:13px;font-weight:700;color:var(--slate-600)}.fi-st-kpis b{font-family:var(--display);font-size:24px;color:var(--ink)}.fi-st-kpis b.t-red{color:var(--red-ink)}.fi-st-kpis b.t-green{color:var(--green)}.fi-move{display:flex;align-items:center;gap:10px}.fi-move i{width:9px;height:9px;border-radius:50%;background:var(--slate-300);flex:none}.fi-move i.payment{background:#2f8f5b}.fi-move b{display:block;font-size:14.5px}.fi-move small{display:block;font-size:12.5px;color:var(--slate-400)}@media (max-width: 1100px){.fi-gain,.fi-pay{grid-template-columns:1fr}.fi-strip{grid-template-columns:1fr 1fr}.fi-strip .fi-strip-cta{grid-column:1 / -1}}.sc-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.sc-list li+li{border-top:1px solid var(--line)}.sc-row{width:100%;display:flex;align-items:center;gap:16px;padding:12px 20px;background:none;border:none;text-align:left;cursor:pointer;font:inherit;color:var(--ink)}.sc-row:hover{background:var(--sheet)}.sc-date{width:60px;flex:none;display:flex;flex-direction:column;align-items:center;background:var(--sheet);border:1px solid var(--line);border-radius:12px;padding:6px 0;line-height:1.2}.sc-date b{font-family:var(--display);font-size:17px}.sc-date small{font-size:11.5px;font-weight:700;color:var(--slate-400)}.sc-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.sc-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13.5px}.sc-notes{font-size:14.5px;color:var(--slate-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi.is-owe{background:var(--red-soft);border-color:var(--red-line)}.kpi.is-owe .kpi-value,.kpi.is-owe .kpi-label{color:var(--red-ink)}.cl-act-wrap{position:relative;display:grid}.cl-pop{position:absolute;top:calc(100% + 6px);right:0;z-index:20;width:230px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-pop);padding:6px}.cl-pop button{display:block;width:100%;text-align:left;border:none;background:none;padding:10px 12px;border-radius:8px;font:700 14px var(--text);color:var(--ink);cursor:pointer}.cl-pop button:hover{background:var(--mist)}.cl-pop small{display:block;font-weight:500;font-size:12.5px;color:var(--slate-400)}.cl-act.is-link{color:var(--marker-ink);border-color:var(--marker-line);background:var(--marker-soft)}.cl-count{position:absolute;top:6px;right:8px;min-width:20px;height:20px;border-radius:999px;background:var(--marker-ink);color:#fff;font-size:11.5px;display:grid;place-items:center;padding:0 5px}.lk-list{list-style:none;margin:0 0 14px;padding:0;border:1px solid var(--line);border-radius:12px}.lk-list li{display:flex;align-items:center;gap:10px;padding:9px 12px;border-top:1px solid var(--line)}.lk-list li:first-child{border-top:none}.lk-list.compact{margin:0}.lk-kind{font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--marker-soft);color:var(--marker-ink);white-space:nowrap}.lk-title{flex:1;min-width:0;font-size:14.5px;color:var(--ink)}.lk-title small{color:var(--slate-400)}.lk-check{display:flex;align-items:flex-start;gap:8px;font-size:14px;color:var(--slate-600);margin:0 0 14px;cursor:pointer}.lk-check input{margin-top:3px;accent-color:var(--ink)}.lk-form{border-top:1px solid var(--line);padding-top:16px}.bill-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.bill-grid>div{background:var(--sheet);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column}.bill-grid span{font-size:13px;font-weight:600;color:var(--slate-600)}.bill-grid b{font-family:var(--display);font-size:22px;color:var(--ink)}.bill-grid small{font-size:12.5px;color:var(--slate-400)}.bill-status{margin-top:12px;border-radius:12px;padding:12px 14px;font-size:14.5px;display:flex;flex-direction:column;gap:2px}.bill-status strong{font-size:15px}.bill-status.owing{background:var(--red-soft);color:var(--red-ink);border:1px solid var(--red-line)}.bill-status.credit{background:var(--green-soft);color:var(--green);border:1px solid var(--green-line)}.bill-status.even{background:var(--mist);color:var(--slate-600)}.mcs-notes{margin:0;white-space:pre-wrap;font-size:15.5px;line-height:1.6;color:var(--ink);background:var(--sheet);border:1px solid var(--line);border-radius:12px;padding:14px 16px}.mc-page{height:100vh;box-sizing:border-box;padding:24px 28px 20px;display:flex;flex-direction:column;margin:0 auto}.mc-page .mc-wrap{flex:1;height:auto;min-height:0;grid-template-columns:minmax(420px,34%) minmax(0,1fr)}@media (max-width: 1100px){.mc-page{height:auto}.mc-page .mc-wrap{grid-template-columns:1fr}}.home-folds{display:flex;flex-direction:column;gap:14px;min-width:0}.home-fold{margin-top:0}.home-fold .people-list{border-top:1px solid var(--line)}.summary-meta.has-alert{color:var(--amber);font-weight:700}.xp-col{min-width:0;position:sticky;top:calc(var(--topbar-h) + 16px);align-self:start}.xp-col .xp-panel{position:static;max-height:calc(100vh - 100px)}.xp-spacer{visibility:hidden}@media (max-width: 1080px){.xp-col{position:static}.xp-spacer{display:none}}.av-themes{margin-top:28px;display:flex;flex-direction:column}.av-themes-list{max-height:440px;overflow-y:auto;border-top:1px solid var(--line)}.av-themes-list .ex-row:first-child{border-top:none}.ag-nowline{position:absolute;left:var(--hcol);right:0;height:0;border-top:1.5px dashed rgba(29,78,216,.45);z-index:3;pointer-events:none}.ag-nowlabel{position:absolute;left:calc(-1 * var(--hcol) + 4px);top:-10px;font-size:11.5px;font-weight:800;color:#fff;background:var(--marker-ink);padding:2px 6px;border-radius:6px}.ag-now{height:2.5px;z-index:4}.ag-hour{border-bottom:none}.ag-grid-head,.ag-grid-body{box-sizing:border-box}.tk-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.tk-assign{margin-bottom:16px}.tk-week{display:flex;flex-direction:column;height:calc(100vh - 330px);min-height:360px}.tk-week-head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}.tk-arrow{width:38px;height:38px;border-radius:10px;border:1px solid var(--line-strong);background:var(--paper);font-size:22px;line-height:1;color:var(--ink);cursor:pointer;display:grid;place-items:center}.tk-arrow:hover{border-color:var(--ink)}.tk-week-title{display:flex;flex-direction:column;min-width:190px;text-align:center}.tk-week-title h3{font-family:var(--display);font-size:18px;margin:0;color:var(--ink)}.tk-week-title span{font-size:13px;color:var(--slate-400)}.tk-week-meta{margin-left:auto;font-size:14px;color:var(--slate-600)}.tk-week-body{flex:1;min-height:0;overflow-y:auto}.tk-list{list-style:none;margin:0;padding:0}.tk-row{display:flex;align-items:center;gap:14px;padding:12px 18px;border-bottom:1px solid var(--line)}.tk-row:hover{background:var(--sheet)}.tk-emoji{width:38px;height:38px;border-radius:10px;background:var(--mist);display:grid;place-items:center;font-size:18px;flex:none}.tk-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.tk-main b{font-size:15.5px;color:var(--ink)}.tk-main small{font-size:13.5px;color:var(--slate-600)}.tk-main .tk-instr{color:var(--slate-400);font-style:italic}@media (max-width: 900px){.tk-week{height:auto;max-height:70vh}.tk-week-meta{margin-left:0;width:100%}}.page-wrap:has(.tk-week){padding-bottom:24px}.tk-pending-btn{display:inline-flex;align-items:center;gap:6px;margin-left:4px}.tk-pending-btn span{font-size:12px;font-weight:700;padding:0 7px;border-radius:999px;background:var(--mist);color:var(--slate-600)}.tk-pending-btn.has span{background:var(--amber-soft);color:var(--amber)}.tk-when{width:56px;flex:none;display:flex;flex-direction:column;align-items:center;line-height:1.2}.tk-when b{font-family:var(--display);font-size:16px;color:var(--ink)}.tk-when small{font-size:11.5px;color:var(--slate-400)}.cl-modal{width:min(1000px,100%);overflow:hidden}.cl-detail{flex:1;min-height:0;display:flex;flex-direction:column}.cl-scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.cl-scroll::-webkit-scrollbar{width:10px}.cl-scroll::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px;border:3px solid var(--paper)}.cl-scroll::-webkit-scrollbar-track{background:transparent;margin:8px 0}.mc-panel{overflow:hidden}.cl-notes-label{display:flex;justify-content:space-between;align-items:center}.cl-notes-status{font-size:12px;letter-spacing:0;text-transform:none;font-weight:600;color:var(--green)}.cl-notes-status.is-error{color:var(--red-ink)}.cl-act.is-board{color:var(--marker-ink);border-color:var(--marker-line);background:var(--marker-soft)}.cl-act.is-board .cl-count{background:var(--green)}.cl-linked{border:1.5px dashed var(--line-strong);background:var(--sheet);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:12px}.cl-linked .lk-list{background:var(--paper)}.cl-linked-empty{margin:0;font-size:14px;color:var(--slate-600);line-height:1.5}.cl-linked-btn{align-self:flex-start;display:inline-flex;gap:6px;align-items:center}.ag-event.is-done:after{content:"✓";position:absolute;right:5px;top:5px;width:18px;height:18px;border-radius:50%;background:#16a34a;color:#fff;font-size:11px;font-weight:900;line-height:18px;text-align:center;box-shadow:0 0 0 2px #fff}.ag-event.is-done b{padding-right:20px}.wb-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#18181b8c;display:flex;padding:14px}.wb-window{flex:1;min-width:0;background:var(--paper);border-radius:18px;box-shadow:var(--shadow-pop);display:flex;flex-direction:column;overflow:hidden}.wb-head{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line)}.wb-title{display:flex;flex-direction:column;margin-right:auto}.wb-title b{font-family:var(--display);font-size:17px;color:var(--ink)}.wb-title span{font-size:13px;color:var(--slate-400)}.wb-status{font-size:13px;color:var(--slate-600)}.wb-status.is-error{color:var(--red-ink);font-weight:600}.wb-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 14px;border-bottom:1px solid var(--line);background:var(--sheet)}.wb-group{display:flex;align-items:center;gap:4px;padding-right:10px;border-right:1px solid var(--line)}.wb-group:last-child,.wb-right{border-right:none}.wb-right{margin-left:auto;padding-right:0}.wb-tool{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 11px;border-radius:10px;border:1px solid transparent;background:none;font:600 13.5px var(--text);color:var(--slate-600);cursor:pointer}.wb-tool:hover:not(:disabled){background:var(--paper);border-color:var(--line);color:var(--ink)}.wb-tool.on{background:var(--ink);color:#fff}.wb-tool:disabled{opacity:.4;cursor:default}.wb-swatch{width:24px;height:24px;border-radius:50%;border:2px solid var(--paper);box-shadow:0 0 0 1px var(--line-strong);cursor:pointer;padding:0}.wb-swatch.on{box-shadow:0 0 0 2px var(--ink)}.wb-custom{width:26px;height:26px;border-radius:50%;overflow:hidden;background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);box-shadow:0 0 0 1px var(--line-strong);cursor:pointer;position:relative}.wb-custom input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}.wb-size{width:36px;height:36px;border-radius:10px;border:1px solid transparent;background:none;display:grid;place-items:center;cursor:pointer}.wb-size:hover{background:var(--paper);border-color:var(--line)}.wb-size.on{background:var(--paper);border-color:var(--ink)}.wb-size i{display:block;border-radius:50%}.wb-tsize span{font-weight:700;color:var(--ink);line-height:1}.wb-stage{flex:1;min-height:0;position:relative;background:#ececef;display:flex;padding:12px}.wb-board{flex:1;width:100%;height:100%;touch-action:none;-webkit-user-select:none;user-select:none;display:block;filter:drop-shadow(0 2px 8px rgba(24,24,27,.12))}.wb-board.tool-pen,.wb-board.tool-marker{cursor:crosshair}.wb-board.tool-text{cursor:text}.wb-board.tool-eraser{cursor:none}.wb-textarea{position:absolute;z-index:2;min-width:60px;border:1.5px dashed var(--marker-ink);background:#ffffffd9;outline:none;resize:none;padding:0;margin:0;line-height:1.25;font-family:var(--text),system-ui,sans-serif;overflow:hidden;white-space:pre}.wb-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--slate-600);z-index:3}.wb-hint{padding:6px 16px;font-size:12.5px;color:var(--slate-400);border-top:1px solid var(--line)}.cl-modal.narrow{overflow-y:auto}.wb-stage{padding:0;background:#fff;overflow:hidden}.wb-board{position:absolute;top:0;right:0;bottom:0;left:0;filter:none}.wb-board.is-grab{cursor:grab!important}.wb-board.is-panning{cursor:grabbing!important}.wb-label{font-size:12.5px;font-weight:700;color:var(--slate-400);margin-right:4px}.wb-seg{display:inline-flex;gap:2px;padding:3px;background:var(--paper);border:1px solid var(--line);border-radius:10px}.wb-seg button{border:none;background:none;font:600 13px var(--text);color:var(--slate-600);padding:6px 10px;border-radius:8px;cursor:pointer}.wb-seg button.on{background:var(--ink);color:#fff}.wb-nav{position:absolute;right:14px;bottom:14px;z-index:4;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}.wb-nav>*{pointer-events:auto}.wb-zoom{display:inline-flex;background:var(--paper);border:1px solid var(--line);border-radius:10px;box-shadow:0 4px 14px -6px #18181b4d;overflow:hidden}.wb-zoom button{border:none;background:none;min-width:38px;height:34px;font:700 14px var(--text);color:var(--ink);cursor:pointer;padding:0 10px}.wb-zoom button:hover{background:var(--mist)}.wb-zoom button+button{border-left:1px solid var(--line)}.wb-mini{border-radius:10px;border:1px solid var(--line-strong);box-shadow:0 4px 14px -6px #18181b4d;cursor:pointer;background:#fff}.wb-right .wb-tool span{display:none}.wb-right .wb-tool{width:38px;padding:0;justify-content:center}.wb-toolbar{gap:6px;flex-wrap:nowrap;overflow-x:auto}.wb-group{padding-right:6px;gap:3px;flex:none}.wb-swatch{width:22px;height:22px}@media (max-width: 1500px){.wb-label{display:none}.wb-tool{padding:0 9px}}.fi-kind{margin-bottom:8px;width:100%;box-sizing:border-box}.fi-kind label{flex:1;justify-content:center}.fi-kind label.on.is-debt{color:var(--red-ink)}.fi-kind-hint{font-size:13.5px;color:var(--slate-600);line-height:1.5;margin:0 0 14px}.fi-debt{display:block;font-size:12px;font-weight:600;color:var(--red-ink)}.fi-move i.debt{background:var(--red)}.fi-bar-val{font-size:12px;font-weight:700;fill:var(--ink);font-family:var(--text)}.fi-sub-num{display:block;font-size:12px;color:var(--slate-400)}.alert-warning{background:var(--amber-soft);border:1px solid var(--amber-line);color:var(--amber)}.form-2col{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;align-items:start}.form-2col>.field:has(textarea),.form-2col>.alert,.form-2col>.btn-row,.form-2col>fieldset{grid-column:1 / -1}@media (max-width: 900px){.form-2col{grid-template-columns:1fr}}.account-page{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.account-page>.page-head,.account-page>.alert{grid-column:1 / -1}.account-page>.card,.account-page>section{margin-top:0!important}@media (max-width: 900px){.account-page{grid-template-columns:1fr}}.wt-bi{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--slate-600);cursor:pointer;margin-left:4px}.wt-bi input{position:absolute;opacity:0;width:1px;height:1px}.wt-bi input:checked+.ag-switch-track{background:var(--marker-ink)}.wt-bi input:checked+.ag-switch-track span{transform:translate(18px)}.wt-bi input:focus-visible+.ag-switch-track{outline:2px solid var(--ink-2);outline-offset:2px}.wt-anchor{width:auto;min-width:170px}.kpi.kt{--c: var(--ink);--soft: var(--mist);--soft2: var(--paper);--line-c: var(--line);position:relative;overflow:hidden;background:linear-gradient(135deg,var(--soft) 0%,var(--soft2) 72%);border-color:var(--line-c)}.kpi.kt .kpi-value,.kpi.kt .kpi-label,.kpi.kt .kpi-foot{position:relative}.kpi.kt .kpi-label{color:var(--c);font-weight:700}.kpi.kt .kpi-foot{border-top-color:var(--line-c);color:var(--slate-600)}.kt-mark{position:absolute;right:-14px;bottom:-22px;color:var(--c);opacity:.12;pointer-events:none}.kpi.kt.kt-blue{--c: #1D4ED8;--soft: #E8F0FF;--soft2: #F4F8FF;--line-c: #B9D3FF}.kpi.kt.kt-green{--c: #1C5C3B;--soft: #E3F1E8;--soft2: #F3FAF5;--line-c: #BCDCC8}.kpi.kt.kt-yellow{--c: #805700;--soft: #FFF3CC;--soft2: #FFFAE8;--line-c: #F4D77A}.kpi.kt.kt-coral{--c: #B42F1C;--soft: #FDECE8;--soft2: #FFF6F3;--line-c: #F5C3B8}.kpi.kt.kt-neutral{--c: var(--slate-600)}.kpi-link.kt:hover{box-shadow:0 14px 30px -18px var(--c);border-color:var(--line-c)}.lv-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin-bottom:26px}.lv-btn{position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--paper);cursor:pointer;text-align:left;font:inherit;color:var(--ink);transition:border-color .12s,box-shadow .12s}.lv-btn:hover{border-color:var(--ink-3)}.lv-btn.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.lv-code{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--mist);font-family:var(--display);font-size:17px;font-weight:700;flex:none}.lv-btn.on .lv-code{background:var(--ink);color:#fff}.lv-text{display:flex;flex-direction:column;min-width:0}.lv-text b{font-size:15px;text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lv-text small{font-size:13px;color:var(--slate-400)}.lv-mine{position:absolute;top:-8px;right:10px;font-size:11px;font-weight:700;color:var(--marker-ink);background:var(--marker-soft);border:1px solid var(--marker-line);padding:1px 8px;border-radius:999px}.xc-daily{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;margin-bottom:16px}.xc-daily-card{min-height:0}.xc-daily-card .tt-value{font-size:22px}.xc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}.xc{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:border-color .12s,box-shadow .12s}.xc:hover{border-color:var(--line-strong);box-shadow:0 10px 24px -18px #18181b73}.xc-link{flex:1;display:flex;align-items:flex-start;gap:14px;padding:16px 18px 12px;text-decoration:none;color:var(--ink)}.xc-link:hover{text-decoration:none}.xc-emoji{width:46px;height:46px;border-radius:12px;background:var(--mist);display:grid;place-items:center;font-size:22px;flex:none}.xc-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.xc-title{font-size:16.5px;font-weight:700}.xc-sub{font-size:13.5px;color:var(--slate-600);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.xc-badge{font-size:12.5px;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap;flex:none}.xc-badge.new{background:var(--marker-soft);color:var(--marker-ink)}.xc-badge.good{background:var(--green-soft);color:var(--green)}.xc-badge.mid{background:var(--amber-soft);color:var(--amber)}.xc-badge.low{background:var(--red-soft);color:var(--red-ink)}.xc-foot{display:grid;grid-template-columns:1fr auto;grid-template-areas:"bar bar" "meta go";gap:8px 12px;align-items:center;padding:10px 18px 14px;border-top:1px solid var(--line);background:var(--sheet)}.xc-bar{grid-area:bar;height:6px;border-radius:999px;background:var(--line);overflow:hidden}.xc-bar span{display:block;height:100%;border-radius:999px;background:var(--slate-300)}.xc-bar span.good{background:#2f8f5b}.xc-bar span.mid{background:#d69e2e}.xc-bar span.low{background:#d23a22}.xc-meta{grid-area:meta;font-size:13px;color:var(--slate-600)}.xc-go{grid-area:go;font-size:14px;font-weight:700;color:var(--ink);text-decoration:none;white-space:nowrap}.xc-foot .btn{grid-area:go}.lv-pick{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.lv-text b{white-space:normal;overflow:visible;line-height:1.25}
