@charset "UTF-8";
:root{--paper:#f5f3ee;--white:#fffefa;--ink:#302e35;--muted:#88838b;--purple:#594368;--purple-dark:#44304f;--lilac:#f0ebf3;--line:#e8e3e6;--gold:#b39869;--green:#507c6b;--error:#ae4949;--radius:14px;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;--serif:"Songti SC","STSong","Noto Serif CJK SC",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased;line-height:1.6}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:radial-gradient(#927a5a0e .6px,transparent .6px);background-size:5px 5px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bba6cc;outline-offset:4px}button{touch-action:manipulation}svg{display:block}h1,h2,h3,p{margin:0}[hidden]{display:none!important}.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.skip-link{position:absolute;top:-70px;left:20px;background:var(--purple);color:white;padding:10px 20px;z-index:30}.skip-link:focus{top:10px}
.site-header{height:108px;max-width:1272px;margin:auto;padding:0 40px;display:flex;align-items:center;gap:44px;border-bottom:1px solid #ded9dd88}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:600;font-size:25px;letter-spacing:3px}.brand-mark{width:39px;height:39px;color:var(--purple);display:grid;place-items:center}.brand-mark svg{width:37px;height:37px;fill:none;stroke:currentColor;stroke-width:1.2}.brand-en{font-size:9px;display:block;letter-spacing:3.6px;line-height:1.1;margin-top:0;font-weight:500}.site-header nav{display:flex;gap:28px;margin-left:auto;align-items:center}.nav-link{border:0;background:none;color:#68626b;font-size:13px;padding:10px 0}.nav-example span{margin-left:8px}.prototype-label{font-size:11px;color:var(--muted);border-left:1px solid #dcd6dd;padding-left:30px;display:flex;gap:8px;align-items:center}.prototype-label i{height:5px;width:5px;border-radius:50%;background:var(--gold)}
.main-layout{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:70px;padding:56px 24px 48px;align-items:start}.intro{padding:25px 0 0 8px;position:sticky;top:30px}.eyebrow{font-size:10px;letter-spacing:2.8px;color:#8f7b72;display:flex;gap:12px;align-items:center;margin-bottom:25px}.eyebrow span{width:22px;height:1px;background:var(--gold)}h1{font-family:var(--serif);font-weight:500;font-size:45px;letter-spacing:1.5px;line-height:1.6}.serif-accent{color:var(--purple);position:relative;white-space:nowrap}.serif-accent:after{position:absolute;content:"";height:5px;background:#d8c5e0a6;width:100%;bottom:2px;left:0;z-index:-1;border-radius:50%}.intro-copy{font-size:13px;line-height:2.1;color:#8b858b;margin-top:21px;letter-spacing:.6px}.orbit-art{position:relative;width:calc(100% + 25px);margin:15px 0 0 -20px;height:310px}.orbit-svg{width:100%;height:100%;overflow:visible}.orbit-ring{fill:none;stroke:#b2a5b144;stroke-width:.7}.inner-ring{stroke-dasharray:2 6}.ellipse-ring{fill:none;stroke:url(#orbit-fade);stroke-width:1}.orbit-axis{fill:none;stroke:#b2a5b133;stroke-width:.65;stroke-dasharray:2 5}.constellation{fill:none;stroke:#b6a0ba;stroke-width:.8;opacity:.8}.star-points{fill:#ad91b4}.center-halo{fill:#e9e1ed77}.center-star{fill:var(--purple)}.orbit-type{fill:#a49aa7;font:7px var(--sans);text-anchor:middle}.orbit-label{position:absolute;display:flex;align-items:center;gap:6px;line-height:1;padding:9px 13px;border:1px solid #fffdfc;background:#faf8f4cc;border-radius:24px;font-size:10px;color:#766779;box-shadow:0 3px 20px #65507605;white-space:nowrap}.orbit-label i{width:4px;height:4px;background:var(--purple);border-radius:50%}.orbit-label small{font-size:7px;letter-spacing:1px;color:#a096a2;margin-left:3px}.label-boston{right:6px;top:44px}.label-sandiego{left:0;bottom:72px}.orbit-caption{position:absolute;bottom:3px;left:0;width:100%;text-align:center;color:#b2a7ae;font-size:9px;letter-spacing:3px}.journey-note{margin-top:25px;display:flex;gap:22px;align-items:flex-start;padding-top:23px;border-top:1px solid #e3dce0}.note-index{font-size:9px;color:#b29b7a;letter-spacing:1.2px;margin-top:3px}.journey-note p{font-size:11px;color:#979097;line-height:1.9}.journey-note strong{font-weight:400;color:#776e79}.text-button{border:0;background:none;padding:0;color:#89748f;font-size:11px;display:inline-flex;gap:8px;align-items:center}.intro-about{margin-top:24px}.text-button:hover{color:var(--purple-dark)}
.workspace{background:var(--white);border:1px solid #fff;border-radius:22px;padding:29px 37px 19px;box-shadow:0 12px 55px #4b354207,0 1px 3px #4b354203;min-width:0}.workspace-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.small-kicker{font-size:11px;color:#9d909e;letter-spacing:1px}.demo-tag{background:#f0ebf3;border:1px solid #e7dfee;color:#8a7296;padding:3px 8px;font-size:9px;letter-spacing:.5px;white-space:nowrap;border-radius:5px}.steps{padding:27px 0 25px;margin:0;display:flex;list-style:none;gap:0;position:relative;border-bottom:1px solid var(--line)}.steps li{flex:1;position:relative}.steps li:not(:last-child):after{content:"";width:20px;height:1px;background:var(--line);position:absolute;right:10px;top:15px}.steps button{border:0;background:none;padding:0;display:flex;align-items:center;gap:8px;color:#b8b0ba;font-size:11px}.step-number{width:29px;height:29px;border:1px solid #e9e4eb;border-radius:50%;display:grid;place-items:center;font-size:10px;letter-spacing:.3px}.steps [aria-current=step]{color:var(--purple);font-weight:500}.steps [aria-current=step] .step-number{background:var(--purple);color:white;border-color:var(--purple);box-shadow:0 0 0 4px #f3eef6}.steps .completed{color:#92809e}.steps .completed .step-number{background:#f1ecf4;border-color:transparent}.step-panel{animation:enter .28s ease-out}.section-title{padding:26px 0 24px}.chapter{font-size:8px;letter-spacing:2px;color:#b5a38c;display:block;margin-bottom:6px}.section-title h2{font-family:var(--serif);font-weight:500;font-size:26px;line-height:1.7;letter-spacing:.4px;outline:none}.section-title p{font-size:11px;color:#a298a2;margin-top:4px;line-height:1.8}.field-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.field{margin:0 0 20px;min-width:0}.field label,.field legend{display:block;font-size:12px;font-weight:500;margin-bottom:9px;color:#655d69}.field-meta{font-size:9px;font-weight:400;color:#b2a8b4;margin-left:5px}.field input:not([type=radio]),.field select{width:100%;height:47px;border:1px solid #e8e3e9;background:#fcfbfd;color:#55495f;border-radius:9px;padding:0 13px;font-size:12px;transition:border .2s,box-shadow .2s;min-width:0;max-width:100%;appearance:none;-webkit-appearance:none}.field input::placeholder{color:#b6adb9;font-size:11px}.field input:focus,.field select:focus{border-color:#ac91bb;box-shadow:0 0 0 3px #f2ecf6;outline:none}.field input:disabled{background:#f4f2f5;color:#bbb4be}.field input[aria-invalid=true]{border-color:#c57a7a}.field input[type=date],.field input[type=time]{color-scheme:light;min-height:47px;text-align:left;line-height:45px}.field input::-webkit-date-and-time-value{text-align:left}.field select{padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m2 2 4 4 4-4' fill='none' stroke='%239c8aa5' stroke-width='1.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.input-with-icon{position:relative}.input-with-icon>.icon{position:absolute;left:12px;top:15px;width:17px;height:17px;color:#a28aac;pointer-events:none}.input-with-icon input{padding-left:38px!important}.field-hint{color:#aaa0ad;font-size:10px;margin-top:7px;display:block}.field-error{display:block;color:var(--error);font-size:10px;margin-top:5px;line-height:1.5}.field-error:empty{display:none}.gender-field{padding:0;border:0}.gender-field legend{padding:0}.segmented{display:flex;gap:12px}.segmented label{margin:0;flex:1;position:relative}.segmented input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.segmented span{display:flex;align-items:center;justify-content:center;gap:9px;height:44px;border:1px solid #e8e3e9;border-radius:9px;font-size:12px;color:#a598ac;pointer-events:none}.segmented span:before{content:"";height:11px;width:11px;border:1px solid #c8bccd;border-radius:50%;box-shadow:inset 0 0 0 3px var(--white)}.segmented input:checked+span{border-color:#a48ab2;background:#f5f0f8;color:var(--purple)}.segmented input:checked+span:before{border-color:var(--purple);background:var(--purple);box-shadow:inset 0 0 0 2px #f5f0f8}.segmented input:focus-visible+span{outline:3px solid #bba6cc;outline-offset:3px}.gentle-note{display:flex;gap:10px;background:#f8f5ef;border:1px solid #f2ece2;border-radius:9px;padding:13px 14px;margin:23px 0}.gentle-note>.icon{color:#b79b69;width:18px;height:18px;margin-top:1px}.gentle-note strong{font-size:10px;font-weight:500;color:#8e7c5e}.gentle-note p{font-size:9px;color:#b1a28a;margin-top:4px}.primary-button{background:var(--purple);border:1px solid var(--purple);width:100%;min-height:48px;border-radius:9px;color:#fffafc;display:flex;align-items:center;justify-content:center;gap:30px;font-size:12px;letter-spacing:.8px;padding:13px 15px;transition:background .2s,transform .2s;box-shadow:0 4px 10px #5943680c}.primary-button:hover{background:var(--purple-dark)}.primary-button:active{transform:translateY(1px)}.primary-button:disabled{opacity:.7}.primary-button>.icon{width:18px;height:18px}.below-form{display:flex;justify-content:space-between;align-items:center;margin:14px 0 12px;gap:8px}.below-form>span{font-size:9px;color:#b3aab6;display:flex;gap:5px;align-items:center}.below-form .icon{width:11px;height:11px}.below-form .text-button{font-size:9px}.workspace-footer{display:flex;align-items:center;justify-content:center;gap:10px;color:#c1b2c8;padding:24px 0 0;margin-top:18px;border-top:1px solid #f0ecf1}.workspace-footer p{font-size:9px;letter-spacing:1px;color:#b6acba}.tiny-star{font-size:10px}.footer-rule{height:1px;width:28px;background:#e6dfe9}.optional-divider{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:16px 0;font-size:11px;color:#8b7b92}.optional-divider small{font-size:9px;color:#b6a8bd}.prototype-note{display:flex;gap:8px;background:#f7f3f9;padding:12px;border-radius:8px;color:#a092aa;font-size:10px;line-height:1.9;margin-bottom:20px}.prototype-note .icon{width:15px;height:15px;margin-top:2px}.prototype-note strong{font-weight:500;color:#8a7198}.form-actions{display:flex;gap:12px}.back-button{width:48px;flex-shrink:0;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;background:transparent;color:#9784a1}.form-actions .primary-button{gap:18px}
.site-footer{max-width:1192px;margin:auto;border-top:1px solid #e1dce0;padding:22px 24px 27px;font-size:9px;color:#aaa0a7;display:flex;justify-content:space-between;gap:16px;letter-spacing:.5px}.site-footer .text-button{font-size:9px;color:#a99bad}.footer-dot{margin:0 10px;color:#beb0c6}
.result-heading{padding-bottom:17px}.result-notice{padding:10px 12px;border-radius:8px;background:#f7f1e7;display:flex;gap:9px;align-items:flex-start}.result-notice .demo-tag{background:#eee3d0;border:0;color:#9e845b;font-size:8px;margin-top:2px}.result-notice p{font-size:9px;color:#a78e68;line-height:1.85}.result-context{display:flex;flex-wrap:wrap;gap:6px;padding:15px 0}.context-chip{font-size:9px;padding:4px 8px;background:#f5f1f7;border-radius:5px;color:#9c89a6}.result-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin:0 0 15px;gap:6px}.result-tabs{display:flex;gap:18px}.result-tabs button{border:0;border-bottom:2px solid transparent;background:none;padding:9px 0;font-size:10px;color:#b3a7b9;white-space:nowrap}.result-tabs .active{color:var(--purple);border-bottom-color:var(--purple)}.result-tabs span{font-size:8px;margin-left:3px;opacity:.65}.sort-label{font-size:9px;color:#ac9bb5;white-space:nowrap}.school-results{display:flex;flex-direction:column;gap:14px}.school-card{border:1px solid #e8e1ec;border-radius:12px;overflow:hidden;background:white;animation:enter .3s ease both}.city-banner{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:105px;padding:17px 19px;overflow:hidden;background:#ede8f2}.city-banner[data-scene=sea]{background:#e8eff0}.city-banner[data-scene=lake]{background:#e9edf3}.city-banner[data-scene=city]{background:#eee9e2}.city-banner[data-scene=prairie]{background:#eeeee4}.city-banner[data-scene=terrace]{background:#e9eee9}.city-illustration{position:absolute;right:45px;bottom:0;width:170px;height:85px;color:#ada0b9;opacity:.45;pointer-events:none}.city-banner[data-scene=sea] .city-illustration{color:#8daeb4}.city-banner[data-scene=lake] .city-illustration{color:#96a6bd}.city-banner[data-scene=city] .city-illustration{color:#b3a38e}.city-banner[data-scene=prairie] .city-illustration{color:#a7ad87}.city-banner[data-scene=terrace] .city-illustration{color:#8ca591}.city-name{position:relative;z-index:1}.city-name .city-kicker{font-size:8px;letter-spacing:1.7px;color:#a396b0;margin-bottom:3px}.city-name h3{font-family:var(--serif);font-size:23px;font-weight:500;color:#6c537c;letter-spacing:.6px}.city-name p{font-size:8px;color:#ab9ab3;letter-spacing:.8px}.city-rank{position:absolute;top:10px;left:10px;display:none}.match-ring{position:relative;z-index:1;flex-shrink:0;width:61px;height:61px;border-radius:50%;background:conic-gradient(#8b739f calc(var(--score)*1%),#d7cddd 0);padding:3px}.match-ring>div{background:#f5f1f7;border-radius:50%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.match-ring strong{font-size:21px;font-weight:500;line-height:1.1;color:#725982;font-variant-numeric:tabular-nums}.match-ring small{font-size:7px;letter-spacing:.5px;color:#a18bae;margin-top:3px}.school-content{padding:16px 18px}.school-card-heading{display:flex;gap:10px;align-items:flex-start}.school-wordmark{width:32px;height:34px;flex-shrink:0;display:grid;place-items:center;background:#f1edf4;border-radius:6px;color:#8b739a;font-family:Georgia,serif;font-weight:700;font-size:10px;margin-top:2px}.school-name{flex:1;min-width:0}.school-name h4{font-size:12px;font-weight:500;color:#51455a;margin:0 0 3px;line-height:1.6}.school-name p{font-size:8px;color:#b4a8b9;line-height:1.6}.bookmark-button{background:none;border:0;color:#b3a2be;padding:4px;margin-right:-4px}.bookmark-button .icon{width:17px;height:17px}.bookmark-button[aria-pressed=true]{color:var(--purple)}.bookmark-button[aria-pressed=true] .icon{fill:#e4d7eb}.school-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.school-tag{font-size:8px;color:#8e7c99;border:1px solid #eae3ef;border-radius:4px;padding:3px 6px}.school-tag.passed{color:#6f9688;background:#f1f6f3;border-color:#e9f0ec}.school-tag .icon{width:10px;height:10px;display:inline-block;vertical-align:-2px;margin-right:3px}.school-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:13px;padding-top:10px;border-top:1px solid #f2eef5}.school-bottom>span{font-size:8px;color:#b2a6b8}.school-bottom .text-button{font-size:9px}.load-more{margin-top:16px;width:100%;background:none;border:1px solid var(--line);padding:10px;border-radius:8px;font-size:10px;color:#9c87a8}.load-more span{margin-left:12px}.edit-inputs{font-size:10px;display:flex;justify-content:center;margin:23px auto 0}.edit-inputs .icon{width:14px;height:14px}.empty-state{text-align:center;padding:30px 14px}.empty-state>.icon{margin:0 auto 15px;width:35px;height:35px;color:#b6a0c3}.empty-state h3{font-size:15px;font-weight:500;color:#796284}.empty-state p{font-size:11px;color:#aa9bb3;margin:10px 0 20px;line-height:1.9}.secondary-button{padding:10px 18px;background:#f2ecf6;color:#896e99;border:1px solid #e5d9ed;border-radius:8px;font-size:11px}
dialog{border:1px solid #e3dce9;border-radius:18px;padding:0;max-width:460px;width:calc(100% - 32px);background:var(--white);color:var(--ink);box-shadow:0 25px 100px #30203630}dialog::backdrop{background:#35233e66;backdrop-filter:blur(4px)}.dialog-inner{padding:32px;position:relative}.dialog-close{position:absolute;right:15px;top:15px;border:0;background:#f2edf6;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;color:#947fa0}.dialog-close .icon{width:15px;height:15px}.dialog-inner h2{font-family:var(--serif);font-size:24px;font-weight:500;line-height:1.8;margin:9px 0 15px}.dialog-inner p{font-size:12px;color:#938598;line-height:1.9;margin:10px 0}.dialog-inner h3{font-size:12px;font-weight:500;color:#7c628c;margin:20px 0 8px}.dialog-inner .detail-badge{font-size:9px;color:#a691ad;letter-spacing:1px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}.detail-grid>div{background:#f7f3f9;border-radius:8px;padding:13px;font-size:10px;color:#a595ae}.detail-grid strong{display:block;color:#7f638e;margin:5px 0 0;font-size:12px;font-weight:500}.dialog-inner a{color:#897098;font-size:10px;text-underline-offset:3px}.dialog-inner ol{padding-left:20px;font-size:12px;color:#96859f;line-height:2.2}.dialog-disclaimer{background:#f6f0e6;padding:12px;border-radius:7px;font-size:10px!important;color:#a58b62!important}.toast{position:fixed;left:50%;bottom:calc(26px + env(safe-area-inset-bottom));transform:translate(-50%,15px);opacity:0;pointer-events:none;background:#594368ed;color:white;border-radius:10px;padding:11px 20px;box-shadow:0 5px 25px #49304e22;transition:opacity .2s,transform .2s;font-size:12px;z-index:100;max-width:calc(100% - 32px);text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}.noscript-message{position:fixed;bottom:0;background:#f0e7d8;padding:16px;width:100%;text-align:center;color:#7e653e;font-size:12px}@keyframes enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
/* Phone-first H5: keep the same single-column canvas on desktop. */
.site-header{max-width:480px;height:76px;padding:0 22px;gap:14px}.brand{font-size:22px;gap:8px}.brand-mark{width:31px;height:31px}.brand-mark svg{width:31px;height:31px}.brand-en{font-size:7px;letter-spacing:3.6px}.site-header nav{gap:17px}.nav-link{font-size:11px}.prototype-label{display:none}.main-layout{display:flex;flex-direction:column;gap:25px;padding:30px 18px 30px;max-width:480px}.intro{position:relative;top:auto;padding:0 8px;width:100%;min-height:0}.eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:14px;gap:8px}.eyebrow span{width:16px}h1{font-size:33px;line-height:1.55;letter-spacing:1px;position:relative;z-index:1}.intro-copy{font-size:11px;line-height:1.9;margin-top:12px;position:relative;z-index:1;max-width:80%}.orbit-art{position:absolute;right:-12px;top:3px;width:220px;height:200px;opacity:.42;z-index:0;pointer-events:none;overflow:hidden}.orbit-label,.orbit-caption{display:none}.orbit-svg{position:relative;right:-40px;width:260px;height:205px}.journey-note,.intro-about{display:none}.workspace{width:100%;border-radius:18px;padding:23px 23px 17px;box-shadow:0 8px 30px #4b354208}.workspace-top .small-kicker{font-size:10px}.steps{padding:24px 0 22px;justify-content:space-between}.steps button{font-size:10px;gap:7px}.steps li:last-child{flex:0 0 auto}.steps li:not(:last-child):after{right:12px;width:18px}.step-number{width:27px;height:27px}.section-title{padding:24px 0 22px}.section-title h2{font-size:24px}.chapter{font-size:7px;letter-spacing:1.9px}.section-title p{font-size:10px}.field{margin-bottom:18px}.field label,.field legend{font-size:11px}.field input:not([type=radio]),.field select{font-size:16px;height:48px}.field input::placeholder{font-size:11px}.field-row{gap:12px}.field-meta{font-size:8px;margin-left:2px}.gentle-note{margin:22px 0}.gentle-note strong{font-size:10px}.gentle-note p{font-size:9px}.primary-button{min-height:49px;font-size:12px;gap:22px}.below-form{margin-top:16px}.workspace-footer{padding-top:20px;margin-top:20px}.workspace-footer p{font-size:8px;letter-spacing:.8px}.site-footer{max-width:480px;padding:22px 25px;align-items:center;font-size:8px;line-height:1.8}.site-footer .text-button{white-space:nowrap;font-size:8px}.footer-dot{margin:0 5px}.optional-divider small{font-size:8px}.result-notice p{font-size:9px}.city-name h3{font-size:24px}.school-name h4{font-size:12px}.school-name p{font-size:8px}.school-content{padding:15px}.result-tabs{gap:15px}.sort-label{font-size:8px}.school-card .school-bottom .text-button{font-size:10px;min-height:24px}
@media(max-width:374px){.site-header{padding:0 17px}.nav-link{font-size:10px}.site-header nav{gap:12px}.main-layout{padding-left:12px;padding-right:12px}.workspace{padding-left:18px;padding-right:18px}h1{font-size:30px}.section-title h2{font-size:22px}.steps button{gap:5px;font-size:9px}.steps li:not(:last-child):after{right:9px;width:13px}.field-meta{display:block;margin-left:0;font-size:8px}.field label{min-height:18px}.field-row>.field>label{min-height:30px}.optional-divider{gap:5px}.below-form .text-button{font-size:8px}.school-wordmark{display:none}.sort-label{font-size:8px}.school-tags{gap:5px}.school-tag{font-size:7px}}
body[data-step="2"] .intro,body[data-step="3"] .intro{display:none}
.preview-hint{font-size:11px;line-height:1.8;color:#8a7597;background:#f5f0f8;border-radius:8px;padding:10px 12px;margin:-5px 0 20px}
.picker-trigger{display:flex;justify-content:space-between;align-items:center;gap:6px;border:1px solid #e8e3e9;background:#fcfbfd;color:#a497ae;border-radius:9px;width:100%;min-height:48px;padding:0 12px;font-size:15px;text-align:left;white-space:nowrap}
.picker-trigger.has-value{color:#55495f}.picker-trigger[aria-invalid=true]{border-color:#c57a7a}.picker-trigger:hover{border-color:#a48ab2}
.city-input input{padding-right:65px!important}.city-choose{position:absolute;right:7px;top:6px;height:36px;padding:0 12px;background:#eee7f3;color:#7e628e;border:0;border-radius:6px;font-size:12px}
dialog.picker-dialog{margin:auto auto 0;max-width:480px;width:100%;border-radius:20px 20px 0 0;max-height:85dvh;overflow-y:auto;padding-bottom:env(safe-area-inset-bottom)}
.picker-dialog .dialog-inner{padding:27px 24px 24px}.picker-dialog .dialog-inner h2{font-size:25px}.picker-dialog .dialog-inner p{font-size:12px}
.date-columns{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:10px;margin:25px 0 8px}.date-columns .field select{font-size:16px;padding-left:9px;padding-right:24px;background-position:right 8px center}.date-columns .field select:disabled{background-color:#f3f0f5;color:#b4a8bd}
.time-columns{grid-template-columns:1fr 18px 1fr;align-items:center}.time-colon{font-size:22px;text-align:center;color:#a38aad;padding-bottom:4px}
.city-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0 23px}.city-option{padding:10px 4px;min-height:43px;border:1px solid #e7deec;border-radius:8px;background:#f8f5fa;color:#7e678b;font-size:12px;overflow-wrap:anywhere}.city-option:hover{background:#ede4f3;border-color:#ad95b9}.city-query-hint{grid-column:1/-1}.picker-dialog .primary-button:disabled{opacity:.45}
.choice-trigger{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:7px;border:1px solid #e8e3e9;background:#fcfbfd;border-radius:9px;padding:10px 12px;color:#55495f;font-size:16px;text-align:left;line-height:1.5}
.choice-trigger:hover,.choice-trigger:focus-visible{border-color:#a48ab2;background:#f7f2fa}.choice-trigger>span:first-child{min-width:0;overflow-wrap:anywhere}.choice-chevron{font-size:16px;color:#a08bab;flex-shrink:0}
.choice-options{display:flex;flex-direction:column;gap:9px;padding:6px 0 4px}.choice-option{display:flex;justify-content:space-between;align-items:center;gap:15px;width:100%;min-height:51px;padding:13px 15px;border:1px solid #e6ddeb;border-radius:10px;background:#fcfafc;color:#75637e;font-size:15px;text-align:left}.choice-option .icon{opacity:0;color:#79608b;width:18px;height:18px}.choice-option[aria-pressed=true]{border-color:#a18bad;background:#f1eaf6;color:#594368}.choice-option[aria-pressed=true] .icon{opacity:1}.choice-option:hover{background:#f1eaf6}
.number-heading{text-align:center;font-size:12px;color:#887291;margin:0 0 9px}.number-options{position:relative;max-height:224px;min-height:224px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border:1px solid #e9e0ed;background:#faf7fc;border-radius:10px;padding:5px;scrollbar-width:thin;scrollbar-color:#d2c1dc transparent}.number-option{display:block;min-height:42px;width:100%;padding:9px 2px;border:0;background:transparent;border-radius:7px;font-size:15px;line-height:1.4;color:#8b7596;text-align:center}.number-option:hover{background:#efe6f5}.number-option[aria-pressed=true]{background:#e9dff1;color:#594368;font-weight:600}.number-empty{display:block;text-align:center;padding:20px 4px;font-size:11px;color:#b2a2bb}.time-columns .number-options{max-height:224px}.time-columns .time-colon{padding-top:27px}
.intro-copy,.section-title p{font-size:12px;color:#85778d}
.field label,.field legend{font-size:12px}
.field-hint,.field-error{font-size:11px}
.field-hint{color:#8a7a93}
.steps button{font-size:11px}
.primary-button{font-size:14px}
.prototype-note,.result-notice p{font-size:11px}
.prototype-note{color:#83708e}
.result-notice p{color:#8c744e}
.context-chip{font-size:10px;color:#816c8e}
.school-name h4{font-size:14px}
.school-name p,.city-name p{font-size:10px;color:#917b9f}
.school-tag{font-size:10px}
.school-bottom>span{font-size:10px;color:#95839e}
.school-bottom .text-button{font-size:11px;min-height:28px}
.result-tabs button{font-size:12px}
.sort-label{font-size:10px}
.site-header{padding-top:env(safe-area-inset-top)}
.site-footer{padding-bottom:calc(25px + env(safe-area-inset-bottom))}
.bookmark-button,.dialog-close{min-width:40px;min-height:40px;display:grid;place-items:center}
.result-tabs button,.nav-link{min-height:40px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
