.date-time-field{position:relative}.field .date-time-field>input{font-variant-numeric:tabular-nums;letter-spacing:.012em;width:100%;padding-right:52px}.date-time-field__trigger{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--brand-700);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;transition:background-color .16s ease-out,color .16s ease-out,transform .16s ease-out;display:grid;position:absolute;top:4px;right:4px}.date-time-field__trigger:hover{background:var(--brand-100);color:var(--brand-700)}.date-time-field__trigger:active{transform:scale(.94)}.date-time-picker{border:1px solid var(--border);background:var(--surface);width:min(414px,100vw - 28px);max-width:none;max-height:min(760px,100dvh - 28px);color:var(--ink-950);border-radius:14px;margin:auto;padding:0;overflow:visible;box-shadow:0 24px 70px oklch(12% .04 285/.28),0 3px 10px oklch(12% .04 285/.12)}.date-time-picker[open]{animation:.18s cubic-bezier(.22,1,.36,1) date-time-picker-enter}.date-time-picker::backdrop{backdrop-filter:blur(3px);background:oklch(10% .035 285/.56)}.date-time-picker__surface{border-radius:inherit;background:var(--surface);overflow:hidden}.date-time-picker__hero{background:var(--brand-100);min-height:100px;color:var(--ink-950);justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 20px 18px;display:flex}.date-time-picker__hero>div{gap:5px;min-width:0;display:grid}.date-time-picker__hero span{color:var(--brand-700);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:750}.date-time-picker__hero strong{color:var(--ink-950);letter-spacing:-.035em;font-size:1.44rem;font-weight:700;line-height:1.2}.date-time-picker__close,.date-picker__navigation>button{width:38px;height:38px;color:var(--ink-700);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.date-time-picker__close:hover,.date-picker__navigation>button:hover:not(:disabled){background:color-mix(in oklch, var(--brand-600) 12%, transparent);color:var(--brand-700)}.date-picker__navigation>button:disabled{cursor:not-allowed;opacity:.35}.date-time-picker__body{padding:18px 20px 12px}.date-picker__navigation{grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:10px;margin-bottom:12px;display:grid}.date-picker__month-year{grid-template-columns:minmax(0,1fr) 88px;gap:8px;display:grid}.date-picker__month-year select,.date-picker__month-year input{border-radius:var(--radius-sm);background:var(--surface-muted);width:100%;min-height:38px;color:var(--ink-950);border:1px solid #0000;outline:0;padding:6px 9px;font-size:.82rem;font-weight:700}.date-picker__month-year input{font-variant-numeric:tabular-nums}.date-picker__month-year select:hover,.date-picker__month-year input:hover{border-color:var(--border-strong)}.date-picker__month-year select:focus-visible,.date-picker__month-year input:focus-visible{border-color:var(--brand-600);outline:3px solid color-mix(in oklch, var(--focus) 42%, transparent);outline-offset:0}.date-picker__calendar{gap:6px;display:grid}.date-picker__weekdays,.date-picker__days>[role=row]{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.date-picker__days{gap:4px;display:grid}.date-picker__weekdays span{height:28px;color:var(--ink-600);place-items:center;font-size:.67rem;font-weight:750;display:grid}.date-picker__days button{aspect-ratio:1;min-width:0;color:var(--ink-950);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;padding:0;font-size:.78rem;font-weight:650;transition:background-color .13s ease-out,border-color .13s ease-out,color .13s ease-out,transform .13s ease-out;display:grid}.date-picker__days button:hover:not(:disabled){background:var(--brand-100);color:var(--brand-700)}.date-picker__days button:active:not(:disabled){transform:scale(.9)}.date-picker__days button.is-outside{color:var(--ink-600);font-weight:500}.date-picker__days button.is-today{border-color:var(--brand-600);color:var(--brand-700)}.date-picker__days button.is-selected{border-color:var(--brand-600);background:var(--brand-600);color:#fff;opacity:1}.date-picker__days button:disabled{cursor:not-allowed;opacity:.22}.date-time-picker__actions{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:5px;min-height:62px;padding:10px 16px 12px;display:flex}.date-time-picker__text-action,.date-time-picker__confirm{border-radius:var(--radius-sm);min-height:38px;color:var(--brand-700);cursor:pointer;background:0 0;border:0;padding:8px 12px;font-size:.76rem;font-weight:750}.date-time-picker__text-action:hover{background:var(--brand-100)}.date-time-picker__confirm{background:var(--brand-600);color:#fff;align-items:center;gap:7px;display:inline-flex}.date-time-picker__confirm:hover{background:var(--brand-700)}.time-picker__readout{grid-template-columns:72px 10px 72px minmax(74px,1fr);justify-content:center;align-items:center;gap:7px;margin-bottom:18px;display:grid}.time-picker__readout>button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);min-height:64px;color:var(--ink-950);font-variant-numeric:tabular-nums;cursor:pointer;padding:8px;font-size:1.75rem;font-weight:700}.time-picker__readout>span{color:var(--ink-700);text-align:center;font-size:1.65rem;font-weight:700}.time-picker__readout>button.is-active{border-color:color-mix(in oklch, var(--brand-600) 48%, var(--border));background:var(--brand-100);color:var(--brand-700)}.time-picker__period{border:1px solid var(--border);border-radius:var(--radius-md);grid-template-rows:1fr 1fr;align-self:stretch;margin-left:4px;display:grid;overflow:hidden}.time-picker__period button{background:var(--surface);min-width:0;color:var(--ink-700);cursor:pointer;border:0;padding:3px 10px;font-size:.68rem;font-weight:750}.time-picker__period button+button{border-top:1px solid var(--border)}.time-picker__period button.is-active{background:var(--brand-100);color:var(--brand-700)}.time-picker__dial{aspect-ratio:1;border:1px solid var(--border);background:radial-gradient(circle at center, var(--surface) 0 20%, transparent 20.5%), var(--surface-muted);border-radius:50%;width:min(278px,100vw - 94px);margin-inline:auto;position:relative}.time-picker__dial button{top:var(--dial-y);left:var(--dial-x);width:38px;height:38px;color:var(--ink-800);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;font-size:.72rem;font-weight:700;transition:background-color .13s ease-out,color .13s ease-out,box-shadow .13s ease-out;display:grid;position:absolute;transform:translate(-50%,-50%)}.time-picker__dial button:hover{background:var(--brand-100);color:var(--brand-700)}.time-picker__dial button.is-selected{background:var(--brand-600);color:#fff;box-shadow:0 0 0 4px color-mix(in oklch, var(--brand-600) 15%, transparent)}.time-picker__dial-center{background:var(--brand-600);border-radius:50%;width:7px;height:7px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes date-time-picker-enter{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=480px){.date-time-picker{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.date-time-picker__hero{min-height:90px;padding:17px 17px 15px}.date-time-picker__hero strong{font-size:1.26rem}.date-time-picker__body{padding:14px 14px 10px}.date-picker__navigation{gap:5px}.date-picker__month-year{grid-template-columns:minmax(0,1fr) 78px;gap:5px}.date-picker__days button{font-size:.72rem}.time-picker__readout{grid-template-columns:64px 8px 64px minmax(68px,1fr);gap:5px}.time-picker__readout>button{min-height:58px;font-size:1.45rem}.time-picker__dial{width:min(260px,100vw - 72px)}}@media (prefers-reduced-motion:reduce){.date-time-picker[open]{animation:none}.date-time-field__trigger,.date-picker__days button,.time-picker__dial button{transition:none}}@media (forced-colors:active){.date-picker__days button.is-selected,.time-picker__dial button.is-selected,.date-time-picker__confirm{border:2px solid buttontext}}.calculator[data-tool-id=birthday-wishes]{grid-template-columns:minmax(0,1fr)}.calculator[data-tool-id=birthday-wishes] .calculator-panel{min-height:0}.calculator[data-tool-id=birthday-wishes] .calculator-panel--form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calculator[data-tool-id=birthday-wishes] .calculator-panel--form .field--wide{grid-column:1/-1}.birthday-wishes-result{--wish-accent:var(--brand-700)}.birthday-wishes-result__intro{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:24px;padding:4px 0 18px;display:flex}.birthday-wishes-result__eyebrow{color:var(--teal-700);letter-spacing:.01em;align-items:center;gap:7px;margin-bottom:7px;font-size:.74rem;font-weight:800;display:inline-flex}.birthday-wishes-result__eyebrow svg,.birthday-wishes-result__note svg{flex:none;width:16px;height:16px}.birthday-wishes-result__intro h2{max-width:none;color:var(--ink-950);letter-spacing:-.035em;margin:0;font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.12}.birthday-wishes-result__intro p{color:var(--ink-600);margin:7px 0 0;font-size:.82rem}.birthday-wishes-result__filters{flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:48%;display:flex}.birthday-wishes-result__filters span{border:1px solid var(--border);background:var(--surface-muted);color:var(--ink-700);border-radius:999px;padding:5px 9px;font-size:.67rem;font-weight:760}.birthday-wishes-list{counter-reset:birthday-wish;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.birthday-wish{border-bottom:1px solid var(--border);grid-template-rows:1fr auto;grid-template-columns:34px minmax(0,1fr);gap:10px 12px;min-width:0;padding:20px 18px;display:grid;position:relative}.birthday-wish:nth-child(odd){border-right:1px solid var(--border)}.birthday-wish__number{background:var(--brand-100);width:30px;height:30px;color:var(--wish-accent);border-radius:50%;place-items:center;font-size:.65rem;font-weight:850;display:grid}.birthday-wish>p{min-width:0;color:var(--ink-950);align-self:start;margin:2px 0 0;font-size:.9rem;line-height:1.65}.birthday-wish__actions{flex-wrap:wrap;grid-column:2;gap:4px;display:flex}.birthday-wish__actions button{min-height:34px;color:var(--ink-600);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;padding:5px 8px;font-family:inherit;font-size:.68rem;font-weight:780;display:inline-flex}.birthday-wish__actions button:hover,.birthday-wish__actions button:focus-visible,.birthday-wish__actions button[aria-pressed=true]{background:var(--brand-100);color:var(--brand-700)}.birthday-wish__actions button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.birthday-wish__actions svg{width:14px;height:14px}.birthday-wishes-more{justify-content:center;align-items:center;gap:12px;padding:20px 0 4px;display:flex}.birthday-wishes-more span{color:var(--ink-600);font-size:.72rem}.birthday-wishes-result__note{border:1px solid color-mix(in oklch, var(--teal-700) 24%, var(--border));background:var(--teal-100);color:var(--ink-700);border-radius:8px;align-items:flex-start;gap:8px;margin:18px 0 0;padding:13px 14px;font-size:.74rem;line-height:1.55;display:flex}.birthday-wishes-empty{text-align:left;justify-content:center;align-items:center;gap:18px;min-height:190px;padding:32px;display:flex}.birthday-wishes-empty>svg{width:42px;height:42px;color:var(--brand-700);flex:none}.birthday-wishes-empty h2{color:var(--ink-950);margin:0;font-size:1.25rem}.birthday-wishes-empty p{max-width:62ch;color:var(--ink-600);margin:7px 0 0;line-height:1.55}@media (width<=760px){.calculator[data-tool-id=birthday-wishes] .calculator-panel--form .form-grid,.birthday-wishes-list{grid-template-columns:minmax(0,1fr)}.birthday-wishes-result__intro{flex-direction:column;align-items:flex-start}.birthday-wishes-result__filters{justify-content:flex-start;max-width:none}.birthday-wish:nth-child(odd){border-right:0}.birthday-wish{padding-inline:4px}.birthday-wish__actions button{min-height:40px;padding-inline:10px}}@media (width<=420px){.birthday-wish{grid-template-columns:28px minmax(0,1fr);gap:8px}.birthday-wish__number{width:26px;height:26px}.birthday-wishes-more{text-align:center;flex-direction:column;align-items:stretch}.birthday-wishes-empty{align-items:flex-start;padding:24px 4px}}@media (prefers-reduced-motion:reduce){.birthday-wish__actions button{transition:none}}
