.ui-v2 .ui-ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.ui-v2 .ui-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;min-width:0}.ui-v2 .ui-card+.ui-card{margin-top:20px}.ui-v2 .ui-card-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.ui-v2 .ui-card-h h2,.ui-v2 .ui-card-h h3,.ui-v2 .ui-card-title{font-size:18px;font-weight:700;margin:0;letter-spacing:.03em;font-feature-settings:"palt"}.ui-v2 .ui-card-h .ui-meta,.ui-v2 .ui-meta{font-size:14px;color:var(--muted)}.ui-v2 .ui-sunken{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:14px 16px}.ui-v2 .ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 16px;border-radius:10px;font-size:15px;font-weight:700;line-height:1.4;border:1px solid var(--line2);background:var(--panel);color:var(--text);cursor:pointer;text-decoration:none;white-space:nowrap}.ui-v2 .ui-btn:hover{background:var(--hover)}.ui-v2 .ui-btn--primary{background:var(--cta);border-color:var(--cta);color:var(--cta-text)}.ui-v2 .ui-btn--primary:hover{background:var(--cta);filter:brightness(1.1)}.ui-v2 .ui-btn--sm{min-height:34px;padding:5px 12px;font-size:14px}.ui-v2 .ui-btn--lg{min-height:48px;padding:10px 22px;font-size:15px}.ui-v2 .ui-btn--ghost{border-color:transparent;background:transparent}.ui-v2 .ui-btn--ghost:hover{background:var(--hover)}.ui-v2 .ui-btn--block{width:100%}.ui-v2 .ui-btn:disabled,.ui-v2 .ui-btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;filter:none}.ui-v2 .ui-link{color:var(--gtext);font-size:14px;font-weight:700;display:inline-flex;align-items:center;gap:4px;background:none;border:0;padding:0;cursor:pointer;text-decoration:none}.ui-v2 .ui-link:hover{text-decoration:underline}.ui-v2 .ui-iconbtn{width:40px;height:40px;border-radius:10px;display:inline-grid;place-items:center;color:var(--muted);background:none;border:0;cursor:pointer;position:relative}.ui-v2 .ui-iconbtn:hover{background:var(--hover);color:var(--text)}.ui-v2 .ui-chip{display:inline-flex;align-items:center;gap:6px;font-size:13px;line-height:1.5;border-radius:999px;padding:3px 10px;border:1px solid var(--line2);color:var(--muted);background:transparent;max-width:100%;overflow-wrap:anywhere}.ui-v2 .ui-chip--ok{background:var(--acc-t);border-color:transparent;color:var(--gtext);font-weight:700}.ui-v2 .ui-chip--now{background:var(--text);border-color:var(--text);color:var(--bg);font-weight:700}.ui-v2 .ui-chip--strong{border-color:var(--text);color:var(--text);font-weight:700}.ui-v2 .ui-badge{font-size:12px;font-weight:700;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--cta);color:var(--cta-text);display:inline-grid;place-items:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.ui-v2 .ui-dot{width:8px;height:8px;border-radius:50%;background:var(--g1);display:inline-block;flex-shrink:0}.ui-v2 .ui-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:22px;overflow-x:auto;scrollbar-width:none}.ui-v2 .ui-tabs::-webkit-scrollbar{display:none}.ui-v2 .ui-tab{padding:10px 14px;font-size:15px;color:var(--muted);background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-weight:400}.ui-v2 .ui-tab:hover{color:var(--text)}.ui-v2 .ui-tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--gtext);font-weight:700}.ui-v2 .ui-seg{display:inline-flex;border:1px solid var(--line2);border-radius:10px;padding:3px;gap:2px;max-width:100%}.ui-v2 .ui-seg--block{display:flex}.ui-v2 .ui-seg--block>button{flex:1 1}.ui-v2 .ui-seg>button{padding:5px 12px;border-radius:7px;font-size:14px;color:var(--muted);background:none;border:0;cursor:pointer;font-weight:400;min-height:32px}.ui-v2 .ui-seg>button:hover{color:var(--text)}.ui-v2 .ui-seg>button[aria-pressed=true],.ui-v2 .ui-seg>button[aria-selected=true]{background:var(--inset);color:var(--text);font-weight:700}.ui-v2 .ui-list{display:grid}.ui-v2 .ui-row{display:grid;grid-template-columns:auto 1fr auto;grid-gap:14px;gap:14px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.ui-v2 .ui-row--2{grid-template-columns:1fr auto}.ui-v2 .ui-row:first-child{border-top:0;padding-top:0}.ui-v2 .ui-row:last-child{padding-bottom:0}.ui-v2 .ui-row-main{font-size:15px;min-width:0}.ui-v2 .ui-row-sub{font-size:13px;color:var(--muted)}.ui-v2 .ui-empty{text-align:center;color:var(--muted);padding:28px 10px;font-size:14px;margin:0}.ui-v2 .ui-date{width:52px;text-align:center;border:1px solid var(--line);border-radius:12px;padding:4px 0;line-height:1.2;flex-shrink:0}.ui-v2 .ui-date b{display:block;font-size:19px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em}.ui-v2 .ui-date small{display:block;font-size:12px;color:var(--muted)}.ui-v2 .ui-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));grid-gap:14px;gap:14px;margin-bottom:20px}@media (max-width:639px){.ui-v2 .ui-kpis{gap:8px}.ui-v2 .ui-kpi{padding:12px}.ui-v2 .ui-kpi small{font-size:13px}}.ui-v2 .ui-kpi{border:1px solid var(--line);border-radius:14px;padding:16px;background:var(--panel)}.ui-v2 .ui-kpi small{font-size:14px;color:var(--muted);display:block}.ui-v2 .ui-kpi b{display:block;font-size:30px;font-weight:700;letter-spacing:-.02em;margin:4px 0 2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.3}.ui-v2 .ui-kpi b span{font-size:15px;color:var(--muted);margin-left:2px;font-weight:400}.ui-v2 .ui-bar{height:8px;border-radius:4px;background:var(--inset);overflow:hidden}.ui-v2 .ui-bar>i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--g3),var(--g2) 55%,var(--g1));transition:width .4s}.ui-v2 .ui-check{width:26px;height:26px;border-radius:8px;border:2px solid var(--line2);display:inline-grid;place-items:center;background:transparent;cursor:pointer;flex-shrink:0}.ui-v2 .ui-check[aria-checked=true],.ui-v2 .ui-check[aria-pressed=true]{background:var(--cta);border-color:var(--cta)}.ui-v2 .ui-check[aria-checked=true]:after,.ui-v2 .ui-check[aria-pressed=true]:after{content:"";width:10px;height:5px;border:solid var(--cta-text);border-width:0 0 2px 2px;transform:rotate(-45deg) translateY(-1px)}.ui-v2 .ui-switch{width:46px;height:28px;border-radius:14px;background:var(--line2);position:relative;border:0;cursor:pointer;flex-shrink:0;transition:background .2s}.ui-v2 .ui-switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--c-white);box-shadow:0 1px 3px var(--c-v2-ink-a30);transition:left .2s}.ui-v2 .ui-switch[aria-checked=true]{background:var(--cta)}.ui-v2 .ui-switch[aria-checked=true]:after{left:21px}.ui-v2 .ui-field{display:grid;grid-gap:6px;gap:6px}.ui-v2 .ui-label{font-size:14px;color:var(--muted);font-weight:700}.ui-v2 .ui-hint{font-size:13px;color:var(--muted);margin:0;line-height:1.7}.ui-v2 .ui-input,.ui-v2 .ui-select,.ui-v2 .ui-textarea{width:100%;min-height:40px;border:1px solid var(--line2);border-radius:10px;padding:8px 12px;background:var(--panel);color:var(--text);font-size:15px;line-height:1.6}.ui-v2 .ui-textarea{min-height:96px;resize:vertical}.ui-v2 .ui-input:focus,.ui-v2 .ui-select:focus,.ui-v2 .ui-textarea:focus{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--focus)}.ui-v2 .ui-note--warn{background:var(--warn-t);border-color:transparent;box-shadow:inset 4px 0 0 var(--warn);padding-left:16px}.ui-v2 .ui-note--warn>.ui-ic{color:var(--warn)}.ui-v2 .ui-chip--warn{background:var(--warn-t);border-color:transparent;color:var(--text);font-weight:700}.ui-v2 .ui-chip--warn:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--warn);flex-shrink:0}.ui-v2 .ui-note{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.7;padding:12px 14px;border-radius:12px;background:var(--panel2);border:1px solid var(--line);color:var(--text)}.ui-v2 .ui-note--strong{border-color:var(--text)}.ui-v2 .ui-error{font-size:14px;font-weight:700;color:var(--text);margin:0;display:flex;gap:6px;align-items:flex-start}.ui-v2 .ui-error:before{content:"！";flex-shrink:0}.ui-v2 .ui-stepper{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}.ui-v2 .ui-step{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--faint);padding:6px 12px 6px 6px;border-radius:999px;border:1px solid var(--line)}.ui-v2 .ui-step i{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:13px;background:var(--inset);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ui-v2 .ui-step[data-state=current]{color:var(--text);border-color:var(--text)}.ui-v2 .ui-step[data-state=current] i{background:var(--cta);color:var(--cta-text)}.ui-v2 .ui-step[data-state=done]{color:var(--muted)}.ui-v2 .ui-step[data-state=done] i{background:var(--acc-t);color:var(--gtext)}.ui-v2 .ui-table-wrap{overflow-x:auto;position:relative}.ui-v2 .ui-table{width:100%;border-collapse:collapse;font-size:15px}.ui-v2 .ui-table th{text-align:left;font-size:13px;font-weight:700;color:var(--muted);padding:0 12px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.ui-v2 .ui-table td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top}.ui-v2 .ui-table .ui-r{text-align:right;font-family:var(--f-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.ui-v2 .ui-grid{display:grid;grid-gap:20px;gap:20px}.ui-v2 .ui-grid--main{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.ui-v2 .ui-grid--2{grid-template-columns:1fr 1fr}@media (max-width:1279px){.ui-v2 .ui-grid--2,.ui-v2 .ui-grid--main{grid-template-columns:1fr}}.ui-v2 .ui-stack{display:grid;grid-gap:20px;gap:20px;align-content:start}.ui-v2 .ui-grid>*+.ui-card,.ui-v2 .ui-grid>.ui-card+.ui-card{margin-top:0}.ui-v2 .ui-grid{align-items:start}.ui-v2 .ui-modal{position:fixed;inset:0;z-index:100;background:var(--overlay);display:grid;place-items:center;padding:20px}.ui-v2 .ui-modal-box{width:100%;max-width:440px;max-height:calc(100svh - 40px);overflow-y:auto;background:var(--panel);color:var(--text);border:1px solid var(--line2);border-radius:18px;padding:24px;box-shadow:var(--shadow)}.ui-v2 .ui-modal-box--wide{max-width:640px}.ui-v2 .ui-modal-title{font-size:19px;font-weight:700;margin:0 0 12px;letter-spacing:.03em;font-feature-settings:"palt"}.ui-v2 .ui-modal-body{font-size:15px;line-height:1.8}.ui-v2 .ui-modal-text{margin:0;white-space:pre-wrap}.ui-v2 .ui-dl{display:grid;grid-template-columns:auto 1fr;grid-gap:8px 16px;gap:8px 16px;margin:0 0 14px;font-size:15px}.ui-v2 .ui-dl dt{color:var(--muted)}.ui-v2 .ui-dl dd{margin:0;font-weight:700;min-width:0;overflow-wrap:anywhere}.ui-v2 .ui-modal-acts{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;flex-wrap:wrap}.ui-v2 .ui-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:120;display:flex;align-items:center;gap:14px;background:var(--text);color:var(--bg);padding:12px 16px;border-radius:12px;font-size:15px;box-shadow:var(--shadow);max-width:calc(100vw - 32px)}.ui-v2 .ui-toast button{font-weight:700;color:var(--bg);text-decoration:underline;text-underline-offset:3px;background:none;border:0;cursor:pointer;font-size:15px}@media (max-width:1023px){.ui-v2 .ui-toast{bottom:calc(84px + env(safe-area-inset-bottom, 0px))}}.ui-v2 .ui-pop{position:absolute;right:0;top:48px;width:340px;max-width:calc(100vw - 32px);max-height:70vh;overflow-y:auto;background:var(--panel);border:1px solid var(--line2);border-radius:14px;box-shadow:var(--shadow);padding:8px;z-index:40}.ui-v2 .ui-pop-h{font-size:15px;font-weight:700;padding:8px 10px 6px;display:flex;justify-content:space-between;align-items:center;margin:0}.ui-v2 .ui-pop-item{display:grid;grid-template-columns:10px 1fr;grid-gap:10px;gap:10px;padding:10px;border-radius:10px;text-align:left;width:100%;background:none;border:0;cursor:pointer;color:var(--text)}.ui-v2 .ui-pop-item:hover{background:var(--hover)}.ui-v2 .ui-pop-item>i{width:8px;height:8px;border-radius:50%;margin-top:8px;background:transparent}.ui-v2 .ui-pop-item[data-unread=true]>i{background:var(--g1)}.ui-v2 .ui-pop-item b{display:block;font-size:14px}.ui-v2 .ui-pop-item span{display:block;font-size:13px;color:var(--muted);white-space:pre-wrap}.ui-v2 .ui-pop-item small{display:block;font-size:12px;color:var(--faint)}.ui-v2 .ui-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:10px;font-size:15px;color:var(--text);background:none;border:0;text-align:left;cursor:pointer;text-decoration:none}.ui-v2 .ui-menu-item:hover{background:var(--hover)}.ui-v2 .ui-menu-sep{height:1px;background:var(--line);margin:6px 4px;border:0}.ui-v2 .ui-loading{display:flex;justify-content:center;align-items:center;gap:10px;padding:40px 0;color:var(--muted);font-size:14px}.ui-v2 .ui-section-title{font-size:18px;font-weight:700;margin:0 0 12px;letter-spacing:.03em;font-feature-settings:"palt"}.ui-v2 .ui-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.ui-v2 .ui-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.ui-v2 .ui-session{--kind:var(--g3);position:relative;display:grid;grid-template-columns:60px minmax(0,1fr) auto;grid-gap:16px 18px;gap:16px 18px;padding:18px 20px 18px 24px;background:var(--panel);border:1px solid var(--line);border-radius:16px}.ui-v2 .ui-session:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:5px;border-radius:0 5px 5px 0;background:var(--kind)}.ui-v2 .ui-session[data-kind=lesson]{--kind:var(--cta)}.ui-v2 .ui-session[data-kind=orientation]{--kind:var(--g2)}.ui-v2 .ui-session[data-kind=consult]{--kind:var(--g1)}.ui-v2 .ui-session[data-kind=coaching]{--kind:var(--text)}.ui-v2 .ui-session[data-attention]{--kind:var(--warn)}.ui-v2 .ui-session-date{text-align:center;border:1px solid var(--line);border-radius:12px;padding:6px 0;line-height:1.25;align-self:start;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ui-v2 .ui-session-date b{display:block;font-size:22px;font-weight:700;letter-spacing:-.02em}.ui-v2 .ui-session-date small{display:block;font-size:12px;color:var(--muted)}.ui-v2 .ui-session-date[data-today]{background:var(--text);border-color:var(--text);color:var(--bg)}.ui-v2 .ui-session-date[data-today] small{color:var(--bg);opacity:.8}.ui-v2 .ui-session-main{display:grid;grid-gap:6px;gap:6px;min-width:0}.ui-v2 .ui-session-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ui-v2 .ui-session-time{font-size:20px;font-weight:700;letter-spacing:-.01em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.3}.ui-v2 .ui-session-title{font-size:17px;font-weight:700;line-height:1.5}.ui-v2 .ui-session-title-label{font-size:14px;font-weight:400;color:var(--muted)}.ui-v2 .ui-session-sub{font-size:13px;color:var(--muted);overflow-wrap:anywhere}.ui-v2 .ui-session-body{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ui-v2 .ui-session-acts{display:grid;grid-gap:8px;gap:8px;justify-items:end;align-content:start}.ui-v2 .ui-session-panel{grid-column:1/-1;min-width:0}.ui-v2 .ui-kind{display:inline-flex;align-items:center;font-size:13px;font-weight:700;border-radius:999px;padding:2px 10px;line-height:1.6;white-space:nowrap}.ui-v2 .ui-kind[data-kind=lesson]{background:var(--cta);color:var(--cta-text)}.ui-v2 .ui-kind[data-kind=orientation]{box-shadow:inset 0 0 0 1px var(--g2)}.ui-v2 .ui-kind[data-kind=consult],.ui-v2 .ui-kind[data-kind=orientation]{background:var(--acc-t);color:var(--gtext)}.ui-v2 .ui-kind[data-kind=coaching]{background:var(--text);color:var(--bg)}.ui-v2 .ui-day-h{display:flex;align-items:baseline;gap:10px;margin:26px 0 12px}.ui-v2 .ui-day-h:first-child{margin-top:0}.ui-v2 section+section>.ui-day-h:first-child{margin-top:26px}.ui-v2 .ui-day-h h2{font-size:18px;margin:0}.ui-v2 .ui-day-h span{font-size:14px;color:var(--muted)}.ui-v2 .ui-day-h[data-bucket=today] h2{color:var(--gtext)}.ui-v2 .ui-session-list{display:grid;grid-gap:12px;gap:12px}@media (max-width:639px){.ui-v2 .ui-session{grid-template-columns:52px minmax(0,1fr);padding:16px 16px 16px 20px;gap:12px 14px}.ui-v2 .ui-session-acts{grid-column:1/-1;justify-items:stretch;grid-auto-flow:row}.ui-v2 .ui-session-date b{font-size:19px}}.ui-v2 .ui-student{position:relative;display:grid;grid-gap:14px;gap:14px;padding:18px 20px 18px 24px;background:var(--panel);border:1px solid var(--line);border-radius:16px}.ui-v2 .ui-student:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:5px;border-radius:0 5px 5px 0;background:var(--acc-t)}.ui-v2 .ui-student[data-attention]{border-color:var(--gtext)}.ui-v2 .ui-student[data-attention]:before{background:var(--gtext)}.ui-v2 .ui-student[data-finished]{opacity:.75}.ui-v2 .ui-student-head{display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap}.ui-v2 .ui-student-name{font-size:18px;font-weight:700;margin-right:2px}.ui-v2 .ui-student-course{font-size:14px;color:var(--muted)}.ui-v2 .ui-student-overdue{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:700;color:var(--text)}.ui-v2 .ui-student-overdue .ui-ic{color:var(--warn)}.ui-v2 .ui-flag-h{font-size:13px;font-weight:700;color:var(--muted);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;-webkit-text-decoration-color:var(--gtext);text-decoration-color:var(--gtext);white-space:nowrap}.ui-v2 .ui-flag-h[data-tone=warn]{-webkit-text-decoration-color:var(--warn);text-decoration-color:var(--warn)}.ui-v2 .ui-flag-items{font-size:14px;color:var(--text)}.ui-v2 .ui-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:10px;gap:10px}.ui-v2 .ui-metric{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:grid;grid-gap:4px;gap:4px;align-content:start;min-width:0}.ui-v2 .ui-metric small{font-size:13px;color:var(--muted)}.ui-v2 .ui-metric b{font-size:18px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.4}.ui-v2 .ui-metric b span{font-size:13px;color:var(--muted);font-weight:400;margin-left:4px}.ui-v2 .ui-metric[data-warn]{background:var(--warn-t);border-color:transparent}.ui-v2 .ui-bar--warn>i{background:var(--warn)}.ui-v2 .ui-task{--tone:var(--g1);position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px 20px;gap:12px 20px;align-items:center;padding:16px 20px 16px 24px;background:var(--panel);border:1px solid var(--line);border-radius:16px}.ui-v2 .ui-task:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:5px;border-radius:0 5px 5px 0;background:var(--tone)}.ui-v2 .ui-task[data-tone=write]{--tone:var(--cta)}.ui-v2 .ui-task[data-tone=book]{--tone:var(--g2)}.ui-v2 .ui-task[data-tone=check]{--tone:var(--g1)}.ui-v2 .ui-task[data-tone=follow]{--tone:var(--text)}.ui-v2 .ui-task[data-overdue]{border-color:var(--warn)}.ui-v2 .ui-task[data-overdue]:before{background:var(--warn)}.ui-v2 .ui-task-main{display:grid;grid-gap:6px;gap:6px;min-width:0}.ui-v2 .ui-task-head{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap}.ui-v2 .ui-task-kind{display:inline-flex;align-items:center;font-size:13px;font-weight:700;border-radius:999px;padding:2px 10px;line-height:1.6;white-space:nowrap;background:var(--acc-t);color:var(--gtext)}.ui-v2 .ui-task[data-tone=write] .ui-task-kind{background:var(--cta);color:var(--cta-text)}.ui-v2 .ui-task[data-tone=book] .ui-task-kind{box-shadow:inset 0 0 0 1px var(--g2)}.ui-v2 .ui-task[data-tone=follow] .ui-task-kind{background:var(--text);color:var(--bg)}.ui-v2 .ui-task-due{display:inline-flex;align-items:center;gap:5px;font-size:14px;font-weight:700}.ui-v2 .ui-task-due .ui-ic{color:var(--muted)}.ui-v2 .ui-task-title{margin:0;font-size:16px;font-weight:700;line-height:1.6}.ui-v2 .ui-task-sub{margin:0;display:flex;align-items:center;gap:6px;font-size:14px;color:var(--muted)}.ui-v2 .ui-task-acts{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.ui-v2 .ui-btn--strong{border-color:var(--text)}.ui-v2 .ui-task-list{display:grid;grid-gap:10px;gap:10px}@media (max-width:639px){.ui-v2 .ui-task{grid-template-columns:minmax(0,1fr);padding:14px 16px 14px 20px}.ui-v2 .ui-task-acts{flex-direction:row;flex-wrap:wrap;align-items:center}}.ui-v2 .ui-day-h[data-tone]:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--line2);align-self:center;flex-shrink:0}.ui-v2 .ui-day-h[data-tone=warn]:before{background:var(--warn)}.ui-v2 .ui-day-h[data-tone=today]:before{background:var(--cta)}.ui-v2 .ui-day-h[data-tone=today] h2{color:var(--gtext)}.ui-v2 .ui-day-h[data-tone=week]:before{background:var(--g1)}.ui-v2 .ui-kpi[data-warn]{background:var(--warn-t);border-color:transparent;box-shadow:inset 4px 0 0 var(--warn)}.ui-v2 .ui-card--warn{border-color:var(--warn);box-shadow:inset 5px 0 0 var(--warn)}.ui-v2 .ui-alert-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px 16px;gap:8px 16px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.ui-v2 .ui-alert-row:first-child{border-top:0;padding-top:0}.ui-v2 .ui-alert-row p{margin:0;font-size:15px;line-height:1.7}@media (max-width:639px){.ui-v2 .ui-alert-row{grid-template-columns:minmax(0,1fr)}.ui-v2 .ui-alert-row>.ui-btn{justify-self:start}.ui-v2 .ui-alert-row>div{justify-items:start!important}.ui-v2 .ui-alert-row>div>div{justify-content:flex-start!important}}.ui-v2{--trim:.3px;--trim-bg:var(--panel)}.ui-v2.ui-theme-brand,.ui-v2[lang=zh-Hant]{--trim:0px}.ui-v2 :is([lang=zh-Hant],[lang=zh]){--trim:0px}.ui-v2 :where(h1,h2,h3,h4,b,strong,th,.ui-btn,.ui-link,.ui-tab[aria-selected=true],.ui-seg>[aria-pressed=true],.ui-seg>[aria-selected=true],.ui-label,.ui-error,.ui-modal-title,.ui-dl dd,.ui-pop-h,.ui-section-title,.ui-session-title,.ui-student-name,.ui-task-title,.ui-toast button,.ui-nav-item[aria-current=page],.ui-tabbar-item[aria-current=page],.ui-sheet-h,.ui-logo,.t-pending-name,.modal-title,.modal-field label,.modal-sublabel,.modal-slot-banner,.survey-question,.onb-step-title,.onb-field label,.onb-btn-next,.onb-btn-back,.lcg-nav-label,.lcg-cell-label,.hour-chip.selected,.add-mode-tab.active){-webkit-text-stroke:var(--trim) var(--trim-bg)}.ui-v2 :is(.ui-btn--primary,.onb-btn-next,.hour-chip.selected){--trim-bg:var(--cta)}.ui-v2 .ui-toast{--trim-bg:var(--text)}.ui-v2 :is(.ui-chip,.ui-kind,.ui-task-kind,.ui-num,.ui-kpi b,.ui-metric b,.ui-session-time,.ui-session-date,.ui-date b,.ui-badge,.ui-logo-mark,.lcg-day-num,.ui-mono){-webkit-text-stroke:0}.ui-v2 .ui-table,.ui-v2 .ui-table *{-webkit-text-stroke:0}.ui-v2 .ui-assign-row{--tone:var(--line2);position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;width:100%;text-align:left;padding:16px 20px 16px 24px;background:var(--panel);border:1px solid var(--line);border-radius:16px;color:inherit;cursor:pointer;font:inherit}.ui-v2 .ui-assign-row:hover{background:var(--hover)}.ui-v2 .ui-assign-row:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:5px;border-radius:0 5px 5px 0;background:var(--tone)}.ui-v2 .ui-assign-row>.ui-ic{color:var(--muted)}.ui-v2 .ui-assign-row[data-stage=confirm]{--tone:var(--warn);border-color:var(--warn)}.ui-v2 .ui-assign-row[data-stage=hold]{--tone:var(--g1)}.ui-v2 .ui-assign-row[data-stage=rest]{--tone:var(--g2)}.ui-v2 .ui-assign-row[data-stage=done]{--tone:var(--cta)}.ui-v2 .ui-assign-name{font-size:17px}.ui-v2 .ui-assign-stage{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;border-radius:999px;padding:2px 10px;line-height:1.6;background:var(--panel2);border:1px solid var(--line)}.ui-v2 .ui-assign-row[data-stage=confirm] .ui-assign-stage{background:var(--warn-t);border-color:transparent}.ui-v2 .ui-assign-row[data-stage=declined]{--tone:var(--warn);border-color:var(--warn);border-width:2px}.ui-v2 .ui-assign-row[data-stage=declined] .ui-assign-stage{background:var(--warn);border-color:transparent;color:var(--c-v2-ink)}.ui-v2 .ui-assign-declined{display:flex;gap:6px;align-items:flex-start;font-size:14px;font-weight:700;color:var(--text);background:var(--warn-t);border-radius:8px;padding:6px 10px}.ui-v2 .ui-assign-declined .ui-ic{color:var(--warn);flex-shrink:0;margin-top:2px}.ui-v2 .ui-assign-row[data-stage=confirm] .ui-assign-stage:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--warn)}.ui-v2 .ui-assign-row[data-stage=hold] .ui-assign-stage{background:var(--acc-t);border-color:transparent;color:var(--gtext)}.ui-v2 .ui-assign-row[data-stage=rest] .ui-assign-stage{background:var(--acc-t);border-color:var(--g2);color:var(--gtext)}.ui-v2 .ui-assign-row[data-stage=done] .ui-assign-stage{background:var(--cta);border-color:var(--cta);color:var(--cta-text)}.ui-v2 .ui-assign-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}.ui-v2 .ui-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.ui-v2 .ui-steps li{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted);padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);min-width:0}.ui-v2 .ui-steps-dot{flex-shrink:0;width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;font-size:12px;font-weight:700;border:1px solid var(--line2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ui-v2 .ui-steps li[data-state=done]{color:var(--text)}.ui-v2 .ui-steps li[data-state=done] .ui-steps-dot{background:var(--cta);border-color:var(--cta);color:var(--cta-text)}.ui-v2 .ui-steps li[data-state=now]{color:var(--text);font-weight:700;border-color:var(--text)}.ui-v2 .ui-steps li[data-state=now] .ui-steps-dot{border-color:var(--text)}@media (max-width:639px){.ui-v2 .ui-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}.ui-v2 .ui-match[data-assigned]{border-color:var(--gtext)}.ui-v2 .ui-match-h{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;width:100%;background:none;border:0;padding:0;color:inherit;cursor:pointer;font:inherit}.ui-v2 .ui-match-name{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:17px;font-weight:700}.ui-v2 .ui-match-caret{display:inline-flex;color:var(--muted);transition:transform .15s}.ui-v2 .ui-match-h[aria-expanded=true] .ui-match-caret{transform:rotate(90deg)}.ui-v2 .ui-match-foot{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;justify-content:space-between;padding-top:16px;border-top:1px solid var(--line)}.ui-v2 .ui-pattern,.ui-v2 .ui-patterns{display:grid;grid-gap:8px;gap:8px}.ui-v2 .ui-pattern{border:1px solid var(--line);border-radius:12px;padding:10px 12px}.ui-v2 .ui-pattern[data-on]{border-color:var(--gtext);box-shadow:inset 4px 0 0 var(--g1)}.ui-v2 .ui-pattern-h{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap}.ui-v2 .ui-pattern-h b{font-size:15px}.ui-v2 .ui-pattern-dates{display:flex;flex-wrap:wrap;gap:6px}.ui-v2 .ui-date-chip{display:inline-flex;align-items:center;gap:4px;font:inherit;font-size:13px;padding:3px 10px;border-radius:999px;border:1px solid var(--line2);background:var(--panel);color:var(--text);cursor:pointer}.ui-v2 .ui-date-chip:hover:not(:disabled){background:var(--hover)}.ui-v2 .ui-date-chip[data-state=on]{background:var(--acc-t);border-color:var(--gtext);color:var(--gtext);font-weight:700}.ui-v2 .ui-date-chip[data-state=held]{background:var(--cta);border-color:var(--cta);color:var(--cta-text);cursor:default}.ui-v2 .ui-date-chip:disabled:not([data-state]){opacity:.45;cursor:default}.ui-v2 .ui-chip--toggle{cursor:pointer}.ui-v2 .ui-chip--toggle[aria-pressed=true]{border-color:var(--text);color:var(--text);font-weight:700}.ui-v2 .ui-details>summary{cursor:pointer;font-size:14px;color:var(--gtext);font-weight:700}.ui-v2 .ui-date-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:14px}.ui-v2 .ui-date-list li[data-past]{color:var(--faint)}.ui-v2 .ui-date-chip[data-state=clash]{text-decoration:line-through;color:var(--faint);border-style:dashed;opacity:1}.ui-v2 .ui-assign-row[data-stage=held]{--tone:var(--g2)}.ui-v2 .ui-assign-row[data-stage=held] .ui-assign-stage{background:var(--acc-t);border-color:var(--g2);color:var(--gtext)}.ui-v2 .ui-hw-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}.ui-v2 .ui-hw-title{font-size:24px;margin:2px 0 4px;line-height:1.4}.ui-v2 .ui-hw-acts,.ui-v2 .ui-hw-head-acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ui-v2 .ui-hw-note{display:block;font-size:13px;color:var(--muted);margin:0;line-height:1.6}.ui-v2 .ui-hw-kpis{margin-bottom:0;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.ui-v2 .ui-hw-avatar{display:inline-grid;place-items:center;flex-shrink:0;border-radius:50%;background:var(--acc-t);color:var(--gtext);font-weight:700;line-height:1}.ui-v2 .ui-hw-who{display:flex;align-items:center;gap:12px;min-width:0}.ui-v2 .ui-hw-name{color:var(--text);font-size:15px;font-weight:700;text-decoration:none}.ui-v2 .ui-hw-name:hover{text-decoration:underline}.ui-v2 .ui-hw-sub{display:block;font-size:13px;color:var(--muted);line-height:1.5}.ui-v2 .ui-hw-crumb{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--muted)}.ui-v2 .ui-hw-follow-h{display:flex;align-items:center;gap:8px;margin-bottom:12px}.ui-v2 .ui-hw-follow-h h3{font-size:16px;margin:0}.ui-v2 .ui-hw-follow-h>.ui-ic{color:var(--warn)}.ui-v2 .ui-hw-follow-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px}.ui-v2 .ui-hw-follow-item{display:grid;grid-gap:4px;gap:4px;padding:12px 14px 12px 18px;border-radius:12px;background:var(--warn-t);box-shadow:inset 4px 0 0 var(--warn);font-size:13px;line-height:1.6}.ui-v2 .ui-hw-follow-top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px}.ui-v2 .ui-hw-follow-top .ui-link{font-size:13px}.ui-v2 .ui-hw-table-h{justify-content:space-between;gap:10px 16px;padding:16px 22px;border-bottom:1px solid var(--line)}.ui-v2 .ui-hw-legend,.ui-v2 .ui-hw-table-h{display:flex;align-items:center;flex-wrap:wrap}.ui-v2 .ui-hw-legend{gap:6px 14px;font-size:12px;color:var(--muted)}.ui-v2 .ui-hw-legend>span{display:inline-flex;align-items:center;gap:6px}.ui-v2 .ui-hw-legend .ui-hw-bar{width:16px}.ui-v2 .ui-hw-table td,.ui-v2 .ui-hw-table th{vertical-align:middle}.ui-v2 .ui-hw-table th{vertical-align:bottom;padding-top:12px}.ui-v2 .ui-hw-table td:first-child,.ui-v2 .ui-hw-table th:first-child{padding-left:22px}.ui-v2 .ui-hw-table td:last-child,.ui-v2 .ui-hw-table th:last-child{padding-right:22px}.ui-v2 .ui-hw-table td{padding-top:10px;padding-bottom:10px}.ui-v2 .ui-hw-days-h{display:flex;gap:6px;margin-top:6px;font-weight:400;font-size:12px;line-height:1.3}.ui-v2 .ui-hw-days-h>span{width:28px;text-align:center}.ui-v2 .ui-hw-days-h>span[data-today]{color:var(--text);font-weight:700}.ui-v2 .ui-hw-days{display:flex;gap:6px}.ui-v2 .ui-hw-day{display:inline-grid;gap:3px}.ui-v2 .ui-hw-bar{display:block;width:28px;height:10px;border-radius:3px;box-sizing:border-box}.ui-v2 .ui-hw-bar[data-state=done]{background:var(--g2)}.ui-v2 .ui-hw-bar[data-state=review]{background:var(--cta)}.ui-v2 .ui-hw-bar[data-state=reviewed]{background:var(--acc-t);border:1px solid var(--g2)}.ui-v2 .ui-hw-bar[data-state=missed]{background:var(--warn-t);border:1px solid var(--warn)}.ui-v2 .ui-hw-bar[data-state=pending]{background:transparent;border:1px dashed var(--line2)}.ui-v2 .ui-hw-bar[data-state=none]{background:var(--panel2);border:1px solid var(--line)}.ui-v2 .ui-hw-streak{display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap}.ui-v2 .ui-hw-streak>.ui-ic{color:var(--gtext);align-self:center}.ui-v2 .ui-hw-streak b{font-size:20px}.ui-v2 .ui-hw-streak span{font-size:13px;color:var(--muted)}.ui-v2 .ui-hw-streak[data-zero]>.ui-ic{color:var(--faint)}.ui-v2 .ui-hw-pending{font-size:18px}.ui-v2 .ui-hw-pending[data-zero]{color:var(--faint)}.ui-v2 .ui-hw-pending-chip{white-space:nowrap}.ui-v2 .ui-hw-review-h>.ui-ic{color:var(--gtext)}.ui-v2 .ui-hw-review-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:12px;gap:12px}.ui-v2 .ui-hw-review-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:var(--acc-t);color:var(--text);text-decoration:none}.ui-v2 .ui-hw-review-item:hover{box-shadow:inset 0 0 0 1px var(--cta)}.ui-v2 .ui-hw-review-item:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.ui-v2 .ui-hw-review-text{display:grid;grid-gap:2px;gap:2px;flex:1 1;min-width:0;font-size:13px;color:var(--muted)}.ui-v2 .ui-hw-review-text b{font-size:14px;color:var(--text)}.ui-v2 .ui-hw-review-item .ui-btn{flex-shrink:0}.ui-v2 .ui-hw-profile{display:flex;align-items:center;justify-content:space-between;gap:16px 28px;flex-wrap:wrap}.ui-v2 .ui-hw-chips{display:flex;gap:6px;flex-wrap:wrap}.ui-v2 .ui-hw-kpis-inline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));flex:1 1 560px;min-width:0}.ui-v2 .ui-hw-kpis-inline>div{display:grid;grid-gap:2px;gap:2px;align-content:start;padding:2px 16px;border-left:1px solid var(--line);min-width:0}.ui-v2 .ui-hw-kpis-inline small{font-size:13px;color:var(--muted)}.ui-v2 .ui-hw-kpis-inline b{font-size:26px;line-height:1.3}.ui-v2 .ui-hw-kpis-inline b>span{font-size:14px;color:var(--muted);font-weight:400;margin-left:2px}.ui-v2 .ui-hw-detail{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);grid-gap:20px;gap:20px;align-items:start}@media (max-width:1279px){.ui-v2 .ui-hw-detail{grid-template-columns:minmax(0,1fr)}}@media (max-width:767px){.ui-v2 .ui-hw-kpis-inline{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:12px}.ui-v2 .ui-hw-kpis-inline>div{padding:2px 10px}}.ui-v2 .ui-hw-cal-wrap{overflow-x:auto}.ui-v2 .ui-hw-cal{display:grid;grid-template-columns:repeat(8,minmax(64px,1fr));grid-gap:6px;gap:6px;min-width:560px}.ui-v2 .ui-hw-cal-h{font-size:12px;color:var(--muted);text-align:center;font-weight:700}.ui-v2 .ui-hw-cal-h[data-week]{color:var(--gtext)}.ui-v2 .ui-hw-cal-day{min-height:68px;border:1px solid var(--line);border-radius:10px;padding:6px;display:flex;flex-direction:column;justify-content:space-between;gap:4px;background:var(--panel);min-width:0}.ui-v2 .ui-hw-cal-day[data-out]{background:var(--panel2);color:var(--faint)}.ui-v2 .ui-hw-cal-day[data-today]{border:2px solid var(--gtext)}.ui-v2 .ui-hw-cal-day[data-week]{background:var(--panel2);justify-content:flex-start;font-size:13px}.ui-v2 .ui-hw-cal-day[data-week] .ui-chip{font-size:12px;padding:1px 6px;border-radius:8px;white-space:normal;text-align:center;line-height:1.4}.ui-v2 .ui-hw-cal-day[data-clickable]{cursor:pointer}.ui-v2 .ui-hw-cal-day[data-clickable]:hover{background:var(--hover)}.ui-v2 .ui-hw-cal-day[data-clickable]:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.ui-v2 .ui-hw-cal-day[data-selected]{box-shadow:inset 0 0 0 2px var(--cta)}.ui-v2 .ui-hw-sendbar{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;flex-wrap:wrap;margin:0 22px 12px;padding:10px 14px;border-radius:12px;background:var(--panel2);font-size:13px;color:var(--muted)}.ui-v2 .ui-hw-sendbar[data-ready]{background:var(--acc-t);color:var(--text)}.ui-v2 .ui-hw-progress-week{margin-left:8px;font-size:13px;color:var(--muted);font-weight:400}.ui-v2 .ui-hw-progress-val{font-size:22px}.ui-v2 .ui-hw-progress{height:14px;border-radius:7px;background:var(--panel2);border:1px solid var(--line);overflow:hidden}.ui-v2 .ui-hw-progress>i{display:block;height:100%;background:var(--g2);border-radius:7px}.ui-v2 .ui-hw-progress-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;font-size:14px}.ui-v2 .ui-hw-progress-weekly{display:inline-flex;align-items:center;gap:6px;color:var(--muted)}.ui-v2 .ui-hw-cal-top{display:flex;justify-content:space-between;align-items:center;gap:4px;font-size:13px}.ui-v2 .ui-hw-cal-day .ui-hw-bar{width:100%}.ui-v2 .ui-hw-stats{display:grid;grid-gap:12px;gap:12px}.ui-v2 .ui-hw-stats-h{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center}.ui-v2 .ui-hw-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}@media (min-width:768px){.ui-v2 .ui-hw-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.ui-v2 .ui-hw-stat{display:grid;grid-gap:2px;gap:2px;align-content:start;background:var(--inset);border-radius:10px;padding:10px 12px;min-width:0}.ui-v2 .ui-hw-stat small{font-size:12px;color:var(--muted)}.ui-v2 .ui-hw-stat b{font-size:20px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ui-v2 .ui-hw-stat span{font-size:12px;color:var(--muted)}.ui-v2 .ui-hw-chart-h{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center}.ui-v2 .ui-hw-seg-wrap{flex-wrap:wrap}.ui-v2 .ui-hw-chart-wrap{display:grid;grid-gap:4px;gap:4px}.ui-v2 .ui-hw-chart-max{font-size:12px;color:var(--muted)}.ui-v2 .ui-hw-chart{display:flex;align-items:flex-end;gap:4px;height:120px;border-bottom:1px solid var(--line)}.ui-v2 .ui-hw-col{flex:1 1;height:100%;display:flex;align-items:flex-end;min-width:0}.ui-v2 .ui-hw-col>i{display:block;width:100%;background:var(--g2);opacity:.55;border-radius:3px 3px 0 0}.ui-v2 .ui-hw-col[data-now]>i{opacity:1}.ui-v2 .ui-hw-axis{display:flex;gap:4px;font-size:12px;color:var(--faint)}.ui-v2 .ui-hw-axis span{flex:1 1;min-width:0;text-align:center;overflow:visible;white-space:nowrap}.ui-v2 .ui-hw-axis .ui-hw-axis-2{line-height:1.3}.ui-v2 .ui-hw-axis[data-many],.ui-v2 .ui-hw-chart[data-many]{gap:2px}.ui-v2 .ui-hw-chart-empty{text-align:center}.ui-v2 .ui-hw-badge{font-size:12px;font-weight:700;border-radius:4px;padding:0 5px;line-height:1.6;white-space:nowrap}.ui-v2 .ui-hw-badge[data-kind=today]{background:var(--cta);color:var(--cta-text)}.ui-v2 .ui-hw-badge[data-kind=test]{background:var(--acc-t);color:var(--gtext)}.ui-v2 .ui-hw-badge[data-kind=reset]{background:var(--warn-t);color:var(--text)}.ui-v2 .ui-hw-subs{list-style:none;margin:0;padding:0}.ui-v2 .ui-hw-sub{display:grid;grid-template-columns:76px minmax(0,1fr) auto auto;grid-gap:8px 16px;gap:8px 16px;align-items:center;padding:12px 22px;border-bottom:1px solid var(--line)}.ui-v2 .ui-hw-sub[data-clickable]{cursor:pointer}.ui-v2 .ui-hw-sub[data-clickable]:hover{background:var(--hover)}.ui-v2 .ui-hw-sub:last-child{border-bottom:0}.ui-v2 .ui-hw-sub[data-selected]{background:var(--acc-t);box-shadow:inset 4px 0 0 var(--gtext)}.ui-v2 .ui-hw-sub-date{display:grid;line-height:1.4}.ui-v2 .ui-hw-sub-date b{font-size:14px}.ui-v2 .ui-hw-sub-date span,.ui-v2 .ui-hw-sub-main small{font-size:12px;color:var(--muted)}.ui-v2 .ui-hw-sub-main{display:grid;line-height:1.5;min-width:0}.ui-v2 .ui-hw-sub-main>span{font-size:14px;overflow-wrap:anywhere}.ui-v2 .ui-hw-sub-act{justify-self:end}@media (max-width:639px){.ui-v2 .ui-hw-sub{grid-template-columns:64px minmax(0,1fr);padding:12px 16px}.ui-v2 .ui-hw-sub>div:nth-child(3){grid-column:2}.ui-v2 .ui-hw-sub-act{grid-column:2;justify-self:start}.ui-v2 .ui-hw-table-h{padding:14px 16px}}.ui-v2 .ui-hw-panel,.ui-v2 .ui-hw-result{display:grid;grid-gap:14px;gap:14px}.ui-v2 .ui-hw-panel-h{align-items:flex-start}.ui-v2 .ui-hw-panel-foot,.ui-v2 .ui-hw-panel-h{display:flex;justify-content:space-between;gap:10px 16px;flex-wrap:wrap}.ui-v2 .ui-hw-panel-foot{align-items:center}.ui-v2 .ui-hw-panel-foot .ui-hint{flex:1 1 220px}.ui-v2 .ui-hw-diary{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:14px 16px;font-size:15px;line-height:2.1;white-space:pre-wrap;overflow-wrap:anywhere}.ui-v2 .ui-hw-diary del,.ui-v2 .ui-hw-edit-legend del,.ui-v2 .ui-hw-edit-sel del{text-decoration:line-through;text-decoration-thickness:2px;-webkit-text-decoration-color:var(--warn);text-decoration-color:var(--warn);color:var(--muted)}.ui-v2 .ui-hw-diary ins,.ui-v2 .ui-hw-edit-legend ins{text-decoration:none;color:var(--gtext);font-weight:700;border-bottom:2px solid var(--gtext);margin-left:2px}.ui-v2 .ui-hw-diary [role=button],.ui-v2 .ui-hw-diary ins{cursor:pointer}.ui-v2 .ui-hw-diary [data-picked]{background:var(--acc-t);border-radius:3px}.ui-v2 .ui-hw-edit-tools{display:flex;gap:8px}.ui-v2 .ui-hw-edit-list{display:grid;grid-gap:6px;gap:6px}.ui-v2 .ui-hw-edit-list ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:4px;gap:4px}.ui-v2 .ui-hw-edit-list li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:4px 8px;border:1px solid var(--line);border-radius:8px;font-size:14px}.ui-v2 .ui-hw-edit-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line2);border-radius:10px;background:var(--panel)}.ui-v2 .ui-hw-edit-sel{font-size:14px;overflow-wrap:anywhere}.ui-v2 .ui-hw-edit-legend{display:flex;gap:6px 14px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.ui-v2 .ui-hw-edit-legend>span{display:inline-flex;gap:6px;align-items:center}.ui-v2 .ui-hw-comment{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:14px;line-height:1.8;margin:0;white-space:pre-wrap}.ui-v2 .ui-hw-comment p{margin:4px 0 0}.ui-v2 .ui-hw-audio{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:12px;background:var(--panel2)}.ui-v2 .ui-hw-play{width:40px;height:40px;border-radius:50%;border:1px solid var(--line2);background:var(--panel);color:var(--text);display:inline-grid;place-items:center;cursor:pointer;flex-shrink:0}.ui-v2 .ui-hw-audio[data-strong] .ui-hw-play{background:var(--cta);border-color:var(--cta);color:var(--cta-text)}.ui-v2 .ui-hw-play:disabled{opacity:.45;cursor:default}.ui-v2 .ui-hw-points{margin:4px 0 0;padding-left:1.4em;display:grid;grid-gap:4px;gap:4px;font-size:14px;line-height:1.7}.ui-v2 .ui-hw-qno{flex-shrink:0;width:32px;height:32px;border-radius:8px;background:var(--acc-t);color:var(--gtext);font-weight:700;font-size:13px;display:inline-grid;place-items:center}.ui-v2 .ui-hw-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}@media (max-width:1023px){.ui-v2 .ui-hw-result-grid{grid-template-columns:minmax(0,1fr)}}.ui-v2 .ui-hw-box{border:1px solid var(--line);border-radius:12px;padding:16px 18px;display:grid;grid-gap:12px;gap:12px;align-content:start;min-width:0}.ui-v2 .ui-hw-box-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}.ui-v2 .ui-hw-box-h h4{margin:0;font-size:15px}.ui-v2 .ui-hw-score{display:grid;grid-template-columns:76px minmax(0,1fr) 72px;grid-gap:4px 12px;gap:4px 12px;align-items:center;font-size:13px}.ui-v2 .ui-hw-score>.ui-num{text-align:right;white-space:nowrap}.ui-v2 .ui-hw-score-bar{position:relative;height:12px;border-radius:6px;background:var(--inset)}.ui-v2 .ui-hw-score-bar>i{position:absolute;left:0;top:0;bottom:0;border-radius:6px;background:var(--g2)}.ui-v2 .ui-hw-prevmark>b,.ui-v2 .ui-hw-score-bar>b{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--text)}.ui-v2 .ui-hw-score-prev{grid-column:2;font-size:12px;color:var(--muted);margin-top:-2px}.ui-v2 .ui-hw-prevmark{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.ui-v2 .ui-hw-prevmark>b{position:static;display:inline-block;height:12px}.ui-v2 .ui-hw-cefr{display:grid;grid-gap:6px;gap:6px;overflow-x:auto}.ui-v2 .ui-hw-cefr-row{display:grid;grid-template-columns:minmax(120px,1.4fr) repeat(6,34px) minmax(90px,1fr);grid-gap:6px;gap:6px;align-items:center;min-width:470px}.ui-v2 .ui-hw-cefr-h{font-size:12px;color:var(--muted);text-align:center}.ui-v2 .ui-hw-cefr-label{font-size:13px}.ui-v2 .ui-hw-lv{display:inline-grid;place-items:center;height:24px;border-radius:6px;background:var(--panel2);border:1px solid var(--line);font-size:12px;font-weight:700}.ui-v2 .ui-hw-lv[data-prev]{background:transparent;border:2px dashed var(--g2);color:var(--gtext)}.ui-v2 .ui-hw-lv[data-now]{background:var(--cta);border-color:var(--cta);color:var(--cta-text)}.ui-v2 .ui-hw-cefr-legend .ui-hw-lv{width:18px;height:14px;vertical-align:middle}.ui-v2 .ui-hw-delta{font-size:12px;color:var(--muted);padding-left:4px}.ui-v2 .ui-hw-delta[data-up]{color:var(--gtext);font-weight:700}.ui-v2 .ui-hw-cefr-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--muted);padding-top:4px}.ui-v2 .ui-hw-scoreform{display:grid;grid-gap:8px;gap:8px;padding-top:12px;border-top:1px solid var(--line)}.ui-v2 .ui-hw-scoreform-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,1.2fr);grid-gap:10px;gap:10px;align-items:center;font-size:13px}.ui-v2 .ui-hw-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}@media (max-width:767px){.ui-v2 .ui-hw-types{grid-template-columns:minmax(0,1fr)}}.ui-v2 .ui-hw-type{display:grid;grid-gap:6px;gap:6px;text-align:left;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;font:inherit}.ui-v2 .ui-hw-type:hover:not(:disabled){background:var(--hover)}.ui-v2 .ui-hw-type[aria-selected=true]{border:2px solid var(--gtext);background:var(--acc-t)}.ui-v2 .ui-hw-type:disabled{opacity:.45;cursor:default}.ui-v2 .ui-hw-type-h{display:flex;align-items:center;gap:8px;font-size:16px}.ui-v2 .ui-hw-assign{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);grid-gap:20px;gap:20px;align-items:start}@media (max-width:1279px){.ui-v2 .ui-hw-assign{grid-template-columns:minmax(0,1fr)}}.ui-v2 .ui-hw-fieldset{border:0;margin:0;padding:0;min-width:0;display:grid;grid-gap:20px;gap:20px}.ui-v2 .ui-hw-field-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}.ui-v2 .ui-hw-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.ui-v2 .ui-hw-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}@media (max-width:767px){.ui-v2 .ui-hw-grid2,.ui-v2 .ui-hw-grid3{grid-template-columns:minmax(0,1fr)}}.ui-v2 .ui-hw-students{display:flex;flex-wrap:wrap;gap:8px}.ui-v2 .ui-hw-student{font-size:14px;padding:4px 12px 4px 4px}.ui-v2 .ui-hw-student[aria-pressed=true]{background:var(--acc-t);border-color:var(--gtext);color:var(--text)}.ui-v2 .ui-hw-student .ui-hw-avatar{font-size:12px!important}.ui-v2 .ui-hw-themes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px 16px;gap:8px 16px}@media (max-width:767px){.ui-v2 .ui-hw-themes{grid-template-columns:minmax(0,1fr)}}.ui-v2 .ui-hw-theme{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;font-size:13px;color:var(--muted)}.ui-v2 .ui-hw-mats{display:grid;grid-gap:8px;gap:8px}.ui-v2 .ui-hw-week{display:grid;grid-gap:14px;gap:14px;padding-top:14px;border-top:1px solid var(--line)}.ui-v2 .ui-hw-week-h{margin:0;font-size:15px;font-weight:700;color:var(--text)}.ui-v2 .ui-hw-mat{display:grid;grid-template-columns:18px minmax(0,1fr) auto auto;grid-gap:12px;gap:12px;align-items:center;text-align:left;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;font:inherit}.ui-v2 .ui-hw-mat[aria-checked=true]{border-color:var(--gtext);background:var(--acc-t)}.ui-v2 .ui-hw-mat-main{display:grid;min-width:0}.ui-v2 .ui-hw-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--line2);box-sizing:border-box;display:inline-grid;place-items:center}.ui-v2 .ui-hw-mat[aria-checked=true] .ui-hw-radio{border-color:var(--gtext)}.ui-v2 .ui-hw-mat[aria-checked=true] .ui-hw-radio:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--gtext)}.ui-v2 .ui-hw-upload{justify-content:space-between;flex-wrap:wrap;padding:12px 14px;border:1.5px dashed var(--line2);border-radius:10px;background:var(--panel2);font-size:13px;color:var(--muted)}.ui-v2 .ui-hw-qrow,.ui-v2 .ui-hw-upload{display:flex;align-items:center;gap:10px}.ui-v2 .ui-hw-qrow .ui-input{flex:1 1;min-width:0}.ui-v2 .ui-hw-range{display:flex;align-items:center;gap:6px}.ui-v2 .ui-hw-range .ui-input{flex:1 1;min-width:0}.ui-v2 .ui-hw-parts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}@media (max-width:639px){.ui-v2 .ui-hw-parts{grid-template-columns:repeat(2,minmax(0,1fr))}}.ui-v2 .ui-hw-parts>div{display:grid;grid-gap:2px;gap:2px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--panel2)}.ui-v2 .ui-hw-parts b{font-size:20px}.ui-v2 .ui-hw-visibility{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--panel2)}.ui-v2 .ui-hw-visibility .ui-hint{margin-top:2px}.ui-v2 .ui-hw-summary{margin:0;display:grid;grid-gap:10px;gap:10px}.ui-v2 .ui-hw-summary>div{display:grid;grid-template-columns:72px minmax(0,1fr);grid-gap:10px;gap:10px;font-size:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}.ui-v2 .ui-hw-summary dt{color:var(--muted)}.ui-v2 .ui-hw-summary dd{margin:0;line-height:1.6;overflow-wrap:anywhere}.ui-v2 .ui-hw-preview{display:grid;grid-gap:10px;gap:10px;padding:16px;border-radius:16px;background:var(--inset)}.ui-v2 .ui-hw-preview-card{display:grid;grid-gap:6px;gap:6px;padding:14px 16px;border-radius:12px;background:var(--panel);border:1px solid var(--line);font-size:13px;line-height:1.6}.ui-v2 .ui-hw-preview-top{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted)}.ui-v2 .ui-hw-preview-top b{color:var(--gtext)}.ui-v2 .ui-hw-preview-title{font-size:15px}.ui-v2 .ui-hw-drafts{list-style:none;margin:0;padding:0;display:grid}.ui-v2 .ui-hw-drafts>li{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.ui-v2 .ui-hw-drafts>li:last-child{border-bottom:0}.ui-v2 .ui-hw-drafts>li[data-selected]{box-shadow:inset 4px 0 0 var(--gtext);padding-left:12px}.ui-v2 .ui-hw-drafts-acts{margin-left:auto;display:inline-flex;gap:6px;align-items:center}.ui-v2 .wc-col.is-today{background:var(--panel2)}.ui-v2 .wc-col.is-weekend{background:transparent}.ui-v2 .wc-dhead.is-weekend .wc-dhead-label,.ui-v2 .wc-dhead.is-weekend .wc-dhead-num{color:var(--muted)}.ui-v2 .wc-dhead-num.is-today,.ui-v2 .wc-dhead.is-weekend .wc-dhead-num.is-today{background:var(--cta);color:var(--cta-text)}.ui-v2 .wc-hcell{border-radius:8px;border-left:0}.ui-v2 .wc-hcell.slot-taken{background:var(--inset);color:var(--faint)}.ui-v2 .wc-hcell.slot-available,.ui-v2 .wc-hcell.slot-trial-available{background:var(--acc-t);color:var(--gtext)}.ui-v2 .wc-hcell.slot-booked,.ui-v2 .wc-hcell.slot-mine-booked,.ui-v2 .wc-hcell.slot-trial-booked{background:var(--cta);color:var(--cta-text)}.ui-v2 .wc-hcell.slot-mine-pending,.ui-v2 .wc-hcell.slot-pending,.ui-v2 .wc-hcell.slot-trial-pending{background:transparent;color:var(--text);box-shadow:inset 0 0 0 1.5px var(--text)}.ui-v2 .wc-hcell.slot-empty:hover{background:var(--hover);box-shadow:inset 0 0 0 1px var(--line2)}.ui-v2 .ui-skip{position:absolute;left:-999px;top:8px;background:var(--cta);color:var(--cta-text);padding:8px 12px;border-radius:10px;z-index:200;font-size:14px;text-decoration:none}.ui-v2 .ui-skip:focus{left:8px}.ui-v2 .ui-app{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100svh}.ui-v2 .ui-side{position:-webkit-sticky;position:sticky;top:0;height:100svh;overflow-y:auto;border-right:1px solid var(--line);background:var(--bg);display:flex;flex-direction:column;padding:14px 12px}.ui-v2 .ui-logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:15px;padding:4px 8px 6px;color:var(--text);text-decoration:none;line-height:1.4}.ui-v2 .ui-logo-mark{width:28px;height:28px;border-radius:8px;background:var(--g3);color:var(--c-white);display:grid;place-items:center;font-size:13px;font-weight:700;flex-shrink:0}.ui-v2 .ui-logo{padding-bottom:14px}.ui-v2 .ui-logo-sub{display:block;font-size:13px;font-weight:400;color:var(--muted)}.ui-v2 .ui-nav{display:grid;grid-gap:1px;gap:1px}.ui-v2 .ui-nav-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:9px;font-size:14px;color:var(--muted);text-align:left;width:100%;background:none;border:0;cursor:pointer;text-decoration:none;font-weight:400;line-height:1.4}.ui-v2 .ui-nav-item:hover{background:var(--hover);color:var(--text)}.ui-v2 .ui-nav-item[aria-current=page]{background:var(--inset);color:var(--text);font-weight:700}.ui-v2 .ui-nav-item[aria-current=page] .ui-ic{color:var(--gtext)}.ui-v2 .ui-nav-item .ui-ic{width:17px;height:17px}.ui-v2 .ui-nav-item .ui-badge{margin-left:auto}.ui-v2 .ui-nav-label{font-size:12px;color:var(--faint);padding:0 10px 2px}.ui-v2 .ui-side-sep{height:1px;background:var(--line);margin:10px 6px}.ui-v2 .ui-side-card{margin-top:auto;border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--panel2);min-width:0}.ui-v2 .ui-side-card small{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-v2 .ui-side-card b{display:block;font-size:15px;margin-top:2px;overflow-wrap:anywhere}.ui-v2 .ui-side-card .ui-side-card-sub{font-size:13px;color:var(--muted);margin-top:6px;overflow-wrap:anywhere}.ui-v2 .ui-main{min-width:0;display:flex;flex-direction:column}.ui-v2 .ui-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:14px 32px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);min-height:69px}.ui-v2 .ui-topbar h1{font-size:22px;font-weight:700;margin:0;line-height:1.4;letter-spacing:.03em;font-feature-settings:"palt"}.ui-v2 .ui-topbar .ui-sub{font-size:14px;color:var(--muted);margin-left:4px}.ui-v2 .ui-tools{margin-left:auto;display:flex;align-items:center;gap:6px;position:relative}.ui-v2 .ui-avatar{width:36px;height:36px;border-radius:50%;background:var(--acc-t);color:var(--text);display:grid;place-items:center;font-size:13px;font-weight:700;border:0;cursor:pointer;flex-shrink:0}.ui-v2 .ui-bell-dot{position:absolute;top:9px;right:10px;width:8px;height:8px;border-radius:50%;background:var(--g1);box-shadow:0 0 0 2px var(--bg)}.ui-v2 .ui-content{padding:26px 32px 60px;max-width:1180px;width:100%}.ui-v2 .ui-content--wide{max-width:none}.ui-v2 .ui-content:focus{outline:none}.ui-v2 .ui-banner{margin:0 0 20px}.ui-v2 .ui-tabbar{display:none}.ui-v2 .ui-sheet{position:fixed;inset:0;z-index:90;background:var(--overlay);display:flex;align-items:flex-end}.ui-v2 .ui-sheet-box{width:100%;max-height:80svh;overflow-y:auto;background:var(--panel);border-top:1px solid var(--line2);border-radius:18px 18px 0 0;padding:12px 12px calc(16px + env(safe-area-inset-bottom, 0px));box-shadow:var(--shadow)}.ui-v2 .ui-sheet-h{font-size:15px;font-weight:700;padding:8px 12px;margin:0}@media (max-width:1023px){.ui-v2 .ui-app{grid-template-columns:1fr}.ui-v2 .ui-side{display:none}.ui-v2 .ui-topbar{padding:12px 16px;min-height:61px}.ui-v2 .ui-topbar h1{font-size:20px}.ui-v2 .ui-topbar .ui-sub{display:none}.ui-v2 .ui-content{padding:18px 16px 110px}.ui-v2 .ui-tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:30;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom, 0px))}.ui-v2 .ui-tabbar-item{display:grid;justify-items:center;grid-gap:2px;gap:2px;font-size:12px;color:var(--faint);padding:6px 0;position:relative;background:none;border:0;cursor:pointer;line-height:1.4}.ui-v2 .ui-tabbar-item .ui-ic{width:22px;height:22px}.ui-v2 .ui-tabbar-item[aria-current=page]{color:var(--text);font-weight:700}.ui-v2 .ui-tabbar-item[aria-current=page] .ui-ic{color:var(--gtext)}.ui-v2 .ui-tabbar-item .ui-badge{position:absolute;top:0;left:calc(50% + 6px);min-width:18px;height:18px;font-size:12px;padding:0 5px}}@media (max-width:639px){.ui-v2 .ui-tools .ui-hide-sm{display:none}}.ui-v2 .t-page{background:var(--bg);min-height:0}.ui-v2 .t-inner{max-width:none;margin:0;padding:0}.ui-v2 .t-content{padding:0!important;max-width:none!important}.ui-v2 .t-empty{padding:28px 10px;font-size:14px}.ui-v2 .t-empty,.ui-v2 .t-hint{color:var(--muted);font-weight:400}.ui-v2 .t-hint{font-size:13px}.ui-v2 .t-pending-section{display:flex;flex-direction:column;gap:12px}.ui-v2 .t-pending-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px 20px;gap:16px;box-shadow:none}.ui-v2 .t-pending-info{gap:4px}.ui-v2 .t-pending-date{font-size:15px;font-weight:700;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ui-v2 .t-pending-name{font-size:15px;font-weight:700;color:var(--text)}.ui-v2 .t-pending-email{font-size:13px;font-weight:400;color:var(--muted)}.ui-v2 .t-pending-topic{font-size:13px;font-weight:400;color:var(--gtext);background:var(--acc-t);padding:2px 10px;border-radius:999px;margin-top:4px;width:-moz-fit-content;width:fit-content}.ui-v2 .t-pending-notes{font-size:13px;font-weight:400;color:var(--muted)}.ui-v2 .t-pending-actions{gap:8px}.ui-v2 .t-add-btn,.ui-v2 .t-btn-approve{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 16px;border-radius:10px;font-size:15px;font-weight:700;white-space:nowrap}.ui-v2 .t-btn-approve{border:1px solid var(--text);background:var(--panel);color:var(--text)}.ui-v2 .t-btn-approve:hover{background:var(--hover)}.ui-v2 .t-add-btn{border:1px solid var(--cta);background:var(--cta);color:var(--cta-text)}.ui-v2 .t-add-btn:hover{background:var(--cta);filter:brightness(1.1)}.ui-v2 .t-add-btn:disabled,.ui-v2 .t-btn-approve:disabled{opacity:.45;cursor:not-allowed;filter:none}.ui-v2 .t-btn-reject{min-height:40px;padding:8px 16px;border-radius:10px;border:1px solid var(--line2);background:var(--panel);color:var(--text);font-size:15px;font-weight:700}.ui-v2 .t-btn-reject:hover{background:var(--hover);color:var(--text)}.ui-v2 .t-refresh-btn{width:40px;height:40px;border-radius:10px;border:1px solid var(--line2);background:var(--panel);color:var(--muted);font-size:18px;display:inline-grid;place-items:center;cursor:pointer}.ui-v2 .t-refresh-btn:hover{background:var(--hover);color:var(--text)}.ui-v2 .t-schedule-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.ui-v2 .t-legend{gap:8px;margin-bottom:0}.ui-v2 .t-legend-item{font-size:13px;font-weight:400;padding:3px 10px;border-radius:999px;border:1px solid var(--line2)!important;background:transparent!important;color:var(--muted)!important;display:inline-flex;align-items:center;gap:6px}.ui-v2 .t-legend-item:before{content:"";width:10px;height:10px;border-radius:3px;flex-shrink:0;background:var(--inset)}.ui-v2 .t-legend-available:before{background:var(--acc-t);box-shadow:inset 0 0 0 1px var(--gtext)}.ui-v2 .t-legend-pending:before{background:transparent;box-shadow:inset 0 0 0 1.5px var(--text)}.ui-v2 .t-legend-booked:before{background:var(--cta)}.ui-v2 .t-legend-consult:before{background:var(--acc-t);box-shadow:inset 0 0 0 1px var(--gtext)}.ui-v2 .t-legend-coaching:before{background:var(--text)}.ui-v2 .add-mode-tabs{display:flex;border:1px solid var(--line2);border-radius:10px;padding:3px;gap:2px;overflow:visible;margin-bottom:20px}.ui-v2 .add-mode-tab{flex:1 1;border:0!important;border-radius:7px;padding:6px 12px;min-height:34px;font-size:14px!important;font-weight:400;color:var(--muted);background:none}.ui-v2 .add-mode-tab:hover{background:var(--hover);color:var(--text)}.ui-v2 .add-mode-tab.active{background:var(--inset);color:var(--text);font-weight:700}.ui-v2 .modal-sublabel{font-size:14px;font-weight:700;color:var(--text)}.ui-v2 .modal-sublabel .hour-count{font-size:13px;font-weight:700;color:var(--gtext)}.ui-v2 .day-checkbox-label{font-size:14px;background:var(--panel);border:1px solid var(--line2);border-radius:10px;padding:6px 12px;color:var(--text)}.ui-v2 .day-checkbox-label:has(input:checked){background:var(--inset);border-color:var(--text);color:var(--text);font-weight:700}.ui-v2 .day-checkbox-label input{accent-color:var(--cta);width:16px;height:16px}.ui-v2 .hour-chip{font-size:14px;background:var(--panel);border:1px solid var(--line2);border-radius:10px;padding:8px 12px;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ui-v2 .hour-chip:hover{background:var(--hover);border-color:var(--line2);color:var(--text)}.ui-v2 .hour-chip.selected{background:var(--cta);border-color:var(--cta);color:var(--cta-text);font-weight:700}.ui-v2 .hour-chip.registered,.ui-v2 .hour-chip.registered:hover{background:transparent;border-style:dashed;border-color:var(--line2);color:var(--faint)}.ui-v2 .slot-preview-item{font-size:13px}.ui-v2 .modal-overlay{background:var(--overlay);-webkit-backdrop-filter:none;backdrop-filter:none;z-index:100}.ui-v2 .modal{background:var(--panel);color:var(--text);border:1px solid var(--line2);border-radius:18px;padding:24px;box-shadow:var(--shadow);max-width:440px}.ui-v2 .modal.modal--wide{width:calc(100vw - 32px);max-width:none}.ui-v2 .modal-title{font-size:19px;font-weight:700;color:var(--text);margin-bottom:14px;letter-spacing:.03em;font-feature-settings:"palt"}.ui-v2 .modal-slot-banner{background:var(--panel2);border:1px solid var(--line);color:var(--text);font-size:15px;font-weight:700;border-radius:12px}.ui-v2 .modal-fields{gap:16px}.ui-v2 .modal-field label{font-size:14px;font-weight:700;color:var(--muted)}.ui-v2 .modal-field input,.ui-v2 .modal-field select,.ui-v2 .modal-field textarea{font-size:15px;font-weight:400;color:var(--text);background:var(--panel);border:1px solid var(--line2);border-radius:10px;padding:8px 12px;min-height:40px}.ui-v2 .modal-field input:focus,.ui-v2 .modal-field select:focus,.ui-v2 .modal-field textarea:focus{border-color:var(--focus);background:var(--panel);outline:2px solid var(--focus);outline-offset:1px}.ui-v2 .modal-slot-date{font-size:15px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ui-v2 .modal-status-badge{font-size:13px;font-weight:700;padding:3px 10px;border-radius:999px;color:var(--muted);background:transparent;border:1px solid var(--line2)}.ui-v2 .modal-status-badge.status-available{background:var(--acc-t);border-color:transparent;color:var(--gtext)}.ui-v2 .modal-status-badge.status-pending{border-color:var(--text);color:var(--text);background:transparent}.ui-v2 .modal-status-badge.status-booked{background:var(--cta);border-color:var(--cta);color:var(--cta-text)}.ui-v2 .modal-status-badge.status-cancelled{background:transparent;color:var(--faint)}.ui-v2 .modal-student-info{background:var(--panel2);border:1px solid var(--line);border-radius:12px}.ui-v2 .modal-detail-row,.ui-v2 .modal-info-row{font-size:15px}.ui-v2 .modal-detail-row>span:first-child,.ui-v2 .modal-info-row>span:first-child{font-weight:400;color:var(--muted)}.ui-v2 .modal-detail-row>span:last-child,.ui-v2 .modal-info-row>span:last-child{font-weight:700;color:var(--text);overflow-wrap:anywhere}.ui-v2 .modal-info-row.notes>span:last-child{font-weight:400;color:var(--text)}.ui-v2 .modal-footer{justify-content:flex-end;gap:8px;margin-top:20px;flex-wrap:wrap}.ui-v2 .modal-cancel-btn,.ui-v2 .modal-delete-btn,.ui-v2 .modal-save-btn{min-height:40px;padding:8px 16px;border-radius:10px;font-size:15px;font-weight:700;flex:0 0 auto}.ui-v2 .modal-cancel-btn{border:1px solid var(--line2);background:var(--panel);color:var(--text)}.ui-v2 .modal-cancel-btn:hover{background:var(--hover);border-color:var(--line2);color:var(--text)}.ui-v2 .modal-delete-btn{border:1px solid var(--line2);background:var(--panel);color:var(--text);margin-right:auto}.ui-v2 .modal-delete-btn:hover{background:var(--hover);color:var(--text)}.ui-v2 .modal-save-btn{border:1px solid var(--cta);background:var(--cta);color:var(--cta-text)}.ui-v2 .modal-save-btn:hover{background:var(--cta);filter:brightness(1.1)}.ui-v2 .modal-save-btn:disabled{background:var(--cta);opacity:.45;cursor:not-allowed;filter:none}.ui-v2 .survey-question{font-size:14px;font-weight:700}.ui-v2 .survey-check-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--cta)}.ui-v2 .survey-check-row-label,.ui-v2 .survey-other-inline,.ui-v2 .survey-other-row-text{font-size:14px;font-weight:400}.ui-v2 .survey-other-inline{border-bottom-color:var(--line2)}.ui-v2 .survey-other-inline:focus{border-bottom-color:var(--focus)}.ui-v2 .admin-select{min-height:40px;border:1px solid var(--line2);border-radius:10px;padding:8px 12px;background:var(--panel);color:var(--text);font-size:15px}.ui-v2 .lcg-wrap{background:var(--panel);border:1px solid var(--line);border-radius:16px}.ui-v2 .lcg-filter,.ui-v2 .lcg-nav{background:var(--panel);border-bottom:1px solid var(--line)}.ui-v2 .lcg-nav-btn{width:40px;height:40px;border-radius:10px;border:1px solid var(--line2);color:var(--muted);font-size:20px;background:var(--panel)}.ui-v2 .lcg-nav-btn:hover{background:var(--hover);color:var(--text)}.ui-v2 .lcg-nav-label{font-size:15px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ui-v2 .lcg-nav-today{font-size:13px;border:1px solid var(--line2);border-radius:999px;padding:3px 10px;color:var(--muted)}.ui-v2 .lcg-nav-today:hover{border-color:var(--text);color:var(--text)}.ui-v2 .lcg-filter label{font-size:13px;color:var(--muted)}.ui-v2 .lcg-filter select{font-size:14px;border:1px solid var(--line2);border-radius:10px;padding:6px 10px;background:var(--panel);color:var(--text);min-height:34px}.ui-v2 .lcg-th-day,.ui-v2 .lcg-th-time{background:var(--panel);border-bottom:1px solid var(--line)}.ui-v2 .lcg-th-day{border-left:1px solid var(--line)}.ui-v2 .lcg-th-day.is-today{background:var(--panel2)}.ui-v2 .lcg-th-day.is-weekend{background:var(--panel)}.ui-v2 .lcg-day-label{font-size:12px;color:var(--muted)}.ui-v2 .lcg-day-num{font-size:15px;font-weight:700;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ui-v2 .lcg-day-num.is-today{background:var(--text);color:var(--bg)}.ui-v2 .lcg-td-time{font-size:12px;color:var(--faint);background:var(--panel);border-top:1px solid var(--line);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ui-v2 .lcg-td{border-left:1px solid var(--line);border-top:1px solid var(--line)}.ui-v2 .lcg-td.is-weekend{background:var(--panel)}.ui-v2 .lcg-cell{border-radius:8px;transform:none!important}.ui-v2 .lcg-cell-label{font-size:12px;font-weight:700}.ui-v2 .lcg-cell-count,.ui-v2 .lcg-cell-course,.ui-v2 .lcg-cell-reserved,.ui-v2 .lcg-cell-sub{font-size:12px}.ui-v2 .lcg-cell-sub{max-width:100%}.ui-v2 .lcg-cell{flex-wrap:wrap;align-content:center;column-gap:4px;row-gap:2px;height:auto;min-height:32px;padding:3px 4px;overflow:hidden}.ui-v2 .lcg-cell-label,.ui-v2 .lcg-cell-sub{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-v2 .lcg-cell-count{background:var(--inset)}.ui-v2 .lcg-cell-x{color:var(--faint);font-size:13px}.ui-v2 .lcg-empty{color:var(--muted);font-size:14px}.ui-v2 .lcg-cell.available{background:var(--acc-t);color:var(--gtext)}.ui-v2 .lcg-cell.available:hover{background:var(--cta);color:var(--cta-text)}.ui-v2 .lcg-cell.teacher-empty{background:transparent;border:1.5px dashed transparent}.ui-v2 .lcg-cell.teacher-empty:hover{background:var(--hover);border-color:var(--line2)}.ui-v2 .lcg-cell.mine-booked,.ui-v2 .lcg-cell.teacher-booked,.ui-v2 .lcg-cell.teacher-ss-lesson{background:var(--cta);color:var(--cta-text)}.ui-v2 .lcg-cell.mine-booked:hover,.ui-v2 .lcg-cell.teacher-booked:hover,.ui-v2 .lcg-cell.teacher-ss-lesson:hover{background:var(--cta);filter:brightness(1.1)}.ui-v2 .lcg-cell.teacher-free-trial,.ui-v2 .lcg-cell.teacher-paid-trial,.ui-v2 .lcg-cell.teacher-ss-consultation{background:var(--acc-t);color:var(--gtext);box-shadow:inset 0 0 0 1px var(--gtext)}.ui-v2 .lcg-cell.teacher-free-trial:hover,.ui-v2 .lcg-cell.teacher-paid-trial:hover,.ui-v2 .lcg-cell.teacher-ss-consultation:hover{background:var(--acc-t);filter:brightness(1.05)}.ui-v2 .lcg-cell.teacher-coaching{background:var(--text);color:var(--bg)}.ui-v2 .lcg-cell.teacher-coaching:hover{background:var(--text);opacity:.9}.ui-v2 .lcg-cell.mine-pending,.ui-v2 .lcg-cell.teacher-pending{background:transparent;color:var(--text);box-shadow:inset 0 0 0 1.5px var(--text)}.ui-v2 .lcg-cell.mine-pending:hover,.ui-v2 .lcg-cell.teacher-pending:hover{background:var(--hover)}.ui-v2 .lcg-cell.mine-other-course,.ui-v2 .lcg-cell.teacher-line-waiting{background:var(--inset);color:var(--muted);border:1px dashed var(--line2);opacity:1}.ui-v2 .lcg-cell.mine-other-course:hover{background:var(--inset)}.ui-v2 .lcg-cell.mine-other-course{height:auto;min-height:32px;padding:3px 2px;overflow:hidden}.ui-v2 .lcg-cell-course{font-size:12px;font-weight:700;line-height:1.25;white-space:normal;overflow-wrap:anywhere;min-width:0}.ui-v2 .onb-page{background:var(--bg);min-height:100svh;padding:40px 16px 64px;font-family:var(--f-body)}.ui-v2 .onb-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:none;max-width:640px}.ui-v2 .onb-header{border-bottom:1px solid var(--line);padding:18px 24px}.ui-v2 .onb-logo{font-size:15px;font-weight:700;color:var(--text)}.ui-v2 .onb-badge{font-size:13px;font-weight:700;background:var(--acc-t)!important;color:var(--gtext)!important;border-radius:999px;padding:3px 10px}.ui-v2 .onb-progress-label{font-size:13px;color:var(--muted)}.ui-v2 .onb-progress-bar{height:8px;border-radius:4px;background:var(--inset)}.ui-v2 .onb-progress-fill{border-radius:4px;background:linear-gradient(90deg,var(--g3),var(--g2) 55%,var(--g1))}.ui-v2 .onb-step-dot{width:10px;height:10px;background:var(--inset)}.ui-v2 .onb-step-dot.active{background:var(--cta)}.ui-v2 .onb-step-dot.done{background:var(--acc-t);opacity:1;box-shadow:inset 0 0 0 1px var(--gtext)}.ui-v2 .onb-step-title{font-size:19px;font-weight:700;color:var(--text);letter-spacing:.03em;font-feature-settings:"palt"}.ui-v2 .onb-step-sub{font-size:14px;color:var(--muted);line-height:1.8}.ui-v2 .onb-optional-badge{font-size:12px;background:transparent;color:var(--muted);border:1px solid var(--line2);border-radius:999px;padding:0 8px}.ui-v2 .onb-field label{font-size:14px;font-weight:700;color:var(--text)}.ui-v2 .onb-field label .req{color:var(--muted);font-weight:400}.ui-v2 .onb-field input[type=date],.ui-v2 .onb-field input[type=email],.ui-v2 .onb-field input[type=number],.ui-v2 .onb-field input[type=tel],.ui-v2 .onb-field input[type=text],.ui-v2 .onb-field select,.ui-v2 .onb-field textarea{min-height:40px;padding:8px 12px;border:1px solid var(--line2);border-radius:10px;font-size:15px;color:var(--text);background:var(--panel)}.ui-v2 .onb-field input:focus,.ui-v2 .onb-field select:focus,.ui-v2 .onb-field textarea:focus{border-color:var(--focus);outline:2px solid var(--focus);outline-offset:1px}.ui-v2 .onb-field-hint{font-size:13px;color:var(--muted)}.ui-v2 .onb-field-error{font-size:14px;font-weight:700;color:var(--text)}.ui-v2 .onb-field-error:before{content:"！"}.ui-v2 .onb-checkbox-item{border:1px solid var(--line2);border-radius:12px;font-size:15px;color:var(--text);background:var(--panel)}.ui-v2 .onb-checkbox-item:hover{border-color:var(--text);background:var(--hover)}.ui-v2 .onb-checkbox-item.checked{border-color:var(--text);background:var(--inset);color:var(--text);font-weight:700}.ui-v2 .onb-check-mark{width:22px;height:22px;border:2px solid var(--line2);border-radius:8px;font-size:13px}.ui-v2 .onb-checkbox-item.checked .onb-check-mark{background:var(--cta);border-color:var(--cta);color:var(--cta-text)}.ui-v2 .onb-hint{background:var(--panel2);border:1px solid var(--line);border-radius:12px;font-size:14px;color:var(--muted)}.ui-v2 .onb-btn-back{min-height:40px;border:1px solid var(--line2);border-radius:10px;padding:8px 18px;font-size:15px;font-weight:700;color:var(--text);background:var(--panel)}.ui-v2 .onb-btn-back:hover{border-color:var(--line2);background:var(--hover);color:var(--text)}.ui-v2 .onb-btn-next{min-height:40px;background:var(--cta);color:var(--cta-text);border:1px solid var(--cta);border-radius:10px;padding:8px 20px;font-size:15px;font-weight:700}.ui-v2 .onb-btn-next:hover{opacity:1;filter:brightness(1.1)}.ui-v2 .onb-btn-next:disabled{opacity:.45;filter:none}.ui-v2 .onb-btn-skip{font-size:14px;color:var(--muted)}.ui-v2 [style*="font-size: 10.5px"],.ui-v2 [style*="font-size: 10px"],.ui-v2 [style*="font-size: 9.5px"],.ui-v2 [style*="font-size: 9px"]{font-size:12px!important}.ui-v2 [style*="font-size: 11.5px"],.ui-v2 [style*="font-size: 11px"]{font-size:13px!important}.ui-v2 [style*="font-weight: 500"]{font-weight:400!important}.ui-v2 [style*="font-weight: 600"],.ui-v2 [style*="font-weight: 800"]{font-weight:700!important}.ui-v2 [style*="font-weight: 300"]{font-weight:400!important}