:root{--ink: #060608;--ink-2: #0e0f13;--ink-3: #16181f;--accent: #00C896;--accent-hi: #00FFB8;--accent-dim: rgba(0, 200, 150, .12);--white: #F5F6FA;--muted: #5e5e70;--border: rgba(255, 255, 255, .08);--font-display: "Bebas Neue", sans-serif;--font-body: "DM Sans", sans-serif;--radius: 12px;--radius-sm: 8px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{background:var(--ink);color:var(--white);font-family:var(--font-body);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh}button,input{font-family:var(--font-body)}.page-wrapper{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:1120px;margin:0 auto;padding:0 20px}.site-header{border-bottom:1px solid var(--border);background:#060608e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:100;padding:14px 0}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}.logo{display:flex;flex-direction:column;line-height:1}.logo-name{font-family:var(--font-display);font-size:20px;letter-spacing:.08em;color:var(--white)}.logo-tag{font-family:var(--font-display);font-size:10px;letter-spacing:.12em;color:var(--muted);margin-top:1px}.header-badge{background:var(--accent-dim);border:1px solid rgba(0,200,150,.3);color:var(--accent);font-family:var(--font-display);font-size:11px;letter-spacing:.08em;padding:4px 10px;border-radius:20px}.hero{padding:56px 0 40px;text-align:center;background:radial-gradient(ellipse 60% 40% at 50% 0%,rgba(0,200,150,.08) 0%,transparent 70%)}.hero-eyebrow{font-family:var(--font-display);font-size:12px;letter-spacing:.14em;color:var(--accent);margin-bottom:12px}.hero-title{font-family:var(--font-display);font-size:clamp(36px,6vw,60px);letter-spacing:.04em;color:var(--white);line-height:1.05;margin-bottom:16px}.hero-title span{color:var(--accent)}.hero-sub{font-size:15px;color:var(--muted);max-width:480px;margin:0 auto 28px;line-height:1.7}.hero-features{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin-bottom:40px}.hero-feature{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.hero-feature-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.wizard-wrapper{flex:1;padding:0 0 60px}.wizard-card{background:var(--ink-2);border:1px solid var(--border);border-radius:var(--radius);padding:32px;max-width:600px;margin:0 auto}@media (max-width: 640px){.wizard-card{padding:20px 16px}}.step-progress{display:flex;gap:6px;margin-bottom:16px}.step-bar{height:3px;border-radius:2px;transition:all .3s ease}.step-eyebrow{font-family:var(--font-display);font-size:11px;letter-spacing:.1em;color:var(--accent);margin-bottom:4px}.step-title{font-family:var(--font-display);font-size:24px;letter-spacing:.06em;color:var(--white);margin-bottom:6px}.step-sub{font-size:13px;color:var(--muted);margin-bottom:24px}.form-label{display:block;font-family:var(--font-display);font-size:11px;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}.form-input{width:100%;background:#ffffff0a;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--white);font-size:15px;padding:10px 12px;outline:none;transition:border-color .2s;font-family:var(--font-body)}.form-input:focus{border-color:var(--accent)}.form-input::-moz-placeholder{color:var(--muted)}.form-input::placeholder{color:var(--muted)}.form-input[type=number]::-webkit-inner-spin-button,.form-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}.btn-primary{background:var(--accent);color:var(--ink);border:none;border-radius:var(--radius-sm);padding:12px 24px;font-family:var(--font-display);font-size:15px;letter-spacing:.06em;cursor:pointer;transition:background .2s,transform .1s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary:hover{background:var(--accent-hi)}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#ffffff0f;color:var(--white);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 20px;font-family:var(--font-display);font-size:13px;letter-spacing:.06em;cursor:pointer;transition:background .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-secondary:hover{background:#ffffff1a}.pill{padding:8px 14px;border-radius:20px;font-family:var(--font-display);font-size:12px;letter-spacing:.05em;cursor:pointer;transition:all .15s;border:1.5px solid var(--border);background:#ffffff08;color:var(--muted)}.pill.active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.pill-square{width:48px;height:48px;border-radius:var(--radius-sm);font-family:var(--font-display);font-size:17px;cursor:pointer;transition:all .15s;border:1.5px solid var(--border);background:#ffffff08;color:var(--muted);display:flex;align-items:center;justify-content:center}.pill-square.active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.section-card{background:#ffffff06;border:1px solid var(--border);border-radius:var(--radius-sm);padding:18px;margin-bottom:14px}.section-label{font-family:var(--font-display);font-size:11px;letter-spacing:.08em;color:var(--muted);margin-bottom:12px}.spinner{width:28px;height:28px;border:2.5px solid rgba(0,200,150,.15);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.results-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:24px;padding:0 0 20px;border-bottom:1px solid var(--border)}.results-title{font-family:var(--font-display);font-size:26px;letter-spacing:.06em;color:var(--white)}.results-meta{font-size:12px;color:var(--muted);margin-top:4px}.tab-row{display:flex;gap:2px;background:#ffffff0a;border-radius:10px;padding:4px;margin-bottom:24px}.tab-btn{flex:1;padding:9px 16px;border-radius:8px;border:none;cursor:pointer;font-family:var(--font-display);font-size:12px;letter-spacing:.05em;transition:all .15s;background:transparent;color:var(--muted)}.tab-btn.active{background:var(--accent-dim);color:var(--accent)}.week-grid{overflow-x:auto;padding-bottom:16px}.week-inner{display:flex;gap:12px;min-width:-moz-max-content;min-width:max-content}.day-col{width:220px;flex-shrink:0;background:#ffffff05;border:1px solid var(--border);border-radius:var(--radius);padding:14px}.day-col.training{border-color:#00c89638}.day-name{font-family:var(--font-display);font-size:15px;letter-spacing:.07em;color:var(--white)}.day-type{font-family:var(--font-display);font-size:11px;letter-spacing:.05em;margin-top:2px}.day-type.training{color:var(--accent)}.day-type.rest{color:var(--muted)}.day-totals{font-size:11px;color:var(--muted);margin-top:5px;margin-bottom:12px}.meal-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:10px;margin-bottom:8px;overflow:hidden;transition:border-color .2s ease}.meal-card:hover{border-color:#00c89633}.meal-image{position:relative;width:100%;height:150px;background-size:cover;background-position:center;background-color:#ffffff0a}.meal-image-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#0606081a,#0606088c)}.meal-image-badge{position:absolute;bottom:8px;left:10px;font-size:10px;font-family:var(--font-display);letter-spacing:.07em;color:var(--white);background:#00c896d9;color:#060608;padding:3px 8px;border-radius:4px;font-weight:700;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.meal-header{width:100%;padding:10px 12px;display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;text-align:left}.meal-colour-bar{width:3px;height:34px;border-radius:2px;flex-shrink:0}.meal-name{font-size:13px;font-weight:600;color:var(--white);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.meal-macros{font-size:11px;color:var(--muted);font-family:var(--font-display);letter-spacing:.03em}.meal-detail{padding:0 12px 12px;border-top:1px solid rgba(255,255,255,.06)}.recipe-method{margin-top:12px;padding:11px 12px;background:#00c8960f;border-left:3px solid var(--accent);border-radius:0 6px 6px 0}.recipe-method-label{font-size:10px;font-family:var(--font-display);letter-spacing:.08em;color:var(--accent);margin-bottom:6px}.recipe-method-text{font-size:12px;color:var(--muted);line-height:1.65}.food-table{width:100%;border-collapse:collapse;margin-top:8px;font-size:11px}.food-table th{color:var(--muted);font-family:var(--font-display);letter-spacing:.04em;font-weight:400;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.06)}.food-table th:first-child{text-align:left}.food-table th:not(:first-child){text-align:right;padding-right:4px}.food-table td{padding:4px 4px 4px 0;color:var(--white)}.food-table td:first-child{color:var(--white)}.food-table td.amount{color:var(--muted);text-align:right}.food-table td.kcal{text-align:right}.food-table td.p{color:#818cf8;text-align:right}.food-table td.c{color:#f59e0b;text-align:right}.food-table td.f{color:#34d399;text-align:right}.shopping-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.shopping-category{background:var(--ink-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px}.shopping-cat-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.shopping-cat-name{font-family:var(--font-display);font-size:12px;letter-spacing:.06em;color:var(--white)}.shopping-list{list-style:none}.shopping-item{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px;color:var(--white);border-bottom:1px solid rgba(255,255,255,.05)}.shopping-item:last-child{border-bottom:none}.checkbox{width:15px;height:15px;border:1.5px solid rgba(255,255,255,.2);border-radius:3px;flex-shrink:0;display:inline-block}.cta-banner{background:linear-gradient(135deg,#00c8961a,#00c8960a);border:1px solid rgba(0,200,150,.2);border-radius:var(--radius);padding:28px 32px;margin-top:40px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.cta-title{font-family:var(--font-display);font-size:22px;letter-spacing:.05em;color:var(--white);margin-bottom:6px}.cta-sub{font-size:14px;color:var(--muted);max-width:380px}.site-footer{border-top:1px solid var(--border);padding:20px 0;text-align:center}.footer-text{font-size:12px;color:var(--muted)}.footer-text a{color:var(--accent);text-decoration:none}.macro-grid{display:flex;gap:20px;flex-wrap:wrap}.macro-item{display:flex;flex-direction:column}.macro-value{font-family:var(--font-display);font-size:26px;letter-spacing:.04em;color:var(--white);line-height:1}.macro-label{font-family:var(--font-display);font-size:10px;letter-spacing:.08em;color:var(--muted);margin-top:3px}.error-msg{color:#f87171;font-size:13px;margin-bottom:10px}@media print{.site-header,.hero,.cta-banner,.site-footer,.btn-primary,.btn-secondary,.tab-row{display:none!important}body{background:#fff;color:#000}.shopping-category{border:1px solid #ccc;-moz-column-break-inside:avoid;break-inside:avoid}.shopping-cat-name,.shopping-item{color:#000}.checkbox{border-color:#999}}
