:root{--cpd-purple:#8208df;--cpd-pink:#f739b2;--cpd-orange:#fe9f2a;--cpd-blue:#20ebee;--cpd-green:#adff2f;--cpd-dark-text:#303030;--cpd-font:"Orbitron", sans-serif;--cpd-font-alt:"Chakra Petch", sans-serif}body{overscroll-behavior:none;touch-action:manipulation;-webkit-user-select:none;user-select:none;background-color:#000;margin:0;overflow:hidden}input,select,textarea,button{border-radius:5px}button{cursor:pointer;appearance:none;-webkit-tap-highlight-color:transparent;color:#fff;background-color:#606060;transition:background-color .2s;outline:none!important}button:hover{background-color:#707070}select{cursor:pointer;outline:none!important}.hidden{display:none!important}#app-loading{color:gray;font-family:var(--cpd-font);background-color:#000;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:15px;width:100dvw;height:100dvh;padding:20px;font-size:20px;display:flex;position:relative;overflow:hidden}#copyright{padding:20px;font-family:sans-serif;font-size:16px;position:fixed;bottom:0}.hide-username-labels .username-label{opacity:0!important}.username-label{pointer-events:none;color:#fff;font-family:var(--cpd-font-alt);text-shadow:1px 1px 3px #000;opacity:1;z-index:1;text-align:center;max-width:150px;font-size:12px;transition:opacity .5s;position:absolute;top:0;left:0}.username-label:not(.opacity-0){will-change:transform}.username-label .npc-tag{color:var(--cpd-blue);margin-right:4px;font-weight:700}.line-clamp-1,.line-clamp-2,.line-clamp-3{text-overflow:ellipsis;word-break:break-word;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-1{-webkit-line-clamp:1;line-clamp:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;line-clamp:2}.line-clamp-3{-webkit-line-clamp:3;line-clamp:3}difficulty-selector-screen,home-screen{justify-content:center;align-items:center}home-screen header{text-align:center}home-screen .title-wrap{padding:8px 14px;display:inline-block;position:relative}home-screen .title-line{letter-spacing:.02em;margin:0;line-height:1.05}home-screen .title-en{text-transform:uppercase;color:#efe9f6;font-family:BEYONDERS,sans-serif;font-size:clamp(28px,12dvw,72px);font-weight:700}home-screen .title-en.small{margin-top:4px;font-size:clamp(18px,5dvw,36px)}home-screen .title-jp{opacity:.9;letter-spacing:.14em;color:#d2f6ff;text-shadow:0 0 8px #00f0ff66;margin-top:10px;font-family:Noto Sans JP,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;font-size:clamp(14px,1.5dvw,22px)}home-screen .title-glitch{text-shadow:0 0 14px #a86bff59,0 0 26px #ff2e9873;display:inline-block;position:relative}home-screen .title-glitch:before,home-screen .title-glitch:after{content:attr(data-text);position:absolute;inset:0}home-screen .title-glitch:before{text-shadow:-1px 0 #a86bff;clip-path:polygon(0 2%,100% 0,100% 40%,0 42%);left:1px}home-screen .title-glitch:after{text-shadow:1px 0 var(--cpd-pink);clip-path:polygon(0 60%,100% 58%,100% 100%,0 100%);left:-1px}:root{--main-menu-content-max-width:700px}main-menu{z-index:99999;position:fixed;top:0;left:0}main-menu #container{color:#e9e6f6;font-family:var(--cpd-font-alt);background:radial-gradient(1200px 800px at 80% 15%,#ff2e981a,#0000 60%),radial-gradient(1000px 700px at 10% 80%,#a86bff1a,#0000 60%),linear-gradient(#120c1a 0%,#0a0710 70%,#07040c 100%);flex-direction:column;flex:1;justify-content:center;align-items:center;width:100dvw;height:100dvh;padding:20px;display:flex;position:relative;overflow:hidden}main-menu .bg{pointer-events:none;position:absolute;inset:0}main-menu .bg-gradient{background:radial-gradient(900px 600px at 85% 20%,#ff2e9826,#0000 60%),radial-gradient(700px 500px at 15% 75%,#a86bff33,#0000 60%),radial-gradient(500px 300px at 50% 85%,#ff2e981a,#0000 70%),radial-gradient(320px 200px at 18% 24%,#a86bff1a,#0000 70%),linear-gradient(210deg,#ff2e9833 0%,#ff2e9800 35%),linear-gradient(210deg,#a86bff33 10%,#a86bff00 45%)}main-menu .bg-grid{filter:none;background-image:linear-gradient(90deg,#ff2e9840 1px,#0000 1px),linear-gradient(#ff2e9840 1px,#0000 1px);background-position:0 0,0 0;background-size:60px 60px,60px 60px;animation:10s linear infinite gridScroll;transform:perspective(300px)rotateX(55deg)translateY(110px)}@keyframes gridScroll{0%{background-position:0 0,0 0}to{background-position:0 0,0 -360px}}main-menu #screen-content{overflow:hidden auto}main-menu #screen-content .screen,main-menu #screen-content{width:100%;max-width:var(--main-menu-content-max-width);flex-direction:column;flex:1;display:flex;position:relative}main-menu #screen-content .screen.slide-animation{will-change:transform, opacity;position:absolute;inset:0}main-menu footer{z-index:99;opacity:.6;width:100%;max-width:var(--main-menu-content-max-width);justify-content:space-between;display:flex}main-menu #enable-audio-button{background:0 0;border:none;padding:0 7px}main-menu #enable-audio-button i{vertical-align:middle;font-size:35px;display:inline-flex}main-menu #back-button{opacity:0;will-change:opacity;color:#fff;font-size:16px;font-family:var(--cpd-font-alt);text-transform:uppercase;white-space:nowrap;pointer-events:none;background:0 0;border:none;outline:none;align-items:center;gap:7px;padding:0;font-weight:700;transition:opacity .5s;display:flex}main-menu #back-button i{padding-top:2px;font-size:26px}main-menu #back-button.active{opacity:1;pointer-events:all}main-menu .actions{perspective:900px;flex-direction:column;align-items:center;gap:20px;width:300px;margin-top:7dvh;margin-bottom:7dvh;display:flex}main-menu .btn-cpd{font-family:var(--cpd-font-alt);border:2px solid var(--cpd-pink);color:#fff;text-transform:uppercase;will-change:transform, opacity;background:#9c558369;border-radius:7px;width:180px;height:60px;padding:0;font-size:18px;font-weight:700;transition:transform .7s,opacity .7s;position:relative;transform:translate(0)rotate3d(-1,1,0,-25deg);box-shadow:0 2px 15px 3px #f739b1c9,inset 0 0 15px #831c5e}main-menu #screen-content .screen.pre-reveal .btn-cpd{opacity:0;pointer-events:none;transform:translateY(100px)rotateY(30deg)}main-menu .btn-cpd:focus{outline:none}main-menu .btn-cpd>div{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}main-menu .btn-cpd .btn-frame{pointer-events:none;border-radius:inherit;background-image:linear-gradient(var(--cpd-pink), var(--cpd-pink)), linear-gradient(var(--cpd-pink), var(--cpd-pink)), linear-gradient(var(--cpd-pink), var(--cpd-pink)), linear-gradient(var(--cpd-pink), var(--cpd-pink));opacity:.95;background-position:6px 6px,6px 6px,calc(100% - 6px) calc(100% - 6px),calc(100% - 6px) calc(100% - 6px);background-repeat:no-repeat;background-size:18px 2px,2px 18px,18px 2px,2px 18px;width:calc(100% + 12px);height:calc(100% + 12px);position:absolute;top:-6px;left:-6px}main-menu .btn-cpd:first-child{border-top-left-radius:0;border-top-right-radius:0}main-menu .btn-cpd:last-child{border-bottom-right-radius:0;border-bottom-left-radius:0}main-menu .btn-cpd:before,main-menu .btn-cpd:after{background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 9' preserveAspectRatio='none'><g fill='%23f739b2'><polygon points='24,9 30,9 38,0 32,0'/><polygon points='34,9 40,9 48,0 42,0'/><polygon points='52,0 100,0 100,9 44,9'/></g></svg>") 0 0/100% 100% no-repeat;border-top-right-radius:15px;width:100%;height:8px;position:absolute;right:-2px}main-menu .btn-cpd:first-child:before{content:"";top:-15px}main-menu .btn-cpd:last-child:after{content:"";bottom:-15px;transform:scaleY(-1)}main-menu .vignette{pointer-events:none;position:absolute;inset:-2px;box-shadow:inset 0 0 10vw 2vw #00000080}:root{--profile-screen-active-color:#00ffc8}profile-screen #username-input{width:100%;max-width:var(--main-menu-content-max-width);margin-bottom:15px}profile-screen #username-input input{width:100%;color:var(--profile-screen-active-color);background-color:#ffffff0f;border:none;border-bottom:1px solid #fff6;border-radius:5px;outline:none;padding:3px 10px}profile-screen #username-input[data-error]:after{content:attr(data-error);white-space:nowrap;color:var(--cpd-green);font-size:14px;font-style:italic;display:block}profile-screen h2{opacity:.6;margin-bottom:10px;margin-left:10px;font-size:14px;font-style:italic}profile-screen #character-picker{flex:1;gap:10px;display:flex}profile-screen #left-side{flex-direction:column;justify-content:space-between;padding-top:10px;padding-bottom:15px;display:flex}profile-screen #character-list{flex-direction:column;align-items:flex-start;gap:7px;width:220px;margin:0;padding:0;list-style:none;display:flex}profile-screen #character-list li{cursor:pointer;cursor:pointer;color:#ffffff8b;background-color:#ffffff0d;border-radius:5px;width:100%;max-width:150px;padding:5px 30px}profile-screen #character-list li.selected{color:#fff;text-shadow:0 0 7px #fff}profile-screen #character-preview{pointer-events:none;width:100dvw;max-width:450px;height:calc(100dvh - 250px);min-height:250px;max-height:500px;position:absolute;left:-20px}profile-screen #btn-confirm{color:#ffffffe6;width:150px;height:50px;font-size:16px;font-family:var(--cpd-font-alt);border:2px solid var(--cpd-pink);text-transform:uppercase;z-index:99;background:#9c558369;border-radius:0 0 7px 7px;margin-top:25px;padding:0;font-weight:700;position:relative;box-shadow:0 2px 15px 3px #f739b1c9,inset 0 0 15px #831c5e}profile-screen #btn-confirm:before{content:"";pointer-events:none;z-index:2;border-radius:inherit;background-image:linear-gradient(var(--cpd-pink), var(--cpd-pink)), linear-gradient(var(--cpd-pink), var(--cpd-pink)), linear-gradient(var(--cpd-pink), var(--cpd-pink)), linear-gradient(var(--cpd-pink), var(--cpd-pink));opacity:.95;background-position:6px 6px,6px 6px,calc(100% - 6px) calc(100% - 6px),calc(100% - 6px) calc(100% - 6px);background-repeat:no-repeat;background-size:18px 2px,2px 18px,18px 2px,2px 18px;width:calc(100% + 12px);height:calc(100% + 12px);position:absolute;top:-6px;left:-6px}profile-screen #btn-confirm:after{content:"";z-index:100;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 9' preserveAspectRatio='none'><g fill='%23f739b2'><polygon points='24,9 30,9 38,0 32,0'/><polygon points='34,9 40,9 48,0 42,0'/><polygon points='52,0 100,0 100,9 44,9'/></g></svg>") 0 0/100% 100% no-repeat;border-top-right-radius:15px;width:100%;height:8px;position:absolute;top:-14px;right:-2px}:root{--toggle-switch-color:#b11d7b}settings-screen .settings-grid{grid-template-columns:1fr;gap:30px;margin-top:30px;padding:15px;display:grid}settings-screen .settings-row{justify-content:space-between;align-items:center;display:flex}settings-screen .settings-row select{background-color:#372536;border-radius:5px;width:fit-content;padding:3px 5px}settings-screen .form-check{align-items:center;gap:15px;padding:0;display:flex}settings-screen .settings-actions{justify-content:flex-end;margin-top:15px;display:flex}settings-screen .form-switch .form-check-input{cursor:pointer;background-color:#acacac;background-image:url("data:image/svg+xml,%3csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"-4 -4 8 8\"%3e%3ccircle r=\"3\" fill=\"%23fff\"/%3e%3c/svg%3e");background-position:0;background-repeat:no-repeat;background-size:contain;border:none;width:50px;height:25px;transition:background-position .3s,background-color .3s}settings-screen .form-switch .form-check-input:checked{background-color:var(--toggle-switch-color);background-image:url("data:image/svg+xml,%3csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"-4 -4 8 8\"%3e%3ccircle r=\"3\" fill=\"%23fff\"/%3e%3c/svg%3e");background-position:100%}settings-screen .form-switch .form-check-input:focus{box-shadow:none}settings-screen button{border:none;border-radius:7px;outline:none;padding:10px}settings-screen #app-version{color:gray;text-align:end}loading-screen{justify-content:center;align-items:center;display:flex}loading-screen .spinner-border{color:#fffb;width:40px;height:40px}:root{--card-color:#20ebee;--card-shadow:drop-shadow(0px 0px 20px #20ebee);--card-bg:#20ebee2d}cyberpunk-card{justify-content:center;align-items:center;display:flex}cyberpunk-card .inner-card{min-width:300px;max-width:100%;filter:var(--card-shadow);background:linear-gradient(-135deg, transparent 4.8px, var(--card-color) 4.8px 9.6px, transparent 9.6px 14.4px, var(--card-color) 14.4px 19.2px, transparent 19.2px 24px, var(--card-color) 24px 28.8px, transparent 28.8px);flex:1;padding:30px 20px;position:relative}cyberpunk-card .dots:before,cyberpunk-card .dots:after{content:"";aspect-ratio:1;border:2px solid var(--card-color);border-radius:50%;height:60%;position:absolute}cyberpunk-card .dots:before{left:7px}cyberpunk-card .dots:after{background:var(--card-color);right:7px}cyberpunk-card .dots{width:48px;height:17px;position:absolute;top:2px;right:48px}cyberpunk-card .inner-card>.augmented:before,cyberpunk-card .inner-card>.augmented:after{inset:0 -1px -1px}cyberpunk-card .inner-card>.augmented{border:1px dashed var(--card-color);z-index:-1;--aug-border:initial;--aug-border-all:4.8px;--aug-border-bg:linear-gradient(-135deg, var(--card-color) 30%, transparent 30%), linear-gradient(45deg, var(--card-color) 5% 29%, transparent 29%), radial-gradient(circle at top left, var(--card-color) 72px, transparent 72px), linear-gradient(to bottom, transparent 7.44px, var(--card-color) 7.44px 19.2px, transparent 19.2px);--aug-inlay:initial;--aug-inlay-all:2.4px;--aug-inlay-bg:var(--card-bg);--aug-tr1:19.2px;--aug-tr2:14.4px;--aug-tr-extend1:30%;--aug-b:12px;--aug-b-extend1:15%;--aug-b-center:30%;--aug-clip-bl1:initial;--aug-bl1:12px;--aug-round-br1:initial;--aug-br1:19.2px;--aug-clip-tl1:initial;--aug-tl1:24px;--aug-rect-t1:initial;--aug-t-center:72px;--aug-t1:7.2px;border-top:none;border-bottom-right-radius:19.2px;position:absolute;inset:0}@media (width<=600px){debug-controls :not(.stats),debug-controls .stats>canvas:last-child{display:none!important}debug-controls .stats{margin:0!important}debug-controls{width:80px;padding:0!important}}debug-controls{z-index:1000;color:#fff;background:#1e1e1e66;border-radius:10px;flex-direction:column;gap:5px;max-width:220px;padding:15px;font-size:12px;display:flex;position:fixed;top:70px;right:10px}debug-controls label{cursor:pointer;align-items:center;display:flex}debug-controls input[type=checkbox]{cursor:pointer;accent-color:#0df4f7;border-radius:4px;margin-right:10px}debug-controls input[type=checkbox]:focus{outline:none}debug-controls #debug-renderer-stats>div{justify-content:space-between;width:150px;display:flex}debug-controls #debug-renderer-stats{color:silver}debug-controls .renderer-stat{color:var(--cpd-green)}debug-controls .stats{cursor:default;-webkit-user-select:none;user-select:none;pointer-events:none;flex-wrap:wrap;gap:10px;margin-top:7px;display:flex;position:relative!important}debug-controls .stats canvas{display:block!important}:root{--challenge-notification-transition-time:.7s}challenge-notification[data-direction=outgoing]{--card-color:#f739b2;--card-shadow:drop-shadow(0px 0px 20px #f739b2);--card-bg:#f739b22d}challenge-notification[data-direction=incoming]{--card-color:#20ebee;--card-shadow:drop-shadow(0px 0px 20px #20ebee);--card-bg:#20ebee2d}challenge-notification[data-direction=incoming] .incoming-text,challenge-notification[data-direction=outgoing] .outgoing-text{display:block}challenge-notification[data-direction=outgoing] .incoming-text,challenge-notification[data-direction=incoming] .outgoing-text{display:none}challenge-notification cyberpunk-card{visibility:hidden;opacity:0;z-index:999;perspective:150px;transition:opacity var(--challenge-notification-transition-time) ease, transform var(--challenge-notification-transition-time) ease, visibility 0s linear var(--challenge-notification-transition-time);color:#fff;width:calc(100% - 40px);max-width:400px;font-family:var(--cpd-font);text-align:center;pointer-events:none;will-change:transform, opacity;position:fixed;top:70px;left:50dvw;transform:translate(-50%,-100px)}challenge-notification.active cyberpunk-card{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s;transform:translate(-50%)}challenge-notification .inner-card{transition:transform var(--challenge-notification-transition-time) ease}challenge-notification.active .inner-card{transform:rotateX(-5deg)}challenge-notification h1{color:#fffc}challenge-notification .body-text{font-family:var(--cpd-font-alt);flex-wrap:nowrap;justify-content:center;gap:7px;display:flex}challenge-notification .username{max-width:150px}challenge-notification .buttons-container{flex-wrap:nowrap;justify-content:space-evenly;display:flex}challenge-notification button{font-family:var(--cpd-font-alt);color:#fff;border:none;border-radius:10px;justify-content:center;align-items:center;width:120px;min-width:fit-content;max-width:50%;margin:20px 10px 0;padding:15px 5px;font-size:18px;display:flex;box-shadow:0 5px 15px #0006,inset 0 0 15px #0003}challenge-notification button.affirmative{background:linear-gradient(135deg,#09edde 0%,#00b3ff)}challenge-notification button.negative{background:linear-gradient(135deg,#e4287d 0%,#f4739e)}challenge-notification .time-remaining{pointer-events:none;color:#ffffffc7;text-align:end;width:30px;display:inline-block}:root{--status-notification-transition-time:.5s}status-notification{visibility:hidden;opacity:0;z-index:999;color:#fff;width:calc(100dvw - 175px);max-width:fit-content;font-family:var(--cpd-font-alt);transition:opacity var(--status-notification-transition-time) ease, transform var(--status-notification-transition-time) ease;will-change:opacity, transform;pointer-events:none;text-shadow:1px 1px 5px #000000bf;font-size:14px;position:fixed;bottom:30dvh;left:20px;transform:translateY(30px)}status-notification.active{visibility:visible;opacity:1;transform:translate(0)}status-notification.hiding{visibility:visible}:root{--dialog-box-transition-time:.7s}dialog-box cyberpunk-card{--card-color:#909090;--card-shadow:drop-shadow(0px 0px 20px #454545);--card-bg:#2d2d2d99;visibility:hidden;opacity:0;z-index:999;perspective:150px;transition:opacity var(--dialog-box-transition-time) ease, transform var(--dialog-box-transition-time) ease, visibility 0s linear var(--dialog-box-transition-time);color:#fff;width:calc(100% - 40px);max-width:420px;font-family:var(--cpd-font-alt);text-align:left;pointer-events:none;will-change:transform, opacity;position:fixed;bottom:70px;left:50dvw;transform:translate(-50%,100px)}dialog-box.active cyberpunk-card{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s;transform:translate(-50%)}dialog-box .inner-card{transition:transform var(--dialog-box-transition-time) ease;will-change:transform;padding:18px 20px}dialog-box.active .inner-card{transform:rotateX(2deg)}dialog-box h1{font-family:var(--cpd-font);color:#ababab;margin:10px 0;font-size:20px}dialog-box .body-text{margin-top:12px;transition:height .5s}dialog-box .buttons-container{justify-content:end;gap:15px;margin:20px 10px;display:flex}dialog-box .buttons-container button{font-family:var(--cpd-font-alt);color:#fff;border:none;border-radius:10px;justify-content:center;align-items:center;width:100px;min-width:fit-content;max-width:50%;padding:10px 5px;font-size:16px;display:flex;box-shadow:0 5px 10px #0006,inset 0 0 10px #0003}:root{--interaction-buttons-transition-time:.5s}interaction-buttons{z-index:999;perspective:700px;z-index:10;flex-direction:column;gap:30px;width:80px;height:fit-content;display:flex;position:fixed;right:45px}interaction-buttons:not(.enabled) .btn-interaction{opacity:0;pointer-events:none;transform:translateY(40px)rotateY(30deg)}interaction-buttons.enabled .btn-interaction{opacity:1;transform:translate(0)rotateY(-30deg)}interaction-buttons .btn-interaction{border:2px solid var(--cpd-pink);color:#fff;width:110px;height:50px;font-family:var(--cpd-font);opacity:1;transition:opacity var(--interaction-buttons-transition-time), transform var(--interaction-buttons-transition-time);will-change:opacity, transform;letter-spacing:1.2px;background:#9c558369;border-radius:7px;padding:0 5px;font-size:14px;position:relative;transform:translate(0);box-shadow:0 2px 15px 2px #f739b1c9,inset 0 0 15px #f739b1}interaction-buttons .btn-interaction .btn-frame{pointer-events:none;z-index:2;border-radius:inherit;background-image:linear-gradient(var(--cpd-pink), var(--cpd-pink)), linear-gradient(var(--cpd-pink), var(--cpd-pink)), linear-gradient(var(--cpd-pink), var(--cpd-pink)), linear-gradient(var(--cpd-pink), var(--cpd-pink));opacity:.95;background-position:6px 6px,6px 6px,calc(100% - 6px) calc(100% - 6px),calc(100% - 6px) calc(100% - 6px);background-repeat:no-repeat;background-size:18px 2px,2px 18px,18px 2px,2px 18px;width:calc(100% + 12px);height:calc(100% + 12px);position:absolute;top:-6px;left:-6px}interaction-buttons .btn-interaction:first-child{border-top-left-radius:0;border-top-right-radius:0}interaction-buttons .btn-interaction:last-child{border-bottom-right-radius:0;border-bottom-left-radius:0}interaction-buttons .btn-interaction:before,interaction-buttons .btn-interaction:after{z-index:100;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 9' preserveAspectRatio='none'><g fill='%23f739b2'><polygon points='24,9 30,9 38,0 32,0'/><polygon points='34,9 40,9 48,0 42,0'/><polygon points='52,0 100,0 100,9 44,9'/></g></svg>") 0 0/100% 100% no-repeat;border-top-right-radius:15px;width:100%;height:8px;position:absolute;right:-2px}interaction-buttons .btn-interaction:first-child:before{content:"";top:-15px}interaction-buttons .btn-interaction:last-child:after{content:"";bottom:-15px;transform:scaleY(-1)}:root{--player-stats-transition-time:.7s}player-stats-menu cyberpunk-card{--card-color:#08dfa2;--card-shadow:drop-shadow(0px 0px 20px #08dfa2);--card-bg:#08dfa240;visibility:hidden;opacity:0;z-index:999;perspective:150px;transition:opacity var(--player-stats-transition-time) ease, transform var(--player-stats-transition-time) ease, visibility 0s linear var(--player-stats-transition-time);color:#fff;width:calc(100% - 40px);max-width:420px;font-family:var(--cpd-font-alt);text-align:left;pointer-events:none;will-change:transform, opacity;position:fixed;top:70px;left:50dvw;transform:translate(-50%,-100px)}player-stats-menu.active cyberpunk-card{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s;transform:translate(-50%)}player-stats-menu .inner-card{transition:transform var(--player-stats-transition-time) ease;will-change:transform;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);height:430px;padding:18px 20px}player-stats-menu.active .inner-card{transform:rotateX(-2deg)}player-stats-menu h1{font-family:var(--cpd-font);color:#fffc;margin:10px 0;font-size:20px}player-stats-menu .body{margin-top:12px}player-stats-menu .stats-container{opacity:1;transition:opacity .3s}player-stats-menu .stats-container.loading{opacity:.5}player-stats-menu .stat-row{align-items:center;padding:3px 0;display:flex}player-stats-menu .grid-judgments{grid-template-columns:1fr 1fr;gap:8px 12px;display:grid}player-stats-menu .label{opacity:.8;margin-right:10px;font-size:14px}player-stats-menu .value{font-size:16px;font-weight:700}player-stats-menu .actions{justify-content:flex-end;width:100%;margin-top:20px}player-stats-menu button.close-action{color:var(--cpd-dark-text);cursor:pointer;background:linear-gradient(135deg,#17e4aa,0%,#08dfa2);border:none;border-radius:10px;width:120px;min-width:fit-content;max-width:50%;padding:15px 5px}:root{--low-energy-color:#ff3b3b;--low-energy-blink-color:#fe2d2daf;--energy-indicator-font-family:var(--cpd-font);--energy-indicator-font-size:14px}energy-indicator{z-index:99;color:var(--cpd-green);text-shadow:0px 0px 10px var(--cpd-green);font-family:var(--energy-indicator-font-family);font-size:var(--energy-indicator-font-size);pointer-events:none;border-top:3px solid var(--cpd-green);will-change:transform;transform-origin:50%;border-left:1px dashed #fff;border-radius:10px 0;align-items:center;padding:0 5px;transition:transform .5s;display:flex;position:fixed;top:7px;left:7px}energy-indicator i{margin-right:5px;font-size:20px}energy-indicator .energy-value{transition:width .3s;display:inline-block}energy-indicator.focused{transform:translate(calc(50dvw - 50%),20dvh)scale(1.3)}energy-indicator.low-energy-warning{border-top:3px solid var(--low-energy-color);color:var(--low-energy-color);text-shadow:0 0 10px #000;animation:1s infinite pulse-low-energy}@keyframes pulse-low-energy{0%{color:var(--low-energy-color);border-top-color:var(--low-energy-color)}50%{color:var(--low-energy-blink-color);border-top-color:var(--low-energy-blink-color)}to{color:var(--low-energy-color);border-top-color:var(--low-energy-color)}}energy-indicator .offscreen-element{visibility:hidden;white-space:nowrap;font-family:var(--energy-indicator-font-family);font-size:var(--energy-indicator-font-size);position:absolute}:root{--song-picker-basic-transition-time:.7s}song-picker-basic cyberpunk-card{--card-color:#fff;--card-shadow:drop-shadow(0px 0px 20px #fff);--card-bg:#fff3;visibility:hidden;opacity:0;z-index:999;perspective:150px;transition:opacity var(--song-picker-basic-transition-time) ease, transform var(--song-picker-basic-transition-time) ease, visibility 0s linear var(--song-picker-basic-transition-time);color:#fff;font-family:var(--cpd-font);width:calc(100% - 40px);max-width:400px;font-family:var(--cpd-font);text-align:center;pointer-events:none;will-change:transform, opacity;position:fixed;bottom:70px;left:50dvw;transform:translate(-50%,100px)}song-picker-basic.active cyberpunk-card{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s;transform:translate(-50%)}song-picker-basic .inner-card{transition:transform var(--song-picker-basic-transition-time) ease;will-change:transform}song-picker-basic.active .inner-card{transform:rotateX(5deg)}song-picker-basic .song-banner-carousel{will-change:transform;width:245px;height:75px;margin:20px auto;transition:transform .3s;position:relative}song-picker-basic .song-banner-carousel.spinning{transform:scale(.8)}song-picker-basic .song-banner-carousel img{object-fit:cover;border-radius:10px;width:245px;height:75px;position:absolute;top:0;left:0;box-shadow:0 7px 20px #000c}song-picker-basic .song-info{font-family:var(--cpd-font-alt);flex-wrap:nowrap;justify-content:center;align-items:flex-end;gap:7px;display:flex}song-picker-basic .song-info span:first-child{opacity:.5;font-size:14px}mini-map{-webkit-backdrop-filter:blur(3px);opacity:.5;z-index:2000;cursor:pointer;border-radius:50%;position:fixed;bottom:10px;left:10px;overflow:hidden}mini-map canvas{background-color:#000;border-radius:50%;width:100%;height:100%;display:block}hud-ui>*{will-change:transform, opacity;transition:transform .5s,opacity .5s}hud-ui #in-game-menu-button{color:silver;background-color:#1e1e1e99;border:none;border-radius:50%;justify-content:center;align-items:center;width:45px;height:45px;padding:7px 5px 5px;font-size:30px;display:flex;position:fixed;top:10px;right:10px;overflow:hidden}hud-ui #joystick-zone{z-index:9999;cursor:grab;border-radius:50%;position:fixed;bottom:10px;right:10px;box-shadow:0 5px 15px #1e1e1e66}:root{--in-game-menu-transition-time:.5s}in-game-menu{z-index:9999;color:#909090;opacity:0;pointer-events:none;width:100dvw;height:100dvh;transition:opacity var(--in-game-menu-transition-time) ease;will-change:opacity;font-family:var(--cpd-font-alt);background-color:#0008;padding:10px;position:fixed;top:0;left:0}in-game-menu.active{opacity:1;pointer-events:auto}in-game-menu cyberpunk-card{--card-color:#909090;--card-shadow:drop-shadow(0px 0px 20px #000);--card-bg:#1e1e1e99;transition:transform var(--in-game-menu-transition-time) ease;will-change:transform;transform:translateY(100px)}in-game-menu.active cyberpunk-card{transform:none}in-game-menu cyberpunk-card .inner-card{background:0 0;flex-direction:column;max-width:750px;height:calc(100dvh - 20px);padding-bottom:10px;display:flex}in-game-menu cyberpunk-card .body{flex-direction:column;flex:1;display:flex;overflow:hidden}in-game-menu cyberpunk-card .dots{display:none}in-game-menu .header{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}in-game-menu h1,in-game-menu h2{font-family:var(--cpd-font);font-size:24px}in-game-menu h2{color:var(--cpd-green);margin-bottom:20px;font-size:18px}in-game-menu button[name=close]{color:silver;text-shadow:0 0 10px silver;background:0 0;border:none;font-size:28px}in-game-menu #action-confirmation{color:#dc143c;padding:0 5px;font-size:14px;font-weight:700}in-game-menu #menu-options{gap:15px;margin-bottom:20px;padding:5px;display:flex}in-game-menu button:not([name=close]){color:silver;background-color:#303030cc;border:none;border-radius:7px;width:fit-content;padding:15px 20px}in-game-menu #objectives-list{color:#fff;flex-direction:column;gap:20px;padding:5px;font-size:14px;list-style:none;display:flex;overflow-y:auto}in-game-menu #objectives-list li{padding-left:30px;position:relative}in-game-menu #objectives-list li:before{content:"";color:#909090;font-family:bootstrap-icons;font-size:20px;line-height:22px;position:absolute;left:0}in-game-menu #objectives-list li.complete{color:#909090}in-game-menu #objectives-list li.complete:before{content:"";color:var(--cpd-green)}scene-title{text-align:center;opacity:0;color:#fff;text-shadow:0 0 10px #fff;pointer-events:none;will-change:transform, opacity;width:100dvw;font-family:var(--cpd-font);position:fixed;top:100px;left:50dvw;transform:translate(-50%,40px)}scene-title #scene-name-prefix{text-transform:uppercase;font-size:12px}scene-title #scene-name{font-size:20px}scene-title.active{animation:2s forwards sceneTitleIn}scene-title.active.hiding{animation:1s forwards sceneTitleOut}@keyframes sceneTitleIn{0%{opacity:0;transform:translate(-50%,40px)}to{opacity:1;transform:translate(-50%)}}@keyframes sceneTitleOut{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%)}}:root{--hold-note-color-rgb:#fff;--hold-note-color:255, 255, 255}hold-note{transform-origin:50%;position:absolute;left:50%;transform:translate(0)}hold-note .hold-head{width:60px;height:var(--note-head-height);background-color:rgba(var(--hold-note-color));z-index:3;border:2px solid #ffffff81;border-radius:4px;margin-left:-30px;position:absolute;top:0;left:50%}hold-note .hold-tail{background:linear-gradient(180deg, rgba(var(--hold-note-color), .1), rgba(var(--hold-note-color), .4));transform-origin:bottom;z-index:1;border-radius:20px 20px 0 0;width:30px;margin:0 auto 0 -15px;position:absolute;top:0;left:50%}hold-note .hold-tail.pressed{background:linear-gradient(180deg, rgba(var(--hold-note-color), .3), rgba(var(--hold-note-color), .7));box-shadow:0px 0px 15px rgba(var(--hold-note-color), .4)}score-card{top:calc(50% - var(--dance-battle-status-panel-height));color:#fff;pointer-events:auto;will-change:transform, opacity;opacity:0;box-sizing:border-box;width:500px;max-width:calc(100% - 20px);font-family:var(--cpd-font);border-radius:12px;padding:30px;position:absolute;left:50%;transform:translate(-50%,-50%)}score-card .sc-subtitle{border-bottom:1px solid #ffffff80;margin:0 0 10px;font-size:20px}score-card .row{flex-wrap:nowrap;justify-content:space-between;width:100%;margin:6px 0;display:flex}score-card .result-row{justify-content:center;align-items:center;height:80px}score-card #sc-result{transform-origin:50%;text-transform:uppercase;font-size:34px}score-card #sc-result.pending{opacity:.8;font-size:14px;font-style:italic;font-weight:400;font-family:var(--cpd-font-alt)}score-card #sc-result.win{color:var(--judgment-color-good);text-shadow:0px 0px 10px var(--judgment-color-good)}score-card #sc-result.lose{color:var(--judgment-color-miss);text-shadow:0px 0px 10px var(--judgment-color-miss)}score-card #sc-result.tie{color:var(--judgment-color-almost);text-shadow:0px 0px 10px var(--judgment-color-almost)}score-card .label,score-card .value{width:fit-content}score-card .judgments{margin-top:12px}score-card .judgments .row .label{text-shadow:var(--judgment-text-shadow)}score-card .row[name=perfect] .label{color:var(--judgment-color-perfect)}score-card .row[name=good] .label{color:var(--judgment-color-good)}score-card .row[name=almost] .label{color:var(--judgment-color-almost)}score-card .row[name=miss] .label{color:var(--judgment-color-miss)}score-card #sc-close-btn{font-family:var(--cpd-font-alt);color:#fff;background:0 0;background-color:none;border:2px solid var(--cpd-pink);width:120px;box-shadow:0px 0px 15px var(--cpd-pink);border-radius:0 7px;margin-top:15px;padding:10px 5px;font-size:18px;position:relative}score-card #sc-close-btn:before,score-card #sc-close-btn:after{content:"";z-index:100;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 9' preserveAspectRatio='none'><g fill='%23f739b2'><polygon points='24,9 30,9 38,0 32,0'/><polygon points='34,9 40,9 48,0 42,0'/><polygon points='52,0 100,0 100,9 44,9'/></g></svg>") 0 0/100% 100% no-repeat;border-top-right-radius:15px;width:100%;height:8px;position:absolute}score-card #sc-close-btn:before{top:-10px;left:-2px;transform:scaleX(-1)}score-card #sc-close-btn:after{bottom:-15px;right:-2px;transform:scaleY(-1)}stage-lane{border-left:2px solid #ffffff7c;justify-content:center;display:flex;position:relative;overflow:hidden}stage-lane:first-of-type{border-left:none}stage-lane .lane-receptor{cursor:pointer;z-index:999;border:none;width:100%;height:100%;transition:all .1s;position:absolute;top:0;pointer-events:all!important}stage-lane .tap-marker{will-change:transform, opacity;transform-origin:50%;opacity:0;z-index:99;background:#0fffaf;border-radius:10px;width:60px;height:8px;transition:opacity .8s;position:absolute;left:auto;right:auto;transform:translate(0);box-shadow:0 0 10px #0fffaf}stage-lane .tap-marker.active{opacity:1;transition:none}stage-lane .timing-overlay{position:absolute;left:0;right:0}stage-lane .timing-overlay.almost{background:#ffc8001a}stage-lane .timing-overlay.good{background:#00c8001a}stage-lane .timing-overlay.perfect{background:#00c8ff1a}game-stage{border:none;border-left:2px solid #ffffff7c;border-right:2px solid #ffffff7c;flex:1;width:100%;max-width:500px;margin:0 auto;overflow:hidden;box-shadow:0 0 25px 15px #0000004d}@media (width<=500px){game-stage{box-shadow:none;border:none}}game-stage[data-note-travel-direction=up]{transform:rotateX(180deg)}game-stage .stage-container{height:100%;transform-style:preserve-3d;grid-template-columns:repeat(4,1fr);display:grid;position:relative}game-stage .particles-canvas{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}game-stage .judgment-line{height:2px;left:0;right:0;bottom:var(--judgment-line-y);transform-origin:50%;will-change:transform;z-index:2;background-color:#ff01f2;border-radius:10px;position:absolute;box-shadow:0 0 7px #ff7cf8}:root{--dance-battle-status-panel-height:50px}status-panel{width:100%;max-width:1000px;height:var(--dance-battle-status-panel-height);font-family:var(--cpd-font-alt);border-top:2px solid #ffffff7c;flex-flow:column wrap;padding:0;display:flex;pointer-events:all!important}status-panel .control{white-space:nowrap;border:1px solid #3c3c3c;border-radius:7px;gap:5px;height:fit-content;padding:5px;display:flex}status-panel .score-bar{width:100%;height:20px}electric-score-bar{display:block;position:relative}electric-score-bar canvas{width:100%;height:100%;display:block}electric-score-bar .score-marker{transform-origin:50%;will-change:transform;pointer-events:none;background:#fff;border-radius:10px;width:2px;height:13px;position:absolute;top:50%;left:-1px;transform:translateY(-50%);box-shadow:0 0 10px #ffffffb3}tap-note{width:60px;height:var(--note-head-height);transform-origin:50%;z-index:3;background-color:#fff;border:2px solid #fff;border-radius:4px;margin-left:-30px;position:absolute;left:50%;transform:translate(0)}:root{--judgment-color-perfect:#ffe066;--judgment-color-good:#6ee7b7;--judgment-color-almost:#93c5fd;--judgment-color-miss:#f87171;--judgment-text-shadow:-2px -2px 0 black, 2px -2px 0 black, -2px 2px 0 black, 2px 2px 0 black}@property --pop-scale{syntax:"<number>";inherits:false;initial-value:1}ui-overlay{pointer-events:none;-webkit-user-select:none;user-select:none;height:100%;position:absolute;left:50%;transform:translate(-50%)}ui-overlay .judgment-text,ui-overlay .combo-text{transform:translate(-50%, 0) scale(.8, .8) scale(var(--pop-scale), var(--pop-scale));will-change:transform, opacity;opacity:0;color:#fff;white-space:nowrap;text-align:center;text-shadow:var(--judgment-text-shadow);transition:transform .2s,opacity .2s;position:absolute;left:50%}ui-overlay .judgment-text.show,ui-overlay .combo-text.show{opacity:1;transform:translate(-50%, -20px) scale(1, 1) scale(var(--pop-scale), var(--pop-scale))}@keyframes judgment-pop{0%{--pop-scale:1}35%{--pop-scale:1.3}to{--pop-scale:1}}ui-overlay .judgment-text.pop{animation:.2s judgment-pop}ui-overlay .judgment-text{font-family:Luckiest Guy,sans-serif;font-size:30px;font-weight:bolder;top:75%}ui-overlay .judgment-text[data-judgment=perfect]{color:var(--judgment-color-perfect)}ui-overlay .judgment-text[data-judgment=good]{color:var(--judgment-color-good)}ui-overlay .judgment-text[data-judgment=almost]{color:var(--judgment-color-almost)}ui-overlay .judgment-text[data-judgment=miss]{color:var(--judgment-color-miss)}ui-overlay .combo-text{font-family:var(--cpd-font-alt);font-size:18px;font-weight:700;top:calc(75% + 50px)}html,body{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-khtml-user-select:none;margin:0;overflow:hidden}dance-battle{color:#fff;pointer-events:none;z-index:10;opacity:0;background-color:#00000080;flex-direction:column-reverse;align-items:center;width:100dvw;height:100dvh;margin:0;padding:0;transition:opacity 1s,background-color .5s;display:flex;position:absolute;top:0;overflow:hidden;outline:none!important}dance-battle:has(score-card){background-color:#000c}dance-battle.active{opacity:1}dance-battle #get-ready-banner{z-index:9999;will-change:transform, opacity;color:#fff;font-family:var(--cpd-font);text-shadow:var(--judgment-text-shadow);transform-origin:50%;text-align:center;opacity:0;width:100%;margin:auto;transition:opacity .3s,transform .5s;position:absolute;top:50%;transform:scale(4)}dance-battle #get-ready-banner.visible{opacity:1;transform:none}
