:root{color-scheme:dark;--bg:#191919;--fg:#f1f1f1;--muted:#aaa8b3;--line:#35343c;--surface:#222126;--lilac:#c9baf7;--violet:#9481dc;--prep:#b2a2dc;--blue:#74a5df;--gold:#ebcb71;--peach:#d9b6dd;--pink:#de99c1;--teal:#87c5b7;font:14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;color:var(--fg);background:var(--bg)}main{max-width:1600px;margin:auto;padding:23px 30px 14px}h1,h2,h3,p{margin:0}h1{font-size:20px;font-weight:500;letter-spacing:-.025em}h2{font-size:13px;font-weight:500}h3{font-size:17px;font-weight:500;line-height:1.4}button,input,select{font:inherit;color:inherit}button,a,select{cursor:pointer}a{color:var(--lilac);text-underline-offset:4px}button,input,select{border:1px solid var(--line);border-radius:6px;background:transparent;padding:7px 10px;font-size:12px}button:hover{background:#ffffff0a}select{background:var(--bg);max-width:100%}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--lilac);outline-offset:3px}.page-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:21px}.page-header p{font-size:12px;color:var(--muted);margin-top:4px}nav{display:flex;gap:5px;flex-shrink:0}nav a{font-size:12px;text-decoration:none;padding:7px 12px;color:var(--muted);border-radius:6px}nav a[aria-current]{color:var(--lilac);background:#a892e31c}.controls{display:flex;gap:13px;flex-wrap:wrap;align-items:flex-end;margin-bottom:12px}.controls label{display:block;font-size:10px;color:var(--muted)}.controls select,.controls input{display:block;margin-top:4px;color:var(--fg)}#cycle-course{max-width:315px}.cycle-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}.wheel-column{min-width:0;align-self:start}.wheel-column #wheel{display:grid;place-items:center;min-width:0}#wheel svg{display:block;width:min(100%,calc(100dvh - 218px));max-width:800px;overflow:visible;touch-action:manipulation}#wheel svg text{font:12px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;fill:var(--fg);pointer-events:none}#wheel svg .month-label{font-size:13px;fill:var(--muted)}#wheel svg .month-current{fill:var(--lilac);font-weight:500}#wheel svg .center-year{font-size:12px;fill:var(--muted)}#wheel svg .center-date{font-size:22px;font-weight:500;letter-spacing:-.025em}#wheel svg .center-week{font-size:10px;fill:var(--muted)}#wheel svg .center-caption{font-size:10px;fill:var(--muted)}#wheel svg .interactive{cursor:pointer}#wheel svg .interactive .hit{fill:transparent;stroke:transparent;pointer-events:all}#wheel svg .interactive .focus-halo{pointer-events:none;fill:none;stroke:transparent}#wheel svg .interactive:focus{outline:none}#wheel svg .interactive:focus .focus-halo{stroke:var(--fg);stroke-width:1.5}#wheel svg .period:hover{filter:brightness(1.2)}.wheel-caption{display:flex;justify-content:center;gap:16px;align-items:center;flex-wrap:wrap;font-size:10px;color:var(--muted);margin:9px auto 0}.wheel-caption>span{display:flex;align-items:center;gap:5px}.wheel-caption i{display:inline-block;background:var(--lilac)}.arc-key{width:17px;height:5px;border-radius:4px}.dot-key{width:6px;height:6px;border-radius:50%}.side-panel{padding:9px 0 0;min-width:0;max-height:calc(100dvh - 180px);overflow:auto;scrollbar-width:thin;scrollbar-color:#555 transparent}.section-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.section-top h2{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.text-button{border:0;padding:0;color:var(--lilac);font-size:11px;background:none}.text-button:hover{text-decoration:underline;background:none;text-underline-offset:4px}.ring-row{display:grid;grid-template-columns:16px 1fr auto;align-items:center;gap:9px;width:100%;text-align:left;border:0;border-radius:6px;padding:7px 9px;margin:1px 0;background:transparent;font-size:12px;color:var(--muted)}.ring-row i{width:12px;height:12px;border:3px solid var(--ring);border-radius:50%;display:block}.ring-row small{font-size:10px;color:var(--muted)}.ring-row.active{background:#ffffff08;color:var(--fg)}.ring-row:hover{background:#ffffff08}.detail{border-top:1px solid var(--line);padding:18px 5px 0;margin-top:17px}.eyebrow{color:var(--lilac);font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px}.detail>p{color:var(--muted);font-size:12px;margin-top:10px;line-height:1.75}.detail-date{color:var(--lilac)!important;font-size:12px!important;margin-top:7px!important}.detail .source{margin-top:17px;padding-top:13px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.source strong{color:var(--fg);font-weight:500;display:block;margin:3px 0 5px}.source a{display:inline-block;margin-top:7px}.detail-actions{display:flex;gap:15px;flex-wrap:wrap;font-size:11px;margin:17px 0}.item-list{margin-top:14px}.record-item{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:10px 0;font-size:11px;line-height:1.6}.record-item small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.record-item:last-child{border-bottom:0}.record-item.focused{color:var(--lilac)}.continuation{border-left:2px solid var(--teal);padding-left:12px;margin-top:15px;color:var(--muted);font-size:12px;line-height:1.8}.continuation strong{color:var(--fg);font-weight:500}.mini-legend{margin:14px 0;display:grid;gap:7px;font-size:11px;color:var(--muted)}.mini-legend span{display:flex;gap:8px;align-items:center}.mini-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--gold)}.mini-legend .outline{background:transparent;border:2px solid var(--gold)}.status-tag{display:inline-block;font-size:10px;color:var(--gold);border:1px solid #ebcb713b;padding:1px 5px;border-radius:3px;margin-top:7px}.conflict{font-size:11px;line-height:1.75;color:var(--pink);margin-top:12px}.empty{font-size:12px;color:var(--muted);padding-top:13px}.back-button{margin-bottom:12px}footer{border-top:1px solid var(--line);margin-top:19px;padding-top:12px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:10px;color:var(--muted)}.count-summary{font-size:11px!important}.range-note{font-size:11px!important;color:var(--muted)}
@media(min-width:1500px){.cycle-layout{grid-template-columns:minmax(0,1fr) 380px;gap:45px}#wheel svg{width:min(100%,calc(100dvh - 205px))}}
@media(max-width:1050px){main{padding:20px}.cycle-layout{grid-template-columns:minmax(0,1fr) 290px;gap:15px}.controls{gap:10px}#cycle-course{max-width:260px}#wheel svg{width:100%}.side-panel{max-height:calc(100dvh - 200px)}}
@media(max-width:740px){main{padding:18px 16px}.page-header{align-items:flex-start;flex-wrap:wrap;gap:10px;margin-bottom:16px}.page-header h1{font-size:19px}.page-header p{font-size:11px}.cycle-layout{grid-template-columns:1fr;gap:15px}.side-panel{max-height:none;overflow:visible;padding-top:5px}.controls{display:grid;grid-template-columns:1fr 1fr;gap:9px;align-items:end}.controls select,.controls input{width:100%;min-width:0;max-width:100%!important;font-size:11px}.controls label{min-width:0}.controls button{justify-self:start}#wheel svg{width:100%;max-width:650px}.wheel-caption{font-size:9px;gap:9px}.wheel-caption>span:last-child{width:100%;justify-content:center}#ring-legend{display:grid;grid-template-columns:1fr 1fr;gap:1px 7px}.ring-row{padding:7px 5px;font-size:11px;gap:7px}.ring-row small{font-size:9px}.detail{padding-top:16px;margin-top:15px}.detail h3{font-size:18px}.detail>p{font-size:13px}.record-item{font-size:12px}.record-item small{font-size:11px}.source{font-size:12px!important}footer{font-size:9px}}
@media(prefers-reduced-motion:no-preference){button,a,.period{transition:background .12s,opacity .12s,filter .12s}}
