
:root{--bg:#ffffff;--panel:#ffffff;--ink:#171717;--muted:#667085;--line:#d9dde8}
*{box-sizing:border-box}html,body{height:100%;margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink)}
button,input,select{font:inherit}.app{height:100vh;overflow:hidden}.header{height:78px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 28px;border-bottom:1px solid var(--line);background:var(--bg);position:relative;z-index:10}.brand{font-size:18px;font-weight:700;letter-spacing:-.04em;text-transform:none}.tag{margin-top:5px;font-size:10px;letter-spacing:.18em;color:#666;text-transform:uppercase}.view-switch{display:flex;gap:4px;border:0;padding:0}.view-switch button{border:1px solid #bdb8af!important;border-radius:11px;background:transparent;padding:10px 18px;font-size:12px;cursor:pointer}.view-switch button.active{border-color:#171717!important;background:#171717;color:#fff}.lang{justify-self:end;min-width:82px;border:1px solid #bdb8af;border-radius:11px;background:transparent;padding:10px 14px;font-size:12px;font-weight:700;cursor:pointer;transition:background .18s,color .18s,border-color .18s}.lang:hover{border-color:#171717;background:#fff}.body{height:calc(100vh - 78px);display:flex}.main{position:relative;flex:1;min-width:0;overflow:hidden;background:var(--bg)}.toolbar{position:absolute;z-index:8;left:28px;top:22px;display:flex;gap:8px;padding:0;background:var(--bg)}.toolbar input,.toolbar select{height:38px;border:0;border-bottom:1px solid #8f8b83;background:var(--bg);padding:0 28px 0 2px;outline:none;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.toolbar input{width:250px}.sector-dot{width:8px;height:8px;border-radius:50%;flex:none}.sector-end-dot{width:6px;height:6px;border-radius:50%;flex:none}.canvas{height:100%;padding-top:0}.universe{height:100%}.universe svg{width:100%;height:100%;display:block}.compare-grid{height:100%;display:grid;grid-template-columns:1fr 1fr}.compare-grid .universe:first-child{border-right:1px solid var(--line)}.sidebar{width:255px;flex:none;padding:24px 16px;border-right:1px solid #d7d3cc;background:var(--panel);position:relative;z-index:9}.side-title{font-size:10px;font-weight:700;letter-spacing:.18em;color:#62666d;margin:0 8px 16px;text-transform:uppercase}.sector{width:100%;display:flex;align-items:center;gap:12px;border:1px solid transparent;background:transparent;padding:12px 10px;cursor:pointer;text-align:left;margin-bottom:3px;border-radius:8px;transition:background .18s,border-color .18s,box-shadow .18s}.sector:hover{background:rgba(255,255,255,.62)}.sector.active{background:#fff;color:#232323;border-color:#d8d4cc;box-shadow:0 4px 14px rgba(23,23,23,.05)}.sector-num{display:none}.sector-name{flex:1;font-size:15px;font-weight:500;color:#666a70}.sector.active .sector-name{color:#232323}.instruction{position:absolute;left:25px;bottom:17px;font-size:10px;letter-spacing:.14em;color:#777}.clickable{cursor:pointer}.risk-list{opacity:0;animation:riskReveal .32s ease .5s forwards}@keyframes riskReveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.risk-label{font-weight:600;paint-order:stroke;stroke:#ffffff;stroke-width:4px;stroke-linejoin:round}.drawer{position:fixed;z-index:30;left:0;top:0;bottom:0;width:440px;max-width:94vw;padding:30px;background:var(--bg);border-right:1px solid #171717;box-shadow:12px 0 36px rgba(0,0,0,.14);overflow:auto;transform:translateX(-105%);transition:transform .28s ease}.drawer.open{transform:none}.drawer-close{float:right;border:0;background:none;font-size:27px;cursor:pointer}.drawer-kicker{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.drawer-title{margin-top:58px;padding-top:20px;border-top:1px solid #171717;font-size:38px;line-height:1.08;letter-spacing:-.04em}.drawer section{margin-top:30px;padding-top:18px;border-top:1px solid var(--line)}.drawer h3{font-size:11px;letter-spacing:.14em;text-transform:uppercase}.drawer p,.drawer li{font-size:14px;line-height:1.75;color:#555}.drawer ul{padding-left:18px}

.mapping-workspace{position:fixed;z-index:9;inset:78px 0 0;background:#fff;overflow:auto}.mapping-workspace[hidden]{display:none}.mapping-shell{max-width:1500px;margin:0 auto;padding:12px 28px 55px}.mapping-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:10px}.mapping-kicker{font-size:9px;font-weight:700;letter-spacing:.2em;color:#667085}.mapping-top h1{font-size:26px;letter-spacing:-.04em;margin:5px 0}.limit-card{min-width:275px;border:1px solid var(--line);border-radius:14px;padding:11px 13px}.limit-card>span{display:block;font-size:9px;font-weight:700;text-transform:uppercase;margin-bottom:7px}.limit-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.limit-switch button{border:1px solid #cfd5de;border-radius:8px;background:#fff;padding:7px;cursor:pointer}.limit-switch button.active{background:#34445b;color:#fff}.limit-card strong{display:block;font-size:11px;margin-top:7px}.map-block{border:1px solid var(--line);border-radius:15px;background:#fff;margin-top:10px;box-shadow:0 5px 18px rgba(52,68,91,.045);overflow:visible}.block-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;background:#fff;padding:13px 16px;border-radius:15px;cursor:pointer;font-size:14px;font-weight:700;text-align:left}.block-toggle span{display:flex;align-items:center;gap:10px}.block-toggle b{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#34445b;color:#fff;font-size:8px}.block-toggle i{font-style:normal;font-size:20px;color:#667085}.map-block.collapsed .block-content{display:none}.block-content{padding:0 16px 16px}.selection-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:15px}.library-filters{display:grid;grid-template-columns:165px 175px 1fr;gap:7px;margin-bottom:8px}.library-filters select,.library-filters input,.custom-form input,.custom-form select,.custom-form textarea,.sheet-field input,.sheet-field textarea,.sheet-field select{width:100%;border:1px solid #cfd5de;border-radius:9px;background:#fff;padding:9px 10px;outline:none}.risk-library-list{max-height:355px;overflow:auto;border-top:1px solid #edf0f3;margin-top:7px}.risk-option{display:grid;grid-template-columns:22px 1fr auto;gap:8px;padding:9px 3px;border-bottom:1px solid #edf0f3}.risk-option input{width:16px;height:16px;accent-color:#34445b}.risk-option label{font-size:11px;font-weight:600}.risk-option small{display:block;color:#7b8493;font-size:8px;margin-top:3px}.risk-source,.custom-badge{font-size:7px;border-radius:999px;background:#eef1f5;padding:4px 6px;text-transform:uppercase}.risk-option.disabled{opacity:.4}.custom-form{border-left:1px solid #edf0f3;padding-left:15px}.custom-form h3,.map-risk-list h3{font-size:12px;margin:0 0 12px}.custom-form label,.sheet-field label{display:block;font-size:9px;font-weight:700;margin-bottom:9px}.custom-form input,.custom-form select,.custom-form textarea{display:block;margin-top:5px;font-size:11px;font-weight:400}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:7px}.primary-action,.generate-map{border:0;border-radius:10px;background:#34445b;color:#fff;padding:11px 14px;font-size:9px;font-weight:700;letter-spacing:.07em;cursor:pointer}.primary-action{width:100%}.block-meta{font-size:9px;color:#667085;margin-bottom:4px}.empty-selection{padding:24px;text-align:center;border:1px dashed #cfd5de;border-radius:11px;color:#7c8492;font-size:11px}.assessment-row{display:grid;grid-template-columns:minmax(220px,1.2fr) repeat(3,minmax(160px,.7fr)) 28px;gap:13px;align-items:center;border:1px solid #e1e5eb;border-radius:12px;padding:12px;margin-top:8px}.risk-identity strong{font-size:11px}.risk-identity small{display:block;color:#667085;font-size:8px;margin-top:3px}.metric-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.metric-title{display:inline-flex;gap:4px;font-size:8px;font-weight:700;text-transform:uppercase}.info-tip{position:relative;display:inline-grid;place-items:center;width:14px;height:14px;border:1px solid #9ca6b6;border-radius:50%;cursor:help}.tooltip{position:absolute;z-index:9000;left:50%;bottom:100%;width:225px;padding:9px;border-radius:8px;background:#172033;color:#fff;font-size:9px;font-weight:400;line-height:1.4;opacity:0;visibility:hidden;transform:translate(-50%,0)}.info-tip:hover .tooltip,.info-tip:focus .tooltip{opacity:1;visibility:visible;transform:translate(-50%,-6px)}.metric-value{display:grid;place-items:center;width:24px;height:21px;border-radius:999px;background:#eef1f5;font-size:9px;font-weight:700}.metric input{width:100%;accent-color:#34445b}.range-labels{display:flex;justify-content:space-between;font-size:7px;color:#818a98}.remove-risk{border:0;background:none;font-size:19px;cursor:pointer}.generate-wrap{text-align:center;margin-top:15px;padding-top:13px;border-top:1px solid #edf0f3}.generate-map{min-width:300px}.generate-map:disabled{opacity:.35}.generate-wrap p{font-size:9px;color:#667085}.map-split{display:grid;grid-template-columns:minmax(270px,.42fr) minmax(540px,1fr);gap:18px;align-items:start}.map-risk-list{max-height:690px;overflow:auto;padding-right:4px}.map-legend-item{display:grid;grid-template-columns:24px 1fr auto;gap:7px;align-items:center;padding:8px;border:1px solid #e1e5eb;border-radius:9px;margin-bottom:6px}.legend-num{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#34445b;color:#fff;font-size:7px}.map-legend-item strong{font-size:9px}.map-legend-item small{display:block;color:#667085;font-size:7px}.legend-score{font-size:8px;font-weight:700}.matrix-caption{display:flex;justify-content:space-between;font-size:8px;color:#667085;margin:0 0 6px 34px}.matrix-layout{display:grid;grid-template-columns:29px minmax(0,680px);justify-content:center;gap:6px}.axis-y{writing-mode:vertical-rl;transform:rotate(180deg);display:grid;place-items:center;font-size:8px;font-weight:700;color:#667085}.axis-x{text-align:center;font-size:8px;font-weight:700;color:#667085;margin-top:6px}.risk-matrix{aspect-ratio:1;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);border:1px solid #bdc5d0;isolation:isolate}.matrix-cell{position:relative;border:1px solid rgba(255,255,255,.92);overflow:visible;z-index:1}.matrix-cell:hover,.matrix-cell:focus-within{z-index:300}.cell-label{position:absolute;left:4px;top:3px;font-size:7px;color:rgba(23,23,23,.45)}.map-dot{position:absolute;z-index:2;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#34445b;color:#fff;border:2px solid #fff;box-shadow:0 2px 7px rgba(52,68,91,.25);font-size:8px;font-weight:700;transform:translate(-50%,-50%);cursor:pointer}.map-dot:hover,.map-dot:focus{z-index:500}.dot-tip{position:absolute;z-index:9999;left:50%;bottom:calc(100% + 8px);width:230px;padding:9px;border-radius:8px;background:#172033;color:#fff;font-size:9px;font-weight:400;line-height:1.4;opacity:0;visibility:hidden;transform:translateX(-50%);pointer-events:none;box-shadow:0 10px 28px rgba(0,0,0,.22)}.map-dot:hover .dot-tip,.map-dot:focus .dot-tip{opacity:1;visibility:visible}.risk-sheets{display:grid;gap:13px}.risk-sheet{border:1px solid #d7dce4;border-radius:13px;overflow:hidden}.sheet-head{display:flex;justify-content:space-between;align-items:center;background:#34445b;color:#fff;padding:11px 14px}.sheet-head strong{font-size:13px}.sheet-scores{display:flex;gap:7px}.sheet-score{display:grid;place-items:center;min-width:55px;background:rgba(255,255,255,.14);border-radius:7px;padding:5px;font-size:8px}.sheet-grid{display:grid;grid-template-columns:1.45fr .55fr;gap:12px;padding:13px}.sheet-main{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sheet-field{border:1px solid #e2e6ec;border-radius:10px;padding:10px}.sheet-field.full{grid-column:1/-1}.sheet-field h4{font-size:10px;margin:0 0 7px;color:#34445b}.sheet-field textarea{min-height:82px;resize:vertical;font-size:10px;font-weight:400}.sheet-field input,.sheet-field select{font-size:10px;font-weight:400}.sheet-side{display:grid;gap:10px}.sheet-note{font-size:8px;color:#667085;margin-top:4px}
@media(max-width:900px){.mapping-workspace{inset:118px 0 0}.mapping-shell{padding:9px 9px 40px}.mapping-top{display:block}.limit-card{min-width:0;margin-top:9px}.selection-grid,.library-filters,.form-row,.assessment-row,.map-split,.sheet-grid,.sheet-main{grid-template-columns:1fr}.custom-form{border-left:0;border-top:1px solid #edf0f3;padding:12px 0 0}.assessment-row{position:relative}.remove-risk{position:absolute;right:7px;top:5px}.generate-map{min-width:0;width:100%}.matrix-layout{grid-template-columns:20px 1fr}.map-risk-list{max-height:none}.tooltip,.dot-tip{position:fixed;left:10px;right:10px;bottom:10px;width:auto;transform:none!important}.sheet-field.full{grid-column:auto}html,body{height:auto;min-height:100%;overflow:auto}.app{height:auto;min-height:100vh;overflow:visible}.header{height:auto;min-height:70px;grid-template-columns:1fr auto;padding:12px 16px;gap:10px}.tag{display:none}.view-switch{grid-column:1/-1;grid-row:2;justify-content:stretch}.view-switch button{flex:1;padding:9px 10px}.lang{grid-column:2;grid-row:1;min-width:72px;padding:8px 10px}.body{height:auto;display:block}.sidebar{position:sticky;top:0;z-index:20;width:100%;padding:10px 12px;border-right:0;border-bottom:1px solid var(--line);overflow-x:auto;background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}.side-title,.sector-end-dot,#compareInfo{display:none}#sectorList{display:flex;gap:6px;min-width:max-content}.sector{width:auto;min-width:112px;margin:0;padding:9px 11px;white-space:nowrap}.main{min-height:720px;overflow:visible}.canvas{height:660px;padding-top:0}.instruction{display:none}.compare-grid{display:block;height:auto}.compare-grid .universe{height:640px;border-right:0!important;border-bottom:1px solid var(--line)}.drawer{width:100%;max-width:none;padding:22px 20px;border-right:0}.drawer-title{font-size:30px;margin-top:44px}.drawer p,.drawer li{font-size:15px;line-height:1.65}}@media(max-width:520px){.brand{font-size:16px}.canvas{height:610px}.main{min-height:670px}.sector{min-width:104px}.universe svg{min-width:760px;transform:translateX(calc((100vw - 760px)/2))}.compare-grid .universe{height:610px;overflow:hidden}.compare-grid .universe svg{min-width:760px}.drawer-title{font-size:27px}}

:root{--brand:#4A1C22;--slate:#1A202C}.app{min-height:100vh;height:auto}.header{height:72px;background:#111;color:#fff;border-color:#333;grid-template-columns:1fr auto 1fr}.brand-wrap{cursor:pointer}.brand{color:#fff}.tag{color:#c9bcae}.view-switch{gap:28px}.view-switch button{border:0!important;border-radius:0;background:transparent!important;color:#eee;padding:22px 0 12px;position:relative;font-weight:700;cursor:pointer;transition:color .18s}.view-switch button:after{content:"";position:absolute;left:0;bottom:5px;height:1px;width:0;background:#c9a9a6;transition:width .32s ease}.view-switch button:hover{color:#fff}.view-switch button:hover:after{width:100%}.view-switch button.active{color:#fff}.view-switch button.active:after{width:100%}.header-actions{justify-self:end;display:flex;gap:8px}.lang,.theme-toggle{border:1px solid #4b4b4b;border-radius:10px;background:transparent;color:#fff;padding:10px 14px;font-weight:700;cursor:pointer;transition:border-color .2s,background .2s}.lang:hover,.theme-toggle:hover{border-color:#c9a9a6;background:rgba(201,169,166,.12)}.theme-toggle{width:40px;padding:0}.home{position:fixed;z-index:20;inset:72px 0 0;background:#050505;color:#fff;overflow:auto}.home[hidden]{display:none}.hero{min-height:610px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;padding:70px 6vw;border-bottom:1px solid #282828}.hero h1{font-size:clamp(48px,5vw,78px);line-height:1;letter-spacing:-.055em;margin:18px 0}.hero p{color:#bbb;line-height:1.7;max-width:700px}.eyebrow,.section-kicker{font-size:9px;letter-spacing:.25em;color:#c9a9a6;font-weight:700}.hero-actions{display:flex;gap:10px;margin-top:28px}.hero-btn{border:1px solid #666;border-radius:10px;background:transparent;color:#fff;padding:13px 18px;font-size:10px;font-weight:700;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.hero-btn.primary,.mapping-start{background:#4A1C22;border-color:#4A1C22}.hero-btn:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 10px 24px rgba(0,0,0,.35)}.hero-btn:not(.primary):hover{border-color:#c9a9a6}.hero-btn.primary:hover{box-shadow:0 10px 26px rgba(74,28,34,.55)}.orbit-stage{height:460px;position:relative}.ellipse{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-13deg);border:1px solid rgba(201,169,166,.42);border-radius:50%}.ellipse.one{width:520px;height:270px;animation:spin 28s linear infinite}.ellipse.two{width:390px;height:390px;border-color:rgba(90,104,126,.55);animation:spin 36s linear infinite reverse}@keyframes spin{to{transform:translate(-50%,-50%) rotate(347deg)}}.orbit-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#fff;width:250px;height:220px}.network-logo{width:100%;height:100%;animation:float 5.5s ease-in-out infinite;filter:drop-shadow(0 12px 28px #000)}@keyframes float{50%{transform:translateY(-9px) rotate(1deg)}}.home-section{padding:70px 6vw;background:#090909}.home-section h2{font-size:34px}.cards{display:grid;gap:14px}.cards.steps{grid-template-columns:repeat(5,1fr)}.cards.actions{grid-template-columns:repeat(3,1fr)}.cards article{min-height:165px;border:1px solid #303030;border-radius:14px;padding:22px;background:#111;transition:.18s;position:relative}.cards article:hover{transform:translateY(-5px);border-color:#793d46;box-shadow:0 18px 40px rgba(74,28,34,.2)}.cards article b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#1A202C}.cards article p{color:#999;font-size:12px}.cards.actions article{cursor:pointer}.cards.actions span{position:absolute;right:20px}.access{margin-top:70px}.site-footer{height:38px;display:flex;align-items:center;justify-content:center;border-top:1px solid var(--line);font-size:9px;color:#777}.home .site-footer{background:#050505;border-color:#262626}.app-footer{position:fixed;bottom:0;left:0;right:0;z-index:11;background:var(--bg)}.body{padding-bottom:38px}.universe-modebar{position:absolute;z-index:12;right:28px;top:20px;display:flex;padding:4px;border:1px solid #d2d2d2;border-radius:10px;background:var(--bg)}.universe-modebar button{border:0;border-radius:7px;background:transparent;padding:8px 12px;font-size:10px;font-weight:700}.universe-modebar button.active{background:#1A202C;color:#fff}.mapping-intro{padding:44px 28px;max-width:1500px;margin:auto}.mapping-intro-head{display:flex;justify-content:space-between;align-items:end}.mapping-intro h1{font-size:44px;margin:12px 0}.mapping-start{border:0;border-radius:10px;color:#fff;padding:13px 20px;font-size:10px;font-weight:700;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.mapping-start:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 10px 26px rgba(74,28,34,.55)}.intro-steps{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #ddd;border-radius:14px;overflow:hidden;margin:30px 0 16px}.intro-steps>div{padding:16px;border-right:1px solid #ddd;font-size:10px;font-weight:700}.intro-steps b{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#edf0f3;margin-right:10px;color:#1A202C}.intro-steps>div:first-child b{background:#4A1C22;color:#fff}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.intro-grid article{border:1px solid #ddd;border-radius:14px;background:#fff;padding:22px;min-height:215px}.intro-grid small{color:#4A1C22}.skeleton:before,.sliders:before{content:"";display:block;margin-top:24px;height:55px;background:repeating-linear-gradient(#ddd 0 8px,transparent 8px 18px)}.mini-matrix{display:grid;grid-template-columns:repeat(5,38px);grid-template-rows:repeat(5,25px);gap:2px;margin-top:18px}.mini-matrix i{background:#bba88f}.mini-matrix i:nth-child(-n+5){background:#1A202C}.mini-sheet{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}.mini-sheet i{height:42px;border:1px solid #ddd;border-radius:7px;background:#f4f3f1}.mini-sheet i:first-child{grid-column:1/-1}.mapping-shell.intro-hidden{display:none}.limit-card{min-width:460px}.limit-switch.five{grid-template-columns:repeat(5,1fr)}
/* contrast */.risk circle{fill:#fff!important;stroke:#68758c!important}.risk text:not(.risk-label),.sector-core text{fill:#171717!important}.risk-label{fill:#171717!important;stroke:#fff!important}.cat[data-cat="strategy"] text{fill:#fff!important}.cat:not([data-cat="strategy"]) text{fill:#182230!important}
body.dark{--bg:#0d0d0d;--panel:#111;--ink:#f5f3f0;--muted:#aaa;--line:#333;background:#0d0d0d;color:#f5f3f0}body.dark .main,body.dark .sidebar,body.dark .toolbar,body.dark .drawer,body.dark .mapping-workspace,body.dark .mapping-shell,body.dark .mapping-intro{background:#0d0d0d;color:#f5f3f0}body.dark .map-block,body.dark .block-toggle,body.dark .limit-card,body.dark .intro-grid article,body.dark .intro-steps,body.dark .risk-sheet,body.dark .sheet-field,body.dark input,body.dark select,body.dark textarea{background:#141414!important;color:#fff!important;border-color:#3a3a3a!important}body.dark .intro-steps>div{border-color:#3a3a3a}body.dark .universe-modebar{background:#111;border-color:#444}body.dark .universe-modebar button{color:#ddd}body.dark .universe-modebar button.active,body.dark .limit-switch button.active{background:#4A1C22!important;color:#fff!important}body.dark .risk circle,body.dark .sector-core circle{fill:#151515!important;stroke:#94a0b8!important}body.dark .risk text:not(.risk-label),body.dark .sector-core text{fill:#fff!important}body.dark .risk-label{fill:#fff!important;stroke:#101010!important}body.dark .sector-name{color:#bbb}body.dark .sector.active{background:#1A202C;border-color:#566071}body.dark .sector.active .sector-name{color:#fff}body.dark .sheet-head,body.dark .block-toggle b,body.dark .legend-num,body.dark .map-dot{background:#4A1C22;color:#fff}body.dark .risk-source,body.dark .custom-badge,body.dark .metric-value{background:#292929;color:#fff}
@media(max-width:900px){.hero{grid-template-columns:1fr}.cards.steps{grid-template-columns:repeat(2,1fr)}.intro-grid{grid-template-columns:1fr}.limit-card{min-width:0}.mapping-intro-head{display:block}}@media(max-width:600px){.cards.steps,.cards.actions{grid-template-columns:1fr}.hero{padding:45px 22px}.orbit-stage{height:330px}.ellipse.one{width:390px;height:210px}.ellipse.two{width:285px;height:285px}}

/* Four values: 5, 10, 15, 20 */.limit-switch.four{grid-template-columns:repeat(4,1fr)}
/* Source filter added between category and search */.library-filters{grid-template-columns:160px 170px 155px minmax(210px,1fr)}
/* Smaller, finer React network logo */.orbit-core{width:100px!important;height:88px!important;overflow:visible}.orbit-core #reactNetworkLogo{width:100%;height:100%}.react-network-logo{width:100%;height:100%;color:#fff;overflow:visible;filter:drop-shadow(0 7px 16px rgba(0,0,0,.35));will-change:transform}.react-network-logo .logo-lines{stroke-width:1.15;opacity:.78}.react-network-logo .logo-nodes circle{transform-box:fill-box;transform-origin:center;animation:nodePulse 4.8s ease-in-out infinite}.react-network-logo .logo-nodes circle:nth-child(3n){animation-delay:-1.6s}.react-network-logo .logo-nodes circle:nth-child(4n){animation-delay:-2.8s}@keyframes nodePulse{0%,100%{transform:scale(.92);opacity:.86}50%{transform:scale(1.08);opacity:1}}
/* Organic luminous elliptical rings, deliberately non-circular */.ellipse{border:0!important;background:transparent;filter:drop-shadow(0 0 7px rgba(201,169,166,.19))}.ellipse:before,.ellipse:after{content:"";position:absolute;inset:0;border-radius:47% 53% 50% 50% / 54% 46% 54% 46%;border:1px solid rgba(201,169,166,.38)}.ellipse:after{inset:5px;border-color:rgba(74,92,118,.26);border-radius:54% 46% 55% 45% / 47% 55% 45% 53%}.ellipse.one{width:500px;height:280px;animation:organicOrbitOne 31s linear infinite}.ellipse.two{width:390px;height:410px;animation:organicOrbitTwo 39s linear infinite reverse;filter:drop-shadow(0 0 8px rgba(74,92,118,.18))}@keyframes organicOrbitOne{0%{transform:translate(-50%,-50%) rotate(-21deg) scaleX(1)}50%{transform:translate(-50%,-50%) rotate(159deg) scaleX(.97)}100%{transform:translate(-50%,-50%) rotate(339deg) scaleX(1)}}@keyframes organicOrbitTwo{0%{transform:translate(-50%,-50%) rotate(16deg) scaleY(1)}50%{transform:translate(-50%,-50%) rotate(196deg) scaleY(.98)}100%{transform:translate(-50%,-50%) rotate(376deg) scaleY(1)}}
.custom-library-note{font-size:8px;color:#9da5b2;margin-top:5px}.risk-option .risk-source.custom{background:#4A1C22;color:#fff}
@media(max-width:1100px){.library-filters{grid-template-columns:1fr 1fr}.orbit-core{width:92px!important;height:82px!important}}@media(max-width:700px){.library-filters{grid-template-columns:1fr}.ellipse.one{width:390px;height:220px}.ellipse.two{width:290px;height:310px}}

/* Final landing orbit proportions */
.orbit-stage{height:360px}.ellipse.one{width:245px!important;height:126px!important}.ellipse.two{width:188px!important;height:204px!important}.orbit-core{width:100px!important;height:88px!important}
/* Restore the burgundy mouse interaction on landing cards */
.cards article{isolation:isolate;overflow:hidden}.cards article:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(74,28,34,.72),rgba(74,28,34,.2) 42%,transparent 72%);opacity:0;transition:opacity .2s ease;z-index:-1}.cards article:hover:before{opacity:1}.cards article:hover{border-color:#9a5962!important;box-shadow:0 18px 42px rgba(74,28,34,.38)!important}.cards article:hover p{color:#d8c9c7}
@media(max-width:600px){.orbit-stage{height:270px}.ellipse.one{width:220px!important;height:114px!important}.ellipse.two{width:170px!important;height:184px!important}}

/* Simplified React orbital logo replacing the former logo and ellipses */
.orbit-stage{height:390px;display:grid;place-items:center;overflow:visible}.orbit-stage>.ellipse,.orbit-stage>.orbit-core{display:none!important}#reactOrbitLogo{width:min(360px,86%);aspect-ratio:1;display:grid;place-items:center}.simple-orbit-logo{width:100%;height:100%;overflow:visible;color:#fff;will-change:transform}.simple-orbit-logo .orbit-ring{fill:none;stroke:currentColor;vector-effect:non-scaling-stroke}.simple-orbit-logo .ring-outer{opacity:.12;stroke-width:1}.simple-orbit-logo .ring-middle{opacity:.20;stroke-width:1}.simple-orbit-logo .ring-inner{opacity:.34;stroke-width:1.15}.simple-orbit-logo .ring-core{opacity:.62;stroke-width:1.25}.simple-orbit-logo .focus{fill:#fff}.simple-orbit-logo .focus-main{filter:drop-shadow(0 0 8px rgba(255,255,255,.9))}.simple-orbit-logo .satellite{filter:drop-shadow(0 0 2px rgba(255,255,255,.45))}@media(max-width:700px){.orbit-stage{height:300px}#reactOrbitLogo{width:min(285px,88%)}}


/* ===== Slideshow des fiches de risques + export deck ===== */
.sheets-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.sheets-view-switch{display:flex;border:1px solid #cfd5de;border-radius:10px;overflow:hidden}
.sheets-view-switch button{border:0;background:#fff;padding:8px 14px;font-size:11px;font-weight:700;cursor:pointer;color:#667085;letter-spacing:.03em}
.sheets-view-switch button.active{background:#34445b;color:#fff}
.sheets-slide-nav{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;color:#34445b}
.sheets-slide-nav button{border:1px solid #cfd5de;background:#fff;border-radius:8px;width:32px;height:32px;cursor:pointer;font-size:14px;display:grid;place-items:center;color:#34445b}
.sheets-slide-nav button:hover:not(:disabled){background:#f2f4f7}
.sheets-slide-nav button:disabled{opacity:.35;cursor:not-allowed}
.sheets-slide-nav #sheetCounter{min-width:52px;text-align:center}
.download-deck-btn{border:0;background:#8a4545;color:#fff;border-radius:10px;padding:9px 16px;font-size:11px;font-weight:700;letter-spacing:.03em;cursor:pointer;white-space:nowrap}
.download-deck-btn:hover{background:#753a3a}
.download-deck-btn:disabled{opacity:.6;cursor:not-allowed}

.risk-sheets.slideshow{position:relative;min-height:420px}
.risk-sheets.slideshow .risk-sheet{display:none;animation:sheetFadeIn .25s ease}
.risk-sheets.slideshow .risk-sheet.active-slide{display:block}
@keyframes sheetFadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

#riskSheetsSection:fullscreen{background:#fff;padding:24px;overflow:auto}
#riskSheetsSection:fullscreen .risk-sheets.slideshow{min-height:80vh}
