:root{--purple:#7d21ff;--purple-dark:#6313d3;--purple-soft:#f5efff;--cream:#fffaf0;--ink:#201b29;--muted:#625c6b;--line:#e8e2ed;--white:#fff;--error:#a32138;--radius:20px;color-scheme:light;font-family:"Apple SD Gothic Neo","Malgun Gothic",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--cream);font-size:15px;line-height:1.65;-webkit-text-size-adjust:100%}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}a{color:var(--purple-dark);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--purple);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.035em;line-height:1.4}h2{font-size:24px;font-weight:750}h3{font-size:19px;font-weight:750}[hidden]{display:none!important}.page-shell{max-width:980px;margin:0 auto;padding:0 28px}.skip-link{position:fixed;left:20px;top:-100px;background:var(--ink);color:#fff;padding:12px 18px;border-radius:8px;z-index:10}.skip-link:focus{top:12px}.site-header{display:flex;justify-content:space-between;align-items:center;padding:28px 0 24px;border-bottom:1px solid #ece5d9;gap:16px}.brand{display:flex;gap:10px;align-items:center;color:var(--ink);font-weight:850;font-size:25px;letter-spacing:-.06em;line-height:1.2}.brand:hover{text-decoration:none}.brand-flower{width:42px;height:42px;flex-shrink:0}.brand-sub{display:block;font-size:10px;font-weight:500;letter-spacing:0;color:var(--muted);margin-top:5px}.header-link{font-size:13px;font-weight:650;white-space:nowrap}.header-link span{margin-left:7px}.hero{padding:49px 0 34px}.eyebrow,.section-kicker{color:var(--purple-dark);font-size:12px;font-weight:750;letter-spacing:.025em;margin-bottom:10px}.hero h1{font-size:42px;letter-spacing:-.05em;font-weight:850;line-height:1.28}.hero-description{font-size:17px;color:var(--muted);margin-top:17px;line-height:1.7}.mobile-break{display:none}.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.hero-tags span{font-size:12px;padding:5px 11px;background:var(--white);border:1px solid #e9e0cf;border-radius:100px;color:#4c4356}.calculator-card{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--purple);border-radius:var(--radius);padding:30px}.card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.card-heading .section-kicker{margin-bottom:5px}.private-badge{font-size:11px;color:var(--purple-dark);background:var(--purple-soft);border-radius:6px;padding:5px 8px;white-space:nowrap;margin-top:2px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:27px}.field label{font-size:14px;font-weight:750;display:block}.required{font-size:10px;color:var(--purple-dark);margin-left:6px;font-weight:600}.field-label-row{display:flex;align-items:center;justify-content:space-between;min-height:24px}.field>label{min-height:24px}.field input{width:100%;min-width:0;height:54px;border:1px solid #d8d0df;border-radius:10px;background:#fff;color:var(--ink);padding:11px 14px;margin-top:9px;font-variant-numeric:tabular-nums;letter-spacing:.015em;font-size:17px;appearance:auto}.field input:focus{border-color:var(--purple)}.field input[aria-invalid="true"]{border-color:var(--error)}.field-help{font-size:12px;color:var(--muted);margin-top:8px}.text-button{border:0;background:none;color:var(--purple-dark);font-size:12px;font-weight:650;padding:3px 0;text-decoration:underline;text-underline-offset:3px}.form-actions{display:flex;align-items:center;gap:22px;margin-top:23px}.button{display:inline-flex;justify-content:center;align-items:center;gap:14px;min-height:48px;padding:11px 20px;border-radius:10px;font-size:14px;font-weight:750;border:1px solid transparent;line-height:1.5;text-align:center}.button:hover{text-decoration:none}.button-primary{background:var(--purple);color:var(--white)}.button-primary:hover{background:var(--purple-dark)}#calculate{flex:1;max-width:430px;font-size:15px;min-height:52px;justify-content:space-between}.clear-button{color:var(--muted);font-size:12px;background:none;border:0;padding:10px 0;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}.privacy-note{margin-top:18px;font-size:12px;color:var(--muted)}.form-error{background:#fff3f5;border:1px solid #f1cdd4;color:var(--error);border-radius:8px;padding:10px 13px;margin-top:18px;font-size:13px}.result-placeholder{display:flex;align-items:center;gap:12px;padding:23px 12px 34px;font-size:13px;color:var(--muted)}.placeholder-line{width:3px;height:27px;border-radius:4px;background:#cfb8ef;flex-shrink:0}.result-placeholder strong{font-weight:650;color:#4c4356}.results{padding:36px 0 8px}.result-heading,.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:17px}.result-heading h2{outline:none}.result-heading .section-kicker{margin-bottom:3px}.age-card{display:flex;align-items:center;justify-content:space-between;gap:22px;background:var(--purple-soft);border:1px solid #e5d3ff;border-radius:var(--radius);padding:24px 28px}.age-label{font-size:13px;color:var(--purple-dark);font-weight:650}.age-value{font-size:31px;font-weight:850;letter-spacing:-.04em;line-height:1.45;margin-top:4px}.age-total{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:2px}.age-today{display:flex;flex-direction:column;gap:3px;text-align:right;font-size:12px;color:var(--muted)}.age-today strong{font-size:16px;color:var(--ink);font-weight:700}.age-today span:last-child{font-size:11px}.result-caution{font-size:12px;color:var(--muted);padding:13px 3px 0;line-height:1.8}.current-section{margin-top:27px}.section-description{font-size:13px;color:var(--muted);margin-top:6px;margin-bottom:15px}.active-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.active-grid:has(>.exam-card:only-child){grid-template-columns:1fr}.exam-card{background:var(--white);border:1px solid #d5b7ff;border-radius:16px;padding:22px}.exam-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.exam-card h4{font-size:20px;line-height:1.5;letter-spacing:-.025em;margin:0}.exam-age{font-size:13px;color:var(--muted);margin-top:3px}.status{display:inline-block;font-size:11px;line-height:1.5;font-weight:650;padding:4px 9px;border-radius:100px;white-space:nowrap}.status-active{color:var(--purple-dark);background:var(--purple-soft)}.status-future{background:#f5f3f7;color:#514957}.status-past{background:#f3f2f1;color:#696369}.exam-period{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;margin:15px 0 13px;padding-bottom:13px;border-bottom:1px solid var(--line);line-height:1.7}.exam-facts{margin:0;display:grid;gap:8px}.exam-facts div{display:grid;grid-template-columns:55px 1fr;gap:7px;font-size:12px}.exam-facts dt{font-weight:700;color:#4d425d}.exam-facts dd{margin:0;color:var(--muted);overflow-wrap:anywhere}.pdf-button{width:100%;margin-top:20px;background:var(--purple-soft);color:var(--purple-dark);border-color:#dfcafa;font-size:13px}.pdf-button:hover{background:#ece0ff}.pdf-unavailable{font-size:12px;color:var(--muted);margin-top:14px}.next-section{margin-top:26px}.next-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.next-card{padding:17px 19px;background:var(--white);border:1px solid var(--line);border-radius:12px}.next-card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.next-card h4{font-size:14px;margin:0}.next-card .exam-age{font-size:11px;margin-top:2px}.next-period{font-size:13px;line-height:1.6;margin-top:9px;font-variant-numeric:tabular-nums;color:#4d425d}.next-countdown{display:inline-block;font-size:11px;color:var(--purple-dark);font-weight:650}.all-schedules{margin-top:31px}.section-heading{margin-bottom:5px}.section-heading>span{font-size:11px;color:var(--muted)}.schedule-note{font-size:12px;color:var(--muted);margin-bottom:14px}.schedule-details{border:1px solid var(--line);background:var(--white);border-radius:12px;margin-top:10px;overflow:hidden}.schedule-details summary{padding:17px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;list-style:none;font-size:15px;font-weight:750}.schedule-details summary::-webkit-details-marker{display:none}.count{display:inline-block;margin-left:6px;font-size:11px;background:#f5f1f8;padding:2px 8px;border-radius:100px;font-weight:650;color:var(--muted)}.details-hint{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:500;color:var(--muted)}.chevron{display:block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-3px}.schedule-details[open] .chevron{transform:rotate(225deg);margin-top:4px}.schedule-list{padding:0 20px}.schedule-row{border-top:1px solid var(--line);padding:20px 0}.schedule-row.is-active{background:#faf6ff;margin:0 -20px;padding:20px;border-top-color:#eadbff}.schedule-row .exam-card-heading h4{font-size:16px}.schedule-row .exam-age{font-size:12px}.schedule-row .exam-period{padding:0;border:0;font-size:13px;margin:10px 0}.schedule-row .inline-link{margin-top:12px;font-size:12px}.official-help{margin-top:28px;border-top:1px solid #e8dfd1;padding-top:31px}.official-help>.section-kicker{margin-bottom:5px}.official-help h2{font-size:23px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:21px}.help-grid h3{font-size:15px;margin-bottom:9px}.help-grid p{font-size:13px;color:var(--muted);line-height:1.85}.help-grid strong{color:var(--ink);font-weight:650}.help-grid .small-note{font-size:12px;margin-top:9px}.inline-link{display:inline-flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:13px;font-weight:650;margin-top:12px;line-height:1.7}.login-label{font-size:10px;line-height:1.5;padding:2px 6px;border-radius:4px;color:#62506c;background:#eee8f4;font-weight:500;white-space:nowrap}.official-source[aria-disabled="true"]{color:var(--muted);pointer-events:none}.target-check{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:19px 0;margin-top:19px;border-top:1px solid #e8dfd1}.target-check p{font-size:12px;color:var(--muted);line-height:1.85}.target-check strong{font-weight:650;color:var(--ink)}.button-outline{border-color:#d3c0e7;background:transparent;color:var(--purple-dark);font-size:12px;padding:10px 13px;gap:7px;min-height:44px;flex-shrink:0}.button-outline:hover{background:var(--purple-soft)}.cafe-card{display:flex;justify-content:space-between;align-items:center;gap:25px;border:1px solid #decaef;background:#f5effb;border-radius:var(--radius);padding:26px 28px;margin-top:17px}.member-badge{font-size:11px;color:var(--purple-dark);font-weight:700}.cafe-card h2{font-size:24px;margin-top:8px}.cafe-card p{font-size:13px;color:var(--muted);margin-top:9px;line-height:1.85}.cafe-card .cafe-condition{font-size:11px;margin-top:11px;color:#564362}.cafe-button{font-size:12px;flex-shrink:0;padding:12px 17px}.medical-note{font-size:11px;color:var(--muted);line-height:1.85;padding:19px 2px 27px}.site-footer{border-top:1px solid #e8dfd1;padding:24px 0 29px;font-size:11px;color:var(--muted)}.footer-top{display:flex;align-items:center;gap:13px;margin-bottom:13px}.footer-brand{color:#403649;font-weight:800;font-size:16px;letter-spacing:-.04em}.source-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:9px;font-size:11px}.footer-disclaimer{margin-top:11px;font-size:10px}#verified-note{font-variant-numeric:tabular-nums}
@media(min-width:1000px){.page-shell{padding:0 36px}.hero{padding-top:56px}}
@media(max-width:700px){.page-shell{padding:0 20px}.site-header{padding:22px 0 19px}.brand{font-size:23px}.brand-flower{width:36px;height:36px}.brand-sub{font-size:9px}.header-link{font-size:11px}.hero{padding:33px 0 25px}.hero h1{font-size:34px}.hero-description{font-size:15px;margin-top:14px}.hero-tags{margin-top:17px;gap:6px}.hero-tags span{font-size:10px;padding:4px 9px}.mobile-break{display:block}.calculator-card{padding:23px 20px;border-radius:17px}.card-heading{display:block}.card-heading h2{font-size:22px}.private-badge{display:inline-block;margin-top:12px}.form-grid{grid-template-columns:1fr;gap:20px;margin-top:22px}.field input{font-size:16px;height:53px}.form-actions{flex-direction:column;gap:6px;margin-top:21px}.form-actions #calculate{max-width:none;width:100%;font-size:14px}.clear-button{padding:9px}.privacy-note{font-size:11px;margin-top:10px;line-height:1.75}.result-placeholder{padding:19px 2px 24px;font-size:12px}.results{padding-top:27px}.result-heading h2{font-size:22px}.result-heading .text-button{font-size:11px;white-space:nowrap}.age-card{padding:20px;display:block}.age-value{font-size:28px}.age-today{flex-direction:row;flex-wrap:wrap;align-items:center;gap:5px 10px;border-top:1px solid #e0cffa;padding-top:12px;margin-top:15px;text-align:left}.age-today strong{font-size:13px}.age-today span:last-child{width:100%;font-size:10px}.active-grid,.next-grid{grid-template-columns:1fr}.exam-card{padding:19px}.exam-card h4{font-size:19px}.exam-period{font-size:14px}.section-heading{align-items:flex-start}.section-heading>span{font-size:10px;max-width:102px;text-align:right;line-height:1.65}.schedule-details summary{padding:16px}.schedule-list{padding:0 16px}.schedule-row.is-active{margin:0 -16px;padding:18px 16px}.schedule-row .exam-card-heading h4{font-size:15px}.schedule-row .exam-facts div{font-size:11px;grid-template-columns:50px 1fr}.official-help{padding-top:25px;margin-top:22px}.official-help h2{font-size:21px}.help-grid{grid-template-columns:1fr;gap:22px;margin-top:19px}.help-grid>div+div{border-top:1px solid #e8dfd1;padding-top:20px}.target-check{display:block;padding:17px 0 9px}.target-check .button{margin-top:12px}.cafe-card{display:block;padding:22px 20px;margin-top:18px;border-radius:17px}.cafe-card h2{font-size:22px}.cafe-button{margin-top:18px;width:100%;justify-content:space-between;font-size:13px}.medical-note{padding:17px 1px 24px}.footer-top{display:block}.footer-top p{margin-top:3px}.site-footer{padding-top:20px}.source-links{gap:7px 15px}}
@media(max-width:380px){.page-shell{padding:0 16px}.hero h1{font-size:31px}.calculator-card{padding:21px 17px}.card-heading h2{font-size:21px}.brand-sub{font-size:8px}.header-link{font-size:10px}.hero-tags span{font-size:9px}.button{padding-left:15px;padding-right:15px}.age-value{font-size:26px}.footer-top p{font-size:10px}}
@media(prefers-reduced-motion:no-preference){.button{transition:background-color .15s ease}@keyframes result-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}

.status-boundary{background:#fff1d8;color:#795009}.exam-card:has(.status-boundary){border-color:#d6ba7b}.schedule-row:has(.status-boundary){background:#fffaf0}

.calculation-details{margin-top:10px;padding:0 3px;font-size:12px;color:var(--muted)}.calculation-details summary{cursor:pointer;color:var(--purple-dark);font-weight:650}.calculation-details p{padding-top:8px;line-height:1.85}
