body{font-family:sans-serif;background-color:transparent;margin:0;padding:0}label{display:block;margin-top:.5rem}input[type=range],input[type=number]{width:100%;background:#555;color:#f0f0f0;border:none;border-radius:2px;margin-top:.2rem}.slider-label{display:flex;justify-content:space-between;font-size:.85rem;color:#ccc}.panel{position:fixed;top:200px;left:100px;display:inline-block;background-color:#2c2c2c;border:1px solid #444;border-radius:6px;color:#fff;resize:both;width:fit-content;overflow:hidden;z-index:9999;box-shadow:0 4px 8px #0009}.panel-header{background-color:#1e1e1e;padding:4px 8px;cursor:move;display:flex;justify-content:space-between;align-items:center;user-select:none;border-top-left-radius:6px;border-top-right-radius:6px}.panel-header h2{font-size:13px;font-weight:400;margin:0;color:gold;flex:1}.panel-controls{display:flex;gap:4px}.panel-controls button{background:#444;color:#fff;border:none;padding:2px 6px;font-size:12px;border-radius:3px;cursor:pointer}.panel-controls button:hover{background:#666}.panel-body{padding-left:10px;padding-top:10px;background-color:#2c2c2c;font-size:14px;overflow-y:scroll;overflow-x:hidden;scrollbar-color:#555 transparent;scrollbar-width:thin;width:fit-content(95%);height:calc(100% - 40px)}.weather-datapoint-cell{padding:8px 12px;margin:4px 0;background-color:#444;border-radius:6px;font-family:monospace;font-size:14px;box-shadow:0 1px 2px #00000014}.mainselection{position:relative;width:200px;background-color:#444;border-radius:3px}.weather-select-menu{width:100%;padding:2px 24px 2px 6px;font-size:12px;color:#fff;background:transparent;border:none;background-color:#444;border-radius:3px;appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;outline:none;font-family:inherit}.mainselection:after{content:"▾";position:absolute;right:8px;top:50%;transform:translateY(-50%);color:#fff;pointer-events:none;font-size:18px}#playback-controls{display:flex;justify-content:center;align-items:center}#playback-controls button{font-size:18px;margin-left:4px;padding:2px 8px 4px}.tooltip{position:absolute}.dot-carousel{position:relative;left:-9999px;width:10px;height:10px;border-radius:5px;background-color:gold;color:gold;box-shadow:9984px 0 gold,9999px 0 gold,10014px 0 gold;animation:dot-carousel 1.5s infinite linear}@keyframes dot-carousel{0%{box-shadow:9984px 0 0 -1px gold,9999px 0 0 1px gold,10014px 0 0 -1px gold}50%{box-shadow:10014px 0 0 -1px gold,9984px 0 0 -1px gold,9999px 0 0 1px gold}to{box-shadow:9999px 0 0 1px gold,10014px 0 0 -1px gold,9984px 0 0 -1px gold}}html,body{overflow:hidden;height:100%;margin:0;padding:0}#menu{width:100%;height:30px;position:absolute;top:0;left:0;background-color:#2c2c2c;display:flex;align-items:center;font-family:sans-serif;user-select:none;box-shadow:0 1px 2px #0006;z-index:10001}#menu-items{display:flex;gap:16px;color:#ccc;font-size:13px;position:relative}.menu-item{position:relative;cursor:default;padding:4px 8px;border-radius:3px}.menu-item:hover{background-color:#444;color:#fff}.dropdown-menu{display:none;flex-direction:column;position:absolute;top:100%;left:0;background-color:#2d2d2d;border:1px solid #444;padding:4px 0;min-width:160px;z-index:1000}.dropdown-menu hr{border:none;background-color:#444;text-align:center;height:2px;overflow:visible;margin-top:2px;margin-bottom:2px;margin-inline-start:2px;margin-inline-end:2px}button.dropdown-item{background-color:inherit;border-color:inherit;border:none}.dropdown:hover .dropdown-menu{display:flex}.dropdown-item{display:flex;justify-content:space-between;align-items:center;padding:4px 12px;color:#ccc;white-space:nowrap}.dropdown-item:hover{background-color:#444;color:#fff}.dropdown-item input[type=checkbox]{margin-left:8px}.submenu{position:relative}.submenu .dropdown-menu.right{display:none;position:absolute;top:0;left:100%;margin-left:2px;background-color:#2d2d2d;border:1px solid #444;padding:4px 0;min-width:160px;z-index:1001;flex-direction:column}.submenu:hover>.dropdown-menu.right{display:flex}.logo-text{display:flex;justify-content:space-between;align-items:center;padding:1px 12px;color:#fff;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:15px;white-space:nowrap}#minimized-bar{width:100%;height:30px;position:fixed;bottom:0;left:0;background-color:transparent;display:flex;align-items:flex-end;padding:0 10px;gap:8px;font-family:sans-serif;user-select:none;z-index:10001}.minimized-tab{position:relative;height:35px;padding:0 12px;background-color:#ffffff1a;border-top:solid #fcd34d;color:#fff;border-radius:4px 4px 0 0;display:flex;align-items:center;justify-content:space-between;font-size:13px;cursor:pointer;white-space:nowrap;transition:all .25s ease;transform:translateY(0)}.minimized-tab:hover{background-color:#fcd34d;color:#000;transform:translateY(-8px);box-shadow:0 -2px 6px #0000004d}.close-btn{background:none;border:none;color:inherit;margin-left:16px;font-weight:700;border-radius:4px;font-size:14px;cursor:pointer;padding:0;line-height:1;transition:color .2s ease}.minimized-tab:hover .close-btn{color:#000}.close-btn:hover{color:red}.hidden{display:none!important}.notification-container{position:fixed;top:50px;right:20px;z-index:10000;pointer-events:none;max-width:400px;display:flex;flex-direction:column;gap:8px}.notification{pointer-events:auto;background:#2d2d2d;border:1px solid #444;border-radius:6px;padding:16px;box-shadow:0 4px 12px #0000004d;font-family:sans-serif;font-size:14px;color:#fff;position:relative;opacity:0;transform:translate(100%);transition:all .3s ease-out;min-width:300px;max-width:400px;word-wrap:break-word}.notification-enter{opacity:1;transform:translate(0)}.notification-exit{opacity:0;transform:translate(100%);transition:all .3s ease-in}.notification-info{border-left:4px solid #2196f3}.notification-success{border-left:4px solid #4caf50}.notification-warning{border-left:4px solid #ff9800}.notification-error{border-left:4px solid #f44336}.notification-content{display:flex;flex-direction:column;gap:12px}.notification-message{line-height:1.4;margin-right:20px}.notification-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.notification-action{padding:6px 12px;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:background-color .2s ease;text-transform:uppercase;letter-spacing:.5px}.notification-action.primary{background-color:#2196f3;color:#fff}.notification-action.primary:hover{background-color:#1976d2}.notification-action.secondary{background-color:transparent;color:#2196f3;border:1px solid #2196f3}.notification-action.secondary:hover{background-color:#2196f31a}.notification-dismiss{position:absolute;top:8px;right:8px;background:none;border:none;color:#999;font-size:18px;cursor:pointer;padding:4px;line-height:1;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:2px;transition:color .2s ease,background-color .2s ease}.notification-dismiss:hover{color:#fff;background-color:#ffffff1a}@media (max-width: 480px){.notification-container{right:10px;left:10px;max-width:none}.notification{min-width:auto;max-width:none}}@media (prefers-contrast: high){.notification{border:2px solid #fff}.notification-info{border-left:6px solid #2196f3}.notification-success{border-left:6px solid #4caf50}.notification-warning{border-left:6px solid #ff9800}.notification-error{border-left:6px solid #f44336}}@media (prefers-reduced-motion: reduce){.notification{transition:opacity .3s ease;transform:none}.notification-enter,.notification-exit{transform:none}}body{background:#1e1e1e;color:#fff;font-family:sans-serif}.plane{display:inline-block;border:1px solid #555;padding:10px}.row{display:flex;margin-bottom:5px}.seat{width:30px;height:30px;background:#ccc;margin:2px;border-radius:4px;position:relative;cursor:pointer}.seat.selected{outline:3px solid yellow}.formation1{background:#b06ab3}.formation2{background:gold}.formation3{background:#5669d8}.floor{width:70px;background:#3a2a3a;margin:2px}.door{width:30px;height:64px;background:#ccc;margin:2px}.seat:hover:after{content:attr(data-name) "\a"attr(data-role);white-space:pre;position:absolute;top:-40px;left:50%;transform:translate(-50%);background:#fff;color:#000;padding:4px 6px;border-radius:4px;font-size:12px;z-index:10}#separation-game-container{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000f2;display:none;z-index:9999;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;overflow:hidden}#separation-game-container.active{display:block}.separation-game-overlay{display:flex;flex-direction:column;gap:15px;width:100%;height:100%;color:#fff;padding:10px;box-sizing:border-box}.game-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:15px 20px;background:#2c2c2cf2;border-radius:0;box-shadow:0 2px 8px #00000080;flex-shrink:0}.game-title{font-size:28px;font-weight:700;color:#fff}.round-display{font-size:24px;color:#4caf50}.score-display{display:flex;gap:20px;font-size:18px}.score-item{display:flex;flex-direction:column;align-items:center}.score-label{font-size:12px;color:#aaa;text-transform:uppercase}.score-value{font-size:24px;font-weight:700;color:#4caf50}.score-value.fail{color:#f44336}.game-main{display:flex;flex:1;gap:15px;min-height:0;overflow:hidden}.game-left-panel{display:flex;flex-direction:column;gap:15px;width:400px;flex-shrink:0;overflow:hidden}.game-info-card{background:#2c2c2cf2;border-radius:8px;padding:15px;box-shadow:0 2px 8px #00000080;flex-shrink:0}.game-info-card h3{margin-top:0;margin-bottom:15px;font-size:18px;color:#4caf50;border-bottom:2px solid #4caf50;padding-bottom:8px}.separation-table{width:100%;border-collapse:collapse;margin-top:10px}.separation-table th,.separation-table td{padding:10px;text-align:center;border:1px solid #444}.separation-table th{background:#333;color:#4caf50;font-weight:700;font-size:14px}.separation-table td{background:#2c2c2c;font-size:16px}.separation-table tr.highlight{background:#4caf504d;box-shadow:inset 0 0 8px #4caf5080}.separation-table tr.highlight td{background:#4caf504d;font-weight:700;color:#4caf50;border-color:#4caf50}.separation-table tr.active-separation{animation:pulse-highlight .6s ease-in-out infinite}@keyframes pulse-highlight{0%,to{box-shadow:inset 0 0 8px #4caf5080}50%{box-shadow:inset 0 0 12px #4caf50cc}}.challenge-info{display:flex;flex-direction:column;gap:12px}.challenge-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#333;border-radius:4px}.challenge-label{color:#aaa;font-size:14px}.challenge-value{font-size:20px;font-weight:700;color:#fff}.timer-display{text-align:center;padding:20px}.timer-label{font-size:14px;color:#aaa;margin-bottom:8px}.timer-value{font-size:64px;font-weight:700;color:#4caf50;font-family:Courier New,monospace;text-shadow:0 0 20px rgba(76,175,80,.5)}.timer-value.counting{animation:pulse 1s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.button-container{display:flex;justify-content:center;align-items:center;padding:20px}.corner-button{position:absolute;right:20px;bottom:20px;z-index:20;pointer-events:auto}.jump-button{width:180px;height:180px;border-radius:50%;border:8px solid #8b0000;background:radial-gradient(circle at 30% 30%,#f44,#c00);box-shadow:0 8px #600,0 12px 20px #00000080,inset 0 2px 10px #ffffff4d;cursor:pointer;transition:all .1s;font-size:32px;font-weight:700;color:#fff;text-transform:uppercase;text-shadow:0 2px 4px rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center}.jump-button:hover{background:radial-gradient(circle at 30% 30%,#f55,#d00);transform:translateY(-2px);box-shadow:0 10px #600,0 14px 24px #0009,inset 0 2px 10px #fff6}.jump-button:active{transform:translateY(4px);box-shadow:0 4px #600,0 6px 12px #0006,inset 0 2px 10px #fff3}.jump-button:disabled{background:radial-gradient(circle at 30% 30%,#666,#444);border-color:#333;cursor:not-allowed;box-shadow:0 8px #222,0 12px 20px #0000004d;opacity:.5;transition:opacity .3s ease}.game-view-container{flex:1;background:#000000b3;border-radius:8px;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;min-height:0;min-width:0}.game-view-container canvas{width:100%!important;height:100%!important;display:block}.game-view-overlay{position:absolute;top:20px;left:20px;right:20px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;z-index:10}body.separation-game-active #menu,body.separation-game-active #minimized-bar,body.separation-game-active #compassContainer,body.separation-game-active .panel,body.separation-game-active canvas:not(#separation-game-container canvas){display:none!important}.view-status{background:#2c2c2cf2;padding:12px 20px;border-radius:6px;font-size:16px;font-weight:700;color:#4caf50;transition:color .3s ease}.game-instructions{background:#2c2c2cf2;padding:15px 20px;border-radius:8px;font-size:13px;line-height:1.8;color:#ccc;border-left:4px solid #4caf50}.game-instructions strong{color:#4caf50}.results-overlay{position:absolute;inset:0;background:#000000e6;display:none;justify-content:center;align-items:center;z-index:100}.results-overlay.show{display:flex}.results-content{background:#2c2c2c;padding:40px;border-radius:12px;text-align:center;max-width:500px;box-shadow:0 4px 20px #00000080}.results-title{font-size:48px;font-weight:700;margin-bottom:20px}.results-title.success{color:#4caf50}.results-title.fail{color:#f44336}.results-details{font-size:18px;margin-bottom:30px;color:#ccc}.results-details .highlight{color:#fff;font-weight:700;font-size:24px;display:block;margin:10px 0}.results-actions{display:flex;gap:20px;justify-content:center}.results-button{padding:12px 30px;font-size:16px;font-weight:700;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.results-button.primary{background:#4caf50;color:#fff}.results-button.primary:hover{background:#45a049;transform:translateY(-2px);box-shadow:0 4px 12px #4caf5066}.results-button.secondary{background:#666;color:#fff}.results-button.secondary:hover{background:#777}.bonus-indicator{background:linear-gradient(135deg,gold,orange);color:#000;padding:15px 30px;border-radius:8px;font-size:20px;font-weight:700;text-align:center;animation:rainbow 3s infinite}@keyframes rainbow{0%,to{background:linear-gradient(135deg,gold,orange)}50%{background:linear-gradient(135deg,orange,gold)}}@media (max-width: 1400px){.game-left-panel{width:350px}.timer-value{font-size:56px}.jump-button{width:160px;height:160px}}@media (max-width: 1200px){.game-main{flex-direction:column}.game-left-panel{width:100%;max-height:40vh;flex-direction:row;flex-wrap:wrap;overflow-x:auto}.game-info-card{flex:1;min-width:250px}.game-view-container{min-height:400px}}@media (max-width: 768px){.separation-game-overlay{gap:10px;padding:5px}.game-header{flex-direction:column;gap:10px;padding:10px}.timer-value{font-size:48px}.jump-button{width:140px;height:140px;font-size:24px}}
