.dsde-modal{position:fixed;inset:0;z-index:1200;display:none;align-items:center;justify-content:center;padding:clamp(.75rem,3vw,2rem)}
.dsde-modal[aria-hidden="false"]{display:flex}.dsde-modal__backdrop{position:absolute;inset:0;background:rgba(7,20,38,.68);backdrop-filter:blur(4px)}
.dsde-modal__panel{position:relative;width:min(1120px,94vw);max-height:min(90vh,900px);overflow:hidden;display:flex;flex-direction:column;background:#fff;border:1px solid rgba(20,45,75,.14);border-radius:24px;box-shadow:0 28px 80px rgba(7,20,38,.28)}
.dsde-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem 1rem;background:#fff;border-bottom:1px solid var(--border)}
.dsde-modal__eyebrow{margin:0 0 .3rem;color:var(--accent-deep);font-size:.72rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.dsde-modal__header h2{margin:0;font-size:clamp(1.3rem,3vw,2rem)}
.dsde-modal__close{flex:0 0 auto;width:44px;height:44px;border:1px solid var(--border);border-radius:50%;background:#fff;color:var(--foreground);font-size:1.6rem;line-height:1;cursor:pointer}.dsde-modal__close:hover,.dsde-modal__close:focus-visible{border-color:var(--accent-deep);outline:3px solid rgba(40,100,170,.18)}
.dsde-modal__notice{margin:1rem 1.5rem 0;padding:.85rem 1rem;border-left:4px solid #b06c15;border-radius:10px;background:#fff8e8;color:#4d4130;font-size:.92rem}.dsde-modal__body{padding:1.25rem 1.5rem 1.5rem;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.dsde-step{display:none}.dsde-step.is-active{display:block}
.dsde-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:0 0 1.3rem}.dsde-progress span{padding:.55rem .7rem;border-bottom:3px solid var(--border);color:var(--muted);font-size:.82rem;font-weight:750}.dsde-progress span[aria-current="step"]{border-color:var(--accent-deep);color:var(--accent-deep)}
.dsde-modal__sector,.dsde-result__badge{display:inline-flex;padding:.36rem .62rem;border-radius:999px;background:var(--soft);color:var(--accent-deep);font-size:.72rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
.dsde-step h3{margin:.7rem 0 .5rem;font-size:clamp(1.4rem,3vw,2.15rem)}.dsde-step>p,.dsde-detail__heading p{max-width:820px;color:var(--muted)}.dsde-back{margin:0 0 .8rem;padding:.35rem 0;border:0;background:transparent;color:var(--accent-deep);font:inherit;font-weight:800;cursor:pointer}
.dsde-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.2rem}.dsde-choice{display:grid;gap:.45rem;min-height:120px;padding:1rem;text-align:left;border:1px solid var(--border);border-radius:16px;background:#fff;color:var(--foreground);font:inherit;cursor:pointer}.dsde-choice strong{font-size:1.06rem}.dsde-choice span{color:var(--muted);font-size:.91rem;line-height:1.55}.dsde-choice:hover,.dsde-choice:focus-visible{border-color:var(--accent-deep);box-shadow:0 10px 28px rgba(20,55,90,.1);outline:3px solid rgba(40,100,170,.14)}
.dsde-detail__heading{padding:1.05rem;border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc)}.dsde-detail__heading h3{margin:.65rem 0 .4rem}.dsde-detail__heading p{margin:.25rem 0}.dsde-detail__use{margin-top:1rem;padding:1rem;border-left:4px solid var(--accent-deep);background:#f5f8fc}.dsde-detail__use h4,.dsde-detail__use p{margin:.2rem 0}.dsde-detail__use p{color:var(--muted)}
.dsde-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}.dsde-evidence-grid section{padding:1rem;border:1px solid var(--border);border-radius:16px;background:#fff}.dsde-evidence-grid h4{margin:0 0 .65rem}.dsde-evidence-grid ul{margin:0;padding-left:1.2rem}.dsde-evidence-grid li{margin:.4rem 0;color:var(--muted)}
.dsde-signal{margin-top:1rem;padding:1.15rem;border:1px solid #c8d8e9;border-radius:16px;background:#eef5fb}.dsde-signal__label{margin:0;color:var(--accent-deep);font-size:.74rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.dsde-signal h4{margin:.35rem 0 .85rem;font-size:1.1rem}.dsde-signal p{margin:.55rem 0;color:#405267}
.dsde-conclusion{margin-top:1rem;padding:1rem;border-left:4px solid #8ca3b5;background:#f5f8fa}.dsde-conclusion h4{margin:.1rem 0 .5rem}.dsde-conclusion p{margin:.45rem 0;color:#405267}
.dsde-variability{margin-top:1rem;padding:1.1rem;border:1px solid #bfd4ca;border-radius:18px;background:#f4faf7}.dsde-variability__heading h4{margin:.35rem 0 .4rem;font-size:1.2rem}.dsde-variability__heading>p:last-child{margin:.35rem 0;color:#40574d}.dsde-variability__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}.dsde-variability__grid article{padding:1rem;border:1px solid #d5e3dc;border-radius:14px;background:#fff}.dsde-variability__grid h5{margin:0 0 .75rem;color:#1d5f4c;font-size:1rem}.dsde-variability__grid h6{margin:.85rem 0 .35rem;font-size:.86rem}.dsde-variability__grid ul{margin:0;padding-left:1.15rem}.dsde-variability__grid li{margin:.35rem 0;color:var(--muted);font-size:.9rem}.dsde-variability__guard{margin:1rem 0 0;padding:.8rem 1rem;border-left:4px solid #6b8f80;background:#fff;color:#40574d;font-weight:700}
.dsde-epistemic{margin-top:1rem;padding:1rem;border:1px solid var(--border);border-radius:16px;background:#fbfcfd}.dsde-epistemic h4{margin:0 0 .65rem}.dsde-epistemic [data-dsde-epistemic-states]{display:flex;flex-wrap:wrap;gap:.45rem}.dsde-epistemic [data-dsde-epistemic-states] span{padding:.35rem .6rem;border-radius:999px;background:#e7edf4;color:#30465d;font-size:.72rem;font-weight:850}.dsde-epistemic p{color:var(--muted)}.dsde-epistemic a{font-weight:800}
.dsde-modal__actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.25rem}body.dsde-modal-open{overflow:hidden}
@media(max-width:1000px){.dsde-variability__grid{grid-template-columns:1fr}}
@media(max-width:800px){.dsde-modal{padding:.5rem}.dsde-modal__panel{width:100%;max-height:calc(100vh - 1rem);border-radius:16px}.dsde-modal__header{padding:1rem}.dsde-modal__notice{margin:.75rem 1rem 0}.dsde-modal__body{padding:1rem}.dsde-choice-grid,.dsde-evidence-grid{grid-template-columns:1fr}.dsde-choice{min-height:auto}.dsde-modal__actions .btn{width:100%;justify-content:center}}
@media(max-width:480px){.dsde-progress span{padding:.45rem .25rem;font-size:.72rem}.dsde-modal__header h2{font-size:1.2rem}.dsde-modal__notice{font-size:.84rem}}
@media(prefers-reduced-motion:reduce){.dsde-modal *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
