*{margin:0;-webkit-tap-highlight-color:transparent}html,body{-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%;height:100%}body{overflow-x:hidden;font-size:16px}uni-app,uni-page,uni-page-wrapper,uni-page-body{display:block;box-sizing:border-box;width:100%}uni-page-wrapper{position:relative}#app,uni-app,uni-page,uni-page-wrapper{height:100%}.uni-mask{position:fixed;z-index:999;top:0;right:0;left:0;bottom:0;background:rgba(0,0,0,.5)}.uni-fade-enter-active,.uni-fade-leave-active{transition-duration:.25s;transition-property:opacity;transition-timing-function:ease}.uni-fade-enter-from,.uni-fade-leave-active{opacity:0}.uni-loading,uni-button[loading]:before{background-color:transparent;background-image:url(data:image/svg+xml;base64,\ PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=);background-repeat:no-repeat}.uni-loading{width:20px;height:20px;display:inline-block;vertical-align:middle;animation:uni-loading 1s steps(12,end) infinite;background-size:100%}@keyframes uni-loading{0%{transform:rotate3d(0,0,1,0)}to{transform:rotate3d(0,0,1,360deg)}}html{--primary-color: #007aff;--UI-BG: #fff;--UI-BG-1: #f7f7f7;--UI-BG-2: #fff;--UI-BG-3: #f7f7f7;--UI-BG-4: #4c4c4c;--UI-BG-5: #fff;--UI-FG: #000;--UI-FG-0: rgba(0, 0, 0, .9);--UI-FG-HALF: rgba(0, 0, 0, .9);--UI-FG-1: rgba(0, 0, 0, .5);--UI-FG-2: rgba(0, 0, 0, .3);--UI-FG-3: rgba(0, 0, 0, .1)}uni-page[data-type] uni-page-body{background-color:transparent}body:after{position:fixed;content:"";left:-1000px;top:-1000px;animation:shadow-preload .1s;animation-delay:3s}@keyframes shadow-preload{0%{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}to{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}}.uni-async-error{position:absolute;left:0;right:0;top:0;bottom:0;color:#999;padding:100px 10px;text-align:center}.uni-async-loading{box-sizing:border-box;width:100%;padding:50px;text-align:center}.uni-async-loading .uni-loading{width:30px;height:30px}uni-page-refresh{position:absolute;top:0;width:100%;height:40px;display:block;box-sizing:border-box}.uni-page-refresh{position:absolute;top:-45px;left:50%;transform:translate3d(-50%,0,0);width:40px;height:40px;justify-content:center;align-items:center;background:#fff;border-radius:50%;box-shadow:0 1px 6px rgba(0,0,0,.118),0 1px 4px rgba(0,0,0,.118);display:none;z-index:997}.uni-page-refresh-inner{display:flex;align-items:center;justify-content:center;line-height:0;width:40px;height:40px;border-radius:50%}.uni-page-refresh--pulling .uni-page-refresh,.uni-page-refresh--aborting .uni-page-refresh,.uni-page-refresh--reached .uni-page-refresh,.uni-page-refresh--refreshing .uni-page-refresh,.uni-page-refresh--restoring .uni-page-refresh{display:flex}.uni-page-refresh--pulling .uni-page-refresh__spinner,.uni-page-refresh--aborting .uni-page-refresh__spinner,.uni-page-refresh--reached .uni-page-refresh__spinner,.uni-page-refresh--refreshing .uni-page-refresh__icon,.uni-page-refresh--restoring .uni-page-refresh__icon{display:none}.uni-page-refresh--refreshing .uni-page-refresh__spinner{transform-origin:center center;animation:uni-page-refresh-rotate 2s linear infinite}.uni-page-refresh--refreshing .uni-page-refresh__path{stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:uni-page-refresh-dash 1.5s ease-in-out infinite,uni-page-refresh-colorful 6s ease-in-out infinite}@keyframes uni-page-refresh-rotate{to{transform:rotate(360deg)}}@keyframes uni-page-refresh-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}uni-page-body,body{background:#f7f9f6;color:#183c35;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}body{background:#f7f9f6}.app-page{min-height:100vh;background:#f7f9f6;padding-bottom:80px}.topbar{height:58px;display:flex;align-items:center;padding:16px 20px 6px;box-sizing:border-box;gap:10px;background:#f7f9f6}.topbar.greeting{height:76px}.grow{flex:1;min-width:0}.page-title{font-size:20px;font-weight:700;display:block;line-height:28px}.page-title.center{text-align:center;flex:1}.greet{font-size:16px;font-weight:700;display:block}.muted{color:#7d8b87;display:block}.small{font-size:12px}.tiny{font-size:11px}.health-icon{color:#168875;display:inline-block;text-align:center;font-weight:700;vertical-align:middle}.icon-button{background:none;border:0;padding:4px;width:32px;height:32px}.header-spacer{width:32px}.text-button{background:none;border:0;color:#168875;font-size:13px;padding:6px 0}.page-content{padding:0 20px}.filter-row,.section-row,.actions,.two-metrics,.export-row,.student-mini,.account-row,.todo-row,.vision-row,.file-row{display:flex;align-items:center;gap:10px}.filter-row{margin:4px 0 14px}.select-pill{background:#fff;border:1px solid #e1ebe6;border-radius:9px;padding:9px 12px;font-size:12px;color:#36544d;white-space:nowrap}.push-right{margin-left:auto}.summary-hero{background:#168875;border-radius:16px;color:#fff;display:flex;overflow:hidden;min-height:167px;margin-bottom:14px}.hero-copy{padding:18px 0 14px 18px;position:relative;z-index:1}.hero-label{font-size:14px;font-weight:600}.hero-number{font-size:34px;font-weight:800;line-height:46px}.hero-number uni-text{font-size:11px;font-weight:400;margin-left:8px}.hero-totals{display:flex;border-top:1px solid rgba(255,255,255,.3);margin-top:10px;padding-top:8px;gap:25px}.hero-totals uni-view{display:flex;flex-direction:column;font-size:11px;gap:2px}.hero-totals uni-view uni-text:last-child{font-size:16px;font-weight:700}.hero-art{margin-left:auto;align-self:end;margin-right:-10px}.completion-grid,.metric-grid,.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.completion-card,.metric,.entry-tile{background:#fff;border-radius:14px;padding:12px;display:flex;gap:9px;align-items:center}.completion-card{justify-content:center}.ring{width:38px;height:38px;border-radius:50%;padding:5px;box-sizing:border-box}.ring uni-view{width:100%;height:100%;background:#fff;border-radius:50%}.completion-number{display:block;font-weight:800;font-size:18px;color:#183c35}.card{background:#fff;border-radius:14px;padding:15px;margin:12px 0;box-sizing:border-box}.section-title{font-size:15px;font-weight:700;display:block}.legend{display:flex;gap:12px;font-size:10px;color:#168875;margin-left:auto}.legend .blue,.blue{color:#81aed0}.grade-chart{height:116px;display:flex;align-items:flex-end;justify-content:space-around;margin-top:10px;background:repeating-linear-gradient(to top,transparent 0,transparent 27px,#edf2ef 28px)}.grade-bar{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;font-size:11px;color:#83908f}.bar-pair{height:90px;display:flex;align-items:flex-end;gap:3px}.bar-pair uni-view{width:12px;background:#168875;border-radius:3px 3px 0 0}.bar-pair uni-view+uni-view{background:#81aed0}.todo-row{padding:11px 0;border-bottom:1px solid #eef3f0;font-size:13px}.todo-row:last-child{border:0}.orange{color:#ec923c}.primary,.soft,.outline{border-radius:10px;border:0;font-size:14px;line-height:42px;height:42px;padding:0 20px;box-sizing:border-box}.primary{background:#168875;color:#fff}.soft{background:#e4f4ec;color:#168875}.outline{background:#fff;border:1px solid #168875;color:#168875}.actions{gap:10px;margin:14px 0}.actions uni-button{flex:1}.search-box{background:#eaf1ed;border-radius:10px;padding:2px 10px;display:flex;align-items:center;gap:7px;margin-bottom:12px}.search-box uni-input{flex:1;font-size:13px;height:34px}.search-box .text-button{font-size:12px}.list-summary{background:#fff;border-radius:14px;padding:12px;display:flex;align-items:center;gap:9px;margin:12px 0}.big{display:block;font-size:20px;font-weight:800}.green{color:#168875}.student-list{padding:0 13px}.student-row{display:flex;align-items:center;gap:9px;padding:12px 0;border-bottom:1px solid #edf1ef}.student-row:last-child{border:0}.avatar{width:48px;height:48px;border-radius:50%;background:#e4f4ec;display:flex;align-items:center;justify-content:center;overflow:hidden}.avatar.large{width:80px;height:80px}.student-name{font-size:14px;font-weight:700;display:block}.badge{font-size:10px;color:#168875;background:#e4f4ec;border-radius:9px;padding:4px 7px;white-space:nowrap}.badge.pending{background:#fff0dc;color:#db842f}.chevron{color:#9aaba5;font-size:20px}.empty{text-align:center;color:#84938e;font-size:13px;padding:35px 10px}.pager{display:flex;justify-content:space-between;align-items:center;margin:10px 0}.home-hero{position:relative;background:#e4f4ec;border-radius:16px;min-height:150px;padding:18px;box-sizing:border-box;overflow:hidden}.home-slogan{display:block;font-size:22px;font-weight:800;margin:7px 0}.home-art{position:absolute;right:-4px;bottom:0}.update-banner{background:#fff;border-radius:14px;display:flex;gap:10px;align-items:center;padding:12px 14px;margin:12px 0;color:#168875}.metric{padding:13px 10px}.metric-value{display:block;font-size:17px;font-weight:800;margin-top:2px}.unit{font-size:10px;font-weight:400;color:#7d8b87;margin-left:2px}.entry-tile{padding:14px 11px;color:#183c35}.entry-tile.mint{background:#edf8f3}.entry-tile uni-view{flex:1}.link{color:#168875;font-size:13px}.align-right{text-align:right}.comparison-teaser{padding:14px}.two-metrics>*>*:last-child{display:block;color:#168875;font-size:23px;font-weight:800;margin-top:3px}.report-link{background:#fff;border-radius:12px;padding:14px;display:flex;gap:10px;align-items:center;margin-top:12px}.profile-banner{display:flex;align-items:center;gap:14px;background:#e4f4ec;border-radius:15px;padding:15px}.profile-name{font-size:20px;font-weight:800;display:block;margin-bottom:5px}.term-centered{margin:12px auto;width:-moz-max-content;width:max-content}.seg-tabs{display:flex;border-bottom:1px solid #e2ece7;margin:14px 0}.seg-tabs>*{flex:1;text-align:center;padding:10px 0;color:#7b8c86;font-size:13px}.seg-tabs>*.active{color:#168875;font-weight:700;border-bottom:2px solid #168875}.profile-metrics{margin-bottom:12px}.vision-row{background:#eef8f3;border-radius:10px;padding:11px;font-size:13px;gap:12px}.vision-row uni-text{flex:1}.centered{text-align:center;display:block;margin:12px auto}.student-mini{background:#fff;border-radius:14px;padding:12px;margin:7px 0}.pill-tabs{background:#e8f1ed;border:0;border-radius:10px}.pill-tabs>*{padding:8px}.timeline{position:relative;padding-left:12px}.timeline:before{content:"";position:absolute;left:8px;top:10px;bottom:16px;width:2px;background:#cfe6dc}.timeline-item{position:relative;padding-left:22px}.timeline-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:#168875;left:-1px;top:25px;border:3px solid #f7f9f6;box-sizing:content-box;z-index:1}.timeline-item:not(:first-child) .timeline-dot{background:#fff;border:2px solid #168875}.timeline-item .card{margin:9px 0}.history-metrics,.report-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:14px 0}.score-hero{background:#168875;color:#fff;border-radius:16px;padding:18px;display:flex;align-items:center;gap:12px;overflow:hidden;margin-bottom:17px}.score-number{font-size:44px;line-height:48px;font-weight:800;display:block}.score-number uni-text{font-size:13px;font-weight:400}.score-delta{display:block;background:#d9f1e4;color:#168875;border-radius:12px;padding:4px 8px;font-size:11px;margin-top:4px}.score-hero>.art-clip{margin-left:auto}.fitness-row{background:#fff;border-radius:13px;padding:13px 12px;display:flex;align-items:center;gap:10px;margin:8px 0}.compare-select{display:flex;align-items:center;gap:7px}.compare-select .select-pill{flex:1;text-align:center}.compare-highlights{background:#e4f4ec;padding:14px;border-radius:13px;margin:12px 0}.compare-highlights>*>*:last-child{font-size:22px}.comparison-table{padding:8px 0;overflow:hidden}.table-row{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.1fr;padding:10px 8px;font-size:11px;border-bottom:1px solid #edf2ef;align-items:center}.table-head{color:#84948e;font-size:10px;background:#f5f8f6}.notice{background:#fff4e4;color:#9b672c;border-radius:10px;padding:10px 12px;font-size:12px;margin:9px 0}.report-paper{background:#fff;border-radius:14px;padding:15px;margin-top:12px;border-top:4px solid #168875}.report-heading{display:flex;justify-content:space-between}.report-title{display:block;font-size:19px;font-weight:800;margin:8px 0}.report-section{border-top:1px solid #e6eeea;padding:10px 0}.section-num{color:#168875;font-size:17px;margin-right:7px}.report-note{display:block;font-size:12px;margin:8px 0}.report-score{display:flex;align-items:center;gap:8px;color:#168875}.report-score>*{font-size:33px;font-weight:800}.bold{font-weight:700}.field{margin:10px 0}.field>*,.date-field>*{display:block;font-size:12px;color:#73817c;margin-bottom:5px}.field uni-input{height:38px;background:#f9fbfa;border:1px solid #e1ebe6;border-radius:8px;padding:0 10px;font-size:14px;box-sizing:border-box;width:100%}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.date-field{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #edf2ef;font-size:13px}.date-field>*{margin:0}.bmi-field{background:#eef7f3;color:#647873;border-radius:8px;padding:11px;font-size:12px;margin-top:7px}.bmi-field uni-text{font-weight:700;color:#183c35;margin-left:8px}.upload-zone{border:1px dashed #8ed1ba;border-radius:12px;padding:20px;text-align:center;background:#f5fbf8;margin:12px 0}.upload-zone>*{display:block;margin:6px}.compact{width:auto;padding:0 18px;height:36px;line-height:36px;font-size:12px;margin:8px auto 0}.file-row{padding:10px 0;font-size:13px}.import-errors{background:#fff8ef;padding:9px;border-radius:8px;margin:8px 0}.import-errors uni-text{display:block;font-size:11px;color:#a66d36;margin:4px}.export-row{justify-content:space-between;padding:8px 0}.format-options{display:flex;gap:15px;font-size:12px}.export-note{display:block;margin-top:11px}.error-text{display:block;color:#bf5a38;font-size:12px;margin:8px 0}.error-state{display:flex;align-items:center;flex-direction:column;gap:12px;padding:35px}.skeleton-stack{padding:20px}.skeleton{height:100px;border-radius:15px;background:linear-gradient(90deg,#edf3ef,#f8faf9,#edf3ef);margin-bottom:12px}.hero-skeleton{height:170px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:69px;display:flex;background:#fff;border-top:1px solid #e6eeea;z-index:10;padding-bottom:env(safe-area-inset-bottom)}.nav-item{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#87958f;font-size:10px;gap:2px;position:relative}.nav-item.selected{color:#168875;font-weight:700}.nav-dot{width:4px;height:4px;border-radius:50%;background:#168875;position:absolute;bottom:5px}.app-page{font-family:-apple-system,BlinkMacSystemFont,Microsoft YaHei,PingFang SC,Arial,sans-serif;padding-bottom:calc(90px + env(safe-area-inset-bottom));box-sizing:border-box}.topbar{height:calc(62px + var(--status-bar-height, 0px));padding-top:calc(12px + var(--status-bar-height, 0px));padding-bottom:10px}.topbar.greeting{height:calc(78px + var(--status-bar-height, 0px))}.icon-button{display:flex;align-items:center;justify-content:center;line-height:normal;margin:0;border:0;background:transparent}.icon-button:after,.text-button:after{border:none}.metric-grid .metric{background:#f4f8f6;padding:11px 9px}.metric-grid{margin-top:12px;gap:8px}.metric-value{font-size:20px;line-height:24px;white-space:nowrap}.metric .unit{font-size:11px}.profile-metrics .metric{background:#fff}.two-metrics{margin-top:12px}.two-metrics>*{flex:1}.comparison-teaser .align-right{display:block;margin-top:8px}.entry-tile{font-size:14px;font-weight:600}.entry-tile .tiny{font-weight:400}.report-metrics{grid-template-columns:repeat(3,1fr)}.report-metrics .metric-value{font-size:16px}.report-heading{position:relative;min-height:130px}.report-heading>*:first-child{position:relative;z-index:1}.report-heading .art-clip{position:absolute;right:-10px;top:12px;opacity:.85}.report-title{max-width:230px}.report-heading .tiny{margin-top:7px}.report-score>*:last-child{font-size:11px;font-weight:400;color:#7d8b87}.pill-tabs{border-radius:24px;align-items:center;overflow:hidden;min-height:34px}.pill-tabs>*{flex:1;text-align:center}.pill-tabs>*:first-child.active{background:#168875;color:#fff;border:0;border-radius:24px}.pill-tabs .active{border-bottom:0}.timeline-item:not(:first-child) .history-metrics{display:flex;flex-wrap:wrap;gap:12px}.timeline-item:not(:first-child) .history-metrics>*{min-width:40%}.timeline-item:not(:first-child) .metric-value{font-size:15px}.timeline-item:not(:first-child) .tiny{display:inline;margin-right:6px}.account-row{justify-content:space-between;min-height:48px;border-bottom:1px solid #edf3ef;font-size:14px}.account-row:last-child{border:none}.date-field{min-height:32px}.score-hero .health-icon{background:#e6f5de;padding:8px;border-radius:12px}.score-number>.unit{color:#fff}.compare-select>*:first-child,.compare-select>*:last-child{flex:1;min-width:0}.compare-select .select-pill{padding:9px 7px;font-size:12px}.comparison-table .table-row>*{min-width:0}.actions>*{flex:1}.outline[disabled],.primary[disabled]{opacity:.5}.bottom-nav{height:60px;box-sizing:content-box}.nav-item{gap:5px}
