.ubrm{--plum:#74466f;--pale:#fbf6fb;--line:#eadbe9;max-width:1050px;margin:0 auto;padding:24px;color:#302c3c;background:#fff;border:1px solid #eee4ef;border-radius:25px;font-family:inherit}.ubrm *{box-sizing:border-box}.ubrm header h2{font-size:27px;color:var(--plum);margin:0 0 4px}.ubrm header p{font-size:14px;color:#665e6c;margin:0}.ubrm-top{display:grid;grid-template-columns:1.08fr 1fr;gap:26px;align-items:start;margin:22px 0}.ubrm-wheel-area{text-align:center}.ubrm-wheel{width:min(100%,425px);aspect-ratio:1;position:relative;margin:auto;cursor:grab;touch-action:none;user-select:none;outline-offset:5px}.ubrm-wheel:active{cursor:grabbing}.ubrm-svg{width:100%;height:100%;filter:drop-shadow(0 10px 11px #98779c30)}.ubrm-hub{position:absolute;inset:33%;border-radius:50%;background:white;border:2px solid #dcb9d7;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.ubrm-hub small{font-size:11px;color:#8b778d}.ubrm-hub strong{font-size:29px;color:var(--plum)}.ubrm-hint{font-size:12px;color:#716675}.ubrm-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ubrm-fields label{display:flex;flex-direction:column;font-size:12px;font-weight:700;gap:5px}.ubrm-fields input,.ubrm-fields select{width:100%;min-width:0;border:1px solid #cdbbcf;border-radius:10px;background:#fff;padding:10px;font:inherit;font-size:14px;color:#302c3c}.ubrm-hero{display:flex;flex-direction:column;align-items:flex-start;background:linear-gradient(120deg,#f8edf6,#f2f5ff);border:1px solid #ead8ef;border-radius:17px;padding:16px;margin:14px 0}.ubrm-tri{font-size:12px;background:#f0e2ef;border-radius:15px;padding:5px 9px}.ubrm-bigsa{font-size:36px;line-height:1.4;color:var(--plum)}.ubrm-sg{color:#716675}.ubrm-dates>div{display:flex;justify-content:space-between;gap:14px;border-top:1px solid #e8dce8;padding:11px 0;font-size:13px}.ubrm-dates strong{text-align:right}.ubrm-reset{background:var(--plum);color:white;border:0;border-radius:9px;padding:12px 16px;cursor:pointer}.ubrm-cards{display:grid;grid-template-columns:1fr 1fr;gap:13px}.ubrm-cards article,.ubrm-panel{background:var(--pale);border:1px solid var(--line);border-radius:16px;padding:17px;margin:0}.ubrm-cards h3,.ubrm-panel h3{font-size:16px;color:var(--plum);margin:0 0 12px}.ubrm-cards strong{display:block;font-size:15px;margin-bottom:9px}.ubrm-cards p,.ubrm-panel p{font-size:13px;line-height:1.6;margin:0 0 8px}.ubrm-panel{margin-top:14px}.ubrm-links{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.ubrm-links a{border-radius:30px;background:#f0e0f0;color:#633663;text-decoration:none;padding:10px 13px;font-weight:700;font-size:13px}.ubrm-links a.active{background:var(--plum);color:#fff}.ubrm-panel small,.ubrm-disclaimer{font-size:12px;color:#706774}.ubrm-tasks{padding-left:22px;margin:8px 0;font-size:13px;line-height:1.7}.ubrm-tasks li{margin-bottom:7px}.ubrm details{margin:17px 0;font-size:13px}.ubrm summary{cursor:pointer;font-weight:700}.ubrm-disclaimer{line-height:1.6}@media(max-width:720px){.ubrm{padding:15px}.ubrm-top{grid-template-columns:1fr}.ubrm-wheel{max-width:390px}.ubrm-cards{grid-template-columns:1fr}}@media(max-width:380px){.ubrm-fields{grid-template-columns:1fr}}

/* 1.1: roue lisible et commandes cohérentes sur mobile */
.ubrm-wheel{max-width:390px;transition:filter .2s ease}
.ubrm-wheel:hover{filter:brightness(1.015)}
.ubrm-svg{overflow:visible}
.ubrm-hub{inset:36%;padding:6px;gap:2px;box-shadow:0 5px 24px #9b6a9120;border:2px solid #e7cfe2}
.ubrm-hub small{display:block;max-width:100%;font-size:clamp(8px,1.1vw,10px);line-height:1.2;text-align:center}
.ubrm-hub strong{font-size:clamp(18px,3.2vw,29px);line-height:1.12;white-space:nowrap}
.ubrm-reset,.ubrm-reset:hover,.ubrm-reset:focus,.ubrm-reset:active,.ubrm-reset:visited{background:#74466f!important;color:#fff!important;border:1px solid #74466f!important;box-shadow:none!important;text-decoration:none!important;opacity:1!important}
.ubrm-reset:focus-visible{outline:3px solid #d8a8cf;outline-offset:3px}
@media(max-width:720px){
.ubrm{padding:15px 12px;border-radius:20px}
.ubrm header h2{font-size:clamp(22px,5.3vw,27px)}
.ubrm-top{gap:18px}
.ubrm-wheel{width:min(100%,360px)}
.ubrm-hub{inset:37%;padding:3px}
.ubrm-hub small{font-size:clamp(7px,2vw,9px);line-height:1.15}
.ubrm-hub strong{font-size:clamp(17px,5.4vw,25px)}
.ubrm-hint{max-width:320px;margin:12px auto 0;line-height:1.5}
.ubrm-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ubrm-fields label{font-size:11px}
.ubrm-fields input,.ubrm-fields select{font-size:13px;padding:9px 6px}
}
@media(max-width:350px){.ubrm-fields{grid-template-columns:1fr}}

/* v1.2: mobile layout and persistent controls, stronger specificity against ColorMag */
.ubrm .ubrm-wheel{width:100%;max-width:390px;overflow:visible}
.ubrm .ubrm-hub{inset:35%;min-width:0;min-height:0;padding:4px 2px;display:flex;gap:3px;align-items:center;justify-content:center;flex-direction:column;line-height:1.1;text-align:center;background:#fff;border:2px solid #e4c7df;box-shadow:0 4px 20px #78436b20}
.ubrm .ubrm-hub .ubrm-hubcaption{font-size:10px!important;line-height:1.2!important;font-weight:400;color:#87748a;max-width:90%;margin:0!important;white-space:normal}
.ubrm .ubrm-hub .ubrm-hubsa{font-size:clamp(19px,3vw,30px)!important;line-height:1.1!important;letter-spacing:-.03em;white-space:nowrap;margin:0!important;color:#74466f}
.ubrm button.ubrm-reset,.ubrm button.ubrm-reset:hover,.ubrm button.ubrm-reset:focus,.ubrm button.ubrm-reset:active{background-color:#74466f!important;color:#fff!important;border-color:#74466f!important;opacity:1!important}
@media(max-width:720px){
.ubrm .ubrm-wheel{width:min(100%,340px);margin-inline:auto}
.ubrm .ubrm-hub{inset:35%;padding:3px 1px}
.ubrm .ubrm-hub .ubrm-hubcaption{font-size:clamp(8px,2.3vw,10px)!important}
.ubrm .ubrm-hub .ubrm-hubsa{font-size:clamp(18px,6vw,25px)!important}
.ubrm .ubrm-hint{font-size:12px;line-height:1.45}
}

/* v1.3: stronger mobile layout: center text must never overlap */
.ubrm .ubrm-wheel{width:min(100%,390px);aspect-ratio:1;isolation:isolate}
.ubrm .ubrm-hub{inset:34%;padding:0!important;overflow:hidden;gap:0!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:column!important}
.ubrm .ubrm-hub .ubrm-hubcaption{display:block!important;position:static!important;max-width:90%;font-size:9px!important;line-height:1.25!important;margin:2px 0!important;transform:none!important}
.ubrm .ubrm-hub .ubrm-hubsa{display:block!important;position:static!important;font-size:clamp(19px,4vw,28px)!important;line-height:1.15!important;margin:2px 0!important;transform:none!important}
.ubrm button.ubrm-reset{appearance:none!important;-webkit-appearance:none!important;background:#74466f!important;color:#fff!important;box-shadow:0 3px 10px #74466f30!important}
.ubrm button.ubrm-reset:is(:hover,:focus,:active){background:#74466f!important;color:#fff!important;opacity:1!important}
@media(max-width:720px){
.ubrm .ubrm-wheel{width:min(100%,340px)}
.ubrm .ubrm-hub{inset:34%!important}
.ubrm .ubrm-hub .ubrm-hubcaption{font-size:clamp(8px,2.2vw,9px)!important}
.ubrm .ubrm-hub .ubrm-hubsa{font-size:clamp(18px,5vw,24px)!important}
}

/* v1.4: concentric independent rings */
.ubrm .ubrm-wheel{touch-action:none;user-select:none}
.ubrm .ubrm-svg{display:block;width:100%;height:100%;overflow:visible}
.ubrm .ubrm-hub{pointer-events:none}
.ubrm .ubrm-hubunit{font-size:9px;line-height:1.2;color:#856c82;text-align:center}
@media(max-width:440px){.ubrm .ubrm-hub{inset:37%!important}.ubrm .ubrm-hub .ubrm-hubsa{font-size:18px!important}.ubrm .ubrm-hubcaption,.ubrm .ubrm-hubunit{font-size:8px!important}}

/* v1.5: make the two independent touch zones obvious */
.ubrm .ubrm-wheel{touch-action:none!important;cursor:grab}
.ubrm .ubrm-wheel:active{cursor:grabbing}

/* v1.6: independent rings connected to their respective date inputs */
.ubrm .ubrm-wheel{cursor:grab}
.ubrm .ubrm-wheel:active{cursor:grabbing}

/* v1.7: grouped, accessible collapsible prenatal milestones */
.ubrm .ubrm-task-groups{display:grid;gap:12px;margin-top:18px}
.ubrm .ubrm-accordion{border:1px solid #e8d5e4;border-radius:14px;background:#fff;overflow:hidden}
.ubrm .ubrm-accordion>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer;padding:16px 18px;font-weight:700;color:#70466d;background:#fcf6fb}
.ubrm .ubrm-accordion>summary::-webkit-details-marker{display:none}
.ubrm .ubrm-accordion>summary:after{content:'⌄';font-size:21px;line-height:1;transition:transform .2s}
.ubrm .ubrm-accordion[open]>summary:after{transform:rotate(180deg)}
.ubrm .ubrm-accordion>summary span:nth-child(2){margin-left:auto;color:#866c82;font-size:12px;font-weight:500;white-space:nowrap}
.ubrm .ubrm-accordion ul{list-style:none;margin:0!important;padding:8px 18px 14px!important}
.ubrm .ubrm-accordion li{padding:12px 0;border-bottom:1px solid #f0e6ee;margin:0}
.ubrm .ubrm-accordion li:last-child{border-bottom:0}
.ubrm .ubrm-accordion li strong,.ubrm .ubrm-task-date{display:block}
.ubrm .ubrm-task-date{font-size:12px;color:#886783;margin:4px 0}
.ubrm .ubrm-accordion li p{margin:5px 0 0;font-size:14px;line-height:1.5}
.ubrm .ubrm-accordion[hidden]{display:none}
@media(max-width:480px){.ubrm .ubrm-accordion>summary{padding:14px 12px;font-size:13px}.ubrm .ubrm-accordion>summary span:nth-child(2){font-size:11px}}

/* v1.9: fixed calendar, single draggable inner week disk */
.ubrm .ubrm-svg{overflow:visible}
.ubrm .ubrm-hint{max-width:400px;margin-inline:auto}

/* v2.0: full year calendar and inner week disk */
.ubrm .ubrm-svg{overflow:visible}
