:root,:root[data-theme=light]{--bg: #ffffff;--surface: #ffffff;--surface-warm: #fff7ed;--surface-strong: #ededed;--text: #000000;--text-secondary: #242424;--hint: #565656;--border: #d4d4d4;--accent: #ff6a00;--accent-secondary: #f97316;--on-accent: #000000;--accent-soft: rgba(255, 106, 0, .12);--dark-accent: #000000;--on-dark-accent: #ffffff;--danger: #dc2626;--success: #16a34a;--disabled: #a3a3a3;--link: #b34a00;--radius: 12px;--radius-chip: 8px}:root[data-theme=dark]{--bg: #0b0b0b;--surface: #151515;--surface-warm: #211811;--surface-strong: #252525;--text: #f5f5f5;--text-secondary: #e5e5e5;--hint: #c6c6c6;--border: #333333;--accent: #ff6a00;--accent-secondary: #f97316;--on-accent: #000000;--accent-soft: rgba(255, 106, 0, .18);--dark-accent: #ededed;--on-dark-accent: #000000;--danger: #f87171;--success: #4ade80;--disabled: #6b6b6b;--link: #ff8a3d}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overflow-x:hidden}#root{width:100%;max-width:560px;margin:0 auto;padding:16px 16px 96px}h1{font-size:22px;font-weight:800;margin:4px 0 2px}h2{font-size:16px;font-weight:700;margin:20px 0 8px}.hint{color:var(--hint);font-size:13px;line-height:1.4;overflow-wrap:anywhere}strong,.title,.muted,.summary li,.btn,.chip{overflow-wrap:anywhere}.stat-hero{font-size:44px;font-weight:800;line-height:1.1;letter-spacing:-.5px}.eyebrow{color:var(--accent);font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}.field{margin:14px 0}.field>label{display:block;font-size:14px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.input{width:100%;padding:12px;font-size:16px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-chip);outline:none}.input:focus{border-color:var(--accent)}.segment{display:flex;gap:8px;flex-wrap:wrap}.chip{padding:10px 14px;font-size:14px;font-weight:600;border-radius:var(--radius-chip);background:var(--surface);color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none}.chip.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.icon-chip{display:inline-flex;align-items:center;gap:6px}.icon-chip .icon{width:16px;height:16px;flex-basis:16px}.btn{width:100%;padding:14px;font-size:16px;font-weight:700;border:none;border-radius:var(--radius);background:var(--accent);color:var(--on-accent);cursor:pointer;line-height:1.2}.btn:disabled{opacity:.5;cursor:default}.btn.with-icon{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px}.icon{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin:12px 0}.card.compact{margin:8px 0;padding:12px}.card.warn{border-left:3px solid var(--danger)}.card.ask{border-left:3px solid var(--accent);background:var(--surface-warm)}.card.primary{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.card.focus{background:var(--surface-warm)}.week-block{margin:16px 0}.week-block>.disclosure-button{border-bottom:1px solid var(--border)}.title{font-weight:700;font-size:14px;margin-bottom:4px}.badge{display:inline-block;padding:3px 8px;border-radius:999px;color:var(--accent);border:1px solid var(--accent);font-size:12px;font-weight:600}.back-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 0;margin:0 0 8px;border:none;background:transparent;color:var(--link);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.back-btn .icon{width:18px;height:18px;flex-basis:18px}.link-inline{display:inline-block;margin-top:10px;padding:0;border:none;background:transparent;color:var(--link);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.link-inline.danger{color:var(--danger)}.option-card{width:100%;color:var(--text);text-align:left;display:flex;justify-content:space-between;gap:12px;cursor:pointer}.option-card span{min-width:0;overflow-wrap:anywhere}.option-card-main{display:inline-flex;align-items:center;gap:8px;min-width:0}.option-card-main .icon{width:18px;height:18px;flex-basis:18px}.note{white-space:pre-wrap;font-size:14px;line-height:1.45}.row{display:flex;gap:10px}.row>*{flex:1}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.facts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}.fact{padding:10px;border-radius:var(--radius-chip);background:var(--surface-strong);margin:10px 0}.facts-grid .fact{margin:0}.progress-block{margin:12px 0 2px}.progress-block-head{display:flex;justify-content:space-between;font-size:13px;margin-bottom:6px}.progress-block-head span:first-child{color:var(--hint)}.progress-block-head span:last-child{font-weight:700}.fact b{display:block;font-size:12px;font-weight:500;color:var(--hint);margin-bottom:3px}.fact span{display:block;font-size:15px;font-weight:700;color:var(--text);overflow-wrap:anywhere}.metric{padding:10px;border-radius:var(--radius-chip);background:var(--surface-strong)}.metric span{display:block;font-size:20px;font-weight:800}.metric small{display:block;color:var(--hint);font-size:12px;margin-top:2px}.error{color:var(--danger);font-size:14px;margin-top:8px}.center{text-align:center}.muted{color:var(--hint)}.collapse-toggle{color:var(--link);font-size:14px;font-weight:600;cursor:pointer;margin:8px 0;display:inline-block}.spinner{text-align:center;color:var(--hint);padding:40px 0}.loading-state,.empty-state{padding:28px 14px;text-align:center;color:var(--hint)}.loading-state .title,.empty-state .title{color:var(--text)}.field-error{color:var(--danger);font-size:12px;margin-top:5px}.disclosure-button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border:none;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.disclosure-button span:last-child{color:var(--accent);font-size:18px;line-height:1}.section-label{margin:18px 0 8px;color:var(--hint);font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.tech-section{margin:14px 0}.check-item{display:grid;grid-template-columns:22px 1fr;gap:8px;padding:10px 0;border-bottom:1px solid var(--border);font-size:14px;line-height:1.4}.check-item:last-child{border-bottom:none}.check-item span{color:var(--accent);font-weight:700}.quick-readiness{display:grid;gap:8px;margin:12px 0 4px}.quick-choice{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:var(--radius-chip);background:var(--surface);color:var(--text);text-align:left;cursor:pointer}.quick-choice:disabled{opacity:.55;cursor:default}.quick-choice strong{display:block;font-size:14px;margin-bottom:2px;overflow-wrap:anywhere}.quick-choice span{display:block;color:var(--hint);font-size:12px;line-height:1.35}.card strong{overflow-wrap:anywhere}.technique-inline{margin-top:10px;padding:10px 12px;border-radius:var(--radius-chip);background:var(--surface-strong);font-size:13px;line-height:1.45}.technique-inline ol{margin:6px 0 0;padding-left:18px}.technique-inline li{margin:2px 0}.hero{padding:24px 0 8px}.hero h1{font-size:34px;font-weight:800;line-height:1.1;margin:6px 0 10px}.hero p{color:var(--text-secondary);font-size:15px;line-height:1.5}.btn.secondary{background:transparent;color:var(--text);border:1px solid var(--dark-accent);margin-top:10px}.btn.danger{background:var(--danger);color:#fff;margin-top:10px}.step-row{display:flex;gap:12px;padding:6px 0;align-items:baseline}.step-row b{color:var(--accent);font-size:18px;font-weight:800;flex:0 0 28px}.step-row span{font-size:14px;line-height:1.45}.disclaimer{color:var(--hint);font-size:12px;line-height:1.4;margin-top:14px;opacity:.85}.callout{background:var(--surface-warm);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);padding:12px 14px;margin:12px 0}.callout .title{font-weight:700;font-size:14px;margin-bottom:4px}.summary{list-style:none;padding:0;margin:8px 0}.summary li{font-size:14px;padding:4px 0;border-bottom:1px solid var(--border)}.summary li:last-child{border-bottom:none}.summary li b{color:var(--text-secondary);font-weight:600}.wizard-head{margin:4px 0 12px}.wizard-head .step-label{font-size:13px;color:var(--hint)}.progress{height:6px;background:var(--surface-strong);border-radius:4px;margin-top:8px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent);transition:width .2s ease}.nav-row{display:flex;gap:10px;margin-top:20px}.nav-row .btn.secondary{flex:0 0 38%}.nav-row .btn:not(.secondary){flex:1}.tabbar{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0)}.tab{flex:1;min-width:0;min-height:58px;padding:8px 2px 7px;font-size:12px;white-space:nowrap;background:transparent;color:var(--hint);border:none;cursor:pointer;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.tab .icon{width:19px;height:19px;flex-basis:19px}.tab span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis}.tab.active{color:var(--accent);font-weight:700}.cycle-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cycle-day{display:grid;gap:2px;padding:9px 10px;border-radius:var(--radius-chip);background:var(--surface-strong);border-left:3px solid var(--border)}.cycle-day b{font-size:13px}.cycle-day span,.cycle-day small{color:var(--hint);font-size:12px}.cycle-day.menstruation{border-left-color:#e879a9}.cycle-day.follicular{border-left-color:#55b5a6}.cycle-day.ovulation{border-left-color:#f3b45a}.cycle-day.luteal{border-left-color:#9a8fe8}.cycle-day.today{box-shadow:0 0 0 1px var(--accent)}@media (max-width: 380px){#root{padding-left:12px;padding-right:12px}.row{flex-direction:column;gap:0}.facts-grid,.grid2{grid-template-columns:1fr}.nav-row{flex-direction:column}.nav-row .btn.secondary{flex-basis:auto}}
