*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#000;color:#d0f4dd;font:14px Tahoma,Arial,sans-serif}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,canvas:focus-visible{outline:1px solid #96ffd1;outline-offset:4px}.scene{position:fixed;inset:0;overflow:hidden;background:#000;isolation:isolate;direction:ltr}#nebula,#board{position:absolute;inset:0;width:100%;height:100%;display:block}#nebula{z-index:0;pointer-events:none}#board{z-index:1;touch-action:none;outline:none}.metal{position:relative;border:0;background:transparent;min-height:45px;min-width:175px;padding:0;filter:drop-shadow(0 4px 3px #000c)}.metal canvas{width:100%;height:100%;position:absolute;inset:0;pointer-events:none}.metal:hover{filter:brightness(1.4) drop-shadow(0 0 7px #8cffe569)}.metal:disabled{opacity:.4;cursor:default}.start-panel{position:absolute;top:-5px;left:50%;width:clamp(220px,36vw,390px);height:clamp(48px,7.5vw,78px);transform:translateX(-50%);z-index:4;transition:transform .7s,opacity .5s}.playing .start-panel{transform:translate(-50%,-110%);opacity:0;pointer-events:none}#game-title{position:absolute;z-index:2;left:14%;top:58%;width:72%;height:24%;pointer-events:none;transition:opacity .4s}.playing #game-title{opacity:0}.exit-button{position:absolute;right:9px;top:7px;width:46px;height:46px;border:0;padding:0;background:transparent;z-index:8;filter:drop-shadow(1px 3px 2px black)}.exit-button canvas{width:100%;height:100%}.exit-button:hover{filter:brightness(1.7)}.edge-menu{position:absolute;left:0;top:3px;z-index:6;display:flex;flex-direction:column;gap:0;align-items:flex-start}.edge-button{height:44px;width:218px;min-width:218px;transform:translateX(-199px);transition:transform .22s ease;max-height:7.1vh}.edge-button:hover,.edge-button:focus-visible,.edge-menu.open .edge-button{transform:translateX(-9px)}.edge-button:hover{z-index:2}.level-navigation{position:absolute;z-index:4;left:50%;bottom:9%;transform:translateX(-50%);display:flex;align-items:center;gap:18px;color:#a3ffc5;font-size:12px;text-shadow:0 0 7px #4cffac,1px 2px #000;letter-spacing:3px}.arrow-button{background:transparent;border:0;width:64px;height:50px;padding:0}.arrow-button canvas{width:100%;height:100%}.arrow-button:hover{filter:brightness(1.7)}.playing .level-navigation{display:none}.target-card{position:absolute;right:2%;bottom:2%;width:clamp(80px,14vw,165px);height:auto;z-index:3;opacity:0;transition:opacity .65s;pointer-events:none}.target-card canvas{display:block;width:100%;height:auto}.playing.ready .target-card{opacity:1}.publisher{position:absolute;left:11px;bottom:7px;z-index:3;display:flex;flex-direction:column;align-items:center;pointer-events:none}.publisher img{width:44px;height:44px;object-fit:contain;mix-blend-mode:screen}.publisher small{font:7px Arial,sans-serif;color:#31ae90;margin-top:2px;text-shadow:0 0 4px #163b1c}.scene-status{position:absolute;left:50%;bottom:3%;transform:translateX(-50%);z-index:3;color:#b8dbc5;text-shadow:1px 2px 3px #000;font-size:11px;direction:rtl;pointer-events:none;opacity:0;transition:opacity .3s}.scene-status.visible{opacity:.85}.game-dialog{max-width:620px;width:calc(100% - 36px);max-height:85vh;overflow:auto;background:linear-gradient(135deg,#06171af5,#02070cf8);border:3px ridge #718e8c;border-radius:0;box-shadow:0 0 0 3px #071b1e,0 10px 100px #000;padding:27px;line-height:2.1;direction:rtl;color:#c0d9d2}.game-dialog::backdrop{background:#0009}.game-dialog h2{color:#adffbb;font-size:19px;font-weight:400;text-shadow:0 0 10px #5bfd82}.game-dialog p{font-size:12px}.close{position:absolute;left:8px;top:4px;font-size:26px;background:none;border:0;color:#91b8bb}.level-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;direction:ltr;margin:18px 0}.level-grid button,.extra-controls button,.dialog-action{background:linear-gradient(#173b3f,#081316);border:2px ridge #557c7c;color:#aaffae;padding:10px 5px;text-shadow:0 0 5px #49a878}.level-grid button.active{background:#366267;box-shadow:0 0 8px #77ffbb88;border-color:#acfbc3}.level-grid button.solved:after{content:' ✓';color:#80ff57;text-shadow:0 0 6px #52f54288}.dialog-action{min-width:150px;margin-top:10px}.extra-controls{display:flex;gap:8px;flex-wrap:wrap}.extra-controls button{font-size:11px}.extra-controls button:disabled{opacity:.35}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.hidden{display:none!important}.touch-menu{display:none;position:absolute;top:12px;left:23px;z-index:8;background:#10272aad;color:#a1c9cb;border:1px solid #447077;font-size:19px;padding:5px 9px}.win{position:absolute;z-index:9;left:50%;top:50%;transform:translate(-50%,-50%);background:#020e16c9;border:2px ridge #588181;box-shadow:0 10px 80px #000c;padding:25px;text-align:center;direction:rtl;min-width:min(420px,90vw);backdrop-filter:blur(6px)}#win-art{width:100%;height:60px}.win .metal{height:50px;margin:5px auto;display:block}.win p{font-size:12px;color:#b7d4cd}#cursor{display:none;position:fixed;z-index:30;width:47px;height:47px;pointer-events:none;transform:translate(-50%,-50%)}#cursor canvas{width:100%;height:100%}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,10px);background:#071c21e8;border:1px solid #587c7f;color:#c0efce;z-index:100;padding:11px 20px;opacity:0;pointer-events:none;transition:.2s;font-size:12px;direction:rtl;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}@media(hover:hover){.classic,.classic button,.classic canvas{cursor:none}.classic dialog,.classic dialog button{cursor:auto}.classic.cursor-visible #cursor{display:block}}@media(max-width:600px){.start-panel{width:250px;height:57px}.edge-button{height:39px;width:190px;min-width:190px;transform:translateX(-174px)}.exit-button{width:36px;height:36px}.publisher img{width:30px;height:30px}.publisher small{font-size:6px}.level-navigation{bottom:13%;gap:12px}.arrow-button{width:45px}.target-card{right:10px;bottom:12px;width:100px}.touch-menu{display:block}.scene-status{bottom:7%;width:70%;text-align:center;font-size:10px}.game-dialog{padding:22px 15px}.level-grid{gap:5px}.level-grid button{padding:9px 0}#game-title{left:4%;width:92%;top:57%;height:19%}.edge-menu.open{background:#0007}.playing .touch-menu{opacity:.65}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.publisher img{width:clamp(30px,6.5vw,78px);height:clamp(30px,6.5vw,78px)}.target-card{width:clamp(90px,17vw,200px)}

.level-navigation span{white-space:nowrap}

/* The START inscription sits in the lower bar of the original bigpanel mesh. */
.start-panel{top:0;width:clamp(220px,32vw,390px);height:clamp(46px,7vw,78px)}
#game-title{left:10%;top:62%;width:80%;height:24%;transform:none}
@media(max-width:600px){#game-title{left:2%;top:62%;width:96%;height:22%}.start-panel{width:250px;height:56px}}

/* Original menu: previous/next arrows share the top START frame. */
.start-panel{top:8px;width:clamp(260px,32vw,480px);height:clamp(48px,7.5vh,68px)}
.level-navigation{top:8px;bottom:auto;width:clamp(260px,32vw,480px);height:clamp(48px,7.5vh,68px);gap:0;justify-content:space-between;pointer-events:none}
.level-navigation .arrow-button{width:12%;height:65%;pointer-events:auto;filter:brightness(1.6);margin:0 1.5%}
.level-navigation #level-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:600px){.start-panel,.level-navigation{top:7px;width:260px;height:49px}.level-navigation .arrow-button{width:12%;height:65%}}

.level-navigation .arrow-button:disabled{opacity:.22;filter:grayscale(1);cursor:default}.level-navigation .arrow-button:disabled:hover{filter:grayscale(1)}

.level-lock-status{display:none;position:absolute;z-index:5;left:calc(50% + clamp(130px,16vw,240px) + 12px);top:18px;max-width:220px;font:11px/1.8 Tahoma;color:#dcbd80;text-shadow:0 1px 3px #000;pointer-events:none}.level-lock-status.visible{display:block}.start-panel.stage-locked{filter:grayscale(.6) brightness(.7)}html[lang=en] .game-dialog,html[lang=en] .access-dialog{direction:ltr;text-align:left}html[lang=en] .game-dialog .close,html[lang=en] .access-close{left:auto;right:12px}@media(max-width:700px){.level-lock-status{left:50%;top:65px;transform:translateX(-50%);text-align:center;max-width:90%;width:90%}}
.leaderboard-dialog{width:min(690px,94vw);max-width:690px;padding:30px}.ranking-eyebrow{font:10px Arial;letter-spacing:2px;color:#78b6a0!important}.ranking-controls{display:flex;align-items:center;justify-content:space-between;gap:14px}.ranking-controls select{background:#0a2830;color:#d7f5e7;border:1px solid #3b6867;padding:8px 20px;border-radius:7px;font:14px Tahoma}.ranking-controls button,#ranking-name-form button{background:#254d49;border:1px solid #507875;color:#c8f5d8;padding:8px 14px;border-radius:7px;font:12px Tahoma}.ranking-caption,.ranking-total{font-size:10px!important;color:#89aaa2!important;line-height:1.9}.my-rank{display:flex;gap:20px;align-items:center;background:#153f35;border:1px solid #457f61;padding:14px 20px;border-radius:12px;margin:20px 0}.my-rank small{display:block;color:#9cc6aa;font-size:10px}.my-rank strong{display:block;font:29px/1.5 Tahoma;color:#d1f4c2}.my-rank p{font-size:12px;margin:0}.ranking-table-wrap{max-height:340px;overflow:auto;border:1px solid #2a5554;border-radius:10px}.ranking-table{border-collapse:collapse;width:100%;font-size:12px;text-align:start}.ranking-table th{position:sticky;top:0;background:#123338;color:#83b8ac;font-size:10px;font-weight:400}.ranking-table td,.ranking-table th{padding:12px;border-bottom:1px solid #244b49}.ranking-table tr.is-me{background:#205443;color:#d4ffd0}.ranking-table tr.is-me small{color:#9ee8b0}.ranking-table tr:first-child:not(.is-me){color:#e5d298}.ranking-empty{text-align:center;padding:35px!important;color:#8aafa5}#ranking-error{color:#ffd298;font-size:12px}#ranking-name-form{display:flex;align-items:end;gap:12px;margin-top:16px}#ranking-name-form label{flex:1;font-size:11px;color:#a5c7b9}#ranking-name-form input{display:block;background:#061d26;border:1px solid #355e5a;color:#daefdf;padding:9px;width:100%;border-radius:6px;font:13px Tahoma}#ranking-name-form button{white-space:nowrap}.classic:has(#leaderboard-dialog[open]),.classic:has(#leaderboard-dialog[open]) *{cursor:auto}@media(max-width:600px){.leaderboard-dialog{padding:25px 15px}.ranking-table td,.ranking-table th{padding:10px 7px}.my-rank{padding:12px}.edge-button{max-height:7vh}}

.level-name{position:absolute;z-index:3;top:11%;left:50%;transform:translateX(-50%);color:#c3d9d0;font:12px Tahoma,Arial;text-shadow:0 1px 4px #000;white-space:nowrap;pointer-events:none}.level-name:empty{display:none}

#game-title{filter:drop-shadow(0 5px 3px #000b) drop-shadow(0 0 5px #8be1ff66)}

.ranking-handle{display:block;font:10px/1.6 Arial;color:#87b5ad}#ranking-name-form{flex-wrap:wrap}#ranking-name-form label{min-width:160px}

body.tutorial-active .level-navigation,body.tutorial-active #level-name,body.tutorial-active #level-lock-status,body.tutorial-active #classic-start,body.tutorial-active #game-title,body.tutorial-active #exit,body.tutorial-active #account-button,body.tutorial-active .edge-menu,body.tutorial-active #touch-menu{display:none!important}
body.tutorial-active #status{display:none!important}
#stage-ranking{display:none;position:absolute;z-index:5;left:clamp(30px,3.3vw,65px);top:17%;width:clamp(285px,24vw,355px);max-height:76%;color:#d9ebe6;background:linear-gradient(145deg,#0b2429f2,#030f19ef 70%);border:1px solid #588783;border-top:3px solid #b1d8d2;border-radius:5px 18px 5px 18px;box-shadow:0 10px 35px #0009,inset 0 1px #e0ffff44,0 0 20px #4db0ae18;overflow:hidden;cursor:auto;backdrop-filter:blur(12px)}#stage-ranking *{cursor:auto}#stage-ranking button{cursor:pointer}.stage-menu #stage-ranking{display:flex;flex-direction:column}.stage-ranking-head{display:flex;align-items:center;justify-content:space-between;padding:18px 16px 6px}.stage-ranking-kicker{font:8px Arial,sans-serif;letter-spacing:2px;color:#82aaa6}.stage-ranking-head h2{font:15px Tahoma,Arial;margin:8px 0;color:#defde3;text-shadow:0 0 14px #9cffbb55}.stage-ranking-rule{font-size:9px;color:#94aaa9;margin:3px 16px 14px}.stage-ranking-content{overflow:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#41635f transparent}.stage-ranking-table{width:100%;border-collapse:collapse;font-size:10px;table-layout:fixed;text-align:start}.stage-ranking-table th{font-size:9px;font-weight:normal;color:#8caaa6;padding:8px 5px;background:#122d30;position:sticky;top:0}.stage-ranking-table th:first-child{width:36px}.stage-ranking-table th:nth-child(3){width:77px}.stage-ranking-table th:last-child{width:40px}.stage-ranking-table td{height:33px;padding:6px 5px;border-bottom:1px solid #67878020;font-variant-numeric:tabular-nums}.stage-ranking-table tr:hover{background:#a0ffdd09}.stage-player{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage-ranking-table small{display:block;font-size:8px;color:#9cedbd}.stage-time{font:10px Arial,sans-serif;white-space:nowrap;color:#aacdc4}.stage-is-me{background:#25654c66;color:#d7ffe0;box-shadow:inset -3px 0 #91e9ac}.stage-personal{margin:12px 12px 7px;padding:10px 12px;border:1px solid #5ba27d66;border-radius:8px;background:linear-gradient(125deg,#215d4766,#102e2f55);display:grid;grid-template-columns:1fr auto;align-items:center}.stage-personal>span{font-size:10px;color:#b3d7bd}.stage-personal strong{font:22px Arial;color:#c4f4cb}.stage-personal p{grid-column:1/-1;font-size:9px;color:#abc6bb;line-height:1.8;margin:6px 0 0}.stage-ranking-count{font-size:8px;color:#8baba1;text-align:center;margin:9px}.stage-ranking-empty{padding:20px 14px;text-align:center;color:#b6c8c1;font-size:11px;line-height:1.8}.stage-ranking-empty>span{font-size:35px;color:#c3e3cb}.stage-ranking-message{font-size:11px;padding:25px 16px;line-height:1.9;color:#a8bfb8}.stage-ranking-head button{display:none;border:0;background:none;color:#b5d0ce;font-size:25px}#stage-ranking footer{border-top:1px solid #6b9e8c33;padding:10px 14px}#stage-ranking-full,#stage-ranking-retry{border:0;background:transparent;color:#a4d7c7;font:10px Tahoma,Arial;padding:4px}#stage-ranking-full{width:100%;text-align:start;display:flex;justify-content:space-between}#stage-ranking-toggle{display:none}.stage-menu .target-card{opacity:1;right:4%;bottom:auto;top:26%;width:clamp(130px,13vw,180px);padding:14px 8px 4px;background:linear-gradient(#10303977,#07141c66);border:1px solid #7eaaa844;border-radius:12px;box-shadow:0 6px 25px #0005}#stage-target-label{display:none;color:#b5d2c6;text-align:center;font:10px Tahoma,Arial}.stage-menu #stage-target-label{display:block}.stage-menu #game-title{left:36%;width:59%;top:66%;height:19%}.tutorial-active #stage-ranking,.tutorial-active #stage-ranking-toggle{display:none!important}
@media(max-width:1050px){.stage-menu #stage-ranking{display:none;left:20px;top:auto;bottom:70px;width:min(355px,calc(100% - 40px));max-height:calc(100dvh - 155px)}.stage-menu #stage-ranking.expanded{display:flex}.stage-menu #stage-ranking-toggle{display:block;position:absolute;z-index:6;left:22px;bottom:22px;max-width:65%;background:linear-gradient(#254c4b,#081a23);border:1px solid #83b2a5;border-radius:8px;color:#c3e8d8;padding:12px 16px;font:11px Tahoma,Arial;box-shadow:0 5px 20px #0007;cursor:pointer}.stage-ranking-head button{display:block}.stage-menu .target-card{top:auto;bottom:20px;right:16px;width:105px;padding:8px 3px 0}.stage-menu #game-title{left:4%;width:92%;top:58%;height:19%}}
@media(max-height:650px) and (min-width:1051px){#stage-ranking{top:15%;max-height:82%}.stage-ranking-head{padding-top:10px}.stage-ranking-table td{height:26px;padding-top:3px;padding-bottom:3px}.stage-ranking-rule{margin-bottom:8px}.stage-personal{padding:6px 10px;margin-top:8px}.stage-ranking-head h2{font-size:13px}}

.stage-ranking-content{display:flex;flex-direction:column;overflow:hidden;flex:1;min-height:0}.stage-ranking-scroll{overflow:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#41635f transparent}.stage-personal,.stage-ranking-count,#stage-ranking footer,.stage-ranking-head,.stage-ranking-rule{flex-shrink:0}

/* Quiet menu leaderboard, replacing the duplicate target preview. */
.stage-menu .target-card{display:none}
.stage-menu #stage-ranking{left:auto;right:4%;top:26%;bottom:auto;width:clamp(190px,19vw,270px);max-height:58%;display:block;padding:10px 8px;background:linear-gradient(#10303955,#07141c55);border:1px solid #7eaaa833;border-radius:12px;box-shadow:none;backdrop-filter:blur(3px);overflow:auto}
.compact-ranking-title{text-align:center;font:10px Tahoma,Arial;color:#b5d2c6;margin:2px 0 9px}.compact-ranking-list{list-style:none;margin:0;padding:0}.compact-ranking-list li{display:grid;grid-template-columns:18px minmax(0,1fr) 62px 26px;gap:4px;align-items:center;padding:7px 3px;font:10px Tahoma,Arial;border-bottom:1px solid #b4d9d710}.compact-ranking-list li:last-child{border-bottom:0}.compact-ranking-list .stage-time{font-size:9px}.compact-rank,.compact-moves{font-size:9px;color:#a1bdb6;text-align:center}.compact-ranking-list .stage-is-me{background:#90dcb710;box-shadow:none;border-radius:4px}.compact-own-rank{border-top:1px solid #8ac7b944;margin-top:6px;padding-top:4px}.compact-ranking-empty{text-align:center;color:#98b4ad;padding:12px;font-size:12px}#stage-ranking-close{display:none;border:0;background:none;color:#b5d2c6;font-size:20px}.stage-menu #game-title{left:14%;width:72%;top:58%;height:24%}
@media(max-width:1050px){.stage-menu #stage-ranking{display:none;right:16px;left:auto;top:auto;bottom:72px;width:min(270px,calc(100% - 32px));max-height:65%}.stage-menu #stage-ranking.expanded{display:block}.stage-menu #stage-ranking-toggle{left:auto;right:16px;bottom:22px;background:#10303966;border-color:#7eaaa844;box-shadow:none}.stage-menu #game-title{left:4%;width:92%;top:57%;height:19%}#stage-ranking-close{display:block;position:absolute;left:4px;top:0}}

#leaderboard{display:none!important}#edit-player-profile{border-color:#a9e1c4;font-weight:bold}
#choose-level{display:none!important}

#load-game,#save-game{display:none!important}.reset-stage{display:none;position:absolute;z-index:5;top:83px;left:50%;transform:translateX(-50%);border:1px solid #68988a66;border-radius:6px;background:#0b242aaa;color:#bdd9ce;padding:7px 15px;font:11px Tahoma,Arial;cursor:pointer!important}.menu-mode .reset-stage:not([hidden]){display:block}.tutorial-active .reset-stage{display:none!important}@media(max-width:600px){.reset-stage{top:67px}}

.hanging-start{position:absolute;z-index:4;left:50%;top:44px;width:clamp(260px,32vw,480px);height:clamp(48px,7.5vh,68px);margin-left:calc(clamp(260px,32vw,480px) / -2);transform-origin:50% -80px;animation:hanging-start-sway 5.8s ease-in-out infinite;transition:opacity .4s,translate .7s;perspective:850px;filter:drop-shadow(0 5px 4px #000a)}.hanging-start::before,.hanging-start::after{content:'';position:absolute;z-index:-1;top:-110px;height:120px;width:7px;border:1px solid #193c43;background:linear-gradient(90deg,#0a1a21 0%,#38616b 25%,#b7e1de 43%,#547e86 60%,#102832 100%);box-shadow:2px 1px 3px #000a,inset 0 0 2px #c4ffff66;pointer-events:none}.hanging-start::before{left:19%}.hanging-start::after{right:19%}.hanging-start .start-panel{top:0;width:100%;height:100%;min-height:0}.hanging-start .level-navigation{top:0;bottom:auto;width:100%;height:100%;}.playing .hanging-start{translate:0 -180px;opacity:0;pointer-events:none}.playing .hanging-start .start-panel{transform:translateX(-50%)}.tutorial-active .hanging-start{display:none}.menu-mode .reset-stage{top:120px}.level-lock-status{top:57px}
@keyframes hanging-start-sway{0%,100%{transform:rotate(-.85deg) rotateY(-2deg) translateY(0)}50%{transform:rotate(.85deg) rotateY(2deg) translateY(2px)}}
@media(max-width:600px){.hanging-start{top:31px;width:260px;height:49px;margin-left:-130px;transform-origin:50% -60px}.hanging-start::before,.hanging-start::after{width:5px}.menu-mode .reset-stage{top:92px}.level-lock-status{top:95px}}
@media(prefers-reduced-motion:reduce){.hanging-start{animation:none}}
