[hidden]{display:none!important}:root{--paper:#f6f0e4;--card:#fffaf0;--ink:#1d1a17;--accent:#c2412d;--gold:#e8b923;--soft:#e9dfcc;--green:#2f8a4c;--sky:#5b8fc7;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;color:var(--ink);overscroll-behavior:none;background:#9fd6f2;margin:0;font:16px/1.35 ui-rounded,Trebuchet MS,system-ui,sans-serif;overflow:hidden}body{touch-action:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0}canvas#game{width:100%;height:100%;display:block;position:fixed;inset:0}canvas#ui{pointer-events:none;z-index:4;width:100%;height:100%;display:block;position:fixed;inset:0}button{font:inherit;color:var(--ink);cursor:pointer;touch-action:manipulation}a{color:var(--ink)}.card{background:var(--card);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);-webkit-overflow-scrolling:touch;touch-action:pan-y;border-radius:18px;width:min(440px,100vw - 24px);max-height:calc(100dvh - 24px);padding:18px 18px 16px;position:relative;overflow:auto}.card.wide{width:min(720px,100vw - 20px)}.card.center{text-align:center}.card h2{margin:0 0 8px;font-size:24px}.card .lead{margin:0 0 12px;font-size:16px}.lead.small{font-size:14px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.center{justify-content:center}.col{flex-direction:column;align-items:stretch;gap:10px;display:flex}.screen button{border:2.5px solid var(--ink);background:var(--card);min-height:46px;box-shadow:2px 2px 0 var(--ink);border-radius:999px;padding:8px 16px;font-size:16px;font-weight:800;transition:transform .1s}.screen button:active{box-shadow:1px 1px 0 var(--ink);transform:translate(1px,1px)}.screen button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);color:#fff}button.big{min-height:58px;font-size:22px}button.daily{background:#fdf0c4}button.cont{background:#d9f0e0}.closex{z-index:2;width:44px;height:44px;position:absolute;top:10px;right:10px;border-radius:50%!important;padding:0!important}.sheethead{min-height:44px;padding-right:50px;position:relative}.sheethead .closex{top:-4px;right:-4px}.bar2{border:2px solid var(--ink);background:var(--soft);border-radius:8px;height:12px;overflow:hidden}.bar2 i{background:linear-gradient(90deg, var(--sky), var(--gold));width:0;height:100%;transition:width .3s;display:block}.screen{z-index:30;background:#f6f0e4e6;place-items:center;padding:12px;display:grid;position:fixed;inset:0}.screen.clear{background:0 0}.round{border:2.5px solid var(--ink);background:var(--card);width:44px;height:44px;box-shadow:2px 2px 0 var(--ink);border-radius:50%;place-items:center;padding:0;font-size:14px;font-weight:900;display:grid}#title{background:linear-gradient(#f6f0e400 0 38%,#f6f0e4e0 64%);align-items:end}.titlewrap{text-align:center;width:min(640px,100vw - 24px);margin-bottom:max(14px, var(--safe-b));flex-direction:column;align-items:center;gap:9px;display:flex}.logo{letter-spacing:1px;text-shadow:3px 3px 0 #fffaf0, 5px 5px 0 var(--ink);margin:0;font-size:clamp(50px,14vw,92px);line-height:.95}.logo span{animation:2.4s ease-in-out infinite alternate logoBob;display:inline-block}.logo span:first-child{color:var(--accent)}.logo span:last-child{color:var(--sky);animation-delay:-1.2s}@keyframes logoBob{0%{transform:translateY(0)rotate(-2deg)}to{transform:translateY(-7px)rotate(2deg)}}.sub{max-width:480px;margin:0;font-size:16px;font-weight:650}.titlewrap .col{width:min(380px,100%)}.titlewrap .row{justify-content:center}.titlewrap .row button{flex:auto;padding:8px 10px}.savenote{opacity:.85;min-height:1em;margin:0;font-size:14px}.credit{font-weight:800}.backlink{font-size:15px;font-weight:700}.credit-foot{right:8px;bottom:calc(4px + var(--safe-b));z-index:5;opacity:.85;font-size:12px;font-weight:800;position:fixed}.credit-foot a{background:#fffaf0d9;border-radius:8px;padding:1px 6px;text-decoration:none}body.playing .credit-foot{display:none}.hud{padding:calc(6px + var(--safe-t)) 8px 4px;z-index:10;pointer-events:none;align-items:center;gap:6px;display:flex;position:fixed;top:0;left:0;right:0}.hud>*{pointer-events:auto}.chip{border:2.5px solid var(--ink);min-height:44px;box-shadow:2px 2px 0 var(--ink);white-space:nowrap;background:#fffaf0f0;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:15px;font-weight:800;display:inline-flex}.ridechip{flex:auto;justify-content:space-between;min-width:0}.ridechip b{text-overflow:ellipsis;overflow:hidden}.prog{border:2px solid var(--ink);background:var(--soft);border-radius:6px;flex:0 110px;min-width:50px;height:10px;overflow:hidden}.prog u{background:var(--green);width:0;height:100%;display:block}.film{margin-left:auto}.film.low b{color:var(--accent)}.film.bump{animation:.3s bump}@keyframes bump{40%{transform:scale(1.15)}}.focus{z-index:6;pointer-events:none;color:#fffaf0;white-space:nowrap;text-overflow:ellipsis;background:#1d1a17d1;border-radius:999px;max-width:calc(100vw - 30px);padding:3px 10px;font-size:14px;font-weight:800;position:fixed;left:50%;overflow:hidden;transform:translate(-50%)}.focus.gold{background:#8a6a12}.ctrl{z-index:10;padding:8px 10px calc(10px + var(--safe-b));pointer-events:none;justify-content:center;align-items:center;gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0}.ctrl>*{pointer-events:auto}.items{gap:7px;display:flex}.item{border:2.5px solid var(--ink);width:56px;height:62px;box-shadow:2px 2px 0 var(--ink);background:#fffaf0f2;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:3px 0 2px;display:flex;position:relative}.item img{object-fit:contain;width:34px;height:30px}.item span{font-size:24px;line-height:30px}.item small{font-size:11px;font-weight:800}.item b{font-size:20px;line-height:30px}.item:active{box-shadow:1px 1px 0 var(--ink);transform:translate(1px,1px)}.item.cool{opacity:.5}.item.locked{opacity:.35}.item.glow{animation:1s ease-in-out infinite alternate glow}@keyframes glow{0%{box-shadow:2px 2px 0 var(--ink), 0 0 0 0 #e8b923e6}to{box-shadow:2px 2px 0 var(--ink), 0 0 0 8px #e8b92300}}.shutter{border:3px solid var(--ink);width:76px;height:76px;box-shadow:3px 3px 0 var(--ink);background:#fffaf0;border-radius:50%;place-items:center;margin:0 4px;padding:0;display:grid}.shutter i{background:radial-gradient(circle at 40% 35%, #ff8a72, var(--accent) 60%);border:3px solid var(--ink);border-radius:50%;width:52px;height:52px;display:block}.shutter:active i{transform:scale(.9)}.shutter.glow{animation:1s ease-in-out infinite alternate glow}.shutter.empty i{background:#bbb}.flash{opacity:0;pointer-events:none;z-index:20;background:#fff;position:fixed;inset:0}.flash.on{animation:.32s ease-out flash}@keyframes flash{0%{opacity:.85}to{opacity:0}}.flypics img{z-index:21;pointer-events:none;border:4px solid #fff;border-bottom-width:12px;transition:transform .55s cubic-bezier(.5,-.2,.6,1),opacity .55s;position:fixed;box-shadow:2px 3px #1d1a1780}.coach{z-index:12;left:10px;right:10px;top:calc(60px + var(--safe-t));border:3px solid var(--ink);max-width:440px;box-shadow:3px 3px 0 var(--ink);background:#fffaf0;border-radius:16px;align-items:center;gap:8px;margin:0 auto;padding:10px 12px;animation:.35s pop;display:flex;position:fixed}.coach p{flex:1;margin:0;font-size:16px;font-weight:750}.coach button{border:2px solid var(--ink);background:var(--soft);border-radius:999px;min-height:40px;padding:4px 10px;font-size:13px;font-weight:800}@keyframes pop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.toast{z-index:12;left:50%;bottom:calc(100px + var(--safe-b));border:2.5px solid var(--ink);box-shadow:2px 2px 0 var(--ink);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;background:#fffaf0f5;border-radius:999px;max-width:calc(100vw - 24px);padding:6px 14px;font-size:15px;font-weight:800;animation:.25s pop;position:fixed;overflow:hidden;transform:translate(-50%)}.toast .new{color:var(--accent)}.banner{z-index:13;text-align:center;pointer-events:none;position:fixed;top:34%;left:0;right:0}.banner b{color:#fffaf0;-webkit-text-stroke:2px var(--ink);text-shadow:3px 3px 0 var(--ink);font-size:clamp(30px,9vw,56px);animation:1.4s ease-out both bannerIn;display:inline-block}.banner small{color:var(--ink);text-shadow:0 0 6px #fffaf0,0 0 3px #fffaf0;font-size:18px;font-weight:800;display:block}@keyframes bannerIn{0%{opacity:0;transform:scale(.3)rotate(-8deg)}18%{opacity:1;transform:scale(1.15)rotate(3deg)}30%{transform:scale(1)}85%{opacity:1}to{opacity:0}}.howpage{text-align:center;min-height:300px}.howpage h3{margin:4px 0 8px;font-size:22px}.howpage p{max-width:520px;margin:6px auto;font-size:16px}.howart{justify-content:center;align-items:flex-end;gap:10px;height:130px;margin:8px 0;display:flex}.howart img{object-fit:contain;max-width:30%;max-height:120px;animation:1.2s ease-in-out infinite alternate bob}.howart img:nth-child(2){animation-delay:-.4s}.howart img:nth-child(3){animation-delay:-.8s}@keyframes bob{0%{transform:translateY(0)}to{transform:translateY(-8px)}}.dots{gap:6px;display:inline-flex}.dots i{border:2px solid var(--ink);border-radius:50%;width:10px;height:10px}.dots i.on{background:var(--ink)}.scorekey{text-align:left;grid-template-columns:auto 1fr;gap:4px 10px;max-width:420px;margin:8px auto;font-size:15px;display:grid}.scorekey b{white-space:nowrap}.ridelist{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:12px;display:grid}.ride{border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);text-align:left;background:#fff;border-radius:16px;flex-direction:column;display:flex;position:relative;overflow:hidden;min-height:0!important;padding:0!important}.ride .cover{height:112px;position:relative;overflow:hidden}.ride .cover img{object-fit:contain;animation:1.3s ease-in-out infinite alternate bob;position:absolute;bottom:6px}.ride .info{flex-direction:column;gap:3px;padding:8px 10px 10px;display:flex}.ride .info b{font-size:18px}.ride .info small{font-size:13px;font-weight:650}.ride .info em{font-size:13px;font-style:normal;font-weight:800}.ride.locked .cover{filter:none;opacity:.5}.ride.locked .info em{color:var(--accent)}.ride .lock{font-size:22px;position:absolute;top:8px;right:8px}.ride .newtag{background:var(--gold);border:2px solid var(--ink);border-radius:999px;padding:0 8px;font-size:13px;font-weight:900;position:absolute;top:8px;left:8px}.rollcard{flex-direction:column;display:flex}.rollbody{flex-direction:column;gap:12px;margin-bottom:10px;display:flex}.rgroup b{margin-bottom:4px;font-size:15px;display:block}.rgroup b small{opacity:.7;font-weight:700}.rstrip{touch-action:pan-x pan-y;gap:8px;padding:2px 2px 6px;display:flex;overflow-x:auto}.rphoto{border:3px solid var(--ink);text-align:center;background:#fff;border-radius:8px;flex:none;width:104px;padding:3px 3px 2px;position:relative;min-height:0!important;box-shadow:none!important}.rphoto img{aspect-ratio:1;border-radius:4px;width:100%;display:block}.rphoto span{font-size:12px;font-weight:800;display:block}.rphoto.pick{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold)!important}.rphoto.pick:after{content:"✓";background:var(--gold);border:2px solid var(--ink);border-radius:50%;width:26px;height:26px;font-weight:900;line-height:22px;position:absolute;top:-8px;right:-8px}.sticky{background:var(--card);padding:8px 0 4px;position:sticky;bottom:-16px}.review{background:radial-gradient(circle at 50% 40%,#fffaf0,#efe2c6)}.revwrap{flex-direction:column;align-items:center;gap:8px;width:min(560px,100vw - 16px);max-height:100dvh;padding:4px 0;display:flex;overflow:auto}.prof{justify-content:center;align-items:flex-end;gap:8px;width:100%;min-height:92px;display:flex}.prof img{transform-origin:bottom;height:96px;animation:1.4s ease-in-out infinite alternate bob}.prof img.hop{animation:.5s ease-out profHop}@keyframes profHop{30%{transform:translateY(-22px)scaleY(1.08)}60%{transform:translateY(0)scaleY(.9)}}.bubble{border:3px solid var(--ink);max-width:300px;box-shadow:2px 2px 0 var(--ink);background:#fff;border-radius:16px;padding:8px 12px;font-size:16px;font-weight:800;position:relative}.bubble:before{content:"";border:6px solid #0000;border-right-color:var(--ink);border-width:6px 12px 6px 0;position:absolute;bottom:14px;left:-12px}.polaroid{border:3px solid var(--ink);box-shadow:4px 5px 0 var(--ink);text-align:center;background:#fff;width:min(340px,82vw);padding:10px 10px 8px;position:relative;transform:rotate(-1.5deg)}.polaroid img{aspect-ratio:1;background:#ddd;width:100%;display:block}.polaroid b{margin-top:6px;font-size:16px;display:block}.polaroid.big{width:min(380px,80vw);margin:0 auto 8px}.polaroid.in{animation:.45s cubic-bezier(.2,1.4,.5,1) slideIn}@keyframes slideIn{0%{transform:translate(60vw)rotate(14deg)}to{transform:rotate(-1.5deg)}}.stamp{letter-spacing:-2px;text-shadow:0 0 4px #fff,0 0 2px #fff;font-size:26px;position:absolute;top:18px;right:14px}.stamp.hit{animation:.35s cubic-bezier(.3,1.6,.5,1) stampIn}@keyframes stampIn{0%{opacity:0;transform:scale(2.6)rotate(-20deg)}to{opacity:1;transform:scale(1)rotate(-8deg)}}.newrec{background:var(--gold);border:3px solid var(--ink);white-space:nowrap;border-radius:10px;padding:4px 10px;font-weight:900;animation:.35s stampIn;position:absolute;top:42%;left:50%;transform:translate(-50%)rotate(-8deg)}.tally{border:3px solid var(--ink);width:min(380px,92vw);box-shadow:3px 3px 0 var(--ink);background:#fffaf0;border-radius:14px;padding:8px 12px}.tally div{justify-content:space-between;gap:10px;padding:1px 0;font-size:15px;font-weight:700;animation:.25s pop;display:flex}.tally div em{opacity:.75;font-style:normal;font-weight:650}.tally .tot{border-top:2px dashed var(--ink);margin-top:4px;padding-top:4px;font-size:19px;font-weight:900}.revcount{opacity:.7;margin:0;font-size:13px;font-weight:700}.reportcard h2{font-size:28px}.bigscore{color:var(--accent);text-shadow:2px 2px 0 var(--ink);margin:2px 0;font-size:44px;font-weight:900}.statrow{flex-wrap:wrap;justify-content:center;gap:10px;margin:6px 0;display:flex}.statrow span{background:var(--soft);border:2px solid var(--ink);border-radius:999px;padding:3px 10px;font-size:14px;font-weight:800}.unlockbar{text-align:left;max-width:420px;margin:10px auto}.unlockbar b{font-size:15px}.unlock{border:3px solid var(--ink);text-align:left;background:#fdf0c4;border-radius:14px;align-items:center;gap:10px;max-width:460px;margin:8px auto;padding:8px 12px;animation:.4s pop;display:flex}.unlock img{object-fit:contain;width:56px;height:56px}.unlock div b{font-size:17px;display:block}.unlock div span{font-size:14px;font-weight:650}.reqdone{background:#e3f4e6}.real{border:2px dashed var(--ink);text-align:center;background:#fff;border-radius:12px;max-width:460px;margin:10px auto 4px;padding:8px 10px;font-size:14px}.real small{opacity:.7;margin-bottom:4px;font-size:12px;display:block}.real a{margin:3px 6px;font-weight:800;display:inline-block}.met{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;margin:10px 0;display:grid}.met:empty{display:none}.met>div{border:2px solid var(--ink);background:#fff;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:6px;font-size:12px;font-weight:700;animation:.35s both pop;display:flex}.met img{object-fit:contain;max-width:100%;height:64px}.met a{font-size:12px;font-weight:800}.tabs{gap:6px;margin:4px 0 8px;display:flex}.tabs button{min-height:40px!important;padding:4px 14px!important;font-size:15px!important}.tabs button.on{background:var(--ink);color:#fffaf0}.albumgrid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;display:grid}.acard{border:2.5px solid var(--ink);text-align:center;background:#fff;border-radius:10px;flex-direction:column;align-items:stretch;gap:2px;padding:4px 4px 3px;font-size:11.5px;font-weight:750;line-height:1.15;display:flex;min-height:0!important;box-shadow:2px 2px 0 var(--ink)!important}.acard img{aspect-ratio:1;object-fit:cover;background:#f0e8d8;border-radius:6px;width:100%}.acard.pic img{object-fit:contain}.acard .q{aspect-ratio:1;color:#b3a385;background:repeating-linear-gradient(45deg,#efe6d4 0 8px,#f6efe2 8px 16px);border-radius:6px;place-items:center;width:100%;font-size:34px;font-weight:900;display:grid}.acard .st{color:#b88a00;letter-spacing:-1px;font-size:12px}.acard.un{opacity:.85}.posechips{flex-wrap:wrap;justify-content:center;gap:5px;margin:4px 0 8px;display:flex}.posechips span{border:2px solid var(--ink);background:var(--soft);border-radius:999px;padding:1px 9px;font-size:13px;font-weight:800}.posechips span.got{background:#d9f0e0}.detailcard{width:min(460px,100vw - 20px)}.notelist{flex-direction:column;gap:6px;display:flex}.notelist h3{margin:10px 0 2px;font-size:17px}.note{border:2px solid var(--ink);background:#fff;border-radius:12px;align-items:flex-start;gap:8px;padding:7px 10px;font-size:15px;font-weight:650;display:flex}.note.done{background:#e3f4e6}.note i{flex:none;width:22px;font-style:normal;font-weight:900}.ladder{flex-wrap:wrap;gap:6px;margin:4px 0;display:flex}.ladder span{border:2px solid var(--ink);background:var(--soft);border-radius:999px;padding:2px 9px;font-size:13px;font-weight:800}.ladder span.got{background:#fdf0c4}.dailypic{justify-content:center;align-items:flex-end;gap:8px;height:110px;margin:6px 0;display:flex}.dailypic img{object-fit:contain;max-width:30%;max-height:104px;animation:1.2s ease-in-out infinite alternate bob}.share{border:2px dashed var(--ink);white-space:pre-wrap;text-align:left;-webkit-user-select:text;user-select:text;background:#fff;border-radius:10px;max-width:420px;margin:8px auto;padding:8px;font:700 15px/1.35 ui-monospace,monospace}@media (width<=420px){.item{width:50px;height:58px}.items{gap:5px}.shutter{width:70px;height:70px}.shutter i{width:48px;height:48px}.ctrl{gap:7px}.card{padding:14px 12px 12px}.albumgrid{grid-template-columns:repeat(3,1fr)}.rphoto{width:92px}}.screen button.rphoto,.screen button.acard,.screen button.ride{min-height:0;font-size:inherit;border-radius:10px;font-weight:750}.screen button.ride{box-shadow:3px 3px 0 var(--ink);border-width:3px;border-radius:16px;padding:0}.screen button.rphoto{box-shadow:none;border-width:3px;padding:3px 3px 2px}.screen button.rphoto.pick{box-shadow:0 0 0 3px var(--gold);border-color:var(--gold)}.screen button.acard{box-shadow:2px 2px 0 var(--ink);padding:4px 4px 3px;font-size:11.5px}@media (height<=720px) and (width<=700px){#title{background:linear-gradient(#f6f0e400 0 18%,#f6f0e4e6 40%)}.logo{font-size:clamp(44px,12vw,70px)}.titlewrap{gap:7px}.screen button.big{min-height:52px;font-size:20px}}
