:root{--bg:#eef2f4;--panel:rgba(255,255,255,.97);--ink:#111a20;--muted:#65727c;--line:#d8e0e4;--line-soft:#e9eef1;--accent:#126c63;--accent-2:#0c514b;--accent-soft:#e8f4f1;--amber:#9b5c13;--amber-soft:#fff4e2;--danger:#a43c38;--shadow:0 22px 60px rgba(20,33,41,.075),0 2px 8px rgba(20,33,41,.035)}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;color:var(--ink);background:radial-gradient(circle at 11% 0,rgba(18,108,99,.065),transparent 28%),radial-gradient(circle at 92% 3%,rgba(17,26,32,.045),transparent 26%),linear-gradient(180deg,#f4f6f7,#eef2f4 44%,#edf1f3);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.topbar{min-height:92px;justify-content:space-between;padding:20px 38px;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(210,219,224,.9);box-shadow:0 1px 0 rgba(17,26,32,.02);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.brand-lockup,.topbar{display:flex;align-items:center}.brand-lockup{gap:15px}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(145deg,#172229,#0e171c);color:white;font-weight:820;letter-spacing:-.04em;box-shadow:0 10px 26px rgba(17,26,32,.2),inset 0 0 0 1px rgba(255,255,255,.09)}.brand-name{font-size:22px;font-weight:780;letter-spacing:-.04em}.brand-baseline{color:var(--muted);font-size:12.5px;letter-spacing:-.01em}.topbar-meta{display:flex;align-items:center;gap:11px;color:#61707a;font-size:12.5px;font-weight:540}.environment-dot{width:8px;height:8px;border-radius:50%;background:#3ea17d;box-shadow:0 0 0 4px rgba(62,161,125,.12)}.divider{width:1px;height:17px;background:var(--line)}.mode-nav{gap:8px;min-height:58px;padding:11px 38px;background:rgba(248,250,251,.9);border-bottom:1px solid rgba(210,219,224,.9)}.mode-nav,.mode-tab{display:flex;align-items:center}.mode-tab{border:1px solid transparent;background:transparent;color:#67747e;border-radius:999px;padding:10px 18px;gap:9px;font-size:13.5px;font-weight:670;transition:.18s ease}.mode-tab:hover{color:var(--ink);background:#fff;border-color:#e4e9ec}.mode-tab.active{background:linear-gradient(145deg,#182229,#111a20);color:#fff;box-shadow:0 8px 22px rgba(17,26,32,.15),inset 0 0 0 1px rgba(255,255,255,.04)}.mode-tab small{font-size:9px;text-transform:uppercase;letter-spacing:.1em;opacity:.48}.workspace-grid{padding:28px 30px 36px;display:grid;grid-template-columns:minmax(330px,.92fr) minmax(500px,1.58fr) minmax(300px,.82fr);grid-gap:20px;gap:20px;max-width:1760px;margin:0 auto}.panel{background:var(--panel);border:1px solid rgba(210,219,224,.96);border-radius:24px;box-shadow:var(--shadow);overflow:hidden}.evidence-panel,.left-panel{padding:24px}.result-panel{padding:30px;min-height:760px;position:relative;background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(252,253,253,.97))}.result-panel:before{content:"";position:absolute;inset:0 0 auto auto;width:290px;height:220px;opacity:.23;pointer-events:none;background-image:linear-gradient(rgba(18,108,99,.08) 1px,transparent 0),linear-gradient(90deg,rgba(18,108,99,.08) 1px,transparent 0);background-size:24px 24px;-webkit-mask-image:linear-gradient(135deg,transparent 5%,#000 45%,transparent);mask-image:linear-gradient(135deg,transparent 5%,#000 45%,transparent)}.panel-heading,.result-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;position:relative;z-index:1}.panel-heading.compact{margin-bottom:16px}.eyebrow{color:var(--accent);font-size:10.5px;letter-spacing:.15em;font-weight:820;margin-bottom:6px}h1,h2,h3,p{margin-top:0}h1{font-size:31px;line-height:1.08;margin-bottom:7px;letter-spacing:-.04em}h2{font-size:19px;margin-bottom:5px;letter-spacing:-.03em}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:29px;padding:6px 10px;border-radius:999px;font-size:10.5px;font-weight:780;letter-spacing:.045em;white-space:nowrap}.status-live{color:var(--accent-2);background:var(--accent-soft);border:1px solid #d2e9e3}.status-warning{color:#83500d;background:var(--amber-soft);border:1px solid #efd4a9}.status-neutral{color:#56636c;background:#eef2f4;border:1px solid #e3e8eb}.calculator-picker{display:grid;grid-gap:10px;gap:10px;margin-top:20px}.calculator-card{text-align:left;border:1px solid #dce3e7;background:#fbfcfc;border-radius:17px;padding:15px 15px 15px 16px;display:grid;grid-template-columns:auto 1fr;grid-column-gap:11px;column-gap:11px;grid-row-gap:3px;row-gap:3px;transition:.18s ease;box-shadow:0 1px 0 rgba(17,26,32,.015)}.calculator-card:hover{transform:translateY(-1px);border-color:#b8c6cb;background:#fff;box-shadow:0 8px 22px rgba(20,33,41,.055)}.calculator-card.active{border-color:rgba(18,108,99,.45);background:linear-gradient(135deg,#f2faf8,#ffffff 72%);box-shadow:inset 3px 0 0 var(--accent),0 9px 24px rgba(18,108,99,.07)}.calculator-code{grid-row:1/span 2;font-size:9.5px;color:var(--accent);font-weight:860;letter-spacing:.085em;margin-top:3px}.calculator-card strong{font-size:13.5px;letter-spacing:-.01em}.calculator-card>span:last-child{font-size:11.2px;line-height:1.5;color:var(--muted)}.input-form{margin-top:22px;border-top:1px solid var(--line-soft);padding-top:20px}.form-section-title{font-size:11.5px;font-weight:820;margin-bottom:14px;letter-spacing:.01em}.field{display:block;margin-bottom:13px}.field>span{display:block;color:#53616b;font-size:11.2px;font-weight:670;margin-bottom:6px}.input-with-unit{position:relative}input,select{width:100%;height:44px;border:1px solid #d5dee2;border-radius:11px;background:#fff;color:var(--ink);outline:none;padding:0 13px;transition:.16s ease;box-shadow:inset 0 1px 1px rgba(17,26,32,.012)}input:hover,select:hover{border-color:#c6d1d6}input:focus,select:focus{border-color:rgba(18,108,99,.62);box-shadow:0 0 0 3px rgba(18,108,99,.085)}.input-with-unit input{padding-right:58px}.input-with-unit em{position:absolute;right:12px;top:14px;color:#849098;font-style:normal;font-size:10.5px}.scope-note{margin:16px 0;padding:12px 13px;background:#f4f7f8;border:1px solid #e8edef;border-radius:12px;display:grid;grid-gap:3px;gap:3px}.scope-note span{font-size:9.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.scope-note strong{font-size:11px}.run-button{width:100%;height:48px;border:0;border-radius:13px;color:white;background:linear-gradient(135deg,var(--accent-2),var(--accent));font-weight:780;font-size:12.5px;box-shadow:0 11px 26px rgba(18,108,99,.22);transition:.18s ease}.run-button:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(18,108,99,.26)}.run-button:active{transform:translateY(0)}.run-button:disabled{opacity:.6;transform:none;cursor:wait}.error-box{margin-top:11px;padding:11px;border-radius:11px;background:#fff0ef;color:var(--danger);font-size:11.5px;border:1px solid #f2d2cf}.hero-result{margin-top:30px;padding:32px;border:1px solid #d8e3e4;border-radius:21px;background:linear-gradient(145deg,#f5faf8,#ffffff 56%,#f3f6f7);position:relative;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.7);z-index:1}.hero-result:after{content:"";position:absolute;right:-28px;top:-72px;width:190px;height:190px;border-radius:50%;border:30px solid rgba(18,108,99,.04)}.hero-result:before{content:"";position:absolute;right:94px;bottom:-38px;width:80px;height:80px;border-radius:50%;background:rgba(18,108,99,.025)}.hero-label{font-size:11.5px;color:var(--muted);font-weight:670}.hero-label,.hero-value{position:relative;z-index:1}.hero-value{margin-top:9px;font-size:48px;line-height:1;font-weight:770;letter-spacing:-.055em}.hero-value span{font-size:16px;letter-spacing:0;color:var(--muted);font-weight:560}.hero-caption{margin-top:10px;color:#76838c;font-size:11px}.hero-caption,.metric-grid{position:relative;z-index:1}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:18px}.metric-card{min-height:88px;border:1px solid #dfe6e9;border-radius:15px;padding:15px;background:#fff;box-shadow:0 3px 12px rgba(20,33,41,.025)}.metric-card>span{color:var(--muted);font-size:10.5px;display:block;margin-bottom:8px}.metric-card strong{font-size:17px;line-height:1.25}.metric-card strong small{font-size:10.5px;color:var(--muted);font-weight:500}.verdict{grid-column:1/-1;border-radius:15px;padding:15px 17px;display:grid;grid-template-columns:1fr auto;align-items:center}.verdict.pass{background:#eaf7f0;border:1px solid #c8e7d6;color:#225d43}.verdict.fail{background:#fff0ef;border:1px solid #f0cbc8;color:#8e3732}.verdict span{font-size:10.5px;text-transform:uppercase;letter-spacing:.085em}.verdict strong{font-size:21px}.verdict small{grid-column:1/-1;margin-top:3px;opacity:.75}.empty-state{margin:82px auto 0;max-width:500px;padding:34px 38px;text-align:center;color:var(--muted);border:1px solid #e0e7ea;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,250,250,.92));box-shadow:0 14px 36px rgba(20,33,41,.035);position:relative;z-index:1}.empty-state:after{content:"Deterministic  ·  Traceable  ·  Database-backed";display:block;margin-top:18px;padding-top:15px;border-top:1px solid #e8edef;color:#7a878f;font-size:9.5px;letter-spacing:.055em;text-transform:uppercase}.empty-icon{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;margin:0 auto 17px;background:var(--accent-soft);color:var(--accent);font-size:26px;box-shadow:inset 0 0 0 1px #d8ebe6}.empty-state h3{color:var(--ink);margin-bottom:9px;font-size:17px;letter-spacing:-.02em}.empty-state p{line-height:1.68;font-size:12px;margin-bottom:0}.trace-row{display:flex;justify-content:space-between;gap:13px;align-items:flex-start;padding:11px 0;border-bottom:1px solid #ebeff1}.trace-row span{font-size:10.8px;color:var(--muted)}.trace-row strong{max-width:64%;text-align:right;font-size:10.8px;line-height:1.4;word-break:break-word}.amber-text{color:var(--amber)}.trace-divider{height:1px;background:var(--line);margin:18px 0}.trace-chain{display:grid;grid-gap:5px;gap:5px;position:relative}.trace-step{display:flex;gap:11px;align-items:center;padding:7.5px 0}.trace-step>span{flex:0 0 auto;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;color:var(--accent);background:var(--accent-soft);border:1px solid #d8ebe6;font-size:9.5px;font-weight:820}.trace-step div{display:grid;grid-gap:2px;gap:2px}.trace-step strong{font-size:11px;letter-spacing:-.01em}.trace-step small{font-size:9px;color:#87939b;line-height:1.35}.limitations-box{margin-top:18px;padding:13px;background:var(--amber-soft);border:1px solid #efd8b5;border-radius:13px;display:grid;grid-gap:6px;gap:6px}.limitations-box strong{font-size:10.5px;color:#79490d}.limitations-box span{font-size:9px;color:#825e2d;line-height:1.42}.coming-panel{margin:76px auto;max-width:760px;padding:46px;background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow)}.coming-panel h1{font-size:44px;margin-bottom:11px}.coming-panel p{color:var(--muted);line-height:1.65}.coming-chip{display:inline-block;margin-top:16px;padding:9px 12px;background:var(--accent-soft);color:var(--accent-2);border-radius:999px;font-size:10.5px;font-weight:720}@media (max-width:1240px){.workspace-grid{grid-template-columns:340px 1fr}.evidence-panel{grid-column:1/-1}.trace-chain{grid-template-columns:repeat(4,1fr);gap:10px}}@media (max-width:760px){.topbar{min-height:78px;padding:14px 18px}.brand-mark{width:44px;height:44px}.brand-name{font-size:20px}.topbar-meta{display:none}.mode-nav{min-height:54px;padding:10px 14px;overflow:auto}.mode-tab{padding:9px 14px}.workspace-grid{grid-template-columns:1fr;padding:12px;gap:12px}.evidence-panel,.left-panel,.result-panel{border-radius:18px;padding:20px}.result-panel{min-height:auto}.trace-chain{grid-template-columns:1fr 1fr}.metric-grid{grid-template-columns:1fr}.hero-result{padding:24px}.hero-value{font-size:38px}.empty-state{margin-top:42px;padding:28px 22px}}.auth-page{min-height:100vh;display:grid;place-items:center;padding:36px 20px;background:radial-gradient(circle at 18% 18%,rgba(34,151,123,.12),transparent 34%),radial-gradient(circle at 82% 82%,rgba(17,48,70,.1),transparent 36%),#f4f8f7;color:#13212b}.auth-card{width:min(100%,560px);background:rgba(255,255,255,.96);border:1px solid rgba(19,56,70,.13);border-radius:28px;box-shadow:0 28px 80px rgba(17,48,70,.14);padding:34px}.auth-brand{display:flex;align-items:center;gap:14px;padding-bottom:24px;border-bottom:1px solid rgba(19,56,70,.1)}.auth-brand-mark{width:58px;height:58px;object-fit:contain;border-radius:16px}.auth-brand-name{font-size:24px;font-weight:800;letter-spacing:-.03em}.auth-brand-slogan{margin-top:2px;color:#4b5f69;font-size:14px;font-weight:650}.auth-brand-secondary{margin-top:3px;color:#0b7166;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.auth-beta-badge{display:inline-flex;margin-top:26px;padding:7px 11px;border-radius:999px;background:#e8f5f1;color:#0a6e63;font-size:11px;font-weight:850;letter-spacing:.11em}.auth-card h1{margin:16px 0 8px;font-size:clamp(28px,4vw,40px);line-height:1.04;letter-spacing:-.045em}.auth-helper,.auth-intro{margin:0;color:#64747d;line-height:1.6}.auth-message{margin-top:18px;border:1px solid #d9b77d;background:#fff8ec;color:#714b10;border-radius:14px;padding:11px 13px;font-size:13px;font-weight:650}.auth-form{display:grid;grid-gap:16px;gap:16px;margin-top:24px}.auth-form label{display:grid;grid-gap:8px;gap:8px}.auth-form label>span{font-size:12px;font-weight:800;color:#324650}.auth-form input{width:100%;box-sizing:border-box;border:1px solid #ccd8dc;border-radius:14px;background:#fff;padding:13px 14px;font:inherit;color:#13212b;outline:none;transition:border-color .12s ease,box-shadow .12s ease}.auth-form input:focus{border-color:#158274;box-shadow:0 0 0 4px rgba(21,130,116,.12)}.auth-primary-button{border:0;border-radius:14px;padding:13px 16px;background:#162a34;color:#fff;font:inherit;font-weight:800;cursor:pointer;box-shadow:0 12px 28px rgba(22,42,52,.16)}.auth-primary-button:hover{background:#0f7167}.auth-security-note{margin-top:22px;padding-top:18px;border-top:1px solid rgba(19,56,70,.1);color:#76848b;font-size:11px;line-height:1.55}.auth-session-control{position:fixed;right:18px;bottom:18px;z-index:96;display:flex;align-items:center;gap:10px;padding:8px 9px 8px 12px;border:1px solid rgba(19,56,70,.14);border-radius:999px;background:rgba(255,255,255,.95);box-shadow:0 10px 32px rgba(17,48,70,.14);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.auth-session-control span{color:#0b7166;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.auth-session-control button{border:0;border-radius:999px;padding:7px 10px;background:#162a34;color:white;font-size:11px;font-weight:750;cursor:pointer}@media (max-width:640px){.auth-card{padding:24px;border-radius:22px}.auth-brand-mark{width:50px;height:50px}}.global-workspace-launcher{position:fixed;top:101px;right:38px;z-index:95;display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid #d8e0e4;border-radius:999px;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(17,26,32,.08);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.topbar{top:0;z-index:92}.mode-nav,.topbar{position:-webkit-sticky;position:sticky}.mode-nav{top:92px;z-index:91;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.global-workspace-launcher a,.global-workspace-launcher span{min-height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border-radius:999px;font-size:12px;font-weight:760;text-decoration:none;letter-spacing:-.01em}.global-workspace-launcher span{color:#fff;background:linear-gradient(145deg,#182229,#111a20);box-shadow:0 6px 16px rgba(17,26,32,.16)}.global-workspace-launcher a{color:#52616b;transition:.16s ease}.global-workspace-launcher a:hover{color:#0c514b;background:#e8f4f1}body:has(.beam-shell) .global-workspace-launcher,body:has(.buckling-shell) .global-workspace-launcher,body:has(.formulas-shell) .global-workspace-launcher,body:has(.st-shell) .global-workspace-launcher{display:none}.formulas-module-nav{min-height:44px;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 22px;background:rgba(247,249,250,.97);border-bottom:1px solid #dce4e7;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:-webkit-sticky;position:sticky;top:0;z-index:96;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.formulas-module-nav a,.formulas-module-nav span{min-height:31px;display:inline-flex;align-items:center;justify-content:center;padding:0 13px;border-radius:999px;font-size:11.5px;font-weight:720;text-decoration:none}.formulas-module-nav a{color:#5d6972;border:1px solid transparent}.formulas-module-nav a:hover{color:#0c514b;background:#fff;border-color:#d9e2e5}.formulas-module-nav a.active{color:#fff;background:linear-gradient(145deg,#182229,#111a20);box-shadow:0 6px 16px rgba(17,26,32,.14)}.formulas-module-nav span{color:#96a0a7;background:#eef2f4}body:has(.beam-shell) .formulas-module-nav{display:none}@media (max-width:980px){.global-workspace-launcher{right:20px}}@media (max-width:760px){.global-workspace-launcher{top:98px;right:14px;transform:scale(.94);transform-origin:top right}.mode-nav{top:92px;overflow-x:auto;padding-right:154px}.formulas-module-nav{justify-content:flex-start;overflow-x:auto}}.brand-identity-copy{display:grid;grid-gap:1px;gap:1px;min-width:0}.brand-primary-slogan{margin-top:2px;color:var(--muted);font-size:12.5px;line-height:1.25;letter-spacing:-.01em;font-weight:560}.brand-secondary-slogan{color:#7d8991;font-size:9.5px;line-height:1.2;letter-spacing:.09em;text-transform:uppercase;font-weight:720}.topbar-actions{display:flex;align-items:center;gap:18px}.brand-baseline{margin-top:3px;font-size:0!important;line-height:1.2}.brand-baseline:before{content:"Make engineering codes a reflex";display:block;color:var(--muted);font-size:12.5px;font-weight:570;letter-spacing:-.01em}.brand-baseline:after{content:"Understand. Apply. Verify.";display:block;margin-top:2px;color:#7d8991;font-size:9px;font-weight:760;letter-spacing:.085em;text-transform:uppercase}.global-language-control{position:fixed;z-index:94;top:27px;right:365px}.language-toggle{display:inline-flex;align-items:center;gap:2px;padding:3px;background:rgba(243,246,247,.96);border:1px solid #dce4e7;border-radius:999px;box-shadow:0 7px 22px rgba(20,33,41,.06),inset 0 1px 0 rgba(255,255,255,.8);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.language-toggle button{min-width:38px;height:29px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:#68757e;font-size:10.5px;font-weight:800;letter-spacing:.055em}.language-toggle button.active{background:#152027;color:white;box-shadow:0 5px 13px rgba(17,26,32,.16)}html[lang=fr] .mode-tab>span{font-size:0}html[lang=fr] .mode-tab>span:after{font-size:13.5px}html[lang=fr] .mode-tab:first-child>span:after{content:"Lire"}html[lang=fr] .mode-tab:nth-child(2)>span:after{content:"Questionner"}html[lang=fr] .mode-tab:nth-child(3)>span:after{content:"Calculer"}html[lang=fr] .mode-tab:nth-child(4)>span:after{content:"Vérifier"}html[lang=fr] .mode-tab:nth-child(5)>span:after{content:"Applicabilité"}html[lang=fr] .mode-tab:nth-child(6)>span:after{content:"Comparer"}.readme-source-governance{display:flex;align-items:center;gap:7px;margin-bottom:9px}.readme-governance-rank{min-width:29px;height:24px;padding:0 7px;display:inline-grid;place-items:center;border-radius:8px;color:var(--accent-2);background:var(--accent-soft);border:1px solid #d4e8e4;font-size:9.5px;font-weight:850;letter-spacing:.06em}.readme-governance-label{color:#5f6d76;font-size:9.5px;line-height:1.25;font-weight:720;letter-spacing:.015em}.readme-source-title-row{align-items:flex-start}@media (max-width:1100px){.global-language-control{right:285px}}@media (max-width:900px){.topbar{align-items:flex-start;gap:16px}.topbar-actions{align-items:flex-end;flex-direction:column-reverse;gap:8px}.brand-baseline:after,.brand-secondary-slogan{display:none}.global-language-control{right:24px;top:65px}}@media (max-width:640px){.topbar{padding:16px 18px}.topbar-meta{display:none}.topbar-actions{flex-direction:row;align-items:center;margin-left:auto}.brand-lockup{gap:10px}.brand-mark{width:42px;height:42px;border-radius:13px}.brand-name{font-size:19px}.brand-baseline:before,.brand-primary-slogan{font-size:10.5px;max-width:170px}.language-toggle button{min-width:34px;height:27px;padding:0 8px}.global-language-control{top:18px;right:18px}}