:root{--ink: #1f2a37;--paper: #fffdf7;--accent: #ff5a4f;--gold: #f2b632;--teal: #19a7a0;--radius: 18px;--shadow: 0 6px 18px rgba(0, 0, 0, .18)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:#7ec8e3;font-family:Nunito,system-ui,sans-serif;color:var(--ink)}#app,canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100dvh;touch-action:none}.labels{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}.nick{background:var(--paper);border-radius:10px;padding:2px 8px;font-size:12px;font-weight:800;box-shadow:var(--shadow);white-space:nowrap;pointer-events:auto;cursor:pointer}.nick.selected{background:var(--accent);color:#fff}.nick.selected:after{border-top-color:var(--accent)}.nick:after{content:"";position:absolute;left:50%;bottom:-5px;margin-left:-5px;border:5px solid transparent;border-top-color:var(--paper);border-bottom:0}.hud-top{position:fixed;top:calc(env(safe-area-inset-top) + 10px);left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;padding:0 16px}.hud-top>*{pointer-events:auto}.logo{display:flex;flex-direction:column;align-items:center;line-height:1}.logo-main{font-weight:900;font-size:34px;color:#fff;-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;text-shadow:0 3px 0 var(--ink);letter-spacing:-.5px}.logo-pin{margin-top:-4px;background:var(--accent);color:#fff;border:2px solid var(--ink);border-radius:999px;padding:2px 10px;font-weight:800;font-size:13px}.pills{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.pill{background:var(--paper);border:2px solid var(--ink);border-radius:999px;padding:4px 12px;font-weight:800;font-size:13px;box-shadow:var(--shadow)}.pill b{font-size:17px}.sun{color:var(--gold)}.goal{font:inherit;font-weight:800;font-size:13px;color:#fff;background:var(--accent);border:2px solid var(--ink);border-radius:999px;padding:6px 14px;box-shadow:var(--shadow);min-height:44px;cursor:pointer}.goal b{font-size:17px}.jobs{position:fixed;top:calc(env(safe-area-inset-top) + 190px);left:16px;right:16px;max-width:420px;margin:0 auto;background:var(--paper);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow);max-height:55dvh;overflow:auto;transition:opacity .2s,transform .2s}.jobs-title{font-weight:900;font-size:20px;margin-bottom:6px}.job{display:flex;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid #eee5d3;font-weight:700;font-size:15px}.job-name{flex:1}.job-n{color:#7a8594}.job.mine{border:2px dashed var(--gold);border-radius:10px;padding:6px 8px;margin-top:6px}.jobs-hint{font-size:13px;color:#5d6875;margin:10px 0 0}.bubble{position:fixed;left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom) + 96px);margin:0 auto;width:fit-content;max-width:calc(100% - 32px);background:#fff;border-radius:16px;padding:10px 18px;font-weight:900;font-size:20px;text-align:center;box-shadow:var(--shadow)}.bubble em{font-style:normal;color:var(--accent)}.promo .bar{display:none}.promo .bubble.pop{animation:none}.promo .nick{font-size:17px;padding:3px 10px}.promo .jobs{max-height:44dvh}.promo .bubble{font-size:26px;bottom:16dvh;padding:12px 22px;border-radius:20px}.promo .jobs{top:calc(env(safe-area-inset-top) + 200px)}.bubble.pop{animation:pop .25s ease-out}@keyframes pop{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.card{position:fixed;left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom) + 96px);max-width:420px;margin:0 auto;background:var(--paper);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow)}.card-title{font-weight:900;font-size:19px}.card-fact{font-size:15px;margin-top:4px;color:#3d4957}.bar{position:fixed;left:0;right:0;bottom:calc(env(safe-area-inset-bottom) + 14px);display:flex;gap:8px;overflow-x:auto;padding:4px 16px;scrollbar-width:none}.bar::-webkit-scrollbar{display:none}.chip{flex:none;font:inherit;font-weight:800;font-size:15px;min-height:44px;padding:0 16px;border-radius:999px;border:2px solid var(--ink);background:var(--paper);color:var(--ink);box-shadow:var(--shadow);cursor:pointer}.chip.tour{background:var(--teal);color:#fff}.chip.tour.active{background:var(--accent)}.loading{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:linear-gradient(#7ec8e3,#cfeaf5);transition:opacity .5s;z-index:10}.loading.gone{opacity:0;pointer-events:none}.loading-text{font-weight:800;font-size:18px}.loading-code{font-size:12px;color:#5d6875}.spinner{width:42px;height:42px;border-radius:50%;border:5px solid #fff;border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hidden{display:none!important}@media (prefers-reduced-motion: reduce){.bubble.pop,.spinner{animation:none}}.rcard{bottom:calc(env(safe-area-inset-bottom) + 80px)}.rcard-head{display:flex;align-items:center;justify-content:space-between}.rcard-nick{font-weight:900;font-size:20px}.rcard-x{font:inherit;font-size:18px;width:44px;height:44px;border:0;background:transparent;cursor:pointer;color:var(--ink)}.rcard-job{font-weight:700;font-size:15px}.rcard-status{font-size:14px;color:#5d6875;margin-top:2px;min-height:18px}.rcard-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.rcard-actions .chip{font-size:14px;padding:0 12px}.chip.active{background:var(--ink);color:#fff}.banner{position:fixed;left:16px;right:16px;top:calc(env(safe-area-inset-top) + 180px);margin:0 auto;max-width:420px;background:var(--accent);color:#fff;font-weight:800;border-radius:14px;padding:10px 14px;text-align:center;box-shadow:var(--shadow);pointer-events:none}.pill-btn{font:inherit;font-weight:800;font-size:13px;color:var(--ink);cursor:pointer;min-height:36px}.rlist-item{width:100%;font:inherit;background:transparent;border:0;border-bottom:1px solid #eee5d3;text-align:left;cursor:pointer;min-height:44px;color:var(--ink)}.viewbtns{position:fixed;right:calc(env(safe-area-inset-right) + 12px);top:calc(env(safe-area-inset-top) + 190px);display:flex;flex-direction:column;gap:6px}.viewbtns button{width:44px;height:44px;border-radius:14px;border:2px solid var(--ink);background:var(--paper);color:var(--ink);font:inherit;font-weight:900;font-size:20px;line-height:1;box-shadow:var(--shadow);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0}.viewbtns button[data-v=tilt]{font-size:14px}.viewbtns .needle{color:var(--accent);font-size:14px;display:block;transition:transform .1s linear}.viewbtns small{font-size:9px;font-weight:900;margin-top:-2px}.promo .viewbtns{display:none}.viewbtns button[data-v=left],.viewbtns button[data-v=right]{font-size:26px}.voicebtn{position:fixed;left:calc(env(safe-area-inset-left) + 12px);top:calc(env(safe-area-inset-top) + 190px);width:44px;height:44px;border-radius:14px;border:2px solid var(--ink);background:var(--paper);font-size:20px;box-shadow:var(--shadow);cursor:pointer}.promo .voicebtn{display:none}.chip.search-open{flex:1 0 auto;text-align:left}.search{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172373;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;flex-direction:column;justify-content:flex-end;z-index:20}.search-box{display:flex;gap:8px;align-items:center;background:var(--paper);border-radius:20px 20px 0 0;padding:14px 16px 8px;max-width:520px;width:100%;margin:0 auto}.search-input{flex:1;font:inherit;font-size:17px;font-weight:700;border:2px solid var(--ink);border-radius:14px;padding:10px 12px;min-height:44px;background:#fff;color:var(--ink)}.search-x{font:inherit;font-size:18px;width:44px;height:44px;border:0;background:transparent;cursor:pointer;color:var(--ink)}.search-list{background:var(--paper);max-width:520px;width:100%;margin:0 auto;max-height:min(60dvh,520px);overflow-y:auto;padding:0 8px calc(env(safe-area-inset-bottom) + 12px)}.search-item{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:6px 8px;font:inherit;text-align:left;background:transparent;border:0;border-bottom:1px solid #eee5d3;color:var(--ink);cursor:pointer;border-radius:10px}.search-item.on,.search-item:hover{background:#fff1d6}.search-ic{font-size:20px;width:26px;text-align:center}.search-t{flex:1;font-weight:800;font-size:15px}.search-s{font-size:12px;color:#7a8594;white-space:nowrap}.search-empty{padding:16px 8px;color:#5d6875}
