.birth-date-trigger{width:100%;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border:1px solid #b8a78f;background:#fffdf8;text-align:left;color:#292b46;font:400 20px/1.5 'Noto Sans JP',sans-serif}
.birth-date-trigger .birth-trigger-hint{font-size:16px;color:#655e69;flex:none}.birth-date-trigger:focus-visible{outline:3px solid #a28c6e;outline-offset:4px}
dialog.birth-picker{position:fixed;inset:auto 0 20px;width:min(520px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain;margin:0 auto;padding:24px;border:1px solid #b6a387;border-radius:20px;background:#fff9f0;color:#292b46;box-shadow:0 14px 60px #1c203d42;font-family:'Noto Sans JP',sans-serif}
.birth-picker::backdrop{background:#151b31a6}.birth-picker-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.birth-picker-head h2{font-size:24px;font-weight:500;line-height:1.6;margin:0}.birth-picker-head button{min-height:52px;padding:8px 0 8px 14px;border:0;background:none;color:#655e69;font-size:16px}.birth-picker #birth-picker-help{margin:10px 0 18px;font-size:16px;line-height:1.8;color:#655e69}
.birth-wheel-labels,.birth-wheels{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:6px}.birth-wheel-labels{text-align:center;font-size:16px;color:#655e69;margin-bottom:8px}.birth-wheels{position:relative;isolation:isolate;overflow:hidden}
.birth-wheel-band{position:absolute;inset:104px 0 auto;height:52px;border-block:1px solid #c6b396;border-radius:6px;background:#eee5d5;z-index:-1;pointer-events:none}
.birth-wheel{height:260px;overflow-x:hidden;overflow-y:auto;padding-block:104px;scroll-snap-type:y mandatory;overscroll-behavior-y:contain;touch-action:pan-y;scrollbar-width:none;-webkit-overflow-scrolling:touch;position:relative;outline:none;scroll-behavior:auto;mask-image:linear-gradient(transparent,#000 24%,#000 76%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 24%,#000 76%,transparent)}
.birth-wheel::-webkit-scrollbar{display:none}.birth-wheel:focus-visible{box-shadow:inset 0 0 0 2px #a28c6e;border-radius:8px}.birth-wheel-option{height:52px;display:flex;align-items:center;justify-content:center;scroll-snap-align:center;font-size:24px;line-height:1;color:#9a9396;font-variant-numeric:tabular-nums;cursor:pointer;user-select:none;transform:scale(.9)}
.birth-wheel-option.is-near{color:#77717e;transform:scale(.96)}.birth-wheel-option[aria-selected=true]{color:#192d56;font-weight:600;transform:none}.birth-picker-preview{text-align:center;font-size:20px;font-weight:500;line-height:1.7;margin:18px 0 20px}
.birth-picker-actions{display:grid;grid-template-columns:1fr 1.45fr;align-items:stretch;gap:12px}.birth-picker-actions button{min-height:60px;font:500 18px/1.5 'Noto Sans JP',sans-serif;border-radius:3px;padding:12px 10px}.birth-picker-clear{border:1px solid #b8a78f;color:#655e69;background:#fffdf8}.birth-picker-confirm{border:1px solid #b29a79;background:linear-gradient(115deg,#51405f,#342b49 48%,#28233d);color:#fff9ef;box-shadow:inset 0 1px 0 #f5e4c92e,0 4px 12px #241d391f}.birth-picker button:focus-visible{outline:3px solid #a28c6e;outline-offset:3px}
@media(max-width:640px){dialog.birth-picker{inset:auto 0 0;width:100%;max-height:calc(100dvh - 16px);padding:20px 20px calc(20px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;border-bottom:0}.birth-picker-head h2{font-size:23px}.birth-picker-actions{gap:10px}.birth-date-trigger{font-size:18px}}
@media(max-width:360px){dialog.birth-picker{padding-left:16px;padding-right:16px}.birth-picker-head h2{font-size:21px}.birth-picker-actions{grid-template-columns:1.15fr 1.45fr}.birth-picker-actions button{font-size:16px}.birth-wheel-option{font-size:22px}.birth-date-trigger{padding:14px 12px}.birth-date-trigger .birth-trigger-hint{font-size:16px}}
