*{box-sizing:border-box}:root{font-family:Inter,Microsoft Yahei,sans-serif;color:#183d32;background:#e8f1eb;font-synthesis:none}body{margin:0;overflow:hidden}canvas{display:block}[hidden]{display:none!important}button,input,select{font:inherit}button{cursor:pointer;border:1px solid transparent;border-radius:13px;padding:12px 18px;background:#e9eee6;color:#254d3d;min-height:44px;transition:background .15s,box-shadow .15s}button:hover:not(:disabled){background:#dce7da}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b98727;outline-offset:3px}#app>header{position:absolute;top:max(22px,env(safe-area-inset-top));left:max(28px,env(safe-area-inset-left));right:max(28px,env(safe-area-inset-right));display:flex;justify-content:space-between;align-items:center;gap:16px;pointer-events:none;z-index:3}#app>header button{pointer-events:auto;background:#fffdf3eb;border-color:#b8c8b680;box-shadow:0 4px 14px #183d3210;font-size:13px;display:flex;align-items:center;gap:8px}#app>header small{font-size:10px;letter-spacing:2px;color:#56735e}h1{font-size:25px;margin:5px 0 0;font-weight:750;letter-spacing:.5px}#hud{position:absolute;top:104px;left:max(28px,env(safe-area-inset-left));width:204px;padding:15px 16px;background:#fffdf3eb;border:1px solid #c7d2be80;border-radius:17px;box-shadow:0 6px 24px #274a3710;z-index:2}.hud-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.eyebrow{font-size:11px;letter-spacing:1px;color:#65795f}#count{font-size:19px;font-weight:750;font-variant-numeric:tabular-nums}#progress{height:3px;background:#dce4d5;margin:10px 0;border-radius:9px;overflow:hidden}#progress i{display:block;height:100%;background:#a97523;transition:width .3s}#status{font-size:12px;line-height:1.6}#badge{font-size:11px;color:#89641e;line-height:1.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#weather-toggle{display:block;width:100%;padding:6px 0 2px;min-height:30px;background:transparent;border:0;text-align:left;color:#62765e;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#weather-host .campus-atmosphere{position:static;inset:auto;transform:none;width:100%;padding:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none}#weather-host .atmosphere-heading>span:first-child{font-size:19px;font-weight:650;color:#214b38;letter-spacing:0}#weather-host .atmosphere-settings-body{max-height:none;overflow:visible}#weather-host .atmosphere-settings select{min-width:0;width:146px;min-height:42px;margin:0}#weather-host .atmosphere-source button{min-height:40px;padding:6px 10px}#weather-host .atmosphere-source small{font-size:10px}body[data-hop-night=true] #app>header h1{color:#f3f1d7}body[data-hop-night=true] #app>header small{color:#b4c8b8}body[data-hop-night=true] #feedback{color:#e4eacb;text-shadow:0 2px 10px #102939}#map-wrap{margin-top:8px;border-top:1px solid #dce3d4}#map-wrap summary{cursor:pointer;font-size:11px;color:#677961;padding-top:9px;list-style-position:inside;min-height:28px;user-select:none}#map{width:100%;height:140px;display:block;margin-top:5px;border-radius:8px;background:#eef0df}.map-key{display:flex;justify-content:center;gap:16px;font-size:10px;color:#21563b}.map-key span+span{color:#948312}#bottom{position:absolute;bottom:max(26px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:min(400px,calc(100% - 32px));text-align:center;background:#fffdf3f5;padding:15px 18px 17px;border:1px solid #d2dac8;border-radius:21px;box-shadow:0 10px 36px #183d3218;z-index:3}#hint{margin:0;font-size:13px;line-height:1.5;font-weight:600;min-height:20px}#arc-hint{font-size:11px;color:#6c7a63;margin:6px 0 12px;line-height:1.5;min-height:17px}#arc-hint[data-aim=over]{color:#a4482a}#arc-hint[data-aim=safe]{color:#1e7449;font-weight:600}#hold{background:#174f3a;color:#fff9dc;width:100%;min-height:52px;font-size:16px;letter-spacing:.5px;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:inset 0 1px #ffffff20,0 3px #0d3526}#hold:hover:not(:disabled){background:#205e43}#hold.charging{background:#286346;box-shadow:inset 0 2px 7px #0d35262a,0 1px #0d3526}#hold[data-aim=safe],#hold[data-aim=safe]:hover:not(:disabled){background:#217a47;box-shadow:0 0 0 3px #84b88750}#hold[data-aim=over],#hold[data-aim=over]:hover:not(:disabled){background:#9e472a;box-shadow:inset 0 2px 7px #57271120,0 2px #66331d}#feedback{position:absolute;left:50%;top:32%;transform:translate(-50%);font-size:23px;font-weight:700;color:#286044;text-shadow:0 2px 8px #fffef4;pointer-events:none;white-space:nowrap;max-width:calc(100vw - 28px)}#label{position:absolute;pointer-events:none;background:#fffdf1ec;border:1px solid #cfdbc5;padding:6px 11px;border-radius:9px;font-size:12px;white-space:nowrap;transform:translate(-50%,-100%);max-width:min(360px,calc(100vw - 28px));overflow:hidden;text-overflow:ellipsis;box-shadow:0 3px 12px #244b3610}#notice{position:absolute;bottom:8px;right:18px;font-size:10px;color:#6b7c66}dialog{border:1px solid #d5dbc8;border-radius:23px;padding:28px;width:min(430px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;box-shadow:0 24px 100px #17372b30;background:#fffdf4;color:#214b38}dialog::backdrop{background:#183d3455;backdrop-filter:blur(5px)}dialog h2{font-size:28px;margin:9px 0}dialog small{font-size:11px;letter-spacing:1.2px;color:#7b8468}dialog p{line-height:1.75;font-size:13px;color:#69765e}dialog strong{color:#2b653e}.opening-line{font-family:"Noto Serif SC",Songti SC,SimSun,serif;font-size:16px!important;color:#7b714f!important}label{display:block;font-size:12px;margin:14px 0}input,select{display:block;width:100%;padding:12px;border:1px solid #d6dfcc;border-radius:10px;background:#f6f7ee;margin-top:6px;color:#254d3d;min-height:45px}.row{display:flex;gap:8px}.row>*{flex:1;min-width:0}.primary{background:#214f38;color:#fff8da;width:100%;margin-top:12px}.primary:hover:not(:disabled){background:#2d6246}.setup-note{margin:6px 0}#tutorial-open{padding:7px 0;background:transparent;font-size:12px;min-height:34px;color:#827340;text-decoration:underline;text-underline-offset:3px}#setup>p:last-child{font-size:11px;margin-bottom:0}#roster{max-height:220px;overflow:auto;font-size:13px;line-height:2}#panel-body>button{width:100%;font-size:12px}#game-menu{width:min(360px,calc(100% - 28px))}.menu-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.menu-heading h2{font-size:24px;margin:0}.menu-heading button{font-size:25px;background:transparent;padding:4px 10px;line-height:1}#game-menu>p{margin:6px 0 18px;font-size:12px}#tools{display:grid;grid-template-columns:1fr 1fr;gap:8px}#tools button{text-align:left;font-size:13px;padding:13px 14px;display:flex;justify-content:space-between;align-items:center;border:1px solid #dce3d2;background:#f0f2e8}#tools button:first-child{grid-column:1/-1}#tools button span{color:#819070}.back-campus{display:block;text-align:center;margin:19px 0 0;font-size:12px;color:#708062;text-underline-offset:4px}@media(max-width:650px){#app>header{top:max(15px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right))}#app>header small{font-size:9px;letter-spacing:1.2px}h1{font-size:21px}#app>header button{padding:10px 13px}#hud{top:88px;left:max(16px,env(safe-area-inset-left));width:167px;padding:11px 12px}#count{font-size:17px}.eyebrow{font-size:10px}#status{font-size:11px}#badge{font-size:10px}#map{height:125px}#feedback{top:38%;font-size:18px}#bottom{bottom:max(18px,env(safe-area-inset-bottom));padding:12px 14px 14px;border-radius:18px}#arc-hint{font-size:10px}#hint{font-size:12px}#notice{display:none}dialog{padding:22px}dialog h2{font-size:25px}}@media(max-height:550px)and (min-width:651px){#app>header{top:12px;left:18px;right:18px}#app>header small{display:none}h1{font-size:21px}#hud{top:72px;left:18px;width:190px;padding:11px 12px}#map{height:112px}#bottom{left:auto;right:max(18px,env(safe-area-inset-right));transform:none;width:310px;bottom:max(16px,env(safe-area-inset-bottom));padding:11px 14px 13px}#feedback{top:25%;font-size:18px}#notice{display:none}#game-menu{padding:20px}#game-menu>p{margin-bottom:10px}#tools button{padding:10px 12px}.back-campus{margin-top:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}#setup{width:min(420px,calc(100% - 32px));padding:28px;border:1px solid #d7e1dd;border-radius:8px;background:#fff;color:#203d36}#setup .setup-heading{display:flex;align-items:center;gap:14px;margin-bottom:26px}#setup .setup-heading img{width:48px;height:48px;object-fit:contain;flex:none}#setup small{color:#73817c;font-size:10px;letter-spacing:0}#setup h2{font-size:26px;line-height:1.3;margin:4px 0 0;letter-spacing:0}#setup .setup-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}#setup label{font-size:12px;color:#697a73;margin:0 0 16px}#setup input,#setup select{margin-top:7px;background:#f4f7f6;border:1px solid #d7e0dc;border-radius:4px;padding:10px;min-height:46px;color:#203d36}#setup #start{margin:4px 0 0;border-radius:4px;min-height:50px;font-size:16px;background:#235b49;color:#fff}#setup-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e7ece9;margin-top:22px;padding-top:12px}#setup-footer button{display:inline-flex;align-items:center;gap:6px;min-height:40px;background:transparent;border:0;padding:6px 0;font-size:12px;color:#687d73;text-decoration:none;border-radius:4px;max-width:75%;overflow-wrap:anywhere}#setup-footer svg{width:16px;height:16px}#setup-footer #setup-account{color:#235b49}@media(max-width:450px){#setup{padding:24px}#setup h2{font-size:24px}#setup .setup-heading{gap:12px}#setup .setup-heading img{width:42px;height:42px}}@media(max-height:500px){#setup{padding:18px 24px}#setup .setup-heading{margin-bottom:16px}#setup-footer{margin-top:14px;padding-top:6px}}#hud-toggle{padding:0;min-height:32px;width:100%;border:0;background:transparent;text-align:left;border-radius:5px}#hud-toggle:hover{background:transparent}.hud-chevron{font-size:14px;color:#73816a;line-height:1}#hud.collapsed{padding:5px 12px;width:190px;border-radius:13px}#hud.collapsed #progress{margin:1px 0 3px}#hud.collapsed .hud-chevron{transform:rotate(180deg)}#hud.collapsed #hud-toggle{min-height:36px}#hud-detail{max-height:50dvh;overflow:auto;overscroll-behavior:contain}@media(max-width:650px){#hud.collapsed{width:170px;top:83px}#hud.collapsed #count{font-size:15px}#hud.collapsed .eyebrow{font-size:10px}}#setup{width:min(780px,calc(100% - 32px));padding:28px;border-radius:22px;background:#faf8ee;border-color:#d9dfcd}#setup[open]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);grid-template-areas:"hero community" "play community";gap:12px 28px;align-items:start}.lobby-hero{grid-area:hero;text-align:center}.lobby-hero .lobby-art{display:block;width:100%;height:168px;object-fit:contain;mix-blend-mode:multiply;margin:-6px auto 3px}#setup .lobby-hero small{letter-spacing:2px;font-size:9px;color:#6f806a}#setup h2{font-size:30px;font-weight:800;letter-spacing:-.6px;color:#204d38}#setup .opening-line{font-size:14px!important;line-height:1.65;margin:9px 0 13px;color:#6c755f!important}.lobby-community{grid-area:community;min-width:0}.lobby-play{grid-area:play;min-width:0}#lobby-session-state:empty{display:none}#setup #lobby-session-state{font-size:11px;color:#906c23;line-height:1.6}.lobby-stats{display:grid;grid-template-columns:1.2fr 1fr 1fr;border:1px solid #dce3d1;border-radius:13px;padding:12px 5px;background:#fffdf4;gap:3px}.lobby-stats>div{text-align:center;min-width:0}.lobby-stats>div+div{border-left:1px solid #e5e9dc}.lobby-stats span{display:block;font-size:10px;color:#748169}.lobby-stats strong{display:block;font-size:21px;margin:6px 0 3px;color:#31573c;font-variant-numeric:tabular-nums}#setup .lobby-stats small{font-size:9px;letter-spacing:0;color:#879078}.lobby-ladder{margin-top:16px}.ladder-heading{display:flex;justify-content:space-between;align-items:center}.ladder-heading h3{font-size:17px;margin:0;color:#31533b;letter-spacing:.3px}#ladder-refresh{background:transparent;padding:3px 0 3px 12px;min-height:36px;font-size:10px;color:#748169}#setup .ladder-rule{font-size:10px;line-height:1.5;margin:2px 0 12px;color:#88917a}.ladder-columns,#ladder-list li{display:grid;grid-template-columns:minmax(0,1fr) 40px 46px;align-items:center;gap:9px}.ladder-columns{font-size:10px;color:#8b947e;padding:0 8px 7px}.ladder-columns>span+span{text-align:right}#ladder-list{list-style:none;margin:0;padding:0;max-height:214px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}#ladder-list li{padding:10px 8px;border-top:1px solid #e3e7d9;min-height:42px;font-size:12px}#ladder-list li.is-mine{background:#ecf0df;border-radius:7px}#ladder-list li>div{display:flex;gap:9px;align-items:center;min-width:0}#ladder-list li>div>span:last-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#466245}.ladder-rank{width:17px;flex:none;color:#8a947c;font-variant-numeric:tabular-nums}#ladder-list li:first-child .ladder-rank{color:#ad892c;font-weight:800}#ladder-list strong,#ladder-list time{text-align:right;font-size:12px;font-variant-numeric:tabular-nums}#ladder-list time{color:#7b876e}#setup #ladder-state{font-size:12px;text-align:center;margin:12px 0;color:#899179}#ladder-state:empty{display:none}#setup .ladder-clock{font-size:9px;color:#959c88;margin:8px 0 0}.lobby-contribute{margin-top:17px;padding:12px 13px;border-radius:12px;background:#edf0df;border:1px solid #e0e5d1}#setup .lobby-contribute p{font-size:10px;line-height:1.75;margin:0;color:#768368}.lobby-contribute b{font-size:12px;color:#53703f;font-weight:600}.lobby-contribute>div{display:flex;gap:6px;margin-top:9px}.lobby-contribute button{font-size:11px;padding:7px 9px;border:1px solid #d6dfc7;border-radius:7px;flex:1;background:#fffdf4;min-height:38px;color:#57713e}#setup #wallet-state{margin:7px 0 0;font-size:9px}#wallet-state:empty{display:none}#setup #start{border-radius:10px;background:#285a40}#setup #start:hover:not(:disabled){background:#346a48}#setup #setup-footer{margin-top:11px;padding-top:8px}#setup .setup-options{gap:10px}#setup .lobby-play label{margin:0 0 11px}#setup input,#setup select{border-radius:8px;background:#f5f6e9;border-color:#dce3cf}@media(max-width:620px){#setup{width:calc(100% - 24px);padding:18px;max-height:calc(100dvh - 20px)}#setup[open]{grid-template-columns:minmax(0,1fr);grid-template-areas:"hero" "community" "play";gap:12px}.lobby-hero .lobby-art{height:104px;margin:-7px auto 0}#setup h2{font-size:25px}#setup .lobby-hero small{display:none}#setup .opening-line{font-size:12px!important;margin:5px 0 0;line-height:1.5}#setup .opening-line br{display:none}.lobby-stats{padding:9px 3px}.lobby-stats strong{font-size:18px;margin:4px 0 2px}.lobby-ladder{margin-top:8px}.ladder-heading h3{font-size:15px}#setup .ladder-rule{margin:0 0 8px;font-size:9px}#ladder-list{max-height:120px}#ladder-list li{padding:8px 6px;min-height:38px}.ladder-columns{padding-bottom:5px}.lobby-contribute{margin-top:9px;padding:9px 11px}.lobby-contribute>div{margin-top:5px}#setup .lobby-contribute p{font-size:9px}.lobby-contribute b{font-size:11px}#setup #wallet-state{margin-top:4px}#setup #setup-footer{margin-top:9px;padding-top:5px}#setup-footer button{min-height:34px}#setup .lobby-play label{margin-bottom:8px}}@media(max-height:550px)and (min-width:621px){#setup[open]{gap:8px 24px}.lobby-hero .lobby-art{height:104px}#setup h2{font-size:24px}#setup .opening-line{margin:4px 0 8px}.lobby-stats{padding:8px 3px}#ladder-list{max-height:115px}.lobby-ladder{margin-top:6px}.lobby-contribute{margin-top:8px;padding:8px 10px}}.site-home-link,.game-dialog-nav a,.lobby-nav a{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:#365b4a;font:12px/1.4 system-ui;text-decoration:none;white-space:nowrap}.site-home-link svg,.lobby-nav svg,.game-header-links svg{width:18px;height:18px;flex:none}.game-header-links{display:flex;align-items:center;gap:12px;pointer-events:auto}#app>header .site-home-link{padding:8px 10px;border:1px solid #b8c8b680;background:#fffdf3eb;border-radius:4px}.lobby-nav{grid-area:nav;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #dce3d1;padding-bottom:4px;position:sticky;top:-28px;background:#faf8ee;z-index:4}.game-dialog-nav{position:sticky;top:-28px;background:#fffdf4;z-index:3;padding:0 0 6px}#setup[open]{grid-template-areas:"nav nav" "hero community" "play community"}#setup h2{letter-spacing:0}.tutorial-home-nav{margin:-10px 0 5px;position:sticky;top:-28px;z-index:4;background:var(--comic-paper,#fbf7e9)}.tutorial-home-nav .site-home-link{color:#365b4a}@media(max-width:650px){.game-header-links{gap:6px}#app>header .site-home-link{font-size:11px;padding:8px}#app>header h1{font-size:19px}#app>header button{font-size:12px;padding:8px}.game-header-links .site-home-link svg{display:none}.game-dialog-nav{top:-22px}}@media(max-width:620px){#setup[open]{grid-template-areas:"nav" "hero" "play" "community"}.lobby-nav{top:-18px}.lobby-nav a{font-size:12px}.lobby-community{border-top:1px solid #dce3d1;padding-top:12px}}@media(max-width:680px){.tutorial-home-nav{top:-20px}}#tutorial{--comic-ink:#244d3c;--comic-paper:#fbf7e9;--comic-gold:#c8a15b;width:min(1040px,calc(100vw - 32px));max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);padding:28px;border:1px solid #e0d6b9;border-radius:26px;background:var(--comic-paper);color:var(--comic-ink);box-shadow:0 30px 110px #17372b40;overflow:auto;overscroll-behavior:contain;touch-action:pan-y}#tutorial::backdrop{background:#173c386b;backdrop-filter:blur(7px)}#tutorial .hop-comic-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}#tutorial .hop-comic-kicker{display:block;color:#899073;font-size:11px;letter-spacing:1.5px}#tutorial h2{margin:8px 0 0;font-size:32px;line-height:1.2;font-weight:800;letter-spacing:1px}#tutorial #tutorial-skip{flex:none;padding:10px 14px;min-height:42px;background:transparent;color:#75816e;font-size:13px;text-decoration:underline;text-underline-offset:4px}#tutorial #tutorial-opening{margin:15px 0 22px;max-width:100%;font-family:"Noto Serif SC",Songti SC,SimSun,serif;font-size:17px;color:#6f785e;line-height:1.65}#tutorial .hop-comic-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding:4px 2px 10px}#tutorial .hop-comic-card{min-width:0;overflow:hidden;border:1px solid #dcdac4;border-radius:18px;background:#fffdf5;box-shadow:0 5px #e8e2ca;transition:opacity .2s,transform .2s,border-color .2s,box-shadow .2s;opacity:.56}#tutorial .hop-comic-card[data-current=true]{opacity:1;transform:translateY(-3px);border-color:#bd9850;box-shadow:0 5px #dfc994,0 12px 20px #6f733313}#tutorial .hop-comic-art{position:relative;padding:12px 8px 0;background:linear-gradient(180deg,#f1f1df,#fffdf5);border-bottom:1px dashed #e3dec8}#tutorial .hop-comic-art>svg{width:100%;height:auto;display:block;overflow:visible}#tutorial .hop-comic-number{position:absolute;left:15px;top:12px;display:grid;place-items:center;width:25px;height:25px;z-index:1;border:1px solid #d5c38f;border-radius:50%;background:#fbf7e7;color:#9b8050;font-family:Georgia,serif;font-size:12px}#tutorial .hop-comic-caption{padding:17px 17px 18px}#tutorial h3{margin:0;font-size:17px;line-height:1.45;font-weight:700}#tutorial .hop-comic-caption p{margin:8px 0 0;font-size:13px;line-height:1.7;color:#76816b}#tutorial .hop-comic-bottom{position:sticky;bottom:-28px;display:grid;grid-template-columns:minmax(82px,1fr) auto minmax(130px,1fr);align-items:center;gap:12px;padding:20px 0 5px;background:linear-gradient(180deg,#fbf7e900 0,#fbf7e9 17px);z-index:2}#tutorial #tutorial-prev,#tutorial #tutorial-next{min-height:46px;padding:12px 16px;font-size:14px}#tutorial #tutorial-prev{justify-self:start;background:#eeeddd;color:#5e725d}#tutorial #tutorial-next{justify-self:end;min-width:145px;background:#2a5945;color:#fff8dc;box-shadow:0 3px #173e2c}#tutorial #tutorial-step{color:#929577;font-size:12px;white-space:nowrap}#tutorial button:focus-visible{outline:3px solid #c69436;outline-offset:3px}#tutorial .hop-charge-cat{transform-box:fill-box;transform-origin:center bottom;animation:hop-comic-charge 3.2s ease-in-out infinite}#tutorial .hop-charge-shadow{transform-box:fill-box;transform-origin:center;animation:hop-comic-shadow 3.2s ease-in-out infinite}#tutorial .hop-comic-breath{animation:hop-comic-breath 3.2s ease-in-out infinite}#tutorial .hop-press-wave{transform-origin:0 0;animation:hop-comic-press 1.6s ease-out infinite}#tutorial .hop-press-finger{animation:hop-comic-finger 3.2s ease-in-out infinite}#tutorial .hop-comic-prediction{transform-origin:66px 143px;animation:hop-comic-prediction 4.8s ease-in-out infinite}#tutorial .hop-comic-landing{animation:hop-comic-marker 4.8s ease-in-out infinite}#tutorial .hop-comic-landing ellipse,#tutorial .hop-comic-landing path{animation:hop-comic-green 4.8s ease-in-out infinite}#tutorial .hop-flight-cat{animation:hop-comic-flight 4.8s linear infinite}#tutorial .hop-comic-release{animation:hop-comic-release 4.8s ease-in-out infinite}#tutorial .hop-librarian-cat{transform-box:fill-box;transform-origin:center bottom;animation:hop-comic-proud 3s ease-in-out infinite}#tutorial .hop-comic-crown{animation:hop-comic-crown 3s ease-in-out infinite}#tutorial .hop-comic-sparkles{transform-origin:160px 70px;animation:hop-comic-sparkles 3s ease-in-out infinite}#tutorial .hop-comic-card[data-current=false] svg *{animation-play-state:paused}@keyframes hop-comic-charge{0%,12%,to{transform:scale(1)}48%{transform:scale(1.12,.75)}57%{transform:scale(1.14,.72)}65%{transform:scale(1.11,.77)}73%{transform:scale(1.14,.73)}86%{transform:scale(.97,1.06)}}@keyframes hop-comic-shadow{0%,to{transform:scaleX(1)}50%,76%{transform:scaleX(1.25)}}@keyframes hop-comic-breath{0%,16%,90%,to{opacity:0}46%,76%{opacity:1}}@keyframes hop-comic-press{0%{transform:scale(.65);opacity:.9}to{transform:scale(1.4);opacity:0}}@keyframes hop-comic-finger{0%,to{transform:translateY(-5px)}20%,76%{transform:translateY(1px)}}@keyframes hop-comic-prediction{0%,8%{transform:scaleX(.08);stroke:#c29243}48%{stroke:#c29243}56%,to{transform:scaleX(1);stroke:#398b60}}@keyframes hop-comic-marker{0%,8%{transform:translate(-175px)}56%,to{transform:translate(0)}}@keyframes hop-comic-green{0%,48%{stroke:#bf8a3d;fill:#ecc578}56%,to{stroke:#398b60;fill:#a8d895}}@keyframes hop-comic-flight{0%,58%{transform:translate(66px,143px)}68%{transform:translate(104px,94px)}78%{transform:translate(161px,66px)}89%{transform:translate(218px,92px)}98%,to{transform:translate(256px,137px)}}@keyframes hop-comic-release{0%,46%{opacity:0}56%,90%{opacity:1}to{opacity:0}}@keyframes hop-comic-proud{0%,to{transform:scale(1)}45%{transform:scale(.98,1.035)}}@keyframes hop-comic-crown{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes hop-comic-sparkles{0%,to{opacity:.4;transform:scale(.94)}50%{opacity:1;transform:scale(1.04)}}@media(max-width:680px){#tutorial{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:20px 16px;border-radius:21px}#tutorial h2{font-size:28px}#tutorial .hop-comic-kicker{font-size:10px;letter-spacing:1px}#tutorial #tutorial-opening{margin:13px 0 15px;font-size:16px;line-height:1.6}#tutorial .hop-comic-panels{display:block;padding:3px 1px 8px}#tutorial .hop-comic-card[data-current=false]{display:none}#tutorial .hop-comic-art{padding:7px 12px 0}#tutorial .hop-comic-art>svg{max-height:225px}#tutorial .hop-comic-caption{padding:13px 16px 16px}#tutorial h3{font-size:17px}#tutorial .hop-comic-caption p{font-size:13px;margin-top:6px}#tutorial .hop-comic-bottom{bottom:-20px;gap:8px;padding-top:17px;grid-template-columns:auto 1fr auto}#tutorial #tutorial-prev,#tutorial #tutorial-next{font-size:13px;padding:11px 12px;min-height:44px}#tutorial #tutorial-next{min-width:113px}#tutorial #tutorial-step{text-align:center;font-size:11px}#tutorial #tutorial-skip{padding:7px 6px;min-height:36px}}@media(max-width:360px){#tutorial{padding:17px 13px}#tutorial h2{font-size:26px}#tutorial .hop-comic-top{gap:7px}#tutorial #tutorial-opening{font-size:15px}#tutorial .hop-comic-caption{padding:12px 13px 14px}#tutorial .hop-comic-bottom{bottom:-17px;gap:5px}#tutorial #tutorial-prev,#tutorial #tutorial-next{padding:10px 9px}#tutorial #tutorial-next{min-width:104px}}@media(max-height:480px)and (min-width:681px){#tutorial{padding:19px 22px}#tutorial h2{font-size:27px}#tutorial #tutorial-opening{margin:10px 0 13px;font-size:15px}#tutorial .hop-comic-art>svg{max-height:150px}#tutorial .hop-comic-caption{padding:10px 12px}#tutorial h3{font-size:15px}#tutorial .hop-comic-caption p{font-size:12px;margin-top:5px}#tutorial .hop-comic-bottom{bottom:-19px;padding-top:13px}}@media(prefers-reduced-motion:reduce){#tutorial *,#tutorial *:before,#tutorial *:after{animation:none!important;transition:none!important}#tutorial .hop-flight-cat{transform:translate(66px,143px)}#tutorial .hop-comic-prediction{transform:scaleX(1);stroke:#398b60}#tutorial .hop-comic-landing{transform:translate(0)}#tutorial .hop-comic-landing ellipse,#tutorial .hop-comic-landing path{stroke:#398b60}#tutorial .hop-comic-breath{opacity:.7}#tutorial .hop-press-wave{opacity:.4}}.campus-atmosphere{position:absolute;right:var(--atmosphere-right,25px);bottom:var(--atmosphere-bottom,112px);width:238px;z-index:8;color:#2a4c48;background:#f7faf3ed;border:1px solid #c8d8d0;border-radius:13px;padding:13px 15px;box-shadow:0 7px 28px #173b3620;font-size:11px;line-height:1.65;backdrop-filter:blur(8px)}.atmosphere-heading,.atmosphere-reading,.atmosphere-source{display:flex;align-items:center;justify-content:space-between;gap:8px}.atmosphere-heading{font-size:10px;letter-spacing:1px;color:#54766d}.atmosphere-zone{font-size:9px;letter-spacing:0;color:#6c8177}.atmosphere-reading{margin:3px 0}.atmosphere-clock{font-size:25px;font-variant-numeric:tabular-nums;letter-spacing:1px;font-weight:550}.atmosphere-temperature{font-size:21px;font-weight:500;color:#426a60}.atmosphere-weather{font-size:10px;line-height:1.65}.atmosphere-settings{margin-top:8px;border-top:1px solid #d5e1d9;padding-top:5px}.atmosphere-settings summary{cursor:pointer;list-style-position:inside;color:#456e63;font-size:10px;user-select:none}.atmosphere-settings label{display:flex;align-items:center;gap:10px;justify-content:space-between;margin:9px 0}.atmosphere-settings select{font:inherit;color:#2a574d;min-width:120px;border:1px solid #becfc6;background:#fcfdf9;border-radius:6px;padding:6px 7px}.atmosphere-settings p{margin:6px 0;font-size:10px;color:#5e796e;line-height:1.65}.atmosphere-settings small{display:block;margin-top:8px;color:#708176;font-size:9px;line-height:1.7}.atmosphere-source{margin-top:9px;font-size:9px}.atmosphere-source a{color:#466f65;text-decoration:underline;text-underline-offset:3px}.atmosphere-source button{font:inherit;color:#476e60;background:#edf3e9;border:1px solid #c5d5ca;border-radius:5px;padding:4px 7px}.atmosphere-source button:disabled{opacity:.5;cursor:wait}.campus-atmosphere :is(select,button,a,summary):focus-visible{outline:3px solid #78a59a;outline-offset:2px}.campus-atmosphere[data-mode=night]{background:#e6eceded}.campus-atmosphere[data-weather-state=cached] .atmosphere-weather,.campus-atmosphere[data-weather-state=unavailable] .atmosphere-weather{color:#866b48}.campus-atmosphere.atmosphere-walking{right:30px;top:276px;bottom:auto;width:200px;padding:11px 12px}.atmosphere-walking .atmosphere-clock{font-size:22px}.atmosphere-walking .atmosphere-zone{display:none}@media(max-width:760px){.campus-atmosphere{right:12px;bottom:var(--atmosphere-bottom,130px);width:204px;padding:10px 12px}.atmosphere-clock{font-size:23px}.atmosphere-zone{font-size:8px}.campus-atmosphere.atmosphere-walking{right:15px;top:260px;width:175px}.atmosphere-walking .atmosphere-temperature{font-size:18px}}@media(max-height:650px){.campus-atmosphere.atmosphere-walking{top:15px;left:50%;right:auto;transform:translate(-50%);width:205px}.atmosphere-walking .atmosphere-settings[open]{max-height:170px;overflow:auto}}.campus-atmosphere.atmosphere-header{position:relative;inset:auto;transform:none;width:270px;padding:5px 11px;margin-left:auto;flex:0 0 auto;box-shadow:none;line-height:1.3}.atmosphere-header .atmosphere-heading{display:none}.atmosphere-header .atmosphere-reading{padding-right:83px;margin:0 0 2px}.atmosphere-header .atmosphere-clock{font-size:20px}.atmosphere-header .atmosphere-temperature{font-size:16px}.atmosphere-header .atmosphere-weather{font-size:9px;white-space:nowrap}.atmosphere-header .atmosphere-settings{position:absolute;top:calc(100% + 10px);right:0;width:292px;margin:0;padding:0;border:0}.atmosphere-header .atmosphere-settings[open]{padding:12px 14px;border:1px solid #c8d8d0;border-radius:11px;background:#f6faf3;box-shadow:0 8px 24px #173b3624}.atmosphere-header .atmosphere-settings summary{position:absolute;right:9px;top:-47px;padding:4px 5px;border:1px solid #ccdad1;border-radius:5px;background:#edf4eb;font-size:9px}.atmosphere-header .atmosphere-settings[open] summary{right:8px;top:-48px}.atmosphere-header .atmosphere-settings[open]{max-height:calc(100vh - 100px);overflow:visible}@media(max-width:760px){.campus-atmosphere.atmosphere-header{width:216px;margin-left:8px;padding:5px 8px}.atmosphere-header .atmosphere-reading{padding-right:74px}.atmosphere-header .atmosphere-clock{font-size:17px}.atmosphere-header .atmosphere-weather{font-size:8px;overflow:hidden;text-overflow:ellipsis}.atmosphere-header .atmosphere-settings{width:270px}.atmosphere-header .atmosphere-settings summary{top:-42px}.atmosphere-header .atmosphere-settings[open] summary{top:-43px}}.core-header{z-index:20}.atmosphere-header .atmosphere-settings-body{max-height:min(420px,calc(100dvh - 140px));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
