:root{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:#263e3a;background:#f6f7f4;font-size:16px;font-synthesis:none;--green:#285b52;--line:#dbe2dc;--muted:#62736c}*{box-sizing:border-box}body{margin:0}button{font:inherit;color:inherit;cursor:pointer;border:1px solid var(--line);border-radius:12px;background:white;min-height:48px;padding:13px 21px;transition:transform .15s,background .15s}button:hover{background:#eef2ed;transform:translateY(-2px)}button:focus-visible{outline:3px solid #b57535;outline-offset:4px}button:disabled{opacity:.4;cursor:default;transform:none}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#204b43}.text-button{border:0;background:transparent;color:var(--muted)}header{max-width:1120px;margin:auto;padding:25px 30px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line)}.brand{font-size:18px;letter-spacing:.18em;font-weight:700;padding:0;border:0;background:none}.status{display:flex;gap:8px;flex-wrap:wrap}.status span{font-size:13px;padding:7px 11px;border-radius:30px;background:#e9eeea;color:#42584f}.status .done{background:#dceae3}main{max-width:1020px;margin:0 auto;padding:52px 30px 65px;animation:fade .18s ease}main:focus{outline:none}.eyebrow{font-size:12px;letter-spacing:.19em;font-weight:700;color:var(--muted);margin-bottom:19px}h1{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500;font-size:clamp(27px,3.4vw,42px);line-height:1.7;margin:0 0 20px;letter-spacing:.03em}h2{font-size:22px;line-height:1.6}h3{font-size:18px}p{line-height:1.9}.muted{color:var(--muted)}.hero{max-width:750px;margin:10px auto;text-align:center}.hero h1{white-space:pre-line}.hero .intro{max-width:520px;margin:0 auto 30px}.hero .primary{min-width:260px}.hero-band{display:grid;grid-template-columns:repeat(3,1fr);margin:52px 0 30px;border-block:1px solid var(--line);padding:24px 0}.hero-band div+div{border-left:1px solid var(--line)}.hero-band small{display:block;color:var(--muted);margin-top:6px;font-size:13px}.footnote{font-size:14px;color:var(--muted);line-height:1.9}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.center{justify-content:center}.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.mode-card{text-align:left;padding:29px 23px;min-height:240px;display:flex;flex-direction:column;align-items:flex-start}.mode-card .number{font:32px Georgia,serif;color:var(--muted);margin-bottom:22px}.mode-card strong{font-size:20px}.mode-card p{font-size:15px;color:var(--muted);flex:1}.tag{font-size:13px;color:var(--green)}.panel{background:#fff;border:1px solid var(--line);border-radius:19px;padding:30px;margin:22px 0}.narrow{max-width:700px;margin-inline:auto}.instructions{padding-left:24px;line-height:2.2}.step{display:flex;justify-content:space-between;gap:15px;color:var(--muted);margin:0 0 14px}.progress{height:4px;background:#dce4dc;border-radius:4px;margin-bottom:30px}.progress i{height:100%;display:block;background:var(--green);transition:width .2s}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:26px}.sentence{white-space:pre-line;line-height:1.95;font-size:17px}.card{background:#fff;border-radius:17px;min-height:270px;padding:30px 20px;border:1px solid #d7dfd6;box-shadow:0 8px 18px #203d2b05;text-align:center}.card:hover{border-color:#285b52;background:#fff;box-shadow:0 9px 22px #203d2b12}.selection-note{font-size:14px;color:var(--green);min-height:22px}.ranking{list-style:none;padding:0;display:grid;gap:12px}.ranking li{display:flex;align-items:center;gap:23px;background:white;padding:20px 25px;border:1px solid var(--line);border-radius:13px}.rank{white-space:nowrap;color:var(--muted);font-size:14px}.rank-letter{font:32px Georgia,serif}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.sequence{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sequence b{font:30px Georgia,serif}.sequence span{color:#97a69e}.chart{width:100%;max-width:420px;display:block;margin:auto}.legend{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;font-size:14px}.legend span{border-bottom:3px solid var(--color);padding-bottom:4px}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:20px}.tabs button{font-size:14px;padding:10px 14px}.tabs [aria-pressed=true]{background:var(--green);color:white}.compare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.compare-grid .panel{padding:22px 18px}.compare-grid .sequence{gap:7px}.compare-grid .sequence b{font-size:26px}.change-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.change{padding:16px 0;border-top:1px solid var(--line)}.change strong{font-size:22px;margin-right:14px}.change small{display:block;margin-top:8px;color:var(--muted)}.details{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.details .panel{margin:0}.traits{display:flex;gap:8px;flex-wrap:wrap}.traits span{background:#edf1eb;padding:6px 10px;font-size:14px;border-radius:7px}footer{max-width:1020px;margin:auto;padding:22px 30px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);display:flex;justify-content:space-between;gap:15px}dialog{border:1px solid var(--line);border-radius:20px;padding:30px;max-width:500px;width:calc(100% - 32px);color:inherit}dialog::backdrop{background:#132f2866}.notice{border:1px solid #b98b45;background:#fff7e9;padding:15px;border-radius:10px;line-height:1.7}@keyframes fade{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:none}}@media(max-width:700px){header{padding:18px 20px;align-items:flex-start;flex-direction:column;gap:15px}.status span{font-size:12px}main{padding:34px 20px 45px}.hero{margin:0}.hero h1{font-size:28px}.hero-band{margin-top:35px}.hero-band small{font-size:12px}.mode-grid,.cards,.compare-grid,.change-grid,.details,.result-grid{grid-template-columns:1fr}.mode-card{min-height:0;padding:24px}.mode-card .number{font-size:22px;margin-bottom:12px}.mode-card p{margin-bottom:12px}.card{min-height:235px;font-size:18px;padding:30px 22px}.panel{padding:22px}.actions>*{flex:1;min-width:130px}.ranking li{padding:18px 16px;gap:16px}.sentence{font-size:17px}.compare-grid{gap:0}.compare-grid .panel{margin:8px 0}footer{padding:20px;flex-direction:column}.chart{max-width:360px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
