:root{font-family:"Hiragino Maru Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:#2d2740;background:#dceee8;font-weight:600;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 20% 20%,#f4faf5 0,transparent 60%);min-height:100svh}button,input{font:inherit}button{cursor:pointer;border:1.5px solid #2d2740;border-radius:12px;background:#fff9e8;color:#2d2740;padding:10px 14px;min-height:44px;font-weight:800;touch-action:manipulation}button:hover{background:#ffe193}button:active{transform:translateY(2px)}button:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #db4d60;outline-offset:3px}button:disabled{opacity:.5;cursor:default}[hidden]{display:none!important}.layout{display:flex;align-items:center;justify-content:center;gap:80px;max-width:1100px;margin:auto;padding:32px 28px 12px}.story{width:330px}.route{font-size:14px;border-bottom:3px solid #2d2740;padding-bottom:14px;letter-spacing:.05em}h1{font-size:70px;line-height:1.15;letter-spacing:-.07em;margin:26px 0 30px;font-weight:950}.lead{font-size:23px;line-height:1.7}.story>p:not(.lead):not(.route){line-height:1.9;font-size:14px}.line-map{display:flex;align-items:center;gap:8px;font-size:12px;margin:34px 0}.line-map i{height:5px;background:#8b4533;flex:1}.line-map b{border:2px solid #8b4533;border-radius:100%;width:70px;height:70px;display:grid;place-items:center}.desktop-tip{opacity:.7}.machine{width:450px;flex-shrink:0}.top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:8px}.top>div{display:flex;gap:6px}.top button{font-size:11px;padding:7px;min-height:36px;border-color:#87afa0;background:#edf7f2;border-radius:9px}.desktop-label{font-size:10px}.mobile-title{display:none;font-size:19px;letter-spacing:-.06em;font-weight:900}.stage{width:100%;aspect-ratio:420/640;position:relative;overflow:hidden;border:3px solid #2d2740;border-radius:25px;background:#b8dfd0;box-shadow:0 8px 0 #2d2740,0 18px 32px #38625226}canvas{width:100%;height:100%;display:block;touch-action:none}.hud{position:absolute;top:18px;left:20px;right:20px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.hud small{display:block;font-size:10px;letter-spacing:.05em}.hud strong{font-size:29px;line-height:1.2;display:block;letter-spacing:-.04em}.hud em{font-style:normal;font-size:12px;margin-left:4px}.hud .score{text-align:right;margin-left:auto}.hud button{pointer-events:auto;min-height:36px;margin-left:12px;background:#ffffff65;padding:5px 11px}.announcement{position:absolute;top:79px;left:16px;right:16px;min-height:32px;border:1px solid #768e82;background:#f8fff2e8;border-radius:7px;text-align:center;padding:8px 6px;margin:0;font-size:12px;font-weight:800;transition:background .2s}.announcement.warning{background:#ffe193;border-color:#8b4533}.panel{position:absolute;left:16px;right:16px;bottom:17px;background:#fff9e8f5;border:2px solid #2d2740;border-radius:17px;text-align:center;padding:20px 18px 12px;box-shadow:0 4px 0 #2d2740}.ticket{font-size:10px;background:#2d2740;color:#fff9e8;border-radius:5px;padding:5px 10px;display:inline-block;letter-spacing:.07em}.intro h2{font-size:28px;line-height:1.25;letter-spacing:-.06em;margin:15px 0 10px}.panel p{font-size:12px;line-height:1.7;margin:8px 0 12px}.primary{background:#ffe193;box-shadow:0 3px 0 #8b4533;border:2px solid #8b4533;font-size:16px;min-height:50px}.intro .primary,.paused .primary{width:100%}.panel .best{margin-bottom:0;color:#635958;font-size:10px}.result{padding-top:18px}.result h2{font-size:26px;letter-spacing:-.05em;margin:12px 0 0}.result .big-score{margin:2px 0;font-size:16px;line-height:1}.big-score b{font-size:53px;letter-spacing:-.07em;margin-right:6px}.result .result-tip{font-size:11px;color:#6e5549}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.result-actions .primary{grid-column:1/-1}.result-actions button{font-size:12px;padding:9px 5px}.result-actions #new-trip{grid-column:1/-1;min-height:36px;border:none;background:transparent;padding:4px}.result #share-status{font-size:10px;margin-bottom:0;min-height:14px}textarea{width:100%;margin-top:10px;font-size:12px;min-height:80px}.paused{top:210px;bottom:auto;padding:26px 18px}.paused h2{font-size:24px}.toast{position:absolute;top:125px;left:12px;right:12px;font-size:24px;font-weight:950;text-align:center;pointer-events:none;color:#713b31;text-shadow:0 2px #fff9e8;min-height:36px}.control{margin-top:22px}.control label{display:flex;align-items:center;justify-content:space-between;font-size:11px}.control label b{font-size:12px}.control input{display:block;width:100%;height:32px;accent-color:#8b4533;cursor:ew-resize;touch-action:none}.control p{text-align:center;font-size:10px;margin:0;opacity:.75}footer{text-align:center;font-size:10px;padding:18px 12px;color:#526f63}footer span{margin-left:16px}@media(max-width:850px){.layout{gap:32px}.story{width:250px}h1{font-size:58px}.machine{width:410px}}@media(max-width:700px){.story{display:none}.layout{display:block;max-width:458px;padding:12px 12px 4px}.machine{width:100%}.mobile-title{display:block}.desktop-label{display:none}.top{margin-bottom:9px}.top button{font-size:10px}.stage{border-radius:21px}.control{margin-top:19px}footer{padding:12px 8px;font-size:9px}footer span{margin-left:8px}.intro h2{font-size:25px}.intro{padding:16px 16px 10px}.intro p{font-size:11px}}@media(max-height:720px) and (min-width:701px){.layout{padding-top:12px}.machine{width:350px}.panel{padding:14px 12px 10px}.intro h2{font-size:24px}.intro p{margin:6px}.hud{top:12px}.announcement{top:68px}.control{margin-top:18px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
