:root{--ink: #5a3d22;--paper: #fff6dc;--accent: #ff9f43;--green: #5bb060}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html,body{margin:0;height:100%;overflow:hidden;background:#9fdcf0;overscroll-behavior:none;font-family:-apple-system,Hiragino Maru Gothic ProN,Hiragino Sans,Helvetica Neue,sans-serif;color:var(--ink);touch-action:none}#stage{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}#ui{position:fixed;inset:0;pointer-events:none}#ui>*{pointer-events:auto}.screen{position:absolute;inset:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.screen.center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px}.screen.hud,.screen.hud *{pointer-events:none}.screen.hud .btn,.screen.hud .stick-zone,.screen.hud .jump-btn{pointer-events:auto}.screen.hud{pointer-events:none}.btn{min-width:64px;min-height:64px;padding:0 28px;border:0;border-radius:22px;font:inherit;font-size:24px;font-weight:700;color:var(--ink);background:var(--paper);box-shadow:0 6px #c9a66b;cursor:pointer;transition:transform .06s,box-shadow .06s}.btn:active{transform:translateY(5px);box-shadow:0 1px #c9a66b}.btn.big{font-size:36px;min-height:96px;padding:0 64px;background:var(--accent);color:#fff;box-shadow:0 8px #d77a1f}.btn.big:active{box-shadow:0 2px #d77a1f;transform:translateY(6px)}.btn.small{font-size:20px;padding:0 20px}.btn.primary{background:var(--accent);color:#fff;box-shadow:0 6px #d77a1f}.btn.danger{background:#f59a9a;box-shadow:0 6px #c76b6b}.btn.round{border-radius:50%;width:96px;height:96px;padding:0;font-size:20px}.logo{font-size:72px;font-weight:900;text-align:center;line-height:1.2;color:#fff;text-shadow:0 4px 0 #3a8fb7,0 8px 18px rgba(0,0,0,.2)}.profile .title{position:absolute;top:28px;left:0;right:0;text-align:center;font-size:34px;font-weight:800;color:#fff;text-shadow:0 3px 0 #3a8fb7}.profile .cards{position:absolute;inset:90px 40px 40px;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:22px}.card{position:relative;width:190px;height:210px;border:0;border-radius:28px;background:var(--paper);box-shadow:0 8px #c9a66b;font:inherit;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:transform .06s,box-shadow .06s}.card:active{transform:translateY(6px);box-shadow:0 2px #c9a66b}.card .emoji{font-size:84px;line-height:1}.card .pname{font-size:26px;font-weight:800}.card .last{font-size:15px;opacity:.75}.card .check{position:absolute;top:8px;right:12px;width:36px;height:36px;border-radius:50%;background:var(--green);color:#fff;font-size:22px;line-height:36px;text-align:center;font-weight:900}.adult-btn{position:absolute;top:calc(14px + env(safe-area-inset-top));right:calc(14px + env(safe-area-inset-right));width:80px;height:64px;border:0;border-radius:18px;background:#ffffff8c;color:var(--ink);font:inherit;font-size:16px;font-weight:700;overflow:hidden}.adult-btn .ring{position:absolute;left:0;bottom:0;height:6px;width:0;background:var(--accent)}.adult-btn.holding .ring{width:100%;transition:width 2s linear}.profile,.profile .title,.profile .cards{transition:opacity .6s}.profile.idle .title,.profile.idle .cards{opacity:0;pointer-events:none}.profile.idle .cards{visibility:hidden;transition:opacity .6s,visibility 0s .6s}.quit{position:absolute;top:calc(14px + env(safe-area-inset-top));right:calc(14px + env(safe-area-inset-right));background:#fff6dce6}.enter{position:absolute;bottom:calc(24px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);background:var(--accent);color:#fff;box-shadow:0 6px #d77a1f;font-size:28px}.enter:active{transform:translate(-50%,5px)}.controls{position:absolute;inset:0;pointer-events:none}.stick-zone{position:absolute;left:0;bottom:0;width:45%;height:65%;pointer-events:auto;touch-action:none}.stick-ring{position:absolute;width:120px;height:120px;border-radius:50%;border:4px solid rgba(255,255,255,.7);background:#ffffff2e;opacity:.35;pointer-events:none}.stick-ring.active{opacity:.9}.stick-knob{position:absolute;left:30px;top:30px;width:60px;height:60px;border-radius:50%;background:#ffffffd9;box-shadow:0 3px #00000026}.jump-btn{position:absolute;right:calc(40px + env(safe-area-inset-right));bottom:calc(40px + env(safe-area-inset-bottom));pointer-events:auto;background:#fff6dcd9}.jump-btn:active{transform:translateY(5px)}.result{background:#78c8e68c}.result-title{font-size:40px;font-weight:900;color:#fff;text-shadow:0 3px 0 #3a8fb7}.result-animal{font-size:96px}.result ul{list-style:none;margin:0;padding:22px 36px;background:var(--paper);border-radius:24px;font-size:26px;font-weight:700;line-height:1.7}.result .btn{opacity:.85}.result.ready .btn{animation:pulse 1s infinite}@keyframes pulse{50%{transform:scale(1.06)}}.adult{background:var(--paper);overflow:auto;touch-action:pan-y}.adult-head{display:flex;align-items:center;gap:20px;padding:16px 24px;position:sticky;top:0;background:var(--paper);z-index:2}.adult-head h2{margin:0;font-size:26px}.adult-body{padding:0 24px 60px;max-width:760px;margin:0 auto}.adult section{margin:18px 0;padding:16px;background:#fff;border-radius:18px}.adult h3{margin:0 0 10px;font-size:20px}.adult input[type=text],.adult select{font:inherit;font-size:18px;padding:10px 12px;border:2px solid #ddc99a;border-radius:12px;-webkit-user-select:text;user-select:text;background:#fff;color:var(--ink)}.adult .prow{display:flex;align-items:center;gap:12px;margin:8px 0}.adult .prow .emoji{font-size:40px}.adult .prow input{flex:1}.adult .add{display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap}.adult .icon-pick{font-size:32px;padding:0 14px}.adult section .btn{margin:4px 8px 12px 0}.adult input[type=range]{width:100%;height:40px}.adult .msg{margin:6px 0 0;color:#c0561f;font-weight:700;min-height:1.4em}.adult .ver{text-align:center;opacity:.6}.dialog{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:10}.dialog .box{background:var(--paper);border-radius:24px;padding:28px 32px;max-width:520px;text-align:center;font-size:22px;font-weight:700}.dialog .row{display:flex;gap:20px;justify-content:center;margin-top:12px}#toast{position:fixed;top:calc(14px + env(safe-area-inset-top));left:50%;transform:translate(-50%,-140%);padding:10px 22px;border-radius:16px;background:#3c2814d9;color:#fff;font-size:18px;font-weight:700;transition:transform .25s;z-index:30;pointer-events:none}#toast.show{transform:translate(-50%)}#rotate{position:fixed;inset:0;display:none;z-index:40;background:#7fd1e8;flex-direction:column;align-items:center;justify-content:center;gap:24px;color:#fff;font-weight:900}.rot-icon{font-size:96px}.rot-text{font-size:40px;text-shadow:0 3px 0 #3a8fb7}@media(orientation:portrait){#rotate{display:flex}}.lv-chip{position:absolute;top:calc(14px + env(safe-area-inset-top));left:calc(14px + env(safe-area-inset-left));padding:8px 16px 10px;border-radius:16px;background:#fff6dce6;font-weight:800;font-size:18px;min-width:150px}.lv-chip i{display:block;height:8px;margin-top:6px;border-radius:4px;background:#e8d9b0;overflow:hidden}.lv-chip b{display:block;height:100%;background:#6cc070}.result li.lvup{color:#d77a1f}.screen.build,.screen.build *{pointer-events:none}.screen.build .btn,.screen.build .tray-item,.screen.build .b-quest,.screen.build .dialog,.screen.build .dialog *,.dialog{pointer-events:auto}.b-left{position:absolute;top:calc(14px + env(safe-area-inset-top));left:calc(14px + env(safe-area-inset-left));display:flex;flex-direction:column;gap:10px;align-items:flex-start}.b-diff{display:flex;gap:8px}.b-diff .btn{background:#fff6dcd9}.b-diff .btn.on{background:var(--accent);color:#fff;box-shadow:0 6px #d77a1f}.b-quest{padding:10px 16px;border-radius:16px;background:#fff6dcf2;font-size:18px;font-weight:700;max-width:360px}.b-quest span{color:#d77a1f;margin-left:6px}.b-quest.done{background:#d7f5d3}.b-right{position:absolute;top:calc(14px + env(safe-area-inset-top));right:calc(14px + env(safe-area-inset-right));display:flex;gap:12px}.b-tray{position:absolute;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translate(-50%);display:flex;gap:14px;padding:10px 14px;border-radius:26px;background:#fff6dceb}.tray-item{width:96px;height:96px;border:0;border-radius:20px;background:#fff;box-shadow:0 5px #c9a66b;font:inherit;font-weight:800;font-size:16px;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;touch-action:none}.tray-item .ti{font-size:38px;line-height:1}.tray-item.trash{background:#fde0e0}.tray-item.trash.hot{background:#f59a9a;transform:scale(1.1)}#ui>.screen.hud,#ui>.screen.build{pointer-events:none}.tray-item:active{transform:translateY(4px) scale(.96);box-shadow:0 1px #c9a66b}.tray-item.sel{background:#ffe3b8;outline:4px solid var(--accent)}.b-hint{position:absolute;left:50%;bottom:calc(138px + env(safe-area-inset-bottom));transform:translate(-50%);padding:6px 16px;border-radius:14px;background:#3c2814b3;color:#fff;font-size:15px;font-weight:700;white-space:nowrap}#ui>.screen.cave.hud{pointer-events:none}.screen.cave.hud,.screen.cave.hud *{pointer-events:none}.screen.cave.hud .btn,.screen.cave.hud .stick-zone,.screen.cave.hud .jump-btn{pointer-events:auto}.cave-chip{position:absolute;top:calc(14px + env(safe-area-inset-top));left:calc(14px + env(safe-area-inset-left));padding:8px 16px 10px;border-radius:16px;background:#fff6dceb;display:flex;flex-direction:column;gap:2px;font-weight:700;font-size:16px}.cave-chip b{font-size:19px}.cave-time{font-size:20px;font-weight:800;color:#d77a1f}.cave-time.over{color:#d33}.fade{position:absolute;inset:0;background:#000;animation:fadeout .45s ease-out forwards;pointer-events:none}@keyframes fadeout{0%{opacity:.85}to{opacity:0}}.screen.cave.select,.screen.cave.result{background:#1b1733d1}.chapters{position:absolute;inset:90px 40px 40px;display:flex;flex-wrap:wrap;gap:20px;align-content:center;justify-content:center}.chapter{min-width:300px;padding:22px 26px;border-radius:26px;background:var(--paper);box-shadow:0 8px #c9a66b;text-align:center}.chapter.locked{opacity:.55}.c-title{font-size:30px;font-weight:900;margin-bottom:8px}.c-title .star{color:#f2b21f;margin-right:6px}.c-sub{font-size:18px;opacity:.8;margin-bottom:10px}.c-btns{display:flex;flex-direction:column;gap:12px;align-items:center;margin-top:12px}.screen.cave.select .b-left,.screen.cave.select .b-right,.screen.cave.hud .b-right{pointer-events:none}.screen.cave.select .btn,.screen.cave.result .btn,.screen.cave.select,.screen.cave.result{pointer-events:auto}.clear-box{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,90vw);padding:28px 32px;border-radius:28px;background:var(--paper);text-align:center;display:flex;flex-direction:column;gap:14px;align-items:center}.clear-title{font-size:40px;font-weight:900;color:#d77a1f}.clear-line{font-size:22px;font-weight:700}.clear-souv{font-size:24px;font-weight:800;padding:10px 16px;background:#fff;border-radius:16px}.clear-souv small{font-size:16px;opacity:.75}#ui>.screen.race.hud{pointer-events:none}.screen.race.hud,.screen.race.hud *{pointer-events:none}.screen.race.hud .steer,.screen.race.hud .btn,.screen.race.hud .mini,.screen.race.hud .mini *,.screen.race.hud .finish,.screen.race.hud .finish *,.screen.race.hud .pause,.screen.race.hud .pause *{pointer-events:auto}.screen.race.select{background:#3c78aa8c;pointer-events:auto}.screen.race.select .b-left,.screen.race.select .b-right{pointer-events:none}.screen.race.select .btn{pointer-events:auto}.steer{position:absolute;top:0;bottom:0;width:50%;touch-action:none;display:flex;align-items:flex-end;padding:0 26px 30px}.steer.left{left:0;justify-content:flex-start}.steer.right{right:0;justify-content:flex-end}.steer span{font-size:64px;color:#ffffff8c;text-shadow:0 2px 0 rgba(0,0,0,.2)}.steer.on span{color:#ffd94af2;transform:scale(1.15)}.race-chip{position:absolute;top:calc(14px + env(safe-area-inset-top));left:calc(14px + env(safe-area-inset-left));padding:8px 16px 10px;border-radius:16px;background:#fff6dceb;display:flex;flex-direction:column;gap:4px;min-width:190px}.race-chip b{font-size:17px}.race-time{font-size:30px;font-weight:900;color:#d77a1f;font-variant-numeric:tabular-nums}.race-bar{display:block;height:8px;border-radius:4px;background:#e8d9b0;overflow:hidden}.race-bar u{display:block;height:100%;width:0;background:#4aa8e8;text-decoration:none}.race-boost{font-weight:900;color:#ff7a2a;font-size:18px}.cd{position:absolute;left:0;right:0;top:24%;text-align:center;font-size:120px;font-weight:900;color:#fff;text-shadow:0 6px 0 #3a8fb7,0 10px 24px rgba(0,0,0,.3)}.mini{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);width:380px;height:340px;border-radius:28px;background:#fff6dce6;box-shadow:0 8px #00000026;display:flex;align-items:center;justify-content:center;overflow:hidden}.mini-title{position:absolute;top:14px;left:0;right:0;text-align:center;font-size:22px;font-weight:900}.mini .target{width:110px;height:110px;border-radius:50%;border:0;background:#fff;box-shadow:0 5px #c9a66b;font-size:64px;line-height:1}.mini-time{position:absolute;left:24px;right:24px;bottom:16px;height:8px;border-radius:4px;background:#e8d9b0;overflow:hidden}.mini-time u{display:block;height:100%;width:100%;background:#ff9f43;text-decoration:none;animation:shrinkbar 3s linear forwards}@keyframes shrinkbar{to{width:0}}.ring-target{position:absolute;width:120px;height:120px;border-radius:50%;border:6px solid #4aa8e8}.ring-shrink{position:absolute;border-radius:50%;border:6px solid #ff9f43;background:#ff9f431f}.mini-result{font-size:44px;font-weight:900}.mini.win{background:#d7f5d3}.mini.lose{background:#f7d9d9}.finish,.pause{position:absolute;inset:0;background:#1b17338c}.screen.race .c-btns{flex-direction:row;gap:14px}
