:root{--ink:#11201C;--ink-elev:#1B2E28;--ink-elev-2:#213730;--parchment:#ECE6D6;--parchment-dim:rgba(236,230,214,.5);--parchment-faint:rgba(236,230,214,.14);--gold:#C4923D;--gold-glow:rgba(196,146,61,.35);--sage:#3C5148;--sage-dim:#243830;--divider:rgba(236,230,214,.08);--card-border:rgba(196,146,61,.12);--theme-icon-transition:.35s ease}.device[data-theme=day]{--ink:#E9EDE4;--ink-elev:#DEE4D6;--ink-elev-2:#D2DAC7;--parchment:#20302A;--parchment-dim:rgba(32,48,42,.58);--parchment-faint:rgba(32,48,42,.08);--gold:#C4923D;--gold-glow:rgba(196,146,61,.28);--sage:#8FA48F;--sage-dim:#CDD8C6;--divider:rgba(32,48,42,.1);--card-border:rgba(169,118,31,.16)}.device,.device *{transition:background-color var(--theme-icon-transition),color var(--theme-icon-transition),border-color var(--theme-icon-transition),fill var(--theme-icon-transition),box-shadow var(--theme-icon-transition)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;background:#0a1512;height:100%;overflow:hidden}body{font-family:Manrope,sans-serif;display:flex;justify-content:center;align-items:flex-start;min-height:100vh;padding:24px 12px}.device{width:100%;max-width:390px;background:var(--ink);border-radius:32px;overflow:hidden;box-shadow:0 30px 80px #00000080;position:relative;min-height:780px;display:flex;flex-direction:column}.screen{flex:1;display:flex;flex-direction:column;padding:22px 20px 0;position:absolute;inset:0;opacity:0;pointer-events:none;transform:translateZ(0);transition:transform .32s cubic-bezier(.22,.68,0,1.01);will-change:transform}.screen.active{opacity:1;pointer-events:auto}.stars{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(1.6px 1.6px at 18% 9%,rgba(236,230,214,.4),transparent),radial-gradient(1px 1px at 52% 6%,rgba(236,230,214,.28),transparent),radial-gradient(1.4px 1.4px at 78% 13%,rgba(196,146,61,.32),transparent),radial-gradient(1px 1px at 33% 16%,rgba(236,230,214,.22),transparent),radial-gradient(1.6px 1.6px at 64% 20%,rgba(236,230,214,.3),transparent),radial-gradient(1px 1px at 10% 24%,rgba(236,230,214,.2),transparent),radial-gradient(1.4px 1.4px at 88% 27%,rgba(196,146,61,.26),transparent),radial-gradient(1px 1px at 44% 29%,rgba(236,230,214,.18),transparent),radial-gradient(1.2px 1.2px at 25% 34%,rgba(236,230,214,.16),transparent),radial-gradient(1px 1px at 70% 33%,rgba(236,230,214,.15),transparent)}.sheet-overlay{position:absolute;inset:0;background:#00000080;opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:20}.sheet-overlay.open{opacity:1;pointer-events:auto}.sheet{position:absolute;left:0;right:0;bottom:0;background:var(--ink-elev);border-radius:24px 24px 0 0;padding:10px 20px 26px;transform:translateY(100%);transition:transform .3s cubic-bezier(.22,.68,0,1.01);box-shadow:0 -20px 50px #00000059;max-height:85vh;max-height:85dvh;overflow-y:auto}.sheet-overlay.open .sheet{transform:translateY(0)}.install-overlay{position:absolute;inset:0;background:#00000080;opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:30}.install-overlay.open{opacity:1;pointer-events:auto}.install-overlay.open .sheet{transform:translateY(0)}.install-close{position:absolute;top:10px;right:16px;width:30px;height:30px}.install-close svg{width:14px;height:14px}.install-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;padding-right:28px}.install-icon{width:48px;height:48px;border-radius:12px;flex:0 0 auto;box-shadow:0 6px 18px #0000004d}.install-ios-steps{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.install-step{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--parchment-dim);background:var(--parchment-faint);border-radius:12px;padding:10px 12px}.install-step strong{color:var(--parchment)}.install-step-num{flex:0 0 auto;width:18px;height:18px;border-radius:50%;background:var(--card-border);color:var(--gold);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.ios-share-icon{width:14px;height:14px;flex:0 0 auto}.settings-overlay{position:absolute;inset:0;background:#00000073;opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:25}.settings-overlay.open{opacity:1;pointer-events:auto}.settings-overlay.open .sheet{transform:translateY(0)}.settings-overlay .sheet{width:100%;max-width:560px;margin:0 auto}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0 14px;border-bottom:1px solid var(--divider);margin-bottom:10px}.settings-copy{color:var(--parchment-dim);font-size:12.5px;line-height:1.4}.settings-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px}.theme-swatches{display:flex;gap:10px;align-items:center;margin-bottom:14px}.theme-swatch{width:36px;height:36px;border-radius:10px;border:2px solid rgba(255,255,255,.06);box-shadow:0 6px 18px #0000004d;cursor:pointer;flex:0 0 auto}.theme-swatch[data-app-theme=forest]{background:linear-gradient(135deg,#11201c 0 48%,#3c5148 48%)}.theme-swatch[data-app-theme=midnight]{background:linear-gradient(135deg,#101820 0 48%,#3d5263 48%)}.theme-swatch[data-app-theme=mineral]{background:linear-gradient(135deg,#151d1f 0 48%,#46595b 48%)}.theme-swatch[data-app-theme=maroon]{background:linear-gradient(135deg,#201416 0 48%,#5a3f43 48%)}.theme-swatch[data-app-theme=olive]{background:linear-gradient(135deg,#191d13 0 48%,#4c5837 48%)}.theme-swatch.selected{outline:3px solid rgba(196,146,61,.28);transform:translateY(-2px)}.sheet-handle{width:36px;height:4px;border-radius:4px;background:var(--card-border);margin:0 auto 16px}.sheet-title{font-family:Space Grotesk,sans-serif;font-weight:600;font-size:17px;color:var(--parchment);margin-bottom:16px}.type-toggle{display:flex;gap:8px;margin-bottom:18px}.type-opt{flex:1;text-align:center;font-size:12.5px;font-weight:700;color:var(--parchment-dim);background:var(--parchment-faint);border:1px solid transparent;padding:10px 4px;border-radius:12px;cursor:pointer;font-family:inherit}.type-opt.active{color:var(--gold);border-color:var(--gold);background:var(--card-border)}.wirid-item-row{display:flex;gap:8px;margin-bottom:10px;align-items:center}.wirid-item-row .sheet-input{margin-bottom:0}.wirid-item-name{flex:1.6}.wirid-item-num{flex:1;text-align:center}.wirid-item-remove{width:36px;height:36px;flex:0 0 auto;border-radius:10px;border:none;background:var(--parchment-faint);color:var(--parchment-dim);cursor:pointer;font-size:14px;font-family:inherit}.btn-add-item{width:100%;text-align:center;font-size:12.5px;font-weight:700;color:var(--gold);background:none;border:1.5px dashed var(--card-border);padding:10px 0;border-radius:12px;cursor:pointer;font-family:inherit;margin-bottom:18px}.field-label{font-size:11.5px;font-weight:600;color:var(--parchment-dim);margin-bottom:8px;letter-spacing:.03em}.preset-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.preset-chip{font-size:12px;font-weight:600;color:var(--parchment-dim);background:var(--parchment-faint);border:1px solid transparent;padding:7px 12px;border-radius:100px;cursor:pointer}.preset-chip.selected{color:var(--gold);border-color:var(--gold);background:var(--card-border)}.sheet-input{width:100%;background:var(--ink);border:1px solid var(--card-border);color:var(--parchment);font-family:Manrope,sans-serif;font-weight:600;font-size:15px;padding:12px 14px;border-radius:12px;outline:none;margin-bottom:18px}.sheet-input:focus{border-color:var(--gold)}.quick-numbers{display:flex;gap:8px;margin-bottom:10px}.quick-num{flex:1;text-align:center;font-size:12.5px;font-weight:700;color:var(--parchment-dim);background:var(--parchment-faint);border:1px solid transparent;padding:9px 0;border-radius:10px;cursor:pointer}.quick-num.selected{color:var(--gold);border-color:var(--gold);background:var(--card-border)}.num-input{text-align:center;font-family:Space Grotesk,sans-serif;font-size:20px}.sheet-actions{display:flex;gap:10px;margin-top:6px}.btn-primary{flex:1;background:var(--gold);color:#1a130a;font-weight:700;font-size:14px;padding:13px 0;border-radius:12px;border:none;cursor:pointer;font-family:inherit}.btn-ghost{background:none;color:var(--parchment-dim);font-weight:600;font-size:13.5px;padding:13px 16px;border:none;cursor:pointer;font-family:inherit}.btn-danger{color:#c4593d}.tc-edit{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--parchment-faint);color:var(--parchment-dim);cursor:pointer}.tc-edit svg{width:11px;height:11px}.target-card-add{flex:0 0 auto;min-width:64px;display:flex;align-items:center;justify-content:center;background:none;border:1.5px dashed var(--card-border);border-radius:16px;cursor:pointer;color:var(--gold)}.target-card-add svg{width:18px;height:18px}header.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.header-actions{display:flex;align-items:center;gap:8px}.wordmark{font-family:Space Grotesk,sans-serif;font-weight:600;font-size:15px;color:var(--parchment);letter-spacing:.02em}.wordmark span{color:var(--gold)}.icon-btn{width:34px;height:34px;border-radius:50%;background:var(--parchment-faint);display:flex;align-items:center;justify-content:center;color:var(--parchment-dim);cursor:pointer;border:none}.icon-btn svg{width:16px;height:16px}.icon-btn.muted{color:var(--gold);background:var(--card-border)}.tap-wrap{flex:1;display:flex;align-items:center;justify-content:center;position:relative}.bead-ring{position:absolute;width:280px;height:280px;pointer-events:none}.bead-ring .bead{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--sage-dim);left:50%;top:50%;transform-origin:0 0}.tap-circle{width:clamp(192px,58vw,240px);height:clamp(192px,58vw,240px);border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--ink-elev-2),var(--ink-elev) 70%);border:1px solid var(--card-border);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:manipulation;-webkit-touch-callout:none;padding:0;outline:none;font-family:inherit;position:relative;transition:transform .08s ease,box-shadow .2s ease;box-shadow:0 0 0 0 var(--gold-glow)}.hold-ring{position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--gold);opacity:0;transform:scale(.9);pointer-events:none}.device[data-theme=day] .stars{opacity:0;transition:opacity .35s ease;pointer-events:none}.device[data-theme=night] .stars{opacity:1;transition:opacity .35s ease;pointer-events:none}.tap-circle.holding .hold-ring{opacity:1;transform:scale(1.05);transition:opacity .55s linear,transform .55s linear}.tap-circle:active{transform:scale(.96)}.tap-circle.pulse{box-shadow:0 0 0 14px transparent}.count-num{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:clamp(40px,12.5vw,52px);color:var(--parchment);line-height:1;font-variant-numeric:tabular-nums}.count-label{font-size:12px;color:var(--parchment-dim);margin-top:6px;letter-spacing:.04em}.hint{text-align:center;color:var(--parchment-dim);font-size:12px;padding:18px 0 26px}.toast{position:absolute;left:50%;top:14px;transform:translate(-50%) translateY(-140%);background:var(--gold);color:#1a130a;font-weight:700;font-size:12.5px;padding:8px 16px;border-radius:100px;opacity:0;pointer-events:none;transition:transform .25s ease,opacity .25s ease;white-space:nowrap}.toast.show{transform:translate(-50%) translateY(0);opacity:1}.target-select{align-self:center;margin-top:6px;display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.target-select .tname{font-family:Space Grotesk,sans-serif;font-weight:600;font-size:19px;color:var(--parchment)}.target-select svg{width:13px;height:13px;color:var(--gold)}.step-indicator{text-align:center;font-size:12px;font-weight:600;color:var(--gold);margin-top:4px;display:none}.ring-wrap{flex:1;display:flex;align-items:center;justify-content:center;position:relative}.ring-wrap:before{content:"";position:absolute;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,#c4923d17,#c4923d08 45%,#c4923d00 72%);pointer-events:none}.progress-ring{position:relative;width:clamp(206px,64vw,250px);height:clamp(206px,64vw,250px)}.progress-ring svg{width:100%;height:100%}.ring-bead{transition:fill var(--theme-icon-transition),opacity .25s ease}.ring-bead.filled{fill:var(--gold);opacity:1}.ring-bead.unfilled{fill:var(--sage);opacity:.55}.ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:none;border:none;padding:0;outline:none;font-family:inherit}.ring-center.tap-feedback{animation:ringTapFeedback .14s ease-out}@keyframes ringTapFeedback{0%{transform:scale(1)}45%{transform:scale(.96)}to{transform:scale(1)}}.ring-current{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:clamp(34px,10.5vw,44px);color:var(--parchment);font-variant-numeric:tabular-nums;line-height:1}.ring-target{font-size:13px;color:var(--parchment-dim);margin-top:4px}.ring-done{display:none;text-align:center}.ring-done .check{font-size:30px;color:var(--gold)}.ring-done .label{font-size:12.5px;color:var(--parchment-dim);margin-top:4px}.ring-step-done{display:none;text-align:center}.ring-step-done .check{font-size:28px;color:var(--gold)}.ring-step-done .label{font-size:13px;font-weight:700;color:var(--parchment);margin-top:4px}.ring-step-done .tap-hint{font-size:11px;color:var(--parchment-dim);margin-top:6px}.subhint{text-align:center;font-size:11px;color:var(--parchment-dim);margin-top:0}.target-list{display:flex;align-items:stretch;gap:10px;margin-top:16px;margin-bottom:44px;padding-bottom:2px;overflow-x:auto}.target-card{position:relative;flex:0 0 auto;min-width:118px;max-width:152px;background:var(--ink-elev);border:1px solid var(--card-border);border-radius:16px;padding:12px 14px;cursor:pointer;text-align:left;font-family:inherit;outline:none;box-shadow:0 8px 20px #00000047,0 1px #ece6d608 inset}.target-card.active{border-color:var(--gold);background:var(--ink-elev-2);box-shadow:0 8px 22px #c4923d29,0 1px #ece6d608 inset}.target-card.completed{opacity:.6}.target-card.completed.active{opacity:1}.tc-check{color:var(--gold);font-weight:700}.target-card .tc-name{font-size:12px;font-weight:700;color:var(--parchment);margin-bottom:6px;padding-right:20px;line-height:1.3}.target-card .tc-bar{height:4px;background:var(--sage-dim);border-radius:4px;overflow:hidden}.target-card .tc-fill{height:100%;background:var(--gold);border-radius:4px}.target-card .tc-num{font-size:10.5px;color:var(--parchment-dim);margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.tc-segs{display:flex;gap:4px}.tc-segs .seg{flex:1;height:4px;border-radius:4px;background:var(--sage-dim)}.tc-segs .seg-filled{background:var(--gold)}.bottomnav{display:flex;margin-top:auto;border-top:1px solid var(--divider);padding:10px 20px 22px}.navitem{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--parchment-dim);font-size:11px;font-weight:600;cursor:pointer}.navitem.active{color:var(--gold)}.navitem .dot{width:5px;height:5px;border-radius:50%;background:transparent}.navitem.active .dot{background:var(--gold)}@media(max-width:480px){body{padding:0}.device{max-width:none;border-radius:0;height:100vh;height:100dvh;box-shadow:none}.screen{padding-top:calc(16px + env(safe-area-inset-top))}.bottomnav{padding-bottom:calc(14px + env(safe-area-inset-bottom))}.sheet{padding-bottom:calc(46px + env(safe-area-inset-bottom))}}.nav-slide-left{transform:translate(-100%) translateZ(0)}.nav-slide-right{transform:translate(100%) translateZ(0)}.device.nav-transitioning .bead-ring,.device.nav-transitioning #ringSvg{opacity:0}.device.nav-transitioning .stars{display:none}@media(max-width:374px){.bead-ring{transform:scale(.88)}.ring-wrap:before{width:400px;height:400px}}@media(max-width:340px){.bead-ring{transform:scale(.78)}.ring-wrap:before{width:340px;height:340px}}
