:root{--mango-200:#ffe2b8;--mango-300:#ffcf73;--mango:#ffb347;--mango-600:#f08a24;--mango-700:#c4650a;--bubblegum-200:#ffd6e3;--bubblegum:#ff8fb1;--bubblegum-600:#e0577f;--cream:#fff8ef;--cream-2:#fff1df;--cream-3:#f6e8d6;--card:#fff;--line:#f0dcc6;--ink:#5a3d2b;--ink-deep:#4a2c17;--ink-soft:#7a5a45;--success:#237a36;--success-face-1:#3aa04b;--success-face-2:#2a8a3d;--success-lip:#1d6630;--success-deep:#1f6c31;--danger:#c93c3c;--danger-face-1:#e05454;--danger-lip:#962a2a;--warn-text:#9a3a24;--info:#3a7bd5;--gold:#ffc94d;--gold-lip:#e0a21f;--tint-good:#e3f7df;--tint-bad:#ffe7e0;--tint-gold:#fff4c9;--tint-info:#e3eeff;--disabled-1:#eee6dc;--disabled-2:#ddd2c5;--disabled-lip:#c4b8aa;--white:#fff;--focus:#3a7bd5;--scrim:#4a2c1752;--shade:#5a3d2b29;--shine:#ffffff8c;--night-scrim:#1e183c2e;--font:"Baloo 2", ui-rounded, "SF Pro Rounded", "Arial Rounded MT Bold", "Nunito", system-ui, sans-serif;--fs-xs:12px;--fs-sm:14px;--fs-md:16px;--fs-lg:19px;--fs-xl:24px;--fs-2xl:30px;--fs-3xl:36px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-pill:999px;--hit:44px;--e1:0 2px 0 #5a3d2b1f, 0 4px 10px #5a3d2b1a, inset 0 1px 0 var(--shine);--e2:0 4px 0 #5a3d2b24, 0 10px 24px #5a3d2b24, inset 0 2px 0 var(--shine);--e3:0 6px 0 #5a3d2b29, 0 22px 56px #5a3d2b47, inset 0 2px 0 var(--shine);--spring:cubic-bezier(.34, 1.56, .64, 1);--ease:cubic-bezier(.2, .8, .2, 1);--t-fast:.12s;--t-med:.2s;--t-slow:.32s;--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--edge:8px}@media (prefers-reduced-motion:reduce){:root{--t-fast:0s;--t-med:0s;--t-slow:0s;--spring:linear}*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--cream);height:100%;font-family:var(--font);color:var(--ink);-webkit-user-select:none;user-select:none;overscroll-behavior:none;font-variant-numeric:tabular-nums;margin:0;overflow:hidden}#view{position:fixed;inset:0}#view canvas{display:block}button{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}a{color:var(--ink);font-weight:700}.fine a{margin:-12px 0;padding:12px 6px;display:inline-block}.ic{width:var(--ic,1.3em);height:var(--ic,1.3em);object-fit:contain;vertical-align:middle;pointer-events:none;flex-shrink:0}.ic.in{--ic:1.35em;margin:-.2em .1em -.15em}.ic-emoji{font-size:calc(var(--ic,1.3em) * .78);place-items:center;line-height:1;display:inline-grid}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tbtn{--face-1:var(--success-face-1);--face-2:var(--success-face-2);--lip:var(--success-lip);--fg:var(--white);justify-content:center;align-items:center;gap:var(--sp-2);min-height:var(--hit);padding:var(--sp-2) var(--sp-5);border-radius:var(--r-md);font:800 var(--fs-lg) / 1.1 var(--font);color:var(--fg);white-space:nowrap;background:linear-gradient(180deg, var(--face-1), var(--face-2));box-shadow:0 4px 0 var(--lip), 0 7px 14px var(--shade), inset 0 2px 0 #ffffff59;text-shadow:0 1px #00000029;transition:transform var(--t-fast) var(--spring), box-shadow var(--t-fast) var(--ease), filter var(--t-fast);--ic:28px;display:inline-flex;position:relative}.tbtn:before{content:"";border-radius:var(--r-sm) var(--r-sm) 40% 40%;pointer-events:none;background:linear-gradient(#ffffff80,#fff0);height:38%;position:absolute;top:3px;left:10px;right:10px}.tbtn .btxt{position:relative}@media (hover:hover){.tbtn:hover:not(:disabled){box-shadow:0 6px 0 var(--lip), 0 12px 20px var(--shade), inset 0 2px 0 #ffffff59;filter:brightness(1.04);transform:translateY(-2px)}}.tbtn:active:not(:disabled){box-shadow:0 1px 0 var(--lip), 0 2px 4px var(--shade), inset 0 2px 0 #ffffff40;transform:translateY(3px)scale(1.02,.95)}.tbtn:disabled{--face-1:var(--disabled-1);--face-2:var(--disabled-2);--lip:var(--disabled-lip);--fg:var(--ink-soft);text-shadow:none;cursor:not-allowed}.tbtn:disabled .ic:not(.lock){filter:grayscale(.7);opacity:.75}.tbtn .lock{--ic:22px}.tbtn.v-secondary{--face-1:var(--mango-300);--face-2:var(--mango);--lip:var(--mango-600);--fg:var(--ink-deep);text-shadow:0 1px #fff6}.tbtn.v-ghost{--face-1:var(--white);--face-2:var(--cream-2);--lip:var(--line);--fg:var(--ink);text-shadow:none}.tbtn.v-danger{--face-1:var(--danger-face-1);--face-2:var(--danger);--lip:var(--danger-lip)}.tbtn.s-sm{padding:var(--sp-1) var(--sp-3);font-size:var(--fs-md);border-radius:var(--r-sm);--ic:22px}.tbtn.s-sm.v-primary{--face-1:var(--success);--face-2:var(--success-deep)}.tbtn.s-lg{padding:var(--sp-3) var(--sp-6);font-size:var(--fs-xl);border-radius:var(--r-lg);--ic:34px;min-height:56px}.tbtn.wide{width:100%}.ibtn{background:linear-gradient(180deg, var(--white), var(--cream-2));width:48px;height:48px;box-shadow:var(--e1), 0 3px 0 var(--line);transition:transform var(--t-fast) var(--spring), box-shadow var(--t-fast);--ic:30px;border-radius:50%;flex-shrink:0;place-items:center;display:grid}@media (hover:hover){.ibtn:hover:not(:disabled){transform:translateY(-2px)scale(1.04)}}.ibtn:active:not(:disabled){box-shadow:0 1px 0 var(--line);transform:translateY(2px)scale(.92)}.ibtn:disabled{opacity:.45;cursor:not-allowed}.tag{align-items:center;gap:var(--sp-1);background:var(--cream-2);border-radius:var(--r-pill);padding:0 var(--sp-3) 0 var(--sp-1);min-height:28px;font-size:var(--fs-sm);--ic:22px;font-weight:700;display:inline-flex}.tag.plain{padding:0 var(--sp-3)}.stat{font-size:var(--fs-md);--ic:24px;align-items:center;gap:6px;display:inline-flex}.stat b{color:var(--success)}.note{font-size:var(--fs-sm);border-radius:var(--r-sm);padding:2px var(--sp-2) 2px 4px;--ic:22px;align-self:flex-start;align-items:center;gap:6px;font-weight:700;display:flex}.note.good{background:var(--tint-good);color:var(--success)}.note.warn{background:var(--tint-bad);color:var(--warn-text)}.note.info{background:var(--tint-info);color:var(--ink)}.ring{flex-shrink:0;place-items:center;width:52px;height:52px;display:inline-grid;position:relative}.ring svg{position:absolute;inset:0;transform:rotate(-90deg)}.ring circle{fill:none;stroke-width:4px}.ring .bg{stroke:var(--cream-3)}.ring .fg{stroke:var(--mango);stroke-linecap:round;transition:stroke-dashoffset .25s linear}.ring.t-good .fg{stroke:var(--success-face-1)}.ring.t-bad .fg{stroke:var(--danger-face-1)}.ring b{font-size:var(--fs-xs);font-weight:800;line-height:1;position:relative}.pbar{border-radius:var(--r-pill);background:var(--cream-3);height:10px;box-shadow:inset 0 1px 2px var(--shade);overflow:hidden}.pbar>div{border-radius:inherit;background:linear-gradient(180deg, var(--success-face-1), var(--success-face-2));height:100%;transition:width var(--t-slow) var(--ease)}.pbar.t-bad>div{background:linear-gradient(180deg, var(--danger-face-1), var(--danger))}.pbar.t-mango>div{background:linear-gradient(180deg, var(--mango-300), var(--mango-600))}.tabs{gap:var(--sp-1);background:var(--cream-3);padding:var(--sp-1);border-radius:var(--r-md);box-shadow:inset 0 2px 3px var(--shade);display:flex}.tabs button{min-height:var(--hit);padding:2px var(--sp-3);border-radius:var(--r-sm);font-weight:800;font-size:var(--fs-md);color:var(--ink-soft);transition:background var(--t-fast), transform var(--t-fast) var(--spring);--ic:24px;flex:1;justify-content:center;align-items:center;gap:6px;display:inline-flex}@media (hover:hover){.tabs button:hover:not(.on){background:#ffffff80}}.tabs button:active{transform:scale(.96)}.tabs button.on{background:var(--card);color:var(--ink);box-shadow:var(--e1)}.text{font:700 var(--fs-lg) var(--font);min-height:var(--hit);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);border:3px solid var(--line);background:var(--card);color:var(--ink);-webkit-user-select:text;user-select:text;width:100%;box-shadow:inset 0 2px 3px var(--shade)}.text::placeholder{color:var(--ink-soft);font-weight:500}.text:focus{border-color:var(--mango);outline:none}.text:focus-visible{outline:3px solid var(--focus);outline-offset:2px}#loading{justify-content:center;align-items:center;gap:var(--sp-3);padding:var(--safe-t) var(--safe-r) var(--safe-b) var(--safe-l);background:linear-gradient(var(--mango-200), var(--bubblegum-200));color:var(--ink);z-index:100;flex-direction:column;transition:opacity .5s,background 1.2s;display:flex;position:fixed;inset:0}#loading.orbit{background:radial-gradient(at 50% 45%,#fff8ef26 0%,#ffe2b859 55%,#ffd6e3bf 100%)}#loading .logo{filter:drop-shadow(0 10px 18px #f08a2459);width:min(86vw,600px);animation:1.6s ease-in-out infinite alternate bob}#loading #play{font-size:var(--fs-3xl);padding:var(--sp-3) 56px;border-radius:var(--r-xl);--ic:40px;min-height:72px;position:relative;overflow:hidden}#loading #play:after{content:"";background:linear-gradient(100deg,#fff0 0%,#ffffff8c 50%,#fff0 100%);width:40%;animation:2.8s ease-in-out .6s infinite shine;position:absolute;top:0;bottom:0;left:-60%;transform:skew(-18deg)}#loading #play:disabled:after{display:none}#loading .tagline{font-size:var(--fs-xl);padding:2px var(--sp-4);border-radius:var(--r-pill);background:#ffffffb3;margin:0;font-weight:800}body:not(.ready) #ui,body:not(.ready) #stack{opacity:0;pointer-events:none}#ui{transition:opacity var(--t-slow)}body.ready #loading{opacity:0;pointer-events:none}@keyframes bob{to{transform:translateY(-10px)rotate(-2deg)}}@keyframes shine{0%{left:-60%}45%,to{left:130%}}#hud{top:calc(var(--edge) + var(--safe-t));left:calc(var(--edge) + var(--safe-l));right:calc(var(--edge) + var(--safe-r));gap:var(--sp-2);pointer-events:none;z-index:10;align-items:flex-start;display:flex;position:fixed}#hud .plate{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}#hud .right{pointer-events:auto;align-items:center;gap:6px;margin-left:auto;display:flex}.chip{pointer-events:auto;min-height:var(--hit);padding:4px var(--sp-4) 4px 6px;border-radius:var(--r-pill);background:linear-gradient(180deg, var(--white), var(--cream));box-shadow:var(--e1), 0 3px 0 var(--line);font-size:var(--fs-lg);white-space:nowrap;transition:transform var(--t-fast) var(--spring);--ic:32px;align-items:center;gap:6px;font-weight:800;line-height:1;display:inline-flex}button.chip:active{transform:scale(.95)}@media (hover:hover){button.chip:hover{transform:translateY(-1px)}}.chip small{font-size:var(--fs-sm);color:var(--ink-soft);font-weight:700}.chip.name{background:linear-gradient(180deg, var(--mango-300), var(--mango));box-shadow:var(--e1), 0 3px 0 var(--mango-600);color:var(--ink-deep);max-width:34vw}.chip.name b{text-overflow:ellipsis;overflow:hidden}.chip.name .edit{--ic:22px;opacity:.9}.chip.money b{color:var(--success)}.chip.money.got .ic{animation:got .4s var(--spring)}@keyframes got{40%{transform:scale(1.3)rotate(-8deg)}}.chip.stars{padding:4px var(--sp-3);--ic:24px;gap:0}.chip.stars .stars-n{margin-left:4px;display:none}.chip.alerts{gap:var(--sp-2);padding-right:var(--sp-3);background:linear-gradient(180deg, var(--white), var(--tint-gold));--ic:28px}.chip.alerts span{align-items:center;gap:2px;display:inline-flex}.chip.alerts.bad{background:linear-gradient(180deg, var(--white), var(--tint-bad));box-shadow:var(--e1), 0 3px 0 var(--bubblegum);animation:1.6s ease-in-out infinite alert-pulse}@keyframes alert-pulse{50%{transform:scale(1.06)}}.chip.tod{cursor:default;--ic:28px}#stack{top:calc(var(--hud-h,52px) + var(--edge) * 2 + var(--safe-t));z-index:30;pointer-events:none;flex-direction:column;align-items:center;gap:6px;width:min(600px,100vw - 32px);display:flex;position:fixed;left:50%;transform:translate(-50%)}#toasts{flex-direction:column;align-items:center;gap:6px;max-width:100%;display:flex}body.sheet-open #stack{top:auto;bottom:calc(var(--sp-5) + var(--safe-b));flex-direction:column-reverse}body.sheet-open #goal{display:none}#goal,.toast{align-items:center;gap:var(--sp-2);max-width:100%;min-height:40px;padding:4px var(--sp-4) 4px 6px;border-radius:var(--r-pill);background:var(--card);box-shadow:var(--e2);font-size:var(--fs-md);--ic:32px;font-weight:700;line-height:1.25;display:flex}#goal .ic.in,.toast .ic.in{--ic:1.4em}#goal{opacity:0;transition:opacity var(--t-slow), translate var(--t-slow) var(--spring);background:#fffffff0;translate:0 -8px}#goal.show{opacity:1;translate:0}#goal.tip{background:linear-gradient(180deg, var(--white), var(--cream-2));box-shadow:var(--e2), 0 0 0 3px var(--mango)}#goal:empty{display:none}.toast{animation:pop-in var(--t-slow) var(--spring);transition:opacity .4s,transform .4s}.toast.big{font-size:var(--fs-lg);background:linear-gradient(90deg, var(--tint-gold), var(--bubblegum-200));box-shadow:var(--e2), 0 0 0 3px var(--mango);--ic:40px}.toast.oops{background:var(--tint-bad);color:var(--warn-text)}.toast.bye{opacity:0;transform:translateY(-10px)scale(.96)}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}}#toolbar{bottom:calc(var(--edge) + var(--safe-b));border-radius:var(--r-xl);background:linear-gradient(180deg, var(--white), var(--cream));box-shadow:var(--e2), 0 4px 0 var(--line);max-width:calc(100vw - 16px - var(--safe-l) - var(--safe-r));z-index:10;gap:6px;padding:6px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.tb{border-radius:var(--r-lg);width:74px;min-height:64px;transition:transform var(--t-med) var(--spring), background var(--t-fast);flex-direction:column;flex-shrink:0;align-items:center;gap:2px;padding:4px 2px 3px;display:flex;position:relative}.tb .tile{border-radius:var(--r-md);background:linear-gradient(180deg, var(--white), var(--cream-2));width:48px;height:42px;box-shadow:0 3px 0 var(--line), inset 0 1px 0 var(--shine);transition:transform var(--t-med) var(--spring), box-shadow var(--t-med), background var(--t-med);--ic:38px;place-items:center;display:grid}.tb .t{white-space:nowrap;color:var(--ink);font-size:13px;font-weight:800}@media (hover:hover){.tb:hover .tile{box-shadow:0 6px 0 var(--line), 0 8px 12px var(--shade);transform:translateY(-3px)}}.tb:active .tile{box-shadow:0 1px 0 var(--line);transform:translateY(2px)scale(.92)}.tb.on .tile{background:linear-gradient(180deg, var(--mango-300), var(--mango));box-shadow:0 4px 0 var(--mango-600), 0 0 0 3px var(--white), 0 0 18px 4px #ffb347b3;transform:translateY(-6px)}.tb.on .t{color:var(--ink-deep)}.tb.hop .tile{animation:hop .42s var(--spring)}@keyframes hop{35%{transform:translateY(-12px)scale(1.08,.94)}70%{transform:translateY(-3px)scale(.97,1.04)}}.tb.has:after{content:attr(data-count);border-radius:var(--r-pill);background:linear-gradient(180deg, var(--danger-face-1), var(--danger));min-width:24px;height:24px;color:var(--white);box-shadow:0 2px 0 var(--danger-lip), 0 0 0 2px var(--white);place-items:center;padding:0 6px;font-size:14px;font-weight:800;display:grid;position:absolute;top:-2px;right:6px}.tb.bump .tile{animation:.6s bump}@keyframes bump{30%{transform:scale(1.25)rotate(-6deg)}60%{transform:scale(.95)rotate(4deg)}}.tb.more{display:none}#more-menu{right:calc(var(--edge) + var(--safe-r));bottom:calc(var(--dock-h,80px) + var(--edge) * 2 + var(--safe-b));padding:var(--sp-2);border-radius:var(--r-xl);background:linear-gradient(180deg, var(--white), var(--cream));box-shadow:var(--e3);z-index:12;opacity:0;transform-origin:90% 100%;pointer-events:none;transition:opacity var(--t-med), transform var(--t-med) var(--spring);grid-template-columns:repeat(2,1fr);gap:6px;display:grid;position:fixed;transform:translateY(12px)scale(.92)}#more-menu.show{opacity:1;pointer-events:auto;transform:none}#subbar{bottom:calc(var(--dock-h,80px) + var(--edge) + 14px + var(--safe-b));opacity:0;pointer-events:none;background:linear-gradient(180deg, var(--white), var(--cream));border-radius:var(--r-lg);width:min(720px,100vw - 16px);padding:var(--sp-2) var(--sp-3);gap:var(--sp-2);box-shadow:var(--e2), 0 0 0 3px var(--mango);transition:opacity var(--t-med), transform var(--t-med) var(--spring);z-index:10;flex-wrap:wrap;align-items:center;display:flex;position:fixed;left:50%;transform:translate(-50%)translateY(16px)}#subbar:after{content:"";left:var(--notch-x,50%);background:var(--cream);width:18px;height:18px;box-shadow:3px 3px 0 0 var(--mango);border-radius:0 0 4px;position:absolute;bottom:-11px;transform:translate(-50%)rotate(45deg)}#subbar.show{opacity:1;pointer-events:auto;transform:translate(-50%)}#subbar p{min-width:200px;font-size:var(--fs-md);flex:1;margin:0;line-height:1.3}#subbar .sizes{font-size:var(--fs-sm);color:var(--ink-soft);display:block}#subbar .tabs{--ic:26px;flex-shrink:0}.tabs button{white-space:nowrap}.touch-only{display:none}@media (pointer:coarse){.touch-only{display:inline}}.picks{gap:var(--sp-2);scrollbar-width:none;width:100%;padding:4px 2px 8px;display:flex;overflow-x:auto}.picks::-webkit-scrollbar{display:none}.pick{min-width:88px;padding:4px var(--sp-2) 6px;border-radius:var(--r-md);background:linear-gradient(180deg, var(--white), var(--cream-2));box-shadow:0 3px 0 var(--line), inset 0 1px 0 var(--shine);transition:transform var(--t-fast) var(--spring);--ic:44px;flex-direction:column;flex-shrink:0;align-items:center;display:flex}@media (hover:hover){.pick:hover{transform:translateY(-2px)}}.pick:active{transform:scale(.94)}.pick.on{background:linear-gradient(180deg, var(--tint-gold), var(--mango-200));box-shadow:0 3px 0 var(--mango-600), 0 0 0 3px var(--mango)}.pick .t{font-size:var(--fs-xs);white-space:nowrap;font-weight:800}.pick .c{font-size:var(--fs-xs);color:var(--success);font-weight:800}.pick.on .c{color:var(--ink-deep)}#camerabar{right:calc(var(--edge) + var(--safe-r));gap:var(--sp-2);z-index:9;flex-direction:column;align-items:center;display:flex;position:fixed;top:50%;transform:translateY(-50%)}#camerabar .seg{border-radius:var(--r-pill);background:linear-gradient(180deg, var(--white), var(--cream));box-shadow:var(--e1), 0 3px 0 var(--line);flex-direction:column;align-items:center;padding:4px;display:flex}.cb{width:var(--hit);height:var(--hit);transition:transform var(--t-fast) var(--spring), background var(--t-fast);--ic:30px;border-radius:50%;place-items:center;display:grid}@media (hover:hover){.cb:hover:not(:disabled){background:var(--cream-2)}}.cb:active:not(:disabled){transform:scale(.86)}.cb:disabled{opacity:.35;cursor:not-allowed}.floorbadge{border-radius:var(--r-pill);background:linear-gradient(180deg, var(--mango-300), var(--mango));min-width:40px;height:30px;box-shadow:0 2px 0 var(--mango-600);color:var(--ink-deep);font-weight:800;font-size:var(--fs-md);place-items:center;margin:2px 0;padding:0 6px;line-height:1;display:grid}#sheet-wrap{background:var(--scrim);-webkit-backdrop-filter:blur(5px)saturate(1.1);opacity:0;pointer-events:none;transition:opacity var(--t-med);z-index:20;padding:calc(12px + var(--safe-t)) calc(12px + var(--safe-r)) calc(12px + var(--safe-b)) calc(12px + var(--safe-l));justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#sheet-wrap.show{opacity:1;pointer-events:auto}#sheet{background:var(--cream);border-radius:var(--r-xl);width:min(640px,100%);max-height:min(88vh,920px);box-shadow:var(--e3);transition:transform var(--t-slow) var(--spring);-webkit-user-select:text;user-select:text;flex-direction:column;display:flex;overflow:hidden;transform:scale(.9)translateY(24px)}#sheet-wrap.show #sheet{transform:none}#sheet.dragging{transition:none}.sheet-head{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-3) var(--sp-3) var(--sp-4);background:linear-gradient(100deg, var(--mango-200), var(--bubblegum-200));touch-action:none;display:flex;position:relative;box-shadow:inset 0 -3px #fff9}.sheet-head .badge{background:var(--white);width:56px;height:56px;box-shadow:var(--e1), 0 3px 0 var(--mango-300);--ic:44px;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.sheet-head h2{min-width:0;font-size:var(--fs-xl);color:var(--ink-deep);flex:1;margin:0;font-weight:800;line-height:1.15}.sheet-head .grab{display:none}.sheet-body{padding:var(--sp-4) var(--sp-4) var(--sp-5);gap:var(--sp-3);overscroll-behavior:contain;flex-direction:column;display:flex;overflow-y:auto}.sheet-body h3{font-size:var(--fs-lg);--ic:26px;align-items:center;gap:6px;margin:4px 0 0;display:flex}.sheet-body p{margin:0}.sheet-body>*{flex-shrink:0}.lead{font-size:var(--fs-md);font-weight:600;line-height:1.35}.fine{font-size:var(--fs-sm);color:var(--ink-soft);line-height:1.35}.empty{text-align:center;padding:var(--sp-5);color:var(--ink-soft);font-size:var(--fs-md)}.big-q{font-size:var(--fs-xl);text-align:center;padding:var(--sp-2);font-weight:800}.huge{justify-content:center;align-items:center;gap:var(--sp-2);color:var(--success);--ic:64px;font-size:52px;font-weight:800;animation:.8s bump;display:flex}.row{gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.row>.text{flex:1;min-width:160px}.row.end{flex-wrap:wrap;justify-content:flex-end}.move-wrap{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.move-wrap .fine{text-align:right;max-width:220px;margin:0}.row.split>*{flex:1}.lbl{font-weight:800;font-size:var(--fs-md);--ic:24px;align-items:center;gap:6px;margin-top:4px;display:flex}.code{font-size:var(--fs-2xl);letter-spacing:2px;text-align:center;background:var(--tint-gold);border:3px dashed var(--mango);border-radius:var(--r-md);-webkit-user-select:all;user-select:all;padding:6px;font-weight:800}.box{background:var(--card);border-radius:var(--r-lg);padding:var(--sp-3);gap:var(--sp-2);box-shadow:var(--e1);flex-direction:column;display:flex}.box h3{margin:0}.tbtn.oauth{gap:var(--sp-3);width:100%;text-shadow:none}.tbtn.oauth:before{display:none}.tbtn.oauth .logo{width:22px;height:22px;display:inline-flex}.tbtn.oauth .logo svg{width:100%;height:100%}.tbtn.oauth.google{--face-1:#fff;--face-2:#fff;--lip:#b9b4ad;--fg:#1f1f1f;border:2px solid #747775}.tbtn.oauth.apple{--face-1:#000;--face-2:#000;--lip:#555;--fg:#fff;border:2px solid #000}.tbtn.oauth.apple .logo{margin-top:-3px}.card{gap:var(--sp-3);background:var(--card);border-radius:var(--r-lg);padding:var(--sp-3);box-shadow:var(--e1);align-items:center;display:flex;position:relative;overflow:hidden}.card:before{content:"";background:var(--c,var(--mango));width:8px;position:absolute;top:0;bottom:0;left:0}.card .info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.card .info h3{flex-wrap:wrap;align-items:center;gap:6px;margin:0;line-height:1.15;display:flex}.card .acts{gap:var(--sp-2);flex-direction:column;align-items:stretch;display:flex}.card.locked .art{filter:grayscale(.6);opacity:.7}.art{background:radial-gradient(circle at 50% 40%, var(--white), color-mix(in srgb, var(--c,var(--mango)) 35%, var(--white)));width:84px;height:84px;box-shadow:inset 0 -3px 0 color-mix(in srgb, var(--c,var(--mango)) 50%, var(--white));--ic:64px;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.art img.icon{object-fit:contain;width:72px;height:72px;filter:drop-shadow(0 3px 3px var(--shade))}.art .big-e{font-size:46px;line-height:1}.tier{--ic:18px;display:inline-flex}.tags{flex-wrap:wrap;gap:4px;display:flex}.deal{gap:4px var(--sp-3);font-size:var(--fs-md);flex-wrap:wrap;display:flex}.deal b{color:var(--success)}.timer{font-size:var(--fs-sm);color:var(--ink-soft);align-items:center;gap:6px;font-weight:700;display:inline-flex}.running{font-size:var(--fs-sm);color:var(--success);flex-direction:column;gap:2px;font-weight:800;display:flex}.running:empty{display:none}.card.ev{--c:var(--danger-face-1)}.card.ev.good{--c:var(--gold);background:linear-gradient(90deg, var(--white), var(--tint-gold))}.card.ev.tough{--c:var(--danger);background:linear-gradient(90deg, var(--white), var(--tint-bad));box-shadow:var(--e1), 0 0 0 2px var(--bubblegum)}.card.ev .art{--ic:50px;width:64px;height:64px}.ring.art-ring{background:radial-gradient(circle at 50% 40%, var(--white), var(--cream-2));--ic:46px;border-radius:50%;width:68px;height:68px}.ring.art-ring circle{stroke-width:3.2px}.card.ev .meta{align-items:center;gap:var(--sp-2);--ic:20px;flex-wrap:wrap;display:flex}.card.ev .acts{min-width:150px}.sev{font-size:var(--fs-xs);border-radius:var(--r-pill);background:var(--tint-bad);color:var(--warn-text);padding:0 8px;font-weight:800}.sev.gentle{background:var(--cream-2);color:var(--ink-soft)}.sev.weather{background:var(--tint-info);color:#2a5fa8}.fix-hero{align-items:center;gap:var(--sp-3);display:flex}.fix-hero .art{--ic:76px;width:96px;height:96px}.grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(170px,1fr));display:grid}.tile{background:var(--card);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-2) var(--sp-2);text-align:center;box-shadow:var(--e1);--ic:64px;flex-direction:column;align-items:center;gap:4px;display:flex;position:relative;overflow:hidden}.tile h3{font-size:var(--fs-md);margin:0;line-height:1.15}.tile p{font-size:var(--fs-sm);color:var(--ink-soft);flex:1;line-height:1.3}.tile .fx{font-size:var(--fs-sm);color:var(--success);--ic:20px;flex-wrap:wrap;justify-content:center;gap:4px;font-weight:800;display:flex}.tile .fx span{align-items:center;gap:2px;display:inline-flex}.tile .tbtn{width:100%}.tile.owned{background:linear-gradient(180deg, var(--white), var(--tint-gold))}.ribbon{background:var(--success);width:130px;color:var(--white);font-size:var(--fs-xs);text-align:center;letter-spacing:.5px;box-shadow:0 2px 0 var(--success-lip);padding:2px 0;font-weight:800;position:absolute;top:14px;right:-34px;transform:rotate(35deg)}.have{min-height:var(--hit);color:var(--success);--ic:26px;align-items:center;gap:4px;font-weight:800;display:inline-flex}.drain{width:100%}.badges .tile.got{background:linear-gradient(180deg, var(--white), var(--tint-gold))}.badges .tile.got:after{content:"";pointer-events:none;background:linear-gradient(110deg,#fff0 35%,#ffffffbf 50%,#fff0 65%) 0 0/250% 100%;animation:3.6s ease-in-out infinite sheen;position:absolute;inset:0}@keyframes sheen{0%{background-position:130% 0}45%,to{background-position:-30% 0}}.badges .tile.not{background:var(--cream-2)}.badges .tile.not>.ic{filter:brightness(0)contrast(.1);opacity:.22}.badges .tile .pbar{width:80%;margin-top:2px}.reasons{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.reasons li{align-items:center;gap:var(--sp-2);background:var(--card);border-radius:var(--r-md);padding:6px var(--sp-3);font-size:var(--fs-md);box-shadow:var(--e1);--ic:26px;display:flex}.reasons li>span{flex:1}.reasons li.up{background:linear-gradient(90deg, var(--white), var(--tint-good))}.reasons li.down{background:linear-gradient(90deg, var(--white), var(--tint-bad))}.reasons li.up b{color:var(--success)}.reasons li.down b{color:var(--warn-text)}.bars{flex-direction:column;gap:6px;display:flex}.bar{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);--ic:24px;grid-template-columns:minmax(120px,170px) 1fr 32px;font-weight:700;display:grid}.bar>span{align-items:center;gap:4px;display:flex}.mood-hero{align-items:center;gap:var(--sp-3);--ic:64px;display:flex}.mood-hero .pbar{flex:1;height:16px}.lb{flex-direction:column;gap:6px;display:flex}.podium{align-items:end;gap:var(--sp-2);margin:var(--sp-2) 0;grid-template-columns:1fr 1.15fr 1fr;display:grid}.podium .p{text-align:center;--ic:48px;flex-direction:column;align-items:center;gap:2px;min-width:0;display:flex}.podium .who{font-weight:800;font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.podium b{color:var(--success);font-size:var(--fs-sm)}.podium .step{border-radius:var(--r-md) var(--r-md) 6px 6px;width:100%;font-size:var(--fs-2xl);color:var(--ink-deep);box-shadow:var(--e1);place-items:center;font-weight:800;display:grid}.podium .p1 .step{background:linear-gradient(180deg, var(--gold), var(--mango));height:92px}.podium .p2 .step{background:linear-gradient(180deg, var(--white), var(--cream-3));height:70px}.podium .p3 .step{background:linear-gradient(180deg, var(--mango-200), var(--mango-300));height:54px}.podium .p{position:relative}.podium .me .who{color:var(--ink-deep);background:var(--tint-gold);border-radius:var(--r-pill);padding:0 var(--sp-2);box-shadow:0 0 0 2px var(--mango)}.podium .me .step{outline:4px solid var(--mango);outline-offset:2px;box-shadow:var(--e1), 0 0 18px 4px color-mix(in srgb, var(--mango) 55%, transparent)}.lb .you{background:var(--mango);color:var(--ink-deep);font-size:var(--fs-xs);border-radius:var(--r-pill);box-shadow:var(--e1);flex:none;padding:1px 8px;font-weight:800}.podium .you{z-index:1;position:absolute;top:-6px;right:4px}.lbrow{gap:var(--sp-3);background:var(--card);border-radius:var(--r-md);padding:6px var(--sp-3);min-height:var(--hit);font-size:var(--fs-md);box-shadow:var(--e1);align-items:center;display:flex}.lbrow.me{background:linear-gradient(90deg, var(--mango-200), var(--tint-gold));box-shadow:var(--e1), 0 0 0 3px var(--mango), inset 6px 0 0 var(--mango);font-weight:800}.lbrow.me .rank{color:var(--ink-deep)}.lbrow .rank{width:44px;color:var(--ink-soft);font-weight:800}.lbrow .who{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:700;overflow:hidden}.lbrow b{color:var(--success)}.malls{gap:var(--sp-2);flex-direction:column;display:flex}.mallrow{gap:var(--sp-3);background:var(--cream-2);border-radius:var(--r-md);padding:6px var(--sp-3);min-height:var(--hit);align-items:center;display:flex}.mallrow.me{background:linear-gradient(90deg, var(--mango-200), var(--tint-gold));box-shadow:inset 6px 0 0 var(--mango)}.mallrow .who{flex-direction:column;flex:1;min-width:0;display:flex}.mallrow .who b,.mallrow .who small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mallrow .who small{color:var(--ink-soft);font-size:var(--fs-sm)}.mallrow .you{background:var(--mango);color:var(--ink-deep);font-size:var(--fs-xs);border-radius:var(--r-pill);box-shadow:var(--e1);flex:none;padding:1px 8px;font-weight:800}.lbgap{text-align:center;color:var(--ink-soft)}#peek{left:calc(var(--edge) + 4px + var(--safe-l));bottom:calc(var(--dock-h,80px) + var(--edge) * 2 + var(--safe-b));background:linear-gradient(180deg, var(--white), var(--cream));border-radius:var(--r-xl);width:min(320px,100vw - 24px);padding:var(--sp-3);box-shadow:var(--e3);z-index:11;opacity:0;transform-origin:20% 100%;pointer-events:none;transition:opacity var(--t-med), transform var(--t-slow) var(--spring);position:fixed;transform:translateY(16px)scale(.92)}#peek.show{opacity:1;pointer-events:auto;transform:none}.peek-head{align-items:center;gap:var(--sp-3);display:flex}.portrait{background:radial-gradient(circle at 50% 35%, var(--white), var(--mood-tint,var(--cream-2)));width:60px;height:60px;box-shadow:var(--e1), 0 3px 0 var(--line);--ic:48px;border-radius:50%;flex-shrink:0;place-items:center;display:grid;position:relative}.portrait .role{background:var(--white);width:28px;height:28px;box-shadow:var(--e1);--ic:24px;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-4px;right:-6px}.peek-head .who{flex-direction:column;flex:1;min-width:0;line-height:1.15;display:flex}.peek-head .who b{font-size:var(--fs-lg)}.peek-head .who small{font-size:var(--fs-sm);color:var(--ink-soft);font-weight:700}#peek .doing{font-size:var(--fs-sm);color:var(--ink-soft);--ic:20px;align-items:center;gap:4px;margin-top:2px;font-weight:700;display:flex}#peek .mood{margin:var(--sp-2) 0 6px;--ic:30px;align-items:center;gap:6px;display:flex}#peek .mood .pbar{flex:1;height:12px}#peek .mood .pbar>div{background:linear-gradient(90deg, var(--danger-face-1), var(--gold), var(--success-face-1));background-size:320px 100%}#peek .thoughts{font-size:var(--fs-sm);flex-direction:column;gap:4px;margin:0;padding:0;font-weight:700;list-style:none;display:flex}#peek .thoughts li{padding:3px var(--sp-2) 3px 4px;border-radius:var(--r-sm);--ic:26px;align-items:center;gap:6px;line-height:1.25;display:flex}#peek .thoughts li .ic.in{--ic:1.4em}#peek .thoughts li.up{background:var(--tint-good)}#peek .thoughts li.down{background:var(--tint-bad)}#peek .thoughts .sign{width:22px;height:22px;color:var(--white);background:var(--success);border-radius:50%;flex-shrink:0;place-items:center;font-weight:800;display:grid}#peek .thoughts li.down .sign{background:var(--danger)}#peek.bye .peek-head{animation:.6s ease-in-out 2 wave}@keyframes wave{50%{transform:rotate(-4deg)}}.flycoin{--ic:30px;z-index:40;margin:-15px 0 0 -15px;animation:.75s cubic-bezier(.5,-.4,.6,1) forwards flycoin;position:fixed}@keyframes flycoin{60%{opacity:1}to{transform:translate(var(--tx), var(--ty)) scale(.6);opacity:.6}}.confetti{pointer-events:none;z-index:45;position:fixed;inset:0}.confetti i{border-radius:3px;width:9px;height:14px;animation:1.2s cubic-bezier(.2,.7,.4,1) forwards confetti;position:absolute}@keyframes confetti{to{transform:translate(var(--dx), calc(var(--dy) + 160px)) rotate(var(--r));opacity:0}}@media (width<=520px){:root{--edge:6px}.chip{font-size:var(--fs-md);padding:2px var(--sp-3) 2px 4px;--ic:28px}.chip small{display:none}.chip{--ic:26px;gap:4px;min-height:38px;position:relative}.chip:after{content:"";position:absolute;inset:-3px}#hud .plate{gap:8px 6px}.chip.name{max-width:44vw}.chip.stars .ic:not(:first-child){display:none}.chip.stars .stars-n{display:inline}#hud .right{flex-direction:column}.chip.tod{width:var(--hit);height:var(--hit);--ic:30px;justify-content:center;padding:0}.chip.tod span{display:none}.card .acts{flex-wrap:wrap}.card.offer .acts .ring{top:var(--sp-2);right:var(--sp-2);width:44px;height:44px;position:absolute}#hud .right .ibtn{width:var(--hit);height:var(--hit);--ic:28px}#toolbar{width:calc(100vw - 12px - var(--safe-l) - var(--safe-r));justify-content:space-between;gap:0;padding:4px}.tb{flex:1;width:auto;min-width:0}.tb.sec{display:none}.tb.more{display:flex}.tb .tile{--ic:34px;width:44px;height:38px}.tb .t{font-size:var(--fs-xs)}#more-menu .tb{width:84px}#more-menu .tb.sec{display:flex}#sheet-wrap{padding:calc(12px + var(--safe-t)) 0 0;align-items:flex-end}#sheet{border-radius:var(--r-xl) var(--r-xl) 0 0;width:100%;max-height:calc(92vh - var(--safe-t));transform:translateY(40%)}.sheet-body{padding-bottom:calc(var(--sp-5) + var(--safe-b))}.sheet-head{padding-top:var(--sp-4)}.sheet-head .grab{border-radius:var(--r-pill);background:#4a2c1740;width:44px;height:5px;margin-left:-22px;display:block;position:absolute;top:6px;left:50%}.sheet-head .badge{--ic:38px;width:48px;height:48px}.sheet-head h2{font-size:22px}.card{flex-wrap:wrap}.card .acts{flex-direction:row;width:100%}.card .acts .tbtn{flex:1}.card.ev .acts{max-width:none}.grid{grid-template-columns:repeat(2,1fr)}.art{--ic:54px;width:72px;height:72px}.art img.icon{width:60px;height:60px}#peek{left:calc(var(--edge) + var(--safe-l));right:calc(var(--edge) + var(--safe-r));width:auto;padding:var(--sp-2) var(--sp-3)}#peek .thoughts li:nth-child(n+4){display:none}.portrait{--ic:42px;width:52px;height:52px}.bar{grid-template-columns:minmax(100px,130px) 1fr 28px}#goal,.toast{font-size:var(--fs-sm);--ic:28px}}@media (height<=500px){:root{--edge:6px}#hud .plate{flex-wrap:nowrap;min-width:0}.chip.name{min-width:0}.chip{min-height:36px;font-size:var(--fs-md);padding:2px var(--sp-3) 2px 4px;--ic:26px;gap:4px;position:relative}.chip:after{content:"";position:absolute;inset:-4px -3px}.chip small{display:none}.chip.name{max-width:26vw}.chip.stars .ic:not(:first-child){display:none}.chip.stars .stars-n{display:inline}.chip.tod span{display:none}.chip.tod{padding:2px 6px}#hud .right .ibtn{--ic:26px;width:40px;height:40px;position:relative}#hud .right .ibtn:after{content:"";position:absolute;inset:-2px}#toolbar{border-radius:var(--r-lg);gap:2px;padding:3px 6px}.tb{width:62px;min-height:50px;padding:2px}.tb .tile{--ic:30px;width:40px;height:32px}.tb .t{font-size:11px}.tb.on .tile{transform:translateY(-3px)}#camerabar{top:calc(var(--hud-h,40px) + var(--edge) * 2 + var(--safe-t));align-items:flex-end;gap:6px;transform:none}#camerabar .seg{flex-direction:row;padding:2px}.cb{--ic:28px}.floorbadge{min-width:30px;height:28px;margin:0 2px}#subbar{width:min(720px, calc(100vw - 140px - var(--safe-l) - var(--safe-r)));padding:4px var(--sp-2);gap:6px}#subbar p{font-size:var(--fs-sm)}.pick{--ic:34px;min-width:74px}#stack{width:min(520px,100vw - 200px)}#goal,.toast{min-height:34px;font-size:var(--fs-sm);--ic:26px}#sheet-wrap{padding:calc(6px + var(--safe-t)) calc(8px + var(--safe-r)) calc(6px + var(--safe-b)) calc(8px + var(--safe-l))}#sheet{width:min(720px,100%);max-height:100%}.sheet-head{padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-3)}.sheet-head .badge{--ic:34px;width:42px;height:42px}.sheet-head h2{font-size:var(--fs-lg)}.sheet-body{padding:var(--sp-3);gap:var(--sp-2)}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}#peek{width:min(300px,44vw);padding:var(--sp-2) var(--sp-3);max-height:calc(100vh - var(--hud-h,40px) - var(--dock-h,56px) - 30px);overflow:auto}#peek .thoughts li:nth-child(n+3){display:none}.portrait{--ic:38px;width:46px;height:46px}#loading .logo{width:min(60vw,420px)}#loading #play{min-height:56px;font-size:var(--fs-2xl)}#loading .tagline{font-size:var(--fs-md)}}
