page{--brand:#2563eb;--brand-weak:#eff6ff;--text:#1e293b;--text-weak:#64748b;--text-faint:#94a3b8;--surface:#fff;--surface-muted:#f8fafc;--border:#e2e8f0;--danger:#dc2626;--danger-weak:#fef2f2;--warning:#d97706;--warning-weak:#fffbeb;--success:#16a34a;background:var(--surface-muted);color:var(--text);font-size:.7rem;line-height:1.6}:root{--brand:#2563eb;--brand-weak:#eff6ff;--text:#1e293b;--text-weak:#64748b;--text-faint:#94a3b8;--surface:#fff;--surface-muted:#f8fafc;--border:#e2e8f0;--danger:#dc2626;--danger-weak:#fef2f2;--warning:#d97706;--warning-weak:#fffbeb;--success:#16a34a}.kp-page{display:flex;flex-direction:column;gap:.6rem;padding:.6rem}.kp-card{background:var(--surface);border-radius:.6rem;box-shadow:0 .1rem .5rem rgba(15,23,42,.06);display:flex;flex-direction:column;gap:.4rem;padding:.7rem}.kp-muted{color:var(--text-weak);font-size:.6rem}.kp-strong{font-weight:600}.kp-error{color:var(--danger);font-size:.65rem}.kp-card-title{color:var(--text);font-size:.75rem;font-weight:600}.kp-profile-edit-row{align-items:center;display:flex;gap:.6rem}.kp-profile-edit-avatar{border-radius:24.975rem;flex-shrink:0;height:3rem;width:3rem}.kp-home{background:var(--surface-muted);display:flex;flex-direction:column;min-height:100vh}.kp-topbar{background:linear-gradient(160deg,#16225c,#1e3a9e 55%,#2547c8);display:flex;flex-direction:column;gap:.8rem;padding:1.8rem .8rem 3rem}.kp-topbar-row{align-items:flex-start;display:flex;justify-content:space-between}.kp-topbar-text{display:flex;flex-direction:column;gap:.15rem}.kp-greet{color:hsla(0,0%,100%,.78);font-size:.7rem}.kp-slogan{color:#fff;font-size:1.1rem;font-weight:700}.kp-bell{align-items:center;background:#fff;border-radius:50%;box-shadow:0 .1rem .4rem rgba(15,23,42,.12);display:flex;flex:none;height:2.2rem;justify-content:center;position:relative;width:2.2rem}.kp-bell-img{height:1.1rem;width:1.1rem}.kp-bell-dot{background:#e11d48;border:.1rem solid #fff;border-radius:50%;height:.4rem;position:absolute;right:.25rem;top:.25rem;width:.4rem}.kp-livecard{align-items:center;background:hsla(0,0%,100%,.14);border-radius:.6rem;display:flex;gap:.5rem;padding:.6rem}.kp-livecard-icon{align-items:center;background:hsla(0,0%,100%,.18);border-radius:.5rem;display:flex;flex:none;height:2.1rem;justify-content:center;width:2.1rem}.kp-livecard-body{display:flex;flex:1;flex-direction:column;gap:.15rem;min-width:0}.kp-livecard-head{align-items:center;display:flex;gap:.25rem}.kp-livedot{background:#f87171;border-radius:50%;height:.3rem;width:.3rem}.kp-livecard-label{color:#fff;font-size:.65rem;font-weight:600}.kp-livecard-title{color:#fff;font-size:.7rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kp-livecard-arrow{color:hsla(0,0%,100%,.8);font-size:1rem}.kp-body{display:flex;flex-direction:column;gap:.9rem;padding:0 .6rem 1rem}.kp-tilecard{background:var(--surface);border-radius:.7rem;box-shadow:0 .2rem .8rem rgba(15,23,42,.08);display:flex;justify-content:space-around;margin-top:-1.8rem;padding:.8rem .4rem}.kp-tile{align-items:center;display:flex;flex-direction:column;gap:.35rem;width:25%}.kp-tile-name{color:var(--text);font-size:.6rem}.kp-icon-box{align-items:center;background:#e8edfb;border-radius:.6rem;display:flex;flex:none;height:2.2rem;justify-content:center;width:2.2rem}.kp-icon{height:1.1rem;width:1.1rem}.kp-section{display:flex;flex-direction:column;gap:.5rem}.kp-section-head{align-items:baseline;display:flex;justify-content:space-between}.kp-section-title{font-size:.85rem;font-weight:700}.kp-section-more{color:var(--brand);font-size:.65rem}.kp-hscroll{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.2rem}.kp-mycard{background:var(--surface);border-radius:.6rem;box-shadow:0 .1rem .5rem rgba(15,23,42,.06);display:flex;flex:none;flex-direction:column;gap:.3rem;padding:.5rem;width:7.5rem}.kp-mycard-cover{align-items:center;border-radius:.5rem;display:flex;height:4rem;justify-content:center;overflow:hidden;width:100%}.kp-cover-a{background:linear-gradient(135deg,#3b5bdb,#4c6ef5)}.kp-cover-b{background:linear-gradient(135deg,#7c3aed,#a855f7)}.kp-cover-c{background:linear-gradient(135deg,#0891b2,#22d3ee)}.kp-cover-d{background:linear-gradient(135deg,#ea580c,#fb923c)}.kp-mycard-img{height:100%;width:100%}.kp-mycard-glyph{height:1.8rem;width:1.8rem}.kp-mycard-title{font-size:.7rem;font-weight:600}.kp-mycard-days{color:var(--text-faint);font-size:.6rem}.kp-mycard-days.kp-warn{color:var(--warning)}.kp-listcard{background:var(--surface);border-radius:.6rem;box-shadow:0 .1rem .5rem rgba(15,23,42,.06);overflow:hidden}.kp-listrow{align-items:center;border-bottom:.05rem solid #f1f5f9;display:flex;gap:.5rem;padding:.6rem}.kp-listrow:last-child{border-bottom:none}.kp-listrow-body{display:flex;flex:1;flex-direction:column;gap:.15rem;min-width:0}.kp-listrow-title{font-size:.7rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kp-listrow-sub{color:var(--text-faint);font-size:.6rem}.kp-chip{background:#eef2ff;flex:none;padding:.2rem .45rem}.kp-chip-text{color:var(--brand);font-size:.55rem;font-weight:600}.kp-price{color:var(--brand);flex:none;font-size:.8rem}.kp-empty{align-items:center;background:var(--surface);border-radius:.6rem;display:flex;flex-direction:column;gap:.25rem;padding:1.2rem}.kp-empty-title{color:var(--text-weak);font-size:.7rem}.kp-empty-sub{color:var(--text-faint);font-size:.6rem}.kp-login-hint{align-items:center;background:var(--brand-weak);border-radius:.6rem;display:flex;flex-direction:column;gap:.2rem;padding:.9rem}.kp-login-hint-title{color:var(--text);font-size:.7rem}.kp-login-hint-sub{color:var(--brand);font-size:.65rem;font-weight:600}.kp-profile-page{background:var(--surface-muted);display:flex;flex-direction:column;min-height:100vh}.kp-topbar-profile{gap:1rem;padding-bottom:2.5rem}.kp-profile-row{align-items:center;display:flex;gap:.6rem}.kp-profile-avatar{align-items:center;border-radius:50%;display:flex;flex:none;height:2.8rem;justify-content:center;width:2.8rem}.kp-profile-avatar-empty{background:hsla(0,0%,100%,.2)}.kp-profile-initial{color:#fff;font-size:1rem;font-weight:700}.kp-profile-meta{display:flex;flex:1;flex-direction:column;gap:.2rem;min-width:0}.kp-profile-arrow{color:hsla(0,0%,100%,.6);flex:none;font-size:1rem}.kp-profile-name{color:#fff;font-size:.95rem;font-weight:700}.kp-profile-sub{color:hsla(0,0%,100%,.72);font-size:.6rem}.kp-stats{display:flex}.kp-stat{align-items:center;display:flex;flex:1;flex-direction:column;gap:.2rem}.kp-stat-num{color:#fff;font-size:.85rem;font-weight:700}.kp-stat-label{color:hsla(0,0%,100%,.7);font-size:.55rem}.kp-arrow{color:var(--text-faint);flex:none;font-size:.9rem}.kp-btn-danger{background:var(--danger-weak);color:var(--danger);font-weight:600}.kp-profile-page .kp-body > .kp-listcard:first-child{margin-top:-1.5rem}.kp-profile-page .kp-profile-logout{background:var(--surface);border:0;border-radius:.6rem;box-shadow:0 .1rem .5rem rgba(15,23,42,.03);box-sizing:border-box;color:var(--text-weak);font-size:.7rem;font-weight:400;line-height:1.5;margin:.6rem 0 .8rem;min-height:2.2rem;padding:.6rem;width:100%}.kp-profile-page .kp-profile-logout::after{border:0}.kp-profile-page .kp-profile-logout-pressed{background:#f1f5f9}.kp-profile-page .kp-profile-logout[disabled]{opacity:.55}.kp-courses{gap:.6rem}.kp-page-title{font-size:1.1rem;font-weight:700;padding:.2rem 0}.kp-pills{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.2rem}.kp-pill{background:#e8edfb;border-radius:24.975rem;flex:none;padding:.4rem .9rem}.kp-pill-on{background:var(--brand)}.kp-pill-text{color:var(--text-weak);font-size:.65rem;font-weight:600}.kp-pill-on .kp-pill-text{color:#fff}.kp-course-thumb{border-radius:.4rem;flex:none;height:2.25rem;width:3rem}.kp-state{align-items:center;display:flex;flex-direction:column;gap:.3rem;padding:1.5rem .6rem;text-align:center}.kp-state-title{color:var(--text-weak);font-size:.7rem}.kp-state-hint{color:var(--text-faint);font-size:.6rem}.kp-state-error{color:var(--danger);font-size:.65rem}.kp-notice{border-radius:.3rem;font-size:.6rem;line-height:1.7;padding:.5rem}.kp-notice-info{background:var(--brand-weak);color:var(--brand)}.kp-notice-warning{background:var(--warning-weak);color:var(--warning)}.kp-btn{border-radius:.3rem;font-size:.75rem;line-height:1.4;padding:.5rem}.kp-btn-primary{background:var(--brand);color:#fff}.kp-btn-secondary{background:var(--surface-muted);border:.05rem solid var(--border);color:var(--text)}.kp-search{padding:0 .1rem}.kp-input{background:var(--surface);border:.05rem solid var(--border);border-radius:.3rem;font-size:.7rem;padding:.45rem .5rem}.kp-course-row{align-items:center;display:flex;gap:.5rem}.kp-course-cover{border-radius:.3rem;flex-shrink:0;height:2.7rem;width:4rem}.kp-course-cover-empty{background:var(--surface-muted)}.kp-course-meta{display:flex;flex-direction:column;gap:.15rem;min-width:0}.kp-course-title{font-size:.75rem;font-weight:600}.kp-list-row{align-items:center;border-bottom:.05rem solid var(--border);display:flex;gap:.4rem;padding:.4rem 0}.kp-list-row:last-child{border-bottom:none}.kp-list-main{display:flex;flex:1;flex-direction:column;gap:.1rem;min-width:0}.kp-index{color:var(--text-faint);font-size:.6rem;width:1.1rem}.kp-badge{background:var(--surface-muted);border-radius:24.975rem;color:var(--text-weak);font-size:.55rem;padding:.15rem .35rem}.kp-detail-cover{border-radius:.4rem;height:8rem;width:100%}.kp-detail-title{font-size:.9rem;font-weight:700}.kp-detail-desc{color:var(--text-weak);font-size:.65rem;line-height:1.8}.kp-section-title{font-size:.75rem;font-weight:600}.kp-price{color:var(--danger);font-size:1rem;font-weight:700}.kp-kv{align-items:center;display:flex;justify-content:space-between;padding:.3rem 0}.kp-teacher{align-items:center;display:flex;gap:.5rem}.kp-teacher-name{font-size:.75rem;font-weight:600}.kp-avatar{border-radius:24.975rem;flex-shrink:0;height:2.2rem;width:2.2rem}.kp-avatar-lg{height:3rem;width:3rem}.kp-avatar-empty{background:var(--surface-muted)}.kp-contact{align-items:center;display:flex;flex-direction:column;gap:.6rem}.kp-qrcode-wrap{align-items:center;display:flex;flex-direction:column;gap:.3rem}.kp-qrcode{height:10rem;width:10rem}.kp-contact-desc{color:var(--text-weak);font-size:.65rem;line-height:1.8;text-align:center}.kp-contact-phone{font-size:.75rem;font-weight:600}.kp-profile{align-items:center;display:flex;gap:.6rem}.kp-profile-name{font-size:.85rem;font-weight:600}.kp-login{background:linear-gradient(160deg,#16225c,#1e3a9e 55%,#2547c8);box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;padding:3.5rem 1.2rem 2rem}.kp-login-brand{display:flex;flex-direction:column;gap:.4rem}.kp-login-logo{align-items:center;background:hsla(0,0%,100%,.16);border-radius:.9rem;display:flex;height:3.2rem;justify-content:center;margin-bottom:.6rem;width:3.2rem}.kp-login-logo-img{height:1.6rem;width:1.6rem}.kp-login-title{color:#fff;font-size:1.4rem;font-weight:700}.kp-login-slogan{color:hsla(0,0%,100%,.7);font-size:.65rem}.kp-login-actions{display:flex;flex-direction:column;gap:.5rem}.kp-login-btn{background:#fff;border-radius:24.975rem;color:var(--brand);font-size:.8rem;font-weight:600;line-height:1.4;padding:.65rem}.kp-login-error{color:#fecaca;font-size:.65rem}.kp-login-code{display:flex;flex-direction:column;gap:.5rem}.kp-login-code .kp-input{background:hsla(0,0%,100%,.14);border-radius:24.975rem;color:#fff;font-size:.75rem;letter-spacing:.1rem;padding:.65rem .8rem;text-align:center}.kp-login-code .kp-input::-moz-placeholder{color:hsla(0,0%,100%,.5);letter-spacing:0}.kp-login-code .kp-input::placeholder{color:hsla(0,0%,100%,.5);letter-spacing:0}.kp-login-note{color:hsla(0,0%,100%,.55);font-size:.55rem;line-height:1.7;text-align:center}.kp-player{background:#000;border-radius:.4rem;height:10.5rem;overflow:hidden;width:100%}.kp-player-video{height:100%;width:100%}.kp-quality{display:flex;gap:.3rem;justify-content:flex-end;margin:.4rem 0 0}.kp-quality-btn{background:var(--surface-muted);border:none;border-radius:24.975rem;color:var(--text-weak);font-size:.6rem;height:1.3rem;line-height:1.3rem;margin:0;padding:0 .55rem}.kp-quality-btn::after{border:none}.kp-quality-on{background:var(--brand-weak);color:var(--brand);font-weight:600}.kp-video-off{align-items:center;background:var(--surface-muted);border:.05rem dashed var(--border);border-radius:.4rem;display:flex;flex-direction:column;gap:.3rem;padding:1rem .7rem;text-align:center}.kp-video-off-compact{padding:.6rem .5rem}.kp-video-off-title{color:var(--text);font-size:.7rem;font-weight:600}.kp-video-off-hint{color:var(--text-weak);font-size:.6rem;line-height:1.7}.kp-pkg-head{align-items:flex-start;display:flex;gap:.4rem;justify-content:space-between}.kp-pkg-title{font-size:.85rem;font-weight:700}.kp-expiry{color:var(--text-weak);font-size:.6rem}.kp-expiry-soon{color:var(--warning);font-weight:600}.kp-expiry-gone{color:var(--danger);font-weight:600}.kp-chip{background:var(--surface-muted);border-radius:24.975rem;color:var(--text-weak);flex-shrink:0;font-size:.55rem;padding:.15rem .35rem}.kp-chip-warn{background:var(--warning-weak);color:var(--warning)}.kp-chip-gone{background:var(--danger-weak);color:var(--danger)}.kp-chip-ok{background:var(--brand-weak);color:var(--brand)}.kp-order-no{color:var(--text-faint);font-family:monospace;font-size:.6rem}.kp-order-head{align-items:center;display:flex;gap:.4rem;justify-content:space-between}.kp-actions{display:flex;gap:.4rem}.kp-actions .kp-btn{flex:1}.kp-file-row{align-items:center;border-bottom:.05rem solid var(--border);display:flex;gap:.4rem;padding:.45rem 0}.kp-file-row:last-child{border-bottom:none}.kp-file-meta{color:var(--text-faint);font-size:.55rem}.kp-due{color:var(--text-weak);font-size:.65rem}.kp-due-soon{color:var(--warning);font-weight:600}.kp-due-closed{color:var(--danger)}.kp-msg{border-bottom:.05rem solid var(--border);display:flex;flex-direction:column;gap:.2rem;padding:.5rem 0}.kp-msg:last-child{border-bottom:none}.kp-msg-unread .kp-msg-title{font-weight:700}.kp-msg-title{font-size:.7rem}.kp-msg-dot{color:var(--danger);font-size:.6rem}.kp-msg-time{color:var(--text-faint);font-size:.55rem}@media (min-width:768px){.kp-page{margin-left:auto;margin-right:auto;max-width:30rem}}.kp-player{position:relative}.kp-player-failed{align-items:center;background:rgba(15,23,42,.88);color:#fff;display:flex;flex-direction:column;gap:.4rem;inset:0;justify-content:center;padding:.8rem;position:absolute;text-align:center}.kp-player-failed-title{font-size:.75rem;font-weight:600}.kp-player-failed-hint{font-size:.6rem;line-height:1.6;opacity:.85}.kp-player-loading{align-items:center;color:hsla(0,0%,100%,.75);display:flex;inset:0;justify-content:center;pointer-events:none;position:absolute}.kp-player-loading-text{font-size:.65rem}.kp-list-foot{display:block;font-size:.8rem;padding:1.5rem 0 2rem;text-align:center}.kp-login-agree{align-items:flex-start;display:flex;gap:.3rem;margin-bottom:.5rem}.kp-login-check{align-items:center;border:.05rem solid hsla(0,0%,100%,.6);border-radius:.2rem;display:flex;flex-shrink:0;height:.85rem;justify-content:center;margin-top:.1rem;width:.85rem}.kp-login-check.is-on{background:#fff;border-color:#fff}.kp-login-check-tick{color:#1d4ed8;font-size:.6rem;line-height:1}.kp-login-agree-text{color:hsla(0,0%,100%,.85);font-size:.6rem;line-height:1.6}.kp-login-link{color:#fff;text-decoration:underline}.kp-legal-body{color:#334155;display:block;font-size:.7rem;line-height:1.8;margin-top:.4rem}.kp-legal-empty{color:#94a3b8;display:block;font-size:.7rem;line-height:1.8;margin-top:.4rem}.kp-privacy-mask{align-items:center;background:rgba(15,23,42,.45);display:flex;inset:0;justify-content:center;padding:1.2rem;position:fixed;z-index:1000}.kp-privacy-card{background:#fff;border-radius:.6rem;max-width:15rem;padding:1rem .8rem;width:100%}.kp-privacy-title{color:#0f172a;display:block;font-size:.8rem;font-weight:600}.kp-privacy-body{color:#475569;display:block;font-size:.65rem;line-height:1.7;margin-top:.4rem}.kp-privacy-link{color:#2563eb;display:block;font-size:.65rem;margin-top:.4rem;text-decoration:underline}.kp-privacy-actions{display:flex;gap:.4rem;margin-top:.8rem}.kp-privacy-agree,.kp-privacy-reject{border-radius:24.975rem;flex:1;font-size:.7rem}.kp-privacy-agree{background:#2563eb;color:#fff}.kp-privacy-reject{background:#f1f5f9;color:#475569}