/*! Random Birthday Generator 1.0.0 | GPL-2.0-or-later */
.rbg-tool {
  --rbg-purple:#6D4AFF; --rbg-dark-purple:#5535DB; --rbg-navy:#17152B; --rbg-soft:#EEEAFE;
  --rbg-yellow:#FFD95A; --rbg-muted:#626273; --rbg-border:#E5E3EF; --rbg-white:#FFF;
  box-sizing:border-box; width:100%; max-width:1120px; margin:0 auto;
  padding:clamp(16px,3.2%,36px); background:var(--rbg-white); color:var(--rbg-navy);
  border:1px solid var(--rbg-border); border-radius:24px; text-align:left;
  font:400 16px/1.55 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  box-shadow:0 16px 48px -32px rgba(23,21,43,.24); isolation:isolate;
  container-type:inline-size;
}
.rbg-tool *, .rbg-tool *::before, .rbg-tool *::after { box-sizing:border-box; }
.rbg-tool [hidden] { display:none!important; }
.rbg-tool p,.rbg-tool h2,.rbg-tool h3,.rbg-tool dl,.rbg-tool dd,.rbg-tool dt { margin:0; padding:0; font-family:inherit; text-transform:none; letter-spacing:normal; }
.rbg-tool .rbg-heading { padding:0 0 26px; }
.rbg-tool .rbg-eyebrow { color:var(--rbg-dark-purple); font-size:11px; letter-spacing:.13em; font-weight:750; }
.rbg-tool .rbg-heading h2 { font-size:clamp(23px,3.2vw,32px); color:var(--rbg-navy); line-height:1.2; font-weight:750; margin:9px 0 10px; }
.rbg-tool .rbg-heading p { color:var(--rbg-muted); font-size:15px; }
.rbg-tool .rbg-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:32px; align-items:start; }
.rbg-tool .rbg-form { margin:0; padding:0; min-width:0; }
.rbg-tool .rbg-main-fields,.rbg-tool .rbg-mode { display:block; border:0; min-width:0; padding:0; margin:0; }
.rbg-tool .rbg-step-label { color:var(--rbg-muted); font-size:11px; font-weight:700; letter-spacing:.1em; display:flex; align-items:center; gap:9px; margin-bottom:20px; }
.rbg-tool .rbg-step-label>span { color:var(--rbg-dark-purple); background:var(--rbg-soft); border-radius:7px; width:26px; height:26px; display:inline-flex; justify-content:center; align-items:center; letter-spacing:0; }
.rbg-tool .rbg-mode legend { padding:0; color:var(--rbg-navy); font-size:13px; font-weight:650; margin-bottom:8px; }
.rbg-tool .rbg-segments { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; padding:5px; border-radius:12px; background:#F3F1F9; margin-bottom:20px; }
.rbg-tool .rbg-segments label { position:relative; display:flex; align-items:stretch; margin:0; cursor:pointer; min-width:0; }
.rbg-tool .rbg-segments input { position:absolute; opacity:0; width:1px; height:1px; padding:0; margin:0; }
.rbg-tool .rbg-segments span { flex:1; padding:11px 5px; text-align:center; border-radius:8px; color:#514A65; font-size:12px; font-weight:650; line-height:1.3; border:1px solid transparent; display:flex; align-items:center; justify-content:center; min-height:44px; }
.rbg-tool .rbg-segments input:checked+span { background:var(--rbg-white); color:var(--rbg-dark-purple); box-shadow:0 2px 6px #17152B0B; border-color:#DCD5F9; }
.rbg-tool .rbg-segments input:focus-visible+span { outline:3px solid var(--rbg-purple); outline-offset:1px; }
.rbg-tool .rbg-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-bottom:14px; }
.rbg-tool label { color:var(--rbg-navy); font-size:13px; font-weight:650; display:block; }
.rbg-tool input[type="number"],.rbg-tool input[type="date"],.rbg-tool select,.rbg-tool textarea {
  font-family:inherit; font-size:16px; font-weight:400; line-height:1.4; text-transform:none;
  color:var(--rbg-navy); background:var(--rbg-white); border:1px solid #D2CFDF; border-radius:9px;
  box-shadow:none; width:100%; min-width:0; max-width:100%; min-height:46px; padding:10px 11px; margin:6px 0 0;
}
.rbg-tool select { appearance:auto; background-image:none; padding-right:3px; }
.rbg-tool input[type="date"] { appearance:auto; padding-right:5px; }
.rbg-tool input[type="date"]::-webkit-date-and-time-value { text-align:left; }
.rbg-tool small { display:block; color:var(--rbg-muted); font-size:11px; font-weight:400; margin-top:5px; }
.rbg-tool .rbg-help { color:var(--rbg-muted); font-size:12px; line-height:1.55; margin:0 0 17px; }
.rbg-tool details { margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.rbg-tool summary { color:var(--rbg-navy); cursor:pointer; list-style:none; min-height:44px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 0; font-size:13px; font-weight:650; }
.rbg-tool summary::-webkit-details-marker { display:none; }
.rbg-tool summary::before,.rbg-tool summary::after { display:none; }
.rbg-tool .rbg-options { border-top:1px solid var(--rbg-border); border-bottom:1px solid var(--rbg-border); margin:20px 0; }
.rbg-tool .rbg-options summary>span { color:var(--rbg-dark-purple); font-size:21px; }
.rbg-tool .rbg-options[open] summary>span { transform:rotate(45deg); }
.rbg-tool .rbg-option-body { padding:6px 0 0; }
.rbg-tool .rbg-check { display:flex; align-items:flex-start; gap:9px; cursor:pointer; min-height:36px; padding:6px 0; font-weight:500; }
.rbg-tool input[type="checkbox"] { appearance:auto; accent-color:var(--rbg-purple); margin:2px 0 0; width:17px; height:17px; flex:0 0 17px; min-height:0; }
.rbg-tool button { font-family:inherit; text-transform:none; letter-spacing:normal; box-shadow:none; background-image:none; }
.rbg-tool .rbg-button { display:inline-flex; align-items:center; justify-content:center; gap:9px; border:1px solid #D2CFDF; border-radius:10px; min-height:44px; padding:10px 14px; margin:0; background:var(--rbg-white); color:var(--rbg-navy); font-size:12px; line-height:1.35; font-weight:650; cursor:pointer; text-decoration:none; white-space:normal; }
.rbg-tool .rbg-button:hover:not(:disabled) { background:var(--rbg-soft); border-color:var(--rbg-purple); }
.rbg-tool .rbg-button:disabled { cursor:not-allowed; opacity:.5; }
.rbg-tool .rbg-generate-row { display:flex; gap:10px; }
.rbg-tool .rbg-primary { flex:1; min-height:52px; background:var(--rbg-purple); border-color:var(--rbg-purple); color:var(--rbg-white); font-size:15px; }
.rbg-tool .rbg-primary:hover:not(:disabled) { background:var(--rbg-dark-purple); color:var(--rbg-white); }
.rbg-tool .rbg-primary svg { flex:0 0 20px; }
.rbg-tool .rbg-reset { color:var(--rbg-muted); padding:10px; border-color:transparent; }
.rbg-tool .rbg-local-note { font-size:11px; color:var(--rbg-muted); text-align:center; margin:12px 0 0; }
.rbg-tool .rbg-output { min-width:0; }
.rbg-tool .rbg-result-card { position:relative; overflow:hidden; padding:30px 26px 22px; border-radius:18px; min-height:347px; background:var(--rbg-navy); color:var(--rbg-white); }
.rbg-tool .rbg-result-card::after { content:""; position:absolute; width:150px; height:150px; right:-90px; top:30px; border:1px solid #54416D; border-radius:50%; pointer-events:none; }
.rbg-tool .rbg-calendar-icon { color:#B7A5FF; margin-bottom:21px; }
.rbg-tool .rbg-card-kicker { color:#D7CEF6; font-size:10px; letter-spacing:.11em; font-weight:650; }
.rbg-tool h3.rbg-date { font-size:clamp(27px,3.3vw,38px); font-weight:700; line-height:1.16; color:var(--rbg-white); margin:13px 0 13px; overflow-wrap:anywhere; }
.rbg-tool .rbg-card-sub { font-size:13px; color:#D5CFE4; margin-bottom:22px; }
.rbg-tool .rbg-facts { display:grid; grid-template-columns:1fr 1fr; gap:15px; border-top:1px solid #3C344E; padding-top:16px; }
.rbg-tool .rbg-facts dt { font-size:10px; color:#C3BAD8; margin-bottom:4px; }
.rbg-tool .rbg-facts dd { font-size:13px; color:#FFF; line-height:1.5; }
.rbg-tool .rbg-card-bottom { display:flex; justify-content:space-between; align-items:center; font-size:8px; letter-spacing:.07em; color:#C1B8D2; gap:8px; margin-top:28px; }
.rbg-tool .rbg-card-bottom>span:last-child { color:var(--rbg-yellow); font-size:23px; }
.rbg-tool .rbg-result-actions { display:flex; gap:8px; flex-wrap:wrap; margin:15px 0 12px; }
.rbg-tool .rbg-result-actions .rbg-button { flex:1 1 110px; }
.rbg-tool [data-role="result-note"] { margin:12px 0 0; }
.rbg-tool .rbg-batch { border-top:1px solid var(--rbg-border); margin-top:28px; padding-top:24px; }
.rbg-tool .rbg-batch-top { display:flex; justify-content:space-between; align-items:center; gap:15px; flex-wrap:wrap; margin-bottom:10px; }
.rbg-tool .rbg-batch h3 { font-size:17px; color:var(--rbg-navy); font-weight:700; }
.rbg-tool .rbg-export-actions { display:flex; flex-wrap:wrap; gap:7px; }
.rbg-tool .rbg-table-wrap { overflow-x:auto; border:1px solid var(--rbg-border); border-radius:11px; }
.rbg-tool table { border-collapse:collapse; table-layout:auto; width:100%; border:0; margin:0; font:inherit; font-size:13px; }
.rbg-tool th,.rbg-tool td { padding:10px 12px; border:0; border-bottom:1px solid var(--rbg-border); text-align:left; color:var(--rbg-navy); white-space:nowrap; line-height:1.4; }
.rbg-tool th { background:#F6F4FB; font-size:11px; font-weight:650; }
.rbg-tool tr:last-child td { border-bottom:0; }
.rbg-tool tr.rbg-selected td { background:#F8F6FF; }
.rbg-tool .rbg-view-button { color:var(--rbg-dark-purple); background:transparent; border:1px solid transparent; border-radius:6px; min-height:38px; padding:5px 10px; font-size:12px; cursor:pointer; }
.rbg-tool .rbg-view-button[aria-pressed="true"] { background:var(--rbg-soft); border-color:#DCD5F9; }
.rbg-tool .rbg-pagination { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:14px; font-size:12px; color:var(--rbg-muted); }
.rbg-tool .rbg-status { min-height:24px; padding-top:16px; font-size:13px; color:var(--rbg-dark-purple); }
.rbg-tool .rbg-error { color:#8E1726; background:#FFF2F2; border:1px solid #EBC0C4; border-radius:9px; padding:12px; font-size:13px; margin:12px 0; }
.rbg-tool .rbg-manual-copy { margin-top:20px; }
.rbg-tool textarea { resize:vertical; }
.rbg-tool .rbg-method { border-top:1px solid var(--rbg-border); margin-top:15px; }
.rbg-tool .rbg-method summary { color:var(--rbg-muted); font-size:12px; justify-content:flex-start; }
.rbg-tool .rbg-method summary::after { content:"+"; display:inline; font-size:18px; }
.rbg-tool .rbg-method[open] summary::after { content:"−"; }
.rbg-tool .rbg-method p { font-size:12px; color:var(--rbg-muted); margin:0 0 12px; }
.rbg-tool :is(button,input,select,summary,textarea,[tabindex]):focus-visible { outline:3px solid var(--rbg-purple); outline-offset:3px; }
.rbg-tool .rbg-sr { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
@container (max-width:740px) { .rbg-tool .rbg-layout { grid-template-columns:minmax(0,1fr); gap:27px; } .rbg-tool .rbg-result-card { min-height:300px; } }
@container (max-width:360px) { .rbg-tool .rbg-pair { grid-template-columns:minmax(0,1fr); } .rbg-tool .rbg-segments span { font-size:11px; padding:10px 3px; } .rbg-tool .rbg-facts { grid-template-columns:1fr; } }
@media (max-width:760px) { .rbg-tool .rbg-layout { grid-template-columns:minmax(0,1fr); gap:27px; } }
@media (max-width:380px) { .rbg-tool .rbg-pair { grid-template-columns:minmax(0,1fr); } .rbg-tool .rbg-primary { font-size:13px; padding:10px; } }
@media (prefers-reduced-motion:reduce) { .rbg-tool * { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
@media print { .rbg-tool .rbg-form,.rbg-tool .rbg-button,.rbg-tool .rbg-view-button,.rbg-tool .rbg-method,.rbg-tool .rbg-status { display:none!important; } .rbg-tool .rbg-layout { display:block; } }
