@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#282d40;background:#f5f6fa;font-synthesis:none;--green:#4966c7;--muted:#74798b;--line:#e2e5ee}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #8cb7a0;outline-offset:4px}button{color:inherit}header{height:96px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#2c3450;font-weight:700;font-size:21px;letter-spacing:-.7px}.logo{display:inline-flex;align-items:center;justify-content:center;width:37px;height:37px;background:var(--green);border-radius:11px;color:#fff;font-family:serif;font-size:29px;letter-spacing:-5px;padding-right:5px}.logo span{color:#dce4ff}.badge{font-size:9px;letter-spacing:1.2px;background:#eff2ec;border:1px solid #e1e6db;padding:5px 7px;border-radius:4px;color:#75816e;margin-left:1px}nav{display:flex;gap:8px}.nav,.account{border:0;background:transparent;font-size:13px;font-weight:550;padding:12px 17px;border-radius:7px}.nav{color:#7c837d}.nav.active{color:var(--green);background:#eef1fc}.nav span{display:inline-flex;justify-content:center;min-width:20px;background:#e8ece5;border-radius:4px;font-size:11px;margin-left:7px;padding:2px}.account{border:1px solid var(--line);background:#fff}.account span{margin-left:15px}main{max-width:1260px;margin:auto;padding:0 42px}.intro{padding:57px 0 37px}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:700;color:#7382ae}h1{font-family:Manrope,sans-serif;font-size:44px;line-height:1.2;letter-spacing:-1.9px;font-weight:650;margin:15px 0 16px}.intro p{font-size:14px;color:#7b847b;margin:0;line-height:1.7}.workspace{display:grid;grid-template-columns:1.65fr 1fr;gap:25px;align-items:start}.editor{min-width:0}.pan-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pan{padding:23px 23px 26px;border:1px solid var(--line);border-radius:12px;background:#fff;min-width:0}.pan-title{display:flex;align-items:center;gap:9px}.pan-title span{display:grid;place-items:center;background:#f0f2f9;color:#7c87a6;border-radius:50%;width:23px;height:23px;font-size:11px}h2{font-family:Manrope,sans-serif;font-size:22px;letter-spacing:-.6px}h3{font-size:13px;font-weight:600;margin:0}.tabs{display:flex;padding:4px;background:#f2f3f8;border-radius:7px;margin-top:22px;gap:2px}.tabs button{border:0;background:transparent;border-radius:5px;font-size:11px;padding:9px 3px;flex:1;color:#858a80}.tabs button[aria-pressed=true]{background:#fff;box-shadow:0 1px 4px #21352a15;color:var(--green);font-weight:700}.diagram{height:153px;display:grid;place-items:center}.diagram svg{width:162px;height:126px;overflow:visible}.diagram .mold{fill:#f0f3ff;stroke:#7f90c3;stroke-width:1.5}.diagram text{fill:#7f8bae;font-size:10px;font-family:'DM Sans',sans-serif}.diagram .dimension{stroke:#9caad0;stroke-width:1;fill:none}.input-row{display:flex;gap:10px}.field{flex:1;min-width:0}label{font-size:11px;font-weight:550;display:block;margin-bottom:9px}.input-wrap{position:relative}.input-wrap input{width:100%;border:1px solid #dce2d8;background:#fff;border-radius:6px;height:43px;padding:10px 33px 10px 13px;font-size:16px;color:#344638}.input-wrap input[aria-invalid=true]{border-color:#be6f5d}.unit{position:absolute;right:12px;top:14px;font-size:11px;color:#92988d}.field-error{font-size:10px;color:#a34b39;margin:7px 0 0;line-height:1.4}.height-option{padding:23px 3px 15px;display:flex;justify-content:space-between;align-items:center}.switch-label{display:flex;align-items:center;gap:10px;font-size:12px;margin:0;cursor:pointer}.switch-label input{accent-color:var(--green);width:16px;height:16px;margin:0}.height-option p{font-size:11px;color:#93998f;margin:8px 0 0 26px}.small-symbol{color:#8b9786;margin-right:9px}.height-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:0 4px 20px}.height-fields[hidden]{display:none}.swap{background:none;border:0;color:#7c887b;font-size:11px;padding:8px 0}.result{background:#edf1ff;border:1px solid #dce3fa;border-radius:12px;padding:26px 26px 22px;min-width:0}.result-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.result-top .eyebrow{font-size:9px;letter-spacing:1.2px}.live{font-size:9px;color:#7a87ae;white-space:nowrap}.live i{display:inline-block;width:5px;height:5px;background:#7e94dc;border-radius:50%;margin-right:4px}.coefficient{font-family:Manrope,sans-serif;font-size:78px;line-height:1.1;letter-spacing:-4px;font-weight:500;color:#3d56ac;margin:29px 0 11px;overflow-wrap:anywhere}.coefficient .times{font-family:'DM Sans',sans-serif;font-weight:400;color:#95a5df;font-size:37px;vertical-align:middle;margin-right:5px}.result h2{font:500 14px/1.6 'DM Sans',sans-serif;letter-spacing:0;margin:0 0 24px;max-width:240px}.summary{border-top:1px solid #d9e0f5;border-bottom:1px solid #d9e0f5;padding:17px 0;margin-bottom:23px;display:grid;gap:12px}.summary div{display:flex;justify-content:space-between;gap:10px;font-size:11px}.summary span{color:#7e89a6}.summary strong{font-weight:500;color:#536184;text-align:right}.primary{background:var(--green);border:1px solid var(--green);border-radius:7px;color:#fff;padding:14px 17px;display:flex;align-items:center;justify-content:center;gap:16px;font-size:12px;font-weight:500}.result .primary{width:100%}.primary:disabled{background:#9ca99a;border-color:#9ca99a;cursor:not-allowed}.cooking-note{display:flex;gap:8px;justify-content:center;color:#7885a5;margin-top:18px;font-size:13px}.cooking-note p{margin:0;font-size:10px;line-height:1.65}.how{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:43px 0 44px;padding-top:28px;border-top:1px solid var(--line)}.how>div{position:relative;padding-left:37px}.step{position:absolute;left:0;top:1px;color:#9ca88f;font-size:11px}.how h3{font-size:12px;margin-bottom:9px}.how p{font-size:11px;line-height:1.8;color:#949a90;margin:0}footer{padding:21px 0 26px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#a0a69a}.footer-dot{margin:0 7px}dialog{border:1px solid var(--line);border-radius:16px;padding:34px;max-width:460px;width:calc(100% - 32px);color:#282d40;box-shadow:0 20px 80px #10271926}dialog::backdrop{background:#192c255c}dialog form{position:relative}dialog h2{margin:18px 0 12px}dialog p{font-size:13px;line-height:1.7;color:#75816f}dialog input{width:100%;height:44px;border:1px solid var(--line);border-radius:6px;padding:10px;margin-bottom:19px}dialog .primary{width:100%;margin-top:10px}.close{position:absolute;right:-16px;top:-22px;border:0;background:none;font-size:24px;color:#7b8976;padding:7px}.text-button{background:none;border:0;color:var(--green);font-size:12px;margin:20px auto 0;display:block;padding:7px}.demo-notice{background:#eef1e9;border:1px solid var(--line);border-radius:8px;padding:15px;font-size:12px;line-height:1.7;color:#74816b;margin-bottom:25px}#saved-list{display:grid;gap:12px;margin-bottom:25px}.saved-card{background:#fff;padding:23px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:20px}.saved-card h3{font-size:15px;overflow-wrap:anywhere}.saved-card p{font-size:12px;color:#8b9585;margin:8px 0 0}.saved-actions{display:flex;gap:12px;align-items:center}.saved-actions strong{font-size:22px;white-space:nowrap;margin-right:12px}.saved-actions button{background:#eef1fc;border:0;padding:11px;border-radius:6px;font-size:12px}.saved-actions button:last-child{color:#a26c5b;background:#f8f1ed}#saved{min-height:680px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:15px 24px;background:#3c51a0;color:#fff;border-radius:8px;font-size:13px;max-width:calc(100% - 30px);box-shadow:0 4px 20px #21352a25}#toast[hidden],[hidden]{display:none!important}.empty{padding:40px;color:#7c8877;text-align:center}.invalid-result{min-height:250px;display:flex;flex-direction:column;justify-content:center}.invalid-result p{font-size:13px;line-height:1.7;color:#76846c}
@media(min-width:1500px){main{max-width:1320px}.intro{padding-top:70px}.diagram{height:177px}.result{padding:30px}.coefficient{font-size:88px}}
@media(max-width:1000px){header{padding:0 24px}.brand{font-size:18px}.badge{display:none}main{padding:0 24px}.workspace{gap:18px;grid-template-columns:1.5fr 1fr}.pan{padding:18px 15px}.pan-grid{gap:12px}.result{padding:23px 20px}.result-top{flex-wrap:wrap}.nav{padding:11px}.coefficient{font-size:66px}.how p br{display:none}}
@media(max-width:760px){header{height:auto;min-height:116px;flex-wrap:wrap;gap:12px;padding:18px 20px 0}.brand{font-size:20px}.account{font-size:11px;padding:9px 11px}nav{order:3;width:100%;justify-content:center;padding-bottom:10px}.nav{flex:1}.workspace{grid-template-columns:1fr}.intro{padding:36px 0 27px}h1{font-size:35px;letter-spacing:-1.6px}.intro p{font-size:12px}.eyebrow{font-size:8px;letter-spacing:1.4px}main{padding:0 20px}.pan{padding:18px 12px}.pan-title{gap:6px}.pan-title h3{font-size:11px}.pan-title span{width:19px;height:19px;font-size:10px}.tabs{margin-top:17px}.tabs button{font-size:10px;padding:9px 1px}.diagram{height:135px}.diagram svg{width:125px;height:112px}.input-row{gap:6px}.input-wrap input{padding:10px 26px 10px 9px;font-size:15px}.unit{right:8px;font-size:10px}label{font-size:10px}.result{padding:25px}.result-top{flex-wrap:nowrap}.coefficient{font-size:77px;margin-top:23px}.result h2{max-width:none}.how{grid-template-columns:1fr;gap:24px;margin:32px 0}.how p br{display:none}.how>div{padding-left:35px}.how h3{font-size:13px}.how p{font-size:12px}footer{flex-direction:column;font-size:9px;line-height:1.7}.saved-card{align-items:start;flex-direction:column}.saved-actions{width:100%;justify-content:flex-end}.saved-actions strong{margin-right:auto}.height-option p{font-size:10px}.intro h1 br{display:none}#saved{min-height:600px}}

/* Mobile app shell: reserve safe areas for the fixed tab bar. */
html{-webkit-text-size-adjust:100%;overscroll-behavior:none}body{min-height:100dvh}button,a{touch-action:manipulation}button{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button:active{opacity:.7}input:focus-visible,button:focus-visible,a:focus-visible{outline-color:#8198e8}.logo{background:#4966c7}.logo span{color:#dce4ff}.diagram .mold{fill:#eff2fc;stroke:#8192c3}.diagram text{fill:#7e8bb0}.diagram .dimension{stroke:#9caad0}.bottom-nav{display:none}.profile-card{background:white;padding:24px;border:1px solid var(--line);border-radius:12px;margin:0 0 18px}.profile-card h2{margin-top:0;font-size:18px}.profile-card p{font-size:13px;line-height:1.7;color:#7b8194}.profile-card .muted{font-size:11px}#profile{min-height:650px}
@media(max-width:760px){
 body{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}header{position:sticky;top:0;z-index:5;min-height:0;height:calc(62px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 20px 0;flex-wrap:nowrap}header nav,header .account{display:none}.brand{font-size:19px}.logo{width:31px;height:31px;border-radius:9px;font-size:25px}main{padding:0 max(16px,env(safe-area-inset-left,0px)) 0 max(16px,env(safe-area-inset-right,0px))}.intro{padding:23px 2px 20px}.intro .eyebrow,.intro>p{display:none}#calculator .intro h1{font-size:0;letter-spacing:0;margin:0}#calculator .intro h1::after{content:'Adapter ma recette';font-size:24px;letter-spacing:-.8px}#saved .intro h1,#profile .intro h1{font-size:24px;letter-spacing:-.8px;margin:0}.how,footer{display:none}.pan{padding:17px 12px 18px}.pan-grid{gap:10px}.tabs button{min-height:40px}.diagram{height:112px}.diagram svg{height:102px}.input-wrap input,dialog input{font-size:16px;min-height:44px}.height-option{padding:18px 2px 10px}.swap{min-height:40px}.result{padding:22px;margin-bottom:16px}.coefficient{font-size:64px;margin-top:17px}.result h2{margin-bottom:16px}.summary{margin-bottom:18px;padding:14px 0}.cooking-note{margin-top:12px}.bottom-nav{display:flex;gap:0;position:fixed;z-index:10;left:0;right:0;bottom:0;background:#fff;border-top:1px solid #e2e5ee;padding:7px max(12px,env(safe-area-inset-right,0px)) calc(7px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));justify-content:space-around}.bottom-nav button{border:0;background:none;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:52px;color:#959aae;font-size:10px;font-weight:600}.bottom-nav button[aria-current=page]{color:#4966c7}.bottom-nav button[aria-current=page] svg{background:#eef1ff;box-shadow:0 0 0 6px #eef1ff;border-radius:4px}.bottom-nav svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}.bottom-nav button span{padding-top:2px}#toast{bottom:calc(88px + env(safe-area-inset-bottom,0px));width:max-content;max-width:calc(100% - 32px);text-align:center;font-size:12px}#saved,#profile{min-height:0}.saved-card{padding:18px}.saved-actions button{min-height:44px}dialog{max-height:calc(100dvh - 32px);overflow:auto;padding:28px 24px}dialog .close{min-height:44px;min-width:44px;right:-15px}.primary{min-height:46px}
}

.mobile-title{display:none}@media(max-width:760px){#calculator .intro h1{font-size:24px;letter-spacing:-.8px}#calculator .intro h1::after{content:none}.desktop-title{display:none}.mobile-title{display:inline}}

.brand img{width:37px;height:37px;display:block}.muted{color:#7b8194;font-size:12px}.account-email{overflow-wrap:anywhere}@media(max-width:760px){.brand img{width:31px;height:31px}}
