*{box-sizing:border-box}body{margin:0;color:#f3f6fc;background:linear-gradient(90deg,#111a24b8,#17202533 50%,#111b2477),url('assets/environment.jpg') center/cover fixed;font-family:'Malgun Gothic',Arial,sans-serif;min-height:100vh}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:3px solid #ffd13d;outline-offset:3px}button:disabled{opacity:.4;cursor:default}main{max-width:1580px;min-height:100vh;margin:auto;padding:28px 38px;display:grid;grid-template-columns:280px minmax(300px,1fr) 230px;gap:38px;align-items:center}.metal{border:2px solid #8194aa;border-radius:23px;background:linear-gradient(155deg,#3b4655f2,#17212fee 48%,#0d1623f5);box-shadow:inset 0 0 0 3px #ccdef729,inset 0 8px 15px #c6d8ed12,0 5px 8px #0009;text-shadow:0 2px 2px #0009}.left nav{display:flex;gap:18px;margin-bottom:42px}.icon{width:66px;height:62px;border-radius:16px;font:44px Arial}.logo{display:flex;align-items:flex-start;gap:10px;font-size:47px;line-height:1.25;font-weight:1000;font-style:italic;letter-spacing:-4px;white-space:nowrap;filter:drop-shadow(0 4px 1px #000)}.logo>div{color:#dfe6ef;text-shadow:1px 1px white}.logo b{font-size:54px;background:linear-gradient(135deg,#32b2f7,#0051a3);border:3px solid #ace4ff;border-radius:10px;padding:0 13px;transform:skew(-10deg);margin-top:8px;letter-spacing:0}.logo em{font-size:62px;color:#ffc52d;text-shadow:0 3px #895800}.intro{font-size:20px;font-weight:700;line-height:1.85;margin:32px 0 23px}hr{border:0;height:2px;background:linear-gradient(90deg,#c2cbd7,transparent);margin-bottom:28px}.goal{padding:18px}.goal h2{font-size:24px;color:#ffd33c;margin:0 0 14px}.goal>div{display:flex;gap:12px;align-items:center}.goal img{width:90px;filter:drop-shadow(0 5px 3px black)}.goal p{font-weight:700;font-size:16px;line-height:1.7;margin:0}.tip{font-size:11px;line-height:1.9;color:#b7c4ce;margin:23px 0 8px}.link{background:none;border:0;color:#c9d7e2;padding:8px 0;font-size:11px}.frame{position:relative;border:18px solid #9c9f9a;border-radius:29px;aspect-ratio:1;background:#777;box-shadow:inset 0 0 0 3px #d9d9ce,0 8px 0 #5f645f,0 19px 25px #0009,0 0 0 2px #393d3b}.board{position:relative;width:100%;height:100%;background:linear-gradient(#12192033,#12192033),url('assets/asphalt.jpg') center/cover;touch-action:none;isolation:isolate}.board:before{content:'';position:absolute;inset:0;background-image:linear-gradient(90deg,#dfdece91 2px,transparent 2px),linear-gradient(#dfdece91 2px,transparent 2px);background-size:calc(100% / 6) calc(100% / 6);border:2px solid #d6d7c8a8;z-index:-1}.car{position:absolute;border:0;padding:0;background:none;touch-action:none;cursor:grab;z-index:2;filter:drop-shadow(3px 7px 3px #000b);-webkit-tap-highlight-color:transparent}.car img{width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none}.car.target{z-index:3;filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 5px #ffbd16) drop-shadow(0 0 10px #ff8500)}.car.selected,.car.hint{filter:drop-shadow(0 0 3px white) drop-shadow(0 0 10px #ffce35);z-index:4}.car.dragging{cursor:grabbing}.car.escaping{transition:transform .65s ease-in;transform:translateX(450%)!important}.route{position:absolute;left:35%;top:35%;height:14%;display:flex;align-items:center;color:#ffce32;font-size:clamp(26px,4vw,66px);letter-spacing:4px;text-shadow:0 0 8px #ffb100,0 0 20px #ff9e00;opacity:.85;pointer-events:none;white-space:nowrap}.opening{position:absolute;right:-20px;top:33.333%;height:16.666%;width:23px;background:#263a2c;border-left:3px solid #d1ffb0;box-shadow:0 0 14px #7bff35;z-index:1}.exit-lane{position:absolute;right:-84px;top:33.333%;width:67px;height:16.666%;border:3px solid #bdff93;border-left:0;border-radius:0 8px 8px 0;box-shadow:0 0 12px #6dff33,inset 0 0 15px #72ff2e;display:grid;place-items:center;color:#c9ff60;font-size:29px;text-shadow:0 0 9px #60ff00;background:#305f2544}.stripe{position:absolute;width:14%;height:19px;background:repeating-linear-gradient(130deg,#e8ac13 0 13px,#202428 13px 26px);z-index:5;box-shadow:0 2px 3px #0006}.s1{top:-19px;left:24%}.s2{top:-19px;right:21%}.s3{bottom:-19px;left:21%}.s4{bottom:-19px;right:24%}.light{position:absolute;width:15px;height:14px;background:#fff4cc;border:2px solid #d8a96b;box-shadow:0 0 12px #ffcf7d,0 0 35px #ffc46d;z-index:5;transform:rotate(-17deg)}.l1{left:-16px;top:-16px}.l2{right:-16px;top:-16px}.l3{bottom:-16px;left:-16px}.l4{bottom:-16px;right:-16px}.status{text-align:center;font-size:11px;color:#d1d8d6;margin:29px 0 0;min-height:20px}.right{display:flex;flex-direction:column;gap:21px;padding-left:8px}.stage-panel{text-align:center;padding:18px 10px 12px}.stage-panel h1{font-size:25px;margin:0 0 7px;white-space:nowrap}.stars{color:#ffd13b;font-size:43px;letter-spacing:4px;text-shadow:0 0 6px #ffa900,0 0 14px #ffb00066;-webkit-text-stroke:1px #fff1a5;line-height:1.3}.stars .off{color:#536071;text-shadow:none;-webkit-text-stroke:1px #9aaabd}.stage-panel>span{font-size:10px;color:#b3c3d5;letter-spacing:3px}.counter{text-align:center;padding:15px 8px}.counter h2{font-size:19px;margin:0 0 8px}.counter strong{font-size:35px;letter-spacing:2px;color:#a6ddff}.counter p{font-size:10px;color:#a2b0c0;margin:7px 0 0}.exit-sign{font-size:31px;font-weight:900;align-self:flex-start;margin:7px 0 32px -12px;padding:5px 15px;border:2px solid #d6ffae;border-radius:8px;background:linear-gradient(#3b7021,#173e14);box-shadow:0 0 12px #7dfb35,inset 0 0 9px #8bff38;white-space:nowrap}.actions{display:grid;gap:12px}.actions button{border-radius:40px;padding:10px 5px;font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;min-height:61px}.actions span{font:38px Arial;line-height:1}.actions button:first-child span{color:#ffcf37}.actions small{font-size:17px}.difficulty{text-align:center;letter-spacing:1px;font-size:9px}.overlay{position:fixed;inset:0;background:#071018c9;backdrop-filter:blur(9px);z-index:30;display:grid;place-items:center;padding:22px}.overlay[hidden]{display:none}.dialog{width:min(630px,100%);max-height:88vh;overflow:auto;padding:30px;text-align:center}.dialog h2{font-size:28px;margin:0 0 10px}.dialog p{font-size:14px;line-height:1.8;color:#c3ced8}.dialog .bigstars{font-size:58px;color:#ffcf39;text-shadow:0 0 20px #ffc000}.dialog button{border:1px solid #7990a4;background:#34485b;border-radius:11px;padding:12px 19px;margin:5px;font-weight:700}.dialog button.primary{background:linear-gradient(#fbd860,#dfa52a);color:#222c35;border-color:#ffdf91}.stage-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:24px 0}.stage-grid button{margin:0;padding:10px 0;min-height:64px;background:#172432}.stage-grid button.current{border:2px solid #ffd367}.stage-grid small{display:block;color:#ffd15b;font-size:10px;margin-top:5px}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid #ffffff20}.setting-row input{width:22px;height:22px;accent-color:#ffd15b}.dialog .muted{font-size:11px;color:#96a8b6}@media(max-width:1100px){main{grid-template-columns:210px minmax(300px,1fr) 180px;padding:24px;gap:22px}.logo{font-size:35px;letter-spacing:-3px;gap:6px}.logo em{font-size:46px}.logo b{font-size:40px;padding:0 9px}.intro{font-size:16px}.goal{padding:12px}.goal img{width:60px}.goal p{font-size:14px}.stage-panel h1{font-size:20px}.stars{font-size:34px}.counter strong{font-size:28px}.actions button{font-size:16px}.exit-sign{font-size:25px}.right{gap:16px}.frame{border-width:14px}.exit-lane{right:-62px;width:50px;font-size:23px}.opening{right:-16px;width:19px}.stripe{height:15px}.s1,.s2{top:-15px}.s3,.s4{bottom:-15px}}@media(max-width:800px){main{display:grid;grid-template-columns:minmax(0,1fr);max-width:570px;gap:17px;padding:18px 30px 25px;min-height:100dvh;align-content:center}.left{display:none}.play{grid-row:2;padding-right:18px}.frame{border-width:13px}.right{display:contents}.stage-panel{grid-row:1;display:flex;align-items:center;justify-content:space-between;border-radius:14px;padding:10px 15px}.stage-panel h1{margin:0;font-size:18px}.stage-panel>span{display:none}.stars{font-size:28px}.counter{grid-row:3;display:flex;align-items:center;justify-content:space-between;padding:9px 16px;border-radius:13px}.counter h2{font-size:14px;margin:0}.counter strong{font-size:25px}.counter p{font-size:9px}.exit-sign{display:none}.actions{grid-row:4;display:flex;gap:7px}.actions button{flex:1;font-size:13px;min-height:48px;padding:7px 2px;gap:4px}.actions span{font-size:27px}.actions small{font-size:12px}.difficulty{grid-row:5}.status{margin-top:22px}.exit-lane{right:-46px;width:34px;font-size:17px}.route{font-size:37px;letter-spacing:0}.stage-grid{grid-template-columns:repeat(5,1fr)}.dialog{padding:24px 17px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
