:root{--canvas:#f5f1e8;--canvas-tint:#efe9dc;--paper:#fbf8f1;--paper-elevated:#fff;--ink-900:#15171c;--ink-700:#2a2d36;--ink-500:#4a4e5a;--ink-400:#6b7080;--ink-300:#9a9eaa;--ink-200:#c8cbd2;--ink-100:#e6e3da;--ink-50:#f0ede4;--accent:#c9542b;--accent-deep:#a43e1c;--accent-soft:#e8a282;--accent-wash:#f4e4dc;--secondary:#2d5a5e;--secondary-soft:#d3dfdf;--signal-success:#3d6b4a;--signal-success-wash:#e6ede5;--signal-warn:#a36f1f;--signal-error:#9b2c2c;--signal-error-wash:#f1e1e0;--line:#15171c14;--line-strong:#15171c24;--line-faint:#15171c0a;--ff-serif:"Fraunces", "Iowan Old Style", "Apple Garamond", Georgia, serif;--ff-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ff-mono:"JetBrains Mono", "SF Mono", Menlo, monospace;--fraunces-display:"opsz" 96, "SOFT" 30, "WONK" 0;--fraunces-heading:"opsz" 48, "SOFT" 50, "WONK" 0;--fraunces-text:"opsz" 14, "SOFT" 70, "WONK" 0;--fs-xs:.75rem;--fs-sm:.8125rem;--fs-base:.9375rem;--fs-md:1.0625rem;--fs-lg:1.25rem;--fs-xl:1.5rem;--fs-2xl:1.875rem;--fs-3xl:2.5rem;--fs-4xl:3.5rem;--fs-display:clamp(2.75rem, 6.2vw, 5.25rem);--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:2.75rem;--s-8:3.5rem;--s-9:5rem;--r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-pill:999px;--shadow-xs:0 1px 2px #15171c0a;--shadow-sm:0 1px 2px #15171c0a, 0 2px 6px #15171c0a;--shadow-md:0 1px 2px #15171c0a, 0 4px 12px #15171c0f, 0 12px 32px #15171c0a;--shadow-lg:0 1px 2px #15171c0a, 0 8px 24px #15171c14, 0 24px 56px #15171c0f;--shadow-modal:0 1px 2px #15171c0d, 0 16px 40px #15171c24, 0 40px 80px #15171c1f;--shadow-focus:0 0 0 3px #c9542b2e;--ease:cubic-bezier(.32, .72, 0, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--dur-1:.14s;--dur-2:.22s;--dur-3:.36s}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-rendering:optimizelegibility}html,body{min-height:100%}body{font-family:var(--ff-sans);font-size:var(--fs-base);color:var(--ink-900);background:var(--canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01", "cv11", "kern";font-variant-ligatures:common-ligatures contextual;letter-spacing:-.005em;margin:0;line-height:1.55}::selection{background:var(--accent-wash);color:var(--ink-900)}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}a{color:var(--accent-deep);text-underline-offset:.18em;transition:text-decoration-color var(--dur-1) var(--ease);-webkit-text-decoration:none;text-decoration:none;text-decoration-thickness:1px}a:hover{-webkit-text-decoration-color:var(--accent-deep);text-decoration-color:var(--accent-deep)}body{background:radial-gradient(900px 480px at 8% -10%, #c9542b0d, transparent 55%), radial-gradient(720px 420px at 100% 0%, #2d5a5e0a, transparent 60%), var(--canvas)}.page-shell{min-height:100vh;padding:clamp(1.25rem, 3vw, 2.5rem) clamp(1rem, 3vw, 2rem) var(--s-9);position:relative}.background-glow{pointer-events:none;opacity:.5;mix-blend-mode:multiply;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.082 0 0 0 0 0.090 0 0 0 0 0.110 0 0 0 0.025 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.main-content{z-index:1;width:min(1080px,100%);margin:0 auto;position:relative}.app-frame{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-md);animation:scaleIn .72s var(--ease-out) both;padding:clamp(1.5rem,3vw,2.75rem);position:relative}.app-frame:before{content:"";border-radius:var(--r-xl) var(--r-xl) 0 0;pointer-events:none;background:linear-gradient(90deg,#0000 0%,#ffffffe6 50%,#0000 100%);height:1px;position:absolute;inset:0 0 auto}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--s-5);padding-bottom:var(--s-5);border-bottom:1px solid var(--line);flex-wrap:wrap;margin-bottom:clamp(1.75rem,3vw,2.5rem);display:flex}.page-header h1{font-family:var(--ff-serif);font-variation-settings:var(--fraunces-display);font-weight:400;font-size:var(--fs-display);letter-spacing:-.035em;color:var(--ink-900);animation:fadeUp .72s var(--ease-out) .12s both;margin:0;line-height:.96}.page-header h1 em{font-variation-settings:"opsz" 96, "SOFT" 100, "WONK" 1;color:var(--accent-deep);animation:fadeUp .72s var(--ease-out) .32s both;font-style:italic;display:inline-block}.card{background:var(--paper-elevated);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);transition:border-color var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease), transform var(--dur-2) var(--ease);padding:clamp(1.5rem,2.5vw,2.25rem)}.card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md)}.card h2{font-family:var(--ff-serif);font-variation-settings:var(--fraunces-heading);letter-spacing:-.025em;color:var(--ink-900);margin:0;font-size:clamp(1.625rem,2.6vw,2.125rem);font-weight:400;line-height:1.1}.login-card{max-width:460px}.login-card h1{margin:var(--s-2) 0 var(--s-5);font-family:var(--ff-serif);font-variation-settings:var(--fraunces-heading);font-weight:400;font-size:var(--fs-3xl);letter-spacing:-.025em;line-height:1.05}.login-card .field-label{margin-top:var(--s-4)}.login-card .field-label:first-of-type{margin-top:0}.login-card .error-text{margin-top:var(--s-3)}.login-card .btn-orange{width:100%;margin-top:var(--s-5)}.eyebrow{align-items:center;gap:var(--s-3);font-family:var(--ff-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--accent-deep);animation:eyebrowReveal .6s var(--ease-out) both;font-size:11px;font-weight:500;display:inline-flex}.eyebrow.teal{color:var(--secondary)}.eyebrow.marigold{color:var(--signal-warn)}.eyebrow-line{opacity:.5;transform-origin:0;width:28px;height:1px;animation:drawLine .6s var(--ease-out) .2s both;background:currentColor}.field-label{margin:var(--s-5) 0 var(--s-2);color:var(--ink-700);font-family:var(--ff-mono);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:500;display:block}.field-label:first-child{margin-top:0}.input{background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--r-md);width:100%;color:var(--ink-900);font-size:var(--fs-base);font-family:var(--ff-sans);transition:border-color var(--dur-1) var(--ease), background var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);outline:none;padding:.75rem .9375rem}.input::placeholder{color:var(--ink-300)}.input:hover{border-color:var(--ink-300)}.input:focus{border-color:var(--accent);background:var(--paper-elevated);box-shadow:var(--shadow-focus)}.subtle{color:var(--ink-500)}.error-text{color:var(--signal-error);font-size:var(--fs-sm)}.c-orange{color:var(--accent-deep);font-style:italic;font-family:var(--ff-serif);font-variation-settings:var(--fraunces-text)}.btn-orange,.btn-teal,.btn-outline-dark,.btn-ghost{justify-content:center;align-items:center;gap:var(--s-2);font-family:var(--ff-sans);font-size:var(--fs-sm);letter-spacing:.005em;border-radius:var(--r-md);cursor:pointer;isolation:isolate;transition:background var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease), color var(--dur-2) var(--ease), transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease);white-space:nowrap;border:1px solid #0000;padding:.6875rem 1.25rem;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.btn-orange:before,.btn-teal:before{content:"";transition:transform .7s var(--ease-out);pointer-events:none;z-index:-1;background:linear-gradient(105deg,#0000 30%,#ffffff26 50%,#0000 70%);position:absolute;inset:0;transform:translate(-100%)}.btn-orange:hover:before,.btn-teal:hover:before{transform:translate(100%)}.btn-orange:focus-visible,.btn-teal:focus-visible,.btn-outline-dark:focus-visible,.btn-ghost:focus-visible,.counter-btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.btn-orange{background:var(--ink-900);color:var(--paper);border-color:var(--ink-900);box-shadow:var(--shadow-xs)}.btn-orange:hover{background:var(--ink-700);border-color:var(--ink-700);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-orange:active{transform:translateY(0)}.btn-teal{background:var(--accent);color:var(--paper);border-color:var(--accent);box-shadow:var(--shadow-xs)}.btn-teal:hover{background:var(--accent-deep);border-color:var(--accent-deep);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-teal:active{transform:translateY(0)}.btn-outline-dark{color:var(--ink-900);border-color:var(--line-strong);background:0 0}.btn-outline-dark:hover{background:var(--ink-900);color:var(--paper);border-color:var(--ink-900)}.btn-ghost{color:var(--ink-500);font-size:var(--fs-xs);font-family:var(--ff-mono);letter-spacing:.08em;text-transform:uppercase;background:0 0;border-color:#0000;padding:.5rem .875rem;font-weight:500;overflow:visible}.btn-ghost:hover{color:var(--ink-900);background:var(--ink-50)}.btn-ghost:after{content:"";opacity:0;transform-origin:0;height:1px;transition:opacity var(--dur-1) var(--ease), transform var(--dur-2) var(--ease-out);background:currentColor;position:absolute;bottom:.375rem;left:.875rem;right:.875rem;transform:scaleX(0)}.btn-ghost:hover:after{opacity:.45;transform:scaleX(1)}.btn-orange.lg{font-size:var(--fs-base);padding:.875rem 1.75rem}.btn-outline-dark.sm{font-size:var(--fs-xs);letter-spacing:.04em;padding:.5rem .875rem}.dashboard-stack{gap:var(--s-5);display:grid}.guided-card{justify-content:center;align-items:center;min-height:540px;display:flex}.guided-intro,.guided-flow,.nut-step,.review-step{width:min(620px,100%)}.guided-intro{gap:var(--s-3);display:grid}.guided-intro h2,.nut-step h2,.review-step h2{font-family:var(--ff-serif);font-variation-settings:var(--fraunces-heading);letter-spacing:-.03em;color:var(--ink-900);margin:0;font-size:clamp(1.875rem,3.5vw,2.75rem);font-weight:400;line-height:1.05}.step-animate{animation:fadeUp .52s var(--ease-out) both}@keyframes fadeUp{0%{opacity:0;filter:blur(2px);transform:translateY(10px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes modalIn{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes counterPulse{0%{transform:scale(1)}40%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes drawLine{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes eyebrowReveal{0%{opacity:0;letter-spacing:.02em}to{opacity:1;letter-spacing:.16em}}.step-meta{margin-bottom:var(--s-6);gap:var(--s-3);flex-direction:column;display:flex}.progress-bar-lite,.progress-bar{background:var(--ink-100);border-radius:0;width:100%;height:2px;position:relative;overflow:hidden}.progress-bar-lite>div,.progress-bar>div{background:var(--ink-900);height:100%;transition:width .6s var(--ease-out);position:relative;overflow:hidden}.progress-bar>div{background:var(--accent)}.progress-bar>div:after,.progress-bar-lite>div:after{content:"";background:linear-gradient(90deg,#0000 0%,#fff6 50%,#0000 100%) 0 0/200% 100%;animation:2.4s linear infinite shimmer;position:absolute;inset:0}.nut-step{text-align:center}.counter-shell{margin:var(--s-6) auto 0;align-items:center;gap:var(--s-5);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-pill);padding:var(--s-2);box-shadow:var(--shadow-sm);display:inline-flex}.counter-btn{border:1px solid var(--line-strong);background:var(--paper-elevated);width:56px;height:56px;font-family:var(--ff-sans);color:var(--ink-700);transition:background var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease), color var(--dur-2) var(--ease), transform var(--dur-1) var(--ease), box-shadow var(--dur-2) var(--ease);border-radius:50%;justify-content:center;align-items:center;font-size:24px;font-weight:300;line-height:1;display:inline-flex}.counter-btn:hover{background:var(--ink-900);border-color:var(--ink-900);color:var(--paper);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.counter-btn:active{transition-duration:80ms;transform:scale(.92)}.counter-value{text-align:center;min-width:140px;font-family:var(--ff-serif);font-variation-settings:var(--fraunces-display);letter-spacing:-.04em;color:var(--ink-900);font-feature-settings:"tnum";transition:transform var(--dur-2) var(--ease-out);font-size:clamp(2.75rem,7vw,4rem);font-weight:300;line-height:1}.counter-value.pulse{animation:counterPulse .36s var(--ease-out)}.flow-actions{margin-top:var(--s-7);justify-content:center;gap:var(--s-3);padding-top:var(--s-5);border-top:1px solid var(--line-faint);flex-wrap:wrap;display:flex}.review-grid{margin-top:var(--s-5);border-top:1px solid var(--line);grid-template-columns:1fr;gap:0;display:grid}.review-grid p,.admin-grid p{justify-content:space-between;align-items:baseline;gap:var(--s-4);padding:var(--s-3) 0;border-bottom:1px solid var(--line);font-size:var(--fs-base);margin:0;display:flex}.review-grid p>:first-child,.admin-grid p>:first-child{color:var(--ink-500);font-size:var(--fs-sm)}.review-grid p>:last-child,.admin-grid p>:last-child{font-family:var(--ff-mono);font-size:var(--fs-sm);color:var(--ink-900);font-feature-settings:"tnum";font-weight:500}.progress-list{margin-top:var(--s-5);gap:var(--s-5);display:grid}.progress-title{justify-content:space-between;gap:var(--s-3);font-size:var(--fs-sm);margin-bottom:var(--s-2);align-items:baseline;display:flex}.progress-title>:first-child{color:var(--ink-700);font-weight:500}.progress-title>:last-child{color:var(--ink-500);font-family:var(--ff-mono);font-feature-settings:"tnum";font-size:var(--fs-xs)}.header-row{justify-content:space-between;align-items:center;gap:var(--s-4);padding-bottom:var(--s-4);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.admin-overview{margin-top:var(--s-5);padding:var(--s-5);border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper)}.admin-overview-head{justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-4);padding-bottom:var(--s-3);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.admin-overview h3{font-family:var(--ff-serif);font-variation-settings:var(--fraunces-text);font-size:var(--fs-md);letter-spacing:-.01em;color:var(--ink-900);margin:0;font-weight:500}.week-status-pill{align-items:center;gap:var(--s-2);border-radius:var(--r-pill);font-family:var(--ff-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--ink-50);color:var(--ink-500);border:1px solid #0000;padding:.25rem .625rem;font-size:11px;font-weight:500;display:inline-flex}.week-status-pill:before{content:"";opacity:.75;background:currentColor;border-radius:50%;width:6px;height:6px}.week-status-pill.complete{color:var(--signal-success);background:var(--signal-success-wash);border-color:#3d6b4a2e}.week-status-pill.incomplete{color:var(--signal-error);background:var(--signal-error-wash);border-color:#9b2c2c2e}.week-group{gap:var(--s-3);display:grid}.week-divider{margin-top:var(--s-6);padding-top:var(--s-5);border-top:1px solid var(--line)}.week-divider-button{justify-content:space-between;align-items:center;gap:var(--s-3);width:100%;padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);font-family:var(--ff-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-500);text-align:left;cursor:pointer;transition:background var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease), color var(--dur-2) var(--ease);background:0 0;font-size:11px;font-weight:500;display:flex}.week-divider-button:after{content:"→";font-family:var(--ff-sans);font-size:var(--fs-base);letter-spacing:0;color:var(--ink-300);transition:transform var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease)}.week-divider-button:hover{border-color:var(--line-strong);color:var(--ink-900);background:var(--paper-elevated)}.week-divider-button:hover:after{color:var(--ink-700);transform:translate(3px)}.week-divider-button:focus-visible{box-shadow:var(--shadow-focus);outline:none}.week-modal-backdrop{-webkit-backdrop-filter:blur(6px);z-index:90;padding:var(--s-4);animation:fadeIn var(--dur-2) var(--ease-out);background:#15171c6b;place-items:center;display:grid;position:fixed;inset:0}.week-modal{width:min(680px,100%);max-height:calc(100vh - var(--s-6));background:var(--paper);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-modal);animation:modalIn var(--dur-3) var(--ease-out);padding:clamp(1.5rem,2.5vw,2rem);position:relative;overflow-y:auto}.week-modal:before{content:"";border-radius:var(--r-xl) var(--r-xl) 0 0;pointer-events:none;background:linear-gradient(90deg,#0000 0%,#ffffffe6 50%,#0000 100%);height:1px;position:absolute;inset:0 0 auto}.week-modal-close{margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--line);justify-content:flex-end;display:flex}.admin-list{margin-top:var(--s-5);gap:var(--s-3);display:grid}.admin-item{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-5);background:var(--paper-elevated);transition:border-color var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease), transform var(--dur-2) var(--ease);animation:slideInLeft .52s var(--ease-out) both}.admin-item:first-child{animation-delay:80ms}.admin-item:nth-child(2){animation-delay:.16s}.admin-item:nth-child(3){animation-delay:.24s}.admin-item:nth-child(4){animation-delay:.32s}.admin-item:nth-child(5){animation-delay:.4s}.admin-item:nth-child(n+6){animation-delay:.48s}.admin-item:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.admin-item h3{margin:0 0 var(--s-3);font-family:var(--ff-serif);font-variation-settings:var(--fraunces-text);font-weight:500;font-size:var(--fs-md);letter-spacing:-.01em;color:var(--ink-900)}.admin-grid{grid-template-columns:1fr;gap:0;display:grid}.admin-grid p:last-child{border-bottom:none;padding-bottom:0}@media (min-width:640px){.review-grid{-moz-column-gap:var(--s-6);column-gap:var(--s-6);grid-template-columns:1fr 1fr}.review-grid p{border-bottom:1px solid var(--line)}}@media (max-width:768px){.page-shell{padding:var(--s-4) var(--s-3) var(--s-7)}.app-frame{border-radius:var(--r-lg);padding:var(--s-5)}.page-header{margin-bottom:var(--s-5)}.guided-card{min-height:440px}.counter-shell{gap:var(--s-3)}.counter-value{min-width:100px}.counter-btn{width:48px;height:48px;font-size:22px}.week-modal{border-radius:var(--r-lg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
