.kotor-modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;z-index:1000}.kotor-modal-backdrop.visible{display:flex}.kotor-modal-backdrop .kotor-modal{background:#0f1a24;border:2px solid #d4a03d;padding:2rem;max-width:600px;width:90%;max-height:80vh;display:flex;flex-direction:column;color:#e6b35c;box-shadow:0 0 20px #000;border-radius:8px;cursor:auto}.kotor-modal-backdrop .modal-heading{font-size:1.25rem;font-weight:bold;margin-bottom:1rem;color:#e6b35c}.kotor-modal-backdrop .modal-content{overflow-y:auto;flex:1;margin-bottom:2rem}.kotor-modal-backdrop .modal-text{font-size:1rem;line-height:1.5;color:#d5b88a}.kotor-modal-backdrop .modal-actions{display:flex;justify-content:center;gap:1rem}.kotor-modal-backdrop .modal-button{background:rgba(0,0,0,0);border:2px solid #d4a03d;color:#e6b35c;padding:.5rem 1.5rem;font-size:1rem;font-weight:bold;cursor:pointer;border-radius:4px;box-shadow:0 0 4px #000}.kotor-modal-backdrop .modal-button:hover{background:#1c2c38}.kotor-modal-backdrop .modal-button:active{background:#2c3e50}.kotor-modal-backdrop.TSL .kotor-modal{background:#0d1b14;border-color:#1a5f4e;color:#3fc;box-shadow:inset 0 0 0 1px #1a5f4e,0 0 2px #002b1e}.kotor-modal-backdrop.TSL .kotor-modal .modal-heading{color:#66ccb5}.kotor-modal-backdrop.TSL .kotor-modal .modal-text{color:#0cc597}.kotor-modal-backdrop.TSL .kotor-modal .modal-button{border-color:#1a5f4e;color:#0fc;background-color:rgba(0,0,0,0)}.kotor-modal-backdrop.TSL .kotor-modal .modal-button:hover{background:rgba(0,255,204,.1)}.kotor-modal-backdrop.TSL .kotor-modal .modal-button:active{background:rgba(0,255,204,.2)}.kotor-modal-backdrop.forge-style-modal .kotor-modal{width:min(720px,100%);max-width:720px;max-height:min(80vh,920px);border:1px solid #464646;border-radius:5px;box-shadow:2px 2px 10px #1d1d1d;background:#212121;color:#ccc;padding:0;overflow:hidden}.kotor-modal-backdrop.forge-style-modal .modal-heading{margin:0;padding:24px 24px 12px;color:#c9dde6;font-size:1.6rem;line-height:1.2;letter-spacing:.01em;text-transform:none}.kotor-modal-backdrop.forge-style-modal .modal-content{margin-bottom:0;padding:0 24px 16px;color:#ccc;font-size:.95rem;line-height:1.55}.kotor-modal-backdrop.forge-style-modal .modal-content p{margin:0}.kotor-modal-backdrop.forge-style-modal .modal-content p+p{margin-top:10px}.kotor-modal-backdrop.forge-style-modal .modal-content a{color:#62b3f9}.kotor-modal-backdrop.forge-style-modal .modal-content a:hover{color:#90ceff}.kotor-modal-backdrop.forge-style-modal .modal-actions{justify-content:flex-end;gap:10px;padding:0 24px 20px}.kotor-modal-backdrop.forge-style-modal .modal-button{min-width:140px;padding:8px 14px;border-radius:5px;border:1px solid #2a7ab9;font-size:.875rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;transition:background-color .15s ease,border-color .15s ease,color .15s ease;box-shadow:none}.kotor-modal-backdrop.forge-style-modal .modal-actions .modal-button:first-child{color:#c9dde6;border-color:#464646;background:#30303d}.kotor-modal-backdrop.forge-style-modal .modal-actions .modal-button:first-child:hover{border-color:#656565;background:#313131}.kotor-modal-backdrop.forge-style-modal .modal-actions .modal-button:last-child{color:#fff;border-color:#2a7ab9;background:linear-gradient(#133652 0%, #205784 100%)}.kotor-modal-backdrop.forge-style-modal .modal-actions .modal-button:last-child:hover{border-color:#2196f3;background:#255d8e}.kotor-modal-backdrop.forge-style-modal.grant-access-modal .kotor-modal{max-width:960px;max-height:min(88vh,920px)}@media(max-width: 640px){.kotor-modal-backdrop.forge-style-modal .modal-heading{padding:20px 16px 12px;font-size:1.35rem}.kotor-modal-backdrop.forge-style-modal .modal-content{padding:0 16px 12px}.kotor-modal-backdrop.forge-style-modal .modal-actions{flex-direction:column;padding:0 16px 16px}.kotor-modal-backdrop.forge-style-modal .modal-button{width:100%}}
.gog-widget{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#1a1a1a;border:1px solid #333;border-radius:8px;overflow:hidden;max-width:400px;box-shadow:0 4px 12px rgba(0,0,0,.3)}.gog-widget--embedded{max-width:100%;width:100%;box-shadow:none}.gog-widget--compact .gog-widget__image{height:120px}.gog-widget--compact .gog-widget__content{padding:12px}.gog-widget--compact .gog-widget__title{font-size:15px;margin-bottom:8px}.gog-widget__container{display:flex;flex-direction:column}.gog-widget__image{width:100%;height:200px;overflow:hidden;background:#2a2a2a;display:flex;align-items:center;justify-content:center}.gog-widget__image img{width:100%;height:100%;object-fit:cover}.gog-widget__content{padding:16px}.gog-widget__title{font-size:18px;font-weight:600;color:#fff;margin:0 0 12px 0;line-height:1.3}.gog-widget__os{margin-bottom:12px;font-size:14px}.gog-widget__os-label{color:#888;margin-right:8px}.gog-widget__os-list{color:#ccc}.gog-widget__os-item{display:inline-block;margin-right:6px;padding:2px 6px;border-radius:3px;background:hsla(0,0%,100%,.08);font-size:12px}.gog-widget__pricing{margin-bottom:16px}.gog-widget__price{font-size:16px;font-weight:600}.gog-widget__price--original{color:#888;text-decoration:line-through;margin-right:8px}.gog-widget__price--sale{color:#4caf50}.gog-widget__price--unavailable{color:#888;font-style:italic}.gog-widget__price-base{margin-bottom:4px}.gog-widget__price-final{display:flex;align-items:center;gap:8px}.gog-widget__discount{background:#f44336;color:#fff;padding:2px 6px;border-radius:4px;font-size:12px;font-weight:600}.gog-widget__store-button{width:100%;background:#00a8ff;color:#fff;border:none;padding:12px 16px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s ease}.gog-widget__store-button:hover:not(:disabled){background:#0091e6}.gog-widget__store-button:disabled{background:#555;cursor:not-allowed;opacity:.6}.gog-widget__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#ccc}.gog-widget__loading .gog-widget__spinner{width:32px;height:32px;border:3px solid #333;border-top:3px solid #00a8ff;border-radius:50%;animation:gog-widget-spin 1s linear infinite;margin-bottom:16px}.gog-widget__error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#f44336;text-align:center;gap:12px}.gog-widget__error-icon{font-size:24px;line-height:1}@keyframes gog-widget-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@media(max-width: 480px){.gog-widget{max-width:100%}.gog-widget__image{height:150px}.gog-widget__content{padding:12px}.gog-widget__title{font-size:16px}.gog-widget--compact .gog-widget__image{height:100px}}
.need-kotor-panel__intro{margin:0 0 16px;line-height:1.55}.need-kotor-panel__cards{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:20px;align-items:stretch}.need-kotor-panel__footnote{margin:16px 0 0;font-size:.9rem;line-height:1.5;color:#9d9d9d}.need-kotor-panel__footnote strong{color:inherit}.need-kotor-panel--compact .need-kotor-panel__cards{grid-template-columns:minmax(0, 1fr);gap:16px}.need-kotor-panel--compact .need-kotor-panel__footnote{margin-top:12px;font-size:.85rem}.game-purchase-card{display:flex;flex-direction:column;min-height:100%;border:1px solid hsla(0,0%,100%,.15);border-radius:8px;background:rgba(0,0,0,.35);padding:16px;gap:16px}.game-purchase-card__header{display:flex;align-items:center;gap:12px;min-height:48px}.game-purchase-card__logo{max-height:48px;max-width:120px;object-fit:contain;flex-shrink:0}.game-purchase-card__title{margin:0;font-size:1rem;line-height:1.35;font-weight:600}.game-purchase-card__section{display:flex;flex-direction:column;gap:8px;flex:1}.game-purchase-card__section-heading{margin:0;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#9d9d9d}.game-purchase-card--compact{padding:12px;gap:12px}.game-purchase-card--compact .game-purchase-card__title{font-size:.95rem}.game-purchase-card--compact .game-purchase-card__logo{max-height:40px;max-width:100px}.steam-store-embed{display:flex;flex-direction:column;gap:8px}.steam-store-embed__heading{margin:0;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#9d9d9d}.steam-store-embed__frame-wrapper{position:relative;width:100%;aspect-ratio:646/190;background:#1a1a1a;border:1px solid #333;border-radius:8px;overflow:hidden}.steam-store-embed__iframe{display:block;width:100%;height:100%;border:0}.steam-store-embed__placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:120px;padding:16px;background:#1a1a1a;border:1px solid #333;border-radius:8px;text-align:center}.steam-store-embed__placeholder-text{margin:0;color:#9d9d9d;font-size:.9rem}.steam-store-embed__load-btn{padding:8px 14px;border-radius:6px;border:1px solid #2a7ab9;background:linear-gradient(#133652 0%, #205784 100%);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer}.steam-store-embed__load-btn:hover{border-color:#2196f3;background:#255d8e}.steam-store-embed__link{font-size:.9rem;color:#62b3f9;text-decoration:none}.steam-store-embed__link:hover{color:#90ceff}.need-kotor-collapsible{margin-top:16px;border-top:1px solid hsla(0,0%,100%,.12);padding-top:12px}.need-kotor-collapsible__toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 0;border:none;background:rgba(0,0,0,0);color:#c9dde6;font-size:.95rem;font-weight:600;cursor:pointer;text-align:left}.need-kotor-collapsible__toggle:hover{color:#fff}.need-kotor-collapsible__toggle-icon{font-size:1.1rem;line-height:1;margin-left:12px}.need-kotor-collapsible__content{margin-top:8px}@media(max-width: 768px){.need-kotor-panel__cards{grid-template-columns:minmax(0, 1fr)}}
.click-to-begin-modal .click-to-begin-body{display:flex;align-items:flex-start;gap:12px}.click-to-begin-modal .click-to-begin-body p{flex:1}.click-to-begin-modal .click-to-begin-help-btn{flex-shrink:0;width:1.5rem;height:1.5rem;margin-top:2px;padding:0;border:1px solid #2a7ab9;border-radius:50%;background:#30303d;color:#90ceff;font-size:.85rem;font-weight:700;line-height:1;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.click-to-begin-modal .click-to-begin-help-btn:hover{border-color:#2196f3;background:#255d8e;color:#fff}.click-to-begin-modal .click-to-begin-help-btn:focus-visible{outline:2px solid #2196f3;outline-offset:2px}.click-to-begin-modal .click-to-begin-help-message{margin-top:12px;padding:10px 12px;border:1px solid #464646;border-radius:4px;background:#1a1a1a;color:#b8c5cc;font-size:.875rem;line-height:1.5}
.console{position:absolute;bottom:0;right:0;left:0;display:none}.console.on{display:block}.console:before{content:">";position:absolute;bottom:0;font-size:18pt;height:41px;font-weight:bolder;font-family:"Lucida Sans Unicode","Lucida Grande",sans-serif;left:10px;color:gold}.console>input[type=text]{background:rgba(0,0,0,.5);border:1px solid #6495ed;width:100%;font-size:18pt;font-family:"Lucida Sans Unicode","Lucida Grande",sans-serif;color:gold;text-indent:30px}.console .console-buttons{padding:10px;text-align:right}.console .console-menu-anchor{position:relative;display:inline-block}.console .console-btn{background:rgba(14,14,14,.7411764706);border:2px solid #d4a03d;color:#e6b35c;padding:.5rem 1.5rem;font-size:1rem;font-weight:bold;cursor:pointer;border-radius:4px;box-shadow:0 0 4px #000;margin-left:10px;white-space:nowrap}.console .console-btn.flex-1{flex:1}.console .console-btn:hover{background:#1c2c38}.console .console-btn:active{background:#2c3e50}.console .console-btn-small{padding:.35rem .75rem;font-size:.85rem;margin:4px 6px 0 0}.console .console-submenu{position:absolute;right:0;bottom:100%;margin-bottom:8px;padding:10px;text-align:right;background:rgba(14,14,14,.7411764706);border:2px solid #d4a03d;border-radius:4px;box-shadow:0 0 4px #000;z-index:10}.console .console-submenu-group{margin-top:8px}.console .console-submenu-title{color:#e6b35c;font-weight:bold;margin-bottom:4px}.console .console-submenu-buttons{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}.console .console-btn.on{background:#1c2c38}.console .console-btn.off{opacity:.7}.console.TSL .console-btn{border-color:#1a5f4e;color:#0fc;background-color:rgba(0,0,0,0)}.console.TSL .console-btn:hover{background:rgba(0,255,204,.1)}.console.TSL .console-btn:active{background:rgba(0,255,204,.2)}
.app-loader{display:none;position:absolute;top:0;left:0;right:0;bottom:0;background-color:#000}.app-loader.active{display:block}.app-loader.fade-in{animation:fade-in 1s ease-in-out;animation-fill-mode:forwards}.app-loader.fade-out{animation:fade-out 1s ease-in-out;animation-fill-mode:forwards}.app-loader.se-pre-con{position:fixed;left:0px;top:35px;width:100%;height:100%;z-index:9999;background:#212121}.app-loader .loading-container{left:0;right:0;position:fixed;bottom:100px;font-size:24pt;font-family:sans-serif;text-align:center}.app-loader .background{display:block;position:absolute;top:0;left:0;right:0;bottom:0;background-color:#000;background-position:center;background-size:cover;animation:loader-bg 5s infinite ease-in-out}.app-loader .logo-wrapper{position:absolute;flex:1;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center}.app-loader .logo-wrapper img{animation:pulse 5s infinite ease-in-out}.app-loader .spinner-wrapper .ball{background-color:rgba(0,0,0,0);border:5px solid rgba(0,183,229,.9);opacity:.9;border-top:5px solid rgba(0,0,0,0);border-left:5px solid rgba(0,0,0,0);border-radius:50px;box-shadow:0 0 35px #2187e7;width:60px;height:60px;margin:0 auto;animation:spin .5s infinite linear;box-sizing:border-box}.app-loader .spinner-wrapper .ball1{background-color:rgba(0,0,0,0);border:5px solid rgba(0,183,229,.9);opacity:.9;border-top:5px solid rgba(0,0,0,0);border-left:5px solid rgba(0,0,0,0);border-radius:50px;box-shadow:0 0 15px #2187e7;width:40px;height:40px;margin:0 auto;position:relative;top:-50px;animation:spinoff .5s infinite linear;box-sizing:border-box}@keyframes pulse{0%{transform:scale(1);opacity:.7}50%{transform:scale(1.05);opacity:1}100%{transform:scale(1);opacity:.7}}@keyframes loader-bg{0%{opacity:.5}50%{opacity:.4}100%{opacity:.5}}@keyframes fade-in{0%{transform:scale(1);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes fade-out{0%{transform:scale(1);opacity:1}100%{transform:scale(1);opacity:0}}@keyframes pulse{0%{transform:scale(1);opacity:.7}50%{transform:scale(1.05);opacity:1}100%{transform:scale(1);opacity:.7}}@keyframes loader-bg{0%{opacity:.5}50%{opacity:.4}100%{opacity:.5}}@keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes spinoff{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(-360deg)}}
:focus{outline:-webkit-focus-ring-color auto 0px}html{cursor:none}body{background:#000;color:#fff;font-family:"Roboto",sans-serif;margin:0;overflow:hidden;cursor:none;height:100vh;width:100vw}.viewport-wrapper{width:100%;height:100%;display:flex;align-items:center;justify-content:center}canvas:focus{outline:none}
