:root{--bg:#fbf7f0;--bg-deep:#f1e7d8;--card:#fff;--card-2:#fffdf9;--line:#ece2d2;--line-soft:#f2ebdf;--ink:#211f1b;--ink-soft:#6c685f;--ink-faint:#9b968b;--a-strong:#0f9d73;--a-mid:#4cbf95;--a-soft:#e1f3ea;--d-strong:#7a5cf0;--d-mid:#a48bf5;--d-soft:#ece5fd;--n:#c5beb1;--n-soft:#efeadf;--brand:#ff7a4d;--brand-2:#ffb53d;--brand-grad:linear-gradient(120deg, #ff7a4d 0%, #ff9a3d 48%, #ffc24b 100%);--shadow-sm:0 2px 8px #2d24160f;--shadow-md:0 14px 36px #382c1a1a;--shadow-lg:0 30px 70px #382c1a29;--radius:22px;--radius-sm:14px;--font-display:"Zen Maru Gothic", "Hiragino Maru Gothic ProN", system-ui, sans-serif;--font-body:"Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", system-ui, sans-serif;--font-latin:"Outfit", system-ui, sans-serif;--app-w:480px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(120% 80% at 50% -10%, #ffb53d29, transparent 60%), radial-gradient(90% 60% at 100% 100%, #7a5cf014, transparent 55%), var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-height:100dvh;font-weight:500}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:0}input,select{font:inherit}h1,h2,h3,p{margin:0}.app{width:min(var(--app-w), 100%);background:linear-gradient(#fff0 0%,#ffffff80 100%);flex-direction:column;min-height:100dvh;margin:0 auto;display:flex;position:relative}@media (min-width:540px){.app{min-height:auto;box-shadow:var(--shadow-lg);background:var(--card);border:1px solid var(--line-soft);border-radius:34px;margin:26px auto 40px;overflow:hidden}}.screen{flex-direction:column;flex:1;animation:.5s cubic-bezier(.2,.8,.2,1) both screen-in;display:flex}@keyframes screen-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.eyebrow{font-family:var(--font-latin);letter-spacing:.22em;text-transform:uppercase;color:var(--brand);font-size:11px;font-weight:700}.intro{justify-content:center;gap:22px;padding:clamp(26px,7vw,40px) clamp(22px,6vw,34px) 34px}.intro-brand{font-family:var(--font-display);letter-spacing:.02em;align-items:center;gap:9px;font-size:18px;font-weight:900;display:flex}.intro-brand .dot{background:var(--brand-grad);color:#fff;border-radius:9px;place-items:center;width:26px;height:26px;font-size:14px;display:grid;box-shadow:0 6px 14px #ff7a4d66}.intro h1{font-family:var(--font-display);letter-spacing:.01em;font-size:clamp(30px,8.5vw,42px);font-weight:900;line-height:1.28}.intro h1 .hl{white-space:nowrap;background:linear-gradient(#0000 62%,#ffb53d8c 62%);padding:0 2px}.intro-lede{color:var(--ink-soft);font-size:15px;line-height:2}.trait-grid{border-radius:var(--radius);box-shadow:var(--shadow-md);grid-template-columns:repeat(3,1fr);gap:8px;display:grid;overflow:hidden}.trait-grid span{aspect-ratio:1.35;color:#fff;font-family:var(--font-display);text-align:center;letter-spacing:.01em;place-items:center;padding:6px;font-size:clamp(11px,3.2vw,13px);font-weight:700;line-height:1.3;display:grid}.trait-grid span.center{font-size:clamp(10px,3vw,12px);background:#211f1b!important}.intro-meta{color:var(--ink-soft);gap:18px;font-size:13px;display:flex}.intro-meta b{font-family:var(--font-latin);color:var(--ink);font-size:22px;font-weight:800;line-height:1.1;display:block}.cta{font-family:var(--font-display);color:#fff;background:var(--brand-grad);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:18px 24px;font-size:17px;font-weight:900;transition:transform .18s,box-shadow .18s;display:flex;box-shadow:0 16px 30px #ff7a4d61}.cta:active{transform:translateY(2px)scale(.99);box-shadow:0 8px 18px #ff7a4d52}.cta.ghost{background:var(--card);color:var(--ink);border:1.5px solid var(--line);box-shadow:var(--shadow-sm)}.intro-secondary-action{color:var(--ink-faint);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--ink-faint) 38%, transparent);text-decoration-color:color-mix(in srgb, var(--ink-faint) 38%, transparent);text-underline-offset:4px;align-self:center;margin-top:-8px;padding:4px 8px;font-size:13px;font-weight:700}.intro-secondary-action:active{color:var(--ink-soft)}.topbar{z-index:10;background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:blur(12px);align-items:center;gap:12px;padding:14px 20px 12px;display:flex;position:sticky;top:0}.icon-btn{width:38px;height:38px;color:var(--ink-soft);background:var(--card);box-shadow:var(--shadow-sm);border:1px solid var(--line-soft);border-radius:50%;flex-shrink:0;place-items:center;transition:transform .15s,opacity .15s;display:grid}.icon-btn:active{transform:scale(.92)}.icon-btn:disabled{opacity:.32;cursor:default}.progress{background:var(--n-soft);border-radius:999px;flex:1;height:9px;overflow:hidden}.progress>i{background:var(--brand-grad);border-radius:999px;height:100%;transition:width .5s cubic-bezier(.2,.8,.2,1);display:block}.progress-count{font-family:var(--font-latin);color:var(--ink-soft);text-align:right;flex-shrink:0;min-width:46px;font-size:13px;font-weight:700;line-height:1}.progress-count b{color:var(--ink);font-size:16px}.dev-data-source{z-index:31;color:#204782;width:calc(100% - 24px);font-family:var(--font-latin);overflow-wrap:anywhere;background:#e8f0fff0;border:1px solid #2f6fed2e;border-radius:10px;margin:10px auto 0;padding:7px 10px;font-size:11px;font-weight:800;line-height:1.35}.dev-answer-tools{z-index:30;color:#fff;-webkit-backdrop-filter:blur(10px);background:#211f1be6;border:1px solid #211f1b29;border-radius:14px;width:calc(100% - 24px);margin:10px auto 12px;padding:9px;position:sticky;bottom:10px;box-shadow:0 16px 36px #211f1b38}.dev-answer-meta{font-family:var(--font-latin);justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px;display:flex}.dev-answer-meta b{letter-spacing:.04em;font-size:12px}.dev-answer-meta span{color:#ffffffb3;font-size:11px}.dev-answer-actions{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.dev-answer-actions button{color:#fff;background:#ffffff1f;border-radius:10px;min-height:32px;font-size:12px;font-weight:800}.dev-answer-actions button:active{background:#fff3}.dev-answer-tools p{color:#ffffffb8;margin-top:7px;font-size:11px}.dev-answer-preview{color:#ffffffe0;resize:vertical;background:#00000042;border:1px solid #ffffff24;border-radius:10px;width:100%;height:148px;margin-top:8px;padding:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;line-height:1.45;display:block}.dev-fit-rate{color:var(--ink-faint);font-family:var(--font-latin);margin-top:3px;font-size:11px;font-weight:800;line-height:1}@keyframes q-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.quiz-list{gap:0;padding:8px 20px 24px}.quiz-intro{padding:8px 2px 6px}.quiz-intro h2{font-family:var(--font-display);margin:8px 0;font-size:clamp(22px,6vw,27px);font-weight:900;line-height:1.4}.quiz-intro p{color:var(--ink-soft);font-size:13.5px;line-height:1.85}.q-section{margin-top:18px;scroll-margin-top:96px}.q-section-head{z-index:5;font-family:var(--font-display);color:var(--ink-soft);background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(8px);align-items:center;gap:9px;margin-bottom:4px;padding:9px 2px;font-size:13.5px;font-weight:700;display:flex;position:sticky;top:40px}.q-section-head .bar{background:var(--brand-grad);border-radius:999px;flex-shrink:0;width:16px;height:4px}.q-item{border-top:1px solid var(--line-soft);padding:22px 0 26px;scroll-margin-top:96px;animation:.4s both q-in}.q-section .q-item:first-of-type{border-top:0}.q-item.answered{opacity:.62;transition:opacity .3s}.q-item.answered:hover,.q-item.answered:focus-within{opacity:1}.q-item-head{align-items:center;gap:9px;margin-bottom:12px;display:flex}.q-num{font-family:var(--font-latin);color:var(--ink-faint);letter-spacing:.04em;font-size:12px;font-weight:800}.q-item .statement{font-size:clamp(18px,4.8vw,22px);line-height:1.5}.q-item .help{margin-top:8px}.q-item .scale{margin-top:18px}.subject-chip{background:var(--n-soft);color:var(--ink-soft);border-radius:999px;align-items:center;gap:6px;padding:5px 11px 5px 9px;font-size:12px;font-weight:700;display:inline-flex}.subject-chip .pin{background:currentColor;border-radius:50%;width:7px;height:7px}.subject-chip.child{color:#2b6aa8;background:#e4f0fb}.subject-chip.guardian{background:var(--a-soft);color:#0c7d59}.subject-chip.family{color:#c06a1f;background:#fdeede}.subject-chip.risk{background:var(--d-soft);color:#6244c7}.statement{font-family:var(--font-display);letter-spacing:.01em;font-size:clamp(23px,6.4vw,30px);font-weight:700;line-height:1.46}.statement .who{color:var(--brand)}.help{color:var(--ink-faint);margin-top:-12px;font-size:13px;line-height:1.7}.scale{justify-content:center;align-items:center;gap:clamp(8px,3.2vw,16px);padding:6px 0 2px;display:flex}.scale-btn{background:var(--card);border:2.5px solid var(--ring,var(--n));border-radius:50%;flex-shrink:0;place-items:center;transition:transform .16s cubic-bezier(.2,.8,.2,1),background .2s,border-color .2s,box-shadow .2s;display:grid;position:relative}.scale-btn:after{content:"";background:var(--ring);opacity:0;border-radius:50%;transition:transform .24s cubic-bezier(.2,.9,.2,1),opacity .2s;position:absolute;inset:0;transform:scale(.2)}.scale-btn .check{z-index:1;color:#fff;opacity:0;transition:opacity .2s 50ms,transform .24s cubic-bezier(.2,1.4,.4,1) 50ms;position:relative;transform:scale(.4)}.scale-btn:hover{box-shadow:0 8px 18px color-mix(in srgb, var(--ring) 30%, transparent);transform:scale(1.07)}.scale-btn:active{transform:scale(.94)}.scale-btn.on{border-color:var(--ring)}.scale-btn.on:after,.scale-btn.on .check{opacity:1;transform:scale(1)}.scale-btn.s5,.scale-btn.s1{width:clamp(54px,15vw,64px);height:clamp(54px,15vw,64px)}.scale-btn.s4,.scale-btn.s2{width:clamp(45px,12.5vw,53px);height:clamp(45px,12.5vw,53px)}.scale-btn.s3{width:clamp(40px,11vw,46px);height:clamp(40px,11vw,46px)}.scale-btn.v5{--ring:var(--a-strong)}.scale-btn.v4{--ring:var(--a-mid)}.scale-btn.v3{--ring:var(--n)}.scale-btn.v2{--ring:var(--d-mid)}.scale-btn.v1{--ring:var(--d-strong)}.scale-labels{justify-content:space-between;margin-top:2px;padding:0 2px;display:flex}.scale-labels span{font-family:var(--font-display);font-size:13px;font-weight:700}.scale-labels .agree{color:var(--a-strong)}.scale-labels .disagree{color:var(--d-strong)}.scale-labels{margin-top:12px}.q-submit{border-top:1px solid var(--line);flex-direction:column;gap:12px;margin-top:30px;padding-top:22px;scroll-margin-top:110px;display:flex}.q-submit-note{text-align:center;color:var(--brand);font-size:12.5px;font-weight:700}.section{flex:1;gap:22px;padding:8px 22px 30px}.section-head h2{font-family:var(--font-display);font-size:clamp(24px,7vw,30px);font-weight:900;line-height:1.34}.section-head p{color:var(--ink-soft);margin-top:8px;font-size:14px;line-height:1.85}.block-label{font-family:var(--font-display);align-items:center;gap:8px;margin-bottom:12px;font-size:16px;font-weight:700;display:flex}.block-label .num{font-family:var(--font-latin);color:#fff;background:var(--ink);border-radius:7px;place-items:center;width:22px;height:22px;font-size:12px;font-weight:800;display:grid}.chip-wrap{flex-wrap:wrap;gap:9px;display:flex}.pick{background:var(--card);border:1.5px solid var(--line);color:var(--ink-soft);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:7px;padding:11px 15px;font-size:13.5px;font-weight:700;transition:all .16s;display:inline-flex}.pick:active{transform:scale(.96)}.pick.on{background:var(--ink);border-color:var(--ink);color:#fff}.pick.on:before{content:"✓";font-size:12px}.field-card{background:var(--card-2);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:18px;display:flex}.q-section .field-card{margin-top:14px}.field-row{flex-direction:column;gap:6px;display:flex}.field-row label{color:var(--ink-soft);font-size:12px;font-weight:700}.field-row input,.field-row select{border:1.5px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--ink);background:#fff;padding:13px 14px;transition:border-color .15s}.field-row input:focus,.field-row select:focus{border-color:var(--brand-2);outline:none}.commute-status{color:var(--ink-soft);background:var(--a-soft);border-radius:var(--radius-sm);padding:11px 13px;font-size:12.5px;line-height:1.6}.field-error{border-radius:var(--radius-sm);color:#a33b2c;background:#fff0eb;padding:10px 12px;font-size:12.5px;font-weight:700;line-height:1.6}.commute-status.idle{background:var(--n-soft);color:var(--ink-faint)}.auth-modal-backdrop{z-index:40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#14171f75;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.auth-modal-card{background:var(--card);border-radius:var(--radius);width:min(100%,440px);max-height:calc(100dvh - 40px);box-shadow:var(--shadow-lg);padding:22px;overflow:auto}.auth-modal-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.auth-modal-head h2{font-family:var(--font-display);margin-top:5px;font-size:22px;line-height:1.35}.auth-modal-close{width:34px;height:34px;color:var(--ink-soft);background:var(--card-2);border:1px solid var(--line);border-radius:50%;flex:0 0 34px;place-items:center;font-size:22px;line-height:1;display:grid}.auth-modal-close:disabled{opacity:.45}.auth-mode-note{color:var(--ink-soft);margin-top:12px;font-size:13.5px;line-height:1.75}.auth-modal-form{flex-direction:column;gap:13px;margin-top:18px;display:flex}.auth-email-summary{border-radius:var(--radius-sm);background:var(--n-soft);grid-template-columns:1fr auto;align-items:center;gap:6px 10px;padding:11px 12px;display:grid}.auth-email-summary span{color:var(--ink-faint);font-size:11.5px;font-weight:700}.auth-email-summary b{min-width:0;color:var(--ink);overflow-wrap:anywhere;font-size:13.5px}.auth-email-summary button{color:var(--brand);grid-row:span 2;font-size:12px;font-weight:800}.auth-modal-actions{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px;display:grid}.auth-modal-actions .cta{justify-content:center;width:100%;min-width:0}@media (max-width:430px){.auth-modal-actions{grid-template-columns:1fr}}.result{gap:0}.result-hero{background:var(--ink);color:#fff;padding:30px 24px 34px;position:relative;overflow:hidden}.result-hero:before{content:"";background:radial-gradient(80% 60% at 80% 0,#ff9a3d57,#0000 60%),radial-gradient(70% 60% at 0 100%,#7a5cf057,#0000 60%);position:absolute;inset:0}.result-hero>*{position:relative}.result-hero .eyebrow{color:var(--brand-2)}.result-hero h2{font-family:var(--font-display);margin:10px 0 6px;font-size:clamp(26px,7.5vw,34px);font-weight:900;line-height:1.32}.result-hero p{color:#ffffffc7;font-size:13.5px;line-height:1.85}.past-diagnosis-switcher{gap:7px;margin-top:18px;display:grid}.past-diagnosis-switcher span{color:#ffffffb3;letter-spacing:.08em;font-size:11px;font-weight:800}.past-diagnosis-switcher select{border-radius:var(--radius-sm);color:#fff;background:#ffffff1f;border:1px solid #ffffff47;width:100%;min-height:42px;padding:9px 12px;box-shadow:0 10px 24px #00000029}.past-diagnosis-switcher option{color:var(--ink)}.type-grid{grid-template-columns:repeat(2,1fr);gap:9px;margin-top:22px;display:grid}.type-tile{border-radius:var(--radius-sm);color:#fff;padding:14px 13px;animation:.5s cubic-bezier(.2,.9,.3,1.1) both tile-pop;box-shadow:0 10px 22px #00000038}@keyframes tile-pop{0%{opacity:0;transform:scale(.82)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.type-tile .tag{font-family:var(--font-display);letter-spacing:.01em;font-size:15px;font-weight:900}.type-tile .sub{opacity:.9;font-size:11px;font-family:var(--font-latin);margin-top:4px;font-weight:600}.type-tile .bar{background:#ffffff4d;border-radius:999px;height:5px;margin-top:9px;overflow:hidden}.type-tile .bar>i{background:#fff;border-radius:999px;height:100%;display:block}.result-list{padding:24px 18px 8px}.list-disclaimer{color:var(--ink-faint);background:var(--n-soft);border-radius:var(--radius-sm);margin-bottom:14px;padding:10px 13px;font-size:11.5px;line-height:1.7}.commute-toggle{background:var(--card);border:1.5px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;box-shadow:var(--shadow-sm);align-items:center;gap:11px;margin-bottom:16px;padding:13px 15px;transition:border-color .15s,background .15s;display:flex}.commute-toggle.on{border-color:var(--a-mid);background:var(--a-soft)}.commute-toggle input{opacity:0;pointer-events:none;position:absolute}.commute-toggle .box{border:2px solid var(--line);color:#fff;background:#fff;border-radius:8px;flex-shrink:0;place-items:center;width:24px;height:24px;transition:all .16s;display:grid}.commute-toggle .box svg{opacity:0;transition:all .16s;transform:scale(.5)}.commute-toggle.on .box{background:var(--a-strong);border-color:var(--a-strong)}.commute-toggle.on .box svg{opacity:1;transform:scale(1)}.commute-toggle .txt{font-family:var(--font-display);color:var(--ink);font-size:13.5px;font-weight:700;line-height:1.4}.commute-toggle .txt small{font-family:var(--font-body);color:var(--ink-faint);margin-top:2px;font-size:11.5px;font-weight:500;display:block}.result-filters{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);box-shadow:var(--shadow-sm);gap:11px;margin-bottom:16px;padding:13px;display:grid}.result-filter-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.result-filter-head span{color:var(--ink);font-family:var(--font-display);font-size:13px;font-weight:800}.result-filter-head small{color:var(--ink-faint);font-size:11.5px;font-weight:700}.result-filter-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.result-filter-check{border:1px solid var(--line);border-radius:var(--radius-sm);min-width:0;min-height:38px;color:var(--ink-soft);background:var(--card-2);cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:8px 9px;font-size:12.5px;font-weight:800;line-height:1.2;transition:background .15s,border-color .15s,color .15s;display:flex}.result-filter-check input{width:16px;height:16px;accent-color:var(--a-strong);flex:none}.result-filter-check.on{color:var(--ink);border-color:var(--a-mid);background:var(--a-soft)}@media (max-width:540px){.result-filter-options{grid-template-columns:repeat(2,minmax(0,1fr))}}.result-list-head{justify-content:space-between;align-items:baseline;margin-bottom:16px;padding:0 4px;display:flex}.result-list-head h3{font-family:var(--font-display);font-size:20px;font-weight:900}.result-list-head span{color:var(--ink-faint);font-size:12px}.school-card-list{display:block}.result-insufficient{border-top:1px solid var(--line);margin-top:32px;padding-top:24px}.insufficient-school-list{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);margin:0;padding:0;list-style:none}.insufficient-school-list li{justify-content:space-between;align-items:baseline;gap:12px;padding:12px 16px;display:flex}.insufficient-school-list li+li{border-top:1px solid var(--line)}.insufficient-school-name{font-size:14px;font-weight:700}.insufficient-school-note{color:var(--ink-faint);flex:none;font-size:12px}.insufficient-more{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--ink-soft);cursor:pointer;background:0 0;margin-top:12px;padding:10px;font-size:13px;font-weight:700}.result-empty{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink-soft);background:var(--card);text-align:center;margin:0 0 12px;padding:18px;font-size:13px;font-weight:700;line-height:1.7}.school-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:12px;padding:18px;animation:.4s both q-in}.school-top{align-items:flex-start;gap:13px;display:flex}.rank-badge{background:var(--brand-grad);color:#fff;width:44px;height:44px;font-family:var(--font-latin);border-radius:13px;flex-shrink:0;place-items:center;font-size:18px;font-weight:800;display:grid;box-shadow:0 8px 16px #ff7a4d4d}.school-card:nth-child(n+4) .rank-badge{background:var(--ink);box-shadow:none}.school-title{flex:1;min-width:0}.school-title h4{font-family:var(--font-display);margin:0;font-size:18px;font-weight:700;line-height:1.35}.school-title .addr{color:var(--ink-faint);margin-top:3px;font-size:12px}.fit-ring{background:var(--n-soft);border-radius:999px;flex-shrink:0;align-self:flex-start;align-items:center;padding:4px 11px;display:inline-flex}.fit-ring.strong{background:#dcebe2}.fit-ring.strong .fit-label{color:#0d7a5a}.fit-ring.good{background:#e8f1ec}.fit-ring.good .fit-label{color:#41806a}.fit-ring.candidate{background:#f1e7d3}.fit-ring.candidate .fit-label{color:#947736}.fit-ring.review{background:#ebe7df}.fit-ring.review .fit-label{color:#6e685d}.fit-ring .fit-label{font-family:var(--font-display);letter-spacing:.01em;white-space:nowrap;color:var(--ink);font-size:11px;font-weight:700;line-height:1.4}.school-character{flex-wrap:wrap;align-items:center;gap:6px;margin-top:13px;display:flex}.school-character .cap{color:var(--ink-faint);letter-spacing:.06em;font-size:10.5px;font-weight:700}.school-character .chartag{color:#2b6aa8;background:#eaf3fb;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:700;line-height:1.4}.commute-pill{color:var(--a-strong);background:var(--a-soft);border-radius:999px;align-items:center;gap:5px;margin-top:11px;padding:5px 11px;font-size:12px;font-weight:700;display:inline-flex}.tag-row{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.tag-row span{color:var(--ink-soft);background:var(--n-soft);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700}.reason-block{border-radius:var(--radius-sm);margin-top:15px;padding:13px 14px}.reason-block.fit{background:var(--a-soft)}.reason-block.check{background:#fdf3e6}.reason-head{font-family:var(--font-display);align-items:center;gap:7px;margin-bottom:9px;font-size:13.5px;font-weight:700;display:flex}.reason-block.fit .reason-head{color:#0c7d59}.reason-block.check .reason-head{color:#b9711b}.reason-head .ic{color:#fff;border-radius:50%;place-items:center;width:19px;height:19px;font-size:12px;display:grid}.reason-block.fit .reason-head .ic{background:var(--a-strong)}.reason-block.check .reason-head .ic{background:#e0962f}.reason-empty{color:var(--ink-faint);background:var(--n-soft);border-radius:var(--radius-sm);margin-top:15px;padding:12px 14px;font-size:12.5px;line-height:1.7}.reasons{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.reasons li{color:var(--ink);padding-left:18px;font-size:12.5px;line-height:1.65;position:relative}.reasons li:before{content:"";opacity:.5;background:currentColor;border-radius:50%;width:6px;height:6px;position:absolute;top:8px;left:2px}.result-actions{flex-direction:column;gap:10px;padding:18px 22px 34px;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.result-hero .fp-lead{font-size:14px;line-height:1.8}.result-hero{text-align:center}.fp-emblem{border-radius:50%;width:128px;height:128px;margin:2px auto 14px;display:block;box-shadow:0 14px 32px #0000004d}.result-hero .fp-typename{margin:6px 0;font-size:clamp(28px,8.5vw,38px);line-height:1.25}.result-hero .fp-typedesc{color:#ffffffdb;margin:0 0 12px;font-size:13.5px;font-weight:700;line-height:1.6}.fp-body{padding:20px 24px 4px}.fp-axes{background:color-mix(in srgb, var(--bg) 86%, #fff);border:1px solid color-mix(in srgb, var(--ink-faint) 18%, transparent);border-radius:16px;margin:0 0 20px;padding:16px 16px 18px}.fp-axes-title{font-family:var(--font-display);color:var(--ink);align-items:center;gap:7px;margin:0 0 16px;font-size:14px;font-weight:900;display:flex}.fp-axes-title svg{color:var(--brand);flex-shrink:0}.fp-axis{margin-top:17px;animation:.45s both q-in}.fp-axis:first-of-type{margin-top:0}.fp-axis:nth-of-type(2){animation-delay:60ms}.fp-axis:nth-of-type(3){animation-delay:.12s}.fp-axis:nth-of-type(4){animation-delay:.18s}.fp-axis-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:9px;display:flex}.fp-axis-name{font-family:var(--font-display);color:var(--ink-soft);font-size:12.5px;font-weight:700}.fp-axis-read{font-family:var(--font-display);color:var(--axis);font-size:13px;font-weight:800}.fp-axis-read.muted{color:var(--ink-faint)}.fp-axis-bar{align-items:center;gap:8px;display:flex}.fp-axis-pole{text-align:center;white-space:nowrap;width:46px;color:var(--ink-faint);flex-direction:column;flex:none;align-items:center;gap:1px;font-size:10px;font-weight:700;line-height:1.25;transition:color .2s;display:flex}.fp-axis-pole b{font-family:var(--font-latin);letter-spacing:.02em;font-size:13.5px;font-weight:800}.fp-axis-pole.on{color:var(--axis)}.fp-axis-track{background:var(--n-soft);border-radius:999px;flex:1;height:8px;position:relative}.fp-axis-track:before{content:"";background:color-mix(in srgb, var(--ink-faint) 36%, transparent);border-radius:2px;width:1.5px;position:absolute;top:-4px;bottom:-4px;left:50%;transform:translate(-50%)}.fp-axis-fill{background:var(--axis);opacity:.9;border-radius:999px;animation:.5s both fp-fill-in;position:absolute;top:0;bottom:0}@keyframes fp-fill-in{0%{opacity:0}to{opacity:.9}}.fp-axis-dot{background:var(--axis);width:17px;height:17px;box-shadow:0 3px 9px color-mix(in srgb, var(--axis) 48%, transparent);border:2.5px solid #fff;border-radius:50%;animation:.62s cubic-bezier(.2,.8,.2,1) both fp-axis-slide;position:absolute;top:50%;transform:translate(-50%,-50%)}@keyframes fp-axis-slide{0%{left:50%}to{left:var(--pos)}}.school-spectrum{background:color-mix(in srgb, var(--bg) 90%, #fff);border:1px solid color-mix(in srgb, var(--ink-faint) 16%, transparent);border-radius:13px;margin-top:14px;padding:13px 14px 15px}.ss-title{font-family:var(--font-display);color:var(--ink-soft);align-items:center;gap:6px;margin:0 0 16px;font-size:12px;font-weight:800;display:flex}.ss-title svg{color:var(--brand);flex-shrink:0}.ss-legend{color:var(--ink-faint);align-items:center;gap:11px;margin-left:auto;font-size:10.5px;font-weight:700;display:inline-flex}.ss-legend-item{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.ss-fam-key{border-left:4.5px solid #0000;border-right:4.5px solid #0000;border-top:6px solid var(--ink);width:0;height:0}.ss-school-key{background:var(--ink-soft);width:9px;height:9px;box-shadow:0 0 0 1px color-mix(in srgb, var(--ink-faint) 40%, transparent);border:1.5px solid #fff;border-radius:50%}.ss-fam-pin{border-left:5px solid #0000;border-right:5px solid #0000;border-top:7px solid var(--ink);width:0;height:0;filter:drop-shadow(0 1px 1px color-mix(in srgb, var(--ink) 35%, transparent));z-index:2;position:absolute;top:-9px;transform:translate(-50%)}.fp-axis.unknown .fp-axis-track{background:repeating-linear-gradient(-45deg, var(--n-soft), var(--n-soft) 4px, transparent 4px, transparent 8px);opacity:.7}.fp-axis.unknown .fp-axis-track:before{opacity:.4}.fp-tags{gap:12px;display:grid}.fp-tag{text-align:left;background:color-mix(in srgb, var(--bg) 90%, #fff);border:1px solid color-mix(in srgb, var(--ink-faint) 22%, transparent);border-radius:14px;padding:14px 16px}.fp-tag-head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.fp-chip{font-family:var(--font-display);color:#fff;background:var(--brand-grad);border-radius:999px;padding:4px 12px;font-size:14px;font-weight:800;box-shadow:0 6px 14px #ff7a4d52}.fp-strength{color:var(--ink-soft);font-size:12px;font-weight:700}.fp-summary{color:var(--ink);margin:0 0 10px;font-size:14px;line-height:1.75}.fp-pc{color:var(--ink-soft);gap:4px;font-size:12.5px;line-height:1.65;display:grid}.fp-pc .ok:before{content:"◎ ";color:#2bb673;font-weight:800}.fp-pc .check:before{content:"！ ";color:var(--brand);font-weight:800}.fp-tension{text-align:left;background:color-mix(in srgb, var(--brand) 8%, var(--bg));border:1px solid color-mix(in srgb, var(--brand) 22%, transparent);border-radius:14px;margin-top:14px;padding:14px 16px}.fp-tension-title{color:var(--ink);margin:0 0 6px;font-size:14px;font-weight:800}.fp-tension p:last-child{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.75}.fp-evidence{text-align:left;margin-top:14px}.fp-evidence-title{color:var(--ink);margin:0 0 6px;font-size:13px;font-weight:800}.fp-evidence ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.fp-evidence li{color:var(--ink-soft);padding-left:14px;font-size:12.5px;line-height:1.6;position:relative}.fp-evidence li:before{content:"・";color:var(--ink-faint);position:absolute;left:0}.fp-review{cursor:pointer;color:var(--ink-soft);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--ink-faint) 50%, transparent);text-decoration-color:color-mix(in srgb, var(--ink-faint) 50%, transparent);background:0 0;border:none;margin-top:16px;padding:0;font-size:13px}.fp-paywall{text-align:center;background:color-mix(in srgb, var(--brand) 7%, var(--bg));border:1px solid color-mix(in srgb, var(--brand) 24%, transparent);border-radius:16px;margin-top:18px;padding:18px 16px}.fp-paywall-title{font-family:var(--font-display);color:var(--ink);margin:0 0 6px;font-size:15px;font-weight:900}.fp-paywall-body{color:var(--ink-soft);margin:0 0 14px;font-size:13px;line-height:1.75}.fp-paywall .cta{width:100%}.fp-paywall-note{color:var(--ink-soft);margin:10px 0 0;font-size:12.5px}.fp-deep{text-align:left;background:color-mix(in srgb, var(--bg) 88%, #fff);border:1px solid color-mix(in srgb, var(--ink-faint) 22%, transparent);border-radius:16px;margin-top:18px;padding:16px}.fp-deep-title{font-family:var(--font-display);color:var(--ink);margin:0 0 12px;font-size:14px;font-weight:900}.fp-deep-tag{border-top:1px solid color-mix(in srgb, var(--ink-faint) 16%, transparent);padding:10px 0}.fp-deep-tag:first-of-type{border-top:none;padding-top:0}.fp-deep-name{color:var(--brand);margin:0 0 6px;font-size:13px;font-weight:800}.fp-deep-tag ul{gap:5px;margin:0 0 6px;padding:0;list-style:none;display:grid}.fp-deep-tag li{color:var(--ink-soft);padding-left:14px;font-size:12.5px;line-height:1.6;position:relative}.fp-deep-tag li:before{content:"・";color:var(--ink-faint);position:absolute;left:0}.fp-deep-empty,.fp-deep-caution{color:var(--ink-soft);margin:0;font-size:12.5px;line-height:1.6}.result-next{gap:16px;margin-top:22px;display:grid}.next-step{text-align:center;padding:4px 18px 2px}.ns-divider{align-items:center;gap:11px;margin:2px 0 18px;display:flex}.ns-divider-line{background:linear-gradient(90deg, transparent, var(--line) 45%, var(--line));flex:1;height:1px}.ns-divider-line:last-child{background:linear-gradient(90deg, var(--line), var(--line) 55%, transparent)}.ns-divider-pin{background:color-mix(in srgb, var(--brand) 11%, var(--bg));color:var(--brand);font-family:var(--font-display);letter-spacing:.03em;white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;font-size:11.5px;font-weight:800;display:inline-flex}.ns-divider-pin svg{flex-shrink:0;animation:2.6s ease-in-out infinite ns-twinkle}@keyframes ns-twinkle{0%,to{opacity:1;transform:scale(1)rotate(0)}50%{opacity:.55;transform:scale(.8)rotate(45deg)}}.ns-title{font-family:var(--font-display);letter-spacing:.01em;color:var(--ink);text-wrap:balance;font-size:clamp(20px,5.4vw,25px);font-weight:900;line-height:1.7}.ns-worry{white-space:nowrap;color:var(--ink-soft);-webkit-text-decoration:underline wavy color-mix(in srgb, var(--brand) 56%, var(--n));text-decoration:underline wavy color-mix(in srgb, var(--brand) 56%, var(--n));text-underline-offset:5px;text-decoration-thickness:2px}.ns-emph{white-space:nowrap;background:linear-gradient(#0000 58%,#ffb53d80 58%);padding:0 1px}.ns-lead{max-width:30em;color:var(--ink-soft);text-wrap:pretty;margin:12px auto 20px;font-size:13.5px;line-height:1.95}.ns-cards{gap:13px;display:grid}.ns-card{text-align:left;background:radial-gradient(125% 85% at 100% 0%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 58%), #fff;border:1px solid color-mix(in srgb, var(--accent) 26%, var(--line));box-shadow:var(--shadow-sm);border-radius:20px;gap:14px;padding:17px 17px 16px;text-decoration:none;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s,border-color .2s;animation:.55s cubic-bezier(.2,.8,.2,1) both ns-rise;display:flex;position:relative;overflow:hidden}.ns-card:before{content:"";background:var(--accent-grad);width:3px;position:absolute;top:0;bottom:0;left:0}.ns-card.juku{--accent:#7a5cf0;--accent-grad:linear-gradient(135deg, #8f74f4, #6c4ae8)}.ns-card.magitaku{--accent:#ff7a4d;--accent-grad:var(--brand-grad);animation-delay:90ms}.ns-card:hover{box-shadow:0 18px 36px color-mix(in srgb, var(--accent) 22%, transparent);border-color:color-mix(in srgb, var(--accent) 48%, var(--line));transform:translateY(-3px)}.ns-card:active{transform:translateY(-1px)scale(.995)}@keyframes ns-rise{0%{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}.ns-card-emblem{color:#fff;background:var(--accent-grad);width:50px;height:50px;box-shadow:0 9px 18px color-mix(in srgb, var(--accent) 36%, transparent);border-radius:15px;flex:none;place-items:center;transition:transform .22s cubic-bezier(.2,.9,.3,1.2);display:grid}.ns-card:hover .ns-card-emblem{transform:scale(1.07)rotate(-4deg)}.ns-card-body{flex-direction:column;flex:1;min-width:0;display:flex}.ns-card-kicker{letter-spacing:.02em;color:var(--accent);font-size:11px;font-weight:800}.ns-card-name{font-family:var(--font-display);color:var(--ink);margin-top:3px;font-size:17px;font-weight:900;line-height:1.25}.ns-card-desc{color:var(--ink-soft);margin-top:5px;font-size:12.5px;line-height:1.7}.ns-card-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 10px;margin-top:11px;display:flex}.ns-card-tag{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, #fff);border:1px solid color-mix(in srgb, var(--accent) 24%, transparent);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800}.ns-card-cta{font-family:var(--font-display);color:var(--ink);white-space:nowrap;align-items:center;gap:5px;font-size:13px;font-weight:800;display:inline-flex}.ns-card-cta svg{transition:transform .18s}.ns-card:hover .ns-card-cta svg{transform:translate(3px)}.ns-note{color:var(--ink-faint);align-items:center;gap:6px;margin:16px auto 0;padding:0 6px;font-size:12px;font-weight:700;line-height:1.6;display:inline-flex}.ns-note svg{color:var(--a-strong);opacity:.85;flex-shrink:0}.fp-share-msg{width:100%;color:var(--ink-soft);text-align:center;margin:4px 0 0;font-size:12.5px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.apply-notice{flex-direction:column;gap:1.25rem;max-width:34rem;margin:0 auto;padding:4rem 1.5rem;display:flex}.apply-notice h1{margin:0;font-size:1.5rem;line-height:1.4}.apply-notice p{margin:0;line-height:1.9}@media (min-width:640px){.apply-notice{padding:6rem 2rem}}body>.screen{width:min(var(--app-w), 100%);min-height:100dvh;margin:0 auto}@media (min-width:540px){body>.screen{min-height:auto;box-shadow:var(--shadow-lg);background:var(--card);border:1px solid var(--line-soft);border-radius:34px;margin:26px auto 40px;overflow:clip}}body>.screen>p:only-child{color:var(--ink-soft);margin:auto;padding:24px 0}body>.screen:not(.quiz-list):not(.result-screen):not(.history){gap:18px;padding:26px 20px 40px}.result-screen{gap:28px;padding:26px 20px 44px}.result-screen h2{font-family:var(--font-display);font-size:clamp(20px,5.6vw,24px);font-weight:900;line-height:1.45}.reading,.result-all-schools,.result-compare{flex-direction:column;gap:14px;display:flex}.reading-card{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:18px;display:flex}.reading-card h3{font-family:var(--font-display);font-size:17px;font-weight:700;line-height:1.5}.reading-card>p{color:var(--ink-soft);font-size:14px;line-height:1.85}.reading-card.caution{background:#fffaf3;border-color:#f3ddc9}.quote{border-left:3px solid var(--brand-2);background:var(--card-2);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:2px 0 0;padding:10px 14px}.quote p{color:var(--ink-soft);font-size:13px;line-height:1.7}.quote cite{font-style:normal;font-family:var(--font-display);color:var(--brand);margin-top:4px;font-size:12.5px;font-weight:700;display:block}.quote cite:before{content:"→ "}.synthesis{font-family:var(--font-display);border-radius:var(--radius);background:linear-gradient(120deg,#ff7a4d1a,#ffc24b24);border:1px solid #ff7a4d38;padding:16px 18px;font-size:16px;font-weight:700;line-height:1.8}.coverage{color:var(--ink-faint);font-size:12px}.result-screen .result-list{flex-direction:column;gap:12px;padding:0;display:flex}.result-card{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:18px;display:flex}.result-card.locked{background:var(--card-2);border-style:dashed;border-color:var(--line)}.result-card-head{align-items:center;gap:10px;display:flex}.result-card-head .q-num{background:var(--ink);color:#fff;letter-spacing:0;border-radius:9px;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:13px;display:grid}.result-card-head h3{font-family:var(--font-display);flex:1;min-width:0;font-size:17px;font-weight:700;line-height:1.4}.fit-label{color:#0c7d59;background:var(--a-soft);border-radius:999px;flex-shrink:0;margin-left:auto;padding:5px 10px;font-size:11.5px;font-weight:800}.lock{color:var(--ink-soft);background:var(--n-soft);border-radius:999px;flex-shrink:0;align-items:center;gap:6px;margin-left:auto;padding:6px 12px;font-size:12px;font-weight:800;display:inline-flex}.masked-name{min-width:0;font-family:var(--font-display);color:var(--ink-soft);filter:blur(6px);-webkit-user-select:none;user-select:none;pointer-events:none;white-space:nowrap;flex:1;font-size:16px;font-weight:700;overflow:hidden}.result-screen .result-list>.help{margin-top:8px;padding:0 6px;line-height:1.8}.lock:before{content:"🔒";font-size:12px}.result-card .reason{color:var(--ink-soft);font-size:14px;line-height:1.85}.materials{flex-direction:column;gap:6px;display:flex}.result-card .materials{border-top:1px dashed var(--line);padding-top:12px}.materials-title{color:var(--brand);letter-spacing:.02em;font-size:12px;font-weight:800}.materials ul{flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.materials li{color:var(--ink-soft);font-size:13.5px;line-height:1.7}.all-school-list{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius);margin:0;padding:0;list-style:none;overflow:hidden}.all-school-list li{align-items:center;gap:8px;padding:12px 16px;font-size:13.5px;display:flex}.all-school-list li+li{border-top:1px solid var(--line-soft)}.all-school-list .name{flex:1;min-width:0;font-weight:700}.all-school-list .label{color:var(--ink-soft);background:var(--n-soft);border-radius:999px;flex-shrink:0;padding:4px 9px;font-size:11.5px;font-weight:700}.all-school-list .religion{color:#6244c7;background:var(--d-soft);border-radius:999px;flex-shrink:0;padding:4px 8px;font-size:11px;font-weight:700}.compare-child,.compare-policy{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:18px;display:flex}.compare-child h3,.compare-policy h3{font-family:var(--font-display);font-size:16px;font-weight:700}.compare-list{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.compare-list li{flex-direction:column;gap:8px;display:flex}.compare-list .statement,.compare-axis .statement{font-size:15px;line-height:1.6}.compare-list .pick{align-self:flex-start}.compare-axis{flex-direction:column;gap:8px;display:flex}.spectrum{background:linear-gradient(90deg, var(--d-soft), var(--n-soft), var(--a-soft));border-radius:999px;height:10px;margin:10px 8px 6px;position:relative}.spectrum .dot{width:16px;height:16px;box-shadow:var(--shadow-sm);border:2.5px solid #fff;border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.spectrum .dot.you{background:var(--brand)}.spectrum .dot.partner{background:var(--d-strong)}.compare-counterpart summary{font-family:var(--font-display);color:var(--ink-soft);cursor:pointer;padding:12px 0;font-weight:700}.compare-counterpart[open] summary{color:var(--ink)}.invite-url{background:var(--n-soft);border-radius:var(--radius-sm);word-break:break-all;-webkit-user-select:all;user-select:all;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.field-card .ghost:not(.cta){background:var(--card);border:1.5px solid var(--line);color:var(--ink-soft);box-shadow:var(--shadow-sm);border-radius:999px;padding:12px 18px;font-weight:700}.result-footnote{color:var(--ink-faint);text-align:center;padding-top:8px;font-size:12px}.policy-note{text-align:center;color:var(--ink-faint);font-size:12.5px;line-height:1.7}.policy-note a{color:var(--ink-soft);text-underline-offset:3px;font-weight:700}.consent-check{border-radius:var(--radius-sm);background:var(--card);border:1.5px solid var(--line);cursor:pointer;align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;line-height:1.7;display:flex}.consent-check input{width:20px;height:20px;accent-color:var(--brand);flex-shrink:0;margin:2px 0 0}.screen.history{gap:18px;padding:26px 20px 40px}.screen.history h1{font-family:var(--font-display);font-size:clamp(22px,6vw,26px);font-weight:900;line-height:1.4}.screen.history>p{color:var(--ink-soft);line-height:1.85}.history-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.history-list a{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm);color:var(--ink);flex-wrap:wrap;align-items:center;gap:8px;padding:16px;text-decoration:none;display:flex}.history-list a:active{transform:scale(.99)}.history-date{flex:1;font-size:14px;font-weight:700}.history-gender,.history-tier,.history-role{border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700}.history-gender{color:var(--ink-soft);background:var(--n-soft)}.history-tier{color:#0c7d59;background:var(--a-soft)}.history-role{color:#6244c7;background:var(--d-soft)}
