:root{--river:#236bda;--river-deep:#143961;--river-mist:#eaf2ff;--porcelain:#fff;--paper:#f7faff;--ink:#20324b;--muted:#788597;--line:#e8edf4;--shadow:0 5px 22px #294f7810;--body:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;--display:"Songti SC","Noto Serif CJK SC","STSong","SimSun",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:68px}body{margin:0;background:#edf2f8;color:var(--ink);font:14px/1.65 var(--body);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;background:none}img{display:block;max-width:100%}svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;fill:none;flex-shrink:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #81b4ff;outline-offset:3px}[hidden]{display:none!important}.app-shell{max-width:560px;min-height:100dvh;margin:auto;background:var(--porcelain);box-shadow:0 0 70px #244c6610;overflow:clip}.topbar{height:65px;display:flex;align-items:center;gap:12px;padding:0 22px;border-bottom:1px solid #e5edf56b;background:#ffffffef;position:relative;z-index:4}.brand{font:700 29px/1 var(--display);color:var(--river-deep);position:relative;white-space:nowrap;letter-spacing:1px}.brand-wave{display:block;height:4px;width:38px;border-bottom:2px solid #5d9cec;border-radius:50%;margin-top:3px}.top-caption{font-size:10px;color:#8495a9;flex:1}.top-actions{display:flex;gap:0}.icon-button{width:35px;height:40px;display:inline-flex;align-items:center;justify-content:center;color:#6481a4;border-radius:12px}.icon-button:hover{background:var(--river-mist)}main{min-height:65vh;outline:none;animation:arrive .24s ease-out}.page-footer{display:flex;justify-content:space-between;gap:12px;color:#98a5b5;font-size:9px;margin:35px 22px 0;padding:20px 0 125px;border-top:1px solid var(--line)}
.bottom-nav{position:fixed;z-index:20;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(calc(100% - 24px),528px);height:76px;border:1px solid #c9daf4;border-radius:34px;display:grid;grid-template-columns:repeat(6,1fr);align-items:center;padding:6px;background:linear-gradient(155deg,#f9fcffed,#dfebfae8);box-shadow:inset 0 0 0 2px #fff9,0 12px 35px #24559d26,0 2px 3px #fff;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:61px;border-radius:25px;color:#768aa7;font-size:10px;white-space:nowrap;transition:background .18s,color .18s,transform .18s}.nav-item svg{height:26px;width:26px;stroke-width:1.4}.nav-item[aria-current=page]{color:#0963dd;background:linear-gradient(#fff,#eff6ff);box-shadow:0 1px 8px #4483cf1a,inset 0 0 0 1px #fff}.nav-item:active{transform:scale(.95)}
.section{padding:24px}.section.compact{padding-top:14px;padding-bottom:14px}.eyebrow{font-size:11px;color:var(--river);letter-spacing:1px;margin:0 0 10px;font-weight:600}.hero{position:relative;min-height:240px;overflow:hidden;padding:34px 25px 28px}.hero h1{font:700 clamp(28px,7vw,38px)/1.5 var(--display);letter-spacing:1px;margin:0 0 13px;color:var(--river-deep);position:relative;z-index:1}.hero p{position:relative;z-index:1;color:var(--muted);font-size:13px;margin:0;max-width:75%}.hero-art{position:absolute;inset:0 0 0 35%;width:65%;height:100%;object-fit:cover;opacity:.75;mask-image:linear-gradient(90deg,transparent,#000 58%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 58%)}.hero .eyebrow{position:relative;z-index:1}.hero.city .hero-art{opacity:.45;object-fit:contain;object-position:right bottom;mask-image:linear-gradient(90deg,transparent,#000 35%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 35%)}.hero.short{min-height:190px}.hero.short h1{font-size:30px}.hero.school-hero{background:#e9f5fd;min-height:290px}.hero.school-hero h1{max-width:80%;text-shadow:0 1px #fff}.hero.school-hero .hero-art{opacity:1;object-position:center}.home-hero{position:relative}.home-hero img{width:100%;height:auto}.home-finder{margin:-4px 18px 0;background:#f6faff;border:1px solid #eef4fa;border-radius:18px;padding:18px;position:relative;box-shadow:var(--shadow)}.filters{display:flex;gap:9px;align-items:center}.filter{min-width:0;flex:1}.filter label{font-size:11px;color:var(--muted);display:block;margin-bottom:6px}.filter select{width:100%;border:1px solid var(--line);border-radius:12px;min-height:42px;background:#fff;padding:7px 20px 7px 9px;font-size:12px}.home-finder .filter select{background:transparent;border:0;border-bottom:1px solid #dce7f3;border-radius:0;padding-left:0}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:47px;padding:11px 20px;border-radius:14px;font-size:14px;font-weight:500;transition:transform .12s,filter .12s}.primary{color:white;background:linear-gradient(110deg,#347ded,#1265d6);border:1px solid #307be8;box-shadow:0 3px 8px #2677de12}.secondary{color:var(--river);border:1px solid #93b9f2;background:#fff}.primary:active,.secondary:active{transform:scale(.985)}.primary:hover{filter:brightness(1.04)}.wide{width:100%}.mt{margin-top:20px}.actions{display:flex;gap:12px}.actions>*{flex:1}.text-link{display:inline-flex;align-items:center;gap:8px;min-height:40px;color:var(--river);font-size:13px;padding:3px 0}.text-link svg{width:18px}.services{display:grid;grid-template-columns:repeat(3,1fr);padding:28px 10px 22px}.service{text-align:center;display:flex;flex-direction:column;align-items:center;padding:8px 1px;gap:5px;border-right:1px solid var(--line)}.service:last-child{border-right:0}.service svg{height:35px;width:35px;padding:3px;color:#336eac;background:#f0f6fd;border-radius:50%;box-sizing:content-box}.service strong{font:700 15px var(--display);margin-top:9px;color:var(--river-deep)}.service small{font-size:10px;color:var(--muted)}.section-title{font:700 25px/1.5 var(--display);color:var(--river-deep);margin:0 0 10px}.section-copy{font-size:12px;line-height:1.9;color:var(--muted);margin:0 0 20px}.title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.title-row h2{margin:0}.sample{font:10px/1.5 var(--body);display:inline-block;background:#eef5ff;color:#477cb7;padding:2px 8px;border-radius:7px;white-space:nowrap}.home-teaching{display:grid;grid-template-columns:1.12fr 1fr;gap:12px}.home-teaching img{width:100%;object-fit:cover;border-radius:8px}.home-teaching .big img{aspect-ratio:1/1.18}.home-teaching .small img{aspect-ratio:1.6}.home-teaching h3{font:700 16px var(--display);margin:7px 0}.home-teaching p{font-size:10px;color:var(--muted);margin:4px 0 10px}.home-map{margin-top:10px;width:100%}.river-section{background:#f6faff}.search{display:flex;align-items:center;gap:10px;border:1px solid #e0e7f0;border-radius:30px;min-height:48px;padding:0 14px;background:#ffffffed;margin-bottom:16px}.search svg{color:#8091a8;width:18px}.search input{width:100%;min-width:0;border:0;outline:none;background:none;font-size:13px}.search button{font-size:13px;color:var(--river);min-height:44px;white-space:nowrap}.filter-summary{font-size:11px;color:var(--muted);margin:14px 0 2px}.teacher-story{display:grid;grid-template-columns:1.02fr 1fr;min-height:260px;margin:14px 0 24px;align-items:stretch}.teacher-story.reverse .story-image{order:2}.story-image{width:100%;height:100%;object-fit:cover;min-height:260px}.story-copy{padding:23px 16px 18px;display:flex;flex-direction:column;justify-content:center}.story-copy h2{font:700 28px/1.4 var(--display);margin:9px 0 12px;color:var(--river-deep)}.story-copy .quote{font:15px/1.9 var(--display);margin:4px 0 14px}.teacher-meta{font-size:11px;color:#6d7b8f;margin:4px 0;display:flex;gap:6px;align-items:center}.teacher-meta svg{height:15px;width:15px;color:#4877b2}.story-copy .text-link{margin-top:10px}.promo{border-radius:16px;background:#f1f6fe;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px;margin:16px 22px}.promo h2{font:700 23px/1.6 var(--display);color:var(--river-deep);margin:0}.promo p{font-size:11px;color:var(--muted);margin:6px 0 0}.round-arrow{color:#fff;background:linear-gradient(#74a7ea,#2868c8);height:47px;width:47px;flex-shrink:0;border-radius:50%;display:grid;place-items:center}.round-arrow svg{width:25px}.empty{padding:40px 24px;text-align:center;color:var(--muted)}.empty h3{color:var(--ink);font-size:17px}
.question{border:0;padding:0;margin:0 0 28px;min-width:0}.question legend,.field-title{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;margin-bottom:15px;padding:0}.step{width:25px;height:25px;border:1px solid #8ab6fa;border-radius:50% 50% 50% 4px;background:#f2f7ff;display:inline-grid;place-items:center;color:#385d8f;font-size:12px;flex-shrink:0}.choices{display:flex;flex-wrap:wrap;gap:10px}.choice{position:relative;display:block;cursor:pointer;flex:0 1 auto}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice span{display:flex;align-items:center;justify-content:center;min-height:43px;padding:8px 17px;border:1px solid #e2e7ef;border-radius:13px;background:#fff;color:#58677c;transition:all .15s;font-size:13px;box-shadow:0 1px 3px #213c6010}.choice input:checked+span{background:#f2f7ff;border-color:#6aa3ff;color:#1766dd;box-shadow:0 0 0 1px #94bdff55;font-weight:600}.choice input:focus-visible+span{outline:3px solid #91baff;outline-offset:2px}textarea,.text-input{width:100%;border:1px solid #e1e7ef;border-radius:14px;background:#fcfdff;padding:14px;font-size:13px;line-height:1.8;resize:vertical}textarea::placeholder,.text-input::placeholder{color:#a1adbd}.count{color:#9ca8b7;font-size:10px;text-align:right;margin-top:4px}.hint{font-size:11px;color:var(--muted);line-height:1.9}.hint.center{text-align:center}.form-body{padding:20px 25px 25px}.soft-separator{height:1px;background:var(--line);margin:26px 0}.detail-hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:310px;background:#fcfdff}.detail-hero>img{width:100%;height:100%;object-fit:cover}.detail-hero .story-copy{padding:20px 15px}.detail-hero h1{font:700 31px var(--display);color:var(--river-deep);margin:0 0 18px}.detail-hero blockquote{margin:22px 0 0;font:19px/1.8 var(--display);color:var(--river-deep)}.detail-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;margin:28px 0}.detail-row.reverse>img{order:-1}.detail-row>div{padding:0 22px}.detail-row h2{font:700 21px var(--display);color:var(--river-deep);margin:0 0 13px}.detail-row h2:after{content:'';display:block;width:20px;height:2px;background:var(--river);margin-top:9px}.detail-row p{font-size:12px;color:#778396;line-height:2;margin:0}.detail-row img{width:100%;height:205px;object-fit:cover}.detail-points{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.detail-points span{font-size:11px;background:#f2f7ff;color:#5b80b2;padding:4px 9px;border-radius:5px}.booking-person{display:flex;align-items:center;gap:16px}.booking-person img{width:75px;height:75px;object-fit:cover;border-radius:50%}.booking-person h2{font:700 23px var(--display);margin:0 0 6px}.booking-person p{margin:0;color:var(--muted);font-size:12px}.date-strip{display:flex;overflow-x:auto;gap:9px;padding:4px 0 12px;scrollbar-width:thin}.date-strip .choice{flex:0 0 55px}.date-strip .choice span{flex-direction:column;gap:7px;height:78px;padding:7px 5px}.date-strip .choice input:checked+span{background:#1667d7;color:#fff;border-color:#1667d7}.date-strip small{font-size:10px}.date-strip strong{font-size:13px}.receipt{background:#f8fbff;border:1px dashed #bfd0e8;border-radius:5px;padding:20px;margin:22px 0}.receipt h3{font-size:14px;color:var(--river-deep);margin:0 0 16px}.receipt dl{margin:0;display:grid;grid-template-columns:70px 1fr;gap:9px;font-size:12px}.receipt dt{color:var(--muted)}.receipt dd{margin:0;overflow-wrap:anywhere}.agree{font-size:11px;color:var(--muted);display:flex;gap:9px;align-items:flex-start;margin-bottom:18px}.agree input{margin-top:4px;accent-color:var(--river);width:16px;height:16px}.upload{display:block;border:1px dashed #b8cfee;background:#f5f9ff;padding:23px 16px;text-align:center;border-radius:14px;color:var(--river);font-size:13px;cursor:pointer}.upload input{max-width:100%;font-size:11px;margin-top:12px}.upload small{display:block;color:var(--muted);font-size:11px}.uploaded{font-size:11px;color:#587296;overflow-wrap:anywhere;padding-top:8px}.diagnosis-benefits{display:flex;justify-content:space-between;gap:12px;background:#f5f9ff;padding:18px 12px;border-radius:14px;margin:24px 0;font-size:11px;text-align:center}.diagnosis-benefits svg{display:block;margin:0 auto 9px;color:#4f8ee3}.measure{margin:26px 0 36px;display:grid;grid-template-columns:42px 1fr;gap:14px}.measure>svg{width:39px;height:39px;padding:8px;border-radius:50%;background:#edf4ff;color:var(--river)}.measure h3{font-size:15px;font-weight:500;margin:0 0 19px}.measure strong{color:var(--river);font-weight:500}.ruler{height:2px;position:relative;background:linear-gradient(90deg,#236bdc,#e4edfc);margin:0 8px}.ruler:after{content:'';position:absolute;left:var(--position);top:50%;transform:translate(-50%,-50%);height:11px;width:11px;border:2px solid var(--river);background:#fff;border-radius:50%;box-shadow:0 3px 8px #216de622}.ruler-labels{display:flex;justify-content:space-between;font-size:9px;color:#8c99ad;margin-top:11px}.report-quote{padding:26px 20px;background:#f6f9ff;text-align:center}.report-quote h2{font:700 27px/1.6 var(--display);color:#1e62c4;margin:0 0 8px}.report-quote p{font-size:12px;color:#5979a7;margin:0}.week-plan{display:flex;overflow-x:auto;gap:0;margin-top:20px;padding-bottom:10px}.week-day{min-width:90px;width:90px;border-top:1px solid #91b5ed;padding:22px 10px 0;position:relative;font-size:11px;color:var(--muted)}.week-day:before{content:'';position:absolute;top:-4px;left:17px;width:7px;height:7px;background:var(--river);border-radius:50%}.week-day strong{display:block;color:var(--river-deep);margin-bottom:12px;font-size:13px}.result-chip{background:#eef4ff;border:1px solid #dce7fa;border-radius:30px;display:flex;align-items:center;justify-content:space-between;gap:9px;padding:8px 15px;font-size:12px}.featured-result{padding:0 22px}.featured-result>img{height:320px;width:100%;object-fit:cover;object-position:50% 28%;border-radius:14px}.result-name{display:flex;gap:10px;align-items:center;margin:18px 0}.result-name h2{font:700 29px var(--display);color:var(--river-deep);margin:0}.reason{display:flex;gap:12px;margin:18px 0}.reason svg{width:33px;height:33px;padding:7px;color:var(--river);border-radius:50%;background:#eef4ff}.reason h3{font-size:14px;margin:0 0 5px;font-weight:500}.reason p{font-size:12px;color:var(--muted);margin:0}.mini-teacher{display:flex;gap:17px;padding:20px 22px;border-bottom:1px solid var(--line)}.mini-teacher img{width:86px;height:110px;object-fit:cover;border-radius:10px}.mini-teacher h3{font:700 23px var(--display);margin:5px 0 9px}.mini-teacher p{margin:0;font-size:12px;color:var(--muted)}.steps-row{display:flex;justify-content:space-around;font-size:11px;color:var(--muted);text-align:center;margin:15px 0 25px}.steps-row svg{display:block;margin:0 auto 7px;color:var(--river)}
.map-scene{position:relative;background:#edf4fc;min-height:410px;overflow:hidden}.map-scene>.map-image{position:absolute;left:0;bottom:0;width:100%;height:68%;object-fit:cover;opacity:.8}.map-scene .map-content{position:relative;padding:27px 23px}.map-scene h1{font-size:28px;line-height:1.5;margin:0 0 5px;color:#12233a}.map-scene p{font-size:12px;color:#667b99;margin:0 0 20px}.map-scene .filter select{border:0;box-shadow:var(--shadow)}.map-pin{position:absolute;color:#1b81f4;background:#fff;border-radius:50%;height:38px;width:38px;box-shadow:0 4px 12px #315b8d30;display:grid;place-items:center}.map-pin svg{width:26px;height:26px}.map-pin.one{left:37%;bottom:21%}.map-pin.two{left:69%;bottom:30%}.map-note{position:absolute;bottom:8px;right:16px;font-size:9px;color:#7590af}.space-card{margin:18px 18px 26px;border-radius:15px;overflow:hidden;background:#fff;box-shadow:var(--shadow);border:1px solid #eef1f6}.space-card>img{width:100%;height:215px;object-fit:cover}.space-copy{padding:20px}.space-copy h2{font-size:22px;color:#142538;line-height:1.4;margin:5px 0 9px}.space-copy p{font-size:12px;color:var(--muted);margin:6px 0}.tags{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.tags span{font-size:10px;color:#6485b1;background:#f0f5fc;padding:5px 9px;border-radius:6px}.space-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.space-bottom .secondary{font-size:12px;min-height:39px;padding:6px 15px;border-radius:25px}.space-card.alternate{display:grid;grid-template-columns:1.12fr 1fr}.space-card.alternate>img{order:2;height:100%;object-position:center}.space-card.alternate .space-copy{padding:18px 14px}.space-card.alternate h2{font-size:20px}.space-card.alternate .space-bottom{display:block}.school-story{padding:20px 22px 28px}.school-story img{height:240px;width:100%;object-fit:cover;border-radius:9px}.school-story h2{font:700 28px var(--display);color:var(--river-deep);margin:22px 0 13px}.school-story p{font-size:12px;color:var(--muted);margin:5px 0}.school-story:nth-child(even){background:#fafcff}.school-detail-cover{height:270px;object-fit:cover;width:100%}.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:13px}.photo-pair img{width:100%;height:170px;object-fit:cover;border-radius:9px}.photo-pair figcaption{font-size:11px;color:var(--muted);margin-top:8px}.photo-pair figure{margin:0}
.quick-links{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid #eef2f8;border-radius:17px;box-shadow:var(--shadow);margin:-4px 20px 25px;position:relative;padding:13px 3px}.quick-link{display:flex;flex-direction:column;gap:6px;align-items:center;font-size:12px;min-height:65px;padding:7px 2px;border-right:1px solid var(--line)}.quick-link:last-child{border-right:0}.quick-link svg{color:#5684bb;width:26px;height:26px}.timeline{padding:8px 22px 0}.timeline-item{position:relative;padding:0 0 27px 28px;border-left:1px solid #96b9ec;margin-left:8px}.timeline-item:before{content:'';position:absolute;left:-5px;top:7px;width:9px;height:9px;border-radius:50%;background:#4c8bdb}.timeline-label{font-size:10px;color:#7299cb;margin-bottom:7px}.timeline-item h2{font:700 20px var(--display);margin:0 0 15px}.timeline-item:last-child{border-color:transparent}.list-row{display:flex;align-items:center;gap:11px;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px;min-height:50px;width:100%;text-align:left}.list-row:last-child{border:0}.list-row .grow{flex:1}.list-row small{font-size:10px;color:var(--muted)}.list-row>svg{color:#5e89bd;width:19px;height:19px}.todo input{accent-color:var(--river);width:17px;height:17px;flex-shrink:0}.todo:has(input:checked) .todo-title{color:#7892b2}.learning-promo{margin:0 20px 20px;background:#f3f7fc;border-radius:15px;display:grid;grid-template-columns:1.1fr 1fr;overflow:hidden}.learning-promo>div{padding:20px 15px}.learning-promo h2{font:700 21px/1.6 var(--display);margin:0 0 8px}.learning-promo p{font-size:11px;color:var(--muted);margin:0}.learning-promo img{width:100%;height:100%;object-fit:cover}.profile-hero{position:relative;display:flex;gap:19px;align-items:center;padding:37px 24px 45px;overflow:hidden}.profile-hero .avatar{width:85px;height:85px;object-fit:cover;border-radius:50%;z-index:1}.profile-hero h1{font:700 31px var(--display);margin:0 0 12px;color:#23374f}.profile-hero p{margin:0 0 10px;color:var(--muted);font-size:13px}.profile-hero .skyline{position:absolute;right:-30px;bottom:0;width:220px;opacity:.24;pointer-events:none}.profile-hero>div{position:relative}.student-profile{margin:0 24px 5px}.student-profile summary{font:700 21px var(--display);cursor:pointer;color:var(--river-deep);padding:17px 0;border-bottom:1px solid var(--line)}.student-profile summary::marker{color:#89a3c3}.profile-menu{padding:5px 24px}.profile-menu .list-row{font-size:16px;min-height:66px;gap:17px}.profile-menu .list-row>svg:first-child{width:24px;height:24px;color:#316ba9}.profile-menu .list-row>svg:last-child{height:17px;width:17px;color:#8c99a9}.join-banner{margin:20px 22px 0;min-height:190px;position:relative;overflow:hidden;border-radius:13px;padding:24px}.join-banner>img{position:absolute;right:0;top:0;height:100%;width:60%;object-fit:cover;mask-image:linear-gradient(90deg,transparent,#000 35%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 35%)}.join-banner{background:#eff5fc}.join-banner h2{position:relative;font:700 26px var(--display);color:var(--river-deep);margin:0 0 13px}.join-banner p{position:relative;font-size:12px;color:var(--muted);max-width:48%;margin:0}.join-banner .text-link{position:relative;margin-top:10px}
dialog{border:0;border-radius:24px;padding:0;background:#fff;color:var(--ink);width:min(calc(100% - 24px),520px);max-height:85dvh;box-shadow:0 25px 100px #183b7140}dialog::backdrop{background:#17385b62;backdrop-filter:blur(5px)}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:17px 22px 13px;position:sticky;top:0;background:#fffffff5;border-bottom:1px solid var(--line);z-index:2}.sheet-head h2{font:700 22px var(--display);margin:0}.sheet-head .icon-button{background:#f2f6fb;border-radius:50%;width:32px;height:32px}.sheet-head svg{width:18px}.sheet-body,#sheet-body{padding:22px;overflow-wrap:anywhere}#sheet-body p{font-size:13px;color:#738198}#sheet-body h3{font-size:16px;color:var(--river-deep)}#sheet-body .reference-image{width:100%;height:auto}#sheet-body .mini-teacher{padding:13px 0}#sheet-body .form-body{padding:0}.success-icon{width:66px;height:66px;background:#edf6ff;color:#2876dc;border-radius:50%;margin:8px auto 19px;display:grid;place-items:center}.success-icon svg{width:33px;height:33px}.success-copy{text-align:center}.toast{position:fixed;z-index:100;left:50%;bottom:105px;transform:translate(-50%,10px);background:#234363f2;color:#fff;padding:12px 20px;border-radius:13px;box-shadow:0 4px 20px #0002;font-size:12px;max-width:calc(100% - 44px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 0;font-size:13px}.switch-row input{accent-color:var(--river);width:20px;height:20px}.field-label{display:block;font-size:12px;color:var(--muted);margin:14px 0 7px}.help-detail{border-bottom:1px solid var(--line);padding:15px 0}.help-detail summary{font-size:14px;cursor:pointer}.help-detail p{line-height:1.9}.page-fade{animation:arrive .2s ease-out}@keyframes arrive{from{opacity:.45;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(min-width:700px){body{padding-top:18px}.app-shell{border-radius:22px 22px 0 0}.topbar{border-radius:22px 22px 0 0}}@media(max-width:360px){.topbar{padding:0 15px;gap:8px}.top-caption{font-size:9px}.hero{padding-left:20px;padding-right:20px}.section,.form-body{padding-left:19px;padding-right:19px}.story-copy{padding:17px 11px}.story-copy h2{font-size:25px}.teacher-meta{font-size:10px}.choice span{padding:8px 13px}.nav-item{font-size:9px}.services strong{font-size:14px}.detail-hero h1{font-size:28px}.detail-hero blockquote{font-size:17px}.detail-row>div{padding:0 16px}.detail-row p{font-size:11px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.home-carousel{position:relative;overflow:hidden;background:#f4f8ff;border-radius:0 0 18px 18px;box-shadow:0 8px 24px rgba(30,95,180,.1)}.home-carousel-track{display:flex;width:300%;animation:jinshi-carousel 12.6s ease-in-out infinite}.home-carousel-track a{display:block;width:33.333%;flex:0 0 33.333%}.home-carousel-track img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.home-carousel-dots{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:6px}.home-carousel-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.7);box-shadow:0 0 0 1px rgba(30,95,180,.25)}@keyframes jinshi-carousel{0%,27%{transform:translateX(0)}33%,60%{transform:translateX(-33.333%)}66%,93%{transform:translateX(-66.666%)}100%{transform:translateX(0)}}

.home-carousel-track{animation-duration:4s}.home-carousel-track a:nth-child(3){display:none}.home-carousel-track a{width:50%;flex-basis:50%}@keyframes jinshi-carousel{0%,42%{transform:translateX(0)}50%,92%{transform:translateX(-50%)}100%{transform:translateX(0)}}
.home-carousel-track{width:200%}

@media(prefers-reduced-motion:reduce){.home-carousel-track{animation:jinshi-carousel 4s ease-in-out infinite!important}}
.home-carousel-caption{position:absolute;left:24px;top:24px;color:#173d76;text-shadow:0 1px 8px rgba(255,255,255,.8)}.home-carousel-caption b{display:block;font:700 clamp(26px,6vw,48px)/1.2 var(--display)}.home-carousel-caption em{display:block;margin-top:8px;font:normal 14px var(--body);color:#315b8d}
