/* Start Invest — atelier de simulation */
:root{--sim-orange:#e87837;--sim-navy:#172840;--sim-teal:#326e60} .sim-main{padding:0}.sim-hero{background:var(--sim-navy);color:#fff;padding:64px 0 58px;position:relative;overflow:hidden}.sim-hero:after{content:"";position:absolute;right:-60px;top:-155px;width:600px;height:600px;border:1px solid #ffffff14;border-radius:50%;box-shadow:0 0 0 70px #ffffff05,0 0 0 140px #ffffff04;pointer-events:none}.sim-hero .eyebrow{color:#ffb98e}.sim-hero h1{font-size:clamp(2.4rem,5vw,4rem);letter-spacing:-.045em;margin:10px 0;line-height:1.1}.sim-hero em{color:#ffa971;font-style:normal}.sim-hero p{max-width:730px;color:#d2dce8;font-size:1.12rem}.hero-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.hero-tags span{border:1px solid #ffffff24;border-radius:30px;padding:6px 14px;color:#e6edf5;font-size:.8rem}.sim-shell{padding-top:30px}.session-bar{display:flex;justify-content:space-between;align-items:center;gap:20px}.session-bar p{margin:4px 0;font-size:.8rem;color:var(--muted)}.session-actions{display:flex;gap:8px;flex-wrap:wrap}.session-actions .btn{font-size:.78rem;padding:10px 15px}.session-meta{margin:18px 0;padding:14px 20px;border:1px solid var(--line);border-radius:14px;background:#fff}.session-meta summary{cursor:pointer;font-weight:650}.session-meta .form-grid{margin-top:15px}.status:empty{display:none}.status{padding:10px 14px;background:#e8f2ec;border-radius:9px;margin:10px 0}.sim-tabs{display:grid;grid-template-columns:repeat(3,1fr);padding:6px;background:#e8ecf0;border-radius:17px;gap:6px;margin:24px 0 35px;position:sticky;top:88px;z-index:10}.sim-tabs button{cursor:pointer;border:0;background:transparent;color:#52617a;padding:15px 12px;border-radius:12px;font:600 .95rem/1.35 inherit;display:flex;align-items:center;justify-content:center;gap:12px}.sim-tabs button[aria-selected=true]{background:#fff;box-shadow:0 4px 14px #17284010;color:var(--sim-navy)}.sim-tabs button span{color:var(--sim-orange);font-size:.75rem;letter-spacing:.04em}.sim-panel[hidden]{display:none}.sim-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:26px}.sim-intro h2{font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.2;margin:9px 0 12px;letter-spacing:-.035em}.sim-intro p{color:var(--muted);max-width:760px;margin-bottom:0}.sim-intro .text-link{white-space:nowrap;font-size:.8rem}.sim-layout{display:grid;grid-template-columns:minmax(300px,.86fr) minmax(0,1.45fr);gap:26px;align-items:start;margin:28px 0}.sim-form{background:white;border:1px solid var(--line);padding:24px;border-radius:20px;min-width:0;box-shadow:0 8px 28px #17284004}.sim-form h3{font-size:1rem;margin:12px 0}.step-head{display:flex;align-items:center;gap:10px;margin:20px 0 12px}.step-head:first-child{margin-top:0}.step-head>span{display:grid;place-items:center;width:28px;height:28px;background:#fff0e5;border-radius:9px;color:#9f4b1c;font-size:.8rem;font-weight:700}.step-head h3{margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;min-width:0;font-size:.82rem;font-weight:600;line-height:1.45;color:var(--sim-navy)}.field input,.field select,.field textarea{font:500 .95rem/1.4 inherit;color:var(--sim-navy);width:100%;min-height:45px;border:1px solid #cbd5df;border-radius:9px;background:#fcfcfd;padding:10px 11px;box-sizing:border-box}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid #e8783738;border-color:var(--sim-orange)}.field small{font-size:.7rem;font-weight:400;color:var(--muted);line-height:1.5}.field input:invalid:not(:focus){border-color:#b37464}.wide{grid-column:1/-1}.check-field{font-size:.8rem;display:flex;gap:9px;align-items:center}.check-field input{width:18px;height:18px;accent-color:var(--sim-orange)}.preset-note{font-size:.78rem;line-height:1.65;padding:13px;border-radius:10px;background:#f1f5f4;color:#3c5b53;margin:12px 0 18px}.preset-note .tag{font-size:.66rem;display:block;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;font-weight:750}.preset-note a{color:inherit;text-decoration:underline}.settings{border-top:1px solid var(--line);padding:15px 0;margin-top:10px}.settings summary{font-size:.86rem;font-weight:700;cursor:pointer;margin-bottom:14px}.conditional{padding:10px;border-radius:9px;background:#f5f7f9;margin-top:12px}.conditional[hidden]{display:none}.conditional h4{margin:0 0 10px;font-size:.85rem}.full{width:100%;justify-content:center;margin-top:18px}.sim-results{min-width:0;display:flex;flex-direction:column;gap:18px}.main-result{background:var(--sim-navy);color:white;border-radius:20px;padding:28px;display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.main-result .eyebrow{color:#ffb98e;font-size:.68rem}.main-result strong{display:block;font-size:clamp(2rem,4vw,3.25rem);letter-spacing:-.05em;line-height:1.2;margin:10px 0}.main-result div>span:last-child{font-size:.82rem;color:#d9e1eb}.result-badge{border:1px solid #ffffff36;padding:5px 10px;border-radius:20px;font-size:.75rem;white-space:nowrap}.budget-result{padding:15px 18px;border-radius:12px;font-size:.86rem;background:#e7f1eb;color:#245644;margin:14px 0}.budget-result.tight{background:#fff0e7;color:#874220}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.metric{padding:16px;border-radius:14px;background:white;border:1px solid var(--line);min-width:0}.metric span{display:block;font-size:.72rem;color:var(--muted);line-height:1.4}.metric strong{display:block;font-size:clamp(1rem,1.8vw,1.4rem);margin-top:7px;letter-spacing:-.03em}.metric small{font-size:.67rem;color:var(--muted)}.chart-card,.result-card{background:white;border:1px solid var(--line);border-radius:18px;padding:23px;margin:16px 0;min-width:0}.chart-card figcaption{font-weight:700;margin-bottom:14px;font-size:.95rem}.chart-wrap svg{display:block;width:100%;height:auto;overflow:visible}.chart-save{font-size:.75rem;margin-top:10px;display:inline-block}.chart-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.68rem;color:var(--muted)}.chart-legend span:before{content:"";width:18px;height:3px;display:inline-block;vertical-align:middle;margin-right:6px;background:var(--sim-teal)}.chart-legend .legend-paid:before{background:#7990ad}.chart-legend .legend-gross:before{background:var(--sim-orange)}.small-note{font-size:.74rem;color:var(--muted);line-height:1.65}.result-card h3{font-size:1.08rem;margin:0 0 15px}.result-card summary{font-weight:700;cursor:pointer}.result-card table,.method-panel table{width:100%;border-collapse:collapse;font-size:.77rem;line-height:1.5}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.result-card th,.result-card td,.method-panel th,.method-panel td{padding:12px 8px;text-align:right;border-bottom:1px solid #e8edf1;vertical-align:top}.result-card th:first-child,.result-card td:first-child,.method-panel th:first-child,.method-panel td:first-child{text-align:left}.result-card th{font-size:.65rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.result-card td small{display:block;color:var(--muted);font-size:.68rem}.result-card td a{font-weight:650;color:#365e79;text-decoration:underline;text-underline-offset:3px}.result-card td:nth-child(2),.result-card td:nth-child(3){white-space:nowrap}.error-box{border:1px solid #e0b4a6;background:#fff1ec;padding:16px;border-radius:12px;color:#923b27;font-size:.87rem}.error-box[hidden]{display:none}.warnings:empty{display:none}.warning{border-left:3px solid var(--sim-orange);padding:10px 14px;background:#fff5ed;font-size:.76rem;margin:8px 0;color:#7c4a2d}.bracket-badge{border-radius:10px;background:#eaf1ee;color:#2d6352;padding:11px 14px;font-size:.84rem;font-weight:700;margin:14px 0}.weight-fields{display:grid;gap:8px}.weight-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.77rem;line-height:1.4;border-bottom:1px solid #eef1f3;padding:5px 0}.weight-row input{width:77px;flex:0 0 77px;text-align:right;padding:8px;border:1px solid #cbd5df;border-radius:7px;font:inherit;min-height:40px}.weight-row input:disabled{background:#f3f5f7;color:#485d71}.weight-sum{font-size:.76rem;font-weight:700;color:var(--sim-teal)}.weight-sum.invalid{color:#a0412f}.money-tree{font-size:.8rem}.tree-root{background:var(--sim-navy);color:white;padding:14px 18px;border-radius:11px;display:flex;justify-content:space-between;gap:15px}.tree-children{border-left:2px solid #dbe4e4;margin:0 0 0 16px;padding:12px 0 0 16px;display:grid;gap:7px}.tree-leaf{display:flex;justify-content:space-between;gap:15px;padding:9px 12px;border:1px solid #e4eae9;border-radius:9px;position:relative;background:#fbfcfc}.tree-leaf:before{content:"";position:absolute;width:16px;left:-18px;top:50%;border-top:2px solid #dbe4e4}.tree-leaf strong{white-space:nowrap}.tree-leaf small{color:var(--muted)}.tree-sub{margin-left:16px;margin-top:6px}.break-row{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid #eef1f3;font-size:.82rem}.break-row strong{white-space:nowrap}.method-panel{border-top:1px solid var(--line);margin:55px 0 30px;padding-top:35px;display:grid;grid-template-columns:.8fr 1.5fr;gap:50px}.method-panel h2{font-size:1.8rem;line-height:1.2;letter-spacing:-.03em;margin:10px 0 15px}.method-panel>div>p{color:var(--muted);font-size:.87rem}.method-panel details{border-bottom:1px solid var(--line);padding:15px 0}.method-panel summary{font-size:.9rem;font-weight:700;cursor:pointer}.method-panel details p{font-size:.8rem;color:#57677a}.method-panel a{color:#356678;text-decoration:underline}.source-row{font-size:.77rem;padding:10px 0;border-bottom:1px solid #edf0f3}.source-row span{display:block;color:var(--muted);font-size:.71rem}.coverage-list{display:grid;grid-template-columns:1fr 1fr;gap:5px;font-size:.71rem}.coverage-list a{padding:4px 0}.sim-form .text-link,.sim-intro .text-link,.result-card .text-link,.chart-card .text-link{border:0;background:none;padding:0;cursor:pointer;font:600 .78rem/1.5 inherit;text-align:left;color:#9c4a1e}.sim-form select{font-size:.82rem;max-width:100%;overflow:hidden}.sim-form .field:has(select){max-width:100%}.callout{margin:15px 0;font-size:.84rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #d98143;outline-offset:3px}.sim-main button{touch-action:manipulation}button:disabled{opacity:.5;cursor:not-allowed}.dot{width:8px;height:8px;display:inline-block;border-radius:50%;margin-right:6px}.analysis-link{font-size:.72rem;white-space:normal}.asset-example{font-size:.79rem;border-bottom:1px solid var(--line);padding:10px 0}.asset-example strong{display:block}.asset-example p{margin:5px 0;color:var(--muted)}.print-cover{display:none}
@media(min-width:1100px){.sim-form{position:relative}.sim-results{position:sticky;top:178px}}@media(max-width:1000px){.session-bar{align-items:flex-start;flex-direction:column}.sim-layout{grid-template-columns:minmax(270px,.85fr) minmax(0,1.15fr);gap:18px}.form-grid{grid-template-columns:1fr}.sim-form{padding:18px}.metrics{grid-template-columns:1fr 1fr}.metric:last-child:nth-child(odd){grid-column:1/-1}.sim-tabs{top:77px}.sim-intro{flex-direction:column;gap:12px}.chart-card,.result-card{padding:17px}.method-panel{gap:25px}}@media(max-width:720px){.sim-hero{padding:38px 0}.sim-hero p{font-size:1rem}.hero-tags{gap:7px}.hero-tags span{font-size:.67rem;padding:4px 10px}.sim-shell{padding-top:20px}.session-actions{width:100%}.session-actions .btn{flex:1;font-size:.69rem;padding:10px;white-space:normal}.sim-tabs{top:68px;margin:20px -6px 26px;padding:4px;gap:3px;border-radius:12px}.sim-tabs button{font-size:.72rem;line-height:1.3;padding:11px 5px;gap:5px;flex-direction:column}.sim-layout{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr 1fr}.sim-form{padding:20px}.main-result{padding:24px}.metrics{grid-template-columns:repeat(3,1fr);gap:7px}.metric{padding:12px 9px}.metric:last-child:nth-child(odd){grid-column:auto}.metric span{font-size:.65rem}.metric strong{font-size:1.02rem}.method-panel{grid-template-columns:1fr;gap:10px}.sim-intro p{font-size:.9rem}.chart-legend{gap:8px;font-size:.64rem}.money-tree{font-size:.74rem}.tree-leaf{padding:9px}.tree-root{padding:12px}.coverage-list{grid-template-columns:1fr}.result-card table{font-size:.73rem}.allocation-table{min-width:480px}.sim-hero:after{right:-450px}.tree-children{margin-left:10px;padding-left:11px}.tree-leaf:before{width:11px;left:-13px}}@media(max-width:380px){.form-grid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr}.metric{display:flex;align-items:center;justify-content:space-between;gap:10px}.metric strong{margin:0}.metric small{display:none}}
@media print{@page{size:A4;margin:13mm}body{background:#fff;font-size:9pt;color:#172840}.top-nav,.footer,.sim-hero,.sim-tabs,.session-actions,.session-meta summary,.sim-form,.sim-intro .text-link,.action-panel,.method-panel,.chart-save,.result-card button,.sim-intro .eyebrow,.callout,.chart-legend+.small-note,.session-bar,.status,.settings{display:none!important}.sim-panel[hidden]{display:block!important}.sim-panel{break-before:page}.sim-panel:first-of-type{break-before:auto}.sim-shell,.shell{max-width:none!important;width:100%!important;padding:0!important}.session-meta{display:block;padding:8px;margin:0 0 10px}.session-meta>.form-grid{display:grid!important;grid-template-columns:1fr 1fr}.session-meta input,.session-meta textarea{border:0;min-height:0;padding:0;font-size:9pt}.session-meta .small-note{display:none}.sim-layout{display:block;margin:10px 0}.sim-results{position:static;display:block}.main-result{background:#eef2f5;color:#172840;padding:14px}.main-result .eyebrow,.main-result div>span:last-child{color:#172840}.main-result strong{font-size:24pt}.sim-intro h2{font-size:19pt}.sim-intro p{font-size:9pt}.chart-card,.result-card{padding:12px;margin:10px 0;break-inside:avoid}.chart-card{max-width:100%;}.chart-wrap svg{max-height:230px}.metrics{display:grid;grid-template-columns:repeat(3,1fr)}.metric{padding:10px}.budget-result{padding:10px}.result-card table{font-size:8pt}.result-card th,.result-card td{padding:6px}.print-cover{display:block;margin-bottom:15px}.print-cover img{width:170px}.print-cover p{font-size:8pt}.tree-root{background:#eef2f5;color:#172840}.money-tree{font-size:8pt}.tree-leaf{padding:5px 10px}.warning{padding:7px 10px;font-size:8pt}.table-scroll{overflow:visible}.allocation-table{min-width:0}details:not([open])>*:not(summary){display:none}.sim-main{padding:0}a{text-decoration:none!important;color:inherit!important}#bracketHead,#bracketRows{font-size:7pt}.error-box{border:2px solid #a0412f}#savingOutput[hidden],#etfOutput[hidden],#assetOutput[hidden]{display:none!important}}

.donut-layout{display:grid;grid-template-columns:45% 55%;align-items:center;gap:0}.donut-legend{list-style:none;padding:0;margin:0;font-size:.75rem}.donut-legend li{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid #edf0f3;line-height:1.4}.donut-legend strong{white-space:nowrap}.export-chart{display:none}.sim-tabs button,.field input,.field select,.field textarea,.text-link{font-family:inherit}.sim-tabs button{font-size:.95rem;font-weight:600}.sim-form .text-link,.sim-intro .text-link,.result-card .text-link,.chart-card .text-link{font-size:.78rem;font-weight:600}.chart-wrap{overflow:hidden}@media(max-width:1000px){.donut-layout{grid-template-columns:1fr}.donut-layout>svg{max-width:300px;margin:auto}.donut-legend{font-size:.77rem}}@media(max-width:720px){.sim-tabs button{font-size:.72rem}.chart-wrap:has(>svg:not(.export-chart)){overflow-x:auto}.chart-wrap>svg:not(.export-chart){min-width:510px}.donut-layout>svg{max-width:300px;min-width:0}}@media print{.donut-layout{grid-template-columns:43% 57%}.donut-layout>svg{max-height:210px}.donut-legend{font-size:8pt}.chart-wrap>svg:not(.export-chart){min-width:0}.chart-wrap{overflow:visible}.export-chart{display:none!important}#etf>details{display:none!important}}

.private-badge{display:inline-flex;align-items:center;gap:8px;background:#eaf1ee;border:1px solid #cbded5;border-radius:25px;padding:8px 14px;color:#2d6352;font-size:.75rem;font-weight:650}@media(max-width:560px){.private-badge{font-size:.65rem;padding:6px 9px;max-width:140px;line-height:1.3}}
@media(max-width:720px){.sim-tabs{top:78px}}@media(max-width:560px){.sim-tabs{top:68px}.sim-main .brand img{width:160px}.private-badge{max-width:130px}}@media(max-width:380px){.sim-main .brand img{width:145px}}.top-nav .brand{min-width:0}@media(max-width:560px){.top-nav .brand img{width:160px}}@media(max-width:380px){.top-nav .brand img{width:145px}}

:root{--ink:#102d35;--muted:#5d7279;--orange:#c99b57;--orange2:#e5c58f;--bg:#f3f6f4;--line:#d8e3df;--mint:#d9ebe2;--sage:#22675d;--sim-orange:#c99b57;--sim-navy:#102d35;--sim-teal:#22675d}.sim-hero{background:#102d35}.sim-hero em,.sim-hero .eyebrow{color:#e5c58f}.sim-hero p{color:#d1e0dc}.hero-tags span{border-color:#ffffff30;color:#dde8e2}.step-head>span{background:#f3ecdd;color:#7e5b23}.sim-tabs button span{color:#98723b}.sim-tabs{background:#e0e8e3}.main-result .eyebrow{color:#e5c58f}.main-result div>span:last-child{color:#d5e4dd}.preset-note{background:#eaf2ec;color:#2d5d51}.budget-result{background:#e2efe6;color:#235442}.budget-result.tight{background:#f6eddb;color:#715122}.warning{border-color:#bd9659;background:#f6f0e4;color:#755b32}.private-badge{background:#e6efe7;border-color:#c5d9cc;color:#2a6654}.sim-form .text-link,.result-card .text-link,.chart-card .text-link{color:#7d602f}.field input:focus,.field select:focus{outline-color:#c99b5738;border-color:#aa854e}.sim-hero .premium-tag{border:1px solid #e5c58f5c;border-radius:20px;padding:4px 12px;display:inline-block}.license-strip{background:#e7efe9;border:1px solid #cbdcd1;border-radius:12px;padding:12px 16px;margin:15px 0;display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:.76rem}.license-strip strong{display:block}.license-strip button{border:0;background:none;color:#2a6654;text-decoration:underline;cursor:pointer}.license-watermark{position:fixed;bottom:6px;right:8px;z-index:25;font-size:10px;background:#ffffffdf;color:#62796b;padding:4px 9px;border:1px solid #d6e2db;border-radius:6px;pointer-events:none}.access-block{padding:24px;background:#f5eee2;border:1px solid #d8bf95;border-radius:15px;margin:20px}.access-block[hidden]{display:none}.premium-gated[hidden]{display:none!important}@media print{.license-strip{display:block}.license-watermark{position:static;display:block}.license-strip button{display:none}}
