*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;font-family:var(--font-primary);font-size:16px;line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:#111;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{position:relative}canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:var(--z-simulation)}canvas#bg{z-index:var(--z-background)}canvas#ui{z-index:var(--z-ui-base);pointer-events:none}.info-panel{background-color:var(--color-bg-dark-75);-webkit-backdrop-filter:var(--panel-backdrop-filter);backdrop-filter:var(--panel-backdrop-filter);border-radius:var(--panel-border-radius);border:1px solid rgba(var(--color-border-rgb),.15);box-shadow:var(--panel-shadow);transition:all var(--transition-normal);overflow:hidden;padding:var(--spacing-md);box-sizing:border-box;position:absolute;z-index:var(--z-ui-overlay)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin-bottom:var(--spacing-md);color:var(--color-text-primary)}p{margin-bottom:var(--spacing-md)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{text-decoration:underline;color:rgba(var(--color-primary-rgb),.8)}button:hover{background-color:rgba(var(--color-primary-rgb),.3);transform:translateY(-1px);box-shadow:var(--button-shadow)}button.active{background-color:rgba(var(--color-primary-rgb),.4);color:var(--color-text-primary);font-weight:var(--font-weight-bold);box-shadow:var(--button-shadow)}.hidden{display:none!important}.invisible{visibility:hidden!important}.no-select{-webkit-user-select:none;user-select:none}.text-center{text-align:center}.text-right{text-align:right}.flex-center{display:flex;justify-content:center;align-items:center}#fps-counter{position:fixed;top:var(--spacing-lg);right:100px;background-color:var(--color-bg-dark-75);color:var(--color-text-primary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:20px;font-family:var(--font-monospace);font-size:var(--font-size-xs);box-shadow:var(--button-shadow);z-index:var(--z-ui-overlay);-webkit-backdrop-filter:var(--panel-backdrop-filter);backdrop-filter:var(--panel-backdrop-filter);border:1px solid rgba(var(--color-border-rgb),.15)}#root{width:100%;height:100%;position:relative;overflow:hidden}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:var(--z-modal);opacity:0;visibility:hidden;transition:all var(--transition-normal)}.modal.active{opacity:1;visibility:visible}.modal-content{background-color:var(--color-bg-dark);border-radius:var(--panel-border-radius);padding:var(--spacing-xl);box-shadow:var(--panel-shadow);max-width:80%;max-height:80%;overflow:auto;transform:translateY(20px);transition:transform var(--transition-normal)}.modal.active .modal-content{transform:translateY(0)}.grid-container{display:grid;grid-template-columns:repeat(var(--grid-columns),1fr);grid-gap:var(--grid-gap);width:100%;height:100%;position:absolute;top:0;left:0;padding:var(--spacing-lg);z-index:var(--z-ui-base)}.grid-container{grid-template-areas:"tl tl tl tl tc tc tc tc tr tr tr tr" "ml ml ml ml mc mc mc mc mr mr mr mr" "bl bl bl bl bc bc bc bc br br br br";grid-template-rows:auto 1fr auto}.grid-top-left{grid-area:tl}.grid-top-center{grid-area:tc}.grid-top-right{grid-area:tr}.grid-middle-left{grid-area:ml}.grid-middle-center{grid-area:mc}.grid-middle-right{grid-area:mr}.grid-bottom-left{grid-area:bl}.grid-bottom-center{grid-area:bc}.grid-bottom-right{grid-area:br}#logContainer{position:fixed;bottom:var(--spacing-lg);left:var(--spacing-lg);top:auto;width:var(--log-panel-width);height:auto;max-height:var(--log-panel-max-height);z-index:var(--z-ui-overlay);display:flex;flex-direction:column}#stat{position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);width:var(--stats-panel-width);max-height:calc(100% - var(--spacing-lg) * 2 - var(--control-panel-height));overflow:auto;display:flex;flex-direction:column}#controls{position:fixed;bottom:var(--spacing-lg);right:var(--spacing-lg);display:flex;flex-wrap:wrap;gap:var(--spacing-sm);background-color:var(--color-bg-dark-75);-webkit-backdrop-filter:var(--panel-backdrop-filter);backdrop-filter:var(--panel-backdrop-filter);border-radius:var(--panel-border-radius);padding:var(--spacing-sm);z-index:var(--z-ui-overlay);box-shadow:var(--panel-shadow);border:1px solid rgba(var(--color-border-rgb),.15)}.controls-toggle-button{width:30px;height:30px;display:flex;justify-content:center;align-items:center;padding:0!important;font-size:var(--font-size-xs)}.hud-tabs{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);border-bottom:1px solid rgba(var(--color-border-rgb),.2);padding-bottom:var(--spacing-xs)}.hud-tab{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);border-radius:var(--button-border-radius);background-color:transparent}.hud-tab.active{background-color:rgba(var(--color-primary-rgb),.3)}.hud-content{display:none;flex-direction:column;gap:var(--spacing-sm);overflow-y:auto;height:100%}.hud-content.active{display:flex}.language-switcher{position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);display:flex;background-color:var(--color-bg-dark-75);border-radius:20px;padding:var(--spacing-xs);box-shadow:var(--button-shadow);z-index:var(--z-ui-overlay);-webkit-backdrop-filter:var(--panel-backdrop-filter);backdrop-filter:var(--panel-backdrop-filter);border:1px solid rgba(var(--color-border-rgb),.15)}.language-switcher button{border-radius:16px;padding:var(--spacing-xs) var(--spacing-md);margin:0 var(--spacing-xxs);font-size:var(--font-size-xs);background-color:transparent;color:rgba(var(--color-text-primary-rgb),.7)}.language-switcher button.active{background-color:rgba(var(--color-primary-rgb),.7);color:var(--color-text-primary)}@media (max-width: 1200px){.grid-container{grid-template-columns:repeat(6,1fr);grid-template-areas:"tl tl tc tc tr tr" "ml ml mc mc mr mr" "bl bl bc bc br br"}}@media (max-width: 768px){.grid-container{grid-template-columns:repeat(4,1fr);grid-template-areas:"tl tc tc tr" "ml mc mc mr" "bl bc bc br"}#logContainer{width:280px;max-height:240px}#stat{width:280px}.hud-tab{padding:var(--spacing-xxs) var(--spacing-xs);font-size:calc(var(--font-size-xs) * .9)}button{padding:var(--spacing-xs) var(--spacing-md);font-size:calc(var(--font-size-xs) * .9)}}@media (max-width: 480px){.grid-container{grid-template-columns:repeat(2,1fr);grid-template-areas:"tl tr" "mc mc" "bl br";padding:var(--spacing-sm)}#logContainer{width:240px;max-height:200px;bottom:var(--spacing-sm);left:var(--spacing-sm)}#stat{width:240px;right:var(--spacing-sm);top:var(--spacing-sm)}#controls{bottom:var(--spacing-sm);right:var(--spacing-sm)}}button{position:relative;padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--button-border-radius);background-color:rgba(var(--color-primary-rgb),.2);color:var(--color-text-primary);font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-normal);overflow:hidden;letter-spacing:.3px;text-transform:uppercase;outline:none;z-index:1}button:hover{background-color:rgba(var(--color-primary-rgb),.3);transform:translateY(-1px);box-shadow:0 2px 5px #0003}button:active{background-color:rgba(var(--color-primary-rgb),.4);transform:translateY(1px);box-shadow:0 1px 2px #0000001a}button:after{content:"";position:absolute;top:50%;left:50%;width:5px;height:5px;background:#ffffffb3;opacity:0;border-radius:100%;transform:scale(1) translate(-50%,-50%);transform-origin:50% 50%;pointer-events:none}button:focus:after{animation:ripple .75s ease-out}button.active{background-color:rgba(var(--color-primary-rgb),.4);color:var(--color-text-primary);font-weight:var(--font-weight-bold);box-shadow:0 2px 5px #0003}.primary-button,#btnPauseResume,#btnRestart,#btnStartSimulation,#btnRestartNow{background-color:rgba(var(--color-primary-rgb),.7);color:#fff;padding:var(--spacing-sm) var(--spacing-lg);font-weight:var(--font-weight-bold);border-radius:var(--button-border-radius);box-shadow:0 4px 8px rgba(var(--color-primary-rgb),.3)}.primary-button:hover,#btnPauseResume:hover,#btnRestart:hover,#btnStartSimulation:hover,#btnRestartNow:hover{background-color:rgba(var(--color-primary-rgb),.8);transform:translateY(-2px);box-shadow:0 6px 12px rgba(var(--color-primary-rgb),.4)}.primary-button:active,#btnPauseResume:active,#btnRestart:active,#btnStartSimulation:active,#btnRestartNow:active{background-color:rgba(var(--color-primary-rgb),.9);transform:translateY(1px);box-shadow:0 2px 4px rgba(var(--color-primary-rgb),.4)}.progress-bar{height:8px;background-color:#ffffff1a;border-radius:4px;overflow:hidden;position:relative;margin:var(--spacing-xs) 0}.progress-bar-fill{height:100%;background-color:rgba(var(--color-primary-rgb),.7);border-radius:4px;transition:width var(--transition-normal)}.card{background-color:rgba(var(--color-bg-medium-rgb),.5);border-radius:var(--panel-border-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-md);box-shadow:var(--button-shadow);transition:all var(--transition-normal)}.card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0003}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm);border-bottom:1px solid rgba(var(--color-border-rgb),.1);padding-bottom:var(--spacing-xs)}.card-title{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.card-body{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.badge{display:inline-block;padding:var(--spacing-xxs) var(--spacing-xs);border-radius:12px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background-color:rgba(var(--color-bg-medium-rgb),.7);color:var(--color-text-secondary)}.badge.primary{background-color:rgba(var(--color-primary-rgb),.2);color:rgba(var(--color-primary-rgb),.9)}.badge.success{background-color:rgba(var(--color-success-rgb),.2);color:rgba(var(--color-success-rgb),.9)}.badge.warning{background-color:rgba(var(--color-warning-rgb),.2);color:rgba(var(--color-warning-rgb),.9)}.badge.error{background-color:rgba(var(--color-error-rgb),.2);color:rgba(var(--color-error-rgb),.9)}.data-list{list-style:none;padding:0;margin:0}.data-list-item{display:flex;justify-content:space-between;padding:var(--spacing-xs) 0;border-bottom:1px solid rgba(var(--color-border-rgb),.1)}.data-list-item:last-child{border-bottom:none}.data-list-label{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.data-list-value{color:var(--color-text-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}#resultsModal .modal-content{max-width:700px;display:flex;flex-direction:column;gap:var(--spacing-md)}.result-section{background-color:rgba(var(--color-bg-medium-rgb),.3);border-radius:var(--panel-border-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.result-section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md);color:var(--color-text-primary)}.result-chart-container{height:250px;margin:var(--spacing-md) 0}.language-switcher{position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);z-index:1000;background-color:var(--color-bg-dark-75);border-radius:20px;box-shadow:var(--button-shadow);display:flex;overflow:hidden;-webkit-backdrop-filter:var(--panel-backdrop-filter);backdrop-filter:var(--panel-backdrop-filter);padding:2px;border:1px solid rgba(var(--color-border-rgb),.15);height:32px}.language-switcher a.language-btn{color:var(--color-text-primary);text-decoration:none;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);font-family:var(--font-monospace);font-weight:500;transition:all .3s cubic-bezier(.25,1,.5,1);text-transform:uppercase;letter-spacing:1px;position:relative;border-radius:16px;margin:0 2px;display:flex;align-items:center;justify-content:center;height:100%}.language-switcher a.language-btn:hover{color:#ffffffe6;background-color:#ffffff1a}.language-switcher a.language-btn.active{color:#fff;background-color:var(--color-primary);box-shadow:0 2px 8px rgba(var(--color-primary-rgb),.5);font-weight:600}.tooltip{position:relative;display:inline-block}.tooltip .tooltip-text{visibility:hidden;width:200px;background-color:var(--color-bg-dark);color:var(--color-text-primary);text-align:center;border-radius:var(--panel-border-radius);padding:var(--spacing-sm);position:absolute;z-index:var(--z-tooltip);bottom:125%;left:50%;transform:translate(-50%);opacity:0;transition:opacity var(--transition-normal);box-shadow:var(--panel-shadow);font-size:var(--font-size-xs)}.tooltip:hover .tooltip-text{visibility:visible;opacity:1}@keyframes ripple{0%{transform:scale(0) translate(-50%,-50%);opacity:1}to{transform:scale(20) translate(-50%,-50%);opacity:0}}@-webkit-keyframes ripple{0%{-webkit-transform:scale(0,0) translate(-50%,-50%);transform:scale(0) translate(-50%,-50%);opacity:1}to{-webkit-transform:scale(20,20) translate(-50%,-50%);transform:scale(20) translate(-50%,-50%);opacity:0}}@media (max-width: 768px){button{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-xs)}.primary-button,#btnPauseResume,#btnRestart,#btnStartSimulation,#btnRestartNow{padding:var(--spacing-xs) var(--spacing-md)}.card{padding:var(--spacing-sm)}.tooltip .tooltip-text{width:160px;font-size:calc(var(--font-size-xs) * .9)}}#logContainer{display:flex;flex-direction:column;background-color:var(--color-bg-dark-75);-webkit-backdrop-filter:var(--panel-backdrop-filter);backdrop-filter:var(--panel-backdrop-filter);border-radius:var(--panel-border-radius);border:1px solid rgba(var(--color-border-rgb),.15);box-shadow:var(--panel-shadow);overflow:hidden}.log-header{display:flex;flex-direction:column;width:100%;border-bottom:1px solid rgba(var(--color-border-rgb),.2);padding:var(--spacing-xs)}.log-tabs{display:flex;gap:var(--spacing-xxs);margin-bottom:var(--spacing-xs);flex-wrap:wrap}.log-tab{padding:var(--spacing-xxs) var(--spacing-sm);font-size:var(--font-size-xs);border-radius:var(--button-border-radius);background-color:transparent;color:rgba(var(--color-text-primary-rgb),.7);border:none;cursor:pointer;transition:all var(--transition-fast)}.log-tab.active{background-color:rgba(var(--color-primary-rgb),.3);color:var(--color-text-primary)}.log-tab:hover{background-color:rgba(var(--color-primary-rgb),.2)}.log-messages-container{position:relative;flex:1;width:100%;overflow:hidden}.log-messages{height:100%;max-height:220px;padding:var(--spacing-xs);font-family:var(--font-monospace);font-size:var(--font-size-xs);line-height:1.35;color:var(--color-text-primary);overflow-y:auto;word-break:break-word}@supports (scrollbar-width: thin){.log-messages{scrollbar-width:thin;scrollbar-color:rgba(var(--color-primary-rgb),.4) rgba(var(--color-bg-dark-rgb),.2)}}.log-messages::-webkit-scrollbar{width:6px}.log-messages::-webkit-scrollbar-track{background:rgba(var(--color-bg-dark-rgb),.2);border-radius:3px}.log-messages::-webkit-scrollbar-thumb{background-color:rgba(var(--color-primary-rgb),.4);border-radius:3px}.log-messages::-webkit-scrollbar-thumb:hover{background-color:rgba(var(--color-primary-rgb),.6)}.log-message{display:grid;grid-template-columns:auto auto 1fr;grid-gap:var(--spacing-xs);margin-bottom:var(--spacing-xs);padding:var(--spacing-xs);border-radius:var(--spacing-xs);background-color:rgba(var(--color-bg-medium-rgb),.3);transition:background-color var(--transition-fast);animation:message-appear var(--transition-normal) ease-out}.log-message:hover{background-color:rgba(var(--color-bg-medium-rgb),.5)}.log-content-wrapper{display:flex;flex-direction:column;grid-column:3;width:100%;overflow:hidden}.log-content{font-family:var(--font-monospace);font-size:var(--font-size-xs);word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;line-height:1.4;white-space:pre-wrap}.log-timestamp{color:rgba(var(--color-text-secondary-rgb),.9);font-size:calc(var(--font-size-xs) * .9);padding:var(--spacing-xxs) var(--spacing-xs);margin-right:var(--spacing-xs);white-space:nowrap;grid-column:1;-webkit-user-select:none;user-select:none}.log-category{font-size:calc(var(--font-size-xs) * .85);padding:var(--spacing-xxs) var(--spacing-xs);border-radius:var(--spacing-xxs);white-space:nowrap;text-transform:uppercase;letter-spacing:.5px;background-color:rgba(var(--color-bg-medium-rgb),.4);color:rgba(var(--color-text-primary-rgb),.9);-webkit-user-select:none;user-select:none}.log-category.category-system{background-color:rgba(var(--color-log-system-rgb),.2);color:rgba(var(--color-log-system-rgb),.9)}.log-category.category-agent{background-color:rgba(var(--color-log-agent-rgb),.2);color:rgba(var(--color-log-agent-rgb),.9)}.log-category.category-world{background-color:rgba(var(--color-log-world-rgb),.2);color:rgba(var(--color-log-world-rgb),.9)}.log-category.category-error{background-color:rgba(var(--color-log-error-rgb),.2);color:rgba(var(--color-log-error-rgb),.9)}.log-empty-message{display:flex;justify-content:center;align-items:center;height:100px;color:rgba(var(--color-text-secondary-rgb),.6);font-style:italic;text-align:center;padding:var(--spacing-md);background-color:rgba(var(--color-bg-light-rgb),.2);border-radius:var(--spacing-xs);margin:var(--spacing-sm) 0;-webkit-user-select:none;user-select:none}@keyframes message-appear{0%{opacity:0;transform:translate(-5px)}to{opacity:1;transform:translate(0)}}@-webkit-keyframes message-appear{0%{opacity:0;-webkit-transform:translateX(-5px);transform:translate(-5px)}to{opacity:1;-webkit-transform:translateX(0);transform:translate(0)}}.log-controls{display:flex;justify-content:space-between;padding:var(--spacing-xxs) 0;border-top:1px solid rgba(var(--color-border-rgb),.1);margin-top:var(--spacing-xxs)}.log-control-button{padding:var(--spacing-xxs) var(--spacing-xs);font-size:calc(var(--font-size-xs) * .9);background-color:transparent;color:rgba(var(--color-text-secondary-rgb),.7);border:none;border-radius:var(--spacing-xxs);cursor:pointer;transition:all var(--transition-fast)}.log-control-button:hover{background-color:rgba(var(--color-primary-rgb),.2);color:var(--color-text-primary)}@media (max-width: 768px){.log-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:var(--spacing-xxs)}.log-tab{flex-shrink:0;padding:var(--spacing-xxs) var(--spacing-xs);font-size:calc(var(--font-size-xs) * .9)}.log-messages{max-height:180px}}.log-container,.control-panel,.data-list,.card,.tooltip,.modal-content,.feature-list,.tab-content,.hud-panel,.info-panel,.element-with-fit-content,.language-btn,.hud-tab,.log-tab,.feature-item,.progress-bar-value,.start-button{min-width:-webkit-fill-available!important;min-width:-webkit-fit-content!important;min-width:-moz-fit-content!important;min-width:fit-content!important}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0000001a;border-radius:4px}::-webkit-scrollbar-thumb{background:#64646466;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#64646480}.log-timestamp,.log-category,.log-empty-message,.version-info,.project-description,.about-project,.feature-item,.feature-title,.feature-desc,.hud-tab,.data-list-label,.card-title,.badge{-webkit-user-select:none!important;user-select:none!important}.log-messages::-webkit-scrollbar,.modal-content::-webkit-scrollbar,.hud-content::-webkit-scrollbar,#stat::-webkit-scrollbar{width:6px!important;height:6px!important}.log-messages::-webkit-scrollbar-track,.modal-content::-webkit-scrollbar-track,.hud-content::-webkit-scrollbar-track,#stat::-webkit-scrollbar-track{background:rgba(var(--color-bg-dark-rgb),.2)!important;border-radius:3px!important}.log-messages::-webkit-scrollbar-thumb,.modal-content::-webkit-scrollbar-thumb,.hud-content::-webkit-scrollbar-thumb,#stat::-webkit-scrollbar-thumb{background-color:rgba(var(--color-primary-rgb),.4)!important;border-radius:3px!important}.log-messages::-webkit-scrollbar-thumb:hover,.modal-content::-webkit-scrollbar-thumb:hover,.hud-content::-webkit-scrollbar-thumb:hover,#stat::-webkit-scrollbar-thumb:hover{background-color:rgba(var(--color-primary-rgb),.6)!important}@supports (scrollbar-width: thin){.log-messages,.modal-content,.hud-content,#stat{scrollbar-width:thin!important;scrollbar-color:rgba(var(--color-primary-rgb),.4) rgba(var(--color-bg-dark-rgb),.2)!important}}.log-message,.log-content,.card-body,.data-list-value,.tooltip-text{word-wrap:break-word!important;overflow-wrap:break-word!important;word-break:break-word!important;-webkit-hyphens:auto!important;-ms-hyphens:auto!important;hyphens:auto!important}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 rgba(var(--color-error-rgb),.7)}70%{transform:scale(1.3);box-shadow:0 0 0 4px rgba(var(--color-error-rgb),0)}to{transform:scale(.95);box-shadow:0 0 rgba(var(--color-error-rgb),0)}}@-webkit-keyframes pulse{0%{-webkit-transform:scale(.95);transform:scale(.95);box-shadow:0 0 rgba(var(--color-error-rgb),.7)}70%{-webkit-transform:scale(1.3);transform:scale(1.3);box-shadow:0 0 0 4px rgba(var(--color-error-rgb),0)}to{-webkit-transform:scale(.95);transform:scale(.95);box-shadow:0 0 rgba(var(--color-error-rgb),0)}}@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none){.info-panel,#logContainer,#controls,.language-switcher,#fps-counter,.modal-content{-webkit-backdrop-filter:var(--panel-backdrop-filter)!important;backdrop-filter:var(--panel-backdrop-filter)!important}}@supports not ((-webkit-backdrop-filter: none) or (backdrop-filter: none)){.info-panel,#logContainer,#controls,.language-switcher,#fps-counter,.modal-content{background-color:rgba(var(--color-bg-dark-rgb),.9)!important}}@supports (-ms-ime-align: auto){.info-panel,#logContainer,#controls,.language-switcher,#fps-counter{background-color:rgba(var(--color-bg-dark-rgb),.9)!important}}@media (pointer: coarse){button,.log-tab,.hud-tab{min-height:36px!important;min-width:36px!important}.log-messages,.hud-content{overflow-y:auto!important;overscroll-behavior:contain!important}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){body{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}}html[lang=ru] #logContainer{width:350px!important}html[lang=ru] .log-tab,html[lang=ru] .hud-tab,html[lang=ru] button{letter-spacing:.2px!important}html[lang=ru] .log-content,html[lang=ru] .card-body,html[lang=ru] .data-list-value{line-height:1.5!important}html[lang=ru] #controls button{min-width:80px!important}@media (max-width: 768px){html[lang=ru] #logContainer{width:300px!important}html[lang=ru] .log-tab,html[lang=ru] .hud-tab{font-size:calc(var(--font-size-xs) * .85)!important;padding:var(--spacing-xxs) var(--spacing-xs)!important}}#startScreenOverlay{position:fixed;top:0;left:0;width:100%;height:100%;background:conic-gradient(from 215deg at 50% 50%,#0f172aeb,#1e1b4bf0,#4338cad9,#6d28d9d1,#0f172aeb 360deg);display:flex;justify-content:center;align-items:center;z-index:var(--z-modal);overflow:hidden;opacity:1;visibility:visible;transition:opacity .8s cubic-bezier(.22,1,.36,1),visibility .8s cubic-bezier(.22,1,.36,1);position:relative;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fluid-shift 30s ease-in-out infinite alternate}@keyframes neuromorp-pulse{0%{box-shadow:inset 0 0 80px #ffffff08,0 0 30px #8b5cf61a,0 0 80px #4338ca0d}40%{box-shadow:inset 0 0 100px #ffffff0d,0 0 40px #8b5cf626,0 0 100px #4f46e514}70%{box-shadow:inset 0 0 120px #ffffff0a,0 0 50px #7c3aed1f,0 0 120px #4338ca12}to{box-shadow:inset 0 0 150px #ffffff0f,0 0 60px #8b5cf633,0 0 150px #4f46e51a}}@keyframes evolve-gradients{0%{background-position:0% 0%,100% 0%,0% 100%;opacity:.5}25%{background-position:10% 20%,90% 20%,10% 90%;opacity:.6}50%{background-position:20% 40%,80% 40%,20% 80%;opacity:.7}75%{background-position:30% 60%,70% 60%,30% 70%;opacity:.6}to{background-position:40% 80%,60% 80%,40% 60%;opacity:.5}}#startScreenOverlay:before,#startScreenOverlay:after{content:"";position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none}#startScreenOverlay:before{background:radial-gradient(circle at 30% 40%,rgba(76,29,149,.2) 0%,transparent 45%),radial-gradient(circle at 70% 60%,rgba(30,64,175,.2) 0%,transparent 45%),radial-gradient(circle at 90% 10%,rgba(109,40,217,.15) 0%,transparent 35%);filter:blur(12px);animation:evolve-gradients 25s ease-in-out infinite alternate;opacity:.7}#startScreenOverlay:after{background:radial-gradient(circle at 20% 30%,rgba(139,92,246,.15) 0%,transparent 40%),radial-gradient(circle at 80% 40%,rgba(67,56,202,.12) 0%,transparent 35%),radial-gradient(circle at 50% 70%,rgba(124,58,237,.1) 0%,transparent 45%),radial-gradient(circle at 10% 80%,rgba(30,64,175,.08) 0%,transparent 30%);filter:blur(20px);opacity:.75;transform-origin:center;animation:fluid-light 25s ease-in-out infinite alternate}@keyframes evolutionBG{0%{background-position:center center,0% 0%;background-size:cover,120%}25%{background-position:center center,25% 10%;background-size:cover,140%}50%{background-position:center center,50% 50%;background-size:cover,130%}75%{background-position:center center,75% 25%;background-size:cover,150%}to{background-position:center center,100% 0%;background-size:cover,120%}}@keyframes fluid-light{0%{opacity:.65;transform:scale(1) translateY(0);filter:blur(20px) brightness(1)}50%{opacity:.75;transform:scale(1.05) translateY(-5px);filter:blur(18px) brightness(1.1)}to{opacity:.7;transform:scale(1) translateY(0);filter:blur(20px) brightness(1)}}@keyframes fluid-shift{0%{background-position:0% 50%;background-size:100% 100%}50%{background-position:100% 50%;background-size:105% 105%}to{background-position:0% 50%;background-size:100% 100%}}@keyframes networkFloat{0%{transform:scale(1) rotate(0)}50%{transform:scale(1.05) rotate(3deg)}to{transform:scale(1) rotate(0)}}.evolution-particles{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:hidden}#startScreenOverlay:before{background:radial-gradient(circle at 30% 40%,rgba(76,29,149,.3) 0%,transparent 40%),radial-gradient(circle at 70% 60%,rgba(30,64,175,.3) 0%,transparent 40%),radial-gradient(ellipse at bottom,rgba(59,130,246,.2) 0%,transparent 70%),radial-gradient(ellipse at top,rgba(139,92,246,.15) 0%,transparent 70%);animation:moveBG 30s ease-in-out infinite alternate;opacity:.7;mix-blend-mode:screen}#startScreenAnimationCanvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.start-screen-content{position:relative;max-width:800px;width:90%;text-align:center;padding:var(--spacing-xl);background-color:rgba(var(--color-bg-dark-rgb),.7);border-radius:var(--panel-border-radius);-webkit-backdrop-filter:var(--panel-backdrop-filter);backdrop-filter:var(--panel-backdrop-filter);box-shadow:var(--panel-shadow);z-index:1;animation:fadeIn 1s cubic-bezier(.22,1,.36,1),floatUp 1.2s cubic-bezier(.16,1,.3,1);border:1px solid rgba(255,255,255,.1);overflow:hidden}.start-screen-content:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(255,255,255,.1) 0%,transparent 70%);animation:rotateLightEffect 15s linear infinite;z-index:-1;opacity:.7}@keyframes rotateLightEffect{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes floatUp{0%{transform:translateY(40px)}to{transform:translateY(0)}}.screen-logo{margin-bottom:var(--spacing-md);animation:pulseSubtle 4s infinite ease-in-out}#startScreenTitle{font-size:3rem;font-weight:700;margin:var(--spacing-md) 0;color:var(--color-text-primary);font-family:var(--font-heading)}.version-info{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-md);font-family:var(--font-monospace)}.highlight{color:rgba(var(--color-primary-rgb),1);font-weight:var(--font-weight-bold)}.project-description{font-size:var(--font-size-lg);margin-bottom:var(--spacing-lg);color:rgba(var(--color-text-primary-rgb),.9);line-height:1.5}.about-project{margin-bottom:var(--spacing-lg);font-size:var(--font-size-md);line-height:var(--line-height-normal);color:var(--color-text-secondary);padding:var(--spacing-md);background-color:rgba(var(--color-bg-medium-rgb),.3);border-radius:var(--spacing-sm)}.feature-list{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.feature-item{width:calc(33.333% - var(--spacing-md));min-width:180px;padding:var(--spacing-md);background-color:rgba(var(--color-bg-medium-rgb),.3);border-radius:var(--panel-border-radius);transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;align-items:center;cursor:default}.feature-item:hover{transform:translateY(-5px);box-shadow:0 10px 20px #0003;background-color:rgba(var(--color-bg-medium-rgb),.5)}.feature-icon{font-size:2rem;margin-bottom:var(--spacing-xs)}.feature-title{font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xxs);color:rgba(var(--color-primary-rgb),.9)}.feature-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.start-button{padding:16px 32px;font-size:18px;font-family:"Google Sans",var(--font-sans);font-weight:500;color:#fff;background:linear-gradient(135deg,rgba(var(--color-primary-rgb),.9),rgba(var(--color-accent-rgb),.9));border:none;border-radius:100px;cursor:pointer;transition:all .35s cubic-bezier(.25,1,.5,1);box-shadow:0 2px 10px rgba(var(--color-primary-rgb),.3),0 6px 24px #00000026;margin-bottom:var(--spacing-lg);position:relative;overflow:hidden;z-index:1;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.start-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(to right,transparent,rgba(255,255,255,.2),transparent);transition:all .8s ease;z-index:-1}.start-button:after{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border-radius:100px;background:linear-gradient(90deg,rgba(var(--color-primary-rgb),.5),rgba(var(--color-accent-rgb),.5),#9333ea80,rgba(var(--color-primary-rgb),.5));background-size:300% 100%;z-index:-2;animation:borderAnimation 8s infinite linear;opacity:0;transition:opacity .35s ease}@keyframes borderAnimation{0%{background-position:0% 50%}to{background-position:300% 50%}}.start-button:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 10px 25px rgba(var(--color-primary-rgb),.4),0 15px 30px #00000026;background:linear-gradient(135deg,rgba(var(--color-primary-rgb),1),rgba(var(--color-accent-rgb),1))}.start-button:hover:before{left:100%}.start-button:hover:after{opacity:1}.start-button:active{transform:translateY(1px) scale(.98);box-shadow:0 5px 15px rgba(var(--color-primary-rgb),.3),0 8px 15px #0000001a;transition:all .1s ease}.github-link{margin-top:var(--spacing-md);font-size:var(--font-size-sm)}.github-link a{color:var(--color-text-secondary);text-decoration:none;transition:color .2s ease}.github-link a:hover{color:rgba(var(--color-primary-rgb),.9);text-decoration:underline}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseSubtle{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}#startScreenOverlay.hidden{opacity:0;visibility:hidden}@media (max-width: 768px){.start-screen-content{padding:var(--spacing-lg)}#startScreenTitle{font-size:2.5rem}.project-description{font-size:var(--font-size-md)}.feature-list{gap:var(--spacing-sm)}.feature-item{width:calc(50% - var(--spacing-sm));min-width:150px;padding:var(--spacing-sm)}}@media (max-width: 480px){.start-screen-content{width:95%;padding:var(--spacing-md)}#startScreenTitle{font-size:2rem}.feature-item{width:100%}.start-button{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-md)}}body.simulation-active #root{display:block}body.simulation-active canvas#bg,body.simulation-active canvas#world,body.simulation-active canvas#ui{display:block}body.simulation-active #fps-counter{display:block;position:fixed;top:var(--spacing-lg);right:120px;background-color:var(--color-bg-dark-75);color:var(--color-text-primary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:20px;font-family:var(--font-monospace);font-size:var(--font-size-xs);box-shadow:var(--button-shadow);z-index:var(--z-ui-overlay);-webkit-backdrop-filter:var(--panel-backdrop-filter);backdrop-filter:var(--panel-backdrop-filter);border:1px solid rgba(var(--color-border-rgb),.15)}body.simulation-active #stat{display:flex;flex-direction:column;position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);width:var(--stats-panel-width);max-height:calc(100% - var(--spacing-lg) * 2 - var(--control-panel-height));overflow:auto;background-color:var(--color-bg-dark-75);-webkit-backdrop-filter:var(--panel-backdrop-filter);backdrop-filter:var(--panel-backdrop-filter);border-radius:var(--panel-border-radius);border:1px solid rgba(var(--color-border-rgb),.15);box-shadow:var(--panel-shadow);padding:var(--spacing-md);z-index:var(--z-ui-overlay)}.info-panel{position:absolute;top:10px;left:10px;width:250px;background-color:rgba(var(--color-bg-dark-rgb),.85);border-radius:var(--border-radius);padding:var(--spacing-md);color:var(--color-text);box-shadow:var(--shadow-md);-webkit-user-select:none;user-select:none;max-height:calc(100vh - 20px);overflow-y:auto;z-index:100;display:flex;flex-direction:column;gap:10px}body.simulation-active #logContainer{display:flex;flex-direction:column;position:fixed;bottom:var(--spacing-lg);left:var(--spacing-lg);width:var(--log-panel-width);max-height:var(--log-panel-max-height);background-color:var(--color-bg-dark-75);-webkit-backdrop-filter:var(--panel-backdrop-filter);backdrop-filter:var(--panel-backdrop-filter);border-radius:var(--panel-border-radius);border:1px solid rgba(var(--color-border-rgb),.15);box-shadow:var(--panel-shadow);z-index:var(--z-ui-overlay);overflow:hidden}body.simulation-active #controls{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;bottom:var(--spacing-lg);right:var(--spacing-lg);gap:8px;background-color:var(--color-bg-dark-75);-webkit-backdrop-filter:var(--panel-backdrop-filter);backdrop-filter:var(--panel-backdrop-filter);border-radius:var(--panel-border-radius);padding:var(--spacing-sm);z-index:var(--z-ui-overlay);box-shadow:var(--panel-shadow);border:1px solid rgba(var(--color-border-rgb),.15);max-width:350px}#controls button:not(.controls-toggle-button){background-color:rgba(var(--color-bg-medium-rgb),.4);border:1px solid rgba(var(--color-border-rgb),.2);color:var(--color-text-primary);padding:var(--spacing-xs) var(--spacing-xs);font-size:var(--font-size-xs);font-family:var(--font-monospace);border-radius:6px;cursor:pointer;min-height:32px;height:auto;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.25,1,.5,1);text-align:center;white-space:normal;word-wrap:break-word;line-height:1.2}#controls button:not(.controls-toggle-button):hover{background-color:rgba(var(--color-primary-rgb),.2);border-color:rgba(var(--color-primary-rgb),.4)}#controls button:not(.controls-toggle-button):active{transform:translateY(1px)}body.simulation-active .language-switcher{display:flex;position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);z-index:var(--z-ui-overlay);gap:var(--spacing-xxs)}.hud-tabs{display:flex;margin-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border);overflow-x:auto;-ms-overflow-style:none;width:100%}.hud-tabs::-webkit-scrollbar{height:4px}.hud-tabs::-webkit-scrollbar-thumb{background-color:rgba(var(--color-primary-rgb),.4);border-radius:2px}.hud-tab{background:none;border:none;color:var(--color-text-secondary);padding:var(--spacing-xs) var(--spacing-sm);cursor:pointer;font-size:var(--font-size-xs);font-family:var(--font-monospace);margin-right:var(--spacing-sm);position:relative;white-space:nowrap;flex-shrink:0;height:32px;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.25,1,.5,1);border-radius:6px}.hud-tab:hover{color:var(--color-primary-light)}.hud-tab.active{color:var(--color-primary);font-weight:700}.hud-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background-color:var(--color-primary)}.hud-tab-content{display:none;width:100%;padding:5px 0}.hud-tab-content.active{display:block}.selected-agent-details{margin-bottom:var(--spacing-md);display:none;background-color:rgba(var(--color-bg-dark-rgb),.5);border-radius:var(--border-radius);padding:10px;border:1px solid rgba(var(--color-primary-rgb),.3)}.selected-agent-details h4{color:var(--color-primary);margin-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border);padding-bottom:5px;font-size:14px;text-transform:uppercase;letter-spacing:1px}.selected-agent-details p{margin:5px 0;font-size:.9em;display:flex;justify-content:space-between}.selected-agent-details p:before{content:attr(data-label);font-weight:700;color:var(--color-text-secondary)}.stat-bar-group{margin-bottom:10px;display:grid;grid-template-columns:auto 1fr auto;gap:5px;align-items:center}.stat-bar-group label{font-size:.8em;color:var(--color-text-secondary);white-space:nowrap}.progress-bar-container{height:8px;background-color:rgba(var(--color-bg-light-rgb),.2);border-radius:4px;overflow:hidden}.progress-bar{height:100%;background-color:var(--color-primary);border-radius:4px;width:0%;transition:width .3s ease,background-color .3s ease}.progress-bar-value{font-size:.8em;color:var(--color-text-secondary);white-space:nowrap;min-width:45px;text-align:right}body.simulation-active #startScreenOverlay,body.simulation-active #simulationEndMessage{display:none}@media (max-width: 1200px){body.simulation-active #stat{width:280px}}@media (max-width: 768px){body.simulation-active #fps-counter{right:90px;padding:var(--spacing-xxs) var(--spacing-xs);font-size:calc(var(--font-size-xs) * .9)}body.simulation-active #stat{width:250px;max-height:calc(100% - var(--spacing-lg) * 2 - 50px)}body.simulation-active #logContainer{width:280px;max-height:220px}.hud-tab{padding:var(--spacing-xxs) var(--spacing-xs);font-size:calc(var(--font-size-xs) * .9)}}.controls-toggle-button{position:absolute;top:-15px;right:10px;width:32px;height:32px;border-radius:50%;background-color:rgba(var(--color-primary-rgb),.8);border:2px solid rgba(var(--color-light-rgb),.7);color:var(--color-light);display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;z-index:101;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 2px 5px #0003;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.controls-toggle-button:hover{background-color:rgba(var(--color-primary-rgb),1);transform:scale(1.1);box-shadow:0 4px 8px #0000004d}#controls.collapsed-position{position:fixed;bottom:20px;right:20px;left:auto;background:transparent;box-shadow:none;padding:0;z-index:1001}#controls.collapsed-position .controls-toggle-button{position:static;background-color:rgba(var(--color-accent-rgb),.9);border-color:rgba(var(--color-light-rgb),.9);box-shadow:0 4px 10px #00000080;transform:scale(1.2)}body.ui-collapsed .info-panel{transform:translate(-120%);opacity:0;pointer-events:none}body.ui-collapsed #logContainer{transform:translateY(120%);opacity:0;pointer-events:none}body.ui-collapsed #controls:not(.collapsed-position){transform:translateY(120%);opacity:0;pointer-events:none}body.ui-collapsed .hud-panel{transform:translate(-120%);opacity:0;pointer-events:none}.info-panel,#logContainer,.hud-panel,#controls{transition:transform .5s cubic-bezier(.25,.46,.45,.94),opacity .4s ease}@media (max-width: 480px){body.simulation-active #stat{width:220px;top:var(--spacing-sm);right:var(--spacing-sm)}body.simulation-active #logContainer{width:220px;max-height:180px;bottom:var(--spacing-sm);left:var(--spacing-sm)}body.simulation-active #controls{bottom:var(--spacing-sm);right:var(--spacing-sm)}body.simulation-active #fps-counter{top:var(--spacing-sm);right:80px}}:root{--color-primary-rgb: 90, 100, 220;--color-secondary-rgb: 6, 214, 160;--color-success-rgb: 6, 214, 160;--color-warning-rgb: 255, 209, 102;--color-error-rgb: 239, 71, 111;--color-info-rgb: 100, 160, 240;--color-bg-dark-rgb: 23, 26, 38;--color-bg-medium-rgb: 35, 38, 50;--color-bg-light-rgb: 45, 48, 60;--color-border-rgb: 100, 120, 180;--color-text-primary-rgb: 255, 255, 255;--color-text-secondary-rgb: 200, 210, 230;--color-text-disabled-rgb: 150, 160, 180;--color-log-default-rgb: 220, 220, 220;--color-log-system-rgb: 100, 160, 240;--color-log-agent-rgb: 6, 214, 160;--color-log-world-rgb: 255, 209, 102;--color-log-error-rgb: 239, 71, 111;--panel-border-radius: 10px;--button-border-radius: 6px;--input-border-radius: 6px;--panel-shadow: 0 8px 24px rgba(0, 0, 0, .2);--button-shadow: 0 2px 5px rgba(0, 0, 0, .2);--panel-backdrop-filter: blur(8px);--font-primary: "Roboto", "Segoe UI", system-ui, -apple-system, sans-serif;--font-monospace: "JetBrains Mono", "Roboto Mono", monospace;--font-heading: "Google Sans", "Roboto", sans-serif;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 700;--font-size-xs: .75rem;--font-size-sm: .85rem;--font-size-md: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-loose: 1.8;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--transition-emphasis: .5s cubic-bezier(.2, .8, .2, 1);--spacing-xxs: 2px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-xxl: 32px;--log-panel-width: 320px;--log-panel-max-height: 280px;--control-panel-height: 60px;--stats-panel-width: 300px;--grid-columns: 12;--grid-gap: var(--spacing-md);--z-background: 0;--z-simulation: 50;--z-ui-base: 100;--z-ui-overlay: 200;--z-modal: 300;--z-tooltip: 400}:root{--color-primary: rgba(var(--color-primary-rgb), 1);--color-secondary: rgba(var(--color-secondary-rgb), 1);--color-success: rgba(var(--color-success-rgb), 1);--color-warning: rgba(var(--color-warning-rgb), 1);--color-error: rgba(var(--color-error-rgb), 1);--color-info: rgba(var(--color-info-rgb), 1);--color-bg-dark: rgba(var(--color-bg-dark-rgb), 1);--color-bg-medium: rgba(var(--color-bg-medium-rgb), 1);--color-bg-light: rgba(var(--color-bg-light-rgb), 1);--color-text-primary: rgba(var(--color-text-primary-rgb), 1);--color-text-secondary: rgba(var(--color-text-secondary-rgb), 1);--color-bg-dark-75: rgba(var(--color-bg-dark-rgb), .75);--color-bg-dark-50: rgba(var(--color-bg-dark-rgb), .5);--color-bg-dark-25: rgba(var(--color-bg-dark-rgb), .25);--color-log-default: rgba(var(--color-log-default-rgb), 1);--color-log-system: rgba(var(--color-log-system-rgb), 1);--color-log-agent: rgba(var(--color-log-agent-rgb), 1);--color-log-world: rgba(var(--color-log-world-rgb), 1);--color-log-error: rgba(var(--color-log-error-rgb), 1)}:root{color-scheme:dark}#simulationEndMessage{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(145deg,#0b0f19f0,#0e172ff5,#1b133ff0);background-size:400% 400%;z-index:var(--z-modal);display:none;justify-content:center;align-items:center;opacity:0;visibility:hidden;transition:opacity .7s cubic-bezier(.16,1,.3,1),visibility .7s cubic-bezier(.16,1,.3,1);overflow:hidden}body.results-active #simulationEndMessage{animation:resultGradient 20s ease infinite,resultParticles 15s linear infinite}@keyframes resultGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}#simulationEndMessage:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 25% 25%,rgba(99,102,241,.15) 0%,transparent 50%),radial-gradient(circle at 75% 75%,rgba(192,132,252,.15) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(56,189,248,.1) 0%,transparent 60%);z-index:-1;opacity:0;transition:opacity 1.5s ease-in-out;animation:resultParticlesFade 4s ease-in-out forwards}@keyframes resultParticlesFade{0%{opacity:0}to{opacity:1}}#simulationEndMessage:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cg fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath opacity='.5' d='M96 95h4v1h-4v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9zm-1 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm9-10v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm9-10v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm9-10v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9z'/%3E%3Cpath d='M6 5V0H5v5H0v1h5v94h1V6h94V5H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");z-index:-1;opacity:0;transition:opacity 2s ease-in-out;animation:gridFadeIn 3s ease-in-out .5s forwards}@keyframes gridFadeIn{0%{opacity:0}to{opacity:.4}}@keyframes resultParticles{0%{background-position:0% 0%}to{background-position:100% 100%}}body.results-active #simulationEndMessage{display:flex;opacity:1;visibility:visible}.simulation-end-content{position:relative;max-width:800px;width:90%;background-color:var(--color-bg-dark);border-radius:var(--panel-border-radius);padding:var(--spacing-xl);box-shadow:var(--panel-shadow);text-align:center;max-height:90vh;overflow-y:auto;animation:slideUp .5s ease-out}.close-button{position:absolute;top:var(--spacing-md);right:var(--spacing-md);width:30px;height:30px;background:rgba(var(--color-bg-medium-rgb),.5);border:none;border-radius:50%;display:flex;justify-content:center;align-items:center;cursor:pointer;font-size:var(--font-size-lg);color:var(--color-text-secondary);transition:all .3s ease;z-index:2}.close-button:hover{background:rgba(var(--color-error-rgb),.2);color:rgba(var(--color-error-rgb),.9);transform:rotate(90deg)}#simulationEndTitle{font-size:2.5rem;margin:var(--spacing-md) 0;color:var(--color-text-primary);font-family:var(--font-heading);font-weight:var(--font-weight-bold)}.simulation-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md);margin:var(--spacing-lg) 0}.stat-item{background-color:rgba(var(--color-bg-medium-rgb),.3);padding:var(--spacing-md);border-radius:var(--panel-border-radius);display:flex;flex-direction:column;align-items:center;transition:transform .3s ease,box-shadow .3s ease}.stat-item:hover{transform:translateY(-5px);box-shadow:0 8px 16px #0003;background-color:rgba(var(--color-bg-medium-rgb),.5)}.stat-icon{font-size:2rem;margin-bottom:var(--spacing-xs)}.stat-item h3{font-size:var(--font-size-md);margin-bottom:var(--spacing-xs);color:rgba(var(--color-primary-rgb),.9);font-weight:var(--font-weight-medium)}.stat-item p{font-size:1.5rem;font-family:var(--font-monospace);color:var(--color-text-primary);font-weight:var(--font-weight-bold)}#simulationEndStats{margin:var(--spacing-lg) 0;padding:var(--spacing-md);background-color:rgba(var(--color-bg-medium-rgb),.2);border-radius:var(--panel-border-radius);text-align:left}.restart-timer{display:flex;flex-direction:column;align-items:center;margin:var(--spacing-lg) 0}.restart-timer p{color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.timer-value{font-size:2.5rem;font-family:var(--font-monospace);color:rgba(var(--color-primary-rgb),.9);font-weight:var(--font-weight-bold);animation:pulse 1s infinite alternate}#btnRestartNow{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-md);background-color:rgba(var(--color-primary-rgb),.8);color:#fff;border:none;border-radius:var(--button-border-radius);cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px rgba(var(--color-primary-rgb),.3);margin-top:var(--spacing-md);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:1px}#btnRestartNow:hover{background-color:rgba(var(--color-primary-rgb),1);transform:translateY(-3px);box-shadow:0 7px 20px rgba(var(--color-primary-rgb),.4)}#btnRestartNow:active{transform:translateY(1px);box-shadow:0 2px 8px rgba(var(--color-primary-rgb),.4)}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{opacity:1;transform:scale(1)}to{opacity:.8;transform:scale(1.1)}}body.results-active #controls,body.results-active #logContainer{opacity:.3;pointer-events:none}@media (max-width: 768px){.simulation-end-content{width:95%;padding:var(--spacing-lg)}#simulationEndTitle{font-size:2rem}.simulation-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-sm)}.stat-item{padding:var(--spacing-sm)}.stat-item p{font-size:1.2rem}.timer-value{font-size:2rem}}@media (max-width: 480px){.simulation-end-content{padding:var(--spacing-md)}#simulationEndTitle{font-size:1.8rem}.simulation-stats{grid-template-columns:1fr}#btnRestartNow{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm)}}
