:root{--c-primary: #1f7a72;--c-primary-dark: #0f4f49;--c-primary-soft: #e8f3f1;--c-bg: #f4f6f6;--c-text: #1f2d2d;--c-muted: #6b7b7b;--c-border: #e3eaea;--tabbar-h: 60px}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--c-bg);color:var(--c-text);-webkit-font-smoothing:antialiased}.page-spin{min-height:60vh;display:flex;align-items:center;justify-content:center}.spinner{width:32px;height:32px;border-radius:50%;border:3px solid var(--c-primary-soft);border-top-color:var(--c-primary);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation-duration:2.4s}}.btn{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 16px;border:1px solid #d0dbdb;border-radius:8px;background:#fff;color:var(--c-text);font:inherit;font-size:14px;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.btn:hover{border-color:var(--c-primary);color:var(--c-primary)}.btn:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.btn-primary{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.btn-primary:hover{background:var(--c-primary-dark);border-color:var(--c-primary-dark);color:#fff}.btn-lg{height:46px;padding:0 22px;font-size:16px}.btn-row{display:flex;flex-wrap:wrap;gap:12px}.faq details{border-bottom:1px solid var(--c-border);padding:4px 0}.faq summary{cursor:pointer;padding:12px 4px;font-weight:600;list-style-position:inside}.faq summary:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.faq details p{margin:0 4px 12px;color:var(--c-muted);line-height:1.8}.logo{display:inline-flex;align-items:center;gap:8px;font-size:18px;font-weight:700;color:var(--c-text);letter-spacing:1px}.app-sider{border-right:1px solid var(--c-border);position:sticky;top:0;height:100vh}.app-sider-logo{display:block;padding:20px 24px 16px}.app-sider .ant-menu{border-inline-end:none!important}.app-content{padding:24px;max-width:1080px;width:100%;margin:0 auto}.app-mobile{min-height:100vh;padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom))}.app-mobile-header{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid var(--c-border);padding:12px 16px}.app-mobile .app-content{padding:16px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid var(--c-border);display:flex}.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:12px;color:var(--c-muted)}.tab-icon{font-size:20px;line-height:1}.tab.active{color:var(--c-primary);font-weight:600}.page-title{font-size:22px;font-weight:700;margin:0 0 4px}.page-sub{color:var(--c-muted);margin:0 0 20px}.card-grid{display:grid;gap:16px}.muted{color:var(--c-muted)}.ai-note{font-size:12px;color:var(--c-muted)}.big-number{font-size:34px;font-weight:700;line-height:1.1;color:var(--c-primary-dark)}.stack{display:flex;flex-direction:column;gap:16px}.plain-list{margin:0;padding-left:18px;line-height:1.9}.sticky-actions{position:sticky;bottom:0;z-index:5;margin:24px -24px -24px;padding:12px 24px;background:#fffffff5;border-top:1px solid var(--c-border);display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.app-mobile .sticky-actions{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));margin:16px -16px -16px;padding:10px 16px}.landing{background:#fff}.landing-nav{max-width:1080px;margin:0 auto;padding:16px 24px;display:flex;justify-content:space-between;align-items:center}.hero{background:linear-gradient(160deg,#e8f3f1,#fff 70%)}.hero-inner{max-width:1080px;margin:0 auto;padding:56px 24px 64px;display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}.hero h1{font-size:40px;line-height:1.25;margin:0 0 16px}.hero p{font-size:17px;color:var(--c-muted);line-height:1.7;margin:0 0 28px}.hero-chart{background:#fff;border:1px solid var(--c-border);border-radius:12px;padding:16px;box-shadow:0 8px 30px #1f7a7214}.section{max-width:1080px;margin:0 auto;padding:56px 24px}.section h2{font-size:26px;text-align:center;margin:0 0 32px}.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.step-card{border:1px solid var(--c-border);border-radius:12px;padding:24px}.step-card .num{width:32px;height:32px;border-radius:50%;background:var(--c-primary-soft);color:var(--c-primary);display:flex;align-items:center;justify-content:center;font-weight:700;margin-bottom:12px}.step-card h3{margin:0 0 8px;font-size:17px}.step-card p{margin:0;color:var(--c-muted);line-height:1.7}.student-section{background:var(--c-primary-soft);max-width:none}.student-section>*{max-width:1032px;margin-left:auto;margin-right:auto}.footer{border-top:1px solid var(--c-border);padding:24px;text-align:center;color:var(--c-muted);font-size:13px}.footer a{color:var(--c-muted);margin:0 8px}.narrow{max-width:640px;margin:0 auto}.simple-page{min-height:100vh;background:var(--c-bg)}.simple-header{background:#fff;border-bottom:1px solid var(--c-border)}.simple-header-inner{max-width:1080px;margin:0 auto;padding:14px 24px;display:flex;justify-content:space-between;align-items:center}.simple-body{padding:24px 16px 48px}.locked{position:relative;overflow:hidden;border-radius:12px}.locked-blur{filter:blur(5px);pointer-events:none;-webkit-user-select:none;user-select:none}.locked-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#ffffff8c;text-align:center;padding:16px}.type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.type-card{border:1px solid var(--c-border);border-radius:10px;padding:16px;cursor:pointer;background:#fff;transition:border-color .15s,box-shadow .15s;text-align:left;font:inherit;color:inherit}.type-card:hover,.type-card:focus-visible{border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-soft);outline:none}.type-card.selected{border-color:var(--c-primary);background:var(--c-primary-soft)}.type-card .icon{font-size:22px;color:var(--c-primary)}.type-card .name{font-weight:600;margin-top:8px}.goal-layout{display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:start}.goal-side{position:sticky;top:24px}.task-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--c-border)}.task-row:last-child{border-bottom:none}.task-row .title{flex:1;min-width:0}.task-row.done .title{color:var(--c-muted);text-decoration:line-through}@media (max-width: 767px){.hero-inner{grid-template-columns:1fr;padding:32px 16px 40px;gap:24px}.hero h1{font-size:28px}.hero p{font-size:15px}.section{padding:40px 16px}.steps3{grid-template-columns:1fr}.type-grid{grid-template-columns:repeat(2,1fr)}.goal-layout{grid-template-columns:1fr}.goal-side{position:static}.page-title{font-size:20px}.landing-nav{padding:12px 16px}}
