:root{--ink:#182e2a;--green:#0f625c;--lime:#f3bc62;--paper:#f8faf8;--line:#dce5df;--muted:#53665e;--b-accent:#a35513;--b-soft:#e5f1ec;--b-card:#fff;--b-radius:18px;--b-motion:160ms;font-family:'PingFang SC',-apple-system,BlinkMacSystemFont,sans-serif}
.phone,.statusbar,.miniheader,.mobile-content{background:var(--paper)}
.mobile-content{padding:10px 16px 28px;color:var(--ink)}
.wordmark{color:var(--green);font-size:23px;letter-spacing:-1px}.v3-role-pill{background:var(--b-soft);color:var(--green);min-height:34px;padding:8px}.miniheader{height:52px;gap:8px}
.bottomnav{background:#fff;border-top:1px solid var(--line);height:74px;padding:9px 6px max(9px,env(safe-area-inset-bottom))}.bottomnav a{font-size:12px;min-height:48px;color:var(--muted);gap:4px}.bottomnav a.active{color:var(--green)}.bottomnav a.active .icon{background:var(--b-soft);border-radius:10px;width:38px;padding:4px;height:28px}
.mobile-content .btn.primary,.modal .btn.primary{background:var(--green);color:#fff}.mobile-content .btn{min-height:40px;border-radius:11px;font-size:12px}.mobile-content button{transition:background-color var(--b-motion),opacity var(--b-motion)}.mobile-content button:active{opacity:.78}.mobile-content button:focus-visible,.bottomnav a:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.b-home-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0 19px}.b-home-head>div>span{font-size:10px;color:var(--muted);letter-spacing:1.2px}.b-home-head h1{font-size:26px;font-weight:750;letter-spacing:-1px;margin:8px 0 0}.b-home-head h1>span{color:var(--b-accent)}.b-home-head>button{display:flex;align-items:center;gap:3px;font-size:12px;min-height:44px;color:var(--green);white-space:nowrap;padding:4px}.b-home-head>button svg{width:15px}
.n-search{background:white;border:1px solid var(--line);border-radius:14px;padding:13px;margin-bottom:10px}.n-search input{font-size:14px;color:var(--ink)}.n-search input::placeholder{color:var(--muted)}
.n-tabs{gap:20px;margin-bottom:14px}.n-tabs>button{min-height:44px;font-size:16px;padding:10px 0;color:var(--muted)}.n-tabs>button.active{color:var(--green)}.n-tabs>button.active:after{background:var(--green);height:3px;width:18px}
.b-feature{position:relative;width:100%;height:208px;padding:0;display:block;text-align:left;border-radius:18px;overflow:hidden;background:#c0b39d}.b-feature>.v3-art{position:absolute;inset:0;background-position:25% top;filter:brightness(.69)}.b-feature>div{position:relative;padding:21px;display:flex;flex-direction:column;align-items:flex-start;color:white;justify-content:space-between;height:100%}.b-feature>div>span{font-size:9px;letter-spacing:2px}.b-feature h2{font-size:26px;line-height:1.32;letter-spacing:-.5px;font-weight:650;text-shadow:0 1px 5px #0006}.b-feature b{background:#fff;color:var(--ink);padding:10px 13px;font-size:12px;border-radius:9px;display:flex;align-items:center;gap:10px;min-height:38px}.b-feature b svg{width:16px;height:16px}
.b-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:13px 0 16px}.b-shortcuts>button{display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding:12px 10px;border:1px solid var(--line);background:white;border-radius:12px;min-height:58px;text-align:left}.b-shortcuts>button>svg:first-child{width:19px;height:19px;color:var(--green)}.b-shortcuts>button>svg:last-child{display:none}.b-shortcuts>button>span{font-size:12px;font-weight:600}
.b-plan{width:100%;display:flex;align-items:center;gap:12px;padding:16px;background:#e9f0e6;border-radius:16px;text-align:left}.b-plan-symbol{display:grid;place-items:center;flex:0 0 37px;height:44px;border:1px solid #b9cdb6;border-radius:11px;color:var(--green)}.b-plan-symbol svg{width:20px}.b-plan>div{flex:1}.b-plan small{font-size:10px;color:var(--muted)}.b-plan b{display:block;font-size:15px;margin:5px 0}.b-plan p{font-size:12px;color:var(--muted)}.b-round{width:30px;height:30px;background:white;border-radius:50%;display:grid;place-items:center;color:var(--green)}.b-round svg{width:16px}
.n-section{margin:25px 0 14px}.n-section h2{font-size:18px;font-weight:700;letter-spacing:-.5px}.n-section .btn{font-size:12px;color:var(--muted);padding:7px 0}
.n-video-grid{gap:12px}.n-video-card{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0 0 10px}.n-video-card>div:first-child{aspect-ratio:1.12;border-radius:15px;overflow:hidden}.n-video-card h3{font-size:15px;line-height:1.5;margin:10px 0 4px;min-height:0}.n-video-card>p{font-size:12px;margin:0;color:var(--muted)}.n-video-card>div:last-child{margin:8px 0 0;gap:4px}.n-video-card b{font-size:14px;color:var(--green)}.n-video-card>div:last-child>span{font-size:10px;color:var(--muted)}.n-photo-label{background:#153a30b3;font-size:10px}.n-play{width:30px;height:30px;background:#ffffffed}
.n-title h1{font-size:27px;letter-spacing:-.7px}.n-title>span{font-size:12px;color:var(--muted)}.n-lesson-modes{background:#e9efeb;padding:5px;margin-bottom:15px;border-radius:12px}.n-lesson-modes .btn{min-height:39px;color:var(--muted)}.n-lesson-modes .btn.primary{background:white;color:var(--green);box-shadow:none}
.week-toolbar{margin-bottom:11px}.week-toolbar button{min-height:40px;min-width:30px;color:var(--green)}.week-toolbar>div>span{font-size:12px;color:var(--ink)}.week-toolbar .week-all{font-size:12px;color:var(--green);padding:0 8px}.week-all.active{background:var(--b-soft)}.n-date-scroll.week-seven{gap:6px}.n-date-scroll.week-seven>button{border-radius:12px;background:#fff;border:1px solid var(--line);height:70px;gap:7px}.week-seven>button>span{font-size:11px;color:var(--muted)}.week-seven>button>b{font-size:20px;color:var(--ink)}.n-date-scroll.week-seven>button.active{background:var(--green);border-color:var(--green)}.n-date-scroll.week-seven>button.active>*{color:white}.n-filter-row .n-tabs>button{font-size:12px;min-height:36px;border-radius:9px;border:0;background:#edf1ed;color:var(--muted);padding:8px 9px}.n-filter-row .n-tabs>button.active{background:var(--b-soft);color:var(--green)}
.b-course{display:grid;grid-template-columns:96px minmax(0,1fr);gap:0 14px;width:100%;text-align:left;border:1px solid var(--line);border-radius:18px;background:white;box-shadow:none;padding:13px;margin-bottom:13px;overflow:hidden}
.b-course-visual{position:relative;border-radius:12px;overflow:hidden;min-height:132px;align-self:stretch}.b-course-visual>.n-photo{width:100%;height:100%;position:absolute;inset:0}.b-course-date{position:absolute;top:8px;left:8px;background:#fffc;border-radius:8px;padding:5px 8px;text-align:center;font-size:10px;color:var(--ink);line-height:1.1}.b-course-date b{display:block;font-size:21px;margin-top:2px}
.b-course-kind{display:flex;justify-content:space-between;gap:4px;font-size:10px;color:var(--green);line-height:1.4}.b-course-kind>span{color:var(--muted)}.b-course h3{font-size:16px;line-height:1.5;letter-spacing:-.3px;margin:8px 0}.b-course-time{font-size:20px;font-weight:650;color:var(--ink);white-space:nowrap}.b-course-time>span{font-size:12px;font-weight:400;color:var(--muted)}.b-course-copy>p{font-size:11px;color:var(--muted);margin:7px 0;line-height:1.5}.b-course-copy>footer{display:flex;justify-content:space-between;align-items:center;gap:5px}.b-course-copy>footer>span{display:flex;gap:4px;align-items:center;font-size:11px;color:var(--muted)}.b-course .avatar{width:20px;height:20px;font-size:10px;background:var(--b-soft);color:var(--green)}.b-course-copy>footer>b{font-size:12px;color:var(--green);white-space:nowrap}.b-course-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:12px;padding-top:10px;gap:8px}.b-course-bottom>span{font-size:12px;color:var(--muted)}.b-course-bottom>b{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--b-accent)}.b-course-bottom svg{width:16px;height:16px}
.n-org-card{display:block;padding:0;border-radius:18px;box-shadow:none;overflow:hidden;border:1px solid var(--line);margin-bottom:15px}.n-org-card>.n-photo{width:100%;height:148px;border-radius:0}.n-org-copy{padding:15px}.n-org-copy h3{font-size:17px;line-height:1.4}.n-org-copy p{font-size:12px;margin:8px 0}.n-org-copy .chip{font-size:10px}
.n-post{border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:none;margin-bottom:16px}.n-post header b{font-size:14px}.n-post header span{font-size:12px;color:var(--muted)}.n-post header button{min-height:40px;min-width:48px;color:var(--green);background:var(--b-soft)}.n-post-open>.n-photo{height:210px;border-radius:12px}.n-post h3{font-size:17px}.n-post p{font-size:14px;color:var(--muted)}.n-post footer button{min-height:40px;font-size:12px;color:var(--muted)}
.n-profile h1{font-size:27px}.n-profile span{font-size:12px;color:var(--muted)}.n-role-entry{background:var(--green);color:white;padding:18px;border-radius:17px}.n-role-entry>div>span,.n-role-entry>span{color:#dfefe8;font-size:12px}.n-role-entry b{font-size:19px;margin-top:7px}.n-mine-grid{padding:20px 6px;border:1px solid var(--line);border-radius:16px}.n-mine-grid button{font-size:12px;min-height:52px}.n-menu-card{border:1px solid var(--line);border-radius:17px;padding:0 16px}.n-menu{min-height:54px;font-size:15px}.n-menu b{font-size:12px}.n-menu svg{color:var(--muted)}.n-account-test{font-size:11px;color:var(--muted);min-height:44px}
.t-context{font-size:12px;color:var(--muted)}.t-context button{min-height:36px;font-size:12px;color:var(--green)}.t-greeting{padding:0 0 16px;border-bottom:1px solid var(--line)}.t-greeting h1{font-size:28px}.t-greeting p{font-size:13px;color:var(--muted)}.t-monogram{background:var(--b-soft);color:var(--green);width:54px;height:54px;border-radius:18px}.t-work-shortcuts{gap:8px}.t-work-shortcuts .btn{font-size:12px;min-height:44px;background:var(--b-soft);color:var(--green);border:0}
.t-overview{border:1px solid var(--line);border-radius:17px;padding:18px;gap:20px}.t-overview strong{font-size:30px;color:var(--green)}.t-overview span{color:var(--muted);font-size:12px}.t-list-heading h2{font-size:18px}.t-list-heading>span{font-size:12px;color:var(--muted)}.t-class{border:1px solid var(--line);border-radius:18px;padding:15px;box-shadow:none;margin-bottom:14px}.t-class-top>span:first-child{font-size:14px;color:var(--green)}.t-class-main{gap:13px}.t-class-main>.n-photo{width:78px;height:83px;flex-basis:78px;border-radius:12px}.t-class h3{font-size:17px}.t-class-main p{font-size:12px;line-height:1.5;color:var(--muted)}.t-class .chip{font-size:10px}.t-class footer{padding-top:12px;margin-top:13px}.t-class footer>span{font-size:11px;color:var(--muted)}.t-class footer .btn{min-height:40px;font-size:12px}.t-task,.t-attendee{border:1px solid var(--line);border-radius:17px;padding:16px}.t-task h3,.t-attendee h3{font-size:17px}.t-task p,.t-attendee p{font-size:13px;color:var(--muted)}.t-task-text{font-size:14px}.t-attendee footer>.btn{min-height:44px}.t-teaching-intro,.t-attendance-title{background:var(--b-soft)}.t-income{background:var(--green);border-radius:18px}.t-income h2{font-size:38px}.t-income>span,.t-income p{font-size:13px;color:#deece4}.t-empty{font-size:14px;color:var(--muted);line-height:1.7;border-color:var(--line)}
.chip.green{background:var(--b-soft);color:var(--green)}.chip.gray{background:#edf0ea;color:#53665e}.n-source,.l-subtitle{font-size:12px;color:var(--muted);line-height:1.7}.l-plan,.l-library-card,.l-practice-record{border:1px solid var(--line);border-radius:17px}.l-plan-entry{background:var(--b-soft)}.l-learning-tools{gap:8px;flex-wrap:wrap}.l-learning-tools .btn{font-size:12px;min-height:44px}.l-task-check{min-width:36px;min-height:36px}.l-task-info{min-height:48px}.l-ai-entry{background:var(--b-soft)}
@media(max-width:360px){.mobile-content{padding-left:12px;padding-right:12px}.b-home-head h1{font-size:23px}.b-course{grid-template-columns:80px minmax(0,1fr);gap:0 10px;padding:11px}.b-course h3{font-size:15px}.n-date-scroll.week-seven{gap:4px}.b-course-time{font-size:18px}.b-shortcuts>button{padding:10px 8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.b-feature>.v3-art{background-size:200% auto;background-position:left top}
.n-org-card>.v3-art{background-size:200% auto}
.b-feature b{min-height:44px}
