.cn-performance{--cnp-surface: #ffffff;--cnp-surface-alt: #f1f5f9;--cnp-text: #0f172a;--cnp-muted: #475569;--cnp-border: #cbd5e1;--cnp-accent: #1d4ed8;--cnp-accent-strong: #1e3a8a;--cnp-accent-soft: #dbeafe;--cnp-done: #166534;--cnp-done-soft: #dcfce7;--cnp-cutoff: #b45309;--cnp-focus: #b45309;color:var(--cnp-text)}.dark .cn-performance,.theme-dark .cn-performance,html[data-public-theme=dark] .cn-performance{--cnp-surface: #0f1d2e;--cnp-surface-alt: #13263a;--cnp-text: #e2e8f0;--cnp-muted: #b6c2d1;--cnp-border: #33475f;--cnp-accent: #93c5fd;--cnp-accent-strong: #bfdbfe;--cnp-accent-soft: #1e3a5f;--cnp-done: #86efac;--cnp-done-soft: #14382a;--cnp-cutoff: #fbbf24;--cnp-focus: #fbbf24}.cn-performance:empty{min-height:50vh}.cn-performance :is(a,button,summary):focus-visible{outline:3px solid var(--cnp-focus);outline-offset:3px}.cn-performance-page{display:grid;gap:20px;padding-bottom:32px}.cn-performance-muted{color:var(--cnp-muted);margin:0;line-height:1.55}.cn-performance-empty{margin:0;padding:16px;border:1px dashed var(--cnp-border);border-radius:8px;color:var(--cnp-muted)}.cn-performance-hero,.cn-performance-section,.cn-performance-card,.cn-performance-locked,.cn-performance-invite{min-width:0;border:1px solid var(--cnp-border);border-radius:8px;background:var(--cnp-surface);padding:16px}.cn-performance-hero{display:grid;gap:10px}.cn-performance-hero h1{margin:0;font-size:clamp(1.5rem,5vw,2.2rem);line-height:1.15;overflow-wrap:anywhere}.cn-performance-headline{margin:0;font-size:1.05rem;font-weight:600;overflow-wrap:anywhere}.cn-performance-lead{margin:0;font-size:1rem;line-height:1.6;max-width:72ch}.cn-performance-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.cn-performance-chips li{border:1px solid var(--cnp-border);border-radius:999px;background:var(--cnp-surface-alt);padding:4px 10px;font-size:.85rem;font-weight:600;white-space:normal}.cn-performance-chips li.is-reserved{border-color:var(--cnp-cutoff)}.cn-performance-owner{display:grid;gap:10px;border-left:4px solid var(--cnp-accent);background:var(--cnp-accent-soft);border-radius:6px;padding:12px}.cn-performance-owner p{margin:0}.cn-performance-preview{display:grid;gap:8px;border:2px dashed var(--cnp-cutoff);border-radius:8px;background:var(--cnp-surface);padding:14px 16px}.cn-performance-preview__title{font-size:1.1rem;font-weight:800}.cn-performance-preview p{margin:0;line-height:1.55}.cn-performance-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;border:2px solid var(--cnp-accent);border-radius:8px;background:var(--cnp-accent);color:#fff;font-weight:800;text-align:center;text-decoration:none;justify-self:start}.cn-performance-button:hover{background:var(--cnp-accent-strong);border-color:var(--cnp-accent-strong);color:#fff}.cn-performance-button.is-secondary{background:transparent;color:var(--cnp-accent)}.cn-performance-button.is-secondary:hover{background:var(--cnp-accent-soft);color:var(--cnp-accent)}.cn-performance a.cn-performance-button,.cn-performance a.cn-performance-button:hover{color:#fff!important}.cn-performance a.cn-performance-button.is-secondary,.cn-performance a.cn-performance-button.is-secondary:hover{color:var(--cnp-accent)!important}:is(.dark,.theme-dark,html[data-public-theme=dark]) .cn-performance a.cn-performance-button:not(.is-secondary),:is(.dark,.theme-dark,html[data-public-theme=dark]) .cn-performance a.cn-performance-button:not(.is-secondary):hover{color:#0b1220!important}.cn-performance-actions{display:flex;flex-wrap:wrap;gap:10px}.cn-performance-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.cn-performance-facts>div{min-width:0;border:1px solid var(--cnp-border);border-radius:8px;background:var(--cnp-surface);padding:10px 12px}.cn-performance-section .cn-performance-facts>div{background:var(--cnp-surface-alt)}.cn-performance-facts dt{color:var(--cnp-muted);font-size:.85rem;font-weight:600}.cn-performance-facts dd{margin:2px 0 0;font-size:1.25rem;font-weight:800;overflow-wrap:anywhere}.cn-performance-grid{display:grid;gap:16px}.cn-performance-section{display:grid;gap:12px;align-content:start}.cn-performance-section h2{margin:0;font-size:1.2rem}.cn-performance-subtitle{margin:4px 0 0;font-size:1rem}.cn-performance-chart{min-width:0;width:100%}.cn-performance-chart svg{display:block;width:100%;height:auto;overflow:visible}.cn-performance-chart__grid{stroke:var(--cnp-border);stroke-width:1}.cn-performance-chart__axis{fill:var(--cnp-muted);font-size:12px}.cn-performance-chart__line{fill:none;stroke:var(--cnp-accent);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.cn-performance-chart__dot{fill:var(--cnp-surface);stroke:var(--cnp-accent);stroke-width:3}.cn-performance-chart__cutoff{fill:none;stroke:var(--cnp-cutoff);stroke-width:2;stroke-dasharray:6 5}.cn-performance-chart__value{fill:var(--cnp-text);font-size:14px;font-weight:800}.cn-performance-legend{display:flex;align-items:center;gap:8px;margin:6px 0 0;color:var(--cnp-muted);font-size:.88rem}.cn-performance-legend__cutoff{display:inline-block;width:24px;border-top:2px dashed var(--ch-ref, var(--cnp-cutoff))}.cn-performance-details summary{min-height:44px;display:inline-flex;align-items:center;cursor:pointer;font-weight:700;color:var(--cnp-accent)}.cn-performance-table-wrap{overflow-x:auto}.cn-performance-table-wrap table{width:100%;border-collapse:collapse;font-size:.92rem}.cn-performance-table-wrap caption{caption-side:top;text-align:left;color:var(--cnp-muted);padding-bottom:6px}.cn-performance-table-wrap :is(th,td){border-bottom:1px solid var(--cnp-border);padding:8px 6px;text-align:left}.cn-performance-weeks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.cn-performance-weeks li{display:grid;gap:2px;min-width:0;border:1px solid var(--cnp-border);border-radius:8px;background:var(--cnp-surface-alt);padding:8px;font-size:.82rem}.cn-performance-weeks li.is-done{border-color:var(--cnp-done);background:var(--cnp-done-soft)}.cn-performance-weeks li.is-done strong{color:var(--cnp-done)}.cn-performance-weeks li.is-current{outline:2px solid var(--cnp-accent);outline-offset:1px}.cn-performance-weeks__range{color:var(--cnp-muted);font-weight:600}.cn-performance-weeks em{font-style:normal;font-weight:700;color:var(--cnp-accent)}.cn-performance-sentence{margin:0;font-weight:600}.cn-performance-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;counter-reset:cnp-step}.cn-performance-steps li{display:grid;gap:2px;min-width:0;border:1px solid var(--cnp-border);border-radius:8px;background:var(--cnp-surface-alt);padding:10px;counter-increment:cnp-step}.cn-performance-steps li:before{content:counter(cnp-step) ".";color:var(--cnp-muted);font-size:.8rem;font-weight:700}.cn-performance-steps strong{font-size:1.4rem}.cn-performance-steps li:last-child{border-color:var(--cnp-done);background:var(--cnp-done-soft)}.cn-performance-bars{display:grid;gap:12px;margin:0;padding:0;list-style:none}.cn-performance-bars li{display:grid;gap:4px;min-width:0}.cn-performance-bars__head{display:flex;justify-content:space-between;gap:12px}.cn-performance-bars__head span{overflow-wrap:anywhere}.cn-performance-bars__track{height:10px;border-radius:999px;background:var(--cnp-surface-alt);border:1px solid var(--cnp-border);overflow:hidden}.cn-performance-bars__track div{height:100%;background:var(--cnp-accent)}.cn-performance-recent{display:grid;gap:10px;margin:0;padding:0;list-style:none}.cn-performance-recent>li{display:grid;gap:6px;min-width:0;border:1px solid var(--cnp-border);border-radius:8px;padding:10px}.cn-performance-recent__head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px}.cn-performance-recent__head strong{overflow-wrap:anywhere}.cn-performance-recent__head span{color:var(--cnp-muted)}.cn-performance-recent__score{margin:0;font-size:1.15rem;font-weight:800}.cn-performance-footer{display:grid;gap:4px;color:var(--cnp-muted);font-size:.92rem}.cn-performance-footer p{margin:0}.cn-performance-cards{display:grid;gap:14px;margin:0;padding:0;list-style:none}.cn-performance-cards>li{min-width:0}.cn-performance-card{display:grid;gap:10px;height:100%;align-content:start}.cn-performance-card h2{margin:0;font-size:1.25rem;overflow-wrap:anywhere}.cn-performance-card p{margin:0;color:var(--cnp-muted)}.cn-performance-card .cn-performance-button{margin-top:auto}.cn-performance-invite{display:grid;gap:10px}.cn-performance-invite p{margin:0}.cn-performance-locked{display:grid;gap:12px;max-width:760px}.cn-performance-locked h1{margin:0;font-size:clamp(1.4rem,4vw,1.9rem)}.cn-performance-locked p{margin:0;line-height:1.6}@media(min-width:640px){.cn-performance-facts{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.cn-performance-weeks,.cn-performance-steps{grid-template-columns:repeat(4,minmax(0,1fr))}.cn-performance-cards,.cn-performance-recent{grid-template-columns:repeat(2,minmax(0,1fr))}.cn-performance-hero,.cn-performance-section,.cn-performance-card,.cn-performance-locked,.cn-performance-invite{padding:20px}}@media(min-width:1100px){.cn-performance-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.cn-performance-grid>.is-wide{grid-column:1 / -1}.cn-performance-weeks{grid-template-columns:repeat(6,minmax(0,1fr))}.cn-performance-cards,.cn-performance-recent{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.cn-performance *{transition:none!important;animation:none!important}}.cn-performance-topo+.cn-performance-page{margin-top:clamp(20px,2.4vw,36px)}.cn-performance-empty{display:grid;gap:4px}.cn-performance-empty p{margin:0}.cn-performance-empty__title{color:var(--cnp-text);font-weight:700}.cn-performance-next h2{margin:0;font-size:1.25rem;line-height:1.25}.cn-performance-next .cn-performance-actions{margin-top:4px}@media(max-width:639px){.cn-performance-next .cn-performance-button{flex:1 1 100%}}
