:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif;color:#172033;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--accent: #2857d9;--accent-strong: #1f49c2;--ink: #172033;--muted: #6f7888;--line: #e6e9ef;--soft: #f5f7fa;--danger: #b42318}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:#fff}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-frame{width:100%;max-width:680px;min-height:100vh;margin:0 auto;padding:0 20px calc(24px + env(safe-area-inset-bottom))}.topbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:11px;color:inherit;text-decoration:none}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--accent);color:#fff;font-size:20px;font-weight:800;letter-spacing:-.06em}.brand-copy{display:flex;flex-direction:column;gap:1px}.brand-name{font-size:16px;line-height:1.2;font-weight:750;letter-spacing:-.02em}.brand-caption,.topbar-note{color:var(--muted);font-size:12px}.main-content{min-height:calc(100vh - 130px);padding:30px 0 38px}.screen-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 0 22px}.eyebrow{margin:0 0 7px;color:var(--muted);font-size:13px;font-weight:600}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(27px,7vw,32px);line-height:1.2;letter-spacing:-.035em}h2{margin-bottom:0}.count-note{margin:9px 0 0;color:var(--muted);font-size:14px}.button{min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;border:1px solid transparent;border-radius:13px;cursor:pointer;font-size:16px;font-weight:700;text-align:center;touch-action:manipulation}.button:focus-visible,.student-row:focus-visible,.back-button:focus-visible,input:focus-visible{outline:3px solid rgba(40,87,217,.25);outline-offset:2px}.button-primary{background:var(--accent);color:#fff}.button-primary:hover{background:var(--accent-strong)}.button-primary:disabled{background:#c8d0df;cursor:not-allowed}.button-secondary{background:#fff;border-color:var(--line);color:var(--ink)}.button-secondary:hover{background:var(--soft)}.button-block{width:100%}.button-small{min-height:48px;padding:0 14px;white-space:nowrap}.student-list{display:grid;gap:11px;margin:0;padding:0;list-style:none}.student-row{width:100%;min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff;color:inherit;cursor:pointer;text-align:left;touch-action:manipulation}.student-row:hover{border-color:#c8d2e2;background:#fcfdff}.student-row-name{overflow-wrap:anywhere;font-size:17px;font-weight:700}.student-row-count{flex:0 0 auto;color:var(--accent);font-size:15px;font-weight:700}.empty-state{display:grid;justify-items:start;gap:14px;padding:24px 20px;border:1px dashed #ccd3df;border-radius:16px;background:#fff}.empty-state p{margin:0;color:var(--muted);line-height:1.65}.back-button{display:inline-flex;min-height:40px;align-items:center;gap:7px;padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:14px;font-weight:650}.back-button:hover{color:var(--ink)}.detail-heading{margin:12px 0 20px}.detail-heading h1{overflow-wrap:anywhere}.lesson-card{padding:24px 20px 20px;border:1px solid var(--line);border-radius:18px;background:#fff}.lesson-caption{margin:0 0 5px;color:var(--muted);font-size:14px;font-weight:600}.lesson-balance{display:flex;align-items:baseline;gap:9px;margin-bottom:21px;color:var(--ink)}.lesson-number{font-size:clamp(62px,18vw,82px);line-height:1;font-weight:800;letter-spacing:-.07em;font-variant-numeric:tabular-nums}.lesson-unit{color:var(--muted);font-size:18px;font-weight:650}.section-label{margin:24px 0 12px;font-size:16px;font-weight:750}.topup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.topup-button{min-height:54px;padding:0 8px}.history-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.history-item{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);font-size:15px}.history-item:last-child{border-bottom:0}.history-date{color:var(--muted);font-variant-numeric:tabular-nums}.history-change{font-weight:700}.history-empty{padding:4px 0 12px;color:var(--muted);font-size:14px}.form-card{display:grid;gap:19px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}.form-field{display:grid;gap:8px}.form-field label{font-size:14px;font-weight:700}.form-field input{width:100%;min-height:54px;padding:0 14px;border:1px solid #cfd5df;border-radius:12px;background:#fff;color:var(--ink);font-size:16px}.form-field input::placeholder{color:#9aa2b0}.form-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:2px}.form-error{margin:0;color:var(--danger);font-size:14px}.footer-note{padding:10px 0 0;color:#9aa2b0;font-size:12px;text-align:center}@media(min-width:600px){.app-frame{padding-right:30px;padding-left:30px}.main-content{padding-top:38px}.lesson-card{padding:28px}}@media(max-width:380px){.app-frame{padding-right:16px;padding-left:16px}.screen-heading{align-items:flex-start}.button-small{padding:0 11px;font-size:14px}.student-row{padding:14px}}.account-tools{display:flex;gap:16px}.account-tools .back-button{min-height:44px}.notice{margin:0 0 22px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.notice strong{font-size:16px}.notice p{margin:10px 0;color:var(--muted);font-size:14px;line-height:1.65}.privacy-note{margin-top:22px;color:var(--muted);font-size:14px;line-height:1.65}.app-status{margin:20px 0 0;padding:12px 14px;border-radius:12px;background:var(--soft);color:var(--accent);line-height:1.6;font-size:14px}.app-status.error{color:var(--danger)}button:disabled{cursor:not-allowed;opacity:.6}dialog{width:min(440px,calc(100vw - 32px));padding:0;border:1px solid var(--line);border-radius:18px;color:var(--ink);background:#fff}dialog::backdrop{background:#17203366}.dialog-content{padding:24px}.dialog-content h2{font-size:22px}.dialog-content p{margin:18px 0 24px;line-height:1.7;overflow-wrap:anywhere}.footer-note{overflow-wrap:anywhere}.qr-action{margin:20px 0 4px}.student-qr{display:block;width:min(280px,100%);height:auto;margin:18px auto}.qr-video{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;background:var(--soft);margin-top:18px}.qr-link{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.form-actions a.button{text-decoration:none}.topbar{flex-wrap:wrap;gap:8px;padding:12px 0}.account-tools{flex-wrap:wrap;justify-content:flex-end;column-gap:16px}@media(max-width:480px){.account-tools{width:100%;justify-content:space-between}}.parent-access{margin-top:28px;padding:18px;border:1px solid var(--line);border-radius:14px}.parent-access summary{min-height:44px;font-weight:700;cursor:pointer}.parent-access form{margin-top:18px}.parent-access .history-item{flex-wrap:wrap;overflow-wrap:anywhere}.form-field select{font:inherit;min-height:48px;border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff;color:var(--text)}.existing-access{margin-top:28px;border-top:1px solid var(--line);padding-top:18px}.access-list{list-style:none;padding:0;margin:24px 0 0}.access-list li{border-top:1px solid var(--line);padding:16px 0;overflow-wrap:anywhere}.access-actions{display:flex;flex-wrap:wrap;gap:8px 16px}.form-field textarea{width:100%;min-height:92px;padding:12px 14px;border:1px solid #cfd5df;border-radius:12px;background:#fff;color:var(--ink);font:inherit;line-height:1.55;resize:vertical}.form-field textarea:focus-visible,.form-field input:focus-visible{outline:3px solid rgba(40,87,217,.25);outline-offset:2px}.platform-list{display:grid;gap:12px}.platform-card{min-width:0;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.platform-card h2{overflow-wrap:anywhere;font-size:18px}.platform-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.platform-card-head time{flex:0 0 auto;color:var(--muted);font-size:12px}.platform-contact,.platform-note{margin:10px 0 0;color:var(--muted);line-height:1.6;overflow-wrap:anywhere}.platform-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:14px}.platform-actions .count-note{width:100%}.platform-audit-list{list-style:none;margin:0 0 20px;padding:0;border-top:1px solid var(--line)}.platform-audit-item{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 2px;border-bottom:1px solid var(--line)}.platform-audit-item strong{font-size:14px}.platform-audit-item p{margin:6px 0 0;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.platform-audit-item time{flex:0 0 auto;color:var(--muted);font-size:12px}.platform-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 24px}.platform-pager span{color:var(--muted);font-size:12px;text-align:center}.platform-pager .button{min-width:92px;min-height:44px}.coach-profile-form{display:grid;gap:12px;margin-top:16px}.coach-profile-form .form-field{gap:6px}.coach-profile-form label{color:var(--muted);font-size:13px}.coach-profile-form input{min-height:48px}.coach-status-button{min-height:48px;margin-top:14px;color:var(--danger)}.invite-notice input{min-width:0;font-size:13px}.screen-heading .count-note{max-width:42ch;line-height:1.6}.section-label{margin-top:28px}@media(max-width:480px){.platform-card{padding:16px}.platform-card-head{flex-wrap:wrap}.platform-actions .button{flex:1 1 100%}}
