:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;color:#252629;background:#f5f5f7;font-synthesis:none;--red:#ff304b;--muted:#8a8a8f}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #db6c80;outline-offset:3px}button{border:0;background:transparent;color:inherit}#shell{width:100%;max-width:440px;min-height:100dvh;background:#fff;margin:auto;position:relative}#app{padding-bottom:86px;min-height:100dvh;background:linear-gradient(155deg,#ffe7df 0,#ffedf2 115px,#fff 260px)}header{height:79px;display:flex;align-items:center;padding:0 20px;justify-content:space-between}header h1{font-size:22px;margin:0;color:#67191b}.logo{display:inline-grid;place-items:center;width:29px;height:29px;border-radius:7px;background:var(--red);color:white;font-size:16px;font-weight:700}.mini{border:1px solid #ddd4d7;border-radius:25px;background:#ffffff80;height:32px;width:109px;display:flex;justify-content:space-evenly;align-items:center;font-size:19px;color:#222}.mini i{height:17px;width:1px;background:#d9d0d2}#nav{position:fixed;bottom:0;max-width:440px;width:100%;display:flex;border-top:1px solid #eee;background:#fffffff5;backdrop-filter:blur(16px);padding-bottom:env(safe-area-inset-bottom);z-index:10}#nav button{flex:1;height:70px;font-size:17px}#nav button.active{color:var(--red);font-weight:650}.monthbar{display:flex;align-items:center;justify-content:space-between;padding:4px 20px 12px}.monthbar strong{font-size:20px}.monthbar button{color:#7b7074;padding:5px 10px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;padding:0 20px}.weekday{text-align:center;font-size:14px;color:#919094;padding:7px 0}.day{border:1px solid transparent;border-radius:10px;min-height:49px;font-size:18px;position:relative}.day.has:after{content:'';position:absolute;bottom:4px;width:3px;height:3px;background:var(--red);border-radius:50%;left:calc(50% - 1px)}.day.selected{color:var(--red);background:#fff0ef;border-color:#ffb6c0}.expand{display:block;margin:8px auto;color:#888;font-size:16px;padding:5px 25px}.schedule{background:#f7f7f7;border-top:1px solid #f0f0f0;border-radius:32px 32px 0 0;min-height:calc(100dvh - 319px);padding:20px}.section-title{font-size:20px;color:#6e1418;margin:0 0 19px;padding-left:10px;border-left:4px solid var(--red)}.time{font-size:14px;color:#8a8a8a;margin-bottom:9px}.lesson-card{background:#fff;border-radius:12px;padding:14px;margin-bottom:20px}.lesson-card h2{font-size:19px;line-height:1.5;margin:0 0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-bottom{display:flex;gap:10px;align-items:flex-end}.lesson-bottom img{width:120px;aspect-ratio:1.62;border-radius:5px;object-fit:cover}.progress-link{flex:1;display:flex;justify-content:space-between;align-items:center;background:#fff6f5;padding:10px 8px;border-radius:8px;font-size:16px;white-space:nowrap;color:#cf7c67}.progress-link button{color:var(--red);padding:0}.hint{text-align:center;color:#aaa;font-size:14px;padding:22px 0}.course-list{padding:8px 18px}.course{display:flex;gap:13px;padding:4px 0 27px;min-height:124px}.course>img{width:39%;height:93px;object-fit:cover;border-radius:4px}.course-info{flex:1}.course h2{font-size:18px;line-height:1.4;margin:0 0 4px;font-weight:550}.course p{font-size:15px;color:#747477;margin:0}.outline{border:1px solid var(--red);color:var(--red);border-radius:30px;padding:4px 16px;font-size:17px;float:right;margin-top:12px}.profile{display:flex;align-items:center;padding:12px 28px 32px;gap:16px}.profile img{width:60px;height:60px;border-radius:50%}.profile p{margin:5px 0;font-size:15px}.muted{color:var(--muted)}.help-content{background:#f7f7f7;min-height:calc(100dvh - 249px);padding:0 20px 30px}.menu{background:#fff;border-radius:11px;padding:0 14px}.menu button{display:flex;align-items:center;width:100%;text-align:left;padding:20px 0;gap:13px;font-size:18px;border-bottom:1px solid #f4f4f4}.menu button:last-child{border:0}.menu svg{height:22px;width:22px;stroke:#37383b;fill:none;stroke-width:1.5}.arrow{color:#bbb;margin-left:auto}.watermark{font-size:18px;color:#d4d4d4;text-align:center;margin:90px 0 15px;font-weight:600}.appbar{display:flex;gap:10px;align-items:center;padding:12px 20px;background:#fff7f7}.appbar p{margin:0;font-size:16px}.appbar small{font-size:13px;color:#929299}.primary{background:var(--red);color:white;padding:11px 20px;border-radius:24px;font-size:16px}.appbar .primary{margin-left:auto;padding:8px 15px}.detail-head{padding:0 20px 20px}.detail-head>img{width:100%;border-radius:12px;image-rendering:auto}.detail-head h2{font-size:23px;margin:15px 0 6px}.detail-head p{font-size:15px;color:#777;margin:5px 0}.track{height:6px;background:#f2e4e5;border-radius:6px;margin-top:15px;overflow:hidden}.track>div{height:100%;background:var(--red)}.chapters{padding:20px;background:#f7f7f7;min-height:300px}.chapter{width:100%;background:#fff;border-radius:10px;text-align:left;display:flex;gap:12px;padding:18px 14px;margin-bottom:10px;align-items:center}.chapter b{font-size:18px;color:#d5b7bc}.chapter div{flex:1;font-size:16px}.chapter small{display:block;font-size:13px;color:#999;margin-top:5px}.chapter .done{color:var(--red)}.back{font-size:22px;padding:7px 10px 7px 0}.subhead{font-size:18px;font-weight:600;flex:1}.reading{padding:20px;line-height:1.9}.reading h2{font-size:23px;line-height:1.5}.reading h3{font-size:18px}.notice{padding:12px 15px;background:#fff5ee;border-radius:9px;color:#976e51;font-size:14px;line-height:1.7}.reading textarea,dialog textarea{width:100%;height:110px;resize:vertical;border:1px solid #ddd;border-radius:9px;padding:12px;background:#fff}.wide{width:100%;margin-top:14px}.lesson-art{width:100%;border-radius:12px}.tag{display:inline-block;color:#c66d66;background:#fff2ef;font-size:13px;border-radius:5px;padding:3px 7px;margin:8px 0}dialog{border:0;border-radius:20px;padding:26px;width:calc(100% - 40px);max-width:390px;box-shadow:0 20px 80px #0002}dialog::backdrop{background:#21131c55;backdrop-filter:blur(3px)}dialog h2{font-size:22px;margin:5px 0 20px}dialog p{font-size:16px;line-height:1.8}.close-modal{position:absolute;right:12px;top:8px;color:#999;font-size:26px}.empty{text-align:center;padding:25px 0;color:#999}.stat{font-size:45px;color:var(--red);text-align:center;font-weight:600}.order{padding:13px 0;border-bottom:1px solid #eee;font-size:15px;line-height:1.8}.order span{font-size:13px;color:#999}#toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:#30272eee;color:#fff;padding:13px 20px;border-radius:25px;z-index:99;display:none;max-width:90%;text-align:center}.desktop-intro{display:none}@media(min-width:850px){body{background:radial-gradient(ellipse at 10% 10%,#ffe8e9,transparent 60%),#f7f4f4;display:flex;justify-content:center;align-items:center;gap:105px;min-height:100vh;padding:32px}#shell{margin:0;min-height:780px;border:1px solid #eadfe0;border-radius:24px;overflow:hidden;box-shadow:0 28px 80px #6c283415}#app{min-height:780px}#nav{position:absolute}.schedule{min-height:490px}.help-content{min-height:466px}.desktop-intro{display:block;width:350px;align-self:center}.brand{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:700;color:#682a34}.brand .logo{width:40px;height:40px;font-size:23px}.desktop-intro h1{font-size:43px;line-height:1.5;font-weight:600;letter-spacing:-1px;margin:50px 0 20px;color:#552c36}.desktop-intro p{line-height:2;color:#947b81;font-size:18px}.desktop-note{margin-top:90px;color:#a49195;font-size:14px;line-height:2}.desktop-note small{font-size:13px}}@media(max-width:370px){.lesson-bottom img{width:95px}.progress-link{font-size:14px}.course h2{font-size:16px}.course>img{height:85px}}
