#cc_container{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;max-width:600px;margin:20px auto}.cc_section{background:#fff;border:1px solid #e4e7eb;border-radius:12px;padding:25px;box-shadow:0 5px 25px rgb(0 0 0 / .07);margin-bottom:20px;position:relative}.form-group{margin-bottom:18px}#cc_form label{display:block;font-weight:500;font-size:15px;color:#34495e;margin-bottom:8px}#cc_form input[type="date"],#cc_form input[type="number"],#cc_form select{width:100%;padding:12px;border:1px solid #dcdfe6;border-radius:6px;box-sizing:border-box;font-size:16px;background-color:#fff;color:#333;transition:border-color 0.3s ease,box-shadow 0.3s ease}#cc_form input:focus,#cc_form select:focus{outline:none;border-color:#ec618c;box-shadow:0 0 0 3px rgb(236 97 140 / .2)}#cc_form button#cc_go{width:100%;background:#ec618c;color:#fff;font-size:16px;font-weight:700;cursor:pointer;border:none;border-radius:8px;padding:15px;margin-top:10px;transition:all 0.3s ease}#cc_form button#cc_go:hover{background:#d4547d;transform:translateY(-2px);box-shadow:0 4px 10px rgb(0 0 0 / .1)}.accordion{border-top:1px solid #f1f3f5}.accordion-item{border-bottom:1px solid #f1f3f5}.accordion-header{all:unset;display:flex;justify-content:space-between;align-items:center;width:100%;padding:15px 5px;font-size:16px;font-weight:600;color:#34495e;cursor:pointer;box-sizing:border-box;border-radius:4px;transition:background-color 0.2s ease;-webkit-tap-highlight-color:#fff0}.accordion-header:hover{background-color:#f8f9fa;color:#34495e}.accordion-header[aria-expanded="true"]{background-color:#fdedf2;color:#34495e}.accordion-header[aria-expanded="true"]:hover{background-color:#fce8ee;color:#34495e}.accordion-header .icon{width:10px;height:10px;border-right:2px solid #34495e;border-bottom:2px solid #34495e;transform:rotate(45deg);transition:transform 0.3s ease}.accordion-header[aria-expanded="true"] .icon{transform:rotate(-135deg)}.accordion-content{display:none;padding:0 5px 15px}.form-row{display:flex;gap:10px;align-items:center}.form-row .form-group{flex:1;min-width:0;margin-bottom:10px}.form-row .form-group:last-child{margin-bottom:0}.form-row select{flex-grow:0;flex-shrink:0;width:auto;flex-basis:90px}.height-group{display:flex;gap:10px;flex:1}.height-group.cm-group{display:none}.height-group input{flex:1 1 50%;min-width:40px}.cc_header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.cc_header button{background:#f1f3f5;color:#495057;border:1px solid #dee2e6;border-radius:50%;width:40px;height:40px;cursor:pointer;font-weight:700;font-size:20px;display:flex;align-items:center;justify-content:center;transition:background-color 0.2s}.cc_header button:hover{background-color:#e9ecef}.cc_header span{font-weight:600;font-size:18px;text-align:center;color:#2c3e50}.cc_weekdays,.cc_days{display:grid;grid-template-columns:repeat(7,calc((100% - (6 * 4px)) / 7));gap:4px}.cc_weekdays{margin-bottom:5px;padding:0 2px}.cc_weekdays div{text-align:center;font-weight:500;color:#909399;font-size:14px}.cc_day{border:1px solid #f1f3f5;border-radius:6px;position:relative;cursor:pointer;transition:background-color 0.2s,transform 0.2s;aspect-ratio:1 / 1;display:grid;grid-template-rows:auto 1fr;padding:4px;box-sizing:border-box}.cc_day>div{position:static}.cc_day:hover{transform:scale(1.05);z-index:10;border-color:#dee2e6}.cc_day.blank{background:none;border-color:#fff0;cursor:default}.cc_day.blank:hover{transform:none}.cc_day .num{font-size:14px;text-align:left;grid-row:1}.cc_day .pct{font-size:12px;color:#6c757d;font-weight:500;grid-row:2;align-self:end;text-align:center;width:100%}.menstruation{background-color:#ffc9c9;border-color:#ffb3b3}.light-menstruation{background-color:#fff0f0;border-color:#ffe3e3}.fertile{background-color:#dbe4ff;border-color:#bac8ff}.highest{background-color:#4263eb;color:#fff;border-color:#364fc7}.highest .num,.highest .pct{color:#fff}.ovulate{background-color:#d3f9d8;border-color:#b2f2bb}.cc_legend{display:flex;align-items:center;justify-content:center;font-size:13px;gap:15px;flex-wrap:wrap;margin-top:20px;padding-top:15px;border-top:1px solid #f1f3f5}.cc_legend-item{display:flex;align-items:center;gap:6px}.cc_box{width:14px;height:14px;border-radius:3px}.cc_box.m{background:#ffc9c9}.cc_box.f{background:#dbe4ff}.cc_box.h{background:#4263eb}.cc_box.o{background:#d3f9d8}#cc_ovr_result{display:none;background:#f8f9fa;padding:15px;border-radius:8px;margin-top:20px;font-size:14px;line-height:1.6}#cc_ovr_result strong{color:#34495e}#cc_ovr_result h4{margin:10px 0 5px;font-size:14px}#cc_popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:12px;padding:20px;width:90%;max-width:320px;box-shadow:0 5px 20px rgb(0 0 0 / .2);display:none;z-index:9999}#cc_popup h3{margin:0 0 15px;font-size:18px;color:#2c3e50}#cc_popup p{margin:8px 0;font-size:15px;color:#495057}#cc_popup p strong{color:#34495e}#cc_popup_close{all:unset;position:absolute;top:10px;right:10px;cursor:pointer;font-size:24px;line-height:1;color:#adb5bd;width:30px;height:30px;display:flex;align-items:center;justify-content:center}#cc_spinner{display:none;position:absolute;border:4px solid rgb(0 0 0 / .1);border-top-color:#ec618c;border-radius:50%;animation:spin 1s linear infinite;z-index:10000}@keyframes spin{to{transform:rotate(360deg)}}.blur{position:relative}.blur::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgb(255 255 255 / .5);backdrop-filter:blur(3px);z-index:9999;border-radius:12px}.cc_initial_overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgb(255 255 255 / .6);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;border-radius:12px;padding:20px}.overlay-text-box{background:#fff;padding:15px 20px;border-radius:8px;box-shadow:0 4px 15px rgb(0 0 0 / .1);font-size:16px;font-weight:500;text-align:center}.form-row select,#cc_form select{height:48px;padding-top:12px;padding-bottom:12px;font-size:16px;box-sizing:border-box;align-self:stretch}@media (max-width:400px){.cc_day .num{font-size:11px}.cc_day .pct{font-size:10px}}.trust-signal-inline{text-align:center;padding-top:5px;margin-top:5px;font-size:14px;color:#6c757d}.trust-signal-inline a{color:#16a085;font-weight:500;text-decoration:none;border-bottom:1px solid #fff0;transition:border-color .2s ease}.trust-signal-inline a:hover{border-bottom-color:#16a085}