*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{overflow:hidden;overscroll-behavior:none;touch-action:manipulation;height:100%}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.15}body{color:#f5f5f5;background-color:#0f1923;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}canvas{display:block}img,picture,video,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}a{text-decoration:none;color:inherit}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}.app{display:flex;height:100vh}.sidebar{display:flex;background:#1a2332;border-right:1px solid #243044;flex-direction:column;gap:24px;width:280px;min-width:280px;padding:24px 20px}.sidebar-header{border-bottom:1px solid #243044;padding-bottom:20px}.logo{letter-spacing:-.02em;color:#fff;font-size:20px;font-weight:700}.sidebar-extras{display:flex;flex-direction:column;gap:20px}.sidebar-main{display:flex;flex-direction:column;flex:1;gap:20px}.control-group{display:flex;flex-direction:column;gap:8px}.control-label{text-transform:uppercase;letter-spacing:.06em;color:#5a7a94;font-size:12px;font-weight:600}.risk-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.risk-btn{color:#7a8fa6;cursor:pointer;background:#162231;border:1px solid #2d3d50;border-radius:8px;padding:8px 0;transition:all .15s;font-size:13px;font-weight:600}.risk-btn:hover{color:#b0c4d8;background:#1e2d40;border-color:#3a5068}.risk-btn.active{color:#22c55e;background:#22c55e15;border-color:#22c55e}.risk-btn.disabled{opacity:.4;pointer-events:none;cursor:default}.row-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.row-btn{color:#7a8fa6;cursor:pointer;background:#162231;border:1px solid #2d3d50;border-radius:8px;padding:8px 0;transition:all .15s;font-size:13px;font-weight:600}.row-btn:hover{color:#b0c4d8;background:#1e2d40;border-color:#3a5068}.row-btn.active{color:#22c55e;background:#22c55e15;border-color:#22c55e}.row-btn.disabled{opacity:.4;pointer-events:none;cursor:default}.input-wrapper{position:relative}.control-input{color:#f5f5f5;outline:none;-moz-appearance:textfield;background:#162231;border:1px solid #2d3d50;border-radius:8px;width:100%;padding:10px 14px;transition:border-color .15s;font-size:14px;font-weight:500}.control-input::-webkit-inner-spin-button{-webkit-appearance:none}.control-input::-webkit-outer-spin-button{-webkit-appearance:none}.control-input:focus{border-color:#22c55e}.control-input.disabled{opacity:.4;pointer-events:none;cursor:default}.input-suffix{position:absolute;color:#5a7a94;pointer-events:none;font-size:13px;font-weight:600;top:50%;right:14px;transform:translateY(-50%)}.play-wrapper{position:relative}.tooltip{position:absolute;color:#fff;white-space:nowrap;pointer-events:none;opacity:1;background:#ef4444;border-radius:6px;margin-bottom:8px;padding:6px 12px;transition:opacity .2s;font-size:12px;font-weight:600;bottom:100%;left:50%;transform:translate(-50%)}.tooltip:after{content:"";position:absolute;border:5px solid #0000;border-top-color:#ef4444;top:100%;left:50%;transform:translate(-50%)}.tooltip.hidden{opacity:0}.play-btn{color:#0a0a0a;cursor:pointer;letter-spacing:-.01em;background:#22c55e;border:none;border-radius:10px;width:100%;padding:14px 0;transition:all .15s;font-size:15px;font-weight:700}.play-btn:hover{background:#1eae53;transform:translateY(-1px);box-shadow:0 4px 16px #22c55e40}.play-btn:active{box-shadow:none;transform:translateY(0)}.play-btn.disabled{opacity:.4;pointer-events:none;cursor:default}.play-btn.stop{color:#fff;background:#ef4444}.play-btn.stop:hover{background:#dc2626;box-shadow:0 4px 16px #ef444440}.sidebar-footer{display:flex;border-top:1px solid #243044;flex-direction:column;gap:12px;padding-top:20px}.stat{display:flex;justify-content:space-between;align-items: center;gap:6px}.stat-label{color:#5a7a94;font-size:12px;font-weight:500}.stat-value{color:#f5f5f5;font-size:14px;font-weight:600}.settings-btn{display:flex;color:#5a7a94;cursor:pointer;background:#162231;border:1px solid #2d3d50;border-radius:8px;justify-content:center;align-items: center;width:32px;height:32px;transition:all .15s}.settings-btn:hover{color:#b0c4d8;background:#1e2d40;border-color:#3a5068}.popup-overlay{position:fixed;display:flex;z-index:100;background:#00000080;justify-content:center;align-items: center;inset:0}.popup-overlay.hidden{display:none}.popup{background:#1a2332;border:1px solid #243044;border-radius:12px;min-width:260px;padding:20px}.popup-header{display:flex;justify-content:space-between;align-items: center;margin-bottom:16px}.popup-title{color:#f5f5f5;font-size:15px;font-weight:700}.popup-close{color:#5a7a94;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:20px;line-height:1}.popup-close:hover{color:#f5f5f5}.popup-body{display:grid;grid-template-columns:1fr 1fr;gap:8px}.popup-btn{cursor:pointer;background:#162231;border:1px solid #2d3d50;border-radius:8px;padding:10px 0;transition:all .15s;font-size:13px;font-weight:600}.popup-btn:hover{background:#1e2d40;border-color:#3a5068}.popup-btn--reset{grid-column:1/-1;color:#f5f5f5}.popup-btn--plus{color:#22c55e}.popup-btn--minus{color:#ef4444}.game-area{position:relative;overflow:hidden;flex:1}.game-area canvas{display:block}.fps-counter{position:absolute;color:#22c55e;pointer-events:none;z-index:10;background:#0f1923b3;border:1px solid #2d3d50;border-radius:6px;padding:4px 10px;font-family:Inter,monospace;font-size:12px;font-weight:600;top:12px;right:12px}.mobile-toggle,.mobile-toggle-label{display:none}@media (max-width:768px){.app{flex-direction:column;height:100%}.game-area{flex:none;width:100%;height:100%}.sidebar{position:fixed;z-index:50;min-width:unset;padding:10px 16px;padding-bottom:max(10px,env(safe-area-inset-bottom));background:#1a2332;border-top:1px solid #243044;border-right:none;gap:10px;width:100%;bottom:0;left:0;right:0}.sidebar-header{display:none}.sidebar-extras{overflow:hidden;gap:10px;max-height:0;transition:max-height .3s}.sidebar-extras.expanded{max-height:280px;padding-bottom:8px}.sidebar-main{display:flex;flex-direction:row;flex:0;align-items: flex-end;gap:10px}.sidebar-main .control-group{flex:1;min-width:0}.sidebar-main .play-wrapper{flex-shrink:0}.sidebar-main .play-btn{white-space:nowrap;padding:10px 24px;font-size:14px}.sidebar-main .control-input{padding:8px 12px;font-size:13px}.sidebar-main .control-label{font-size:11px}.sidebar-footer{border-top-color:#243044;flex-direction:row;justify-content:space-between;align-items: center;gap:8px;padding-top:6px}.sidebar-extras .row-selector{grid-template-columns:repeat(4,1fr);gap:4px}.sidebar-extras .row-btn,.sidebar-extras .risk-btn{padding:6px 0;font-size:12px}.sidebar-extras .control-label{font-size:11px}.mobile-toggle{display:flex;color:#5a7a94;cursor:pointer;background:#162231;border:1px solid #2d3d50;border-radius:8px;justify-content:center;align-items: center;gap:6px;width:100%;padding:6px 0;transition:all .2s;font-size:12px;font-weight:600}.mobile-toggle:active{color:#b0c4d8;background:#1e2d40}.mobile-toggle svg{transition:transform .3s}.mobile-toggle.open svg{transform:rotate(180deg)}.mobile-toggle-label{pointer-events:none}}
