:root{font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:#202d2a;background:#f5f7f5;font-synthesis:none;--ink:#202d2a;--muted:#63716c;--line:#dce3df;--green:#176451;--deep:#113f38;--mint:#e7f2ed;--coral:#b94f3f;--coral-soft:#fff1ed;--blue:#426b84;--yellow:#e6b65e}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-size:14px;line-height:1.58}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.35}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e6b65e;outline-offset:2px}.skip-link{position:absolute;left:-999px;top:5px;z-index:30;background:white;padding:8px}.skip-link:focus{left:12px}
.site-header{height:68px;background:white;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.header-inner{height:100%;max-width:1240px;margin:auto;padding:0 24px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:10px;flex:none;color:var(--deep);line-height:1.2}.brand-symbol{width:38px;height:38px;display:grid;place-items:center;background:var(--green);color:white;border-radius:6px;font-size:19px;font-weight:800}.brand strong{display:block;font-size:16px}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.main-nav{height:100%;display:flex;align-items:center;gap:22px;white-space:nowrap}.main-nav a{height:100%;display:flex;align-items:center;color:#465a53;font-size:13px;border-bottom:3px solid transparent}.main-nav a:hover,.main-nav a.active{color:var(--green);border-color:var(--green);font-weight:700}.header-actions{margin-left:auto;display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:12px}.header-actions a:hover{color:var(--green)}.header-search{display:flex;gap:4px;align-items:center;color:var(--muted)}.header-search span:first-child{font-size:23px;line-height:0}.account-link{font-weight:700}.admin-link{padding:7px 10px;border:1px solid var(--line);border-radius:5px;color:#526660}.mobile-nav{display:none}
#main{min-height:65vh}.container{width:min(100% - 48px,1180px);margin:auto}.section{padding:42px 0}.section-alt{background:#edf2ef}.section-white{background:white}.section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:19px}.section-head h2{font-size:22px;margin:0;color:var(--deep)}.section-head p{color:var(--muted);margin:5px 0 0}.section-head a{color:var(--green);font-weight:700;white-space:nowrap}.eyebrow{display:block;color:var(--coral);font-size:11px;font-weight:800;margin-bottom:7px}.page-intro{padding:35px 0 24px}.page-intro h1{font-size:28px;margin:0 0 7px;color:var(--deep)}.page-intro p{color:var(--muted);margin:0;max-width:760px}.breadcrumb{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;padding-top:20px}.breadcrumb a:hover{color:var(--green)}.status{font-size:11px;padding:3px 7px;border-radius:4px;background:#e8efeb;color:var(--green);font-weight:700;white-space:nowrap}.status.orange{background:#fff1e3;color:#a16317}.status.red{background:#fff1ed;color:var(--coral)}.status.blue{background:#edf3f8;color:var(--blue)}
.btn{border:1px solid var(--green);background:var(--green);color:white;border-radius:5px;padding:9px 15px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:700;line-height:1.25}.btn:hover{background:var(--deep);border-color:var(--deep)}.btn.secondary{background:white;color:var(--green)}.btn.secondary:hover{background:var(--mint)}.btn.ghost{border-color:var(--line);background:transparent;color:var(--ink)}.btn.ghost:hover{background:#e9f0ec}.btn.small{min-height:32px;padding:6px 10px;font-size:12px}.btn.block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.inline-link{color:var(--green);font-weight:700}.inline-link:hover{text-decoration:underline}.button-row{display:flex;gap:9px;flex-wrap:wrap}.muted{color:var(--muted)}.smalltext{font-size:12px}.divider{border:0;border-top:1px solid var(--line);margin:18px 0}
.hero{min-height:390px;position:relative;background:#244a3b url('/assets/community-learning-hero.png') center 52%/cover no-repeat;color:white;display:flex;align-items:center}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#102e29e8 0%,#102e29bd 40%,#102e2940 78%)}.hero-inner{position:relative;padding:42px 0}.hero .eyebrow{color:#f3cd86}.hero h1{font-size:37px;max-width:600px;margin:0 0 12px;line-height:1.32}.hero p{font-size:15px;max-width:560px;color:#e4eeea;margin-bottom:22px}.hero .btn{background:white;color:var(--deep);border-color:white}.hero .btn.secondary{background:transparent;color:white;border-color:#ffffffa6}.hero .btn:hover{background:#e7f2ed;color:var(--deep)}.hero-stats{display:flex;gap:28px;flex-wrap:wrap;margin-top:32px;font-size:12px;color:#d8e8e1}.hero-stats strong{display:block;color:white;font-size:18px}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.quick-link{background:white;border:1px solid var(--line);border-radius:6px;padding:17px;display:flex;align-items:center;justify-content:space-between;gap:12px}.quick-link:hover{border-color:var(--green);box-shadow:0 4px 18px #163f2d11}.quick-link strong{display:block;font-size:15px}.quick-link small{display:block;color:var(--muted);margin-top:3px}.quick-link .arrow{font-size:20px;color:var(--green)}.level-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.level-item{padding:16px 0;border-top:3px solid var(--green)}.level-item:nth-child(2){border-color:var(--blue)}.level-item:nth-child(3){border-color:var(--coral)}.level-item:nth-child(4){border-color:var(--yellow)}.level-item b{font-size:15px}.level-item p{color:var(--muted);font-size:12px;margin:6px 0 0}
.grid{display:grid;gap:14px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:white;border:1px solid var(--line);border-radius:7px;overflow:hidden;min-width:0}.card:hover{border-color:#b6d0c2}.card-image{width:100%;height:148px;object-fit:cover;background-color:#dce8df}.tile{background-image:url('/assets/learning-scenes-sheet.png');background-size:300% 300%;background-position:var(--x) var(--y)}.card-body{padding:15px}.card-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:var(--muted);font-size:11px;margin-bottom:8px}.card h3{font-size:16px;margin:0 0 7px;color:var(--ink)}.card h3 a:hover{color:var(--green)}.card p{color:var(--muted);font-size:12px;margin:0 0 10px;line-height:1.6}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:6px;border-top:1px solid var(--line);padding-top:9px;color:var(--muted);font-size:11px}.card-footer a{color:var(--green);font-weight:700}.image-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.event-card{display:flex;background:white;border:1px solid var(--line);border-radius:7px;overflow:hidden;min-width:0}.event-card .event-image{width:34%;min-height:150px;object-fit:cover;background-color:#cfdfd8}.event-card .event-info{padding:14px;flex:1;min-width:0}.event-card h3{font-size:15px;margin:5px 0}.event-card p{font-size:12px;color:var(--muted);margin:4px 0}.event-card .card-footer{margin-top:12px}
.filter-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:17px}.filter-bar input,.filter-bar select,.field input,.field select,.field textarea,.search-large{border:1px solid #cfdad3;background:white;border-radius:5px;padding:9px 10px;color:var(--ink);min-height:38px;outline:none}.filter-bar input{min-width:240px;flex:1}.filter-bar select{min-width:125px}.field input:focus,.field select:focus,.field textarea:focus,.filter-bar input:focus,.filter-bar select:focus,.search-large:focus{border-color:var(--green);box-shadow:0 0 0 3px #1764511a}.result-line{font-size:12px;color:var(--muted);margin:0 0 12px}.empty{padding:45px 18px;text-align:center;background:white;border:1px dashed #bdcbc3;border-radius:6px;color:var(--muted)}.tabs{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);overflow:auto;white-space:nowrap}.tabs a,.tabs button{padding:11px 2px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:13px;cursor:pointer}.tabs a.active,.tabs button.active{color:var(--green);border-color:var(--green);font-weight:700}
.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:26px;padding:22px 0 55px}.detail-main h1{font-size:28px;color:var(--deep);margin:7px 0 8px}.detail-lead{font-size:14px;color:var(--muted);max-width:750px}.detail-visual{width:100%;height:290px;object-fit:cover;border-radius:6px;background-color:#dce8df;margin:18px 0}.detail-section{padding:23px 0;border-top:1px solid var(--line)}.detail-section h2{font-size:18px;margin:0 0 13px}.detail-section p{color:#44564e}.detail-section ul{padding-left:20px;color:#44564e}.detail-section li{margin:6px 0}.aside-panel{background:white;border:1px solid var(--line);border-radius:7px;padding:17px;align-self:start;position:sticky;top:90px}.aside-panel h3{font-size:15px;margin:0 0 13px}.aside-panel p{font-size:12px;color:var(--muted)}.aside-panel .price{font-size:24px;color:var(--coral);font-weight:800;margin:2px 0 10px}.aside-panel .btn{width:100%;margin:7px 0}.aside-facts{padding:0;margin:14px 0;list-style:none}.aside-facts li{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid var(--line);font-size:12px}.aside-facts li span{color:var(--muted)}.outline{border-top:1px solid var(--line)}.outline-item{border-bottom:1px solid var(--line);padding:12px 2px;display:flex;justify-content:space-between;gap:10px}.outline-item span:first-child{display:flex;gap:11px}.outline-item b{color:var(--green);font-size:12px}.outline-item small{color:var(--muted)}.notice{border-left:3px solid var(--blue);background:#eef4f6;padding:11px 13px;color:#405b69;font-size:12px;margin:15px 0}.avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex:none;background:#d9e9e0;color:var(--green);font-size:16px;font-weight:800}.person-row{display:flex;align-items:center;gap:10px}.person-row small{display:block;color:var(--muted)}.person-row a:hover{color:var(--green)}
.learn-shell{width:min(100% - 48px,1320px);margin:22px auto 55px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}.player{height:440px;background:#182622;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;border-radius:6px}.player:before{content:"";position:absolute;inset:0;background:url('/assets/community-learning-hero.png') center/cover;opacity:.22}.player-content{position:relative;color:white;text-align:center;padding:20px}.player-content button{min-height:40px;padding:0 15px;border:1px solid white;border-radius:5px;background:#ffffffd9;color:var(--deep);font-size:13px;font-weight:700;margin:auto auto 13px}.player-content h2{font-size:18px}.learn-chapters{background:white;border:1px solid var(--line);border-radius:6px;overflow:auto;max-height:440px}.learn-chapters h3{font-size:14px;padding:14px;margin:0;border-bottom:1px solid var(--line)}.lesson{display:block;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);padding:12px 14px;font-size:12px}.lesson.active{background:var(--mint);color:var(--green);font-weight:700}.lesson small{display:block;color:var(--muted);margin-top:4px}.learn-below{margin-top:22px}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.field label{font-weight:700;font-size:12px}.field textarea{resize:vertical;min-height:105px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px}.checkline{display:flex;gap:8px;align-items:start;font-size:12px;color:var(--muted);margin:8px 0 17px}.checkline input{margin-top:3px;accent-color:var(--green)}
.feed{display:grid;grid-template-columns:190px minmax(0,1fr);gap:22px;padding-bottom:45px}.side-menu{border-top:1px solid var(--line)}.side-menu button,.side-menu a{display:block;width:100%;text-align:left;padding:10px 8px;border:0;border-bottom:1px solid var(--line);background:transparent;color:#475b52}.side-menu .active,.side-menu button:hover,.side-menu a:hover{color:var(--green);font-weight:700;background:#edf4ef}.feed-post{background:white;border:1px solid var(--line);border-radius:6px;padding:17px;margin-bottom:10px}.feed-post h3{font-size:16px;margin:8px 0}.feed-post p{color:#53645c;font-size:13px;margin:0 0 10px}.feed-post .post-tools{display:flex;gap:16px;color:var(--muted);font-size:11px}.feed-post .post-tools a:hover{color:var(--green)}.reply{padding:13px 0;border-bottom:1px solid var(--line)}.reply p{margin:5px 0}.toolbar{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:15px 0}.stack{display:grid;gap:11px}.task-row{background:white;border:1px solid var(--line);padding:13px 15px;border-radius:6px;display:flex;justify-content:space-between;gap:12px;align-items:center}.task-row h3{font-size:14px;margin:0 0 3px}.task-row p{font-size:12px;color:var(--muted);margin:0}.milestones{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.milestone{border-top:3px solid var(--green);padding-top:12px}.milestone h3{font-size:14px}.milestone p{font-size:12px;color:var(--muted)}.resource-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.resource{border:1px solid var(--line);background:white;padding:18px;border-radius:6px}.resource h3{font-size:15px;margin-bottom:6px}.resource p{font-size:12px;color:var(--muted)}.resource a{color:var(--green);font-weight:700}
.dashboard{display:grid;grid-template-columns:220px minmax(0,1fr);gap:25px;padding:26px 0 55px}.dash-side{align-self:start;background:white;border:1px solid var(--line);border-radius:6px;padding:15px}.dash-side h3{font-size:14px}.dash-side nav a{display:block;padding:8px 10px;margin:2px 0;color:#4f6158;border-radius:4px}.dash-side nav a.active,.dash-side nav a:hover{background:var(--mint);color:var(--green);font-weight:700}.dash-main h1{font-size:23px;margin:0 0 6px}.dash-main>.muted{margin:0 0 17px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.stat{border-top:2px solid var(--green);background:white;padding:13px;border-radius:3px}.stat small{display:block;color:var(--muted);font-size:11px}.stat strong{display:block;font-size:22px;margin-top:3px}.data-table{width:100%;border-collapse:collapse;background:white;font-size:12px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--line);padding:12px 10px;vertical-align:middle}.data-table th{color:var(--muted);background:#f3f6f4;font-weight:700}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:6px}.data-table a,.data-table button{color:var(--green);font-weight:700;border:0;background:transparent;padding:0}.role-switch{display:flex;gap:6px;flex-wrap:wrap;margin:15px 0 20px}.role-switch a{padding:8px 12px;border:1px solid var(--line);background:white;border-radius:5px;font-size:12px}.role-switch a.active{background:var(--deep);border-color:var(--deep);color:white}.proto-banner{background:#edf3f8;color:#486678;padding:8px 0;font-size:12px}.site-footer{background:#e7eeea;padding:30px 0;margin-top:0;color:#466056}.footer-inner{max-width:1180px;margin:auto;padding:0 24px;display:flex;justify-content:space-between;gap:20px}.footer-inner strong{color:var(--deep)}.footer-inner p{margin:4px 0}.footer-inner small{color:var(--muted)}.footer-links{display:flex;gap:18px;flex-wrap:wrap;align-self:start;font-size:12px}.footer-links a:hover{color:var(--green)}.toast{position:fixed;z-index:50;bottom:20px;left:50%;transform:translate(-50%,10px);background:var(--deep);color:white;padding:10px 17px;border-radius:5px;font-size:12px;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1100px){.header-inner{gap:17px}.main-nav{gap:12px}.main-nav a{font-size:12px}.header-actions{gap:8px}.header-search span:last-child{display:none}}
@media(max-width:850px){.site-header{height:60px}.header-inner{padding:0 16px}.main-nav{overflow-x:auto;flex:1;gap:16px}.main-nav a{flex:none}.header-actions .admin-link,.header-actions .header-search{display:none}.brand strong{font-size:14px}.brand small{font-size:10px}.brand-symbol{width:34px;height:34px}.grid.four{grid-template-columns:repeat(2,1fr)}.quick-grid,.level-row{grid-template-columns:repeat(2,1fr)}.stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){body{font-size:13px}.container{width:calc(100% - 30px)}.site-header{height:54px}.header-inner{justify-content:space-between}.main-nav,.header-actions{display:none}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;z-index:20;background:white;border-top:1px solid var(--line);height:54px}.mobile-nav a{display:grid;place-items:center;font-size:11px;color:#56675f}.mobile-nav a.active{color:var(--green);font-weight:800}.site-footer{padding-bottom:74px}.section{padding:30px 0}.section-head h2{font-size:19px}.section-head a{font-size:12px}.hero{min-height:330px;align-items:end}.hero:before{background:linear-gradient(0deg,#102e29f2 0%,#102e298a 63%,#102e291a 100%)}.hero-inner{padding:26px 0}.hero h1{font-size:27px}.hero p{font-size:13px;margin-bottom:15px}.hero-stats{gap:17px;margin-top:19px}.hero-stats strong{font-size:15px}.quick-grid,.level-row,.grid.three,.grid.four,.image-list,.resource-list{grid-template-columns:1fr}.quick-grid{gap:7px}.quick-link{padding:12px}.level-row{grid-template-columns:repeat(2,1fr)}.card-image{height:165px}.page-intro{padding:25px 0 18px}.page-intro h1{font-size:23px}.filter-bar input,.filter-bar select{width:100%;min-width:0}.detail-layout{display:block;padding-bottom:25px}.detail-main h1{font-size:24px}.detail-visual{height:210px}.aside-panel{position:static;margin:12px 0 25px}.learn-shell{width:calc(100% - 30px);display:block}.player{height:230px}.learn-chapters{max-height:250px;margin-top:12px}.feed{display:block}.side-menu{display:flex;overflow:auto;margin-bottom:15px}.side-menu button,.side-menu a{white-space:nowrap;width:auto;padding:9px 12px}.milestones{grid-template-columns:1fr}.dashboard{display:block;padding-top:15px}.dash-side{margin-bottom:15px}.dash-side nav{display:flex;overflow:auto}.dash-side nav a{white-space:nowrap}.form-grid{grid-template-columns:1fr}.footer-inner{display:block}.footer-links{margin-top:16px}.toast{bottom:68px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
