:root{--sp-bg-deep: #0d0b0f;--sp-bg-mid: #1a1520;--sp-bg-warm: #2a1f28;--sp-brass: #b88e4a;--sp-brass-light: #e8d5a3;--sp-brass-bright: #dc9a40;--sp-text-muted: rgba(255, 255, 255, .35);--sp-text-dim: rgba(255, 255, 255, .15);--sp-panel-bg: rgba(255, 255, 255, .03);--sp-panel-border: rgba(184, 142, 74, .2);--sp-font: "VT323", "Courier New", monospace}.sp-screen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:transparent;z-index:100;font-size:calc(1em * var(--sp-scale, 1))}.sp-screen>.sp-panel,.sp-screen>.sp-settings-layout{transform:scale(var(--sp-scale, 1));transform-origin:center center}.sp-panel{background:#0d0b0fd9;border:1px solid rgba(184,142,74,.25);border-radius:8px;box-shadow:0 8px 32px #000000b3,inset 0 1px #ffffff0d;padding:36px;position:relative;overflow:hidden;animation:sp-panel-in .3s cubic-bezier(.22,.61,.36,1) both}.sp-panel--narrow{max-width:560px;width:94vw;padding:44px}.sp-title-block{position:relative;text-align:center;margin-bottom:30px}.sp-title{font-family:var(--sp-font);font-size:clamp(100px,14vw,200px);color:var(--sp-brass-light);letter-spacing:18px;text-shadow:0 0 80px rgba(184,142,74,.7),0 0 160px rgba(184,142,74,.35),0 8px 16px rgba(0,0,0,.95);text-align:center;margin:0;animation:sp-title-glow 3s ease-in-out infinite}.sp-splash{position:absolute;right:-30px;bottom:10px;font-family:var(--sp-font);font-size:22px;color:#fe4;text-shadow:0 0 12px rgba(255,238,68,.5),0 2px 4px rgba(0,0,0,.8);transform:rotate(-15deg);animation:sp-splash-pulse 1.5s ease-in-out infinite;white-space:nowrap;pointer-events:none}@keyframes sp-splash-pulse{0%,to{transform:rotate(-15deg) scale(1)}50%{transform:rotate(-15deg) scale(1.12)}}.sp-heading{font-family:var(--sp-font);font-size:30px;color:var(--sp-brass-light);letter-spacing:4px;text-shadow:0 0 16px rgba(184,142,74,.3);margin:0 0 14px}.sp-btn{background:linear-gradient(180deg,#b88e4a59,#b88e4a26);border:1px solid rgba(184,142,74,.45);border-radius:5px;color:#e8d5a3;font-family:var(--sp-font);font-size:24px;letter-spacing:3px;padding:16px 36px;cursor:pointer;transition:all .25s ease;position:relative;overflow:hidden;text-align:center}.sp-btn:before{content:"";position:absolute;bottom:0;left:0;right:0;height:100%;background:radial-gradient(circle 1.5px,rgba(220,154,64,.7) 100%,transparent 100%);background-size:10px 10px;opacity:0;pointer-events:none;transition:opacity .25s ease}.sp-btn:hover:before{opacity:1;animation:sp-particle-rise .8s ease-out infinite}.sp-btn:after{content:"⚙";position:absolute;right:10px;top:50%;transform:translateY(-50%);opacity:0;transition:opacity .25s ease;font-size:16px}.sp-btn:hover:after{opacity:1;animation:sp-gear-spin 2s linear infinite}.sp-btn:hover{box-shadow:0 0 20px #b88e4a4d,inset 0 0 8px #b88e4a1a;border-color:#dc9a40a6;transform:scale(1.03)}.sp-btn:active{transform:scale(.97);box-shadow:0 0 30px #b88e4a80}.sp-btn-primary{background:linear-gradient(180deg,#b88e4acc,#b88e4a80);border:1px solid rgba(184,142,74,.75);animation:sp-pulse 3s ease-in-out infinite}.sp-btn-secondary{background:#ffffff2e;border:1px solid rgba(255,255,255,.25);color:#fffc}.sp-btn-secondary:hover{color:var(--sp-brass-light);border-color:#b88e4a4d}.sp-btn-danger{background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#ffffff8c}.sp-btn-danger:hover{color:#c44;border-color:#c44}.sp-btn-big{font-size:28px;padding:20px 44px;letter-spacing:4px}.sp-btn-wide{width:100%;max-width:520px}.sp-btn-row{display:flex;gap:14px;width:100%;max-width:520px}.sp-field{margin-bottom:18px}.sp-label{font-family:var(--sp-font);font-size:14px;color:#b88e4a80;text-transform:uppercase;letter-spacing:2px;margin-bottom:6px;display:block}.sp-input{background:#00000080;border:1px solid rgba(184,142,74,.25);border-radius:5px;padding:12px 14px;color:#e8d5a3;font-family:var(--sp-font);font-size:18px;width:100%;box-sizing:border-box}.sp-input:focus{border-color:#b88e4a66;box-shadow:0 0 12px #b88e4a26;outline:none}.sp-slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;background:#0006;border:1px solid rgba(184,142,74,.15);border-radius:3px;outline:none}.sp-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,var(--sp-brass-light),var(--sp-brass));box-shadow:0 0 6px #b88e4a66;cursor:pointer}.sp-slider::-moz-range-track{height:4px;background:#0006;border:1px solid rgba(184,142,74,.15);border-radius:2px}.sp-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,var(--sp-brass-light),var(--sp-brass));box-shadow:0 0 6px #b88e4a66;cursor:pointer;border:none}.sp-toggle{width:48px;height:24px;border-radius:12px;background:#ffffff1a;position:relative;cursor:pointer;transition:background .2s ease;flex-shrink:0}.sp-toggle.active{background:linear-gradient(135deg,var(--sp-brass),var(--sp-brass-bright))}.sp-toggle:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s ease;box-shadow:0 1px 4px #0000004d}.sp-toggle.active:after{transform:translate(24px)}.sp-btn-group{display:flex;flex-direction:row;gap:4px}.sp-btn-group-item{background:#ffffff14;border:1px solid rgba(255,255,255,.14);color:#ffffff8c;font-family:var(--sp-font);font-size:18px;padding:10px 16px;cursor:pointer;border-radius:5px;transition:all .2s ease;flex:1}.sp-btn-group-item.active{background:linear-gradient(180deg,#b88e4a66,#b88e4a33);border-color:#b88e4a80;color:var(--sp-brass-light)}.sp-keybind-row{display:flex;justify-content:space-between;align-items:center}.sp-keybind-label{font-family:var(--sp-font);font-size:17px;color:var(--sp-text-muted)}.sp-keybind-btn{background:transparent;border:1px solid rgba(184,142,74,.25);border-radius:5px;color:var(--sp-brass-light);font-family:var(--sp-font);font-size:16px;padding:6px 14px;cursor:pointer;transition:all .2s ease}.sp-keybind-btn.listening{animation:sp-pulse 1.5s ease-in-out infinite}.sp-mode-row{display:flex;gap:6px}.sp-mode-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.14);color:#ffffff8c;font-family:var(--sp-font);font-size:18px;padding:10px 18px;cursor:pointer;border-radius:5px;transition:all .2s ease;flex:1}.sp-mode-btn.active{background:linear-gradient(180deg,#b88e4a66,#b88e4a33);border-color:#b88e4a80;color:var(--sp-brass-light)}.sp-settings-layout{display:flex;background:#0d0b0fe0;border:1px solid rgba(184,142,74,.25);border-radius:10px;width:90vw;max-width:820px;min-height:560px;max-height:88vh;overflow:hidden;box-shadow:0 8px 32px #0009,inset 0 1px #ffffff0a;animation:sp-panel-in .3s cubic-bezier(.22,.61,.36,1) both}.sp-sidebar{width:200px;background:#00000059;border-right:1px solid rgba(184,142,74,.12);padding:20px 0;display:flex;flex-direction:column;flex-shrink:0}.sp-sidebar-title{text-align:center;font-family:var(--sp-font);font-size:24px;color:var(--sp-brass-light);letter-spacing:4px;margin-bottom:22px;text-shadow:0 0 14px rgba(184,142,74,.3)}.sp-sidebar-item{padding:14px 20px;font-family:var(--sp-font);font-size:18px;color:var(--sp-text-muted);display:flex;align-items:center;gap:12px;background:none;border:none;cursor:pointer;text-align:left;width:100%;transition:color .2s ease}.sp-sidebar-item:hover{color:#fff9}.sp-sidebar-item.active{color:var(--sp-brass-light);border-left:2px solid var(--sp-brass);background:#b88e4a1f}.sp-sidebar-spacer{flex:1}.sp-sidebar-done{border-top:1px solid rgba(184,142,74,.12);margin-top:8px;padding-top:8px}.sp-sidebar-done .sp-sidebar-item{color:#ffffff73}.sp-settings-content{flex:1;padding:32px;overflow-y:auto;min-width:420px;scrollbar-width:thin;scrollbar-color:var(--sp-brass) rgba(0,0,0,.2)}.sp-settings-content::-webkit-scrollbar{width:6px}.sp-settings-content::-webkit-scrollbar-track{background:#0003}.sp-settings-content::-webkit-scrollbar-thumb{background:var(--sp-brass);border-radius:3px}.sp-settings-page{display:none}.sp-settings-page.active{display:block}.sp-settings-cat-title{font-family:var(--sp-font);font-size:22px;color:var(--sp-brass-light);letter-spacing:3px;margin-bottom:20px}.sp-slider-field{display:flex;flex-direction:column;margin-bottom:18px}.sp-slider-header{display:flex;justify-content:space-between;margin-bottom:8px}.sp-slider-label{font-family:var(--sp-font);font-size:18px;color:#fff9}.sp-slider-value{font-family:var(--sp-font);font-size:18px;color:var(--sp-brass-light)}.sp-toggle-field{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.sp-create-layout{display:flex;width:100vw;height:100vh;gap:0;background:linear-gradient(135deg,var(--sp-bg-deep) 0%,var(--sp-bg-mid) 50%,var(--sp-bg-warm) 100%)}.sp-create-preview{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid rgba(184,142,74,.12);padding:40px;background:#0003;position:relative}.sp-create-preview canvas{max-width:100%;max-height:60vh;border-radius:4px}.sp-create-form{flex:1;padding:48px 56px;display:flex;flex-direction:column;justify-content:center;gap:8px;max-width:480px}.sp-preview-label{font-family:var(--sp-font);font-size:14px;color:#b88e4a66;letter-spacing:3px;margin-top:20px}.sp-preview-seed{font-family:var(--sp-font);font-size:13px;color:var(--sp-text-muted);margin-top:4px}.sp-world-card{display:flex;align-items:center;gap:14px;background:#0000004d;border:1px solid rgba(184,142,74,.15);border-radius:6px;padding:14px 16px;margin-bottom:14px;width:100%;box-sizing:border-box;cursor:pointer;transition:all .2s ease}.sp-world-card:hover{border-color:#b88e4a59;box-shadow:0 0 12px #b88e4a1a}.sp-world-icon{font-size:40px}.sp-world-name{font-family:var(--sp-font);font-size:22px;color:var(--sp-brass-light)}.sp-world-meta{font-family:var(--sp-font);font-size:15px;color:var(--sp-text-muted)}.sp-world-label{font-family:var(--sp-font);font-size:14px;color:var(--sp-text-muted);margin-bottom:14px}.sp-world-list{max-height:60vh;overflow-y:auto;margin-bottom:14px;width:100%;display:flex;flex-direction:column;gap:8px;scrollbar-width:thin;scrollbar-color:var(--sp-brass) rgba(0,0,0,.2)}.sp-world-list::-webkit-scrollbar{width:6px}.sp-world-list::-webkit-scrollbar-track{background:#0003}.sp-world-list::-webkit-scrollbar-thumb{background:var(--sp-brass);border-radius:3px}.sp-world-card{cursor:default}.sp-world-card .sp-world-left{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.sp-world-card .sp-world-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.sp-world-play-btn{background:linear-gradient(180deg,#b88e4a80,#b88e4a40);border:1px solid rgba(184,142,74,.55);border-radius:5px;color:#e8d5a3;font-family:var(--sp-font);font-size:18px;padding:8px 16px;cursor:pointer;transition:all .2s ease}.sp-world-play-btn:hover{box-shadow:0 0 12px #b88e4a4d;transform:scale(1.05)}.sp-world-delete-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:5px;color:#fff6;font-size:18px;width:36px;height:36px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0}.sp-world-delete-btn:hover{color:#c44;border-color:#c44;background:#cc44441a}.sp-world-mode{font-family:var(--sp-font);font-size:13px;color:#b88e4a80;text-transform:uppercase;letter-spacing:1px}.sp-world-empty{font-family:var(--sp-font);font-size:20px;color:var(--sp-text-muted);text-align:center;padding:32px 0}.sp-decor-gear{position:absolute;border-radius:50%;border:3px solid rgba(184,142,74,.2);pointer-events:none;animation:sp-gear-rotate 20s linear infinite}.sp-decor-gear--tl{top:-20px;right:-20px;width:120px;height:120px}.sp-decor-gear--br{bottom:-30px;left:-20px;width:100px;height:100px;animation-direction:reverse}.sp-decor-pipe{position:absolute;width:2px;background:linear-gradient(180deg,transparent,rgba(180,120,60,.3),transparent);pointer-events:none}.sp-decor-pipe--left{left:20px;top:0;bottom:0}.sp-decor-pipe--right{right:20px;top:0;bottom:0}.sp-scanlines{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px);pointer-events:none;z-index:1}.sp-screen--loading{background:#1a1510;flex-direction:column;gap:18px}.sp-loading-logo{font-family:var(--sp-font);font-size:56px;color:var(--sp-brass-light);letter-spacing:8px;text-shadow:0 0 30px rgba(184,142,74,.4)}.sp-loading-world{font-family:var(--sp-font);font-size:24px;color:var(--sp-text-muted);letter-spacing:2px}.sp-loading-bar{width:340px;height:8px;background:#0006;border-radius:3px;border:1px solid rgba(184,142,74,.15);overflow:hidden}.sp-loading-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--sp-brass),var(--sp-brass-bright));border-radius:3px;box-shadow:0 0 8px #b88e4a66;transition:width .4s ease}.sp-loading-progress{font-family:var(--sp-font);font-size:15px;color:var(--sp-brass-light);letter-spacing:1px;margin-top:-8px}.sp-loading-tip{font-family:var(--sp-font);font-size:18px;color:var(--sp-text-muted);transition:opacity .45s ease;text-align:center}.sp-screen--pause{background:#000000b3}.sp-version{position:absolute;bottom:8px;left:12px;font-size:12px;color:var(--sp-text-dim);font-family:var(--sp-font)}#screen-main:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 70% at 50% 50%,transparent 40%,rgba(0,0,0,.55) 100%);pointer-events:none;z-index:1}#screen-main:after{content:"";position:absolute;bottom:0;left:0;right:0;height:35%;background:linear-gradient(to top,rgba(0,0,0,.45),transparent);pointer-events:none;z-index:1}.sp-main-layout{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:2;gap:0}.sp-main-buttons{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:50px}@keyframes sp-pulse{0%,to{box-shadow:0 0 16px #b88e4a26}50%{box-shadow:0 0 24px #b88e4a4d}}@keyframes sp-gear-spin{0%{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}@keyframes sp-particle-rise{0%{transform:translateY(0);opacity:.9}to{transform:translateY(-24px);opacity:0}}@keyframes sp-gear-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes sp-title-glow{0%,to{text-shadow:0 0 40px rgba(184,142,74,.5),0 0 80px rgba(184,142,74,.2),0 4px 8px rgba(0,0,0,.9)}50%{text-shadow:0 0 60px rgba(220,154,64,.7),0 0 120px rgba(184,142,74,.35),0 0 180px rgba(184,142,74,.15),0 4px 8px rgba(0,0,0,.9)}}@keyframes sp-panel-in{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:640px){.sp-create-layout{flex-direction:column;height:auto;min-height:100vh}.sp-create-form{padding:24px;max-width:none}.sp-settings-layout{flex-direction:column}.sp-sidebar{width:100%;flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid rgba(184,142,74,.12)}}
