:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#007aff;text-decoration:none;transition:color .15s ease}a:hover{color:#0a84ff}body{margin:0;min-width:320px;min-height:100vh;background-color:#f2f2f7;color:#1d1d1f}h1{font-size:2.5rem;font-weight:700;line-height:1.1;letter-spacing:-.025em}h2{font-size:1.75rem;font-weight:600;letter-spacing:-.02em}h3{font-size:1.25rem;font-weight:600;letter-spacing:-.015em}input[type=text],input[type=date],input[type=number],input[type=email],select,textarea{font-family:inherit;font-size:1rem;padding:.75rem 1rem;border:1px solid rgba(0,0,0,.1);border-radius:12px;background:#fff;color:#1d1d1f;transition:all .15s ease;outline:none}input[type=text]:focus,input[type=date]:focus,input[type=number]:focus,input[type=email]:focus,select:focus,textarea:focus{border-color:#007aff;box-shadow:0 0 0 3px #007aff26}input[type=color]{-webkit-appearance:none;appearance:none;width:44px;height:44px;border:none;border-radius:50%;cursor:pointer;padding:0;overflow:hidden}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:2px solid rgba(0,0,0,.1);border-radius:50%}::selection{background:#007aff33}._calendarContainer_1j13h_1{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--spacing-xl);max-width:500px;margin:0 auto}._header_1j13h_10{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding:0 var(--spacing-xs)}._monthTitle_1j13h_18{margin:0;font-size:1.125rem;color:var(--color-text);font-weight:var(--font-weight-semibold);letter-spacing:-.02em}._navButton_1j13h_26{background:var(--color-surface-secondary);color:var(--color-primary);border:none;border-radius:var(--radius-full);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.125rem;font-weight:var(--font-weight-semibold);transition:all var(--transition-fast);padding:0}._navButton_1j13h_26:hover{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-md);transform:scale(1.05)}._navButton_1j13h_26:active{transform:scale(.95)}._grid_1j13h_54{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}._weekdayHeader_1j13h_60{font-weight:var(--font-weight-medium);text-align:center;padding:var(--spacing-sm);color:var(--color-text-tertiary);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}._day_1j13h_70{aspect-ratio:1 / 1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--radius-md);font-size:.875rem;position:relative;transition:all var(--transition-fast);cursor:default;border:none}._day_1j13h_70:hover{transform:scale(1.08);z-index:1}._dayNumber_1j13h_89{font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums}._dayPadding_1j13h_94{aspect-ratio:1 / 1}._dangerous_1j13h_98{background:linear-gradient(135deg,#fff5f5,#ffe5e5);color:var(--color-fertile);box-shadow:inset 0 0 0 1.5px #ff95004d}._dangerous_1j13h_98 ._dayNumber_1j13h_89{font-weight:var(--font-weight-semibold)}._ovulation_1j13h_108{background:linear-gradient(135deg,#ff2d55,#ff375f);color:#fff;font-weight:var(--font-weight-bold);box-shadow:0 4px 12px #ff2d5559,inset 0 1px #fff3;animation:_pulse_1j13h_1 2s ease-in-out infinite}@keyframes _pulse_1j13h_1{0%,to{box-shadow:0 4px 12px #ff2d5559,inset 0 1px #fff3}50%{box-shadow:0 4px 20px #ff2d5580,inset 0 1px #fff3}}._period_1j13h_121{background:linear-gradient(135deg,#af52de,#bf5af2);color:#fff;box-shadow:0 2px 8px #af52de4d,inset 0 1px #ffffff26}._period_1j13h_121 ._dayNumber_1j13h_89{font-weight:var(--font-weight-semibold)}._neutral_1j13h_131{background:var(--color-surface-secondary);color:var(--color-text)}._neutral_1j13h_131:hover{background:#007aff14}._projected_1j13h_140{border:2px dashed var(--color-text-tertiary)}._period_1j13h_121._projected_1j13h_140{background:linear-gradient(135deg,#d8b4fe,#e9d5ff);color:#581c87;box-shadow:none}._ovulation_1j13h_108._projected_1j13h_140{background:linear-gradient(135deg,#fda4af,#fecdd3);color:#881337;animation:none;box-shadow:none}._dangerous_1j13h_98._projected_1j13h_140{background:linear-gradient(135deg,#fdba74,#fed7aa);color:#7c2d12;box-shadow:none}._container_1tkde_1{padding:var(--spacing-md);max-width:1100px;margin:0 auto}._layout_1tkde_7{display:grid;grid-template-columns:1fr 520px;gap:var(--spacing-4xl);align-items:start}._calendarSection_1tkde_14{min-width:0;position:sticky;top:var(--spacing-lg)}._sideSection_1tkde_20{min-width:0;display:flex;flex-direction:column;gap:var(--spacing-lg)}._header_1tkde_27{background:var(--color-surface);padding:var(--spacing-xl);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}._header_1tkde_27:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-light) 50%,var(--color-secondary) 100%)}._title_1tkde_46{margin:0;color:var(--color-text);font-size:1.75rem;font-weight:var(--font-weight-bold);letter-spacing:-.025em}._subtitle_1tkde_54{margin:var(--spacing-sm) 0 0 0;color:var(--color-text-secondary);font-size:1.0625rem;line-height:1.5}._addCycleSection_1tkde_61{padding:var(--spacing-lg);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-lg)}._addCycleTitle_1tkde_68{margin:0 0 var(--spacing-md) 0;font-size:1.125rem;font-weight:var(--font-weight-semibold);color:var(--color-text);letter-spacing:-.015em}._inputGroup_1tkde_76{display:flex;gap:var(--spacing-md);align-items:center}._dateInput_1tkde_82{flex:1;padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);font-size:1rem;font-family:var(--font-family);background:var(--color-surface);transition:all var(--transition-fast);color:var(--color-text)}._dateInput_1tkde_82:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #007aff26}._loading_1tkde_100{display:flex;align-items:center;justify-content:center;padding:var(--spacing-2xl);color:var(--color-text-secondary);font-size:1rem;background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}._loading_1tkde_100:after{content:"";width:20px;height:20px;margin-left:var(--spacing-md);border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:_spin_1tkde_1 .8s linear infinite}@keyframes _spin_1tkde_1{to{transform:rotate(360deg)}}@media(max-width:900px){._layout_1tkde_7{grid-template-columns:1fr}._calendarSection_1tkde_14{position:static;order:-1}}._container_84uck_1{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--spacing-lg);max-width:none;margin:0}._title_84uck_10{margin:0 0 var(--spacing-lg) 0;font-size:1.25rem;font-weight:var(--font-weight-semibold);color:var(--color-text);letter-spacing:-.02em}._form_84uck_18{margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);border-radius:var(--radius-lg);background:var(--color-surface-secondary);border:none}._formTitle_84uck_26{margin:0 0 var(--spacing-md) 0;font-size:1rem;font-weight:var(--font-weight-medium);color:var(--color-text)}._formGroup_84uck_33{margin-bottom:var(--spacing-md);display:flex;gap:var(--spacing-md);align-items:center;flex-wrap:wrap}._formGroup_84uck_33 label{font-size:.875rem;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);min-width:60px}._input_84uck_48{flex:1;min-width:150px;padding:.625rem .875rem;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);font-size:.9375rem;font-family:var(--font-family);background:var(--color-surface);color:var(--color-text);transition:all var(--transition-fast)}._input_84uck_48:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #007aff26}._colorInput_84uck_67{width:44px;height:44px;padding:0;border:none;background:none;cursor:pointer;border-radius:var(--radius-full);overflow:hidden}._profileList_84uck_78{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}._profileItem_84uck_87{padding:var(--spacing-md);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);border-radius:var(--radius-lg);background:var(--color-surface-secondary);transition:all var(--transition-fast);border:1px solid transparent}._profileItem_84uck_87:hover{background:#007aff0a;border-color:var(--color-border)}._editingItem_84uck_104{background:#007aff14;border-color:var(--color-primary)}._editingItem_84uck_104:hover{background:#007aff14}._editForm_84uck_113{display:flex;gap:var(--spacing-md);align-items:center;width:100%;flex-wrap:wrap}._editInput_84uck_121{flex:1;min-width:120px;padding:.5rem .75rem;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);font-size:.9375rem;font-family:var(--font-family);background:var(--color-surface);color:var(--color-text);transition:all var(--transition-fast)}._editInput_84uck_121:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #007aff26}._editColorInput_84uck_140{width:36px;height:36px;padding:0;border:none;background:none;cursor:pointer;border-radius:var(--radius-full);overflow:hidden;flex-shrink:0}._manualLengthInput_84uck_152{width:100px;padding:.5rem .75rem;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);font-size:.9375rem;font-family:var(--font-family);background:var(--color-surface);color:var(--color-text);transition:all var(--transition-fast)}._manualLengthInput_84uck_152:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #007aff26}._manualLengthInput_84uck_152::placeholder{color:var(--color-text-tertiary)}._actions_84uck_174{margin-left:auto;display:flex;gap:var(--spacing-sm);flex-shrink:0}._actions_84uck_174 button{padding:.5rem 1rem;font-size:.875rem}._profileInfo_84uck_186{display:flex;align-items:center;gap:var(--spacing-md);min-width:0}._avatar_84uck_193{width:36px;height:36px;border-radius:var(--radius-full);flex-shrink:0;box-shadow:inset 0 0 0 2px #ffffff4d,var(--shadow-sm)}._nickname_84uck_201{font-weight:var(--font-weight-semibold);color:var(--color-text);font-size:.9375rem}._manualLengthLabel_84uck_207{font-size:.8125rem;color:var(--color-text-secondary);background:var(--color-surface);padding:.25rem .625rem;border-radius:var(--radius-full)}@media(max-width:600px){._editForm_84uck_113{flex-direction:column;align-items:stretch}._editInput_84uck_121,._manualLengthInput_84uck_152{width:100%}._actions_84uck_174{margin-left:0;justify-content:flex-end}}._overlay_150x5_1{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}._modal_150x5_14{background-color:#fff;padding:2rem;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a}._header_150x5_25{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}._title_150x5_32{margin:0;font-size:1.5rem;color:#333}._closeButton_150x5_38{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666}._formGroup_150x5_46{margin-bottom:1rem}._label_150x5_50{display:block;margin-bottom:.5rem;font-weight:500;color:#333}._input_150x5_57{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}._cyclesSection_150x5_65{margin-top:2rem;border-top:1px solid #eee;padding-top:1rem}._cyclesList_150x5_71{list-style:none;padding:0;margin:1rem 0}._cycleItem_150x5_77{display:flex;gap:1rem;margin-bottom:.5rem;align-items:center}._deleteButton_150x5_84{background-color:#f44;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}._addButton_150x5_93{background-color:#4a90e2;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;margin-bottom:1rem}._actions_150x5_103{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}._cancelButton_150x5_110{background-color:#eee;color:#333;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}._saveButton_150x5_119{background-color:#4caf50;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}._container_1ba0a_1{padding:var(--spacing-md);max-width:1100px;margin:0 auto}._layout_1ba0a_7{display:grid;grid-template-columns:1fr 520px;gap:var(--spacing-4xl);align-items:start}._calendarSection_1ba0a_14{min-width:0;position:sticky;top:var(--spacing-lg)}._sideSection_1ba0a_20{min-width:0;display:flex;flex-direction:column;gap:var(--spacing-lg)}._profileManagementSection_1ba0a_27{margin-top:0}._toggleButton_1ba0a_31{width:100%;background:var(--color-surface);border:none;padding:var(--spacing-lg);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all var(--transition-fast);margin-bottom:var(--spacing-md)}._toggleButton_1ba0a_31:hover{background:var(--color-surface-secondary);transform:translateY(-1px);box-shadow:var(--shadow-xl)}._toggleButton_1ba0a_31:active{transform:translateY(0)}._toggleButtonText_1ba0a_56{font-size:1.25rem;font-weight:var(--font-weight-semibold);color:var(--color-text);letter-spacing:-.02em}._toggleIcon_1ba0a_63{font-size:.875rem;color:var(--color-text-secondary);transition:transform var(--transition-fast)}._toggleIconExpanded_1ba0a_69{transform:rotate(-180deg)}._header_1ba0a_73{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);background:var(--color-surface);padding:var(--spacing-lg);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);flex-wrap:wrap}._title_1ba0a_85{margin:0;font-size:1.25rem;font-weight:var(--font-weight-semibold);color:var(--color-text);letter-spacing:-.02em}._select_1ba0a_93{padding:.625rem 2.5rem .625rem 1rem;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);font-size:.9375rem;font-family:var(--font-family);min-width:160px;background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:all var(--transition-fast);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2386868B' d='M6 8.5L1.5 4h9L6 8.5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}._select_1ba0a_93:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #007aff26}._select_1ba0a_93:hover{border-color:var(--color-text-tertiary)}._addCycleSection_1ba0a_121{padding:var(--spacing-lg);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}._addCycleTitle_1ba0a_131{margin:0;font-size:1.125rem;font-weight:var(--font-weight-semibold);color:var(--color-text);letter-spacing:-.015em}._dateInput_1ba0a_139{padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);font-size:1rem;font-family:var(--font-family);background:var(--color-surface);color:var(--color-text);transition:all var(--transition-fast);margin-right:var(--spacing-md)}._dateInput_1ba0a_139:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #007aff26}._loading_1ba0a_157{display:flex;align-items:center;justify-content:center;padding:var(--spacing-2xl);color:var(--color-text-secondary);font-size:1rem;background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}._loading_1ba0a_157:after{content:"";width:20px;height:20px;margin-left:var(--spacing-md);border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:_spin_1ba0a_1 .8s linear infinite}@keyframes _spin_1ba0a_1{to{transform:rotate(360deg)}}@media(max-width:900px){._layout_1ba0a_7{grid-template-columns:1fr}._calendarSection_1ba0a_14{position:static;order:-1}._header_1ba0a_73{flex-direction:column;align-items:stretch}._select_1ba0a_93{width:100%}}:root{--color-primary: #007AFF;--color-primary-light: #5AC8FA;--color-secondary: #34C759;--color-danger: #FF3B30;--color-warning: #FF9500;--color-ovulation: #FF2D55;--color-period: #AF52DE;--color-fertile: #FF9500;--color-background: #F2F2F7;--color-surface: #FFFFFF;--color-surface-secondary: #F9F9FB;--color-text: #1D1D1F;--color-text-secondary: #86868B;--color-text-tertiary: #AEAEB2;--color-border: rgba(0, 0, 0, .08);--color-border-strong: rgba(0, 0, 0, .12);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px rgba(0, 0, 0, .04), 0 2px 4px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .06), 0 4px 10px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .08), 0 8px 16px rgba(0, 0, 0, .04);--font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--spacing-4xl: 80px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}body{font-family:var(--font-family);color:var(--color-text);background-color:var(--color-background);margin:0;padding:0;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;letter-spacing:-.01em}button{font-family:var(--font-family);font-size:.9375rem;font-weight:var(--font-weight-medium);padding:.625rem 1.25rem;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);letter-spacing:-.01em;white-space:nowrap}button:active{transform:scale(.97)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}button:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.btn-primary{background:linear-gradient(180deg,#0a84ff,#007aff);color:#fff;box-shadow:var(--shadow-sm),inset 0 1px #ffffff26}.btn-primary:hover{background:linear-gradient(180deg,#3395ff,#0a84ff);box-shadow:var(--shadow-md),inset 0 1px #ffffff26;transform:translateY(-1px)}.btn-primary:active{transform:scale(.97) translateY(0)}.btn-secondary{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm),inset 0 0 0 1px var(--color-border-strong)}.btn-secondary:hover{background:var(--color-surface-secondary);box-shadow:var(--shadow-md),inset 0 0 0 1px var(--color-border-strong);transform:translateY(-1px)}.btn-danger{background:linear-gradient(180deg,#ff453a,#ff3b30);color:#fff;box-shadow:var(--shadow-sm),inset 0 1px #ffffff26}.btn-danger:hover{background:linear-gradient(180deg,#ff6961,#ff453a);box-shadow:var(--shadow-md),inset 0 1px #ffffff26;transform:translateY(-1px)}.app-container{width:100%;max-width:1200px;margin:0 auto;padding:var(--spacing-lg)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-text-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}@media(max-width:768px){.app-container{padding:var(--spacing-md)}}@media(max-width:480px){.app-container{padding:var(--spacing-sm)}}._nav_b9o6k_1{display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-lg);width:fit-content;max-width:1100px;margin-left:auto;margin-right:auto}._navLink_b9o6k_15{text-decoration:none;color:var(--color-text-secondary);font-weight:var(--font-weight-medium);padding:.625rem 1.25rem;border-radius:var(--radius-md);transition:all var(--transition-fast);position:relative;font-size:.9375rem;letter-spacing:-.01em}._navLinkActive_b9o6k_27{color:var(--color-surface);background:linear-gradient(180deg,#0a84ff,#007aff);box-shadow:var(--shadow-sm),inset 0 1px #ffffff26}._navLink_b9o6k_15:hover:not(._navLinkActive_b9o6k_27){color:var(--color-text);background:var(--color-surface-secondary)}
