:root{--bg:#f7f8f4;--ink:#243b3b;--muted:#657573;--line:#dce4df;--green:#267763;--tint:#eaf3ec}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif;line-height:1.7}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit;color:inherit}button,select{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #d39740;outline-offset:3px}header{background:white;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:23px max(24px,calc((100vw - 1120px)/2))}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:22px;font-weight:650;white-space:nowrap}.brand small{display:block;font-size:10px;letter-spacing:.2em;color:var(--muted)}.mark{background:var(--green);color:white;border-radius:12px;width:45px;height:45px;display:grid;place-items:center;font-size:28px;font-weight:400}.header-note{font-size:13px;color:var(--muted)}main{max-width:1120px;padding:22px 24px 64px;margin:auto}nav{display:flex;gap:22px;font-size:14px;flex-wrap:wrap;margin-bottom:38px}nav a{text-decoration:none;padding:6px 0}nav [aria-current]{color:var(--green);border-bottom:2px solid var(--green);font-weight:600}.heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.eyebrow{font-size:11px;letter-spacing:.2em;color:var(--green);font-weight:700;margin:0 0 10px}h1{font-size:32px;letter-spacing:.025em;font-weight:600;margin:0}.intro{color:var(--muted);font-size:15px;margin:10px 0 28px}.quiet{background:white;border:1px solid var(--line);border-radius:8px;padding:10px 17px;white-space:nowrap}.finder{display:flex;align-items:end;gap:18px;flex-wrap:wrap;background:white;border:1px solid var(--line);border-radius:16px;padding:24px}.finder label{font-size:13px;font-weight:600}.search-label{flex:1;min-width:240px}.finder input,.finder select{display:block;width:100%;border:1px solid #cbd5ce;border-radius:8px;background:#fcfdfb;padding:12px 14px;margin-top:7px;font-size:18px}.reference-label{width:160px}.finder>p{flex-basis:100%;font-size:12px;color:var(--muted);margin:0}.spotlight{margin:22px 0 30px;padding:26px 30px;background:var(--tint);border-radius:14px;border-left:4px solid var(--green)}.spotlight .spot-grid{display:grid;grid-template-columns:1fr 1.2fr 1fr .6fr;gap:20px}.spotlight small{color:var(--muted);display:block;font-size:12px}.spotlight strong{font-size:29px;font-weight:550;display:block}.spotlight p{font-size:12px;margin:12px 0 0}.spotlight .spot-label{margin:0 0 12px;color:var(--green);font-weight:600}.table-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.era-tabs{display:flex;gap:5px;flex-wrap:wrap}.era-tabs button{background:transparent;border:1px solid transparent;border-radius:7px;padding:7px 15px;font-size:14px}.era-tabs [aria-pressed=true]{background:var(--green);color:white}.sort-label{font-size:12px;color:var(--muted)}.sort-label select{border:0;background:transparent;margin-left:5px;font-size:13px}.muted{font-size:12px;color:var(--muted);margin:14px 0 9px}.table-wrap{border:1px solid var(--line);border-radius:12px;overflow:clip;background:white}table{width:100%;border-collapse:collapse;text-align:left;font-variant-numeric:tabular-nums}th{position:sticky;top:0;background:#edf1eb;z-index:2;font-weight:500;font-size:13px;padding:13px 24px}td{padding:12px 24px;border-top:1px solid #e9eee9;font-size:16px}td:first-child{font-weight:600;font-size:19px}tr:nth-child(even){background:#fbfcfa}tr.selected{background:#eaf3ec}tr:hover{background:#f0f5ef}td small{display:block;font-size:11px;font-weight:400;color:var(--muted)}td button{padding:0;background:none;border:0;font-weight:600;font-size:inherit;text-decoration:underline;text-decoration-color:#bad0c5;text-underline-offset:5px}.notes{margin:32px 0 22px;color:var(--muted);font-size:13px}.notes summary{cursor:pointer;padding:12px 0;color:var(--ink)}.more{display:flex;gap:25px;flex-wrap:wrap;font-size:14px}.more a{color:var(--green)}footer{max-width:1120px;margin:auto;padding:25px 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:12px}#empty{padding:25px} @media(max-width:620px){header{padding:18px 20px}.brand{font-size:19px}.header-note{display:none}main{padding:20px 16px 40px}nav{gap:18px;font-size:12px;margin-bottom:28px}h1{font-size:24px}.heading{align-items:start}.heading>.quiet{font-size:12px;padding:7px 10px}.intro{font-size:13px;max-width:230px}.finder{padding:18px;gap:12px}.search-label{flex-basis:100%}.reference-label{flex:1}.finder input{font-size:17px}.spotlight{padding:20px}.spotlight .spot-grid{grid-template-columns:1fr 1fr;gap:15px}.spotlight strong{font-size:25px}.era-tabs button{padding:7px 12px}th{padding:12px 10px;font-size:11px}td{padding:11px 10px;font-size:14px}td:first-child{font-size:17px}td small{font-size:10px}.more{gap:12px}.table-toolbar{gap:10px}}
@media print{header,nav,.heading>.quiet,.finder,.table-toolbar,.more,footer{display:none}body{background:white;font-size:10pt}main{max-width:none;padding:0}h1{font-size:20pt}.intro{margin:5px 0}.spotlight{padding:10px;margin:12px 0;background:white}.spotlight strong{font-size:17pt}.table-wrap{overflow:visible;border:0}th{position:static}th,td{padding:4px 10px;font-size:10pt}td:first-child{font-size:11pt}tr{break-inside:avoid}.notes{font-size:9pt}thead{display:table-header-group}button{text-decoration:none!important}}
#birthday-options{margin:22px 0 0}#birthday-options[hidden]{display:none}#birthday-question{font-size:14px;font-weight:600;margin:0 0 10px}.birthday-buttons{display:flex;flex-wrap:wrap;gap:8px}.birthday-buttons button{background:white;border:1px solid var(--line);border-radius:8px;padding:10px 16px;font-size:14px}.birthday-buttons [aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.birth-candidates{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}.birth-candidate{background:#ffffffa8;border:1px solid #d0e1d6;border-radius:10px;padding:18px 22px}.birth-candidate>span{font-size:15px}.birth-candidate strong{font-size:28px;margin:5px 0}.birth-candidate p{color:var(--muted)}@media print{#birthday-options{display:none}}
