:root{font-family:ui-serif,Georgia,"Noto Serif SC",Songti SC,serif;color:#25392e;background:#f6f3e9}*{box-sizing:border-box}html,body,#app{max-width:100%;overflow-x:hidden}body{margin:0}p,h1,h2,h3,h4,strong{overflow-wrap:anywhere}button,input,textarea{font:inherit}.app-shell{width:100%;min-height:100vh;padding:clamp(24px,5vw,72px);background:radial-gradient(circle at 92% 4%,#e7d59f 0,transparent 28%),#f6f3e9}.public-head,.reflection-form,.success,.my-page,.login-card,.mentor-head,.organization,.mentor-grid{max-width:1080px;margin-inline:auto}.public-head{max-width:680px;padding-top:22px}.return-link{display:block;margin:-12px 0 24px;padding:0;background:transparent;color:#5e7265;font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;box-shadow:none}.batch-ribbon{display:inline-flex;align-items:center;gap:9px;margin-bottom:24px;padding:7px 12px 7px 7px;border:1px solid #d5c9a9;border-radius:999px;background:#fffaf0;color:#365f48;font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px}.batch-ribbon span{padding:4px 7px;border-radius:999px;background:#365f48;color:#fff;font-size:10px;font-weight:800;letter-spacing:.08em}.batch-ribbon strong{font-weight:800}.eyebrow{margin:0 0 10px;color:#957333;font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;font-weight:800;letter-spacing:.14em}.public-head h1,.my-page h1,.login-card h1,.mentor-head h1{margin:0;color:#274331;font-size:clamp(42px,9vw,78px);line-height:1.08}.public-head>p:last-child,.lead,.login-card>p{color:#617066;font-size:18px;line-height:1.8}.reflection-form,.login-card,.success{max-width:680px;margin-top:38px;padding:clamp(22px,4vw,42px);border:1px solid #ded6bd;border-radius:22px;background:#fffdf7;box-shadow:0 20px 60px #4d573714}.reflection-form label{display:block;margin:0 0 24px;color:#385642;font-weight:700}.form-stage{margin:-12px -12px 30px;padding:18px 18px 16px;border-radius:15px;background:#eef1e6}.form-stage span{display:inline-block;margin-bottom:7px;padding:4px 7px;border-radius:999px;background:#b18a3e;color:#fff;font-family:ui-sans-serif,system-ui,sans-serif;font-size:10px;font-weight:800;letter-spacing:.08em}.form-stage strong{display:block;color:#31513c;font-size:20px}.form-stage p{margin:7px 0 0;color:#6b776e;font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;line-height:1.65}.reflection-form span{color:#7b857c;font-weight:400}.reflection-form b{color:#b65442}.reflection-form .photo-help{display:block;margin-top:8px;color:#6c7a70;font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;font-weight:500;line-height:1.55}.reflection-form input,.reflection-form textarea,.login-card input,.search input{display:block;width:100%;margin-top:9px;padding:13px 14px;border:1px solid #cec7b0;border-radius:10px;background:#fffefa;color:#27382d;line-height:1.55}.reflection-form textarea{resize:vertical}button{border:0;border-radius:11px;padding:13px 18px;background:#365f48;color:#fff;font-weight:800;cursor:pointer}button:disabled{opacity:.65;cursor:wait}.submit{width:100%;margin-top:4px;padding:16px}.success code{display:block;overflow-wrap:anywhere;margin:22px 0;padding:15px;border-radius:10px;background:#eff1e5;color:#355e46;font-family:ui-monospace,monospace;font-size:13px}.success button{display:block;width:100%;margin-top:12px}.success-mark{display:grid;width:52px;height:52px;margin-bottom:18px;place-items:center;border-radius:50%;background:#365f48;color:#fff;font-family:ui-sans-serif,system-ui,sans-serif;font-size:27px;font-weight:900}.text-button{background:transparent!important;color:#365f48!important;box-shadow:none}.toast{position:fixed;z-index:3;right:20px;bottom:20px;max-width:360px;padding:13px 16px;border-radius:11px;background:#304f3c;color:#fff;box-shadow:0 12px 35px #0003}.my-page{max-width:720px}.returning-status{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:30px 0 18px;padding:24px;border-radius:18px;background:#e8eddf;border:1px solid #d1d9c7}.returning-status small{color:#9a7632;font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;font-weight:900;letter-spacing:.08em}.returning-status h2{margin:5px 0 7px}.returning-status p{margin:0;color:#657269;line-height:1.65}.returning-status button{flex:none}.echo-history{display:grid;gap:16px}.my-page .echo-entry{margin:0}.echo-entry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.echo-entry-head small{color:#967331;font-family:ui-sans-serif,system-ui,sans-serif;font-weight:800}.echo-entry-head h2{margin:4px 0 0}.echo-entry-head>span{padding:6px 9px;border-radius:999px;background:#edf1e8;color:#52705d;font-family:ui-sans-serif,system-ui,sans-serif;font-size:10px;font-weight:800}.echo-entry h3{margin-top:0;color:#6f5a2d}.my-page .echo-entry .response-conclusion{margin-top:22px;background:#f2f4ec}.my-page article{margin-top:20px;padding:28px;border-radius:18px;background:#fffdf7;border:1px solid #ded6bd}.my-page h2{color:#365f48}.my-page article p{white-space:pre-wrap;line-height:1.85}.response{color:#304f3c}.waiting{background:#eff1e5!important}.response-conclusion{border-left:5px solid #365f48!important}.response-rationale{background:#f2ead8!important;border-left:5px solid #b18a3e!important}.response-label{margin:0!important;color:#987330;font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.login-card{margin-top:8vh}.login-card button{margin-top:14px;width:100%}.mentor-head{display:flex;align-items:end;justify-content:space-between;gap:24px}.mentor-head h1{font-size:clamp(38px,6vw,62px)}.mentor-head p{margin-bottom:0;color:#68776d}.mentor-actions{display:flex;gap:10px}.batch-toolbar{display:flex;align-items:end;justify-content:space-between;gap:18px;max-width:1080px;margin:22px auto 0;padding:17px 19px;border:1px solid #d7d0ba;border-radius:15px;background:#fffdf7}.batch-toolbar label{display:block;color:#365f48;font-size:13px;font-weight:800}.batch-toolbar select{display:block;min-width:310px;margin-top:7px;padding:10px 12px;border:1px solid #c9c2ae;border-radius:9px;background:#fff;color:#304638}.batch-toolbar p{margin:7px 0 0;color:#748078;font-size:11px;line-height:1.55}.batch-creator{display:flex;align-items:end;justify-content:space-between;gap:20px;max-width:1080px;margin:12px auto 0;padding:20px;border-radius:15px;background:#e8edde}.batch-creator h3{margin:0;color:#355941}.batch-creator p{margin:6px 0 0;color:#68756b;font-size:12px}.batch-creator>div:last-child{display:flex;gap:8px}.batch-creator input{min-width:280px;padding:11px 12px;border:1px solid #bbc5b7;border-radius:9px;background:#fff}.reasoning-settings{max-width:1080px;margin:22px auto 0;padding:24px;border:1px solid #d3c49f;border-radius:18px;background:#fff8e8;box-shadow:0 16px 40px #61512d14}.reasoning-settings h2{margin:0;color:#365f48}.reasoning-settings>div>p:last-child{max-width:760px;color:#6d756e;line-height:1.65}.reasoning-settings textarea{display:block;width:100%;padding:15px;border:1px solid #c9bd9e;border-radius:11px;background:#fffefa;color:#2d4033;line-height:1.7;resize:vertical}.settings-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.organization{margin-top:24px;padding:26px;border-radius:18px;background:#e7eddf;border-left:4px solid #a78848}.organization h2,.review-card h2,.review-card h3{color:#345940}.organization p{white-space:pre-wrap;line-height:1.8}.mentor-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;margin-top:24px}.submission-list,.review-card,.empty-state{padding:18px;border:1px solid #ded6bd;border-radius:18px;background:#fffdf7}.submission-list{position:sticky;top:16px;align-self:start;max-height:calc(100vh - 32px);overflow-y:auto;padding:10px}.mentor-student-search{margin-bottom:8px;padding:3px 2px 8px;border-bottom:1px solid #e4decb}.mentor-student-search>div{position:relative}.mentor-student-search input{display:block;width:100%;height:38px;padding:8px 29px;border:1px solid #d3ccb8;border-radius:10px;background:#fff;color:#304638;font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;outline:none}.mentor-student-search input:focus{border-color:#52745e;box-shadow:0 0 0 3px #52745e18}.search-icon{position:absolute;left:10px;top:8px;color:#778279;font-family:ui-sans-serif,system-ui,sans-serif}.mentor-student-search button{position:absolute;right:4px;top:4px;width:30px;height:30px;padding:0;border-radius:8px;background:transparent;color:#728077;font-family:ui-sans-serif,system-ui,sans-serif;font-size:18px}.mentor-student-search small{display:block;margin:6px 4px 0;color:#7b857d;font-family:ui-sans-serif,system-ui,sans-serif;font-size:10px}.search-empty{padding:18px 8px;color:#7a857d;font-size:12px;line-height:1.6;text-align:center}.submission-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:56px;margin-bottom:5px;padding:8px 9px;background:#f0f2e8;color:#365f48;text-align:left;box-shadow:none}.submission-item.active{background:#365f48;color:#fff}.submission-item>strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.submission-avatar{display:grid;width:38px;height:38px;place-items:center;overflow:hidden;border-radius:50%;background:#d9e2d6;color:#365f48}.submission-avatar img{width:100%;height:100%;object-fit:cover}.submission-avatar i{font-style:normal;font-weight:900}.compact-signals{display:flex;align-items:center;gap:5px}.count-signal,.identity-signal{display:grid;width:19px;height:19px;place-items:center;border-radius:50%;font-family:ui-sans-serif,system-ui,sans-serif;font-size:10px;font-style:normal;font-weight:900}.count-signal{background:#b18a3e;color:#fff}.identity-signal{background:#dcebdd;color:#287047}.response-signal{width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 3px #fff8}.response-signal.pending{background:#d2793b}.response-signal.answered{background:#3e9161}.submission-item.active .response-signal{box-shadow:0 0 0 3px #ffffff35}.person-line{display:flex;gap:14px;align-items:center;border-bottom:1px solid #e7e1cf;padding-bottom:15px}.person-line img{width:54px;height:54px;border-radius:50%;object-fit:cover}.person-line h2{margin:0}.person-line p{margin:4px 0 0;color:#68776d}.person-line button{margin-left:auto}.student-photo-large{margin:18px 0;padding:12px;border-radius:16px;background:#ede8d8;text-align:center}.student-photo-large img{display:block;width:100%;max-height:520px;border-radius:11px;object-fit:contain;background:#ded8c5}.student-photo-large figcaption{margin-top:8px;color:#6e776f;font-size:11px}.submission-history{display:grid;gap:14px;margin:18px 0}.review-card .submission-entry{padding:18px;border:1px solid #ddd6c2;border-radius:14px;background:#fbfaf4}.submission-entry-title{display:flex;align-items:center;gap:9px;margin-bottom:15px}.submission-entry-title>span{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:#365f48;color:#fff;font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;font-weight:900}.submission-entry-title h3{margin:0}.submission-entry-title small{margin-left:auto;color:#9a7632;font-family:ui-sans-serif,system-ui,sans-serif;font-size:10px;font-weight:800}.submission-entry h4{margin:14px 0 2px;color:#8a6b30;font-size:12px}.review-card .submission-entry p{margin:5px 0}.review-card>article{border-bottom:1px solid #e7e1cf;padding:12px 0}.review-card article p{white-space:pre-wrap;line-height:1.7}.context{padding:20px;margin:18px 0;border:1px solid #d6d9c9;border-radius:16px;background:#f3f4ed}.context h3{margin-top:0}.context-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.context-title p{max-width:570px;margin:6px 0 14px;color:#67756b;font-size:13px;line-height:1.65}.phone-proof{flex:none;padding:9px 12px;border-radius:9px;background:#365f48;color:#fff;font-family:ui-monospace,monospace;font-size:12px;font-weight:800}.search{display:flex;gap:9px}.search input{margin:0}.no-match,.brief-loading{color:#6c776f;font-size:13px}.matches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.matches .match-card{display:flex;flex-direction:column;gap:10px;width:100%;margin:0;padding:14px;background:#fff;color:#314b3a;border:1px solid #c7d0c2;border-radius:12px;text-align:left}.matches .match-card:hover,.matches .match-card.chosen{border-color:#365f48;box-shadow:0 0 0 2px #365f4820}.matches .match-card.chosen{background:#eaf0e6}.match-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.match-top strong{font-size:17px}.match-top em{color:#738077;font-family:ui-monospace,monospace;font-size:11px;font-style:normal}.candidate-portrait-teaser{display:-webkit-box;overflow:hidden;color:#53675a;font-size:12px;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:3}.identification-teaser{display:flex;flex-wrap:wrap;gap:5px}.identification-teaser i{max-width:100%;overflow:hidden;padding:4px 6px;border-radius:5px;background:#f0e8d4;color:#795f2f;font-size:10px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.identity-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.identity-grid>span{padding:8px;border-radius:8px;background:#f4f2e9;font-size:12px}.identity-grid small{display:block;margin-bottom:3px;color:#8a7c5a;font-size:10px}.match-signals{display:flex;flex-wrap:wrap;gap:5px}.match-signals i{padding:4px 6px;border-radius:5px;background:#edf1e9;color:#53685a;font-size:10px;font-style:normal}.match-foot{color:#876d34;font-size:11px}.learner-overview{margin-top:18px;padding:18px;border-radius:14px;background:#273f32;color:#f9f4e7}.learner-overview.previewing{outline:3px solid #b18a3e;box-shadow:0 16px 36px #2133292e}.confirm-person{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:16px;border:2px solid #b18a3e;border-radius:12px;background:#fff8e8}.confirm-person p{margin:0 0 4px;color:#92702f;font-size:11px;font-weight:900;letter-spacing:.1em}.confirm-person h4{margin:0 0 5px;color:#324e3b;font-size:18px}.confirm-person span{color:#707a71;font-size:12px}.confirm-person>div:last-child{display:flex;flex:none;gap:8px}.confirmed-person{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:14px;border-radius:11px;background:#e2eadc}.confirmed-person>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}.confirmed-person span{color:#2d744b;font-size:11px;font-weight:900}.confirmed-person strong{color:#2d4937;font-size:17px}.confirmed-person small{color:#69766d}.overview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.overview-head h3{margin:0;color:#fff}.overview-head>span{padding:6px 8px;border-radius:6px;background:#ffffff15;color:#d9e2d9;font-size:11px}.overview-identity{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.overview-identity p{margin:0;padding:10px;border-radius:9px;background:#ffffff0d;font-size:12px}.overview-identity small{display:block;margin-bottom:5px;color:#c7ae72}.overview-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.review-card .learner-overview article{padding:12px;border:0;border-radius:10px;background:#fffdf7;color:#314538}.learner-overview h4{margin:0 0 10px;color:#8d6a2d}.learner-overview article p{display:flex;justify-content:space-between;gap:10px;margin:6px 0;font-size:12px;line-height:1.45}.learner-overview article strong{color:#2c6042;text-align:right}.review-card .learner-overview .portrait-card{margin-bottom:12px;padding:16px;border-left:4px solid #b18a3e;background:#fff8e8}.review-card .learner-overview .identification-card{margin-bottom:12px;padding:16px;border-left:4px solid #4e7c5d;background:#eef4eb}.identification-groups{display:grid;gap:10px}.identification-groups section>strong{color:#365f48;font-size:12px}.learner-overview .identification-groups section p{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:6px;margin:7px 0 0}.identification-groups span{padding:5px 8px;border-radius:7px;background:#fff;color:#3d5947;font-size:11px}.offline-assessment{margin-top:13px;padding:11px;border-radius:9px;background:#fff}.offline-assessment strong{color:#745b2c;font-size:12px}.learner-overview .offline-assessment p{display:block;margin:5px 0;color:#667168;line-height:1.6}.offline-assessment small{color:#7b6b4f;line-height:1.55}.offline-assessment.related_activity_found{border:1px solid #c9aa6c;background:#fff8e8}.learner-overview .portrait-card .portrait-copy{display:block;margin:0 0 14px;color:#2d4435;font-size:14px;line-height:1.8}.portrait-patterns{display:grid;gap:8px}.portrait-patterns section{padding:10px;border-radius:9px;background:#f3eddd}.portrait-patterns section>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.portrait-patterns em{flex:none;padding:3px 6px;border-radius:5px;font-size:10px;font-style:normal;font-weight:800}.confidence-高{background:#dcebdd;color:#287047}.confidence-中{background:#eee3c6;color:#876421}.confidence-低{background:#eee0dc;color:#9a4f3c}.learner-overview .portrait-patterns section p{display:block;margin:6px 0 0;color:#657067;line-height:1.6}.review-card .learner-overview .family-portrait{margin:0 0 12px;padding:16px;border:2px solid #b98965;background:#fff1e8}.learner-overview .family-portrait p{display:block;margin:0 0 8px;font-size:14px}.family-portrait small{color:#7e6659;line-height:1.55}.review-card .learner-overview .portrait-unknowns{margin-top:12px}.portrait-unknowns ul{margin:0;padding-left:20px;color:#617066;font-size:12px;line-height:1.7}.review-card .overview-timeline,.review-card .overview-evidence{margin-top:12px}.overview-timeline time{color:#7a857d}.overview-evidence blockquote{margin:8px 0;padding:8px 10px;border-left:3px solid #b79551;background:#f4f0e5;font-size:12px;line-height:1.6}.draft{display:flex;justify-content:space-between;gap:15px;align-items:end}.draft h3{margin-bottom:3px}.draft p{margin:0;color:#728074;font-size:13px}.dual-response{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.response-editor{display:block;padding:14px;border:1px solid #d5cfbc;border-radius:13px;background:#f8f7f0}.response-editor>span{display:flex;justify-content:space-between;gap:10px;margin-bottom:9px}.response-editor b{color:#365f48}.response-editor small{color:#738076}.response-editor textarea{display:block;width:100%;padding:13px;border:1px solid #cec7b0;border-radius:9px;background:#fffefa;color:#27382d;line-height:1.65;resize:vertical}.rationale-editor{background:#f4ecda}.rationale-editor b{color:#906c2d}.response-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.secondary{background:#ded8c5;color:#3c5142}.published{color:#2f704d;font-size:13px}.empty-state{min-height:320px;display:grid;place-items:center;color:#718075;text-align:center}@media(max-width:850px){.matches,.dual-response,.overview-identity,.overview-columns{grid-template-columns:1fr}}@media(max-width:720px){.app-shell{padding:24px 16px}.public-head h1,.my-page h1{font-size:clamp(36px,11.5vw,46px);word-break:break-all}.public-head p,.my-page p{word-break:break-all}.batch-ribbon{margin-bottom:18px}.returning-status{align-items:stretch;flex-direction:column}.returning-status button{width:100%}.echo-entry-head{align-items:flex-start;flex-direction:column}.mentor-head{align-items:start;flex-direction:column}.mentor-head button,.mentor-actions{width:100%}.mentor-actions{flex-direction:column}.batch-toolbar,.batch-creator{align-items:stretch;flex-direction:column}.batch-toolbar select{width:100%;min-width:0}.batch-toolbar button{width:100%}.batch-creator>div:last-child{flex-direction:column}.batch-creator input,.batch-creator button{width:100%;min-width:0}.mentor-grid{grid-template-columns:1fr}.submission-list{position:static;display:flex;align-self:auto;max-height:none;overflow:auto;gap:5px;padding:8px}.mentor-student-search{flex:none;width:220px;margin:0;padding:0 6px 0 0;border:0;border-right:1px solid #e4decb}.submission-item{grid-template-columns:34px minmax(88px,1fr) auto;min-width:174px;margin:0}.submission-avatar{width:34px;height:34px}.draft,.search,.context-title{align-items:stretch;flex-direction:column}.draft button,.search button{width:100%}.phone-proof{align-self:flex-start}.person-line{align-items:flex-start;flex-wrap:wrap}.person-line button{width:100%;margin-left:0}.confirm-person,.confirmed-person{align-items:stretch;flex-direction:column}.confirm-person>div:last-child{flex-direction:column}.confirm-person button,.confirmed-person button{width:100%}.response-actions{flex-direction:column}.response-actions button{width:100%}.settings-actions{flex-direction:column}.settings-actions button{width:100%}}
