:root[data-accent]{--bg:#12153A;--surface:#1D2152;--sunk:#262A5E;--ink:#FFF4E8;--ink-2:#C4BEDF;--line:#2E3368;--edge:#565C96;--accent:#FFB27A;--hover:#FFC79C;--on-accent:#2A1530;background:#55294B;--serif:"Fraunces",Georgia,serif;color-scheme:dark}body{background:radial-gradient(70% 420px at 90% 0,#4B2B66,#0000),linear-gradient(#0D1033,#191C4C 50%,#3A2452 88%,#55294B);min-height:100vh;color:var(--ink)}.wrap{max-width:1120px}.top{padding-block:var(--s-8) var(--s-5)}.kick,.stats dd,.g-day,.add label{font:600 var(--t-xs)/1.35 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}.kick{margin:0;color:var(--accent)}.top h1{margin-top:var(--s-2);font:300 clamp(3rem,2rem + 4vw,6rem)/.95 var(--serif);font-variation-settings:"SOFT" 100;letter-spacing:-.03em}.sum{margin:var(--s-4) 0 0;font:italic 400 var(--t-xl)/1.35 var(--serif);max-width:34ch}.tagline{margin:var(--s-2) 0 0}main h2{font:400 var(--t-xl)/1.2 var(--serif)}.summary{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-5) var(--s-8);padding-block:var(--s-4) var(--s-6);border-bottom:1px solid var(--line)}.ring-wrap{position:relative;display:flex;align-items:center;gap:var(--s-5)}.ring-wrap:before{content:"";position:absolute;left:-60px;top:50%;width:300px;aspect-ratio:1;translate:0 -50%;border-radius:50%;background:radial-gradient(closest-side,#0000 52%,#F0806A88 62%,#B4527A44 78%,#0000)}.ring{position:relative;flex:none;width:180px;transform:rotate(-90deg);filter:drop-shadow(0 0 10px #FFB27A99)}.ring circle{fill:none;stroke-width:4;stroke-linecap:round}.ring-bg{stroke:#fff2}.ring-fg{stroke:var(--accent);stroke-dasharray:188.5;transition:stroke-dashoffset var(--dur-3) var(--ease)}.ring-num{position:absolute;left:0;width:180px;margin:0;text-align:center;font:var(--t-lg) var(--serif)}.ring-num b{font:300 4rem/1 var(--serif);color:var(--ink)}.ring-cap{margin:0;max-width:13ch;font:italic var(--t-lg)/1.35 var(--serif)}.stats{flex:1 1 32rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.stats div{padding-left:var(--s-5);border-left:1px solid var(--edge)}.stats dt{font:300 4rem/1 var(--serif)}.stats dd{margin:8px 0 0}.board{display:grid;gap:var(--s-4);padding-block:var(--s-7)}.board-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s-2) var(--s-5)}.board-head h2{margin-right:auto}.hint{margin:0;font-size:var(--t-sm)}.grid-scroll{overflow-x:auto;padding:var(--s-3) var(--s-4);border-radius:28px;background:#101236;box-shadow:inset 0 0 0 1px var(--line)}.grid{display:grid;grid-template-columns:minmax(10rem,1fr) repeat(var(--n),minmax(32px,44px)) 8rem auto;gap:0;margin:0}.g-row{display:contents}.g-row>*{min-height:60px;border-bottom:1px solid var(--line)}.g-day{display:grid;place-items:center}.g-sh{justify-items:start;padding-left:var(--s-4)}.g-row>:first-child{position:sticky;left:0;z-index:1;background:#101236;box-shadow:-15px 0 #101236}.g-name{display:flex;align-items:center;padding-right:var(--s-4);font:400 var(--t-lg)/1.25 var(--serif);overflow-wrap:anywhere}.g-cell{position:relative;isolation:isolate;display:grid;place-items:center;width:100%;justify-self:center;padding:0;border-width:0 0 1px;background:none;color:var(--ink-2);font:var(--t-xs)/1 var(--sans);cursor:pointer}.g-cell:before{content:"";position:absolute;z-index:-1;width:min(34px,100% - 6px);aspect-ratio:1;border-radius:50%;background:var(--sunk)}.g-cell.now:before{box-shadow:0 0 0 2px var(--bg),0 0 0 3.5px var(--accent)}.g-cell.done{font-size:0}.g-cell.done:before{background:radial-gradient(circle at 50% 35%,#FFD6A8,var(--accent) 60%,#F0806A)}.g-cell.done:after{content:"";position:absolute;width:12px;height:6px;margin-top:-3px;border:solid var(--on-accent);border-width:0 0 2px 2px;rotate:-45deg}.g-streak{display:flex;flex-flow:column;justify-content:center;gap:4px;padding-left:var(--s-4)}.g-streak b{font:400 var(--t-2xl)/1 var(--serif);color:var(--accent)}.g-streak span{font-size:var(--t-xs)}.g-arch{min-width:max-content;padding:0 8px;border-width:0 0 1px;background:none;font:500 var(--t-sm)/1 var(--sans);text-decoration:underline;cursor:pointer}.empty{margin:0;text-align:center}.manage{display:grid;gap:var(--s-7);margin-bottom:var(--s-8);padding:var(--s-6);border-radius:32px;background:linear-gradient(110deg,#fff1,#F0806A33)}@media (min-width:800px){.manage{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.top{position:relative;isolation:isolate}.top:after{content:"";position:absolute;z-index:-1;right:var(--s-5);bottom:0;width:420px;height:150px;background:radial-gradient(50% 100% at 50% 100%,#FFE2BC,#F0806A 35%,#9E4B7800);border-bottom:1px solid #FFB27A}}.add{display:grid;gap:var(--s-4)}.add-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3) var(--s-4)}.add-row .field{display:grid;flex:1;min-width:min(100%,220px)}.add-row input{border-width:0 0 1px;border-radius:0;background:none;padding-inline:0;color:var(--ink);font:var(--t-lg) var(--serif)}.add-row .btn{flex:none;border-radius:999px}.arch-list{margin:0;padding:0;list-style:none}.arch-list li{display:flex;align-items:center;gap:var(--s-3);min-height:56px;border-bottom:1px solid var(--line)}.arch-list li span{margin-right:auto}.toast{position:fixed;left:50%;bottom:var(--s-5);transform:translate(-50%,8px);border-radius:999px;font-size:var(--t-sm);opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%)}.c-footer{padding-block:var(--s-5) var(--s-7);font-size:var(--t-sm)}@media (max-width:640px){.top{padding-block:var(--s-6) var(--s-3)}.sum{font-size:var(--t-lg)}.ring,.ring-num{width:132px}.ring-num b{font-size:2.75rem}.ring-wrap:before{left:-50px;width:232px}.stats div{padding-left:var(--s-3)}.stats div:first-child{padding:0;border:0}.stats dt{font-size:var(--t-2xl)}.manage{padding:var(--s-5)}.g-cell.done{font:700 var(--t-xs)/1 var(--sans);color:var(--on-accent)}.g-cell.done:after{content:none}.grid-scroll{padding:var(--s-1) var(--s-4)}.grid{display:block;min-width:0}.g-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding-block:var(--s-4);border-bottom:1px solid var(--line)}.g-row>*{min-height:44px;border:0}.g-head>*{min-height:24px}.g-head :is(.g-corner,.g-sh),.g-head .g-day:nth-child(n+9){display:none}.g-name{grid-area:1/1/2/6;min-height:0}.g-streak{grid-area:2/1/3/6;min-height:0;padding:0}.g-arch{grid-area:1/6/3/8;justify-self:end}.g-cell:before{width:38px}}.tagline,.hint,.ring-num,.ring-cap,.g-streak span,.g-arch,.empty,.arch-list li span,.c-footer{color:var(--ink-2)}.top p:empty{min-height:1lh}#sum:empty{min-height:2lh}#grid:empty{min-height:240px}/* tap-targets */@media (max-width:600px){a[href]:not(p a,li p a,blockquote a,figcaption a,td a,dd a,label a),button,[role=button],[onclick],summary,select,input:not([type=hidden],[type=checkbox],[type=radio],[type=range]){min-height:44px!important;min-width:44px!important}:where(a[href]:not(p a,li p a,blockquote a,figcaption a,td a,dd a,label a)){display:inline-flex;align-items:center;justify-content:center}input,select,textarea{font-size:max(16px,1em)!important}}
/* contrast-fix r1 */
@media (prefers-color-scheme:light){html:not(#kc):not([data-theme=dark]) button.g-cell.done{color:rgb(140,129,143)}}html[data-theme=light]:not(#kc) button.g-cell.done{color:rgb(140,129,143)}
@media (prefers-color-scheme:dark){html:not(#kc):not([data-theme=light]) button.g-cell.done{color:rgb(140,129,143)}}html[data-theme=dark]:not(#kc) button.g-cell.done{color:rgb(140,129,143)}
