:root{--ink:#08231f;--muted:#61736e;--line:#dce9e2;--cream:#fff7ed;--paper:#fffdf7;--panel:#ffffff;--teal:#0f766e;--teal2:#064e3b;--green:#10b981;--gold:#f59e0b;--gold2:#facc15;--blue:#0ea5e9;--purple:#7c3aed;--rose:#fb7185;--shadow:0 22px 60px rgba(8,35,31,.12);--soft:0 10px 28px rgba(8,35,31,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:#f6f5ed}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 15% 0,rgba(250,204,21,.24),transparent 28%),radial-gradient(circle at 92% 4%,rgba(14,165,233,.18),transparent 28%),linear-gradient(180deg,#f5fff8 0,#fff7ed 42%,#f7faf8)}button,input,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}p{line-height:1.45;color:var(--muted)}.loading{min-height:100vh;display:grid;place-items:center;font-weight:900;color:var(--teal)}.app-shell{max-width:760px;margin:0 auto;padding:18px 14px 96px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.brand-lockup{display:flex;align-items:center;gap:10px}.logo-mark{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold),var(--green));box-shadow:0 12px 28px #10b98138;font-size:1.35rem}.brand-lockup strong{display:block;font-size:1.1rem;letter-spacing:-.04em}.brand-lockup span{display:block;color:var(--muted);font-weight:800;font-size:.76rem}.save-state{border-radius:999px;padding:7px 10px;background:#ffffffb8;font-size:.72rem;font-weight:900;text-transform:capitalize}.save-state.error{background:#fee2e2;color:#991b1b}.save-state.saving{background:#fef3c7;color:#92400e}.premium-card,.glass,.form-card{border:1px solid rgba(8,35,31,.09);background:#ffffffdb;box-shadow:var(--soft);border-radius:30px;padding:18px;margin-bottom:14px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.dark-hero{background:radial-gradient(circle at 0 0,rgba(250,204,21,.32),transparent 35%),radial-gradient(circle at 100% 0,rgba(16,185,129,.22),transparent 35%),linear-gradient(135deg,#063b35,#0f766e 55%,#0ea5e9);color:#fff;border:0;box-shadow:0 28px 80px #063b353d}.dark-hero p,.dark-hero .eyebrow{color:#ffffffd1}.eyebrow{display:block;color:var(--teal);text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;font-weight:950;margin-bottom:5px}.eyebrow.blue{color:#0369a1}.eyebrow.purple{color:#6d28d9}.primary,.secondary,.ghost,.gold-button,.text-button{border:0;border-radius:999px;padding:12px 16px;font-weight:950}.primary{background:linear-gradient(135deg,var(--teal),var(--green));color:#fff;box-shadow:0 12px 24px #10b98138}.secondary{background:#fff;color:var(--teal);border:1px solid var(--line)}.ghost{background:#f8fafc;color:var(--muted)}.gold-button{background:linear-gradient(135deg,var(--gold),var(--green));color:#fff;box-shadow:0 18px 38px #f59e0b4d}.text-button{background:#ffffff2e;color:#fff;border:1px solid rgba(255,255,255,.22);padding:9px 13px}.small{padding:9px 12px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:18px}.login-card{max-width:440px}.login-card h1{font-size:2.4rem;line-height:.96;letter-spacing:-.075em}.login-form label,.form-card label,.premium-card label{display:block;font-weight:900;color:var(--ink);margin:12px 0 8px}input,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:18px;padding:13px 14px;margin-top:7px;color:var(--ink)}textarea{resize:vertical}.error{background:#fee2e2;color:#991b1b;border-radius:16px;padding:10px;margin:10px 0;font-weight:850}.onboarding-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.wide{grid-column:1/-1}.inline-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.wide-button{width:100%;margin-top:10px}.programme-top{background:linear-gradient(145deg,#fffdf7,#ecfdf5);border-color:#10b98138}.programme-header{display:flex;justify-content:space-between;gap:12px}.programme-header h1{font-size:1.55rem;letter-spacing:-.055em;margin:0 0 4px}.week-badge{min-width:58px;height:58px;border-radius:22px;background:linear-gradient(135deg,var(--teal),var(--blue));color:#fff;display:grid;place-items:center;font-weight:950;box-shadow:0 18px 40px #0ea5e93d}.programme-map{display:grid;grid-template-columns:repeat(8,1fr);gap:7px;margin-top:12px}.programme-map span{height:13px;border-radius:999px;background:#e5e7eb;text-indent:-999px;overflow:hidden}.programme-map .complete{background:linear-gradient(90deg,var(--green),var(--teal))}.programme-map .current{background:linear-gradient(90deg,var(--gold),var(--green));box-shadow:0 0 0 4px #f59e0b1f}.plan-card{background:linear-gradient(145deg,#fff,#f0fdf4 64%,#fff7ed);border-color:#10b98133}.card-title h2{font-size:1.45rem;letter-spacing:-.055em;margin-bottom:5px}.plan-list{display:grid;gap:10px}.plan-row{display:flex;gap:12px;align-items:flex-start;padding:13px;border-radius:22px;background:#ffffffb8;border:1px solid rgba(8,35,31,.07)}.plan-tick{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#dcfce7;color:#047857;font-weight:950}.plan-row strong{display:block}.plan-row p{margin:4px 0 0;font-size:.92rem}.checkin-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:14px}.partly-box{margin-top:12px;border-radius:22px;background:#f8fafc;padding:12px;border:1px dashed var(--line)}.chip{display:inline-flex;margin:5px 5px 5px 0;border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 11px;font-weight:900}.chip.active{background:#dcfce7;border-color:#86efac;color:#047857}.recovery-note{display:grid;gap:4px;border-radius:22px;padding:12px;margin-bottom:12px;background:#fffbeb;border:1px solid #fde68a}.score-hero{position:relative;overflow:hidden}.status-pill{display:inline-flex;padding:8px 11px;border-radius:999px;font-weight:950;font-size:.82rem;margin-bottom:12px}.status-pill.gold{background:#facc1538;color:#fff7dc;border:1px solid rgba(250,204,21,.28)}.score-layout{display:flex;align-items:center;gap:18px}.score-ring,.mini-ring{--score:68;width:132px;height:132px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--gold) calc(var(--score)*1%),rgba(255,255,255,.26) 0);position:relative;flex:0 0 auto}.score-ring:after,.mini-ring:after{content:"";position:absolute;top:13px;right:13px;bottom:13px;left:13px;border-radius:50%;background:#073c35}.score-ring strong,.score-ring span,.mini-ring{z-index:1;color:#fff}.score-ring strong{font-size:2.65rem;letter-spacing:-.08em}.score-ring span{font-size:.8rem;margin-top:42px;position:absolute}.score-layout h2{font-size:2rem;letter-spacing:-.07em;margin:0 0 5px}.score-layout p{color:#ffffffd4;margin-bottom:12px}.score-compact{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(145deg,#fff,#f0fdf4)}.score-compact h2{margin-bottom:4px}.mini-ring{width:78px;height:78px;font-weight:950}.mini-ring:after{top:8px;right:8px;bottom:8px;left:8px;background:var(--teal)}.card-row{display:grid;grid-template-columns:1.1fr .9fr;gap:12px}.spoon-card{background:radial-gradient(circle at 100% 0,rgba(14,165,233,.16),transparent 40%),linear-gradient(145deg,#f8fdff,#fff)}.spoon-card h2,.next-card h2{font-size:1.45rem;letter-spacing:-.055em}.spoon-stack{display:grid;grid-template-columns:repeat(10,1fr);gap:7px;margin:12px 0}.spoon-stack span{height:28px;border-radius:999px;display:grid;place-items:center;filter:grayscale(1);opacity:.34;background:#eef2f7}.spoon-stack .used{filter:none;opacity:1;background:linear-gradient(180deg,#fef3c7,#fde68a);box-shadow:0 8px 16px #f59e0b2e}.next-card{background:radial-gradient(circle at 0 0,rgba(124,58,237,.12),transparent 36%),linear-gradient(145deg,#fff,#faf5ff)}.evidence-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.evidence{padding:14px;border-radius:24px;margin:0}.evidence span{font-size:.73rem;color:var(--teal);font-weight:950;text-transform:uppercase;letter-spacing:.09em}.evidence h3{font-size:.95rem;margin:5px 0;color:var(--muted)}.evidence strong{display:block;font-size:1.05rem;letter-spacing:-.04em}.evidence p{margin:4px 0 0;font-size:.84rem}.weekly-card{background:linear-gradient(145deg,#faf5ff,#fff)}.page-stack{display:grid;gap:0}.coach-hero{background:radial-gradient(circle at 100% 0,rgba(124,58,237,.22),transparent 40%),linear-gradient(145deg,#fff,#faf5ff)}.spoon-result h2{font-size:3rem;letter-spacing:-.09em;color:var(--teal);margin:0}.formula{background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:12px;margin:12px 0;font-weight:900}.breakdown{display:grid;grid-template-columns:1fr auto;gap:6px;padding:10px 0;border-top:1px solid var(--line)}.breakdown small{grid-column:1/-1;color:var(--muted)}.support-note{background:#f0fdf4;border-radius:18px;padding:12px;color:#047857;font-weight:850}.metric-form h2{margin-bottom:2px}.log-row{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;border-top:1px solid var(--line);padding:11px 0}.log-row small{grid-column:2;color:var(--muted)}.gp-pack{white-space:pre-wrap;background:#08231f;color:#ecfdf5;border-radius:22px;padding:14px;overflow:auto;font-size:.9rem}.bottom-nav{position:fixed;left:50%;bottom:14px;transform:translate(-50%);width:min(720px,calc(100vw - 24px));display:grid;grid-template-columns:repeat(5,1fr);gap:6px;background:#ffffffd1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:8px;border:1px solid rgba(8,35,31,.08);border-radius:25px;box-shadow:0 18px 60px #08231f2e}.bottom-nav button{border:0;border-radius:18px;background:transparent;padding:10px 5px;font-weight:950;color:var(--muted)}.bottom-nav button.active{background:linear-gradient(135deg,var(--teal),var(--blue));color:#fff}.celebration-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:start center;background:#08231f2e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.celebration-layer canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.celebration-modal{position:relative;margin-top:11vh;width:min(430px,92vw);border-radius:34px;background:radial-gradient(circle at 20% 0,rgba(250,204,21,.33),transparent 35%),linear-gradient(145deg,#fffdf7,#fff 60%,#ecfdf5);box-shadow:0 32px 100px #08231f52;padding:24px 20px;text-align:center;border:1px solid rgba(245,158,11,.5)}.medal{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;background:linear-gradient(135deg,var(--gold),var(--green));color:#fff;font-size:2rem;font-weight:950}.celebration-modal span{display:block;color:#92400e;font-weight:950;letter-spacing:.13em;text-transform:uppercase;font-size:.78rem}.celebration-modal h2{font-size:2rem;line-height:1;letter-spacing:-.07em;margin:6px 0 8px}.celebration-modal p{font-weight:800}.celebration-modal .gold-button{min-width:150px}@media(max-width:700px){.app-shell{padding:14px 12px 92px}.onboarding-grid,.card-row,.evidence-grid{grid-template-columns:1fr}.inline-fields{grid-template-columns:1fr 1fr}.login-card h1{font-size:2rem}.score-layout{align-items:flex-start}.score-ring{width:112px;height:112px}.score-ring strong{font-size:2.25rem}.score-layout h2{font-size:1.65rem}.checkin-actions{grid-template-columns:1fr}.bottom-nav{bottom:8px}.bottom-nav button{font-size:.82rem}.spoon-stack{grid-template-columns:repeat(5,1fr)}}@media(max-width:390px){.score-layout{display:block}.score-ring{margin-bottom:12px}.programme-header{display:block}.week-badge{margin-top:10px}.inline-fields{grid-template-columns:1fr}}@media(prefers-color-scheme:dark){:root{--ink:#ecfdf5;--muted:#a7b7b1;--line:#23443b;--panel:#0d1f1a}body{background:radial-gradient(circle at 15% 0,rgba(245,158,11,.15),transparent 28%),radial-gradient(circle at 92% 4%,rgba(14,165,233,.12),transparent 28%),linear-gradient(180deg,#071a16 0,#10120c)}.premium-card,.glass,.form-card,input,textarea{background:#0d1f1adb;color:var(--ink);border-color:#ffffff14}.programme-top,.plan-card,.score-compact,.spoon-card,.next-card,.weekly-card,.coach-hero{background:#0d1f1adb}.plan-row,.partly-box,.formula{background:#ffffff0a}.bottom-nav{background:#0d1f1ae0}.secondary,.ghost{background:#ffffff0a;color:var(--ink)}.spoon-stack span{background:#1d2e28}.mini-ring:after,.score-ring:after{background:#06231f}.celebration-modal{background:linear-gradient(145deg,#2a1707,#101b14 55%,#07110c)}}
