:root{color:#233f42;font-synthesis:none;background:#1e393d;font-family:Trebuchet MS,Arial,sans-serif}*{box-sizing:border-box}html,body{overscroll-behavior:none;width:100%;height:100%;margin:0;overflow:hidden}body{touch-action:none;-webkit-user-select:none;user-select:none}button{font:inherit;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #eea23d}button:active{transform:translateY(2px)}button:disabled{opacity:.5}button[hidden],[hidden]{display:none!important}#app{min-height:100%;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:radial-gradient(at 50% 30%,#3e6260 0,#1c3539 75%);flex-direction:column;justify-content:center;align-items:center;display:flex}#stage{isolation:isolate;transform-origin:50%;background:#bce0d3;border-radius:12px;flex:none;width:960px;height:640px;position:relative;overflow:hidden;box-shadow:0 12px 48px #0a202580,0 0 0 2px #6f8c7d}#game{position:absolute;inset:0}canvas{image-rendering:pixelated;display:block}#location{letter-spacing:2px;color:#264e50;text-shadow:0 1px #e8f2d7;align-items:center;gap:15px;font-size:13px;font-weight:900;display:flex;position:absolute;top:24px;left:28px}#location span{letter-spacing:1.7px;border-left:1px solid #59877e;padding-left:15px;font-size:10px}#tools{z-index:7;gap:8px;display:flex;position:absolute;top:16px;right:20px}.tool{color:#2b5556;background:#f7f0d9e8;border:1px solid #24494844;border-radius:10px;place-items:center;width:48px;height:48px;font-size:21px;font-weight:900;display:grid;box-shadow:0 3px #557e6c44}.tool.off{opacity:.65;background:#d8decd}.tool.off:after{content:"";background:#5d716d;width:24px;height:2px;position:absolute;transform:rotate(-45deg)}.frame-line{pointer-events:none;border:1px solid #fff4ce33;border-radius:7px;position:absolute;inset:8px}#overlay{pointer-events:none;position:absolute;inset:0}#overlay>*{pointer-events:auto}.menu-card{background:#fbf2dcef;border:2px solid #f7e8bc;border-radius:4px;width:430px;padding:30px 30px 26px;position:absolute;top:104px;left:40px;box-shadow:5px 6px #31584e30}.eyebrow{letter-spacing:2px;color:#688574;align-items:center;gap:10px;font-size:10px;font-weight:900;display:flex}.eyebrow:before{content:"";background:#b9a66c;width:22px;height:2px}h1{letter-spacing:-2px;color:#28494a;margin:19px 0 16px;font-family:Georgia,Times New Roman,serif;font-size:49px;font-weight:700;line-height:1.03}h1 span{color:#b27543}p{color:#5d7168;font-size:14px;line-height:1.6}.intro{max-width:325px;margin:0 0 22px}.difficulty{gap:10px;margin-bottom:13px;display:flex}.difficulty button{color:#5b7467;background:#f4eddb;border:1px solid #b5bea5;border-radius:5px;width:50%;height:48px;font-size:14px;font-weight:800}.difficulty button.selected{color:#36594f;background:#e2e9cf;border:2px solid #628272;box-shadow:inset 0 -2px #5c7a5f18}.difficulty button.selected:before{content:"●";vertical-align:2px;margin-right:8px;font-size:9px}.primary{color:#3d4d3b;letter-spacing:1px;background:#edbd66;border:1px solid #c99e55;border-bottom:4px solid #b58b48;border-radius:5px;width:100%;height:60px;font-size:15px;font-weight:900;box-shadow:0 3px #b1914f1c}.primary:hover{background:#f5cd80}.play-arrow{margin-left:14px;font-size:13px}.subnav{justify-content:center;align-items:center;gap:20px;margin-top:19px;display:flex}.text-btn{color:#647b6b;letter-spacing:.6px;background:0 0;border:0;min-height:40px;padding:9px;font-size:11px;font-weight:800}.subnav i{background:#b8bea4;width:1px;height:12px}.scene-tag{text-align:right;color:#fcf0ce;text-shadow:1px 2px #45665a;position:absolute;bottom:119px;right:39px}.scene-tag b{font-family:Georgia,serif;font-size:20px;font-style:italic;display:block}.scene-tag small{letter-spacing:1.6px;font-size:9px}.menu-footer{color:#e6e7c8;background:#264e4deb;border-top:3px solid #678e7c;justify-content:space-around;align-items:center;width:100%;height:94px;display:flex;position:absolute;bottom:0;left:0}.hint{letter-spacing:.6px;align-items:center;gap:14px;font-size:11px;font-weight:700;display:flex}.hint .hint-icon{color:#f1d38a;font-size:29px}.hint small{letter-spacing:0;color:#b7cebd;margin-top:5px;font-size:10px;font-weight:400;display:block}.under-stage{color:#9ab0a2;letter-spacing:1.5px;justify-content:space-between;width:100%;max-width:960px;margin-top:18px;font-size:9px;display:flex}.under-stage b{color:#b5ab76;margin:0 9px}#hud{pointer-events:none;align-items:center;gap:35px;height:54px;display:flex;position:absolute;top:78px;left:24px;right:200px}.score-chip{background:#fff4d9e8;border:1px solid #e9dcb3;border-radius:6px;align-items:center;gap:10px;height:43px;padding:0 14px;font-family:monospace;font-size:19px;font-weight:700;display:flex;box-shadow:0 3px #55736422}.score-chip small{letter-spacing:1px;font:700 8px Trebuchet MS}.chip-line{background:#c0b995;width:1px;height:19px;margin:0 4px}.coin-dot{background:#efc05d;border:3px solid #aa8143;border-radius:50%;width:19px;height:22px;box-shadow:inset 0 0 0 2px #fae59e}.route{color:#4f806d;flex:1;align-items:center;gap:11px;font-size:22px;display:flex}.route-track{background:#f6efd3b0;border-radius:8px;flex:1;height:7px;position:relative;box-shadow:0 0 0 1px #62877955}#routeFill{background:#68927c;border-radius:8px;max-width:100%;height:100%}#routeHero{color:#f2c16b;text-shadow:0 1px #4e6e54;margin-left:-5px;font-size:16px;position:absolute;top:-6px}.safe-icon{color:#8d7e49}#zone{letter-spacing:2px;color:#365e58;background:#e7ebce99;border-radius:3px;padding:6px 8px;font-size:9px;position:absolute;top:61px;left:0}#controls{background:#234a4cee;border-top:3px solid #789b88;justify-content:space-between;align-items:center;gap:20px;height:96px;padding:10px 26px;display:flex;position:absolute;bottom:0;left:0;right:0}.action{color:#33594e;letter-spacing:1px;background:#d3e2c5;border:1px solid #8da799;border-bottom:4px solid #456e62;border-radius:7px;justify-content:center;align-items:center;gap:13px;width:245px;height:73px;font-size:14px;font-weight:900;display:flex}.action svg{fill:none;stroke:currentColor;stroke-width:3px;stroke-linejoin:round;stroke-linecap:round;width:52px;height:38px}.action.jump{color:#425239;background:#edc778;border-color:#cfac60 #cfac60 #a88647}.action.pressed{filter:brightness(1.1);transform:translateY(3px)}.control-middle{color:#a4c2b3;letter-spacing:1px;align-items:center;gap:12px;font-size:9px;line-height:1.6;display:flex}.control-middle b{color:#e3e6c9;font-size:10px}.small-compass{color:#e2d5a0;font-size:29px}#countdown{text-align:center;pointer-events:none;color:#244b48;width:380px;position:absolute;top:175px;left:290px}.count-number{text-shadow:3px 3px #fff1cd;font-family:Georgia,serif;font-size:80px;display:block}.hand-demo{background:#f9efcfec;border-radius:6px;align-items:center;gap:12px;margin:13px auto 0;padding:13px 23px;font-size:17px;font-weight:800;display:inline-flex}.demo-hand{font-size:31px;animation:.7s infinite alternate tap;display:inline-block}@keyframes tap{to{transform:translateY(8px)}}.modal-backdrop{background:#163d4675;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.modal{background:#fbf2db;border:2px solid #f9e1a7;border-radius:6px;width:570px;padding:29px 34px;box-shadow:7px 9px #183e4233}.modal h2{letter-spacing:-.7px;color:#2d5551;margin:8px 0 10px;font:700 32px Georgia,serif}.modal .intro{max-width:none}.modal .close-row{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.modal .close-row button{color:#4e6e60;background:#e9e8d3;border:1px solid #c6c9ae;border-radius:5px;width:48px;height:48px;font-size:22px}.modal a{color:#4b7d72;font-size:12px;line-height:1.8}.modal .fiction{background:#e7e9d2;border-left:3px solid #9aab83;padding:12px 15px;font-size:12px}.modal .primary{height:52px;margin-top:14px}.board-tabs{gap:8px;display:flex}.board-tabs button{color:#486754;background:#e9ebd3;border:1px solid #b7c3a4;border-radius:4px;padding:10px 21px;font-weight:700}.board-tabs button.selected{color:#fff7dc;background:#608372}.board-list{margin:15px 0 0;padding:0;list-style:none}.board-list li{border-top:1px solid #d9dbc1;align-items:center;gap:20px;height:32px;font-size:13px;display:flex}.board-list li b:first-child{color:#7b9079;width:24px;font:12px monospace}.board-list li span{flex:1}.board-list li strong{color:#426855;font-family:monospace}.empty{padding:20px;font-size:13px}.result-score{color:#ad7b3d;margin:14px 0;font:700 50px Georgia,serif}.result-score small{letter-spacing:1px;margin-left:9px;font:11px Trebuchet MS}.stats{color:#607d68;background:#e7e9d2;justify-content:center;gap:20px;padding:14px;font-size:12px;display:flex}.result-modal{text-align:center;width:510px}.result-modal p{margin:8px}.result-modal .eyebrow{justify-content:center}.name-label{letter-spacing:1px;font-size:12px;font-weight:700}.name-input{text-align:center;color:#2d5b50;background:#fff9e8;border:2px solid #9bab8a;border-radius:5px;width:100%;height:55px;margin:12px 0;font:700 27px Georgia,serif}.keyboard{grid-template-columns:repeat(9,1fr);gap:6px;display:grid}.keyboard button{color:#3e6454;background:#e6edd5;border:1px solid #abbc9e;border-bottom:3px solid #a7b494;border-radius:4px;height:43px;font-size:17px;font-weight:700}.keyboard .back{grid-column:span 2}.name-error{color:#8b7252;height:18px;margin-top:9px;font-size:11px}.name-actions{gap:12px;margin-top:9px;display:flex}.name-actions .text-btn{width:85px}.name-actions .primary{flex:1;margin:0}.operator-note{color:#7e8e75;margin-top:12px;font-size:10px}.loading{text-align:center;color:#325d53;width:100%;font:700 25px Georgia,serif;position:absolute;top:210px}.loading small{margin-top:12px;font:12px Trebuchet MS;display:block}.operator-clear{color:#7c8c71;background:0 0;border:0;padding:10px;font-size:9px}.result-art{width:160px;height:auto;image-rendering:pixelated}.rotate-device{color:#e5d08a;font-size:70px}#portrait{color:#f0ebd0;text-align:center;padding:25px;display:none}#portrait h2{font:28px Georgia}#portrait p{color:#b0c7b7}@media (orientation:portrait){#stage,.under-stage{display:none!important}#portrait{display:block}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (max-height:700px){.under-stage{display:none}}.rescue-icon{fill:none;stroke:#537b66;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;width:26px;height:28px}#game{isolation:isolate}.street-choice{z-index:5;touch-action:none;background:#1c454775;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.fork-board{background:#fcf2d9;border:2px solid #e0c797;border-radius:8px;width:710px;padding:30px 34px 24px;position:relative;box-shadow:7px 8px #20433a50}.fork-board .eyebrow{font-size:10px}.fork-board h2{color:#33544c;letter-spacing:-1px;margin:15px 0 24px;font:700 39px Georgia,serif}.fork-clock{background:conic-gradient(#ad8d50 calc(var(--remaining)*100%),#e2ddbf 0);color:#2f554a;border:7px solid #f0e6c8;border-radius:50%;place-items:center;width:70px;height:70px;font:700 29px Georgia;display:grid;position:absolute;top:25px;right:30px;box-shadow:0 0 0 1px #c6b484}.fork-roads{grid-template-columns:1fr 1fr;gap:20px;display:grid}.street-option{color:#34574c;background:#e5e8ce;border:2px solid #a5ab87;border-bottom:6px solid #8b9675;border-radius:6px;min-height:225px;padding:24px 15px 20px;position:relative;overflow:hidden}.street-option:hover{background:#eef1d9;border-color:#718c70}.street-option strong{margin-top:12px;font:700 24px Georgia,serif;display:block}.street-arrow{color:#667f64;font-size:35px;position:absolute;top:8px;left:15px}.street-picture{clip-path:polygon(0 17%,25% 17%,25% 0,70% 0,70% 23%,100% 23%,100% 100%,0 100%);background:linear-gradient(155deg,#0000 45%,#d8c99d 46% 63%,#0000 64%),linear-gradient(25deg,#0000 30%,#8b9e83 31% 48%,#0000 49%),#b7d0ba;width:125px;height:111px;margin:0 auto;display:block;position:relative}.street-picture:before{content:"";background:#d7b48d;width:28px;height:48px;position:absolute;top:22px;left:20px;box-shadow:52px 10px #cfac8d}.street-picture:after{content:"";filter:drop-shadow(51px 10px #8f6952);border-bottom:18px solid #8f6952;border-left:20px solid #0000;border-right:20px solid #0000;position:absolute;top:11px;left:14px}.has-footsteps .street-picture{background:radial-gradient(at 66% 79%,#6e8163 0 2px,#0000 3px),radial-gradient(at 57% 86%,#6e8163 0 2px,#0000 3px),radial-gradient(at 47% 92%,#6e8163 0 2px,#0000 3px),linear-gradient(155deg,#0000 45%,#d8c99d 46% 63%,#0000 64%),linear-gradient(25deg,#0000 30%,#8b9e83 31% 48%,#0000 49%),#b7d0ba}.fork-trail{color:#76836c;text-align:center;margin-top:20px;font-size:12px}.score-chip{min-width:170px}#zone{max-width:340px}.keyboard-copy,.keyboard-hint{display:none}[data-input=keyboard] .keyboard-copy{display:inline}[data-input=keyboard] .keyboard-hint{display:block}[data-input=keyboard] .touch-copy{display:none}.action .keyboard-hint{letter-spacing:2px;opacity:.75;margin-top:5px;font-size:11px}.fork-trail .keyboard-hint{color:#426c59;margin-top:9px;font-weight:700}.street-choice{background:#c6d8c4}.street-option:disabled{opacity:1}.map-screen{z-index:6;background:#bbd0bd;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.map-board{background:#fbf1d6;border:2px solid #dcc58f;border-radius:8px;width:906px;padding:25px 25px 18px;box-shadow:5px 7px #34564730}.map-board h2{color:#31594e;letter-spacing:-.6px;margin:8px 0;font:700 31px Georgia,serif}.map-subtitle{color:#617667;margin:0 0 8px;font-size:12px}.royal-map{border:1px solid #8ba58d;border-radius:8px;width:100%;height:365px;display:block}.map-road{fill:none;stroke:#f4e7bf;stroke-width:12px;stroke-linejoin:round;stroke-linecap:round}.map-route{fill:none;stroke:#a1773f;stroke-width:2px;stroke-dasharray:5 4;stroke-linecap:round;stroke-linejoin:round}.map-street{fill:#294f46;paint-order:stroke;stroke:#e6e2bf;stroke-width:4px;stroke-linejoin:round;text-anchor:middle;font:700 12px Georgia,serif}.map-fork circle{fill:#f7d98c;stroke:#76613e;stroke-width:2px}.map-fork text{fill:#3b5341;text-anchor:middle;font:700 14px Arial}.map-pin circle{fill:#345e50;stroke:#fff0c7;stroke-width:2px}.map-pin text{fill:#2d5148;letter-spacing:1px;text-anchor:middle;paint-order:stroke;stroke:#c4d9c8;stroke-width:3px;font:700 10px Arial}.map-landmark{fill:#4e7062;paint-order:stroke;stroke:#c5d5bd;stroke-width:3px;font:italic 10px Georgia,serif}.map-sea{fill:#628a81;letter-spacing:3px;text-anchor:middle;font:10px Arial}.map-legend{color:#496c59;align-items:center;gap:23px;margin:9px 0 4px;font-size:11px;display:flex}.map-legend span{align-items:center;gap:7px;display:flex}.map-legend i{border:1px solid #799084;width:18px;height:12px}.lost-key{background:repeating-linear-gradient(135deg,#88aaa4 0 4px,#729b98 4px 5px)}.land-key{background:#d8d7b0}.map-legend .route-key{border:0;border-top:2px dashed #a1773f;height:0}.map-bottom{justify-content:space-between;align-items:center;gap:14px;display:flex}.map-disclaimer{color:#4e705d;margin:8px 0 5px;font-size:11px;line-height:1.2}.map-source{color:#7b8b75;margin:0;font-size:9px;line-height:1.2}.map-bottom .primary{width:148px;height:53px;margin-left:auto}.map-clock{color:#4d7059;border:2px solid #a8b390;border-radius:50%;flex:none;place-items:center;width:47px;height:47px;font:700 24px Georgia,serif;display:grid}.street-picture{clip-path:none;background:#b8cfc1;border-radius:5px;width:190px;height:111px;overflow:hidden}.street-picture:before,.street-picture:after{display:none}.street-picture img{object-fit:cover;object-position:50% 90%;width:100%;height:100%;image-rendering:pixelated}.footstep-trail{display:none}.has-footsteps .footstep-trail{background:#5c7763;border-radius:50%;width:4px;height:7px;display:block;position:absolute;bottom:10px;right:20px;transform:rotate(30deg);box-shadow:-9px -3px #5c7763,-10px -16px #5c7763,-19px -18px #5c7763}
