.field-group{position:relative}.field-group .field{padding-right:46px}.field-toggle{position:absolute;top:0;right:0;bottom:0;width:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--ink-40);cursor:pointer}.field-toggle:hover{color:var(--cocoa)}.login-screen{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:var(--s-6) var(--s-5) calc(var(--s-6) + env(safe-area-inset-bottom));background:radial-gradient(120% 90% at 50% 0%,#fffcf6e6,#f6efe300 60%),var(--cream)}.login-card{width:100%;max-width:380px;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-lg);padding:var(--s-7) var(--s-6) var(--s-6);box-shadow:0 10px 30px #3a2a1e12}.login-card .eyebrow{margin-bottom:var(--s-3)}.login-title{font-family:var(--font-display);font-weight:700;font-size:46px;line-height:1;margin-bottom:var(--s-3)}.login-form{display:flex;flex-direction:column;gap:var(--s-3)}.login-form .btn{min-height:50px;font-size:15px}.login-error{margin-top:var(--s-4);font-size:13.5px;line-height:1.45;color:var(--berry);background:#b8433c14;border-radius:var(--r-sm);padding:var(--s-3)}@media (min-width: 900px){.login-card{max-width:420px;padding:var(--s-8) var(--s-7) var(--s-7)}.login-title{font-size:54px}}.ingredient-picker .tgroup{margin-bottom:var(--s-5)}.ingredient-picker .tgroup:last-child{margin-bottom:0}.ingredient-picker .tgroup h5{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--oat);margin:0 0 var(--s-3)}.ingredient-picker .pill-row{display:flex;flex-wrap:wrap;gap:var(--s-2)}.ingredient-picker .pill{display:flex;align-items:center;min-height:var(--tap);border:1.5px solid var(--line);border-radius:var(--r-md);background:var(--cream)}.ingredient-picker .pill-name{min-height:var(--tap);padding:0 var(--s-4);border:none;background:transparent;color:inherit;font-size:14.5px;font-weight:600;text-align:left;cursor:pointer}.ingredient-picker .pill:not(.sel):hover{border-color:var(--line-strong);background:var(--cream-2)}.ingredient-picker .pill.sel{flex:1 1 100%;flex-direction:column;align-items:stretch;gap:var(--s-2);padding:var(--s-4);background:#6e7f521f;border-color:#6e7f5259;color:var(--cocoa)}.ingredient-picker .pill-sel-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3)}.ingredient-picker .pill.sel .pill-name{flex:1;min-width:0;min-height:0;padding:0;white-space:normal;font-family:var(--font-display);font-size:16px;line-height:1.25}.ingredient-picker .pill-hint{margin:0;font-size:12px;font-style:italic;color:var(--ink-55)}.ingredient-picker .pill-divider{border-top:1px dashed var(--line-strong);margin:2px 0}.ingredient-picker .pill-sel-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--s-3)}.ingredient-picker .pill-stepper{display:flex;align-items:center;flex-shrink:0;gap:2px;padding:3px;border-radius:11px;border:1.5px solid var(--line);background:var(--card)}.ingredient-picker .pill-stepper button{width:var(--tap);height:var(--tap);flex-shrink:0;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--r-sm);background:var(--cream-2);color:var(--cocoa);font-family:var(--font-display);font-size:20px;font-weight:600;line-height:1;cursor:pointer}.ingredient-picker .pill-stepper button:hover{background:var(--line-strong)}.ingredient-picker .pill-stepper button:focus-visible{outline-color:var(--cocoa)}.ingredient-picker .pill-amount{min-width:68px;text-align:center;font-family:var(--font-mono);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--cocoa);white-space:nowrap;cursor:pointer}.ingredient-picker .pill-macros{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.ingredient-picker .pill-macro{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--s-2) 4px 0;border-left:1px solid var(--line)}.ingredient-picker .pill-macro:first-child{border-left:none}.ingredient-picker .pill-macro-icon{font-size:15px}.ingredient-picker .pill-macro-val{font-family:var(--font-mono);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--cocoa)}.ingredient-picker .pill-amount-input{width:56px;text-align:center;font-family:var(--font-mono);font-size:12.5px;font-weight:500;color:var(--cocoa);background:var(--cream);border:none;border-radius:4px;padding:2px 4px}.ingredient-picker .pill-choosing{flex:1 1 100%;flex-direction:column;align-items:stretch;gap:4px;padding:var(--s-2)}.ingredient-picker .variant-list{display:flex;flex-direction:column;gap:4px;width:100%}.ingredient-picker .variant-option{min-height:var(--tap);padding:0 var(--s-4);border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--card);color:var(--cocoa);font-size:14px;font-weight:600;text-align:left;cursor:pointer}.ingredient-picker .variant-option:hover{background:var(--cream-2);border-color:var(--line-strong)}.ingredient-picker .variant-cancel{align-self:flex-end;width:32px;height:32px;border:none;background:transparent;color:var(--ink-55);font-size:18px;line-height:1;cursor:pointer}.ingredient-picker .pill-variant-switch{flex-shrink:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--card);color:var(--cocoa);font-size:14px;cursor:pointer}.ingredient-picker .pill-variant-switch:hover{background:var(--cream-2);border-color:var(--line-strong)}.ingredient-picker .unit-toggle{display:flex;flex-shrink:0;border-radius:var(--r-pill);overflow:hidden;border:1.5px solid var(--line);background:var(--card)}.ingredient-picker .unit-toggle button{min-height:32px;padding:0 var(--s-3);border:none;background:transparent;color:var(--cocoa);font-family:var(--font-mono);font-size:11px;font-weight:500;opacity:.6;cursor:pointer}.ingredient-picker .unit-toggle button.active{background:var(--cocoa);color:var(--cream);opacity:1}@media (min-width: 900px){.ingredient-picker .pill.sel{flex:1 1 300px;max-width:100%}}.step-basis .mode-tabs{display:flex;gap:var(--s-2);margin-bottom:var(--s-5)}.step-basis .mode-tabs button{flex:1;min-height:50px;padding:var(--s-2) var(--s-2);border:1.5px solid var(--line);border-radius:11px;background:var(--cream);color:var(--cocoa);font-family:var(--font-display);font-size:14px;font-weight:600;line-height:1.25;cursor:pointer}.step-basis .mode-tabs button.active{background:var(--cocoa);border-color:var(--cocoa);color:var(--cream)}.step-basis .stepper-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--oat);margin-bottom:var(--s-2)}.step-basis .stepper{display:flex;align-items:center;margin-bottom:var(--s-4)}.step-basis .stepper button{width:52px;height:52px;flex-shrink:0;border:1.5px solid var(--line);border-radius:var(--r-md);background:var(--cream);color:var(--cocoa);font-family:var(--font-display);font-size:24px;font-weight:600;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.step-basis .stepper button:hover{border-color:var(--line-strong)}.step-basis .stepper .val{flex:1;text-align:center;font-family:var(--font-display);font-size:30px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;padding:0 var(--s-3)}.step-basis .stepper .val small{font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--ink-55)}.step-basis .zero-hint{font-size:13.5px;line-height:1.45;color:var(--blueberry-dk);background:#564b8a14;border-radius:var(--r-sm);padding:var(--s-3) var(--s-3);margin-bottom:var(--s-4)}.step-basis .stepper-fiber{margin-bottom:var(--s-5)}.step-basis .stepper-fiber button{width:40px;height:40px;font-size:19px}.step-basis .stepper .val-small{font-size:20px}.step-basis .stepper .val[role=button]{cursor:pointer}.step-basis .stepper-milk{margin-bottom:var(--s-5)}.step-basis .stepper-milk button{width:40px;height:40px;font-size:19px}.step-basis .val-input{flex:1;text-align:center;font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--cocoa);background:var(--cream);border:none;border-radius:var(--r-sm);padding:0 var(--s-3);min-width:0}.step-basis .salt-reminder{display:inline-flex;align-items:center;gap:var(--s-2);font-size:13px;font-weight:600;color:var(--berry);background:#b8433c1a;border-radius:var(--r-pill);padding:var(--s-2) var(--s-4);margin-bottom:var(--s-4)}.step-basis .milk-suggestion{font-size:13px;color:var(--ink-55);margin:calc(-1 * var(--s-3)) 0 var(--s-4)}.step-basis .calc-table{width:100%;border-collapse:collapse;margin-top:var(--s-5);font-size:14px}.step-basis .calc-table td{padding:var(--s-3) 0;border-bottom:1px solid var(--line)}.step-basis .calc-table tr:last-child td{border-bottom:none}.step-basis .calc-table td:first-child{color:var(--ink-55)}.step-basis .calc-table td:last-child{text-align:right;font-family:var(--font-mono);font-weight:500;font-size:13px;white-space:nowrap}.step-basis .ratio-chip{display:inline-block;font-family:var(--font-mono);font-size:10.5px;font-weight:500;background:var(--cream-2);color:var(--oat);border-radius:var(--r-pill);padding:2px 8px;margin-right:var(--s-2);vertical-align:middle}@media (min-width: 900px){.step-basis .mode-tabs button{font-size:15px}.step-basis .stepper .val{font-size:34px}}.bowl-fab{position:fixed;right:var(--s-5);bottom:calc(var(--s-5) + env(safe-area-inset-bottom));z-index:50;display:flex;align-items:center;gap:var(--s-2);min-height:52px;padding:0 var(--s-5);border:none;border-radius:var(--r-pill);background:var(--cocoa);color:var(--cream);font-family:var(--font-display);font-size:15px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-fab)}.bowl-fab .count{background:var(--berry);color:#fff;border-radius:var(--r-pill);font-family:var(--font-mono);font-size:11px;padding:2px 8px;font-variant-numeric:tabular-nums}.bowl-popover{position:fixed;right:var(--s-5);bottom:calc(82px + env(safe-area-inset-bottom));z-index:55;width:min(360px,calc(100vw - 2 * var(--s-5)));max-height:min(70vh,560px);overflow-y:auto;overscroll-behavior:contain;padding:var(--s-5);border-radius:var(--r-lg);background:var(--cocoa);color:var(--cream);box-shadow:var(--shadow-pop)}.bowl-heading{font-family:var(--font-display);font-size:19px;font-weight:600;margin-bottom:var(--s-3)}.bowl-line{display:flex;justify-content:space-between;gap:var(--s-3);padding:var(--s-2) 0;border-bottom:1px solid var(--on-dark-line);font-size:13px}.bowl-line span:first-child{color:var(--on-dark)}.bowl-line span:last-child{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.bowl-line-total{padding:var(--s-3) 0}.bowl-line-total span:last-child{font-family:var(--font-display);font-size:21px;font-weight:700;line-height:1}.bowl-line-total span:first-child{align-self:center}.save-combo-form{display:flex;flex-direction:column;gap:var(--s-2);margin-top:var(--s-4)}.save-combo-form .field{background:#f6efe314;border-color:var(--on-dark-line);color:var(--cream)}.save-combo-form .field::placeholder{color:#f6efe373}.save-combo-form .field:focus-visible{outline-color:var(--cream)}.editing-hint{font-size:13px;color:var(--on-dark);margin:var(--s-4) 0 0}.bowl-popover .btn-quiet{color:var(--on-dark);border-color:var(--on-dark-line)}.bowl-popover .btn-quiet:hover{border-color:var(--cream);color:var(--cream)}.bowl-popover .btn-danger{color:#ffb3a8;border-color:#ffb3a866}.duplicate-confirm{margin-top:var(--s-4);padding:var(--s-3);border-radius:var(--r-sm);background:#b8433c26;display:flex;flex-direction:column;gap:var(--s-2)}.duplicate-confirm p{margin:0;font-size:13px;color:var(--on-dark)}.duplicate-confirm .btn{width:100%}@media (min-width: 900px){.bowl-fab{position:static;width:100%;justify-content:space-between;min-height:56px;border-radius:var(--r-lg);box-shadow:var(--shadow-card)}.bowl-popover{position:static;width:100%;max-height:none;margin-top:var(--s-3);background:var(--cocoa);box-shadow:var(--shadow-card)}}.yazio-log-section{margin-top:var(--s-4)}.daytime-picker{display:flex;flex-wrap:wrap;gap:var(--s-2)}.yazio-result{margin:var(--s-2) 0 0;font-size:12.5px;color:var(--on-dark)}.yazio-error{margin:var(--s-2) 0 0;font-size:12.5px;line-height:1.45;color:var(--berry);background:#b8433c14;border-radius:var(--r-sm);padding:var(--s-2) var(--s-3)}.combo-cards{display:grid;grid-template-columns:1fr;gap:var(--s-3)}.combo{display:flex;flex-direction:column;gap:var(--s-3);background:var(--card);border:1.5px solid var(--line);border-radius:14px;padding:var(--s-4);box-shadow:var(--shadow-card)}.combo-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s-2)}.combo-title{font-family:var(--font-display);font-size:19px;font-weight:600;line-height:1.2}.tag{flex-shrink:0;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#fff;background:var(--sage);padding:3px 8px;border-radius:6px;white-space:nowrap}.combo-macros{display:flex;flex-direction:column;gap:var(--s-2);margin-top:-6px}.macro-kcal{font-family:var(--font-mono);font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--oat)}.macro-row{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-3)}.macro-row .macro{font-family:var(--font-mono);font-size:12px;font-variant-numeric:tabular-nums;color:var(--ink-55);white-space:nowrap}.combo-ingredients{display:flex;flex-wrap:wrap;gap:6px}.ingredient-chip{font-size:12px;padding:3px 9px;border-radius:var(--r-pill);background:var(--cream-2);color:var(--ink-70);border:1px solid var(--line);white-space:nowrap}.combo.editing{border-color:var(--blueberry);box-shadow:0 0 0 3px #564b8a1f}.combo-title-input{flex:1;min-width:0;min-height:var(--tap);background:var(--cream);border:1.5px solid var(--line);border-radius:var(--r-sm);padding:0 var(--s-3);font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--cocoa)}.combo-title-input:focus-visible{outline:2px solid var(--blueberry);outline-offset:1px;border-color:transparent}.combo-actions{display:flex;flex-wrap:wrap;gap:var(--s-2)}.combo-actions .combo-load{flex:1 1 100%}.combo-actions .btn:not(.combo-load){flex:1 1 0;font-size:14px}.delete-confirm-text{font-size:13px;color:var(--ink-70);align-self:center}.trash-section{margin-top:var(--s-6);padding-top:var(--s-5);border-top:1px solid var(--line)}.trash-list{display:flex;flex-direction:column;gap:var(--s-3);margin-top:var(--s-3)}.trash-item{flex-direction:row;align-items:center;justify-content:space-between;opacity:.85}.trash-hint{font-size:12px;color:var(--ink-55);margin:0}@media (min-width: 700px){.combo-cards{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--s-4)}.combo{padding:var(--s-5)}.combo-actions .combo-load{flex:1 1 auto}.combo-actions .btn:not(.combo-load){flex:0 0 auto}}.ingredient-group{margin-bottom:var(--s-5)}.ingredient-group:last-child{margin-bottom:0}.ingredient-group h5{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--oat);margin:0 0 var(--s-3)}.ingredient-list{display:grid;grid-template-columns:1fr;gap:var(--s-2)}.ingredient-row{display:flex;flex-direction:column;gap:var(--s-3);background:var(--card);border:1.5px solid var(--line);border-left:3px solid var(--line);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);box-shadow:var(--shadow-card)}.ingredient-row.pending{border-color:#b8433c4d;border-left-color:var(--berry);background:#b8433c0d}.ingredient-row.missing-data{border-left-color:var(--oat);background:#a9885e12}.badge-missing{background:var(--oat)}.badge.badge-active{background:var(--sage)}.ingredient-info{display:flex;flex-direction:column;gap:3px;min-width:0}.ingredient-name{display:flex;align-items:center;gap:var(--s-2);font-family:var(--font-display);font-size:16px;font-weight:600;line-height:1.25}.badge{flex-shrink:0;font-family:var(--font-mono);font-size:9.5px;font-weight:500;letter-spacing:.1em;color:#fff;background:var(--berry);border-radius:5px;padding:2px 6px}.ingredient-macros{font-family:var(--font-mono);font-size:11px;line-height:1.5;color:var(--oat)}.ingredient-actions{display:flex;gap:var(--s-2)}.ingredient-actions .btn{flex:1;font-size:14px}.ratios-lines{display:flex;flex-direction:column;gap:var(--s-2);font-family:var(--font-mono);font-size:12px;color:var(--oat)}.ratios-line{display:flex;flex-direction:column;gap:2px}.ratios-liquid{font-weight:600;color:var(--ink-70)}@media (min-width: 560px){.ratios-line{flex-direction:row;justify-content:space-between;gap:var(--s-3)}}.ingredient-edit-form{display:flex;flex-direction:column;gap:var(--s-3);width:100%}.edit-macro-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2) var(--s-3)}.edit-macro-grid label{display:flex;flex-direction:column;gap:4px;font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-55)}.edit-macro-grid .field{font-family:var(--font-body);font-size:14px;text-transform:none;letter-spacing:normal}@media (min-width: 900px){.ingredient-list{gap:var(--s-3)}.ingredient-row{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--s-5);padding:var(--s-3) var(--s-5)}.ingredient-info{flex:1;flex-direction:row;align-items:baseline;gap:var(--s-4)}.ingredient-macros{font-size:12px}.ingredient-actions .btn{flex:0 0 auto}}.yazio-connect-form{display:flex;flex-direction:column;gap:var(--s-2);width:100%}.yazio-status{font-weight:600;color:var(--sage)}.yazio-error{margin-top:var(--s-2);font-size:13.5px;line-height:1.45;color:var(--berry);background:#b8433c14;border-radius:var(--r-sm);padding:var(--s-3);width:100%}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#3a2a1e73;display:flex;align-items:flex-start;justify-content:center;padding:var(--s-6) var(--s-4);overflow-y:auto;z-index:100}.modal-panel{background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);width:100%;max-width:640px;max-height:calc(100vh - 2 * var(--s-6));display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--line)}.modal-header h3{font-family:var(--font-display);font-size:20px;margin:0}.modal-close{background:none;border:none;font-size:24px;line-height:1;color:var(--ink-55);cursor:pointer;padding:var(--s-1)}.modal-body{padding:var(--s-4) var(--s-5) var(--s-5);overflow-y:auto}.admin-header{display:flex;flex-direction:column;gap:var(--s-4);margin-bottom:var(--s-5)}.admin-header-title{display:flex;align-items:flex-start;gap:var(--s-3);color:var(--oat)}.admin-header-title .screen-title,.admin-header-title .screen-sub{margin-bottom:0}.btn-berry{background:var(--berry);border-color:var(--berry);color:#fff;align-self:flex-start}.account-list{display:flex;flex-direction:column;gap:var(--s-3)}.account-row{display:flex;flex-direction:column;gap:var(--s-3);background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-md);padding:var(--s-4);box-shadow:var(--shadow-card)}.account-identity{display:flex;flex-direction:column;gap:2px;min-width:0}.account-name{display:flex;align-items:center;gap:var(--s-2);font-family:var(--font-display);font-size:17px;font-weight:600}.account-meta{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11.5px;color:var(--oat)}.account-status-dot{width:7px;height:7px;border-radius:50%;background:var(--sage);flex-shrink:0}.account-meta-sep{display:inline-flex;margin-left:var(--s-2);color:var(--ink-40)}.account-figures{display:flex;flex-wrap:wrap;gap:var(--s-2)}.account-stat-box{display:flex;align-items:center;gap:var(--s-2);border:1.5px solid var(--line);border-radius:var(--r-sm);padding:var(--s-2) var(--s-3);color:var(--oat)}.account-stat-box>div{display:flex;flex-direction:column;line-height:1.2}.account-stat-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-55)}.account-stat-value{font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--cocoa)}.account-yazio-warning{display:flex;align-items:center;gap:6px;border:1.5px solid rgba(169,136,94,.35);background:#a9885e14;color:var(--oat);border-radius:var(--r-sm);padding:var(--s-2) var(--s-3);font-size:13px}.account-yazio-connected{display:flex;align-items:center;gap:6px;border:1.5px solid rgba(122,155,118,.35);background:#7a9b7614;color:var(--sage);border-radius:var(--r-sm);padding:var(--s-2) var(--s-3);font-size:13px}.btn-icon-only{padding:0;width:var(--tap);flex:0 0 auto}.account-delete-confirm-text{font-size:13px;color:var(--ink-70)}@media (min-width: 900px){.admin-header{flex-direction:row;align-items:center;justify-content:space-between}.btn-berry{align-self:auto}.account-row{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--s-5);padding:var(--s-4) var(--s-5)}.account-identity{flex:1 1 220px}.ingredient-actions{flex:0 0 auto}}.app-shell{max-width:var(--shell-mobile);margin:0 auto;padding:calc(var(--s-5) + env(safe-area-inset-top)) var(--s-4) calc(120px + env(safe-area-inset-bottom))}.app-shell .hero{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);padding:var(--s-3) 0 var(--s-5);border-bottom:2px solid var(--cocoa);margin-bottom:var(--s-2)}.app-shell .hero-text{min-width:0}.app-shell .eyebrow{margin-bottom:var(--s-2)}.app-shell .wordmark{font-family:var(--font-display);font-weight:700;font-size:clamp(34px,9vw,54px);line-height:1.02;margin:0 0 var(--s-2)}.app-shell .hero-sub{font-size:14px;line-height:1.5;color:var(--ink-70);max-width:46ch}.app-shell .logout{flex-shrink:0;min-height:var(--tap);padding:0 var(--s-4);font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;border-radius:var(--r-pill);color:var(--ink-55)}.app-shell .logout:hover{color:var(--cocoa);border-color:var(--line-strong)}.page-nav{display:flex;gap:var(--s-4);margin:0 0 var(--s-5);overflow-x:auto;scrollbar-width:none}.page-nav::-webkit-scrollbar{display:none}.page-nav button{position:relative;flex-shrink:0;min-height:var(--tap);padding:var(--s-2) 0;background:transparent;border:none;cursor:pointer;font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--ink-40);white-space:nowrap}.page-nav button.active{color:var(--cocoa)}.page-nav button.active:after{content:"";position:absolute;left:0;right:0;bottom:6px;height:2px;border-radius:2px;background:var(--berry)}.builder-layout{display:block}.builder-main{min-width:0}.editing-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);background:#564b8a1a;color:var(--blueberry-dk);border:1.5px solid var(--blueberry);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);margin-bottom:var(--s-4);font-weight:600;font-size:14px}.editing-banner .btn{flex-shrink:0;min-height:36px;padding:0 var(--s-3);font-size:13px;border-color:var(--blueberry);color:var(--blueberry-dk)}@media (min-width: 900px){.app-shell{max-width:var(--shell-desktop);padding:var(--s-7) var(--s-7) var(--s-7)}.app-shell .hero{align-items:flex-end;padding:var(--s-6) 0 var(--s-6)}.app-shell .hero-sub{font-size:15.5px;max-width:56ch}.app-shell .logout{margin-bottom:var(--s-1)}.page-nav{gap:var(--s-6);margin-bottom:var(--s-7)}.page-nav button{font-size:17px}.builder-layout{display:grid;grid-template-columns:minmax(0,1fr) var(--rail-w);gap:var(--s-6);align-items:start}.bowl-rail{position:sticky;top:var(--s-6)}}@media (min-width: 1200px){.app-shell{padding-inline:var(--s-8)}.builder-layout{gap:var(--s-7)}}:root{--cream: #f6efe3;--cream-2: #efe4d0;--cocoa: #3a2a1e;--oat: #a9885e;--blueberry: #564b8a;--blueberry-dk: #40376a;--berry: #b8433c;--sage: #6e7f52;--line: rgba(58, 42, 30, .14);--card: #fffcf6;--ink-70: rgba(58, 42, 30, .7);--ink-55: rgba(58, 42, 30, .55);--ink-40: rgba(58, 42, 30, .4);--line-strong: rgba(58, 42, 30, .28);--on-dark: rgba(246, 239, 227, .72);--on-dark-line: rgba(246, 239, 227, .16);--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 26px;--s-7: 34px;--s-8: 44px;--r-sm: 9px;--r-md: 12px;--r-lg: 18px;--r-pill: 999px;--shadow-card: 0 1px 2px rgba(58, 42, 30, .04);--shadow-fab: 0 6px 20px rgba(58, 42, 30, .35);--shadow-pop: 0 14px 40px rgba(0, 0, 0, .3);--tap: 44px;--shell-mobile: 640px;--shell-desktop: 1180px;--rail-w: 340px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{background:var(--cream)}body{margin:0;background:var(--cream);color:var(--cocoa);font-family:var(--font-body);font-size:15.5px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;margin:0}p{margin:0}input,button{font-family:inherit;color:inherit}a,button{-webkit-touch-callout:none;transition:transform .12s ease,opacity .12s ease,background-color .15s ease,border-color .15s ease,color .15s ease}a:active,button:not(:disabled):active{transform:scale(.97)}button:disabled{opacity:.45;cursor:not-allowed}:focus-visible{outline:2px solid var(--blueberry);outline-offset:2px}.step{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-lg);padding:var(--s-5) var(--s-4) var(--s-6);margin-bottom:var(--s-5);box-shadow:var(--shadow-card)}.step-head{display:flex;align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-1)}.step-num{font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--cream);background:var(--blueberry);width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;align-self:flex-start;translate:0 2px}.step-title{font-family:var(--font-display);font-size:21px;font-weight:600;line-height:1.2}.step-desc{color:var(--ink-70);font-size:13.5px;line-height:1.5;margin:2px 0 var(--s-5) 38px;max-width:60ch}.screen-title{font-family:var(--font-display);font-size:26px;font-weight:600;margin-bottom:var(--s-1)}.screen-sub{font-size:14px;color:var(--ink-70);margin-bottom:var(--s-5);max-width:56ch}.empty-state{border:1.5px dashed var(--line-strong);border-radius:var(--r-lg);padding:var(--s-6) var(--s-5);color:var(--ink-55);font-size:14px;text-align:center}.empty-state .btn{margin-top:var(--s-3)}.starter-hint{font-size:13px;color:var(--sage);background:#6e7f521a;border-radius:var(--r-sm);padding:var(--s-3);margin-bottom:var(--s-5)}.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--blueberry-dk)}.field{width:100%;min-height:var(--tap);background:var(--cream);border:1.5px solid var(--line);border-radius:var(--r-md);padding:0 var(--s-4);font-size:15px;color:var(--cocoa)}.field::placeholder{color:var(--ink-40)}.field:focus-visible{outline:2px solid var(--blueberry);outline-offset:1px;border-color:transparent}.btn{min-height:var(--tap);display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);padding:0 var(--s-4);border-radius:var(--r-md);border:1.5px solid var(--line);background:var(--cream);color:var(--cocoa);font-family:var(--font-display);font-size:14.5px;font-weight:600;cursor:pointer}.btn-primary{background:var(--cocoa);border-color:var(--cocoa);color:var(--cream)}.btn-quiet{background:transparent}.btn-danger{background:transparent;border-color:#b8433c59;color:var(--berry)}.btn-go{background:var(--sage);border-color:var(--sage);color:#fff}@media (min-width: 900px){.step{padding:var(--s-7) var(--s-7) var(--s-7);margin-bottom:var(--s-6)}.step-title{font-size:23px}.screen-title{font-size:30px}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
