*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0b0d;--bg-raised:#161920;--surface:#101217;--surface-2:#ffffff09;--border:#ffffff0f;--border-strong:#ffffff24;--text:#e8eaed;--text-muted:#7a8087;--text-dim:#4a5058;--accent:#c586ff;--accent-glow:#c586ff59;--accent-hot:#a066d6;--smoke:#e5484d;--smoke-ink:#fff5f5;--resist:#5dd39e;--resist-ink:#04130b;--good:#5dd39e;--success:#5dd39e;--warn:#e5c46b;--danger:#e5484d;--radius-sm:3px;--radius:4px;--radius-lg:6px;--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-serif:var(--font-sans);--shadow-card:0 0 0 1px var(--border);--shadow-glow:0 0 0 1px var(--border), 0 20px 60px -30px var(--accent-glow);--ease:cubic-bezier(.22, 1, .36, 1)}html{-webkit-tap-highlight-color:transparent}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);letter-spacing:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-weight:400;position:relative;overflow-x:hidden}body:before,body:after{content:none!important;background:0 0!important}#root{z-index:2;position:relative}.app{flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;display:flex;position:relative}:root{--gutter:20px}.app-header{padding-top:20px;padding-right:max(var(--gutter), env(safe-area-inset-right));padding-bottom:14px;padding-left:max(var(--gutter), env(safe-area-inset-left));z-index:10;-webkit-backdrop-filter:blur(16px);background:linear-gradient(#0f1113e6 0%,#0f111300 100%);align-items:flex-end;gap:12px;display:flex;position:sticky;top:0}.app-header h1{font-family:var(--font-serif);font-variation-settings:"opsz" 144, "SOFT" 50;color:var(--text);letter-spacing:-.02em;min-width:0;font-size:clamp(1.25rem,5vw,1.45rem);font-weight:500;line-height:1}.app-header h1 em{color:var(--accent);font-style:italic;font-weight:400}.app-main{padding-top:8px;padding-right:max(var(--gutter), env(safe-area-inset-right));padding-bottom:calc(80px + env(safe-area-inset-bottom));padding-left:max(var(--gutter), env(safe-area-inset-left));flex:1;min-width:0;overflow-y:auto}.bottom-nav{bottom:calc(16px + env(safe-area-inset-bottom));width:calc(100% - calc(var(--gutter) * 2) - env(safe-area-inset-left) - env(safe-area-inset-right));max-width:calc(480px - calc(var(--gutter) * 2));-webkit-backdrop-filter:blur(20px)saturate(150%);border:1px solid var(--border);z-index:100;background:#15181bc7;border-radius:999px;gap:4px;padding:6px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 20px 50px -20px #0009,inset 0 0 0 1px #ffffff0a}.nav-tab{color:var(--text-muted);cursor:pointer;font-family:var(--font-sans);letter-spacing:.06em;text-transform:uppercase;transition:color .16s var(--ease), background .22s var(--ease);background:0 0;border:none;border-radius:999px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:10px 4px 8px;font-size:.68rem;font-weight:500;display:flex}.nav-tab.active{color:var(--text);background:var(--surface-2)}.nav-tab.active .nav-icon{color:var(--accent)}.nav-icon{color:currentColor;width:20px;height:20px;transition:color .16s var(--ease);display:inline-flex}.nav-icon svg{width:100%;height:100%}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:18px;position:relative;overflow:hidden}.stat-card.large{background:radial-gradient(120% 140% at 100% 0%, #f2a36524, transparent 55%), var(--surface);margin-bottom:14px;padding:26px 24px 28px}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.18em;margin-bottom:10px;font-size:.66rem;font-weight:500}.stat-value{font-family:var(--font-serif);font-variation-settings:"opsz" 144;color:var(--text);letter-spacing:-.02em;font-feature-settings:"tnum" 1, "ss01" 1;word-break:break-word;overflow-wrap:anywhere;font-size:clamp(1.5rem,6.5vw,2rem);font-weight:400;line-height:1.05}.stat-value.clock{color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:-.015em;font-size:clamp(1.75rem,9vw,2.4rem);font-weight:400}.stats-row{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px;display:grid}.stats-summary{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.yesterday-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stat-sub{color:var(--text-muted);letter-spacing:.02em;margin-top:6px;font-size:.7rem}.smoked-btn{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-hot) 100%);color:#1a0f08;border-radius:var(--radius);width:100%;font-family:var(--font-sans);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 0 0 1px #ffb47859, 0 14px 40px -12px var(--accent-glow), 0 1px 0 0 #ffffff40 inset;transition:transform .16s var(--ease), box-shadow .24s var(--ease);border:none;padding:18px 20px;font-size:.95rem;font-weight:600;position:relative}.smoked-btn:hover{box-shadow:0 0 0 1px #ffb47873, 0 18px 48px -10px var(--accent-glow), 0 1px 0 0 #ffffff4d inset}.smoked-btn:active{transform:scale(.985)}.action-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.action-row .smoked-btn,.action-row .resisted-btn{width:100%}.resisted-btn{color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-sans);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;transition:transform .16s var(--ease), border-color .24s var(--ease), background .24s var(--ease);background:0 0;padding:18px 20px;font-size:.95rem;font-weight:600}.resisted-btn:hover{background:#52b78814;border-color:#52b788}.resisted-btn:active{transform:scale(.985)}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:200;animation:fadeIn .22s var(--ease);background:#050709b8;align-items:flex-end;display:flex;position:fixed;inset:0}.modal{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:26px var(--gutter) calc(26px + env(safe-area-inset-bottom));width:100%;max-width:480px;animation:slideUp .32s var(--ease);border-bottom:none;margin:0 auto;position:relative}.modal:before{content:"";background:var(--border-strong);border-radius:2px;width:42px;height:4px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.modal h3{font-family:var(--font-serif);letter-spacing:-.01em;margin:8px 0 18px;font-size:clamp(1.15rem,5vw,1.35rem);font-weight:500}.trigger-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:18px;display:grid}.trigger-btn-wrap{width:100%;min-width:0;display:block}.trigger-btn{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-family:var(--font-sans);transition:all .16s var(--ease);word-break:break-word;width:100%;min-width:0;padding:12px 6px;font-size:.8rem;font-weight:500;line-height:1.25}.trigger-btn:hover{color:var(--text);border-color:var(--border-strong)}.trigger-btn.selected{color:var(--accent);border-color:var(--accent);background:#f2a3651a}.trigger-btn--ghost{color:var(--text-muted);border-style:dashed;font-weight:400}.trigger-btn--remove{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:.8rem;line-height:1;position:absolute;top:4px;right:4px}.trigger-btn--remove:hover{color:var(--danger)}.trigger-btn-wrap{position:relative}.modal-actions{gap:10px;margin-top:18px;display:flex}.modal-actions button{border-radius:var(--radius-sm);border:1px solid var(--border);cursor:pointer;font-family:var(--font-sans);transition:all .16s var(--ease);flex:1;padding:13px;font-size:.9rem;font-weight:500}.modal-actions button.primary{background:var(--text);color:var(--bg);border-color:var(--text)}.modal-actions button.primary:hover{background:#fff}.modal-actions button:not(.primary){color:var(--text);background:0 0}.modal-actions button:not(.primary):hover{background:var(--surface)}.onboarding{min-height:100vh;padding:max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));justify-content:center;align-items:center;display:flex}.onboarding-card{background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-glow);flex-direction:column;gap:14px;padding:clamp(26px,7vw,34px) clamp(22px,6vw,28px);display:flex}.onboarding-steps{font-family:var(--font-sans);color:var(--text-muted);text-align:right;letter-spacing:.15em;text-transform:uppercase;font-size:.7rem}.onboarding-card h2{font-family:var(--font-serif);letter-spacing:-.02em;font-size:clamp(1.4rem,6.5vw,1.7rem);font-weight:400;line-height:1.15}.onboarding-card h2 em{color:var(--accent);font-style:italic}.onboarding-sub{color:var(--text-muted);font-size:.9rem;line-height:1.5}.onboarding-card button{background:var(--text);color:var(--bg);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-sans);letter-spacing:.02em;transition:all .16s var(--ease);border:none;padding:14px;font-size:.92rem;font-weight:600}.onboarding-card button:hover:not(:disabled){background:#fff}.onboarding-card button:disabled{opacity:.3;cursor:not-allowed}input[type=text],input[type=number],input[type=date],input[type=password]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);font-family:var(--font-sans);transition:border-color .16s var(--ease), background .16s var(--ease);padding:13px 14px;font-size:.95rem}input:focus{border-color:var(--accent);background:var(--surface-2);outline:none}label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;font-weight:500}.settings-view{flex-direction:column;gap:14px;display:flex}.settings-view h2{font-family:var(--font-serif);letter-spacing:-.02em;margin-bottom:4px;font-size:clamp(1.4rem,6.5vw,1.8rem);font-weight:400}.settings-view h3{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--text);margin-top:8px;font-size:1.25rem;font-weight:400}.settings-view hr{border:none;border-top:1px solid var(--border);margin:12px 0 4px}button.primary{background:var(--text);color:var(--bg);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-sans);transition:background .16s var(--ease);border:none;padding:13px;font-size:.92rem;font-weight:600}button.primary:hover{background:#fff}button.primary:disabled{opacity:.3;cursor:not-allowed}button.danger{color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-sans);transition:all .16s var(--ease);background:0 0;padding:13px;font-size:.9rem;font-weight:500}button.danger:hover{background:#e36f6f1a}.settings-view>button:not(.primary):not(.danger){background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-sans);transition:border-color .16s var(--ease);padding:13px;font-size:.9rem;font-weight:500}.settings-view>button:not(.primary):not(.danger):hover{border-color:var(--border-strong)}.milestones-view h2{font-family:var(--font-serif);letter-spacing:-.02em;margin-bottom:18px;font-size:clamp(1.4rem,6.5vw,1.8rem);font-weight:400}.milestones-list{flex-direction:column;gap:10px;display:flex}.milestone{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .16s var(--ease);gap:14px;padding:16px;display:flex}.milestone.locked{opacity:.4}.milestone.reached{background:linear-gradient(90deg, #a3c9a80f, transparent 40%), var(--surface);border-color:#a3c9a859}.milestone-icon{flex-shrink:0;font-size:1.35rem}.milestone-label{margin-bottom:3px;font-weight:500}.milestone-description{color:var(--text-muted);font-size:.82rem;line-height:1.45}.milestone-date{color:var(--success);letter-spacing:.1em;text-transform:uppercase;margin-top:6px;font-size:.7rem}.stats-view{flex-direction:column;gap:22px;display:flex}.stats-view h3{font-family:var(--font-serif);letter-spacing:-.01em;margin-bottom:14px;font-size:1.15rem;font-weight:400}.stats-view section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 18px}.empty{color:var(--text-muted);text-align:center;padding:18px;font-size:.88rem;font-style:italic}.dashboard{flex-direction:column;gap:0;display:flex}.habits-view{flex-direction:column;gap:22px;display:flex}.habits-view h2{font-family:var(--font-serif);letter-spacing:-.02em;font-size:clamp(1.4rem,6.5vw,1.8rem);font-weight:400}.habits-view h3{font-family:var(--font-serif);letter-spacing:-.01em;margin-bottom:14px;font-size:1.15rem;font-weight:400}.habits-view section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 18px}.habit-stat-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.trigger-list{flex-direction:column;gap:12px;display:flex}.trigger-row{align-items:center;gap:12px;display:flex}.trigger-name{width:90px;color:var(--text-muted);flex-shrink:0;font-size:.82rem}.trigger-bar-wrap{background:var(--border);border-radius:3px;flex:1;height:6px;overflow:hidden}.trigger-bar-fill{background:linear-gradient(90deg, var(--accent-hot), var(--accent));height:100%;transition:width .4s var(--ease);border-radius:3px}.trigger-count{text-align:right;width:28px;font-family:var(--font-serif);color:var(--text);font-variant-numeric:tabular-nums;font-size:.95rem}.pin-gate{min-height:100vh;padding:max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));justify-content:center;align-items:center;display:flex;position:relative}.pin-gate__card{background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-lg);text-align:center;width:100%;max-width:380px;box-shadow:var(--shadow-glow);animation:fadeUp .5s var(--ease) both;flex-direction:column;gap:16px;padding:clamp(28px,8vw,38px) clamp(22px,6vw,30px) clamp(26px,7vw,32px);display:flex}.pin-gate__card h2{font-family:var(--font-serif);font-variation-settings:"opsz" 144;color:var(--text);letter-spacing:-.03em;font-size:clamp(1.75rem,8vw,2.2rem);font-weight:400;line-height:1}.pin-gate__card h2 em{color:var(--accent);font-style:italic;font-weight:400}.pin-gate__sub{color:var(--text-muted);letter-spacing:.04em;margin-top:-6px;margin-bottom:6px;font-size:.82rem}.pin-gate__input-wrap{align-items:center;display:flex;position:relative}.pin-gate__input{text-align:center;letter-spacing:.35em;font-family:var(--font-serif);font-variant-numeric:tabular-nums;width:100%;padding:15px 56px 15px 18px;font-size:clamp(1.2rem,5.5vw,1.5rem);font-weight:400}.pin-gate__input:focus{box-shadow:0 0 0 4px var(--accent-glow)}.pin-gate__toggle,.pin-field__toggle{color:var(--text-muted);cursor:pointer;text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;font-family:var(--font-sans);transition:color .16s var(--ease);background:0 0;border:none;border-radius:6px;padding:6px 10px;position:absolute;right:10px}.pin-gate__toggle:hover,.pin-field__toggle:hover{color:var(--accent)}.pin-field{align-items:center;display:flex;position:relative}.pin-field input{width:100%;padding-right:56px}.pin-gate__error{color:var(--danger);font-size:.85rem;font-style:italic}.pin-gate__actions{gap:10px;margin-top:4px;display:flex}.pin-gate__actions button{border-radius:var(--radius-sm);border:1px solid var(--border);cursor:pointer;font-family:var(--font-sans);color:var(--text);transition:all .16s var(--ease);background:0 0;flex:1;padding:14px;font-size:.88rem;font-weight:500}.pin-gate__actions button:hover:not(:disabled){border-color:var(--border-strong)}.pin-gate__actions button.primary{background:var(--text);border-color:var(--text);color:var(--bg);font-weight:600}.pin-gate__actions button.primary:hover:not(:disabled){background:#fff}.pin-gate__actions button:disabled{opacity:.3;cursor:not-allowed}.pin-gate__loading{color:var(--text-muted);font-style:italic}.sync-error-banner{color:var(--danger);text-align:center;letter-spacing:.02em;background:#e36f6f26;border-bottom:1px solid #e36f6f40;padding:9px;font-size:.82rem}.sync-indicator{text-transform:uppercase;letter-spacing:.12em;border:1px solid #0000;border-radius:99px;margin-left:auto;padding:4px 10px;font-size:.66rem;font-weight:500}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.toaster{top:calc(env(safe-area-inset-top) + 12px);z-index:300;pointer-events:none;flex-direction:column;gap:8px;width:min(92vw,420px);display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;border-radius:var(--radius);background:var(--bg-raised);border:1px solid var(--border-strong);color:var(--text);animation:toastIn .26s var(--ease);padding:12px 16px;font-size:.9rem;box-shadow:0 16px 40px -16px #0009}.toast--success{border-color:#a3c9a873}.toast--info{border-color:var(--border-strong)}@keyframes toastIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.toggle-row{justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.toggle-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}.hint{color:var(--text-muted);margin:4px 0 8px;font-size:.8rem}.cr-dashboard{background:var(--bg);border-bottom:1px solid var(--border)}.cr-row:hover{background:#ffffff05}.cr-btn{cursor:pointer;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius);transition:transform .12s var(--ease), box-shadow .12s var(--ease), filter .12s var(--ease);border:none;padding:14px 0;font-size:11px;font-weight:600}.cr-btn--smoke{background:var(--smoke);color:var(--smoke-ink);box-shadow:0 0 0 1px var(--smoke), 0 10px 24px -10px var(--smoke)}.cr-btn--resist{background:var(--resist);color:var(--resist-ink);box-shadow:0 0 0 1px var(--resist), 0 10px 24px -10px var(--resist)}.cr-btn--smoke:hover,.cr-btn--resist:hover{filter:brightness(1.08)}.cr-bottom-nav{background:var(--surface);border-top:1px solid var(--border-strong);z-index:100;width:100%;max-width:480px;padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.cr-nav-tab{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:color .18s var(--ease), border-color .18s var(--ease);background:0 0;border:none;border-top:1px solid #0000;flex:1;margin-top:-1px;padding:12px 0 14px;font-size:10px;position:relative}.cr-nav-tab.is-active{color:var(--accent);border-top-color:var(--accent)}.cr-nav-dot{color:var(--accent);font-size:8px;animation:.26s both cr-fade-in;position:absolute;top:12px;left:10px}.bottom-nav{display:none}.app-header{background:var(--bg);border-bottom:1px solid var(--border);-webkit-backdrop-filter:none}.app-header h1{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.18em;color:var(--text);font-size:12px;font-weight:600}.app-header h1 em{color:var(--text-muted);margin-left:4px;font-style:normal;font-weight:400}.app-header h1 em:before{content:none}.app-main{padding:0;padding-bottom:calc(58px + env(safe-area-inset-bottom))}.cr-pane{background:var(--bg);flex-direction:column;display:flex}.cr-section-label{font-family:var(--font-mono);color:var(--accent);letter-spacing:.22em;text-transform:uppercase;padding:18px 14px 8px;font-size:9px;font-weight:500}.cr-totals{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(3,1fr);display:grid}.cr-totals--2{grid-template-columns:repeat(2,1fr)}.cr-totals__cell{border-right:1px solid var(--border);padding:14px 12px}.cr-totals__cell:last-child{border-right:none}.cr-label{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.16em;text-transform:uppercase;margin-bottom:6px;font-size:9px;font-weight:500}.cr-value{font-family:var(--font-mono);color:var(--text);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:500;line-height:1.1}.cr-value--sm{font-size:16px}.cr-value--good{color:var(--good)}.cr-value--accent{color:var(--accent)}.cr-value__sub{color:var(--text-muted);letter-spacing:.08em;font-size:10px;font-weight:400}.cr-block{border-bottom:1px solid var(--border);padding:16px 14px 18px}.cr-block__head{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:10px;display:flex}.cr-block__title{color:var(--text);font-weight:600}.cr-block__sub{color:var(--text-muted);margin-left:6px;font-weight:400}.cr-block__right{color:var(--text-muted);letter-spacing:.12em;font-size:9px;font-weight:500}.cr-axis{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.1em;justify-content:space-between;margin-top:6px;font-size:8px;display:flex}.cr-empty{color:var(--text-dim);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;text-align:center;border-bottom:1px solid var(--border);padding:24px 14px;font-size:10px}.cr-empty--inline{text-align:left;border:none;padding:12px 0}.cr-y-grid{grid-template-columns:1fr 1fr;gap:14px 18px;display:grid}.cr-trig-list{flex-direction:column;gap:9px;display:flex}.cr-trig-row{font-family:var(--font-mono);grid-template-columns:90px 1fr 28px;align-items:center;gap:10px;font-size:10px;animation:.3s both cr-fade-in;display:grid}.cr-trig-row__name{color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cr-trig-row__bar{background:var(--border);border-radius:1px;height:4px;overflow:hidden}.cr-trig-row__fill{background:var(--accent);height:100%;transition:width .6s var(--ease);border-radius:1px}.cr-trig-row__count{color:var(--text);text-align:right;font-variant-numeric:tabular-nums}.cr-hours{align-items:flex-end;gap:2px;height:90px;display:flex}.cr-hour-bar{background:color-mix(in oklch, var(--accent) 40%, transparent);transition:background .2s var(--ease);border-radius:1px;flex:1;align-self:flex-end;animation:.36s both cr-fade-in}.cr-hour-bar.is-peak{background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.cr-hour-bar.is-empty{background:var(--border);opacity:.6}.cr-tw-row{margin-bottom:12px;animation:.32s both cr-fade-in}.cr-tw-row:last-child{margin-bottom:0}.cr-tw-row__head{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;margin-bottom:4px;font-size:9px;display:flex}.cr-tw-row__dot{color:var(--text-dim);margin:0 6px}.cr-tw-row__count{color:var(--text);font-variant-numeric:tabular-nums}.cr-tw-row__hours{gap:1px;height:12px;display:flex}.cr-tw-cell{border-radius:1px;flex:1}.cr-row{border-bottom:1px solid var(--border);font-family:var(--font-mono);color:var(--text);background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;font-size:11px;display:flex}.cr-row--click{cursor:pointer;transition:background .16s var(--ease)}.cr-row--click:hover{background:#ffffff05}.cr-row--toggle{cursor:pointer;transition:background .16s var(--ease)}.cr-row--toggle:hover{background:#ffffff05}.cr-row--danger .cr-row__label,.cr-row--danger .cr-row__value{color:var(--danger)}.cr-row--input,.cr-row--pin{grid-template-columns:1fr auto;align-items:center;gap:10px 14px;display:grid}.cr-row--pin{grid-template-columns:1fr}.cr-row__label{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:500;font-family:var(--font-mono)}.cr-row__sub{color:var(--text-dim);letter-spacing:.06em;margin-top:2px;font-size:9px}.cr-row__value{font-family:var(--font-mono);color:var(--text);font-variant-numeric:tabular-nums;font-size:12px}.cr-row__input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:120px;color:var(--text);font-family:var(--font-mono);text-align:right;font-variant-numeric:tabular-nums;transition:border-color .16s var(--ease);padding:8px 10px;font-size:12px}.cr-row__input:focus{border-color:var(--accent);background:var(--surface-2);outline:none}.cr-row__input--pin{text-align:center;letter-spacing:.3em;width:100%;padding:12px 60px 12px 14px;font-size:16px}.cr-row__actions{grid-column:1/-1;gap:8px;margin-top:4px;display:flex}.cr-pin-field{align-items:center;display:flex;position:relative}.cr-pin-toggle{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.14em;cursor:pointer;transition:color .16s var(--ease);background:0 0;border:none;padding:6px 8px;font-size:9px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.cr-pin-toggle:hover{color:var(--accent)}.cr-error{color:var(--danger);font-family:var(--font-mono);letter-spacing:.06em;grid-column:1/-1;font-size:10px}.cr-toggle{background:var(--border);width:30px;height:16px;transition:background .2s var(--ease);border-radius:1px;flex-shrink:0;position:relative}.cr-toggle__dot{background:var(--text-muted);width:12px;height:12px;transition:transform .2s var(--ease), background .2s var(--ease);border-radius:1px;position:absolute;top:2px;left:2px}.cr-toggle.is-on{background:var(--accent)}.cr-toggle.is-on .cr-toggle__dot{background:var(--bg);transform:translate(14px)}.cr-hint{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.08em;padding:8px 14px 4px;font-size:9px;line-height:1.5}.cr-btn{border:1px solid var(--border);color:var(--text);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;border-radius:var(--radius-sm);cursor:pointer;transition:transform .12s var(--ease), border-color .16s var(--ease), background .16s var(--ease);background:0 0;padding:13px 14px;font-size:11px;font-weight:600}.cr-btn:active{transform:scale(.985)}.cr-btn:disabled{opacity:.35;cursor:not-allowed}.cr-btn--full{width:calc(100% - 28px);margin:10px 14px 18px}.cr-btn--primary{background:var(--text);color:var(--bg);border-color:var(--text)}.cr-btn--primary:hover:not(:disabled){background:#fff}.cr-btn--ghost{color:var(--text-muted);background:0 0}.cr-btn--ghost:hover{color:var(--text);border-color:var(--border-strong)}.cr-row__actions .cr-btn{flex:1}.cr-row__actions .cr-btn--primary{flex:2}.cr-modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:200;animation:fadeIn .2s var(--ease);background:#000000b8;align-items:flex-end;display:flex;position:fixed;inset:0}.cr-modal{background:var(--bg-raised);width:100%;max-width:480px;padding:16px 14px calc(24px + env(safe-area-inset-bottom));animation:slideUp .28s var(--ease);margin:0 auto}.cr-modal--smoke{border-top:1px solid var(--smoke);box-shadow:0 -20px 40px -10px color-mix(in srgb, var(--smoke) 30%, transparent)}.cr-modal--resist{border-top:1px solid var(--resist);box-shadow:0 -20px 40px -10px color-mix(in srgb, var(--resist) 30%, transparent)}.cr-modal__head{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:14px;font-size:10px;display:flex}.cr-modal--smoke .cr-modal__head{color:var(--smoke)}.cr-modal--resist .cr-modal__head{color:var(--resist)}.cr-modal__hint{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);margin:-8px 0 12px;font-size:9px}.cr-chip-grid{grid-template-columns:1fr 1fr 1fr;gap:6px;margin-bottom:14px;display:grid}.cr-chip-wrap{min-width:0;position:relative}.cr-chip{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .16s var(--ease);word-break:break-word;background:0 0;padding:10px 6px;font-size:10px;line-height:1.2}.cr-chip:hover{border-color:var(--border-strong)}.cr-chip.is-selected.cr-chip--smoke{border-color:var(--smoke);background:color-mix(in srgb, var(--smoke) 12%, transparent);color:var(--smoke)}.cr-chip.is-selected.cr-chip--resist{border-color:var(--resist);background:color-mix(in srgb, var(--resist) 12%, transparent);color:var(--resist)}.cr-chip--ghost{color:var(--text-muted);border-style:dashed}.cr-chip--input{text-align:center;font-variant-numeric:normal}.cr-chip--input:focus{border-color:var(--accent);outline:none}.cr-chip__remove{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:2px;padding:2px 5px;font-size:12px;line-height:1;position:absolute;top:2px;right:2px}.cr-chip__remove:hover{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent)}.cr-modal__label{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.16em;text-transform:uppercase;margin-bottom:6px;font-size:9px;font-weight:500;display:block}.cr-modal__input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);font-family:var(--font-mono);transition:border-color .16s var(--ease);margin-bottom:14px;padding:11px 12px;font-size:12px}.cr-modal__input:focus{border-color:var(--accent);outline:none}.cr-modal__input::placeholder{color:var(--text-dim);font-family:var(--font-sans)}.cr-count-row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px;display:flex}.cr-count-chip{border:1px solid var(--border-strong);min-width:40px;color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.08em;cursor:pointer;transition:color .14s var(--ease), border-color .14s var(--ease), background .14s var(--ease);background:0 0;border-radius:3px;flex:1;padding:9px 0;font-size:12px;font-weight:500}.cr-count-chip:hover{color:var(--text);border-color:var(--text-dim)}.cr-count-chip.is-selected{color:var(--smoke);border-color:var(--smoke);background:color-mix(in srgb, var(--smoke) 10%, transparent)}.cr-count-chip--step{max-width:48px}.cr-count-readout{font-family:var(--font-mono);color:var(--smoke);font-variant-numeric:tabular-nums;padding:0 6px;font-size:11px}.cr-modal__actions{gap:6px;display:flex}.cr-modal__cancel{border:1px solid var(--border-strong);color:var(--text);font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;border-radius:var(--radius-sm);cursor:pointer;transition:border-color .16s var(--ease);background:0 0;flex:1;padding:13px 0;font-size:10px;font-weight:600}.cr-modal__cancel:hover{border-color:var(--text-muted)}.cr-modal__confirm{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;border-radius:var(--radius-sm);cursor:pointer;transition:filter .12s var(--ease), transform .12s var(--ease);border:none;flex:2;padding:13px 0;font-size:10px;font-weight:600}.cr-modal__confirm.cr-btn--smoke{background:var(--smoke);color:var(--smoke-ink)}.cr-modal__confirm.cr-btn--resist{background:var(--resist);color:var(--resist-ink)}.cr-modal__confirm:hover{filter:brightness(1.08)}.cr-modal__confirm:active{transform:scale(.985)}.cr-toaster{top:calc(env(safe-area-inset-top) + 58px);z-index:300;pointer-events:none;flex-direction:column;gap:6px;width:min(92vw,420px);display:flex;position:fixed;left:50%;transform:translate(-50%)}.cr-toast{pointer-events:auto;background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text);font-family:var(--font-mono);letter-spacing:.04em;animation:toastIn .24s var(--ease);align-items:stretch;gap:10px;padding:10px 14px 10px 0;font-size:11px;display:flex;overflow:hidden;box-shadow:0 16px 40px -16px #000000b3}.cr-toast__bar{background:var(--accent);flex-shrink:0;width:3px}.cr-toast__msg{padding:2px 0;line-height:1.4}.cr-toast--success{border-color:color-mix(in srgb, var(--good) 40%, transparent)}.cr-toast--success .cr-toast__bar{background:var(--good)}.cr-toast--info .cr-toast__bar{background:var(--accent)}.sync-indicator{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;border:1px solid #0000;border-radius:2px;margin-left:auto;padding:3px 8px;font-size:9px;font-weight:500}.sync-indicator.syncing{color:var(--text-muted);border-color:var(--border)}.sync-indicator.synced{color:var(--good);border-color:color-mix(in srgb, var(--good) 30%, transparent)}.sync-indicator.error{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, transparent)}@keyframes cr-fade-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes cr-blink{0%,49%{opacity:1}50%,to{opacity:.3}}.cr-blink{color:inherit;animation:1s step-end infinite cr-blink}
