:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#123b67;background:#e5f5fc}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#e2f2ff,#f8fcfd 42%,#fff);min-height:100vh}.wrap{max-width:720px;margin:0 auto;padding:0 16px 104px}.hero{position:relative;min-height:260px;margin:0 -16px;padding:24px 26px 16px;overflow:hidden;background:#fff;border-radius:0 0 54px 22px}.hero:before{content:"";position:absolute;left:-100px;top:-96px;width:250px;height:160px;background:#aee4fc;border-radius:50%;transform:rotate(-18deg)}.hero:after{content:"";position:absolute;right:-55px;top:-55px;width:190px;height:150px;background:#ffe58c;border-radius:48% 52% 54% 46%}.hero-brand{position:relative;z-index:2;width:170px;height:auto;margin-bottom:9px}.hero h1{position:relative;z-index:2;max-width:62%;margin:0;font-size:29px;line-height:1.3;color:#0d3762}.hero p{position:relative;z-index:2;max-width:62%;margin:9px 0 0;color:#718998;line-height:1.7;font-size:14px}.hero-art{position:absolute;z-index:1;right:0;bottom:-12px;width:205px;height:205px;object-fit:contain}.quick-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.quick-nav button{border:0;border-radius:14px;background:#fff;color:#406dfe;padding:10px 3px;font-weight:600;box-shadow:0 4px 14px #244d5c12}.card{margin-top:14px;padding:20px;border-radius:28px 19px 25px 18px;background:#fffffff2;box-shadow:0 6px 18px #244d5c12}.card h2{margin:0 0 12px;font-size:21px;color:#103960}.card h3{margin:0;font-size:17px}.section-kicker{color:#279edd;font-size:12px;letter-spacing:2px;font-weight:700}.muted{color:#718794;font-size:13px;line-height:1.7}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.students{display:flex;gap:10px;overflow:auto}.student,.slot,.teacher{border:1px solid #dbe8ed;border-radius:16px;background:#fff;padding:12px;text-align:left;cursor:pointer}.student.active,.slot.active,.teacher.active{border-color:#406dfe;background:#edf3ff;color:#2457dc}.student{min-width:112px}.teacher{display:flex;gap:12px;width:100%;margin:8px 0}.teacher img{width:58px;height:58px;border-radius:50%;object-fit:cover;background:#eaf4f7}.teacher strong{display:block;margin-bottom:4px}.teachers{display:grid;gap:9px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.slot{font-size:13px}.price{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid #edf1f3}.price:last-child{border-bottom:0}.price strong{font-size:21px;color:#285fd5}.package{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px;margin:10px 0;border:1px solid #d8eefb;border-radius:22px;background:#e7f6ff;overflow:hidden}.package:nth-child(2n){background:#e9f8da;border-color:#d9efc1}.package-copy{position:relative;z-index:1}.package-title{display:block;color:#2a659d;font-size:12px;margin-bottom:4px}.package strong{font-size:31px;color:#113d78}.package small{display:block;color:#748a9a;margin-top:3px}.package img{width:92px;height:82px;object-fit:contain;mix-blend-mode:multiply}.btn{width:100%;border:0;border-radius:15px;padding:14px 16px;margin-top:12px;background:#406dfe;color:#fff;font-size:16px;font-weight:600;cursor:pointer}.btn.secondary{background:#eaf1ff;color:#2758d0}.btn.danger{background:#fff0f0;color:#b22}.btn:disabled{opacity:.5}.input{width:100%;padding:13px;border:1px solid #dbe8ed;border-radius:12px;font-size:16px;margin:6px 0 10px;background:#fff}.notice{padding:12px;border-radius:13px;background:#f3f8fa;color:#5a7180;line-height:1.6}.error{color:#b42318;background:#fff1f0}.orders .order{padding:13px 0;border-bottom:1px solid #edf1f3}.orders .order:last-child{border-bottom:0}.bottom-nav{position:fixed;z-index:5;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fffffff2;border-top:1px solid #e6eff2}.bottom-nav button{flex:1;max-width:340px;border:0;border-radius:15px;padding:13px;background:#fff;color:#406dfe;font-weight:600}.small{font-size:12px;color:#78909b}.hidden{display:none!important}@media(min-width:720px){.wrap{padding-top:28px}}
