:root{--ink: #243038;--muted: #7b8b93;--line: #e6eeea;--bg: #eef4f1;--white: #fff;--black: #1f8f86;--blue: #5eb0f0;--blue-soft: #e7f4ff;--green: #3dcc8a;--green-soft: #e7f8ef;--orange: #f5a35a;--orange-soft: #fff1e4;--yellow: #f6d36b;--coral: #1f8f86;--coral-deep: #16756e;--sky: #5eb0f0;--sky-soft: #e7f4ff;--sun: #f6d36b;--sun-soft: #fff6dd;--mint: #7ed9c4;--teal: #2bb8a8;--radius: 22px;--shadow: 0 10px 24px rgba(36, 90, 80, .08)}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans SC,sans-serif;color:var(--ink);background:var(--bg)}.p-shell{min-height:100vh;max-width:430px;margin:0 auto;background:#f6f8f6}.p-hero{position:relative;padding:18px 22px 26px;background:#fff;color:var(--ink);overflow:hidden}.p-hero:after{display:none}.p-hero-inner{position:relative;z-index:1}.p-brand-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.p-brand-mark{font-size:12px;letter-spacing:.1em;font-weight:600;color:var(--muted)}.p-season{font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--green-soft);color:#178a42;border:1px solid #c8efd4}.p-hero h1{font-size:28px;margin:0 0 10px;font-weight:800;letter-spacing:-.03em}.p-hero .tagline{margin:0;font-size:14px;line-height:1.65;max-width:18em;color:var(--muted)}.p-content{padding:20px 16px 40px}.p-intro{position:relative;background:var(--white);border-radius:var(--radius);padding:15px 16px;box-shadow:none;border:1px solid var(--line);margin-bottom:20px;display:flex;gap:12px;align-items:flex-start}.p-intro-hot{position:absolute;top:-8px;right:14px;font-size:10px;font-weight:800;letter-spacing:.06em;padding:3px 9px;border-radius:999px;color:#fff;background:var(--black)}.p-dot{width:10px;height:10px;margin-top:5px;border-radius:50%;background:var(--green);flex-shrink:0;box-shadow:0 0 0 4px var(--green-soft)}.p-intro h2{margin:0 0 6px;font-size:15px}.p-intro p{margin:0;font-size:13px;color:var(--muted)}.p-sec{display:flex;align-items:baseline;justify-content:space-between;margin:0 4px 12px}.p-sec h3{margin:0;font-size:16px;font-weight:800}.p-sec span{font-size:11px;color:var(--muted)}.p-list{display:grid;gap:12px}.p-course{background:var(--white);border-radius:22px;padding:16px;border:none;box-shadow:var(--shadow);position:relative}.p-course:before{content:none}.p-course.theme-phonics,.p-course.c0{--accent: #5ba3f5;--tag-ink:#2b6cb0;--tag-bg:#e8f3ff}.p-course.theme-vocab,.p-course.c1{--accent: #3dcc6f;--tag-ink:#178a42;--tag-bg:#e9f9ee}.p-course.theme-grammar,.p-course.c2{--accent: #ffd166;--tag-ink:#9a6b00;--tag-bg:#fff6dd}.p-course.theme-pep,.p-course.c3,.p-course.theme-junior,.p-course.c4{--accent: #ff6b4a;--tag-ink:#c2410c;--tag-bg:#ffeae4}.p-course.theme-ket,.p-course.c5{--accent: #111111;--tag-ink:#111;--tag-bg:#f3f3f3}.p-course.theme-yuwen{--accent: #5ba3f5;--tag-ink:#2b6cb0;--tag-bg:#e8f3ff}.p-course.theme-siwei{--accent: #3dcc6f;--tag-ink:#178a42;--tag-bg:#e9f9ee}.p-course.theme-default{--accent: #9ca3af;--tag-ink:#4b5563;--tag-bg:#f3f4f6}.p-course-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.p-course-name{margin:0;font-size:16px;font-weight:800;line-height:1.35;display:flex;align-items:center;gap:8px}.p-course-name:before{content:"";width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--accent, var(--blue))}.p-tag{flex-shrink:0;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;color:var(--tag-ink);background:var(--tag-bg)}.p-one{margin:0 0 14px;font-size:13px;color:var(--muted);line-height:1.55}.p-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.p-btn{display:inline-flex;align-items:center;justify-content:center;height:42px;border-radius:999px;font-size:13px;font-weight:700;text-decoration:none;border:none;cursor:pointer}.p-btn-outline{background:#fff;color:var(--ink);border:1.5px solid #e5e5e5}.p-btn-solid{background:linear-gradient(180deg,#3dcec0,#1f8f86);color:#fff;box-shadow:0 6px 14px #1f8f8640}.p-alumni{margin-top:16px;padding:16px;border-radius:22px;background:#fafafa;border:1px solid var(--line)}.p-alumni .label{display:inline-block;font-size:11px;font-weight:700;color:#178a42;background:var(--green-soft);padding:3px 10px;border-radius:999px;margin-bottom:8px}.p-alumni h3{margin:0 0 6px;font-size:16px;font-weight:800;color:var(--ink)}.p-alumni p{margin:0 0 14px;font-size:13px;color:var(--muted)}.p-page{padding:12px 16px 32px}.page-kicker{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--muted)}.page-title{margin:0 0 6px;font-size:26px;font-weight:800;letter-spacing:-.03em;line-height:1.2}.page-lead{margin:0 0 20px;font-size:14px;line-height:1.6;color:var(--muted)}.p-back{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--muted);margin-bottom:12px;cursor:pointer;border:none;background:none}.p-card{background:#fff;border-radius:var(--radius);border:none;padding:16px;margin-bottom:12px;box-shadow:var(--shadow)}.p-card h2{margin:0 0 8px;font-size:22px;font-weight:800;letter-spacing:-.03em}.p-muted{color:var(--muted);font-size:13px;white-space:pre-wrap}.p-field{margin-bottom:12px}.p-field label{display:block;font-size:13px;margin-bottom:6px;font-weight:600}.p-field input{width:100%;height:44px;border-radius:14px;border:1px solid var(--line);padding:0 14px;font-size:14px;outline:none;background:#fafafa}.p-field input:focus{border-color:var(--ink);background:#fff}.p-success{text-align:center;padding:48px 24px}.p-success h2{font-weight:800}.p-ok{text-align:left;margin:16px 0;padding:12px 14px;background:var(--green-soft);border-left:3px solid var(--green);font-size:13px;color:#178a42}.p-wait{text-align:left;margin:16px 0;padding:12px 14px;background:var(--orange-soft);border-left:3px solid var(--orange);font-size:13px;color:#c2410c}.admin-layout{min-height:100vh;background:#fafafa;--el-color-primary: #111111;--el-color-primary-light-3: #444;--el-color-primary-light-5: #777;--el-color-primary-light-7: #aaa;--el-color-primary-light-8: #ccc;--el-color-primary-light-9: #eee;--el-color-primary-dark-2: #000;--el-color-success: #3dcc6f;--el-color-info: #6b7280;--el-text-color-primary: #111;--el-border-radius-base: 10px}.admin-side{position:fixed;left:0;top:0;z-index:4000;width:220px;height:100vh;background:#111;color:#fff;padding:22px 0;overflow-x:hidden;overflow-y:auto;box-sizing:border-box}.admin-side h1{font-size:15px;margin:0 16px 22px;font-weight:700;line-height:1.45;color:#fff}.admin-side a{display:block;color:#ffffffb3;text-decoration:none;padding:11px 20px;font-size:14px;margin:2px 10px;border-radius:12px}.admin-side a.active,.admin-side a:hover{background:#fff;color:#111}.admin-main{margin-left:220px;min-height:100vh;padding:20px;box-sizing:border-box}.admin-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;background:#fff;border-radius:16px;padding:12px 16px;border:1px solid #ececec;box-shadow:none}.admin-layout .el-card{border:1px solid #ececec;border-radius:16px;box-shadow:none}.admin-layout .el-table{--el-table-header-bg-color: #fafafa;--el-table-tr-bg-color: #fff;border-radius:12px}.admin-layout .el-button--primary{--el-button-bg-color: #111;--el-button-border-color: #111;--el-button-hover-bg-color: #333;--el-button-hover-border-color: #333}
