.calc{--panel-pad:clamp(1.1rem, .6rem + 2vw, 2rem)}.calc-main{gap:var(--space-6);align-items:start;display:grid}@media (width>=60rem){.calc-main{grid-template-columns:minmax(0,33rem) minmax(0,1fr);gap:clamp(2rem,4vw,4.5rem)}}.calc-form{background:var(--surface);border-radius:var(--radius-l);box-shadow:var(--shadow-panel);padding:var(--panel-pad);border:1px solid color-mix(in srgb, var(--line) 60%, transparent)}.calc-form fieldset{border:0;min-width:0;margin:0;padding:0}.calc-form legend,.calc-form label:not(.method,.pill){font-weight:600}.methods legend{font-family:var(--font-display);font-size:var(--step-2);margin-bottom:var(--space-4);font-weight:480}.method-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=30rem){.method-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.method{min-height:4.25rem;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-radius:var(--radius-m);border:1.5px solid var(--line);background:var(--paper);cursor:pointer;transition:border-color .14s var(--ease-out), background-color .14s var(--ease-out);flex-direction:column;gap:.15rem;display:flex;position:relative}.method:hover{border-color:var(--line-strong)}.method input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.method-label{font-weight:650;line-height:1.25}.method-hint{color:var(--ink-2);font-size:.82rem;line-height:1.3}.method:has(input:checked){border-color:var(--iris);background:var(--iris-wash)}.method:has(input:checked):after{content:"";background:var(--iris);border-radius:50%;width:.55rem;height:.55rem;position:absolute;top:.7rem;right:.7rem}.method:has(input:focus-visible){outline:3px solid var(--iris);outline-offset:2px}.fields{gap:var(--space-5);margin-top:var(--space-6);display:grid}.fields[hidden],[data-us][hidden]{display:none}.field{gap:var(--space-2);display:grid}.field>legend{margin-bottom:var(--space-2)}.hint{font-size:var(--step--1);color:var(--ink-2);margin-top:calc(var(--space-1) * -1);line-height:1.45}.calc-form input[type=date],.calc-form input[type=text],.calc-form select,.asof input{width:100%;min-height:52px;padding:0 var(--space-4);border-radius:var(--radius-s);border:1.5px solid var(--line-strong);background:var(--surface);color:var(--ink);font:500 1.0625rem / 1.2 var(--font-ui);font-variant-numeric:tabular-nums;-webkit-appearance:none;appearance:none}.calc-form select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 8l5 5 5-5' fill='none' stroke='%236b7a77' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .85rem center;background-repeat:no-repeat;background-size:1.1rem;padding-right:2.5rem}.calc-form input[type=date]::-webkit-date-and-time-value{text-align:left}.calc-form input:hover,.calc-form select:hover{border-color:var(--ink-3)}.calc-form input:focus-visible,.calc-form select:focus-visible{outline:3px solid var(--iris);outline-offset:1px;border-color:var(--iris)}.calc-form [aria-invalid=true]{border-color:var(--danger);background:var(--danger-wash)}.err{color:var(--danger);font-size:var(--step--1);font-weight:600;line-height:1.4}.err:empty{display:none}.error-summary{margin-top:var(--space-5);padding:var(--space-4);border-radius:var(--radius-s);border-left:4px solid var(--danger);background:var(--danger-wash);font-size:var(--step--1)}.error-summary ul{margin:var(--space-2) 0 0;padding-left:1.1rem}.pair{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.pair label{gap:var(--space-1);display:grid}.sub{font-size:var(--step--1);color:var(--ink-2);font-weight:600}.pill-group{gap:var(--space-2);flex-wrap:wrap;display:flex}.pill{min-height:44px;padding:0 var(--space-4);border:1.5px solid var(--line-strong);cursor:pointer;border-radius:999px;align-items:center;font-size:.95rem;font-weight:550;display:inline-flex;position:relative}.pill input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.pill:has(input:checked){background:var(--ink);border-color:var(--ink);color:var(--paper)}.pill:has(input:focus-visible){outline:3px solid var(--iris);outline-offset:2px}.unit-input{position:relative}.unit-input span{right:var(--space-4);color:var(--ink-2);font-weight:600;position:absolute;top:50%;transform:translateY(-50%)}.compare{border-top:1px solid var(--line);padding-top:var(--space-4)}.compare summary{cursor:pointer;color:var(--iris);align-items:center;min-height:44px;font-weight:600;display:flex}.compare .field{margin-top:var(--space-3)}.submit-row{margin-top:var(--space-6);gap:var(--space-4);display:grid}.submit-row .button{width:100%;min-height:56px;font-size:1.1rem}.privacy-note{gap:var(--space-2);color:var(--ink-2);align-items:flex-start;margin:0;display:flex}.privacy-note svg{width:1rem;height:1rem;color:var(--ink-3);flex:none;margin-top:.2rem}.idle-wheel,.r-wheel{width:min(100%,25rem);margin-inline:auto;position:relative}.wheel{width:100%;height:auto;overflow:visible}.wheel-month{font:600 12.5px var(--font-ui);fill:var(--ink-2);text-anchor:middle;dominant-baseline:central}.wheel-week{font:500 15px var(--font-display);fill:var(--ink-2);text-anchor:middle;dominant-baseline:central;font-variant-numeric:lining-nums}.wheel-center{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.wc-big{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(2.6rem,2rem + 3vw,3.6rem);font-weight:420;line-height:1}.wc-big small{color:var(--ink-2);letter-spacing:0;margin-left:.05em;font-size:.45em}.wc-small{margin-top:var(--space-2);color:var(--ink-2);max-width:8.5rem;font-size:.8rem;line-height:1.3}.wheel-hand{transform-origin:200px 200px;transform:rotate(var(--angle))}[data-animate] .wheel-hand{animation:wheel-sweep 1.3s var(--ease-out) both}[data-animate] .wheel-progress{animation:wheel-fill 1.3s var(--ease-out) both}[data-animate] .wheel-calendar{transform-origin:200px 200px;animation:wheel-settle 1.5s var(--ease-out) both}[data-animate]+.wheel-center,[data-animate] .wheel-center{animation:fade-in .7s .5s var(--ease-out) both}@keyframes wheel-sweep{0%{transform:rotate(0)}}@keyframes wheel-fill{0%{stroke-dasharray:0 var(--circ)}}@keyframes wheel-settle{0%{opacity:0;transform:rotate(-70deg)}}@keyframes fade-in{0%{opacity:0}}.idle-key{justify-content:center;gap:var(--space-2) var(--space-5);margin:var(--space-4) 0 0;font-size:var(--step--1);color:var(--ink-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.idle-key li{align-items:center;gap:var(--space-2);display:inline-flex}.key{border-radius:2px;width:1.4rem;height:.55rem}.key-tri{background:linear-gradient(90deg, var(--tri-1) 33%, var(--tri-2) 33% 66%, var(--tri-3) 66%)}.key-full{background:var(--apricot)}.key-edge{background:repeating-linear-gradient(45deg, var(--apricot) 0 2px, var(--apricot-wash) 2px 4px)}.key-due{background:var(--apricot);border-radius:50%;width:.8rem;height:.8rem}@media (width<=59.99rem){.calc-idle{display:none}}.calc-result{gap:var(--space-5);scroll-margin-top:5rem;display:grid}.calc-result[hidden],.calc-body[hidden]{display:none}.r-head{gap:var(--space-5);display:grid}.r-wheel{width:min(100%,22rem)}.r-wheel .wc-big{font-size:clamp(2rem,1.6rem + 1.6vw,2.5rem)}.r-wheel .wc-small{font-size:.78rem}.r-label{color:var(--ink-2);font-weight:650;font-size:var(--step--1)}.r-edd{letter-spacing:-.02em;margin-top:var(--space-1);outline:none;font-size:clamp(1.9rem,1.4rem + 2.2vw,2.75rem);font-weight:430}.r-ga{margin-top:var(--space-3);font-size:var(--step-1);line-height:1.45}.r-ga strong{font-weight:700}.r-chips{gap:var(--space-2);margin:var(--space-4) 0 0;flex-wrap:wrap;display:flex}.r-chips div{padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);background:var(--surface);border:1px solid var(--line);min-width:7rem}.r-chips dt{color:var(--ink-2);font-size:.78rem}.r-chips dd{margin:0;font-size:1.05rem;font-weight:700}.r-alert{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-s);background:var(--danger-wash);border-left:4px solid var(--danger)}.r-method{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--line);gap:var(--space-2);font-size:var(--step--1);display:grid}.r-method-label{margin-right:var(--space-1);font-weight:700}.r-working{padding:var(--space-2) var(--space-3);background:var(--surface-2);border-radius:var(--radius-s);justify-self:start;font-size:.95rem}.r-note{color:var(--ink-2)}.r-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.r-actions svg{width:1.1rem;height:1.1rem}.menu{position:relative}.menu summary{list-style:none}.menu summary::-webkit-details-marker{display:none}.menu-panel{z-index:10;left:0;top:calc(100% + var(--space-2));width:min(19rem,100vw - 2.5rem);padding:var(--space-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:var(--shadow-panel);position:absolute}.menu-panel button{text-align:left;width:100%;min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);color:var(--ink);font:600 .95rem / 1.3 var(--font-ui);cursor:pointer;background:0 0;border:0;display:block}.menu-panel button:hover{background:var(--surface-2)}.menu-panel p{padding:var(--space-2) var(--space-3) var(--space-1)}.asof{align-items:center;gap:var(--space-3);font-size:var(--step--1);color:var(--ink-2);font-weight:600;display:flex}.asof input{width:auto;min-height:44px;font-size:.95rem}.share-note{padding:var(--space-3) var(--space-4);border-radius:var(--radius-s);background:var(--iris-wash)}@media (width>=60rem){.calc.has-result .calc-main{grid-template-columns:minmax(0,30rem) minmax(0,1fr)}}.calc-body{margin-top:var(--space-7);gap:var(--space-6);display:grid}.r-notice{max-width:52rem;font-size:var(--step--1);padding:var(--space-4) var(--space-5);border-left:3px solid var(--apricot);background:var(--surface);border-radius:0 var(--radius-s) var(--radius-s) 0;line-height:1.55}.r-grid{gap:var(--space-6);display:grid}@media (width>=60rem){.r-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(2rem,4vw,4rem)}}.r-section h3,.r-card-title{font-family:var(--font-display);font-size:var(--step-2);font-weight:480}.r-side{gap:var(--space-4);align-content:start;display:grid}.r-card{padding:var(--space-5);border-radius:var(--radius-m);background:var(--surface);border:1px solid var(--line);display:block}.r-card>*+*{margin-top:var(--space-3)}.r-card p{font-size:.98rem}.r-fine{color:var(--ink-2);font-size:var(--step--1)!important}.r-src{white-space:nowrap;font-size:.85em}.r-src a{color:var(--ink-2)}.r-week{gap:var(--space-4);color:var(--ink);transition:border-color .16s var(--ease-out);align-items:center;text-decoration:none;display:flex}.r-week:hover{border-color:var(--iris);color:var(--ink)}.r-week img,.r-week-num{object-fit:cover;background:#eff1ec;border-radius:50%;flex:none;width:112px;height:112px}.r-week-num{font:420 2.5rem var(--font-display);color:var(--ink-2);background:var(--surface-2);place-items:center;display:grid}.r-week-text{gap:var(--space-1);display:grid;margin:0!important}.r-week-measure{font-size:var(--step--1);color:var(--ink-2)}.r-link{color:var(--iris);font-size:.95rem;font-weight:650}.term-list{gap:var(--space-1);padding:0;list-style:none;display:grid}.term-list li{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);border-radius:var(--radius-s);grid-template-columns:1.4rem 1fr auto;font-size:.95rem;display:grid}.term-list li.is-current{background:var(--apricot-wash)}.term-swatch{border-radius:4px;width:1.1rem;height:1.1rem}.term-early-term .term-swatch,.term-late-term .term-swatch{background:repeating-linear-gradient(45deg, var(--apricot) 0 2px, var(--apricot-wash) 2px 4.5px)}.term-full-term .term-swatch{background:var(--apricot)}.term-postterm .term-swatch{background:var(--surface-2);border:1.5px dashed var(--ink-3)}.term-name{font-weight:650}.term-now{background:var(--ink);color:var(--paper);margin-left:var(--space-1);vertical-align:.1em;border-radius:999px;padding:.1rem .45rem;font-size:.75rem;font-weight:700}.term-dates{color:var(--ink-2);text-align:right;font-size:.9rem}.tl{margin:var(--space-5) 0 0;padding:0;list-style:none;position:relative}.tl:before{content:"";background:var(--line);width:2px;position:absolute;top:.6rem;bottom:.6rem;left:.5rem}.tl-item{gap:var(--space-4);padding-bottom:var(--space-5);grid-template-columns:1rem 1fr;display:grid;position:relative}.tl-dot{z-index:1;background:var(--surface);border:2px solid var(--ink-3);border-radius:50%;width:1rem;height:1rem;margin-top:.35rem;position:relative}.tl-trimester .tl-dot{border-color:var(--tri-3);background:var(--tri-2)}.tl-term .tl-dot{border-color:var(--apricot);background:var(--apricot-wash)}.tl-due .tl-dot{border:3px solid var(--surface);background:var(--apricot);width:1.25rem;height:1.25rem;box-shadow:0 0 0 2px var(--apricot);margin-left:-.125rem}.tl-today .tl-dot{border-color:var(--iris);background:var(--iris);box-shadow:0 0 0 5px var(--iris-wash)}.tl-today .tl-label{color:var(--iris)}.tl-item.is-past .tl-label,.tl-item.is-past .tl-date{color:var(--ink-3)}.tl-item.is-past .tl-dot{border-color:var(--line-strong);background:var(--surface-2);box-shadow:none}.tl-date{gap:var(--space-3);font-size:var(--step--1);color:var(--ink-2);align-items:baseline;font-weight:600;display:flex}.tl-ga{background:var(--surface-2);color:var(--ink-2);border-radius:4px;padding:0 .4rem;font-size:.78rem}.tl-label{font-size:1.05rem;font-weight:700;line-height:1.35}.tl-due .tl-label{font-family:var(--font-display);font-size:1.3rem;font-weight:500}.tl-detail{font-size:var(--step--1);color:var(--ink-2);margin-top:.15rem}.care-head{gap:var(--space-3) var(--space-5);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.r-care>.r-fine{margin-top:var(--space-2);max-width:44rem}.seg{background:var(--surface-2);border-radius:999px;padding:3px;display:inline-flex}.seg button{min-width:3.5rem;min-height:40px;color:var(--ink-2);font:700 .9rem var(--font-ui);cursor:pointer;background:0 0;border:0;border-radius:999px}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #0000001f}.care-list{margin:var(--space-5) 0 0;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));padding:0;list-style:none;display:grid}.care-list li{padding:var(--space-4);border-radius:var(--radius-m);background:var(--surface);border:1px solid var(--line)}.care-list li.is-past{opacity:.62}.care-dates{font-size:var(--step--1);color:var(--iris);font-weight:700}.care-list li.is-past .care-dates{color:var(--ink-2)}.care-label{margin-top:var(--space-1);font-weight:700;line-height:1.35}.care-detail{font-size:var(--step--1);color:var(--ink-2);margin-top:var(--space-1)}.print-only{display:none}@media print{.calc-form,.calc-idle,.r-actions,.asof,.seg{display:none!important}.calc-main,.r-grid{display:block!important}.calc-body{margin-top:1rem}.r-wheel{float:right;width:12rem}.care-list,.r-care{display:none}.print-only{break-inside:avoid;margin-top:1rem;display:table}.r-card,.tl-item{break-inside:avoid}[data-animate] *{animation:none!important}}.redate-dates{gap:var(--space-2);margin:var(--space-3) 0 0;grid-template-columns:1fr 1fr;display:grid}.redate-dates div{padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);background:var(--surface-2)}.redate-dates dt{color:var(--ink-2);font-size:.78rem}.redate-dates dd{margin:0;font-weight:700}.redate-kept{padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);background:var(--apricot-wash)}
