:root{--font-family: "Inter", system-ui, Avenir, Helvetica, Arial, sans-serif;--line-height: 1.5;--font-weight: 400;--color-bg: #0f1012;--color-bg-card: rgba(255, 255, 255, .03);--color-bg-card-hover: rgba(255, 255, 255, .08);--color-border: rgba(255, 255, 255, .1);--color-text-primary: #ffffff;--color-text-secondary: #a1a1aa;--color-chef: #f97316;--color-chat: #3b82f6;--color-vault: #8b5cf6;--color-admin: #64748b;--color-finances: #10b981;--color-yoga: #fbbf24;--color-fitness: #22c55e;font-family:var(--font-family);line-height:var(--line-height);font-weight:var(--font-weight);color-scheme:dark;color:var(--color-text-primary);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;display:flex;flex-direction:column}#root{width:100%;min-height:100vh;display:flex;flex-direction:column}a{text-decoration:none;color:inherit;cursor:pointer}.challenge-wrapper{min-height:100vh;background:#111;color:#fff;padding:310px 20px 20px;font-family:Inter,sans-serif}.fitness-wrapper{padding-top:305px}.challenge-header{position:fixed;top:0;left:0;width:100%;z-index:999;background:#111111f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:20px 20px 16px;border-bottom:1px solid rgba(255,255,255,.1)}.header-inner{max-width:400px;margin:0 auto}.header-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:24px;transform-origin:center top}.back-btn{display:flex;align-items:center;gap:6px;color:#888;font-size:.9rem;width:fit-content}.back-btn:hover,.back-btn:focus-visible{color:#fff}.challenge-header h1{font-size:1.5rem;text-align:center;white-space:nowrap;background:linear-gradient(to right,#fff,#a1a1aa);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.stats-grid{display:flex;flex-direction:column;gap:16px;max-width:400px;margin:0 auto}.stat-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:12px;display:flex;flex-direction:column;align-items:center}.stat-label{font-size:.75rem;text-transform:uppercase;color:#666;letter-spacing:.05em}.stat-value{font-size:1.8rem;font-weight:700;display:flex;align-items:center;gap:8px}.individual-stats{display:flex;justify-content:space-between;background:#ffffff08;border-radius:16px;padding:16px;border:1px solid rgba(255,255,255,.05)}.stat-group{display:flex;flex-direction:column;gap:8px;flex:1;align-items:center}.name-label{font-size:.9rem;font-weight:600;color:#888}.stat-row{display:flex;gap:16px}.mini-stat{display:flex;align-items:center;gap:4px;font-weight:600;font-size:1.1rem}.divider{width:1px;background:#ffffff1a;margin:0 16px}.gold-text{color:#fbbf24}.fill-gold{fill:#fbbf24;color:#fbbf24}.text-orange{color:#f97316}.text-blue{color:#3b82f6}.text-maroon{color:#ef4444}.text-gray{color:#555}.challenge-main{max-width:900px;margin:0 auto 40px}.challenge-setup{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px;align-items:stretch;margin:0 auto 18px;padding:16px;max-width:820px;background:#ffffff09;border:1px solid rgba(255,255,255,.08);border-radius:16px}.fitness-rules{grid-template-columns:1fr;gap:10px}.rules-toggle{display:grid;width:100%;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left}.rules-toggle:focus-visible,.week-nav button:focus-visible{outline:2px solid #fbbf24;outline-offset:3px}.rules-toggle-summary{min-width:0;overflow:hidden;color:#d4d4d8;font-size:.82rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.rules-toggle-icon{color:#fbbf24;transition:transform .18s ease}.rules-open .rules-toggle-icon{transform:rotate(180deg)}.rules-compact .setup-rules,.rules-compact .example-week{display:none}.setup-copy{display:flex;flex-direction:column;gap:8px}.setup-kicker,.section-kicker{color:#fbbf24;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.challenge-setup h2,.weekly-panel h2{font-size:1.1rem;line-height:1.2}.challenge-setup p{color:#a1a1aa;font-size:.9rem;line-height:1.45}.setup-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rule-line{min-height:72px;display:grid;grid-template-columns:1fr;align-items:start;gap:5px;padding:10px;border-radius:12px;background:#0000002e;border:1px solid rgba(255,255,255,.06)}.rule-name{font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.rule-g .rule-name{color:#60a5fa}.rule-shan .rule-name{color:#f87171}.rule-text{display:flex;min-width:0;flex-direction:column;gap:2px}.rule-text strong{font-size:.88rem;line-height:1.15}.rule-text span{color:#888;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.example-week{grid-column:1 / -1;padding-top:4px}.example-week-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.example-week-heading span:last-child{color:#a1a1aa;font-size:.75rem;font-weight:700}.example-week-table{display:grid;border-top:1px solid rgba(255,255,255,.08)}.example-week-row{display:grid;grid-template-columns:110px minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:.76rem}.example-week-head{color:#777;font-size:.62rem;font-weight:800;letter-spacing:.06em;padding:7px 0 6px;text-transform:uppercase}.example-day{color:#f4f4f5;font-weight:800}.example-yoga{color:#4ade80}.example-strength{color:#fb923c}.example-walk{color:#38bdf8}.example-requirement{color:#fbbf24;font-weight:800;line-height:1.25}.example-requirement-shan{color:#fca5a5}.example-flexibility{display:flex;min-width:0;flex-direction:column;gap:2px;color:#a1a1aa;line-height:1.25}.example-flex-line{display:block}.weekly-panel{max-width:820px;margin:0 auto 22px;padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#ffffff08}.weekly-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.week-nav{display:flex;align-items:center;gap:8px}.week-nav button{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#ffffff0d;color:#fff;cursor:pointer}.week-nav button:disabled{cursor:default;opacity:.35}.week-badge{display:flex;align-items:center;gap:5px;color:#111;background:#fbbf24;border-radius:999px;padding:5px 10px;font-size:.75rem;font-weight:700}.weekly-grid{display:grid;gap:12px}.week-member{padding:12px;border-radius:14px;background:#0000002e;border:1px solid rgba(255,255,255,.06)}.week-member-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.week-member-title{font-weight:700}.week-status{font-size:.75rem;color:#a1a1aa}.week-status.complete{color:#fbbf24}.week-status.warning{color:#fb923c}.weekly-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}@property --metric-spark-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}.metric{position:relative;display:flex;flex-direction:column;gap:4px;min-width:0;min-height:66px;padding:3px;border-radius:12px;isolation:isolate}.metric>:not(.metric-spark-ring){position:relative;z-index:1}.metric-label{color:#888;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em}.metric-stats{display:flex;min-width:0;align-items:baseline;justify-content:space-between;gap:6px}.metric-value{flex:0 0 auto;font-weight:700}.metric-minutes{min-width:0;color:#a1a1aa;font-size:.72rem;font-weight:700;line-height:1.1;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.metric-done{background:#fbbf2414}.metric-spark-ring{position:absolute;inset:-4px;z-index:0;border-radius:15px;--metric-spark-angle: 0deg;background:radial-gradient(circle at 18% 16%,rgba(255,255,255,.95) 0 1px,transparent 2px),radial-gradient(circle at 83% 22%,rgba(253,224,71,.95) 0 1px,transparent 2px),radial-gradient(circle at 78% 82%,rgba(255,255,255,.8) 0 1px,transparent 2px),conic-gradient(from var(--metric-spark-angle),rgba(251,191,36,0),rgba(251,191,36,.95),rgba(251,191,36,.08),rgba(255,255,255,.78),rgba(251,191,36,0));opacity:.85;padding:1px;pointer-events:none;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:metricSparkSweep 2.8s linear infinite,metricSparkPulse 1.55s ease-in-out infinite}.metric-done-badge{width:fit-content;min-height:14px;border-radius:999px;padding:2px 5px;background:#fbbf24;color:#111;font-size:.52rem;font-weight:900;letter-spacing:.05em;line-height:1;text-transform:uppercase}@keyframes metricSparkSweep{to{--metric-spark-angle: 360deg}}@keyframes metricSparkPulse{0%,to{opacity:.56;filter:drop-shadow(0 0 3px rgba(251,191,36,.36))}50%{opacity:1;filter:drop-shadow(0 0 10px rgba(251,191,36,.8))}}@media(prefers-reduced-motion:reduce){.metric-spark-ring{animation:none}}.metric-yoga .metric-label,.metric-yoga .metric-value,.metric-yoga .metric-minutes{color:#4ade80}.metric-strength .metric-label,.metric-strength .metric-value,.metric-strength .metric-minutes{color:#fb923c}.metric-cardio .metric-label,.metric-cardio .metric-value,.metric-cardio .metric-minutes{color:#38bdf8}.metric-rest .metric-label,.metric-rest .metric-value{color:#c4b5fd}.metric-active .metric-label,.metric-active .metric-value{color:#fbbf24}.metric-track{height:4px;overflow:hidden;border-radius:999px;background:#ffffff14}.metric-fill{height:100%;width:var(--metric-width);border-radius:inherit;background:#fbbf24}.circles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:12px;max-width:800px;margin:0 auto 40px;position:relative;z-index:0}.circle{appearance:none;width:60px;height:60px;padding:0;border-radius:50%;border:2px solid #333;position:relative;overflow:hidden;cursor:pointer;background:#222;color:inherit;font:inherit;transition:all .2s}.circle.future{opacity:.2;pointer-events:none;border-style:dashed}.circle.locked_today{opacity:.5;pointer-events:none}.circle.active:hover,.circle.active:focus-visible{transform:scale(1.05);border-color:#666}.circle.gold{border:3px solid #ffd700;box-shadow:0 0 15px #ffd70033}.circle.Red,.circle.failed{border:2px solid #7f1d1d;background:#2a1212}.fitness-circle{overflow:visible}.fitness-weeks-table{display:grid;gap:14px;max-width:820px;margin:0 auto 40px}.fitness-week{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:center;padding:14px;border-radius:16px;background:#ffffff08;border:1px solid rgba(255,255,255,.07);overflow:visible}.fitness-week.current-week{border-color:#fbbf2461;box-shadow:0 0 0 1px #fbbf2414,0 12px 30px #0000002e}.fitness-week-header{display:flex;flex-direction:column;gap:6px;color:#f5f5f5;font-size:.9rem;font-weight:700}.current-week-badge{width:fit-content;padding:4px 8px;border-radius:999px;color:#111;background:#fbbf24;font-size:.66rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.fitness-week-days{display:grid;grid-template-columns:repeat(7,minmax(42px,1fr));gap:18px;align-items:center;overflow:visible;padding:18px 8px 8px}.fitness-week-days .circle{justify-self:center;width:min(100%,54px);height:auto;aspect-ratio:1;min-width:0}.fitness-circle.fitness-past{border-color:#3a3a3a}.fitness-circle.fitness-future{border-style:dashed;border-color:#3d3d3d;background:#191919}.fitness-circle.today{border:3px solid #fbbf24;background:#2a220f;box-shadow:0 0 0 4px #fbbf2414,0 0 24px #fbbf2447}.fitness-circle.today .num{color:#fff7d6}.today-label{position:absolute;left:50%;top:-12px;z-index:14;transform:translate(-50%);padding:2px 6px;border-radius:999px;background:#fbbf24;color:#111;font-size:.55rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.half-left,.half-right{position:absolute;top:0;bottom:0;width:50%;transition:background .3s}.half-left{left:0;border-radius:999px 0 0 999px}.half-right{right:0;border-radius:0 999px 999px 0}.blue{background:#3b82f6}.maroon{background:maroon}.num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;z-index:10;text-shadow:0 1px 2px rgba(0,0,0,.8)}.member-activity-stack{position:absolute;top:50%;z-index:12;display:flex;flex-direction:column;gap:3px;transform:translateY(-50%);pointer-events:none}.stack-g{left:-11px}.stack-shan{right:-11px}.member-activity-dot{width:7px;height:7px;border-radius:50%;background:#2a2a2a;border:1px solid rgba(255,255,255,.2);box-shadow:0 1px 4px #00000073}.member-activity-dot.activity-yoga.on{background:#22c55e;border-color:#86efacbd}.member-activity-dot.activity-strength.on{background:#f97316;border-color:#fdba74c7}.member-activity-dot.activity-cardio.on{background:#38bdf8;border-color:#7dd3fcc7}.activity-yoga.active,.metric-yoga .metric-fill{background:#22c55e}.activity-strength.active,.metric-strength .metric-fill{background:#f97316}.activity-cardio.active,.metric-cardio .metric-fill{background:#38bdf8}.activity-rest.active,.metric-rest .metric-fill{background:#a78bfa}.metric-active .metric-fill{background:#fbbf24}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-content{background:#1a1a1a;border:1px solid #333;padding:24px;border-radius:20px;width:90%;max-width:340px;text-align:center;box-shadow:0 20px 50px #00000080}.modal-content h3{margin-bottom:8px;font-size:1.2rem}.modal-content p{color:#888;margin-bottom:24px}.activity-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.activity-card{display:flex;min-height:84px;flex-direction:column;gap:8px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#ffffff0a;color:#fff;overflow:hidden;transition:transform .15s ease,border-color .15s ease,background .15s ease}.activity-card:hover,.activity-card:focus-within{transform:translateY(-1px);border-color:#ffffff38}.activity-card.active{border-color:transparent}.activity-toggle{display:flex;flex:1;min-height:72px;width:100%;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:10px;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit}.activity-toggle:focus-visible,.duration-option:focus-visible{outline:2px solid currentColor;outline-offset:2px}.activity-duration-summary{color:#ffffffb8;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.duration-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(34px,1fr));gap:5px;padding:0 8px 8px}.duration-option{min-height:28px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#00000038;color:inherit;cursor:pointer;font-size:.75rem;font-weight:800}.duration-option:after{content:"m";margin-left:1px;font-size:.62rem;font-weight:700;opacity:.72}.duration-option.selected{border-color:transparent;background:#ffffffe0;color:#111}.activity-card.active .duration-option{color:#111;border-color:#1111112e;background:#1111111a}.activity-card.active .duration-option.selected{background:#111;color:#fff}.activity-yoga{color:#4ade80}.activity-strength{color:#fb923c}.activity-cardio{color:#38bdf8}.activity-rest{color:#c4b5fd}.activity-yoga.active,.activity-strength.active,.activity-cardio.active,.activity-rest.active{color:#111}.activity-card.active .activity-duration-summary{color:#111111b8}.activity-card span{font-weight:700}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-actions button{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:12px;border:none;font-weight:600;cursor:pointer;transition:transform .1s}.modal-actions button:active{transform:scale(.95)}.btn-cancel{background:#333;color:#ccc}.btn-confirm{background:#fff;color:#000}@media(max-width:720px){.fitness-wrapper{padding-top:310px}.challenge-setup{grid-template-columns:1fr;padding:12px}.setup-rules{grid-template-columns:repeat(2,minmax(0,1fr))}.example-week-heading{align-items:flex-start;flex-direction:column;gap:4px}.example-week-row{grid-template-columns:72px minmax(0,1fr) minmax(0,1fr)}.weekly-panel{padding:12px;border-radius:14px}.weekly-heading{margin-bottom:10px}.week-member{padding:10px}.week-member-header{margin-bottom:8px}.weekly-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.metric{min-width:0;min-height:52px}.metric-label{font-size:.58rem}.metric-value{font-size:.88rem}.metric-minutes{font-size:.62rem}.fitness-week{grid-template-columns:1fr;gap:10px}.fitness-week-header{flex-direction:row;align-items:center;justify-content:space-between}.fitness-week-days{grid-template-columns:repeat(7,minmax(42px,1fr));gap:14px;overflow-x:auto;overflow-y:visible;padding:18px 8px 8px;scrollbar-width:none}.fitness-week-days::-webkit-scrollbar{display:none}.fitness-week-days .circle{width:min(100%,36px)}.member-activity-stack{gap:2px}.stack-g{left:-8px}.stack-shan{right:-8px}.member-activity-dot{width:5px;height:5px}}@media(max-width:480px){.challenge-wrapper{padding-left:16px;padding-right:16px}.fitness-wrapper{padding-top:305px}.challenge-header h1{font-size:1.22rem}.rule-line{min-height:58px;gap:5px;padding:7px}.rule-text strong{font-size:.72rem}.rule-text span{font-size:.57rem}.rules-toggle-summary{font-size:.72rem}.example-week-row{grid-template-columns:58px minmax(0,1fr) minmax(0,1fr);gap:6px;font-size:.68rem}.circles-grid{grid-template-columns:repeat(5,1fr)}.circle{width:100%;height:auto;aspect-ratio:1}.week-badge{padding:5px 8px;font-size:.7rem}.week-nav{gap:6px}.week-nav button{width:28px;height:28px}.weekly-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.metric{gap:2px;min-height:48px}.metric-label{font-size:.5rem;letter-spacing:.02em}.metric-value{font-size:.78rem}.metric-minutes{font-size:.52rem}.fitness-weeks-table{gap:12px;margin-bottom:24px}.fitness-week{padding:12px}.fitness-week-days{grid-template-columns:repeat(7,42px);justify-content:start}.fitness-week-days .circle{width:30px}.fitness-week-days .num{font-size:.72rem}}
