:root{--bg:#f9f9f7;--surface:#fcfcfb;--ink:#0b0b0b;--ink-secondary:#52514e;--ink-muted:#898781;--hairline:#e1e0d9;--baseline:#c3c2b7;--border:#0b0b0b1a;--critical:#d03b3b;--good-text:#006300;--font-serif:georgia, "Times New Roman", times, serif;--font-sans:system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, sfmono-regular, menlo, consolas, monospace}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);margin:0}.app{min-height:100vh}.top-bar{border-bottom:1px solid var(--hairline);background:var(--surface);flex-wrap:wrap;align-items:center;gap:1.25rem;padding:.75rem 1.5rem;display:flex}.wordmark{font-family:var(--font-serif);margin:0 auto 0 0;font-size:1.2rem;font-weight:400}.wordmark a{color:inherit;text-decoration:none}.marketing{flex-direction:column;min-height:100vh;display:flex}.marketing-top{justify-content:space-between;align-items:center;width:100%;max-width:880px;margin:0 auto;padding:1.5rem 2rem;display:flex}.marketing-top .wordmark{margin-right:0}.marketing-top a{color:var(--ink-secondary);font-size:.85rem;text-decoration:none}.marketing-top a.wordmark{color:var(--ink);font-size:1.2rem}.marketing-top a:hover{color:var(--ink)}.marketing main{text-align:center;flex:1;width:100%;max-width:880px;margin:0 auto;padding:4.5rem 2rem 3rem}.marketing-headline{font-family:var(--font-serif);margin:0 0 1.25rem;font-size:clamp(2.1rem,5vw,3.1rem);font-weight:400;line-height:1.15}.marketing-sub{max-width:560px;color:var(--ink-secondary);margin:0 auto 2.25rem;font-size:1.02rem;line-height:1.6}.marketing-ctas{flex-wrap:wrap;justify-content:center;gap:.9rem;display:flex}.cta{border:1px solid var(--hairline);color:var(--ink-secondary);border-radius:8px;padding:.65rem 1.4rem;font-size:.92rem;text-decoration:none;transition:background-color .15s ease-out;display:inline-block}.cta:hover{background:var(--surface);color:var(--ink)}.cta-primary{background:var(--ink);border-color:var(--ink);color:var(--surface)}.cta-primary:hover{background:var(--ink-secondary);color:var(--surface)}.marketing-wheel{pointer-events:none;max-width:620px;margin:3.5rem auto 0}.marketing-footer{text-align:center;font-family:var(--font-mono);color:var(--ink-muted);padding:2rem;font-size:.72rem}.connect-landing main{padding-top:7rem}.year-nav{align-items:center;gap:.25rem;display:flex}.year-nav button{color:var(--ink-secondary);cursor:pointer;background:0 0;border:none;padding:0 .4rem;font-size:1.1rem}.year-nav button:hover{color:var(--ink)}.year-value{font-family:var(--font-mono);font-size:.95rem}.segmented{border:1px solid var(--hairline);border-radius:6px;margin:0;padding:0;display:flex;overflow:hidden}.segmented button{font-family:var(--font-sans);color:var(--ink-secondary);cursor:pointer;background:0 0;border:none;padding:.35rem .8rem;font-size:.8rem;transition:background-color .15s ease-out}.segmented button+button{border-left:1px solid var(--hairline)}.segmented button:hover{background:var(--bg)}.segmented button.active{background:var(--ink);color:var(--surface)}.band-toggle{color:var(--ink-secondary);cursor:pointer;align-items:center;gap:.4rem;font-size:.8rem;display:flex}.band-toggle.disabled{opacity:.45;cursor:default}.print-button{border:1px solid var(--hairline);color:var(--ink-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:.35rem .8rem;font-size:.8rem;text-decoration:none}.print-button:hover{background:var(--bg)}.print-button.primary,.connect-button{background:var(--ink);border-color:var(--ink);color:var(--surface)}.print-button.primary:hover,.connect-button:hover{background:var(--ink-secondary)}.wheel-select{border:1px solid var(--hairline);background:var(--surface);font-family:var(--font-sans);color:var(--ink);border-radius:6px;max-width:16rem;padding:.35rem .6rem;font-size:.8rem}.demo-banner{background:var(--bg);border-bottom:1px solid var(--hairline);color:var(--ink-secondary);text-align:center;margin:0;padding:.5rem 1.5rem;font-size:.8rem}.demo-banner a{color:inherit}.create-wheel{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.9rem;max-width:460px;margin:1.5rem auto 0;padding:1.25rem 1.5rem;display:flex}.create-wheel h3{margin:0;font-size:.95rem;font-weight:600}.create-wheel label{color:var(--ink-secondary);flex-direction:column;gap:.3rem;font-size:.8rem;display:flex}.create-wheel input[type=text],.create-wheel input[type=number]{border:1px solid var(--hairline);font-family:var(--font-sans);color:var(--ink);background:var(--surface);border-radius:6px;padding:.4rem .6rem;font-size:.85rem}.team-picker{border:1px solid var(--hairline);border-radius:6px;flex-direction:column;gap:.35rem;margin:0;padding:.6rem .8rem;display:flex}.team-picker legend{color:var(--ink-muted);padding:0 .3rem;font-size:.72rem}.team-picker label{color:var(--ink);flex-direction:row;align-items:center;gap:.5rem;font-size:.82rem}.team-key{font-family:var(--font-mono);color:var(--ink-muted);font-size:.68rem}.loading-inline{color:var(--ink-muted);margin:0;font-size:.78rem}.form-actions{gap:.6rem;display:flex}.delete-wheel{border:1px solid var(--hairline);color:var(--critical);cursor:pointer;background:0 0;border-radius:6px;width:100%;margin-top:1.25rem;padding:.35rem .8rem;font-size:.75rem}.delete-wheel:hover{border-color:var(--critical)}.loading,.load-error{text-align:center;color:var(--ink-secondary);padding:3rem}.load-error{color:var(--critical)}.workspace{grid-template-columns:minmax(0,1fr) 340px;gap:1.5rem;max-width:1400px;margin:0 auto;padding:1.5rem;display:grid}@media (width<=900px){.workspace{grid-template-columns:minmax(0,1fr)}}.wheel-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.5rem}.item-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;max-height:calc(100vh - 8rem);padding:1rem 1.25rem;overflow-y:auto}.item-group h3{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-secondary);align-items:center;gap:.5rem;margin:1rem 0 .4rem;font-size:.75rem;font-weight:600;display:flex}.item-group:first-child h3{margin-top:0}.item-group ul{margin:0;padding:0;list-style:none}.item-group li{border-bottom:1px solid var(--hairline);grid-template-columns:1.1rem minmax(0,1fr) auto;align-items:baseline;gap:.5rem;padding:.28rem 0;font-size:.82rem;display:grid}.item-group li:last-child{border-bottom:none}.item-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.item-title a{color:inherit}.item-dates{font-family:var(--font-mono);color:var(--ink-muted);white-space:nowrap;font-size:.68rem}.swatch{border-radius:3px;width:10px;height:10px;display:inline-block}.swatch-outline{border:1.5px solid var(--ink-secondary);background:0 0}.status-chip{font-family:var(--font-mono);text-align:center;font-size:.75rem}.status-done{color:var(--good-text)}.status-missed{color:var(--critical);font-weight:700}.status-planned{color:var(--ink-muted)}.artifact{text-align:center;max-width:860px;margin:0 auto;padding:3.5rem 2rem 4rem}.artifact-title{font-family:var(--font-serif);margin:0 0 .5rem;font-size:2.4rem;font-weight:400}.artifact-subtitle{font-family:var(--font-mono);color:var(--ink-muted);margin:0 0 2.5rem;font-size:.78rem}.voice-artifact .top-bar{background:0 0;border-bottom-color:#0000}.legend{color:var(--ink-secondary);justify-content:center;gap:1.5rem;margin:2.5rem 0 0;padding:0;font-size:.82rem;list-style:none;display:flex}.legend li{align-items:center;gap:.45rem;display:flex}.wheel-frame{max-width:760px;margin:0 auto;position:relative}.wheel-frame svg{width:100%;height:auto;display:block}.month-line{stroke:var(--hairline);stroke-width:1px}.month-label{font-family:var(--font-mono);letter-spacing:.08em;fill:var(--ink-muted);font-size:17px}.ring-track{fill:none;stroke:var(--hairline);stroke-width:1px}.ring-label{font-family:var(--font-sans);fill:var(--ink-secondary);paint-order:stroke;stroke:var(--surface);stroke-width:4px;font-size:16px}.mark{cursor:default}.window.mark-done{stroke-opacity:.62}.window.mark-planned{stroke-opacity:.26}.window.mark-missed{stroke-opacity:.5}.project{fill:none;stroke:var(--ink-secondary);stroke-width:1.3px}.project.mark-planned{stroke:var(--ink-muted)}.project.mark-missed{stroke:var(--critical)}.layer{transition:opacity .45s ease-out}.layer-projects[data-visible=false]{opacity:0;pointer-events:none}.wheel-frame[data-mode=operations] .layer-projects[data-visible=true]{opacity:.45}.wheel-frame[data-mode=compliance] .window.mark-planned{stroke-opacity:.14}.wheel-frame[data-mode=compliance] .dot.mark-planned{opacity:.45}.today-marker{stroke:var(--ink);stroke-width:1.5px;animation:4s ease-out infinite breath}@keyframes breath{0%{opacity:1}50%{opacity:.55}to{opacity:1}}@media (prefers-reduced-motion:reduce){.today-marker{animation:none}.layer,.segmented button{transition:none}}.center-year{font-family:var(--font-serif);fill:var(--ink);font-size:82px}.center-week{font-family:var(--font-mono);letter-spacing:.04em;fill:var(--ink-muted);font-size:21px}.center-tally{font-family:var(--font-sans);fill:var(--ink-secondary);font-size:22px}.wheel-tooltip{background:var(--surface);border:1px solid var(--border);pointer-events:none;text-align:left;z-index:2;border-radius:6px;flex-direction:column;gap:2px;width:max-content;max-width:240px;padding:.5rem .7rem;display:flex;position:absolute;box-shadow:0 2px 10px #0b0b0b14}.tooltip-title{font-size:.82rem;font-weight:600}.tooltip-dates{font-family:var(--font-mono);color:var(--ink-muted);font-size:.7rem}.wheel-tooltip .status-chip{text-align:left;font-size:.7rem}@media print{body{background:#fff}.chrome,.top-bar{display:none}.artifact{padding-top:1rem}.today-marker{animation:none}}
