:root{color:#173126;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--accent:#238b5d;--accent-deep:#145a3a;--surface-strong:#ffffffb8;--border:#193b281a;--text-main:#173126;--text-soft:#688071;background:radial-gradient(circle at 0 0,#58b17d29,#0000 24%),linear-gradient(#f4f8f4 0%,#ecf2ed 100%);font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans SC,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}button,input,textarea,select{font:inherit}h1,h2,h3,p,ul{margin-top:0}#root{min-height:100vh}.app-shell{width:100%;min-height:100vh;margin:0 auto}.app-shell-mobile{background:radial-gradient(circle at top,#e9f6eee6,#0000 30%),linear-gradient(#f6faf7 0%,#eff5f0 100%);max-width:520px}.mini-header{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f6faf7eb;border-bottom:1px solid #20372b0f;padding:14px 18px 10px;position:sticky;top:0}.status-row,.title-row,.section-head,.course-headline,.course-meta,.course-footer,.order-item,.menu-item,.shop-banner{justify-content:space-between;align-items:center;display:flex}.status-row{color:var(--text-soft);margin-bottom:14px;font-size:12px}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 10px;font-size:13px;font-weight:700;line-height:1}.mini-header h1,.hero-card h2,.shop-banner h2,.profile-card h2{margin:0}.title-row h1{font-size:18px;font-weight:700}.title-row span{color:var(--accent-deep);background:#e1efe5;border-radius:999px;padding:6px 10px;font-size:12px}.mini-content{padding:14px 14px 92px}.page{flex-direction:column;gap:14px;display:flex}.hero-card,.section-block,.shop-banner,.detail-card,.profile-card,.placeholder-card{background:#ffffffeb;border:1px solid #20372b14;border-radius:24px;box-shadow:0 14px 30px #28423414}.hero-card{background:linear-gradient(135deg,#228b5e1f,#fffffff5),#fffffff2;gap:18px;padding:20px;display:grid}.hero-pill{background:var(--surface-strong);border:1px solid var(--border);color:var(--text-main);border-radius:999px;padding:10px 14px;font-size:13px}.hero-card h2,.shop-banner h2,.profile-card h2{font-size:24px}.hero-copy,.profile-card p,.course-card p,.detail-card p,.placeholder-card li,.order-item p,.section-head span,.course-headline small,.course-meta,.ghost-button,.menu-item,.quick-card span{color:var(--text-soft)}.stats-grid,.quick-grid{gap:12px;display:grid}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-grid article,.quick-card{background:#ffffffe0;border:1px solid #1c342814;border-radius:20px;padding:16px}.stats-grid strong{color:var(--accent-deep);font-size:22px;display:block}.stats-grid span{color:var(--text-soft);margin-top:8px;font-size:12px;display:block}.section-block,.detail-card,.shop-banner,.profile-card,.placeholder-card{padding:18px}.section-head h3,.course-headline h3{margin:0;font-size:17px}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.quick-card{gap:8px;display:grid}.quick-icon{color:#fff;background:linear-gradient(135deg,#2e9665,#4eb47c);border-radius:14px;place-items:center;width:42px;height:42px;font-weight:700;display:grid}.quick-card strong,.order-item strong{color:var(--text-main)}.placeholder-card{padding-left:22px}.placeholder-card ul{margin:10px 0 0;padding-left:18px}.ghost-button,.pay-button{cursor:pointer;border:none;transition:transform .2s,box-shadow .2s,opacity .2s}.ghost-button:hover,.pay-button:hover,.menu-item:hover{transform:translateY(-1px)}.ghost-button{background:#edf5ef;border-radius:999px;padding:10px 14px}.course-list,.order-list,.menu-list{gap:12px;margin-top:14px;display:grid}.course-card{background:#ffffffeb;border:1px solid #21392d14;border-radius:22px;grid-template-columns:104px minmax(0,1fr);gap:12px;padding:12px;display:grid}.course-cover{background:linear-gradient(#2c9b67eb,#145739e0),#2f8f63;border-radius:18px;align-items:flex-start;min-height:140px;padding:12px;display:flex}.course-cover span{color:#fff;background:#ffffff29;border-radius:999px;padding:6px 10px;font-size:12px}.course-body{align-content:space-between;gap:10px;display:grid}.course-card p,.detail-card p,.profile-card p,.order-item p{margin:0;font-size:13px;line-height:1.6}.course-headline{align-items:flex-start;gap:10px}.course-headline small,.course-meta,.section-head span{font-size:12px}.price-wrap{align-items:baseline;gap:8px;display:flex}.price-wrap strong{color:#ef6d3a;font-size:22px}.price-wrap del{color:#8d9b93;font-size:12px}.pay-button{color:#fff;background:linear-gradient(135deg,#1f9a61,#36c67a);border-radius:999px;padding:12px 18px;box-shadow:0 10px 18px #2f9a633d}.profile-card{background:linear-gradient(135deg,#24956029,#fffffff5),#fffffff2;align-items:center;gap:14px;display:flex}.avatar{color:#fff;background:linear-gradient(135deg,#238b5d,#4ab67a);border-radius:50%;place-items:center;width:60px;height:60px;font-size:24px;font-weight:700;display:grid}.order-item,.menu-item{background:#f8fbf9f2;border:1px solid #1f342a14;border-radius:18px;padding:14px 16px}.order-item span:last-child{color:var(--accent);font-size:12px}.menu-item{text-align:left;cursor:pointer;border:1px solid #1f342a14;width:100%}.tabbar{width:100%;max-width:520px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:#fffffff0;border-top:1px solid #20372b0f;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -10px 20px #2c443814}.tab-item{color:#86958d;background:0 0;border:none;justify-items:center;gap:6px;padding:8px 0;display:grid}.tab-item span{font-size:18px}.tab-item em{font-size:12px;font-style:normal}.tab-item.active{color:var(--accent);background:#edf6ef;border-radius:16px}.purchase-mask,.payment-page{z-index:30;position:fixed;inset:0}.purchase-mask{background:#0d181266;justify-content:center;align-items:flex-end;display:flex}.purchase-sheet,.payment-card{width:min(520px,100%);padding:18px 18px calc(18px + env(safe-area-inset-bottom,0px));background:#fff;border-radius:28px 28px 0 0;box-shadow:0 -18px 40px #192c222e}.sheet-handle{background:#d7e2db;border-radius:999px;width:48px;height:5px;margin:0 auto 16px}.close-button,.secondary-button{color:var(--text-soft);background:#eef4ef;border:none}.close-button{border-radius:999px;padding:8px 12px}.purchase-course,.purchase-summary,.purchase-notes,.payment-amount,.payment-course,.payment-method{margin-top:16px}.purchase-course strong,.payment-course strong{color:var(--text-main);font-size:18px;display:block}.purchase-course p,.purchase-notes p,.payment-course p,.payment-course span,.method-row span,.payment-amount span{color:var(--text-soft);margin:0;font-size:13px;line-height:1.6}.purchase-summary{gap:12px;display:grid}.purchase-summary div,.method-row,.payment-amount,.payment-course{background:#f7faf8;border:1px solid #1f342a14;border-radius:18px;padding:14px 16px}.purchase-summary span,.method-row strong,.payment-amount strong{display:block}.purchase-summary span{color:var(--text-soft);margin-bottom:6px;font-size:12px}.purchase-summary strong,.payment-course strong,.method-row strong{color:var(--text-main)}.confirm-pay-button{color:#fff;background:linear-gradient(135deg,#1f9a61,#36c67a);border:none;border-radius:18px;width:100%;margin-top:18px;padding:15px 18px;font-size:16px;font-weight:700;box-shadow:0 10px 18px #2f9a633d}.payment-page{padding-bottom:calc(30px + env(safe-area-inset-bottom,0px));background:radial-gradient(circle at top,#e9f6eef5,#0000 30%),linear-gradient(#f6faf7 0%,#eff5f0 100%);overflow-y:auto}.payment-card{min-height:100vh;box-shadow:none;background:0 0;border-radius:0;margin:0 auto}.payment-amount{text-align:center}.payment-amount strong{color:#ef6d3a;margin-top:8px;font-size:34px}.payment-course span{margin-top:6px;display:block}.method-row{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.method-row.active{background:#e6f5eceb;border-color:#238b5d3d}.method-row em{color:var(--accent);font-size:12px;font-style:normal}.payment-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;display:grid}.secondary-button{border-radius:18px;padding:15px 18px}@media (width<=1180px){.app-shell-mobile{max-width:100%}}@media (width<=640px){.intro-panel h1{font-size:32px}.hero-card h2,.shop-banner h2,.profile-card h2{font-size:22px}.stats-grid,.course-card{grid-template-columns:1fr}.course-cover{min-height:110px}}
