@micheeeeel/yinyangapp 3.0.1 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.css +1 -0
- package/dist/bundle.js +1 -2
- package/dist/types/adapters/yasuniCauseAdapter.d.ts +13 -2
- package/dist/types/adapters/yinYangAdapter.d.ts +7 -0
- package/dist/types/animations/AnimationsMngr.d.ts +69 -15
- package/dist/types/animations/FrameScheduler.d.ts +99 -0
- package/dist/types/animations/rotationMotion.d.ts +43 -0
- package/dist/types/api.d.ts +31 -3
- package/dist/types/benchmark/runner.d.ts +20 -0
- package/dist/types/benchmark/scenarios.d.ts +55 -6
- package/dist/types/components/controller/YinYangController.d.ts +109 -14
- package/dist/types/components/controller/action-stack/ActionStackController.d.ts +16 -1
- package/dist/types/components/controller/action-stack/ActionStackDragHandler.d.ts +4 -0
- package/dist/types/components/controller/action-stack/ActionStackManager.d.ts +13 -2
- package/dist/types/components/controller/action-stack/ActionStackState.d.ts +8 -5
- package/dist/types/components/controller/action-stack/StackFocusController.d.ts +8 -7
- package/dist/types/components/controller/action-stack/stackChromePalette.d.ts +20 -0
- package/dist/types/components/controller/actions/ActionProjectionService.d.ts +12 -1
- package/dist/types/components/controller/actions/ChildActionMenuController.d.ts +74 -32
- package/dist/types/components/controller/actions/KeyEventController.d.ts +78 -70
- package/dist/types/components/controller/actions/{CoreEventMenuController.d.ts → KeyEventMenuController.d.ts} +28 -33
- package/dist/types/components/controller/actions/radialItemMenu.d.ts +43 -5
- package/dist/types/components/controller/children/ChildInteractionController.d.ts +4 -0
- package/dist/types/components/controller/children/ChildrenBuilder.d.ts +19 -22
- package/dist/types/components/controller/children/ComponentSwitchCoordinator.d.ts +3 -1
- package/dist/types/components/controller/children/IdleFacettesController.d.ts +205 -0
- package/dist/types/components/controller/children/facetModulation.d.ts +49 -0
- package/dist/types/components/controller/children/idleTabLayout.d.ts +95 -0
- package/dist/types/components/controller/children/idleTabMorph.d.ts +45 -0
- package/dist/types/components/controller/children/signatureLook.d.ts +10 -0
- package/dist/types/components/controller/force-field/EventFieldLifecycleController.d.ts +14 -0
- package/dist/types/components/controller/force-field/EventFieldRenderer.d.ts +3 -3
- package/dist/types/components/controller/force-field/ForceFieldCanvasPainter.d.ts +99 -0
- package/dist/types/components/controller/force-field/ForceFieldComputationService.d.ts +9 -0
- package/dist/types/components/controller/force-field/ForceFieldDetailsPanel.d.ts +28 -57
- package/dist/types/components/controller/force-field/ForceFieldDetailsPresenter.d.ts +4 -1
- package/dist/types/components/controller/force-field/ForceFieldLifecycleController.d.ts +16 -1
- package/dist/types/components/controller/force-field/ForceFieldRenderer.d.ts +10 -18
- package/dist/types/components/controller/force-field/IncomingForceFieldService.d.ts +2 -2
- package/dist/types/components/controller/force-field/PropagationAnimator.d.ts +2 -0
- package/dist/types/components/controller/force-field/keyEventPresentation.d.ts +47 -0
- package/dist/types/components/controller/force-field/propagation-viz/PropagationCometPlayer.d.ts +4 -0
- package/dist/types/components/controller/force-field/propagation-viz/propagationVizLists.d.ts +4 -2
- package/dist/types/components/controller/force-field/propagation-viz/propagationVizModel.d.ts +1 -0
- package/dist/types/components/controller/force-field/shieldViewModel.d.ts +6 -2
- package/dist/types/components/controller/force-field/types.d.ts +2 -1
- package/dist/types/components/controller/labels/ChildScoresDeltaRenderer.d.ts +7 -0
- package/dist/types/components/controller/labels/ComponentTitlePresenter.d.ts +13 -0
- package/dist/types/components/controller/labels/ContextLabelsRenderer.d.ts +16 -0
- package/dist/types/components/controller/labels/WeightPreviewRingRenderer.d.ts +33 -0
- package/dist/types/components/controller/odd/ChildrenOrbitManager.d.ts +76 -25
- package/dist/types/components/controller/odd/OddHighlightEffects.d.ts +2 -0
- package/dist/types/components/controller/odd/OddViewManager.d.ts +7 -3
- package/dist/types/components/controller/odd/childHighlightStyles.d.ts +45 -3
- package/dist/types/components/controller/search/SearchPanelSynchronizer.d.ts +8 -5
- package/dist/types/components/controller/settings/ControllerSettingsApplier.d.ts +4 -4
- package/dist/types/components/controller/state/ControllerSession.d.ts +3 -3
- package/dist/types/components/controller/state/ControllerUiCallbacks.d.ts +10 -0
- package/dist/types/components/controller/state/YinYangControllerState.d.ts +20 -9
- package/dist/types/components/controller/types.d.ts +9 -2
- package/dist/types/components/controller/utils/actionCatalog.d.ts +1 -1
- package/dist/types/components/controller/utils/eventFieldTargets.d.ts +19 -13
- package/dist/types/components/controller/utils/keyEventPropagationContext.d.ts +4 -0
- package/dist/types/components/controller/utils/keyEventTargetBreakdowns.d.ts +4 -0
- package/dist/types/components/controller/utils/svgTransform.d.ts +16 -0
- package/dist/types/components/controls/ObstacleDemoControl.d.ts +3 -0
- package/dist/types/components/controls/VizControlsPanel.d.ts +3 -1
- package/dist/types/components/panel/PanelManager.d.ts +92 -22
- package/dist/types/components/search/GlobalSearchController.d.ts +13 -6
- package/dist/types/components/view/BorderDrawer.d.ts +40 -14
- package/dist/types/components/view/IdleTabGridDrawer.d.ts +15 -0
- package/dist/types/components/view/SpikeDrawer.d.ts +18 -0
- package/dist/types/components/view/ViewInitializer.d.ts +45 -7
- package/dist/types/components/view/YinYangDrawer.d.ts +132 -30
- package/dist/types/components/view/borderColorCycle.d.ts +76 -0
- package/dist/types/components/workspace/facetWeightRuleSetting.d.ts +10 -0
- package/dist/types/components/workspace/workspaceTemplate.d.ts +1 -1
- package/dist/types/config/animationConfig.d.ts +10 -1
- package/dist/types/data/activeDiagram.d.ts +6 -2
- package/dist/types/data/adverse-action-planner.d.ts +3 -3
- package/dist/types/data/amplifier-engine.d.ts +6 -6
- package/dist/types/data/contacts/demoObstacle.d.ts +3 -0
- package/dist/types/data/contacts/index.d.ts +3 -0
- package/dist/types/data/contacts/obstacleSignature.d.ts +56 -0
- package/dist/types/data/key-event-effects.d.ts +30 -0
- package/dist/types/data/key-event-eligibility.d.ts +24 -0
- package/dist/types/data/key-event-propagation.d.ts +13 -0
- package/dist/types/data/key-event-types.d.ts +48 -0
- package/dist/types/data/key-event-validation.d.ts +11 -0
- package/dist/types/data/stability-shield.d.ts +14 -0
- package/dist/types/data/yasuni_adverse_key_events.d.ts +1 -1
- package/dist/types/data/yasuni_cause.d.ts +7 -0
- package/dist/types/data/yasuni_key_events.d.ts +4 -60
- package/dist/types/interfaces/ICauseModel.d.ts +16 -1
- package/dist/types/interfaces/IGraphicsStrategy.d.ts +9 -2
- package/dist/types/interfaces/IPropagationGraph.d.ts +14 -0
- package/dist/types/interfaces/IViewData.d.ts +19 -3
- package/dist/types/interfaces/IYinYangController.d.ts +35 -7
- package/dist/types/interfaces/IYinYangInternalModel.d.ts +7 -0
- package/dist/types/main.d.ts +1 -1
- package/dist/types/utils/actionIconFit.d.ts +23 -0
- package/dist/types/utils/actionPropagation.d.ts +6 -4
- package/dist/types/utils/causeMetrics.d.ts +29 -11
- package/dist/types/utils/chainCardHeight.d.ts +87 -4
- package/dist/types/utils/collapseAnimation.d.ts +39 -0
- package/dist/types/utils/d3/D3GraphicsStrategy.d.ts +28 -5
- package/dist/types/utils/deltaChips.d.ts +0 -4
- package/dist/types/utils/exportControls.d.ts +8 -0
- package/dist/types/utils/facetWeightLabel.d.ts +6 -4
- package/dist/types/utils/facetteImages.d.ts +6 -0
- package/dist/types/utils/glowHalo.d.ts +74 -0
- package/dist/types/utils/hierBadge.d.ts +1 -1
- package/dist/types/utils/keyEventImages.d.ts +1 -1
- package/dist/types/utils/menuIconSize.d.ts +17 -0
- package/dist/types/utils/spreadAngles.d.ts +17 -0
- package/package.json +4 -1
- package/dist/bundle.js.LICENSE.txt +0 -1
package/dist/bundle.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*{box-sizing:border-box}body{background-color:#05070d;font-family:Arial,sans-serif;margin:0;overflow:hidden;padding:0}:root{--details-panel-width:50vw;--action-stack-column-width:calc(var(--details-panel-width)*0.35);--fs-7:clamp(7px,0.49vw,8.5px);--fs-8:clamp(8px,0.56vw,9.5px);--fs-8-5:clamp(8.5px,0.59vw,10px);--fs-9:clamp(9px,0.625vw,10.5px);--fs-9-5:clamp(9.5px,0.66vw,11px);--fs-10:clamp(10px,0.694vw,12px);--fs-10-5:clamp(10.5px,0.729vw,12.5px);--fs-11:clamp(11px,0.764vw,13px);--fs-11-5:clamp(11.5px,0.799vw,13.5px);--fs-12:clamp(12px,0.833vw,14px);--fs-13:clamp(13px,0.903vw,15px);--fs-14:clamp(14px,0.972vw,16px);--fs-15:clamp(15px,1.042vw,17.5px);--fs-16:clamp(16px,1.111vw,19px);--fs-18:clamp(18px,1.250vw,21px);--fs-20:clamp(20px,1.389vw,23px);--fs-26:clamp(26px,1.806vw,30px);--fs-28:clamp(28px,1.944vw,32px);--ff-card-width-collapsed:32px;--ff-card-width-expanded:220px;--ff-card-height-default:352px;--ff-card-image-ratio:1024/1450;--action-direct-bg:#0c183480;--action-direct-border:#4087d22e;--action-direct-accent:#4087d259;--action-propagated-bg:#102c1c73;--action-propagated-border:#34af782e;--action-propagated-accent:#34af7859;--action-keyevent-bg:#30240873;--action-keyevent-border:#e0a0302e;--action-keyevent-accent:#e0a03073}#global-search-results,.debug-panel-content,.ff-card-steps-overlay,.force-field-details-section,.gs-recherche-right,.gs-search-overlay-list,.gs-search-results,.gs-search-stack,.stack-nav-dropdown{scrollbar-gutter:stable}#global-search-results::-webkit-scrollbar,.debug-panel-content::-webkit-scrollbar,.ff-card-steps-overlay::-webkit-scrollbar,.ff-chain-rail::-webkit-scrollbar,.force-field-details-section::-webkit-scrollbar,.gs-recherche-right::-webkit-scrollbar,.gs-search-overlay-list::-webkit-scrollbar,.gs-search-results::-webkit-scrollbar,.gs-search-stack::-webkit-scrollbar,.stack-nav-dropdown::-webkit-scrollbar{height:4px;width:4px}.ff-card-body::-webkit-scrollbar{width:2px}#global-search-results::-webkit-scrollbar-track,.debug-panel-content::-webkit-scrollbar-track,.ff-card-body::-webkit-scrollbar-track,.ff-card-steps-overlay::-webkit-scrollbar-track,.ff-chain-rail::-webkit-scrollbar-track,.force-field-details-section::-webkit-scrollbar-track,.gs-recherche-right::-webkit-scrollbar-track,.gs-search-overlay-list::-webkit-scrollbar-track,.gs-search-results::-webkit-scrollbar-track,.gs-search-stack::-webkit-scrollbar-track,.stack-nav-dropdown::-webkit-scrollbar-track{background:#0000}#global-search-results::-webkit-scrollbar-thumb,.debug-panel-content::-webkit-scrollbar-thumb,.ff-card-steps-overlay::-webkit-scrollbar-thumb,.ff-chain-rail::-webkit-scrollbar-thumb,.force-field-details-section::-webkit-scrollbar-thumb,.gs-recherche-right::-webkit-scrollbar-thumb,.gs-search-overlay-list::-webkit-scrollbar-thumb,.gs-search-results::-webkit-scrollbar-thumb,.gs-search-stack::-webkit-scrollbar-thumb,.stack-nav-dropdown::-webkit-scrollbar-thumb{background:rgba(var(--mode-accent,120,150,190),.22);border-radius:2px}.ff-card-body::-webkit-scrollbar-thumb{background:#0000;border-radius:2px}#global-search-results:hover::-webkit-scrollbar-thumb,.debug-panel-content:hover::-webkit-scrollbar-thumb,.ff-card-body:hover::-webkit-scrollbar-thumb,.ff-card-steps-overlay:hover::-webkit-scrollbar-thumb,.ff-chain-rail:hover::-webkit-scrollbar-thumb,.force-field-details-section:hover::-webkit-scrollbar-thumb,.gs-recherche-right:hover::-webkit-scrollbar-thumb,.gs-search-overlay-list:hover::-webkit-scrollbar-thumb,.gs-search-results:hover::-webkit-scrollbar-thumb,.gs-search-stack:hover::-webkit-scrollbar-thumb,.stack-nav-dropdown:hover::-webkit-scrollbar-thumb{background:rgba(var(--mode-accent,120,150,190),.45)}#global-search-results::-webkit-scrollbar-thumb:hover,.debug-panel-content::-webkit-scrollbar-thumb:hover,.ff-card-body::-webkit-scrollbar-thumb:hover,.ff-card-steps-overlay::-webkit-scrollbar-thumb:hover,.ff-chain-rail::-webkit-scrollbar-thumb:hover,.force-field-details-section::-webkit-scrollbar-thumb:hover,.gs-recherche-right::-webkit-scrollbar-thumb:hover,.gs-search-overlay-list::-webkit-scrollbar-thumb:hover,.gs-search-results::-webkit-scrollbar-thumb:hover,.gs-search-stack::-webkit-scrollbar-thumb:hover,.stack-nav-dropdown::-webkit-scrollbar-thumb:hover{background:rgba(var(--mode-accent,120,150,190),.7)}@supports not selector(::-webkit-scrollbar){#global-search-results,.debug-panel-content,.ff-card-body,.ff-card-steps-overlay,.ff-chain-rail,.force-field-details-section,.gs-recherche-right,.gs-search-overlay-list,.gs-search-results,.gs-search-stack,.stack-nav-dropdown{scrollbar-color:rgba(var(--mode-accent,120,150,190),.3) #0000;scrollbar-width:thin}.ff-card-body:not(:hover){scrollbar-color:#0000 #0000}}.main-grid{gap:0;grid-template-rows:1fr;height:100vh;width:100vw}.format-row,.main-grid{display:grid;grid-template-columns:1fr;overflow:hidden}.format-row{background-color:#fff;border-bottom:2px solid #ddd;min-height:0;position:relative}.diagram-column{align-items:center;background-color:#05070d;display:flex;justify-content:center;overflow:hidden;position:relative}.component-title-container{align-items:flex-end;bottom:auto;display:flex;justify-content:flex-start;left:12px;opacity:1;padding:0;pointer-events:none;position:absolute;right:auto;top:10px;transition:opacity .22s ease;z-index:10}.component-title-container>div{pointer-events:none}.component-title-container :is([data-role=component-title-action-label],[data-role=component-title-facette],[data-role=component-title-satellite-label]){pointer-events:auto}.component-title-container.is-obstructed{opacity:.12}.component-title-container.is-obstructed [data-role]{pointer-events:none}.diagram-with-panel{--mode-tab-width:28px;--mode-switch-duration:420ms;--mode-switch-ease:cubic-bezier(0.65,0,0.35,1);--mode-recherche-accent:78,132,255;--mode-stack-accent:232,168,64;display:grid;grid-template-columns:var(--mode-tab-width) minmax(0,1fr) var(--details-panel-width);grid-template-rows:minmax(0,1fr);height:100%;min-height:0;overflow:hidden;position:relative;width:100%}.diagram-with-panel[data-mode=stack]{grid-template-columns:var(--details-panel-width) minmax(0,1fr) var(--mode-tab-width)}.diagram-with-panel.is-switching-mode{transition:grid-template-columns var(--mode-switch-duration) var(--mode-switch-ease)}.diagram-column{grid-column:2;grid-row:1}.mode-panel{grid-row:1;min-width:0}.mode-panel--stack{--mode-accent:var(--mode-stack-accent);border-left:none;border-right:1px solid #243047;grid-column:1}.mode-panel--recherche{--mode-accent:var(--mode-recherche-accent);grid-column:3}.mode-panel:before{background:rgba(var(--mode-accent),.55);bottom:0;content:"";pointer-events:none;position:absolute;top:0;width:2px;z-index:30}.mode-panel--stack:before{right:0}.mode-panel--recherche:before{left:0}.diagram-with-panel.is-switching-mode .mode-panel>.details-panel-content{flex:1 0 auto;width:var(--details-panel-width)}.diagram-with-panel.is-switching-mode .mode-panel--stack>.details-panel-content{align-self:flex-end}.diagram-with-panel.is-switching-mode .mode-panel--recherche>.details-panel-content{align-self:flex-start}.diagram-with-panel .mode-tab{align-items:center;background:#090f1a;border:none;bottom:0;color:rgba(var(--mode-accent),.75);cursor:pointer;display:flex;flex-direction:column;font-family:inherit;font-size:var(--fs-10-5);gap:10px;justify-content:center;letter-spacing:.2em;margin:0;opacity:0;padding:0;pointer-events:none;position:absolute;text-transform:uppercase;top:0;transition:opacity .12s ease,visibility 0s linear .12s,color .15s ease,background .15s ease,box-shadow .15s ease;visibility:hidden;width:var(--mode-tab-width);z-index:25}.mode-tab--stack{box-shadow:inset -2px 0 0 rgba(var(--mode-accent),.55);right:0}.mode-tab--recherche{box-shadow:inset 2px 0 0 rgba(var(--mode-accent),.55);left:0}.mode-tab-icon{flex-shrink:0;transition:transform .15s ease}.diagram-with-panel :is(.mode-tab:focus-visible,.mode-tab:hover) .mode-tab-icon{transform:scale(1.15)}.mode-tab-label{white-space:nowrap;writing-mode:vertical-rl}.mode-tab--stack .mode-tab-label{transform:rotate(180deg)}.diagram-with-panel[data-mode=recherche] .mode-tab--stack,.diagram-with-panel[data-mode=stack] .mode-tab--recherche{opacity:1;pointer-events:auto;transition:opacity .22s ease calc(var(--mode-switch-duration)*.55),visibility 0s linear 0s,color .15s ease,background .15s ease,box-shadow .15s ease;visibility:visible}.diagram-with-panel :is(.mode-tab:focus-visible,.mode-tab:hover){background:#0f1828;color:rgb(var(--mode-accent));outline:none}.diagram-with-panel :is(.mode-tab--stack:focus-visible,.mode-tab--stack:hover){box-shadow:inset -3px 0 0 rgb(var(--mode-accent)),6px 0 18px rgba(var(--mode-accent),.18)}.diagram-with-panel :is(.mode-tab--recherche:focus-visible,.mode-tab--recherche:hover){box-shadow:inset 3px 0 0 rgb(var(--mode-accent)),-6px 0 18px rgba(var(--mode-accent),.18)}.diagram-with-panel .mode-debug-btn{--mode-accent:var(--mode-recherche-accent);background:#090f1a;border:1px solid #2a3a58;border-radius:999px;bottom:10px;color:#6a7a99;cursor:pointer;font-family:inherit;font-size:var(--fs-9);letter-spacing:.08em;opacity:.6;padding:3px 9px;position:absolute;right:calc(var(--details-panel-width) + 12px);text-transform:uppercase;transition:opacity .15s ease,color .15s ease;z-index:26}.diagram-with-panel :is(.mode-debug-btn.ff-tab-active,.mode-debug-btn:hover){color:rgb(var(--mode-accent));opacity:1}:is(.diagram-with-panel.details-collapsed,.diagram-with-panel.is-maximized,.diagram-with-panel.is-switching-mode,.diagram-with-panel[data-mode=stack]) .mode-debug-btn{visibility:hidden}:is(.diagram-with-panel.details-collapsed,.diagram-with-panel.is-maximized,.diagram-with-panel.is-switching-mode,.diagram-with-panel.panels-closed) .mode-close-btn{display:none}.diagram-with-panel.panels-closed,.diagram-with-panel.panels-closed[data-mode=stack]{grid-template-columns:var(--mode-tab-width) minmax(0,1fr) var(--mode-tab-width)}.diagram-with-panel.panels-closed .mode-tab{opacity:1;pointer-events:auto;transition:opacity .22s ease calc(var(--mode-switch-duration)*.55),visibility 0s linear 0s,color .15s ease,background .15s ease,box-shadow .15s ease;visibility:visible}.diagram-with-panel.panels-closed :is(.layout-resizer-panel,.mode-debug-btn){pointer-events:none;visibility:hidden}.diagram-column .idle-arcs-btn{background:#090f1a;border:1px solid #2a3a58;border-radius:999px;bottom:10px;color:#6a7a99;cursor:pointer;font-family:inherit;font-size:var(--fs-9);left:12px;letter-spacing:.08em;opacity:.6;padding:3px 9px;position:absolute;text-transform:uppercase;transition:opacity .15s ease,color .15s ease;z-index:26}.diagram-column :is(.idle-arcs-btn:hover,.idle-arcs-btn[aria-pressed=true]){color:#c9d4ea;opacity:1}@media (prefers-reduced-motion:reduce){.diagram-with-panel .mode-tab,.diagram-with-panel.is-switching-mode{transition:none}}.diagram-column svg{display:block;max-height:100%;max-width:100%}.layout-resizer{position:absolute;touch-action:none;user-select:none;z-index:20}.layout-resizer:before{background:#4e84ff1f;border-radius:999px;content:"";inset:0;position:absolute;transition:background .15s ease,box-shadow .15s ease}.layout-resizer.is-active:before,.layout-resizer:hover:before{background:#4e84ff4d;box-shadow:0 0 0 1px #86b1ff73}.layout-resizer-horizontal{bottom:-5px;cursor:row-resize;height:10px;left:10px;right:10px}.layout-resizer-vertical{bottom:10px;cursor:col-resize;right:-5px;top:10px;width:10px}.layout-resizer-panel{--mode-accent:var(--mode-recherche-accent);left:auto;right:calc(var(--details-panel-width) - 5px);transition:opacity .15s ease;z-index:31}.diagram-with-panel[data-mode=stack] .layout-resizer-panel{--mode-accent:var(--mode-stack-accent);left:calc(var(--details-panel-width) - 5px);right:auto}.diagram-with-panel.is-switching-mode .layout-resizer-panel{opacity:0;pointer-events:none}.layout-resizer-panel:before{background:#0000;left:3px;right:3px}.layout-resizer-panel.is-active:before,.layout-resizer-panel:hover:before{background:rgba(var(--mode-accent),.45);box-shadow:0 0 10px rgba(var(--mode-accent),.35)}.layout-resizer-handle{align-items:stretch;background:#0d1320;border:1px solid rgba(var(--mode-accent),.55);border-radius:999px;box-shadow:0 2px 10px #00000073;color:rgba(var(--mode-accent),.8);display:flex;flex-direction:column;left:50%;overflow:hidden;position:absolute;top:50%;transform:translate(-50%,-50%);transition:border-color .15s ease,box-shadow .15s ease;width:22px}:is(.layout-resizer-panel.is-active,.layout-resizer-panel:hover) .layout-resizer-handle{border-color:rgb(var(--mode-accent));box-shadow:0 2px 10px #00000073,0 0 14px rgba(var(--mode-accent),.3)}.layout-resizer-handle .mode-close-btn{align-items:center;background:#0000;border:none;border-bottom:1px solid rgba(var(--mode-accent),.3);color:inherit;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;font-size:var(--fs-9);gap:6px;letter-spacing:.14em;padding:10px 0 8px;text-transform:uppercase;transition:color .15s ease,background .15s ease}.layout-resizer-handle :is(.mode-close-btn:focus-visible,.mode-close-btn:hover){background:rgba(var(--mode-accent),.14);color:rgb(var(--mode-accent));outline:none}.mode-close-icon{flex-shrink:0;transition:transform .15s ease}.mode-close-btn:hover .mode-close-icon{transform:translateX(2px)}.mode-close-label{white-space:nowrap;writing-mode:vertical-rl}.diagram-with-panel[data-mode=stack] .mode-close-icon{transform:scaleX(-1)}.diagram-with-panel[data-mode=stack] .mode-close-btn:hover .mode-close-icon{transform:scaleX(-1) translateX(2px)}.diagram-with-panel[data-mode=stack] .mode-close-label{transform:rotate(180deg)}.layout-resizer-grip{align-items:center;cursor:col-resize;display:flex;justify-content:center;padding:9px 0 10px;transition:color .15s ease,background .15s ease}:is(.layout-resizer-panel.is-active,.layout-resizer-panel:hover) .layout-resizer-grip{color:rgb(var(--mode-accent))}.layout-resizer-grip:hover,.layout-resizer-panel.is-active .layout-resizer-grip{background:rgba(var(--mode-accent),.14)}.layout-resizer-handle-icon{display:block;font-size:13px;line-height:1;user-select:none}.layout-resizer-handle-icon--restore,.layout-resizer-panel.is-maximized .layout-resizer-handle-icon--expand{display:none}.layout-resizer-panel.is-maximized .layout-resizer-handle-icon--restore{display:block}.diagram-with-panel.details-collapsed .layout-resizer-panel{opacity:0;pointer-events:none}.diagram-with-panel.is-animating-width{transition:grid-template-columns .22s ease}.diagram-with-panel.is-animating-width .layout-resizer-panel{transition:right .22s ease,left .22s ease}.diagram-with-panel.is-maximized{grid-template-columns:var(--mode-tab-width) 0 1fr!important}.diagram-with-panel.is-maximized[data-mode=stack]{grid-template-columns:1fr 0 var(--mode-tab-width)!important}.diagram-with-panel.is-maximized .layout-resizer-panel{right:9px}.diagram-with-panel.is-maximized[data-mode=stack] .layout-resizer-panel{left:9px;right:auto}body.layout-resizing,body.layout-resizing *{cursor:inherit!important;user-select:none!important}.diagram-with-panel.details-collapsed{grid-template-columns:0 minmax(0,1fr) 0!important}.diagram-with-panel.details-collapsed .force-field-details-panel{border-left:none;border-right:none;opacity:0;pointer-events:none}.diagram-with-panel.details-collapsed .mode-tab{pointer-events:none;visibility:hidden}.action-stack-column{background:#05070d;border-left:1px solid #1e2c45;grid-column:2;grid-row:1;min-height:0;overflow:visible;position:relative;z-index:2}.action-stack-svg{display:block;height:100%;overflow:visible;width:100%}.layout-resizer-action-stack{bottom:10px;cursor:col-resize;left:-5px;right:auto;top:10px;width:10px}.mode-panel--stack .layout-resizer:before{background:rgba(var(--mode-stack-accent),.12)}.mode-panel--stack .layout-resizer.is-active:before,.mode-panel--stack .layout-resizer:hover:before{background:rgba(var(--mode-stack-accent),.3);box-shadow:0 0 0 1px rgba(var(--mode-stack-accent),.45)}.diagram-with-panel.idle-tab-fullscreen[data-mode]{grid-template-columns:0 minmax(0,1fr) 0!important}.diagram-with-panel.idle-tab-fullscreen :is(.force-field-details-panel,.layout-resizer-panel,.mode-debug-btn){pointer-events:none}.diagram-with-panel.idle-tab-fullscreen :is(.layout-resizer-panel,.mode-debug-btn){visibility:hidden}.diagram-with-panel.idle-tab-fullscreen[data-mode] .mode-tab{opacity:0;pointer-events:none;transition:opacity .2s ease,visibility 0s linear .2s;visibility:hidden}.diagram-with-panel.idle-tab-fullscreen .diagram-column{box-sizing:border-box;padding-top:40px}.control-block{display:flex;flex-direction:column;gap:8px}.control-block label{color:#666;font-size:var(--fs-12);font-weight:700}.control-block input[type=range]{cursor:pointer;width:100%}.slider-value{color:#333;font-family:monospace;font-size:var(--fs-12);font-weight:700;text-align:right}.control-block-inline{align-items:center;display:flex;gap:10px}.control-block-inline label{color:#666;font-size:var(--fs-12);font-weight:700}.shared-control{align-items:center;display:flex;font-size:var(--fs-11);gap:6px}.shared-control label{color:#333;font-weight:700}.shared-control input[type=range]{width:100px}.shared-control span{font-family:monospace;min-width:30px}.shared-controls-group{background:#fafafa;border:1px solid #e2e2e2;border-radius:8px;display:flex;flex:1 1 220px;flex-direction:column;gap:8px;min-width:190px;padding:8px 10px}.shared-controls-title{color:#444;font-size:var(--fs-12);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.force-field-details-panel{background:#0d1320;border-left:1px solid #243047;color:#d9e5ff;display:flex;flex-direction:column;min-height:0;overflow:hidden;position:relative}.details-panel-content{display:grid;flex:1;grid-template-rows:minmax(0,1fr);min-height:0;overflow:hidden}.ff-panel-tab-pane{display:none;flex-direction:column;grid-column:1;grid-row:1;min-height:0;overflow:hidden}.ff-panel-tab-pane.ff-tab-active,.ff-panel-tab-pane.is-leaving{display:flex}.debug-panel-content{align-content:flex-start;display:flex;flex-wrap:wrap;gap:10px;overflow-y:auto;padding:12px}.debug-panel-btn{background-color:#1e2c45;border:1px solid #3a4a6b;border-radius:4px;color:#d9e5ff;cursor:pointer;font-family:inherit;font-size:var(--fs-10-5);font-weight:700;padding:8px 12px;text-align:left}.debug-panel-btn:hover{background-color:#2a3c5f}.debug-panel-btn:disabled{cursor:not-allowed;opacity:.45}.debug-panel-btn:disabled:hover{background-color:#1e2c45}#ff-tab-debug .debug-diagram-group{flex:1 1 100%}.debug-diagram-select{background-color:#1e2c45;border:1px solid #3a4a6b;border-radius:4px;color:#d9e5ff;cursor:pointer;font-family:inherit;font-size:var(--fs-12);padding:6px 8px;width:100%}.debug-diagram-select:disabled{cursor:not-allowed;opacity:.6}.debug-diagram-active{color:#8fa3c8;font-size:var(--fs-10-5)}.debug-diagram-active span{color:#d9e5ff;font-weight:700}#ff-tab-debug .shared-controls-group{background:#10192c;border:1px solid #243047;border-radius:8px;min-width:220px}#ff-tab-debug .shared-controls-title{color:#7ab8d8}#ff-tab-debug :is(.control-block,.control-block-inline,.shared-control) label{color:#b9c8e8}#ff-tab-debug .shared-control span,#ff-tab-debug .slider-value{color:#d9e5ff}#ff-tab-debug h3{color:#7ab8d8;font-size:var(--fs-16);font-weight:700;margin:0 0 10px}#ff-tab-debug .debug-component-info{background-color:#1e2c45;border-radius:4px;color:#b9c8e8;font-size:var(--fs-12);margin-bottom:10px;padding:8px;text-align:center}.ff-tab-badge{animation:ff-badge-pulse 2s ease-in-out infinite;background:rgb(var(--mode-accent,58,154,191));border-radius:50%;display:inline-block;height:6px;width:6px}@keyframes ff-badge-pulse{0%,to{opacity:1}50%{opacity:.35}}#ff-tab-recherche{flex:1;min-height:0;overflow:hidden}.gs-search-stack{gap:12px;height:100%;overflow-y:auto}.layout-resizer-recherche-context{display:none!important}.gs-recherche-context-panel{background:#0a1020;border-top:1px solid #1e2c45;display:flex;flex:0 0 auto;flex-direction:column;height:var(--gs-recherche-context-height,280px);min-height:0;overflow:hidden;position:relative;transition:height .18s ease}.gs-recherche-context-panel--collapsed{height:36px!important}.gs-recherche-context-panel--primary{border-top:none}.gs-recherche-context-panel--primary>.gs-recherche-layout{flex:1 1 0;height:auto;min-height:0}.gs-recherche-context-header{align-items:center;background:#090f1a;border-bottom:1px solid #1e2c45;color:#7ab8d8;cursor:pointer;display:flex;flex-shrink:0;font-size:var(--fs-10);justify-content:space-between;letter-spacing:.08em;min-height:40px;padding:0 0 0 12px;text-transform:uppercase;user-select:none}.gs-recherche-context-header:hover{background:#0d1526}.gs-context-title-name{color:#c8d8f8;font-weight:700;letter-spacing:.04em}.gs-state-chip{align-items:baseline;background:#ffffff12;border:1px solid #ffffff29;border-radius:20px;display:inline-flex;font-family:monospace;gap:1px;letter-spacing:normal;padding:1px 7px 2px;text-transform:none;vertical-align:middle}.gs-state-chip-value{color:#f4f8ff;font-size:var(--fs-10);font-weight:700}.gs-state-chip-suffix{color:#8098bc;font-size:var(--fs-8-5);font-weight:400}.gs-weight-chip-icon{font-size:var(--fs-9);opacity:.75}.gs-context-title-rationale{color:#4e7096;font-style:italic;font-weight:400;letter-spacing:.02em;opacity:.9;text-transform:none}.gs-context-title--empty{color:#3a5472;font-style:italic;font-weight:400;letter-spacing:.04em}.gs-recherche-context-panel--master{border-left:4px solid #5ab8e8;box-shadow:inset 0 0 0 1px #5ab8e88c,0 0 16px #5ab8e838}.gs-recherche-context-panel--master>.gs-recherche-context-header{background:linear-gradient(90deg,#143049,#0c1c2e);border-bottom:1px solid #5ab8e8bf;box-shadow:inset 3px 0 10px #5ab8e829;color:#7ac8e8}.gs-recherche-context-panel--master>.gs-recherche-context-header:hover{background:linear-gradient(90deg,#1a3a56,#0f2236)}.gs-recherche-context-panel--master>.gs-recherche-context-header>.gs-recherche-context-header-actions:before{align-self:center;background:#5ab8e829;border:1px solid #5ab8e8b3;border-radius:10px;color:#a8e0ff;content:"Pilote";font-size:10px;font-weight:600;letter-spacing:.08em;margin-right:10px;padding:2px 8px;text-transform:uppercase;white-space:nowrap}.gs-recherche-context-panel--master>.gs-recherche-context-header .gs-context-title-name{color:#a8e0ff}.gs-recherche-context-panel--locked>.gs-recherche-context-header{background:#070d1a;border-bottom-color:#408cc84d;color:#6aaccc}.gs-panel-lock-btn{align-items:center;background:#0f1728;border:none;border-left:1px solid #1e2c45;border-radius:0;color:#4e7096;cursor:pointer;display:flex;flex-shrink:0;height:100%;justify-content:center;transition:color .15s,background .15s,border-color .15s;width:62px}.gs-panel-lock-btn svg{display:block;flex-shrink:0}.gs-panel-lock-btn:hover{background:#142033;border-color:#7ab8d866;color:#7ab8d8}.gs-panel-lock-btn--locked{background:#0a1525;border-color:#408cc880;color:#6aaccc}.gs-panel-lock-btn--locked:hover{background:#0d1c30;color:#8bc8e8}.gs-recherche-context-panel--actions-locked .gs-tree-row--action{cursor:not-allowed;opacity:.4}.gs-action-lock-notice{align-items:center;animation:gs-action-lock-notice-in .18s ease-out;background:#0a1525;border:1px solid #408cc880;border-radius:6px;box-shadow:0 6px 18px #00000073;color:#a8d4ec;display:flex;font-size:12px;gap:12px;left:50%;line-height:1.35;max-width:calc(100% - 24px);padding:8px 8px 8px 14px;position:absolute;top:46px;transform:translateX(-50%);z-index:20}.gs-action-lock-notice-btn{background:#142033;border:1px solid #7ab8d880;border-radius:4px;color:#a8e0ff;cursor:pointer;flex-shrink:0;font:inherit;padding:5px 10px}.gs-action-lock-notice-btn:hover{background:#1b2c45}.gs-action-lock-notice--anchored{animation:none;left:auto;max-width:min(420px,calc(100vw - 16px));position:fixed;transform:none;z-index:1000}.gs-panel-lock-btn--blocked{cursor:not-allowed;opacity:.4}@keyframes gs-action-lock-notice-in{0%{opacity:0;transform:translate(-50%,-4px)}}.gs-panel-nav-btn{align-items:center;background:#0f1728;border:none;border-left:1px solid #1e2c45;border-radius:0;color:#4e7096;cursor:pointer;display:flex;flex-shrink:0;height:100%;justify-content:center;padding:0;transition:color .15s,background .15s,border-color .15s;width:62px}.gs-panel-nav-btn:hover:not(:disabled){background:#142033;border-color:#7ab8d866;color:#7ab8d8}.gs-panel-nav-btn:disabled{cursor:default;opacity:.42}.gs-recherche-context-header-actions{align-items:stretch;align-self:stretch;display:flex;flex-shrink:0;gap:0}.gs-recherche-context-header-actions .gs-panel-lock-btn{margin-left:4px}.gs-recherche-layout{display:grid;grid-template-columns:var(--gs-recherche-left-width,260px) minmax(0,1fr);height:100%;min-height:0;overflow:hidden;width:100%}.gs-recherche-layout--context{border-top:1px solid #1a2840;height:100%;min-height:0}.gs-recherche-left{background:#090f1a;border-right:1px solid #1a2840;overflow:hidden;position:relative}.gs-recherche-left,.gs-recherche-right{display:flex;flex-direction:column;min-height:0}.gs-recherche-right{background:#0a1020;overflow-y:auto}.layout-resizer-recherche-left{bottom:10px;cursor:col-resize;left:auto;right:-5px;top:10px;width:10px}.gs-detail-placeholder{color:#4a6070;font-size:var(--fs-11);font-style:italic;opacity:.75;padding:28px 16px;text-align:center}.gs-detail-placeholder:has(.ff-sphere-intro){font-style:normal;opacity:1;padding:0;text-align:left}.gs-detail-desc-section{background:#08102299;border-bottom:1px solid #1a2840;flex-shrink:0;padding:10px 12px}.gs-detail-desc-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 5px}.gs-detail-desc-title{color:#c8d8f8;font-size:var(--fs-12);font-weight:700;line-height:1.3;margin:0;overflow-wrap:anywhere}.gs-detail-desc-text{color:#6a8aaa;font-size:var(--fs-10-5);font-style:italic;line-height:1.5}.gs-detail-desc-section:has(.gs-detail-desc-toggle){padding-right:32px}.gs-detail-desc-toggle{align-items:center;background:#0000;border:1px solid #78aae633;border-radius:6px;color:#4a7aa8;cursor:pointer;display:inline-flex;font-size:var(--fs-10-5);font-style:normal;height:18px;justify-content:center;line-height:1;padding:0;position:absolute;right:6px;top:6px;width:20px}.gs-detail-desc-toggle:hover{border-color:#8cbeff73;color:#7db0e8}.gs-detail-desc-section{position:relative}.gs-detail-fold-btn{align-items:center;background:#0000;border:1px solid #78aae633;border-radius:6px;color:#4a7aa8;cursor:pointer;display:none;font-size:var(--fs-10-5);height:18px;justify-content:center;line-height:1;padding:0;position:absolute;right:6px;top:6px;width:20px}.gs-detail-fold-btn:hover{border-color:#8cbeff73;color:#7db0e8}.gs-detail-desc--foldable{padding-right:32px}.gs-detail-desc--foldable .gs-detail-desc-toggle{display:none}.gs-detail-desc--foldable .gs-detail-fold-btn{display:inline-flex}.gs-detail-desc--folded{padding-bottom:6px;padding-top:6px}.gs-detail-desc--folded .gs-detail-desc-text:not([hidden]){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;line-clamp:1;overflow:hidden}.gs-detail-desc--folded .odd-legend{display:none}:is([data-density=compact],[data-density=reduced]) .ff-card-thumb{object-fit:cover;object-position:top}.gs-detail-block-section{border-top:1px solid #1a2840;flex-shrink:0;padding:0}.gs-detail-block-label{align-items:center;background:#080e1abf;border-bottom:1px solid #1a2840;display:flex;flex-shrink:0;gap:6px;padding:5px 10px}.gs-recherche-right .gs-cutting-impact-block{flex-shrink:0;margin:0;max-height:none!important;opacity:0;padding:8px 10px;transition:opacity .2s ease}.gs-recherche-right .gs-cutting-impact-block.gs-block-open{opacity:1;padding-right:28px}#ff-tab-stack{flex:1;min-height:0;overflow:hidden}.stack-nav-header{align-items:stretch;background:#090f1a;border-bottom:1px solid #1e2c45;display:flex;flex-shrink:0;min-height:40px;position:relative;transition:box-shadow .25s}.stack-nav-chip{align-items:center;background:#0000;border:none;color:#7ab8d8;cursor:pointer;display:flex;flex:1;font-size:var(--fs-10);gap:9px;letter-spacing:.08em;min-width:0;padding:0 12px;text-align:left;text-transform:uppercase;transition:background .1s}.stack-nav-chip:hover{background:#ffffff08}.stack-nav-chip[aria-expanded=true]{background:#ffffff0d}.stack-nav-chip--active:hover{background:#ffffff0a}.stack-nav-chip-dot{background:#0000;border:1px solid #2a4a6a;border-radius:50%;flex-shrink:0;height:10px;transition:width .15s,height .15s,box-shadow .2s;width:10px}.stack-nav-chip--active .stack-nav-chip-dot{border:none;height:14px;width:14px}.stack-nav-chip-label{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stack-nav-chip-state{align-items:center;display:flex;flex-shrink:0;gap:4px}.stack-nav-chip-chevron{flex-shrink:0;font-size:var(--fs-9);margin-left:auto;opacity:.3;transition:opacity .15s}.stack-nav-chip--active .stack-nav-chip-chevron{opacity:.55}.stack-nav-btns{align-items:stretch;display:flex;flex-shrink:0}.stack-nav-dropdown{background:#0a1020;border:1px solid #1e2c45;box-shadow:0 8px 32px #0009;max-height:55vh;overflow-y:auto;position:fixed;z-index:1000}.gs-stack-layout{flex:1;grid-template-columns:minmax(0,1fr) var(--action-stack-column-width);width:100%}.gs-stack-layout,.stack-analysis-col{display:grid;min-height:0;overflow:hidden}.stack-analysis-col{background:#0d1320;grid-column:1;grid-row:1;grid-template-rows:auto minmax(0,1fr)}.mode-panel--stack{--stack-line:#3a2f1e;--stack-text:#e8c07a;--stack-text-muted:#8a7a60;--stack-text-hover:#f2d49c;--stack-accent-strong:#c8902e}.mode-panel--stack :is(.ff-panel-subtabs,.stack-nav-header){border-bottom-color:var(--stack-line)}.mode-panel--stack .stack-nav-chip{color:var(--stack-text)}.mode-panel--stack .stack-nav-chip-dot{border-color:#6a5028}.mode-panel--stack .gs-panel-nav-btn{border-left-color:var(--stack-line);color:#96753f}.mode-panel--stack .gs-panel-nav-btn:hover:not(:disabled){background:#1f1a12;border-color:#e8a84066;color:var(--stack-text)}.mode-panel--stack .ff-subtab-btn{color:var(--stack-text-muted)}.mode-panel--stack .ff-subtab-btn:hover{color:var(--stack-text-hover)}.mode-panel--stack .ff-subtab-btn.ff-subtab-active{border-bottom-color:var(--stack-accent-strong);color:var(--stack-text)}.mode-panel--stack .action-stack-column{border-left-color:var(--stack-line)}.stack-nav-dropdown{border-color:#3a2f1e}.ff-panel-subtabs{background:#090f1a;border-bottom:1px solid #1e2c45;display:flex;flex-shrink:0}.ff-subtab-btn{background:none;border:none;border-bottom:2px solid #0000;color:#5a6a88;cursor:pointer;font-family:inherit;font-size:var(--fs-10);letter-spacing:.06em;padding:6px 12px 4px;text-transform:uppercase;transition:color .15s}.ff-subtab-btn:hover{color:#9fb3d8}.ff-subtab-btn.ff-subtab-active{border-bottom-color:#3a7abf;color:#7ab8d8}.ff-panel-subtab-pane{display:none;flex-direction:column;min-height:0;overflow:hidden}.ff-panel-subtab-pane.ff-subtab-active{display:flex}.force-field-details-section{flex:1;font-size:var(--fs-12);min-height:0;overflow-y:auto;padding:12px;padding-right:8px}.force-field-details-panel h4{color:#fff;font-size:var(--fs-13);margin:0 0 10px}.ff-action-header{border-bottom:1px solid #1e2c45;margin:0 0 12px;padding-bottom:9px}.ff-action-eyebrow{color:#3a6a99;font-size:var(--fs-9);font-weight:700;letter-spacing:.12em;margin-right:4px;text-transform:uppercase}.ff-action-name{color:#c8d8f8;font-size:var(--fs-14);font-weight:700;line-height:1.25;overflow-wrap:anywhere}.ff-cumulative-total-wrap{margin-top:10px;padding:8px 4px 2px}.ff-cumulative-total-label{color:#6d89ad;font-size:var(--fs-9);letter-spacing:.11em;margin-bottom:5px;text-transform:uppercase}.ff-cumulative-total-bar{border-top:2px solid #4e6f98;box-shadow:0 1px 0 #ffffff14;height:0}.ff-cumulative-total-value{font-family:monospace;font-size:var(--fs-28);font-weight:700;line-height:1;margin-top:6px;text-align:right;text-shadow:0 0 8px #00000059}.ff-cumulative-total-optimization{color:#c4d8ff;font-size:var(--fs-11);font-weight:700;letter-spacing:.03em;margin-top:8px;text-align:right}.ff-cumulative-total-optimization-value{color:#8bc7ff;font-size:var(--fs-20);margin-left:4px;text-shadow:0 0 10px #5daaff59}.ff-cumulative-total-optimization-unit{color:#8bc7ff;font-size:var(--fs-13);margin-left:1px}.ff-cumulative-total-optimization-value.ff-delta-pos{text-shadow:0 0 10px #8ef2b459}.ff-cumulative-total-optimization-value.ff-delta-neg{text-shadow:0 0 10px #f28e8e59}.ff-cumulative-total-optimization-value.ff-delta-neu{text-shadow:0 0 10px #7ab8d84d}.ff-cumulative-weight-row{align-items:baseline;border-top:1px dashed #c8962880;display:flex;gap:8px;justify-content:flex-end;margin-top:10px;padding-top:10px}.ff-cumulative-weight-label{color:#d8b878;font-size:var(--fs-9);letter-spacing:.11em;margin-right:auto;text-transform:uppercase}.ff-cumulative-weight-value{color:#f5c860;font-family:monospace;font-size:var(--fs-20);font-weight:700;line-height:1;text-shadow:0 0 8px #c8962859}.ff-info-strip{background:linear-gradient(100deg,#0c182ceb,#08101ef7);border:1px solid #1e3460;border-left:3px solid #3a7abf;border-radius:5px;box-shadow:0 2px 10px #0000004d,inset 0 1px 0 #3a7abf14;display:flex;flex-direction:column;gap:0;margin:0 0 12px;padding:10px 12px;position:relative}.ff-info-strip-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px;min-width:0}.ff-info-strip-badge{background:#3a7abf2e;border:1px solid #3a7abf59;border-radius:20px;color:#5a9fd4;display:inline-block;flex-shrink:0;font-size:var(--fs-8-5);font-weight:700;letter-spacing:.14em;padding:1px 7px 2px;text-transform:uppercase}.ff-info-strip-badge.ff-info-strip-direct{background:#30a0702e;border-color:#30a07059;color:#4dbb8a}.ff-info-strip-action-name{color:#c4daf5;flex:1;font-size:var(--fs-12);font-weight:700;line-height:1.25;min-width:0;overflow-wrap:anywhere}.ff-def-disclosure{margin-top:8px}.ff-def-disclosure>summary{align-items:baseline;cursor:pointer;display:flex;gap:6px;list-style:none;user-select:none}.ff-def-disclosure>summary:after{color:#3a6a99;content:"▸";flex-shrink:0;font-size:var(--fs-8);margin-left:2px}.ff-def-disclosure[open]>summary:after{content:"▾"}.ff-def-label{color:#3d5e82;flex-shrink:0;font-size:var(--fs-8-5);font-weight:700;letter-spacing:.1em;text-transform:uppercase}.ff-def-preview{color:#5a7a9a;flex:1;font-size:var(--fs-9-5);font-style:italic;font-weight:400;letter-spacing:0;min-width:0;overflow:hidden;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.ff-def-text{color:#6a8aaa;font-size:var(--fs-11);font-style:italic;line-height:1.4;margin:6px 0 0}.ff-info-strip dl{display:flex;flex-direction:column;gap:4px;margin:0;padding:0}.ff-info-row{align-items:baseline;display:flex;gap:6px;min-width:0}.ff-info-row dt{color:#3d5e82;flex-shrink:0;font-size:var(--fs-8-5);font-weight:700;letter-spacing:.1em;padding-top:1px;text-transform:uppercase;width:70px}.ff-info-row dd{color:#8aadcc;flex:1;font-size:var(--fs-11);line-height:1.35;margin:0;min-width:0;overflow-wrap:anywhere}.ff-info-action{color:#c4daf5!important;font-size:var(--fs-11-5)!important;font-weight:700}.ff-info-row-def dd{color:#6a8aaa;font-style:italic}.ff-meta-panel{display:flex;flex-direction:column;gap:8px;margin:8px 0 12px}.ff-meta-item{background:linear-gradient(90deg,#182c44a6,#0b1422cc);border-left:3px solid #4a6f97;border-radius:4px;min-width:0;padding:6px 8px 7px}.ff-meta-label{color:#5d7ea1;font-size:var(--fs-9);font-weight:700;letter-spacing:.11em;margin-bottom:2px;text-transform:uppercase}.ff-meta-action-name{color:#d4e8ff;font-size:var(--fs-11);font-weight:600;letter-spacing:.04em;text-transform:none}.ff-meta-value{color:#a9bed4;font-size:var(--fs-11);line-height:1.35;overflow-wrap:anywhere}.force-field-detail-line{line-height:1.35;margin-bottom:8px;overflow-wrap:anywhere}.force-field-detail-result{border-top:1px solid #2f3b55;color:#8ef2b4;font-size:var(--fs-13);margin-top:12px;padding-top:8px}.force-field-detail-empty{color:#9fb3d8;line-height:1.4}.ff-panel-hint{background:#1e46782e;border-left:2px solid #50a0ff59;border-radius:0 4px 4px 0;color:#9dc8e8;font-size:var(--fs-10-5);font-style:italic;line-height:1.55;margin:12px 0 0;padding:7px 10px}.gs-hier-dot{border-radius:50%;display:inline-block;height:8px;width:8px}.gs-hier-dot,.gs-item-icon{flex-shrink:0;vertical-align:middle}.gs-item-icon{display:inline-flex}.gs-item-icon img{display:block;height:16px;object-fit:contain;width:16px}.ke-medallion{border-radius:50%;flex-shrink:0;height:20px;position:relative;width:20px}.ke-medallion:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='29' fill='%23171009'/%3E%3Ccircle cx='32' cy='32' r='29' fill='none' stroke='%23ffc870' stroke-width='2.5'/%3E%3CclipPath id='a'%3E%3Ccircle cx='32' cy='32' r='26.5'/%3E%3C/clipPath%3E%3Cg fill='%23ffc870' clip-path='url(%23a)'%3E%3Ccircle cx='32' cy='32' r='26.5' opacity='.1'/%3E%3Cpath d='M32 5.5a26.5 26.5 0 0 1 0 53A13.25 13.25 0 0 1 32 32a13.25 13.25 0 0 0 0-26.5' opacity='.26'/%3E%3Ccircle cx='32' cy='18.75' r='3.7' opacity='.14'/%3E%3Ccircle cx='32' cy='45.25' r='3.7' opacity='.26'/%3E%3C/g%3E%3C/svg%3E");background-size:100% 100%;border-radius:50%;content:"";inset:0;pointer-events:none;position:absolute}.ke-medallion img{display:block;height:62%!important;inset:0;margin:auto;object-fit:contain;position:absolute;width:62%!important}.ff-hier-badge{border-radius:20px;display:inline-block;flex-shrink:0;font-size:var(--fs-8-5);font-weight:700;letter-spacing:.12em;padding:1px 7px 2px;text-transform:uppercase;vertical-align:middle;white-space:nowrap}.ff-hier-badge--d0{background:#1ea0642e;border:1px solid #1ea06461;color:#50e0a0}.ff-hier-badge--d1{background:#a064dc2e;border:1px solid #a064dc61;color:#c090f5}.ff-hier-badge--d2{background:#3cb4dc2e;border:1px solid #3cb4dc59;color:#6dd5f5}.ff-hier-badge--d3{background:#c896282e;border:1px solid #c8962861;color:#f5c860}.ff-hier-badge--action-direct{background:#30a07047;border:1px solid #34af7899;color:#5dd99c}.ff-hier-badge--action-direct,.ff-hier-badge--action-prop{font-size:var(--fs-9);line-height:1.3;overflow-wrap:break-word;text-align:center;white-space:normal}.ff-hier-badge--action-prop{background:#3a7abf40;border:1px solid #4087d28c;color:#72b3e8}.ff-hier-badge--keyevent{background:#e0a03038;border:1px solid #e0a03080;color:#e0a030;font-size:var(--fs-9);line-height:1.3;overflow-wrap:break-word;text-align:center;white-space:normal}.ff-scope-inter-odd{background:#3a7abf14;border-radius:4px;box-shadow:inset 2px 0 0 0 #3a7abf}.ff-scope-inter-odd[data-row-idx]:hover{background:#3a7abf29}.ff-scope-inter-facette{background:#c0703014;border-radius:4px;box-shadow:inset 2px 0 0 0 #c07030}.ff-scope-inter-facette[data-row-idx]:hover{background:#c0703029}.ff-pviz-step.ff-scope-inter-odd .ff-step-label-group:before{color:#3a7abf}.ff-pviz-step.ff-scope-inter-odd[data-pviz]:hover .ff-step-label-group:before{color:#7ab8d8}.ff-pviz-step.ff-scope-inter-facette .ff-step-label-group:before{color:#c07030}.ff-pviz-step.ff-scope-inter-facette[data-pviz]:hover .ff-step-label-group:before{color:#e0a060}.ff-action-body{display:none}.ff-action-expanded .ff-action-body{display:block}.ff-action-desc{color:#b4d2fab3;font-size:var(--fs-11);margin:4px 10px 6px}.ff-action-desc.ff-hier-desc{margin-left:6px}[data-desc-folded] .ff-action-body>.ff-action-desc:not(.ff-action-origin){cursor:pointer}[data-desc-folded] .ff-action-body>.ff-action-desc:not(.ff-action-origin):not(.ff-action-desc--open){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;line-clamp:1;overflow:hidden}.ff-cumulative-block{border-bottom:none;border-radius:5px;margin-bottom:6px;margin-left:6px;margin-right:6px;overflow:hidden;padding-bottom:0}.ff-cumulative-block--direct{background:var(--action-direct-bg);border:1px solid var(--action-direct-border)}.ff-cumulative-block--prop{background:var(--action-propagated-bg);border:1px solid var(--action-propagated-border)}.ff-cumulative-block--keyevent{background:var(--action-keyevent-bg);border:1px solid var(--action-keyevent-border)}.ff-cumulative-block--keyevent-active{border-color:var(--action-keyevent-accent);box-shadow:0 0 0 1px var(--action-keyevent-accent)}.ff-cumulative-block--keyevent-inactive{opacity:.65}.ff-cumulative-block.ff-block--focused{border-left:3px solid var(--item-color,#ffffffb3);box-shadow:inset 0 0 18px 0 color-mix(in srgb,var(--item-color,#fff) 12%,#0000)}.ff-cumulative-block.ff-block--focused>.ff-block-header{background:color-mix(in srgb,var(--item-color,#fff) 10%,#080e1e8c)}.ff-cumulative-block.ff-block--selected{border-color:var(--item-color,#ffffffb3);box-shadow:0 0 0 1px color-mix(in srgb,var(--item-color,#fff) 60%,#0000),inset 0 0 14px 0 color-mix(in srgb,var(--item-color,#fff) 8%,#0000)}.ff-cumulative-block.ff-block--linked-hover{border-color:var(--item-color,#ffffff80);box-shadow:0 0 0 1px var(--item-color,#ffffff4d),inset 0 0 14px 0 color-mix(in srgb,var(--item-color,#fff) 8%,#0000);transition:border-color .12s ease,box-shadow .12s ease}.ff-cumulative-block.ff-block--focus-flash{animation:ff-block-focus-pulse 1.6s ease-out 1;border-color:var(--item-color,#ffffffb3)}@keyframes ff-block-focus-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--item-color,#fff) 90%,#0000),0 0 0 0 color-mix(in srgb,var(--item-color,#fff) 40%,#0000),inset 0 0 0 0 #0000}15%{box-shadow:0 0 0 2px color-mix(in srgb,var(--item-color,#fff) 95%,#0000),0 0 22px 6px color-mix(in srgb,var(--item-color,#fff) 55%,#0000),inset 0 0 28px 0 color-mix(in srgb,var(--item-color,#fff) 22%,#0000)}45%{box-shadow:0 0 0 2px color-mix(in srgb,var(--item-color,#fff) 80%,#0000),0 0 14px 3px color-mix(in srgb,var(--item-color,#fff) 35%,#0000),inset 0 0 20px 0 color-mix(in srgb,var(--item-color,#fff) 16%,#0000)}65%{box-shadow:0 0 0 2px color-mix(in srgb,var(--item-color,#fff) 95%,#0000),0 0 18px 5px color-mix(in srgb,var(--item-color,#fff) 45%,#0000),inset 0 0 24px 0 color-mix(in srgb,var(--item-color,#fff) 18%,#0000)}to{box-shadow:0 0 0 1px color-mix(in srgb,var(--item-color,#fff) 60%,#0000),0 0 0 0 #0000,inset 0 0 14px 0 color-mix(in srgb,var(--item-color,#fff) 8%,#0000)}}@media (prefers-reduced-motion:reduce){.ff-cumulative-block.ff-block--focus-flash{animation:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--item-color,#fff) 90%,#0000),inset 0 0 20px 0 color-mix(in srgb,var(--item-color,#fff) 16%,#0000)}}.ff-block-header{align-items:center;background:#080e1e8c;border-bottom:1px solid #0000;cursor:pointer;display:flex;gap:8px;min-height:36px;padding:0 10px;transition:background .15s ease,border-color .15s ease;user-select:none}.ff-block-header:hover{background:#14203cb3}.ff-action-expanded .ff-block-header{border-bottom-color:#ffffff12}.ff-block-header-icon{flex-shrink:0;font-size:var(--fs-14);line-height:1}.ff-block-header-icon img{display:block;height:16px;object-fit:contain;width:16px}.ff-block-header-text{display:flex;flex:1;flex-direction:column;gap:1px;min-width:0;padding:6px 0}.ff-block-header-name{color:#c8d8f8;font-size:var(--fs-12);font-weight:600}.ff-block-header-name,.ff-block-header-rationale{line-height:1.3;overflow-wrap:anywhere;white-space:normal}.ff-block-header-rationale{color:#96b4dcb3;font-size:var(--fs-11);font-style:italic}.ff-block-header-rationale:before{content:"↳ ";font-style:normal;opacity:.8}.ff-action-origin{color:#f28e8e;font-style:italic;margin-bottom:0}.ff-block-header-delta{flex-shrink:0;font-size:var(--fs-11);font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.ff-block-header-perf{flex-shrink:0;font-size:var(--fs-10);font-variant-numeric:tabular-nums;opacity:.75;white-space:nowrap}.ff-block-chevron{border-radius:4px;color:#96b4dc73;flex-shrink:0;font-size:var(--fs-10);margin-right:-4px;padding:6px 4px 6px 8px;transition:transform .2s ease,color .15s ease,background .15s ease}.ff-block-chevron:hover{background:#78aaff24;color:#c8e1fff2}.ff-cumulative-block:not(.ff-action-expanded) .ff-block-chevron{transform:rotate(-90deg)}.ff-hier-desc{color:#8aaac8;font-size:var(--fs-11);font-style:italic;line-height:1.5;margin:6px 0 2px}:is(.ff-hier-desc,.ff-sphere-intro-desc) strong{color:#c0d8f0;font-style:normal;font-weight:600}.ff-sphere-intro{background:#0c241c8c;border-left:3px solid #1ea06499;border-radius:0 5px 5px 0;padding:10px 12px 14px}.ff-sphere-intro-desc{color:#6aaa8a;font-size:var(--fs-12);font-style:italic;line-height:1.65;margin:0}.ff-element-intro{border-radius:0 5px 5px 0;padding:10px 12px 14px}.ff-element-intro--facette{background:#180c2873;border-left:3px solid #a064dc8c}.ff-element-intro--odd{background:#08182873;border-left:3px solid #3cb4dc80}.ff-element-intro--satellite{background:#1c120473;border-left:3px solid #c896288c}.ff-element-intro-desc{font-size:var(--fs-12);font-style:italic;line-height:1.65;margin:0}.ff-element-intro--facette .ff-element-intro-desc{color:#9868c8}.ff-element-intro--odd .ff-element-intro-desc{color:#4898b8}.ff-element-intro--satellite .ff-element-intro-desc{color:#b08830}.odd-legend{background:#10142080;border-left:3px solid #788caf80;border-radius:0 5px 5px 0;margin-top:10px;padding:10px 12px 14px}.odd-legend-head{align-items:baseline;display:flex;gap:8px;justify-content:space-between;margin-bottom:8px}.odd-legend-title{color:#a9b8d0;font-size:var(--fs-10);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.odd-legend-count{color:#5c7290;font-size:var(--fs-9-5);font-variant-numeric:tabular-nums;white-space:nowrap}.odd-legend-chips{display:flex;flex-wrap:wrap;gap:6px}.odd-legend-chip{align-items:center;appearance:none;border:none;cursor:pointer;display:inline-flex;font-family:inherit;font-variant-numeric:tabular-nums;justify-content:center;padding:0;transition:background .15s ease,border-color .15s ease,opacity .15s ease,box-shadow .15s ease,transform .1s ease}.odd-legend-chip--plaque{border-radius:4px;flex-shrink:0;height:40px;opacity:.85;overflow:hidden;position:relative;transition:width .3s ease,height .3s ease,opacity .15s ease,box-shadow .15s ease,transform .1s ease;width:40px}.odd-legend-chip--plaque.odd-legend-chip--text,.odd-legend-chip--plaque.odd-legend-chip--text.odd-legend-chip--active{background:var(--chip-color);color:#fff;font-size:var(--fs-10-5);font-weight:700;height:28px;padding:0 10px;width:auto}.odd-legend-chip-icon{display:block;height:100%;object-fit:cover;width:100%}.odd-legend-chip--plaque:hover{box-shadow:0 4px 10px #00000059;opacity:1;transform:translateY(-2px)}.odd-legend-chip--plaque.odd-legend-chip--active,.odd-legend-chip--plaque.odd-legend-chip--linked-hover{box-shadow:0 0 0 2px #0d1320,0 0 0 3.5px var(--chip-color);opacity:1}.odd-legend-chip--plaque.odd-legend-chip--active{height:calc(40px*var(--odd-chip-zoom, 5));width:calc(40px*var(--odd-chip-zoom, 5));z-index:2}.odd-legend-detail{background:#788caf14;border-left:3px solid var(--chip-color,#788caf80);border-radius:0 5px 5px 0;margin-top:10px;padding:8px 10px 10px}.odd-legend-detail[hidden]{display:none}.odd-legend-detail-dot{border-radius:50%;box-shadow:inset 0 0 0 1px #ffffff2e;display:inline-block;height:8px;margin-right:6px;width:8px}.odd-legend-detail-name{color:#f4f8ff;font-size:var(--fs-11-5);font-weight:700}.odd-legend-detail-desc{color:#8aaac8;font-size:var(--fs-11);font-style:italic;line-height:1.55;margin:4px 0 0}.odd-legend-detail-desc strong{color:#c0d8f0;font-style:normal;font-weight:600}.force-field-detail-table{border-collapse:collapse;font-size:var(--fs-11);margin-top:8px;width:100%}.force-field-detail-table :is(td,th){border:1px solid #2f3b55;padding:6px;text-align:left;vertical-align:top}.force-field-detail-table th{background:#141d30;color:#f4f8ff;position:sticky;top:0}.force-field-group-header td{background:#1a2540;border-top:2px solid #2f3b55;color:#8ef2b4;font-size:var(--fs-11-5);padding:5px 6px}.force-field-section-header td{background:#1a2030;border-top:1px dashed #2f4060;color:#7ab8d8;font-size:var(--fs-11);font-style:italic;padding:4px 6px}.force-field-section-impact td{background:#162030;border-top:2px solid #4a6040;color:#e8f4a0;font-size:var(--fs-11);font-weight:700;padding:4px 6px}.force-field-section-cascade td{background:#1a2838;border-top:1px dashed #304860;color:#a8c8e8;font-size:var(--fs-11);font-style:italic;padding:4px 6px}.force-field-ancestor-row td{font-style:italic;opacity:.72}.base-delta-source{font-size:.82em;font-style:italic;opacity:.65;white-space:nowrap}.ff-collapse-btn--labeled{align-items:center;display:flex;flex-direction:column;gap:1px;text-align:center;transform:translateY(-20%)}.ff-chain-card.ff-card-expanded .ff-card-collapse-btn.ff-collapse-btn--labeled:after{display:none}.ff-chain-card.ff-card-expanded .ff-collapse-btn--labeled .ff-badge-value:after{content:" ‹";font-size:var(--fs-11);font-weight:400;letter-spacing:0;opacity:.6}.ff-badge-sublabel{font-size:var(--fs-7);font-weight:700;letter-spacing:.07em;line-height:1;opacity:.55;text-transform:uppercase}.ff-badge-value{font-family:monospace;font-size:var(--fs-11);font-weight:700;line-height:1}.ff-chain-source-card,.ff-pviz-list{--ff-source-arrow-w:12px}:is(.ff-chain-source-card,.ff-pviz-list) .ff-step-label-group{padding-left:var(--ff-source-arrow-w);position:relative}:is(.ff-chain-source-card,.ff-pviz-list) .ff-step-label-group:before{color:#6ad4a073;content:"→";font-size:var(--fs-9);font-weight:400;left:0;position:absolute}.ff-chain-rail{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;margin-bottom:-2px;padding-bottom:6px;padding-left:6px}.ff-chain-grid{align-items:flex-start;display:flex;gap:3px;margin:14px 0 6px;overflow:visible;width:max-content}.ff-chain-card{background:#0b1525;flex:0 0 auto;font-size:var(--fs-11);overflow:visible;position:relative}.ff-card-inner,.ff-chain-card{border-radius:6px;display:flex;flex-direction:column}.ff-card-inner{flex:1;overflow:hidden}.ff-card-header{flex-shrink:0}.ff-card-body{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}.ff-chain-card{cursor:pointer;height:var(--ff-chain-card-height,var(--ff-card-height-default));transition:width .28s cubic-bezier(.4,0,.2,1),height .2s ease;width:var(--ff-card-width-collapsed)}.ff-chain-card.ff-card-expanded{width:var(--ff-card-width-expanded)}.ff-chain-card.ff-chain-keyevent-detail{background:#120c02;border:1px solid #6a4a10;border-top:3px solid #e0a030}.ff-chain-keyevent-detail.ff-combo-card-active{background:#1c1404;border-color:#f5c860 #a87820 #a87820;box-shadow:0 0 0 1px #a87820,0 0 8px 1px #e0a03040}.ff-chain-card.ff-chain-keyevent-targets{background:#120c02;border:1px solid #6a4a10}.ff-chain-keyevent-targets.ff-combo-card-active{background:#1c1404;border-color:#a87820;box-shadow:0 0 0 1px #a87820}.ff-chain-card .ff-card-inner{overflow-y:hidden}.ff-chain-card:not(.ff-card-expanded) .ff-card-body,.ff-chain-card:not(.ff-card-expanded) :is(.ff-card-steps,.ff-combo-rules){display:none}.ff-chain-card:not(.ff-card-expanded) .ff-card-header{align-items:center;flex:1;justify-content:center;padding:8px 4px}.ff-chain-card:not(.ff-card-expanded) .ff-card-title{max-height:calc(var(--ff-chain-card-height, var(--ff-card-height-default)) - 52px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;writing-mode:vertical-lr}.ff-chain-card:not(.ff-card-expanded) .ff-card-title.ff-card-title--stacked{align-items:center;flex-direction:row;gap:6px}.ff-chain-card:not(.ff-card-expanded) .ff-card-kicker{flex-shrink:0;padding:6px 1px}.ff-chain-card:not(.ff-card-expanded) .ff-card-name{font-size:var(--fs-9);letter-spacing:.1em;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase}.ff-chain-card:not(.ff-card-expanded):hover{filter:brightness(1.25)}.ff-chain-grid .ff-combo-group{align-items:flex-start;display:flex;gap:20px}.ff-chain-path{border:1px solid #1e4030;border-top:3px solid #30a070}.ff-chain-combo{align-self:flex-start;border-radius:6px;flex:0 0 auto}.ff-chain-combo .ff-card-steps{padding-left:8px}.ff-chain-combo .ff-card-steps:before{display:none}.ff-chain-combo .ff-card-header{border-bottom:1px solid}.ff-chain-combo.ff-combo-val-pos{background:#040e08;border:1px solid #1a4a2a;border-top:3px solid #40c060}.ff-chain-combo.ff-combo-val-pos .ff-card-header{background:#071410;border-color:#1a4a2a}.ff-chain-combo.ff-combo-val-neu{background:#02080e;border:1px solid #1a3050;border-top:3px solid #4a90c0}.ff-chain-combo.ff-combo-val-neu .ff-card-header{background:#04101a;border-color:#1a3050}.ff-chain-combo.ff-combo-val-neg{background:#0e0404;border:1px solid #4a1a1a;border-top:3px solid #c04040}.ff-chain-combo.ff-combo-val-neg .ff-card-header{background:#140707;border-color:#4a1a1a}.ff-chain-combo.ff-combo-card-active.ff-combo-val-pos{background:#061409;border-color:#60e880 #2a7a44 #2a7a44;box-shadow:0 0 0 1px #2a7a44,0 0 8px 1px #40c06040}.ff-chain-combo.ff-combo-card-active.ff-combo-val-pos .ff-card-header{background:#0a2018;border-color:#2a7a44}.ff-chain-combo.ff-combo-card-active.ff-combo-val-neu{background:#030c14;border-color:#6ab0e8 #2a4a7a #2a4a7a;box-shadow:0 0 0 1px #2a4a7a,0 0 8px 1px #4a90c040}.ff-chain-combo.ff-combo-card-active.ff-combo-val-neu .ff-card-header{background:#061828;border-color:#2a4a7a}.ff-chain-combo.ff-combo-card-active.ff-combo-val-neg{background:#140606;border-color:#e86060 #7a2a2a #7a2a2a;box-shadow:0 0 0 1px #7a2a2a,0 0 8px 1px #c0404040}.ff-chain-combo.ff-combo-card-active.ff-combo-val-neg .ff-card-header{background:#200a0a;border-color:#7a2a2a}.ff-combo-label{color:#708090;font-size:var(--fs-10);font-style:italic;line-height:1.35;padding:4px 8px 2px}.ff-chain-card{--card-accent:#8aa0b8}.ff-chain-card.ff-chain-path,.ff-chain-card.ff-chain-total{--card-accent:#6ab4f4}.ff-chain-card.ff-prop-mod-bonus{--card-accent:#5ad88a}.ff-chain-card.ff-prop-mod-malus{--card-accent:#f07070}.ff-chain-card.ff-prop-mod-neutral{--card-accent:#6ab4f4}.ff-chain-card.ff-chain-amplifier,.ff-chain-card.ff-chain-keyevent-detail,.ff-chain-card.ff-chain-keyevent-targets{--card-accent:#f0b84a}.ff-chain-card.ff-chain-amplifier--adverse,.ff-chain-card.ff-chain-keyevent-detail--adverse,.ff-chain-card.ff-chain-keyevent-targets--adverse{--card-accent:#f07070}.ff-chain-card.ff-keyevent-locked{--card-accent:#9a9aa2}.ff-chain-combo[data-combo-type=preparation]{--card-accent:#5ad88a}.ff-chain-combo[data-combo-type=exploitation]{--card-accent:#6ab4f4}.ff-chain-card.ff-chain-shield,.ff-chain-combo[data-combo-type=stabilisation]{--card-accent:#f2d45a}.ff-chain-combo[data-combo-type=securisation]{--card-accent:#f07070}.ff-chain-event-effect[data-event-signature=amplifier]{--card-accent:#e8b85c}.ff-chain-event-effect[data-event-signature=garantie]{--card-accent:#5ad8c0}.ff-chain-event-effect[data-event-signature=stabilite]{--card-accent:#f2d45a}.ff-chain-event-effect[data-event-signature=rayonnement]{--card-accent:#6ab4f4}.ff-chain-event-effect[data-event-signature=portee]{--card-accent:#c49af4}.ff-chain-event-effect .ff-combo-label{color:#9aabbf;padding:6px 8px 4px 0}.ff-chain-event-effect .ff-event-result{margin:7px 4px 5px 0}.ff-chain-event-effect .ff-event-note{border-left:2px solid color-mix(in srgb,var(--card-accent) 35%,#0000);margin:6px 4px 5px 0;padding-left:6px}.ff-chain-event-effect .ff-event-links-table td:first-child{color:#c8d6e8;overflow-wrap:anywhere;white-space:normal}.ff-chain-event-effect .ff-event-links-table .ff-pt-val{white-space:nowrap}.ff-chain-event-effect .ff-event-position-table th{width:auto}.ff-card-title.ff-card-title--stacked{align-items:flex-start;display:flex;flex-direction:column;gap:4px;letter-spacing:normal;text-transform:none}.ff-card-kicker{background:color-mix(in srgb,var(--card-accent) 12%,#0000);border:1px solid color-mix(in srgb,var(--card-accent) 45%,#0000);border-radius:999px;color:var(--card-accent);font-size:var(--fs-8,8px);font-weight:700;letter-spacing:.1em;padding:1px 6px;text-transform:uppercase}.ff-card-name{color:#eef4ff;font-size:var(--fs-12);font-weight:700;line-height:1.25}.ff-chain-card.ff-keyevent-locked .ff-card-name{color:#b0b0b8}.ff-chain-combo[data-combo-type] .ff-combo-label{color:#9aabbf;padding:6px 8px 4px 0}.ff-chain-combo .ff-prop-mod-state-row{align-items:center;background:color-mix(in srgb,var(--card-accent) 9%,#0000);border-left:3px solid var(--card-accent);border-radius:5px;flex-wrap:wrap;gap:4px 8px;margin:6px 4px 4px 0;padding:7px 8px}.ff-chain-combo .ff-prop-mod-state-label{color:#c8d6e8;flex:1 1 auto;font-weight:600}.ff-chain-combo .ff-prop-mod-state-value{font-size:var(--fs-16);margin-left:auto;white-space:nowrap}.ff-chain-combo .ff-combo-shield-note,.ff-chain-combo .ff-zone-bar{margin-right:4px}.ff-chain-combo .ff-prop-mod-detail{color:#8ea6c2}.ff-chain-card .ff-card-steps .ff-combo-prereq-table{margin:8px 0;width:100%}.ff-chain-card :is(.ff-pt-head-name,.ff-pt-head-val){color:#8ea6c2}.ff-chain-card .ff-pt-name[data-action-id]{color:#7ae8a4;font-weight:600}.ff-chain-card .ff-combo-prereq-table tbody tr{border-bottom:1px solid #2a3a52}.ff-chain-card .ff-combo-prereq-table tbody tr:nth-child(2n){background:#96b4dc0d}.ff-chain-card .ff-combo-prereq-table tbody td{padding-bottom:5px;padding-top:5px}.ff-chain-card .ff-pt-val--unplayed{color:#3a4a5e}.ff-chain-card .ff-pt-row--unplayed{opacity:1}.ff-chain-card .ff-pt-row--unplayed .ff-pt-name[data-action-id]{border-left-color:#c05040;color:#f08878}.ff-chain-card .ff-pt-row--unplayed .ff-pt-name[data-action-id]:hover{border-left-color:#e06050;color:#ffa898}.ff-chain-card .ff-pt-row--assumed .ff-pt-name[data-action-id]{color:#f5c86a}.ff-chain-card .ff-pt-val--assumed{color:#c8a860;font-style:italic;text-align:right}.ff-combo-assumed-warning{background:#f5be5014;border-left:2px solid #e0a840;border-radius:3px;color:#f5d890;font-size:var(--fs-10);line-height:1.35;margin:6px 0 2px;padding:5px 8px}.ff-chain-combo .ff-prop-mod-state-value.ff-pt-val--low{color:#f08878}.ff-chain-combo .ff-prop-mod-state-value.ff-pt-val--high{color:#7ae8a4}.ff-chain-combo .ff-prop-mod-tip{background:#5aaaf014;border-left:2px solid #5aaaf0;border-radius:3px;color:#a8dcff;font-size:var(--fs-10);font-weight:600;margin:6px 4px 2px 0;padding:5px 8px}.ff-chain-amplifier{align-self:flex-start;background:#120c02;border:1px solid #6a4a10;border-radius:6px;border-top:3px solid #e0a030;flex:0 0 auto}.ff-chain-amplifier .ff-card-header{background:#1a1204;border-bottom:1px solid #6a4a10}.ff-chain-amplifier .ff-card-steps{padding-left:8px}.ff-chain-amplifier .ff-card-steps:before{display:none}.ff-amplifier-coeffs{display:flex;flex-wrap:wrap;gap:5px;padding:2px 8px 8px}.ff-amplifier-coeff{background:#2a1c06;border:1px solid #6a4a10;border-radius:10px;color:#ffd98a;font-size:var(--fs-10);font-weight:600;padding:2px 8px;white-space:nowrap}.ff-combo-formula{align-items:baseline;display:flex;font-family:monospace;gap:5px;padding:6px 8px 10px}.ff-combo-base{color:#8898b0;font-size:var(--fs-13)}.ff-combo-op{color:#607080;font-size:var(--fs-12)}.ff-combo-eq{color:#506070;font-size:var(--fs-12)}.ff-combo-effective{font-size:var(--fs-16);font-weight:700}.ff-chain-path .ff-card-header{background:#0a1e14;border-bottom:1px solid #1e4030}.ff-chain-path .ff-card-title{color:#6ad4a0}.ff-chain-path .ff-card-steps:before,.ff-chain-total .ff-pviz-list:before{background:linear-gradient(180deg,#30a070 0,#30a07026)}:is(.ff-chain-path,.ff-chain-total) .ff-card-step:before{background:#0b1525;border-color:#30a070}.ff-chain-total .ff-pviz-list{position:relative}.ff-chain-total .ff-pviz-list:before{bottom:5px;content:"";left:-11px;position:absolute;top:7px;width:2px}.ff-chain-path :is(.ff-card-header[data-row-idx]:hover,.ff-card-step[data-row-idx]:hover){background:#30a0701f}.ff-chain-separator{align-items:center;align-self:stretch;color:#6a9ad8;display:flex;flex:1 1 auto;font-size:var(--fs-26);font-weight:900;justify-content:center;margin-left:auto;min-width:32px;position:relative;user-select:none}.ff-chain-separator:before{background:linear-gradient(180deg,#0000,#3a5a90 30%,#6a9ad8 50%,#3a5a90 70%,#0000);border-radius:1px;bottom:8%;content:"";left:50%;position:absolute;top:8%;transform:translateX(-50%);width:2px}.ff-chain-separator:after{background:#07101e;content:"\21D2";line-height:1;padding:3px 2px;position:relative;text-shadow:0 0 8px #6a9ad8b3;z-index:1}.ff-combo-group{align-items:flex-start;display:flex;flex:0 0 auto;flex-direction:row;gap:20px}.ff-chain-separator-combo-start{color:#c89a30}.ff-chain-separator-combo-start:before{background:linear-gradient(180deg,#0000,#8a6010 30%,#c89a30 50%,#8a6010 70%,#0000)}.ff-chain-separator-combo-start:after{background:#07101e;content:"\2295";text-shadow:0 0 8px #c89a30bf}.ff-chain-separator-amplifier-start{color:#e0a030}.ff-chain-separator-amplifier-start:before{background:linear-gradient(180deg,#0000,#8a5a10 30%,#e0a030 50%,#8a5a10 70%,#0000)}.ff-chain-separator-amplifier-start:after{background:#07101e;content:"\26A1";text-shadow:0 0 8px #e0a030bf}.ff-chain-total{background:#0b1020;border-left:1px solid #2a3a54;border-top:1px solid #2a3a54;border-color:#5a7aaa #2a3a54 #2a3a54 #3a5a8a;border-style:solid;border-width:3px 1px 1px 2px;box-shadow:-4px 0 12px #3a5a8a2e;min-width:0}.ff-chain-total .ff-card-header{background:#111d30;border-bottom:1px solid #2a3a54}.ff-chain-total .ff-card-title{color:#7a9ac8;font-style:normal}.ff-total-body{align-items:center;display:flex;flex:1;flex-direction:column;gap:4px;justify-content:center;padding:10px 8px 12px}.ff-total-delta{font-family:monospace;font-size:var(--fs-20);font-weight:700;line-height:1}.ff-total-optimization{color:#c6daff;font-size:var(--fs-10);font-weight:700;letter-spacing:.04em;margin-top:2px;text-align:center}.ff-total-optimization-value{color:#8dc6ff;font-size:var(--fs-18);margin-left:4px;text-shadow:0 0 8px #66b8ff4d}.ff-total-optimization-value.ff-delta-pos{text-shadow:0 0 8px #8ef2b459}.ff-total-optimization-value.ff-delta-neg{text-shadow:0 0 8px #f28e8e59}.ff-total-optimization-value.ff-delta-neu{text-shadow:0 0 8px #7ab8d84d}.ff-total-weight{color:#d8b878;font-size:var(--fs-10);font-weight:700;letter-spacing:.04em;margin-top:2px;text-align:center}.ff-total-weight-value{color:#f5c860;font-size:var(--fs-16);margin-left:4px;text-shadow:0 0 8px #c8962859}.ff-total-shield{background:#ffe65014;border:1px solid #ffe65047;border-radius:6px;color:#f5e08a;font-size:var(--fs-10);line-height:1.35;margin-top:6px;padding:4px 8px;text-align:left}.ff-total-absorption{color:#cdd6e6;font-size:var(--fs-9);line-height:1.4;margin:4px 0 0;padding:0 0 0 14px;text-align:left}.ff-total-absorption li{margin:1px 0}.ff-total-absorption li:last-child{color:#f5e08a;font-weight:700}.ff-chain-total .ff-total-body{border-bottom:1px solid #1e2c45;margin-bottom:2px;padding-bottom:8px;width:100%}.ff-total-optimization-unit{color:#8dc6ff;margin-left:1px}.ff-total-subtitle{background:#1e3c6440;border-top:1px solid #1e3050;color:#5a7aaa;cursor:pointer;font-size:var(--fs-8-5);font-weight:700;letter-spacing:.12em;margin:4px 0 0;padding:5px 10px 4px;text-transform:uppercase;transition:color .15s,background .15s;user-select:none;white-space:nowrap}.ff-total-subtitle:hover{background:#28508259;color:#8ab0d8}.ff-prop-mod-card{background:linear-gradient(180deg,#0b1628,#0a1321);border-color:#274468;margin-top:6px}.ff-prop-mod-card .ff-combo-rules-summary{color:#9ec7ff}.ff-chain-shield{background:#0e0c04;border:1px solid #4a4218;border-top:3px solid #f2d45a}.ff-chain-shield .ff-card-header{background:#15120a;border-color:#4a4218}.ff-chain-shield .ff-card-title{color:#f5e08a}.ff-chain-shield .ff-shield-origin-link{cursor:pointer;text-decoration:underline dotted #f5e08a99;text-underline-offset:3px}.ff-chain-shield:not(.ff-card-expanded) .ff-shield-origin-link{cursor:inherit;text-decoration:none}.ff-chain-shield.ff-card-expanded .ff-shield-origin-link:hover{color:#fff3b8;text-decoration-style:solid}.ff-chain-shield .ff-shield-card-duration{color:#bfae6a;font-size:var(--fs-9);font-style:italic;margin-top:6px}.ff-prop-mod-bonus{background:#040e08;border:1px solid #1a4a2a;border-top:3px solid #40c060}.ff-prop-mod-bonus .ff-card-header{background:#071410;border-color:#1a4a2a}.ff-prop-mod-bonus .ff-card-title{color:#60d080}.ff-prop-mod-bonus .ff-combo-label{color:#409050}.ff-prop-mod-malus{background:#0e0404;border:1px solid #4a1a1a;border-top:3px solid #c04040}.ff-prop-mod-malus .ff-card-header{background:#140707;border-color:#4a1a1a}.ff-prop-mod-malus .ff-card-title{color:#e06060}.ff-prop-mod-malus .ff-combo-label{color:#904040}.ff-prop-mod-neutral{background:#02080e;border:1px solid #1a3050;border-top:3px solid #4a90c0}.ff-prop-mod-neutral .ff-card-header{background:#04101a;border-color:#1a3050}.ff-prop-mod-neutral .ff-card-title{color:#7ab8d8}.ff-prop-mod-neutral .ff-combo-label{color:#3a6888}.ff-prop-mod-why{border-top:1px dashed #2a4368;margin-top:6px;padding-top:4px}.ff-prop-mod-why>summary{color:#9ec7ff;cursor:pointer;font-size:var(--fs-10);font-weight:700}.ff-prop-mod-why-body{color:#b7cae4;font-size:var(--fs-10);line-height:1.4;margin-top:4px}.ff-prop-mod-why-tip{color:#8bc7ff;margin-top:4px}.ff-prop-mod-state-row{align-items:baseline;display:flex;justify-content:space-between;padding:4px 0 3px}.ff-prop-mod-state-label{color:#5a7a9a;font-size:var(--fs-9);letter-spacing:.08em;text-transform:uppercase}.ff-prop-mod-state-value{color:#d0e8ff;font-size:var(--fs-15);font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.ff-shield-hero-value{white-space:nowrap}.ff-combo-shield-note{background:#ffe65014;border:1px solid #ffe65047;border-radius:5px;color:#f5e08a;font-size:var(--fs-10);line-height:1.35;margin:2px 0 6px;padding:4px 7px}.ff-combo-shield-note--empty{background:#e070600f;border:1px dashed #e0706066;color:#e09080;font-style:italic}.ff-zone-bar{margin:1px 0 7px;position:relative}.ff-zone-track{border-radius:2px;display:flex;height:4px;overflow:hidden}.ff-zone{flex:none}.ff-zone-marker{background:#fff;border-radius:1px;box-shadow:0 0 4px #ffffffbf;height:6px;pointer-events:none;position:absolute;top:-1px;transform:translateX(-50%);width:2px}.ff-zone-fragile{background:#7a2020;width:39%}.ff-zone-nom{background:#1e3a6e;width:6%}.ff-zone-optimal{background:#1a6a30;width:10%}.ff-zone-stable{background:#1e3a6e;width:14%}.ff-zone-sature{background:#6e4010;width:31%}.ff-zone-atten{background:#7a2020;width:40%}.ff-zone-neutral{background:#1e3a6e;width:20%}.ff-zone-amp{background:#1a6a30;width:40%}.ff-prop-mod-mult{font-size:var(--fs-10);font-weight:600;margin-bottom:2px}.ff-prop-mod-malus .ff-prop-mod-mult{color:#d06060}.ff-prop-mod-bonus .ff-prop-mod-mult{color:#60c070}.ff-prop-mod-neutral .ff-prop-mod-mult{color:#7ab0d0}.ff-prop-mod-detail{color:#5a7a9a;font-size:var(--fs-9);margin-bottom:2px}.ff-prop-mod-tip{color:#7ab8d8;font-size:var(--fs-9);line-height:1.3;margin-top:3px}.ff-prop-mod-link{cursor:help;opacity:.92;text-decoration:underline dotted;text-decoration-color:initial;text-underline-offset:2px}.ff-prop-mod-link:hover{color:#d0e8ff;opacity:1}.ff-total-sources{display:none}.ff-card-header{align-items:flex-start;display:flex;gap:5px;padding:7px 8px 6px}.ff-card-icon{flex-shrink:0;font-size:var(--fs-12);margin-top:1px}.ff-card-title{flex:1;font-size:var(--fs-9);font-weight:700;letter-spacing:.1em;line-height:1.3;min-width:0;overflow-wrap:anywhere;text-transform:uppercase}.ff-card-collapse-btn{background:#0e1c30;border:1px solid #3a5a80;border-radius:8px;cursor:pointer;font-size:var(--fs-11);font-weight:700;line-height:1;padding:3px 6px;position:absolute;right:-14px;top:0;transform:translateY(-70%);transition:background .15s,border-color .15s;user-select:none;white-space:nowrap;z-index:10}.ff-card-collapse-btn:hover{background:#1a3050;border-color:#6a9acc}.ff-card-collapse-btn.ff-delta-pos{color:#5fd87a}.ff-card-collapse-btn.ff-delta-neg{color:#e06060}.ff-card-collapse-btn.ff-delta-neu{color:#7ab8d8}.ff-chain-card.ff-card-expanded .ff-card-collapse-btn:after{content:" ‹";font-size:var(--fs-11);font-weight:400;opacity:.6}.ff-card-weight-chip{align-items:center;background:#201705;border:1px solid #8a6020;border-radius:999px;color:#f5c860;display:flex;font-family:monospace;font-size:var(--fs-10);font-weight:700;gap:3px;justify-content:center;line-height:1;padding:2px 6px;position:absolute;right:-14px;top:12px;user-select:none;white-space:nowrap;z-index:10}.ff-card-weight-chip .ff-weight-arrow{font-size:.85em}.ff-card-amplified-chip{align-items:center;background:#0e1c30;border:1px solid #3a5a80;border-radius:6px;bottom:0;color:#5fd87a;display:flex;font-size:var(--fs-11);height:20px;justify-content:center;line-height:1;position:absolute;right:0;transform:translate(50%,50%);user-select:none;width:20px;z-index:10}.ff-card-delta{align-self:center;border-radius:3px;font-family:monospace;font-size:var(--fs-11);font-weight:700;margin-left:2px;padding:1px 5px;white-space:nowrap}.ff-card-delta.ff-delta-pos{background:#3adc821f;color:#8ef2b4}.ff-card-delta.ff-delta-neg{background:#f28e8e1f;color:#f28e8e}.ff-card-delta.ff-delta-neu{background:#5ab4dc1f;color:#7ab8d8}.ff-delta-pos{color:#8ef2b4}.ff-delta-neg{color:#f28e8e}.ff-delta-neu{color:#7ab8d8}.ff-card-steps{flex:1;padding:6px 8px 8px 22px;position:relative}.ff-card-steps:before{bottom:13px;content:"";left:11px;position:absolute;top:13px;width:2px}.ff-card-step{display:flex;flex-direction:column;gap:1px}.ff-card-step,.ff-card-step-static{padding:4px 0 4px 6px;position:relative}.ff-card-step-static{color:#c0d0ec;font-size:var(--fs-10-5);font-weight:600}.ff-card-step:before{border:2px solid;border-radius:50%}.ff-card-step-static:before,.ff-card-step:before{content:"";height:8px;left:-11px;position:absolute;top:9px;width:8px}.ff-card-step-static:before{background:#30a070;border:2px solid #30a070;border-radius:50%;box-shadow:0 0 5px #6ad4a099}.ff-step-cutting{align-items:baseline;color:#c0d0ec;display:flex;flex-wrap:wrap;font-size:var(--fs-10-5);font-weight:600;gap:2px 4px}.ff-step-cutting,.ff-step-label-group{overflow-wrap:break-word;word-break:break-word}.ff-step-label-group{flex:1;min-width:0}.ff-pviz-action-mark{border-radius:3px;display:inline-block;height:13px;object-fit:contain;vertical-align:-2px;width:13px}.ff-step-delta{flex-shrink:0;font-family:monospace;font-size:var(--fs-10-5);font-weight:700}.ff-step-nav{cursor:pointer}.ff-step-nav:hover{color:#d8e8ff}.ff-step-nav-target{align-items:center;border-radius:50%;color:#5a7a9a;cursor:pointer;display:inline-flex;flex-shrink:0;justify-content:center;margin-left:4px;padding:2px;transition:color .12s,background .12s}.ff-step-nav-target svg :is(circle,line){stroke:currentColor;stroke-linecap:round;stroke-width:1.1}.ff-step-nav-target:hover{background:#3c82e62e;color:#d8e8ff}.ff-step-nav.ff-nav-item-active{background:#3c82e62e;border-radius:3px;color:#e8f4ff}.ff-step-weight{color:#4a6080;font-size:var(--fs-9-5)}.ff-card-header[data-row-idx],.ff-card-step[data-row-idx],.ff-chain-path .ff-source-click-target{cursor:pointer;transition:background .12s}.ff-chain-path .ff-source-click-target:hover{background:#30a0701f}.ff-row-focused{background:#e8f4a021!important;outline:2px solid #e8f4a073;outline-offset:-2px}.ff-detail-disclosure{border:1px solid #1e2a40;border-radius:4px;margin-top:8px;overflow:hidden;interpolate-size:allow-keywords}.ff-detail-disclosure::details-content{block-size:0;overflow:hidden;transition:block-size .24s cubic-bezier(.4,0,.2,1),content-visibility allow-discrete .24s}.ff-detail-disclosure[open]::details-content{block-size:auto}@media (prefers-reduced-motion:reduce){.ff-detail-disclosure::details-content{transition:none}}.ff-detail-disclosure summary{background:#111b2c;color:#5a8ab0;cursor:pointer;font-size:var(--fs-10-5);letter-spacing:.02em;list-style:none;padding:5px 10px;user-select:none}.ff-detail-disclosure summary::-webkit-details-marker{display:none}.ff-detail-disclosure[open] summary{border-bottom:1px solid #1e2a40}.ff-detail-disclosure[open] summary:before{content:"▼ "}.ff-detail-disclosure:not([open]) summary:before{content:"▶ "}.ff-combo-rules{border-top:1px solid #ffffff0f;margin-top:2px}.ff-combo-rules-summary{color:#607080;cursor:pointer;font-size:var(--fs-9-5);letter-spacing:.03em;list-style:none;padding:5px 8px;user-select:none}.ff-combo-rules-summary::-webkit-details-marker{display:none}.ff-combo-rules[open] .ff-combo-rules-summary{color:#7a9ab8}.ff-combo-rules-summary:before{content:"▶ ";font-size:var(--fs-8)}.ff-combo-rules[open] .ff-combo-rules-summary:before{content:"▼ "}.ff-combo-rules-body{display:flex;flex-direction:column;gap:8px;padding:6px 8px 8px}.ff-combo-rules-secret{color:#604040;font-size:var(--fs-10);font-style:italic}.ff-rule-row{display:flex;flex-direction:column;gap:4px}.ff-rule-label{color:#506070;font-size:var(--fs-9);letter-spacing:.06em;text-transform:uppercase}.ff-rule-value{color:#7a9ab8;font-size:var(--fs-10)}.ff-rule-none{color:#404040;font-size:var(--fs-10);font-style:italic}.ff-rule-tags{display:flex;flex-direction:column;gap:3px}.ff-rule-tag{border-radius:4px;cursor:pointer;display:block;font-size:var(--fs-10);line-height:1.35;padding:4px 8px;transition:opacity .15s,border-color .15s;word-break:break-word}.ff-rule-tag:hover{opacity:.85}.ff-rule-req{background:#041a10;border:1px solid #1a4a2a;border-left:3px solid #2a8a50;color:#50c080}.ff-rule-req:hover{border-left-color:#3adf70;color:#70e090}.ff-rule-excl{background:#1a0404;border:1px solid #4a1a1a;border-left:3px solid #c03030;color:#e06060}.ff-rule-excl:hover{border-left-color:#ff5050;color:#ff8080}.ff-combo-prereq-table{border-collapse:collapse;color:#a0b4c8;font-size:var(--fs-10);margin:4px 4px 8px;width:calc(100% - 8px)}.ff-combo-prereq-table thead tr{border-bottom:1px solid #2a3a4a}.ff-pt-head-name,.ff-pt-head-val{color:#5a7a9a;font-size:var(--fs-9);font-weight:600;letter-spacing:.04em;padding:2px 3px 3px;text-transform:uppercase}.ff-pt-head-name{text-align:left}.ff-pt-head-val{text-align:right}.ff-combo-prereq-table tbody tr{border-bottom:1px solid #1a2430}.ff-pt-name{color:#8898b0;font-size:var(--fs-10);line-height:1.35;max-width:90px;overflow-wrap:break-word;padding:3px 4px 3px 2px;white-space:normal}.ff-pt-name[data-action-id]{border-left:2px solid #2a8a50;color:#50c080;cursor:pointer;padding-left:5px;transition:color .15s,border-color .15s}.ff-pt-name[data-action-id]:hover{border-left-color:#3adf70;color:#70e090}.ff-pt-name[data-action-id].ff-nav-item-active{background:#30b45a24;border-left-color:#4aef80;border-left-width:3px;color:#7af0a0}.ff-keyevent-targets-table .ff-pt-val .dchips{display:inline-flex}.ff-pt-val{color:#7a90a8;font-size:var(--fs-10);font-variant-numeric:tabular-nums;padding:3px 2px 3px 4px;text-align:right}.ff-pt-val--high{color:#6abf88}.ff-pt-val--mid{color:#8898b0}.ff-pt-val--low{color:#c07060}.ff-pt-val--unplayed{color:#4a6070;font-style:italic}.ff-pt-row--unplayed{opacity:.7}.ff-pt-val-score{font-size:var(--fs-10);padding:3px 2px 3px 4px;position:relative;text-align:right}.ff-pt-score-fill{border-radius:2px;inset:1px 0;opacity:.22;position:absolute;z-index:0}.ff-pt-score-fill.ff-pt-val--high{background:#3adf70}.ff-pt-score-fill.ff-pt-val--mid{background:#8898b0}.ff-pt-score-fill.ff-pt-val--low{background:#e06060}.ff-pt-score-text{font-variant-numeric:tabular-nums;position:relative;z-index:1}.ff-pt-max-hint{color:#4a6070;font-size:var(--fs-9);opacity:.8}.ff-chain-card.ff-keyevent-locked{background:#101012;border-color:#6f6d66 #3c3c40 #3c3c40;border-top-style:dashed}.ff-chain-card.ff-keyevent-locked .ff-card-header{background:#17171a;border-bottom-color:#3c3c40}.ff-chain-card.ff-keyevent-locked .ff-card-title{color:#b4b2aa}.ff-chain-card.ff-keyevent-locked .ff-card-media{border-bottom-color:#3c3c40}.ff-chain-card.ff-keyevent-locked .ff-combo-label{color:#8d8b83}.ff-keyevent-locked .ff-amplifier-coeff,.ff-keyevent-locked .ff-card-collapse-btn{background:#1a1a1d;border-color:#4a4a50;color:#a3a19a}.ff-keyevent-locked .ff-card-steps-overlay{background:#0e0e10d1}.ff-hier-badge--action-adverse{background:#be3c3c42;border:1px solid #dc5a5a99;color:#f28e8e;font-size:var(--fs-9);line-height:1.3;overflow-wrap:break-word;text-align:center;white-space:normal}.ff-chain-amplifier.ff-chain-amplifier--adverse{background:#140505;border:1px solid #6a1e1e;border-top:3px solid #d84a4a}.ff-chain-amplifier.ff-chain-amplifier--adverse .ff-card-header{background:#1c0808;border-bottom:1px solid #6a1e1e}.ff-chain-amplifier--adverse .ff-amplifier-coeff{color:#f2a5a5}.ff-chain-card.ff-chain-keyevent-targets.ff-chain-keyevent-targets--adverse{background:#140505;border:1px solid #6a1e1e}.ff-chain-keyevent-targets--adverse.ff-combo-card-active{background:#1c0808;border-color:#a83a3a;box-shadow:0 0 0 1px #a83a3a}.ff-card-hindered-chip{color:#f28e8e;transform:translate(-60%,50%)}.ff-hier-badge--keyevent-adverse{background:#be3c3c42;border:1px solid #dc5a5a99;color:#f28e8e;font-size:var(--fs-9);line-height:1.3;overflow-wrap:break-word;text-align:center;white-space:normal}.ff-cumulative-block--keyevent.ff-cumulative-block--keyevent-adverse{background:#280a0a73;border:1px solid #dc5a5a38}.ff-cumulative-block--keyevent-adverse.ff-cumulative-block--keyevent-active{border-color:#d84a4a8c;box-shadow:0 0 0 1px #d84a4a8c}.ff-chain-card.ff-chain-keyevent-detail.ff-chain-keyevent-detail--adverse{background:#140505;border:1px solid #6a1e1e;border-top:3px solid #d84a4a}.ff-chain-keyevent-detail--adverse.ff-combo-card-active{background:#1c0808;border-color:#e87070 #a83a3a #a83a3a;box-shadow:0 0 0 1px #a83a3a,0 0 8px 1px #d84a4a40}.asw-gauge__halo{animation:asw-halo-breathe 2.4s ease-in-out infinite}.asw-gauge__pulse{animation:asw-pulse-travel 1.8s cubic-bezier(.4,0,.6,1) infinite}.asw-gauge__pulse--forward{animation-direction:reverse}@keyframes asw-halo-breathe{0%,to{opacity:1}50%{opacity:.35}}@keyframes asw-pulse-travel{0%{transform:translateX(0)}to{transform:translateX(var(--asw-travel,80px))}}@media (prefers-reduced-motion:reduce){.asw-gauge__halo,.asw-gauge__pulse{animation:none}.asw-gauge__pulse{display:none}}.ff-pviz-list .ff-card-step[data-pviz]{cursor:pointer}.ff-pviz-list .ff-card-step[data-pviz]:hover{background:#30a0701f}.ff-pviz-list .ff-pviz-active{background:#30a07038!important;border-radius:3px;outline:1px solid #6ad4a080}.ff-pviz-list .ff-pviz-rationale{margin-left:var(--ff-source-arrow-w)}.ff-pviz-rationale{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .18s ease,opacity .18s ease}.ff-pviz-rationale>div{min-height:0;overflow:hidden}.ff-pviz-rationale p{border-left:2px solid #6ad4a059;color:#8fa6c4;font-size:var(--fs-9-5);font-style:italic;font-weight:400;line-height:1.35;margin:0;padding-left:7px}.ff-pviz-rationale p+p{margin-top:3px}.ff-pviz-active>.ff-pviz-rationale{grid-template-rows:1fr;margin-top:2px;opacity:1}@media (prefers-reduced-motion:reduce){.ff-pviz-rationale{transition:none}}.gs-recherche-toolbar{align-items:center;background:#070d18;border-bottom:1px solid #1e2c45;display:flex;flex:0 0 auto;justify-content:flex-end;padding:4px 8px}.gs-compare-toggle{align-items:center;background:#0b1424;border:1px solid #243653;border-radius:999px;color:#5d7ea3;cursor:pointer;display:inline-flex;font:inherit;font-size:11px;gap:6px;letter-spacing:.06em;padding:3px 10px;text-transform:uppercase;transition:color .15s,background .15s,border-color .15s}.gs-compare-toggle:hover{border-color:#7ab8d880;color:#8cc4e4}.gs-compare-toggle--active{background:#5ab8e829;border-color:#5ab8e8cc;color:#a8e0ff}@keyframes gs-beacon-halo-pulse{0%,to{opacity:.3}50%{opacity:1}}.gs-border-beacon-halo>*{animation:gs-beacon-halo-pulse 1.9s ease-in-out infinite}.gs-tree-row--composante.gs-row-hover-ext,.gs-tree-row--cutting.gs-row-hover-ext,.gs-tree-row--odd.gs-row-hover-ext{background:#0e1e35}.gs-tree-row--action.gs-row-hover-ext{background:#112040}.gs-tree-row--keyevent.gs-row-hover-ext{background:#221d12}.gs-tree-row--composante.gs-row-hover-ext .gs-tree-composante-label{color:#7ab8e8}.gs-tree-row--cutting.gs-row-hover-ext .gs-tree-cutting-label{color:#d8eaff}.gs-tree-row--odd.gs-row-hover-ext .gs-tree-odd-tag{opacity:.8}.gs-search-widget{box-sizing:border-box;display:flex;flex:1;flex-direction:column;min-height:0;padding:10px 8px 0}.gs-search-wrap{flex-shrink:0;position:relative}#global-search-input{background:#090f1aeb;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%236a7a99' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");background-position:9px;background-repeat:no-repeat;border:1px solid #2a3f60;border-radius:6px;box-sizing:border-box;color:#c8d8f0;font-family:inherit;font-size:var(--fs-12);outline:none;padding:7px 28px 7px 30px;transition:border-color .15s;width:100%}.gs-search-clear{background:none;border:none;color:#3a5070;cursor:pointer;font-size:var(--fs-15);line-height:1;opacity:0;padding:2px 3px;pointer-events:none;position:absolute;right:7px;top:50%;transform:translateY(-50%);transition:opacity .15s,color .15s}.gs-search-clear--visible{opacity:1;pointer-events:auto}.gs-search-clear:hover{color:#a0c8e8}#global-search-input:focus{border-color:#3a7abf}#global-search-input::placeholder{color:#3a5070}#global-search-results{border-top:1px solid #1a2840;flex:1;list-style:none;margin:8px 0 0;overflow-y:auto;padding:0}.gs-no-results{color:#3a5070;padding:14px 10px}.gs-context-placeholder,.gs-no-results{font-size:var(--fs-11);text-align:center}.gs-context-placeholder{color:#4a6070;font-style:italic;list-style:none;opacity:.75;padding:20px 12px}.gs-result-item{border-bottom:1px solid #0f1826;cursor:default;display:flex;flex-direction:column;gap:0}.gs-result-item:last-child{border-bottom:none}.gs-result-item--active .gs-result-item-inner,.gs-result-item:hover .gs-result-item-inner{background:#112040}.gs-result-item-inner{cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:7px 10px}.gs-result-meta{align-items:center;display:flex;gap:6px}.gs-result-component{color:#3a7abf;font-size:var(--fs-9);letter-spacing:.1em;max-width:110px;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.gs-result-odd-dot{border-radius:50%;flex-shrink:0;height:7px;width:7px}.gs-result-odd-tag{border-left:2px solid;border-radius:3px;color:#c8d8f0;font-size:var(--fs-9);overflow:hidden;padding:1px 6px 1px 4px;text-overflow:ellipsis;white-space:nowrap}.gs-result-cutting{color:#c8d8f0;font-size:var(--fs-11);line-height:1.3}.gs-result-action-row{align-items:center;display:flex;gap:6px}.gs-result-action{color:#5a8ab0;flex:1;font-size:var(--fs-10);line-height:1.3}mark.gs-highlight{background:#3a7abf47;border-radius:2px;color:#d0e8ff;padding:0 1px}.gs-tree-action,.gs-tree-composante,.gs-tree-cutting,.gs-tree-odd{list-style:none}.gs-tree-children-wrapper{display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows .26s ease}.gs-tree-children-wrapper--open{grid-template-rows:1fr}.gs-tree-children{list-style:none;margin:0;min-height:0;padding:0}.gs-cutting-impact-block{background:#0000002e;border-left:2px solid #ffffff1f;border-radius:0 4px 4px 0;margin:0;max-height:0;opacity:0;overflow:hidden;padding:0 8px 0 12px;position:relative;transition:max-height .3s ease,opacity .24s ease,padding-top .3s ease,padding-bottom .3s ease,margin-top .3s ease,margin-bottom .3s ease}.gs-cutting-impact-block--direct{background:var(--action-direct-bg);border-left-color:var(--action-direct-accent)}.gs-cutting-impact-block--propagated{background:var(--action-propagated-bg);border-left-color:var(--action-propagated-accent)}.gs-cutting-impact-block.gs-block-open{margin-bottom:4px;margin-top:2px;max-height:900px;opacity:1;padding-bottom:6px;padding-top:6px}.gs-block-lock{align-items:center;background:#0000;border:1px solid #78aae633;border-radius:8px;color:#a0c8fa73;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:var(--fs-10);gap:4px;justify-content:center;line-height:1;margin-left:auto;padding:2px 6px;transition:color .15s ease,background .15s ease,border-color .15s ease}.gs-block-lock:hover{background:#5078b433;border-color:#8cbeff73;color:#c8e1ffe6}.gs-block-lock--locked{background:#1e50a040;border-color:#50a0ff8c;color:#64b4ffe6}.gs-block-lock--locked:hover{background:#3264c859;border-color:#78beffbf;color:#fff}.gs-block-lock svg{display:block;pointer-events:none}.gs-cutting-impact-block .ff-chain-rail{padding:0}.gs-cutting-impact-block .ff-hier-action{background:none!important;border-left:none!important;margin-left:0!important}.gs-cutting-impact-block .ff-hier-action-block{padding-left:8px}.gs-cutting-impact-block .ff-hier-connector:has(+.ff-hier-action){display:none}.gs-cutting-impact-block .ff-chain-grid{gap:6px}.gs-cutting-impact-block .ff-detail-disclosure{display:none}.gs-tree-children--actions{min-height:0}.gs-tree-row{align-items:center;border-bottom:1px solid #0c1520;display:flex;gap:6px;padding:6px 10px;user-select:none}.gs-tree-row--composante{cursor:pointer;padding:7px 10px}.gs-tree-row--composante:hover{background:#0e1e35}.gs-tree-row--odd{cursor:pointer;padding:5px 10px 5px 18px}.gs-tree-row--odd:hover{background:#0e1e35}.gs-tree-row--cutting{cursor:pointer;padding:5px 10px 5px 18px}.gs-tree-row--cutting:hover{background:#0e1e35}.gs-tree-row--action{cursor:pointer;padding:4px 10px 4px 30px}.gs-tree-row--action:hover{background:#112040}.gs-tree-toggle{background:none;border:none;color:#3a5070;cursor:pointer;flex-shrink:0;font-size:var(--fs-7);line-height:1;padding:0;text-align:center;transition:color .15s;width:12px}.gs-tree-toggle:hover{color:#7ab0d0}.gs-tree-toggle--static{color:#3a5070;cursor:default;display:inline-block;flex-shrink:0;font-size:var(--fs-7);line-height:1;padding:0;text-align:center;user-select:none;width:12px}.gs-tree-composante-label{color:#4a8abf;cursor:pointer;flex:1;font-size:var(--fs-9);font-weight:600;letter-spacing:.1em;text-transform:uppercase;transition:color .15s}.gs-tree-composante-label:hover{color:#7ab8e8}.gs-tree-odd-dot{border:none;border-radius:50%;cursor:pointer;flex-shrink:0;height:11px;min-width:11px;padding:0;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;width:11px}.gs-tree-odd-dot:hover{box-shadow:0 0 0 2px #ffffffd9,0 0 10px 4px #fff6;filter:brightness(1.25);transform:scale(1.7)}.gs-tree-odd-tag{border-left:2px solid;border-radius:3px;color:#c8d8f0;cursor:pointer;flex:1;font-size:var(--fs-10);overflow:hidden;padding:1px 7px 1px 5px;text-overflow:ellipsis;transition:opacity .15s;white-space:nowrap}.gs-tree-odd-tag:hover{opacity:.8}.gs-tree-prefix{color:#2a4060;flex-shrink:0;font-size:var(--fs-10);text-align:center;width:10px}.gs-tree-prefix--action{color:inherit;font-size:var(--fs-12);width:22px}.gs-tree-prefix-icon{display:block;height:20px;margin:0 auto;object-fit:contain;width:20px}.gs-tree-cutting-label{color:#b0c8e0;cursor:pointer;flex:1;font-size:var(--fs-11);line-height:1.3;transition:color .15s}.gs-tree-cutting-label:hover{color:#d8eaff}.gs-tree-action-label{color:#5a8ab0;flex:1;font-size:var(--fs-10);line-height:1.3;min-width:0}.gs-tree-count{align-items:center;color:#4a6a8e;display:flex;flex-shrink:0;font-size:var(--fs-9);font-variant-numeric:tabular-nums;gap:3px;letter-spacing:.04em}.gs-tree-count-dot{background:#4a6a8e;border-radius:50%;height:7px;min-width:7px;width:7px}.gs-tree-count-sep{color:#2a3f5a;margin:0 1px}.gs-tree-count-n--evt{color:#a8813f}.gs-tree-count .gs-tree-keyevent-glyph{color:#a8813f;display:block;flex-shrink:0;height:9px;min-width:9px;width:9px}.gs-tree-evtgroup{border-left:3px solid #ffc87047}.gs-tree-row--evtgroup{cursor:pointer;padding:5px 10px 5px 18px}.gs-tree-row--evtgroup:hover{background:#1c1a12}.gs-tree-evtgroup-label{color:#c69a52;flex:1;font-size:var(--fs-9);letter-spacing:.14em;min-width:0;text-transform:uppercase}.gs-tree-evtgroup-count{color:#b8934a;flex-shrink:0;font-size:var(--fs-9);font-variant-numeric:tabular-nums}.gs-tree-keyevent{border-left:3px solid #ffc870}.gs-tree-row--keyevent{cursor:pointer;padding:5px 10px 5px 18px}.gs-tree-row--keyevent:hover{background:#221d12}.gs-tree-prefix--keyevent{color:inherit;width:22px}.gs-tree-keyevent-label{color:#f0dcb4;flex:1;font-size:var(--fs-11);line-height:1.3;min-width:0}.gs-tree-toggle--leaf{visibility:hidden}.gs-tree-row--action .dchip{font-size:var(--fs-8-5);opacity:.86;padding:1.5px 5px}.gs-tree-row--action.gs-row-amplified{background:#ffbe5a17;box-shadow:inset 3px 0 0 #ffc870bf}.gs-tree-row--action.gs-row-amplified .gs-tree-action-label{color:#d8b378}.gs-row-selected{background:linear-gradient(90deg,#3a8cd247,#3a8cd20f)!important;box-shadow:inset 3px 0 0 #5ab8e8}.gs-row-selected .gs-tree-composante-label{color:#b8dcf8}.gs-row-selected .gs-tree-cutting-label{color:#cce8ff}.gs-row-selected .gs-tree-action-label{color:#90c8e8}.gs-row-selected .gs-tree-keyevent-label{color:#ffeccb}.gs-tree-row--keyevent.gs-row-selected{background:linear-gradient(90deg,#ffbe5a42,#ffbe5a0d)!important;box-shadow:inset 3px 0 0 #ffc870}.gs-row-selected .gs-tree-odd-tag{filter:brightness(1.4)}.gs-search-input{background:#090f1aeb;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%236a7a99' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");background-position:9px;background-repeat:no-repeat;border:1px solid #2a3f60;border-radius:6px;box-sizing:border-box;color:#c8d8f0;font-family:inherit;font-size:var(--fs-12);outline:none;padding:7px 28px 7px 30px;transition:border-color .15s;width:100%}.gs-search-input:focus{border-color:#3a7abf}.gs-search-input::placeholder{color:#3a5070}.gs-search-results{border-top:1px solid #1a2840;flex:1;list-style:none;margin:8px 0 0;overflow-y:auto;padding:0}.gs-search-stack{display:flex;flex:1;flex-direction:column;min-height:0;position:relative}.gs-search-stack--overlay .gs-search-results .gs-tree-row,.gs-search-stack--overlay .gs-search-results li{scroll-margin-top:calc(var(--gs-overlay-h, 0px) + 6px)}.gs-search-overlay{animation:gs-search-overlay-in .16s ease-out;backdrop-filter:blur(8px) saturate(.7);background:radial-gradient(120% 60% at 50% 0,#72f5ff1a 0,#72f5ff00 70%),linear-gradient(180deg,#122c3ef0,#0b1c2cf0);border:1px solid #72f5ff61;border-radius:9px;box-shadow:0 0 0 1px #00000073,0 0 18px #72f5ff24,0 16px 34px #000000a6;display:flex;flex-direction:column;left:3px;max-height:72%;overflow:hidden;position:absolute;right:3px;top:4px;z-index:5}@keyframes gs-search-overlay-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.gs-search-overlay[hidden]{display:none}.gs-search-widget--searching #global-search-input,.gs-search-widget--searching .gs-search-input{border-color:#72f5ff8c;box-shadow:0 0 10px #72f5ff29}.gs-search-stack>.gs-search-results{transition:opacity .2s ease,filter .2s ease}.gs-search-stack--overlay:not(.gs-search-stack--collapsed)>.gs-search-results{filter:saturate(.5);opacity:.5}.gs-search-overlay-head{align-items:center;background:linear-gradient(90deg,#72f5ff29,#72f5ff0a);border-bottom:1px solid #72f5ff33;color:#6f9fb0;cursor:pointer;display:flex;flex-shrink:0;font-size:var(--fs-10);gap:6px;padding:5px 6px 5px 4px;position:relative;user-select:none}.gs-search-overlay-head:before{background:linear-gradient(90deg,#0000,#72f5ffb3,#0000);content:"";height:1px;left:10%;position:absolute;right:10%;top:0}.gs-search-overlay-collapse{background:none;border:none;color:#72d8e8;cursor:pointer;flex-shrink:0;font-size:var(--fs-11);line-height:1;padding:2px 0;width:18px}.gs-search-overlay-collapse:hover{color:#d8eaff}.gs-search-overlay-title{color:#9af2ff;font-weight:600;letter-spacing:.08em;text-shadow:0 0 8px #72f5ff59;text-transform:uppercase}.gs-search-overlay-count{color:#72b8c8}.gs-search-overlay-count,.gs-search-overlay-hint{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gs-search-overlay-hint{flex:1;text-align:right}.gs-search-overlay-done{background:#72f5ff1f;border:1px solid #72f5ff66;border-radius:4px;color:#9af2ff;cursor:pointer;flex-shrink:0;font-size:var(--fs-11);line-height:1;margin-left:auto;padding:3px 7px}.gs-search-overlay-done:hover{background:#72f5ff42;color:#e6fdff}.gs-search-overlay-list{list-style:none;margin:0;min-height:0;overflow-y:auto;padding:0}.gs-search-overlay--collapsed .gs-search-overlay-hint,.gs-search-overlay--collapsed .gs-search-overlay-list{display:none}.gs-search-overlay--collapsed .gs-search-overlay-head{border-bottom:none}.gs-search-overlay-list .gs-tree-row{border-bottom-color:#72f5ff12}.gs-search-overlay-list .gs-tree-row:hover{background:#72f5ff14}.gs-search-overlay-list .gs-row-selected:not(.gs-tree-row--keyevent){background:linear-gradient(90deg,#72f5ff3d,#72f5ff0a)!important;box-shadow:inset 3px 0 0 #72f5ff}.gs-search-overlay-list mark.gs-highlight{background:#72f5ff38;color:#e6fdff}.gs-overlay-cursor{outline:1px solid #72f5ff8c;outline-offset:-1px}.gs-search-overlay--recent :is(.gs-search-overlay-collapse,.gs-search-overlay-done,.gs-search-overlay-hint){display:none}.gs-search-overlay--recent .gs-search-overlay-head{cursor:default;padding-left:10px}.gs-recent-item{align-items:center;border-bottom:1px solid #72f5ff12;color:#c4e4ee;cursor:pointer;display:flex;font-size:var(--fs-11);gap:8px;padding:6px 10px}.gs-recent-item:last-child{border-bottom:none}.gs-recent-item.gs-overlay-cursor,.gs-recent-item:hover{background:#72f5ff1f;color:#e6fdff}.gs-recent-icon{color:#5fb8c8}.gs-recent-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gs-tree-keyevent:has(.gs-tree-row--locked){border-left-color:#57565a}.gs-tree-row--locked .ke-medallion{filter:grayscale(1);opacity:.62}.gs-tree-row--locked .gs-tree-keyevent-label{color:#9c9a93}.gs-tree-row--locked:hover{background:#1b1b1e}.gs-tree-lock-glyph{color:#86847e;flex-shrink:0;height:10px;min-width:10px;width:10px}.gs-tree-row--locked .dchip{background:#1a1a1d;border-color:#4a4a50;color:#9c9a93}.gs-detail-locked-banner{align-items:center;background:#17171a;border:1px dashed #4f4e52;border-radius:4px;color:#9c9a93;display:flex;font-size:var(--fs-9);gap:6px;letter-spacing:.12em;margin-bottom:6px;padding:4px 8px;text-transform:uppercase}.gs-detail-locked-glyph{color:#86847e;height:12px;min-width:12px;width:12px}.gs-detail-desc--locked .gs-detail-desc-text{color:#9c9a93}.gs-row-selected.gs-tree-row--adverse .gs-tree-action-label,.gs-row-selected.gs-tree-row--adverse .gs-tree-keyevent-label,.gs-tree-row--adverse .gs-tree-action-label,.gs-tree-row--adverse .gs-tree-keyevent-label{color:#f28e8e}.gs-tree-keyevent:has(.gs-tree-row--adverse){border-left-color:#f28e8e73}.gs-tree-row--adverse .ke-medallion{filter:hue-rotate(-40deg) saturate(1.4)}.dchips{align-items:center;display:flex;flex-shrink:0;gap:3px}.dchip{border-radius:999px;font-family:monospace;font-size:var(--fs-9);font-variant-numeric:tabular-nums;font-weight:700;line-height:1;padding:2px 5px;user-select:none;white-space:nowrap}.dchip--score{background:#08200f;border:1px solid #2f7a3a;color:#86e08a}.dchip--score.dchip--neg{background:#200a0a;border-color:#7a2f2f;color:#f28e8e}.dchip--weight{background:#201705;border:1px solid #8a6020;color:#f5c860}.dchip-arrow{font-size:.85em;margin-right:1px}.dchips--compact .dchip{font-size:var(--fs-8-5);opacity:.86;padding:1.5px 5px}.action-thumb{border:1px solid #78aadc40;border-radius:4px;cursor:zoom-in;flex:none;object-fit:cover}.ff-card-body{display:flex;flex-direction:column}.ff-card-media{background:#06080e;border-radius:4px;flex:1;min-height:0;overflow:hidden;position:relative}.ff-zoom-thumb{cursor:zoom-in}.ff-card-thumb{border:none;border-radius:0;height:100%;inset:0;object-fit:contain;object-position:center;position:absolute;width:100%}.ff-card-steps-overlay{background:linear-gradient(0deg,#060c18f0 0,#060c18bf 45%,#060c1800);cursor:grab;display:flex;flex-direction:column-reverse;inset:0;overflow-y:auto;overscroll-behavior:contain;position:absolute;touch-action:pan-y}.ff-card-steps-overlay:active{cursor:grabbing}.ff-card-steps-overlay .ff-card-steps{flex:none}.action-image-modal-overlay[hidden]{display:none}.action-image-modal-overlay{align-items:center;background:#040a16b3;display:flex;inset:0;justify-content:center;opacity:0;position:fixed;transition:opacity .18s ease;z-index:10000}.action-image-modal-overlay--open{opacity:1}.action-image-modal-dialog{align-items:center;display:flex;flex-direction:column;max-height:90vh;max-width:min(90vw,900px);position:relative;transform:scale(.96);transition:transform .18s ease}.action-image-modal-overlay--open .action-image-modal-dialog{transform:scale(1)}.action-image-modal-img{border-radius:6px;box-shadow:0 10px 40px #00000080;max-height:calc(90vh - 40px);max-width:100%;object-fit:contain}.action-image-modal-caption{color:#e8f0fb;font-size:var(--fs-14);margin-top:10px;text-align:center}.action-image-modal-close{align-items:center;background:#0c1834e6;border:none;border-radius:50%;color:#e8f0fb;cursor:pointer;display:flex;font-size:var(--fs-14);height:32px;justify-content:center;position:absolute;right:-16px;top:-16px;width:32px}.action-image-modal-close:hover{background:#4087d2e6}.ff-card-locked{align-items:center;background:repeating-linear-gradient(-45deg,#ffffff06 0 6px,#fff0 6px 12px),#131316;color:#6f6d66;cursor:default;display:flex;flex-direction:column;gap:4px;inset:0;justify-content:center;position:absolute}.ff-card-locked-glyph{color:#83817a;height:22px;width:22px}.ff-card-locked-label{color:#8d8b83;font-size:var(--fs-9);letter-spacing:.16em;text-transform:uppercase}[data-scoreless=true]>[data-role=yinyang-core]>:not([data-role=signature-disc]),[data-scoreless=true]>g:not([data-role])>:not([data-role=child-weight-label]){visibility:hidden}
|