.player{flex-direction:column;flex:1;gap:16px;display:flex;overflow-x:clip}.topbar{top:env(safe-area-inset-top,0px);background:var(--bg);z-index:5;align-items:center;gap:10px;padding-block:6px;display:flex;position:sticky}.topbar .x{color:var(--muted);place-items:center;width:36px;height:36px;font-size:1.2rem;font-weight:800;text-decoration:none;display:grid}.topbar .snd{cursor:pointer;background:0 0;border:0;width:36px;height:36px;font-size:1.1rem}.progress{border:var(--stroke);background:var(--surface);border-radius:99px;flex:1;height:14px;overflow:hidden}.progress i{background:var(--shell);height:100%;transition:width .35s;display:block}.stage{flex-direction:column;flex:1;gap:14px;animation:.25s stage-in;display:flex}@keyframes stage-in{0%{opacity:.4;transform:translateY(8px)}}.dock{flex-direction:column;gap:12px;margin-top:auto;padding-top:8px;display:flex}.talk{flex-direction:column;align-items:center;gap:14px;padding-top:12px;display:flex}.bubble{padding:12px 14px;font-size:1rem}.bubble.big{text-align:center;padding:18px;font-size:1.15rem;position:relative}.bubble-row{align-items:flex-end;gap:8px;display:flex}.bubble-row .bubble{flex:1;min-width:0}.bubble-row svg{flex:none}.hint{font-size:.9rem}.center{text-align:center}.q{padding:18px;font-size:1.15rem;font-weight:500}.opts{flex-direction:column;gap:10px;display:flex}.opt{text-align:left;background:var(--surface);border:var(--stroke);min-height:56px;box-shadow:3px 3px 0 var(--ink);cursor:pointer;border-radius:14px;padding:14px 16px;font-size:1.02rem;font-weight:500;transition:transform 80ms,background .2s}.opt:active:not(:disabled){box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.opt:disabled{cursor:default}.opt.is-right{background:var(--shell-soft);border-color:var(--shell);box-shadow:3px 3px 0 var(--shell);font-weight:700}.opt.is-wrong{background:var(--fox-soft);border-color:var(--fox);box-shadow:3px 3px 0 var(--fox);animation:.35s shake}.opt.is-dim{opacity:.45}.opt.is-picked{background:var(--violet-soft);border-color:var(--violet);box-shadow:3px 3px 0 var(--violet)}.opt.price{justify-content:space-between;align-items:center;gap:12px;display:flex}.opt.price b{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.95rem}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.prompt{font-family:var(--f-display);text-align:center;font-size:1.3rem;font-weight:800}.counter{text-align:center;margin-top:-8px;font-size:.85rem}.deck{touch-action:pan-y;height:290px;position:relative}.card{text-align:center;cursor:grab;user-select:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:20px;transition:transform .3s,opacity .3s;display:flex;position:absolute;inset:0}.card.dragging{cursor:grabbing;transition:none}.card.ok{background:var(--shell-soft)}.card.bad{background:var(--fox-soft);animation:.35s shake}.card.under{z-index:0;transform:scale(.94)translateY(12px)}.card:not(.under){z-index:1}.card .emo{font-size:4.2rem;line-height:1}.card h2{font-size:1.45rem}.stamp{font:800 1.3rem var(--f-display);border:3px solid;border-radius:10px;padding:4px 12px;position:absolute;top:16px}.stamp.left{color:var(--fox);right:16px;transform:rotate(10deg)}.stamp.right{color:var(--shell);left:16px;transform:rotate(-10deg)}.swipe-btns{grid-template-columns:1fr 1fr;gap:12px;display:grid}.wallet{grid-template-columns:1fr auto;align-items:center;gap:6px 10px;padding:12px 16px;display:grid}.wallet span{color:var(--muted);font-weight:500}.wallet b{font:800 1.5rem var(--f-display);font-variant-numeric:tabular-nums}.wallet b.low{color:var(--fox)}.wbar{background:var(--line);border-radius:99px;grid-column:1/-1;height:10px;overflow:hidden}.wbar i{background:var(--coin);height:100%;transition:width .4s;display:block}.week{text-align:center;justify-items:center;gap:4px;padding:16px;display:grid}.week .emo{font-size:3rem}.q-text{font-size:1.15rem;font-weight:500}.log{gap:6px;margin:0;padding:12px 16px;font-size:.92rem;list-style:none;display:grid}.log li{justify-content:space-between;gap:12px;display:flex}.log b{white-space:nowrap;font-variant-numeric:tabular-nums}.slider{gap:12px;padding:16px;display:grid}.sl-head{font:800 1.2rem var(--f-display);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.loaves{flex-wrap:wrap;align-content:flex-start;gap:2px;min-height:80px;font-size:1.6rem;display:flex}.loaves span{animation:.2s pop}@keyframes pop{0%{transform:scale(.4)}}.sl-cap{font-size:1.05rem}.sl-label{font-weight:500}input[type=range]{width:100%;accent-color:var(--violet);height:32px}.finish{flex-direction:column;align-items:center;gap:16px;padding-top:12px;animation:.3s stage-in;display:flex}.finish h1{font-size:2.4rem}.rewards{grid-template-columns:repeat(3,1fr);gap:10px;width:100%;display:grid}.reward{justify-items:center;padding:12px 6px;display:grid}.reward b{font:800 1.8rem var(--f-display);font-variant-numeric:tabular-nums}.reward span{color:var(--muted);font-size:.85rem}.reward.coin{background:var(--coin-soft)}.reward.fire{background:var(--fox-soft)}.home-task{background:var(--violet-soft);gap:6px;width:100%;padding:16px;display:grid}.finish-btns{gap:12px;width:100%;display:grid}.gain{font:800 .9rem var(--f-display);background:var(--coin);border:var(--stroke);border-radius:999px;margin-right:2px;padding:1px 9px;display:inline-block}.gain.zero{background:var(--line)}.coinchip{animation:.35s bump}@keyframes bump{40%{background:var(--coin);transform:scale(1.25)}}.emo,.loaves,.emo-inline{font-family:var(--f-emoji)}.explain{gap:8px;width:100%;margin:0;padding:0;font-size:.92rem;list-style:none;display:grid}.explain li{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.save-prompt{background:var(--coin-soft);gap:10px;width:100%;padding:18px;display:grid}.save-prompt h2{font-size:1.35rem}.row2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.jars{gap:10px;display:grid}.jar{align-items:center;gap:12px;padding:10px 12px;display:flex}.jar-glass{border:var(--stroke);background:var(--bg);border-radius:10px 10px 16px 16px;flex:0 0 56px;height:70px;position:relative;overflow:hidden}.jar-glass i{background:var(--coin);transition:height .25s;position:absolute;bottom:0;left:0;right:0}.jar-glass .emo{place-items:center;font-size:1.6rem;display:grid;position:absolute;inset:0}.jar-info{flex:1;gap:2px;min-width:0;display:grid}.jar-info small{font-size:.8rem}.jar-ctl{align-items:center;gap:8px;margin-top:4px;display:flex}.jar-ctl button{border:var(--stroke);background:var(--surface);width:40px;height:40px;font:800 1.3rem var(--f-display);cursor:pointer;box-shadow:2px 2px 0 var(--ink);border-radius:10px}.jar-ctl button:disabled{opacity:.35;box-shadow:none;cursor:default}.jar-ctl span{text-align:center;font-variant-numeric:tabular-nums;flex:1;font-weight:700;display:grid}.jar-ctl em{color:var(--muted);font-size:.8rem;font-style:normal;font-weight:500}.left-money{text-align:center;font-weight:500}.left-money.zero{color:var(--shell);font-weight:700}.goal-item{align-items:center;gap:12px;display:flex}.goal-item .emo{font-size:2.6rem}.goal-item div{display:grid}.goal-item span:not(.emo){color:var(--muted);font-variant-numeric:tabular-nums}.goal-out{font-size:1.1rem}.goal-out b{font:800 2rem var(--f-display);font-variant-numeric:tabular-nums}.weeks-row{flex-wrap:wrap;gap:3px;display:flex}.weeks-row i{background:var(--violet-soft);border:1px solid var(--violet);border-radius:3px;width:12px;height:12px}.race .sl-head{justify-content:center}.racer{gap:4px;display:grid}.racer-top{align-items:center;gap:8px;display:flex}.racer-top div{display:grid}.racer-top small{font-size:.78rem}.race-bar{background:var(--line);border-radius:99px;height:16px;overflow:hidden}.race-bar i{height:100%;transition:width .2s;display:block}.race-bar i.kep{background:var(--shell)}.race-bar i.tho{background:var(--fox)}.race-num{font-variant-numeric:tabular-nums;font-size:.88rem}.replay-note{background:var(--violet-soft);border-radius:12px;margin-top:-6px;padding:8px 12px;font-size:.85rem}.pr-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pr-grid div{background:var(--bg);border-radius:10px;padding:8px 10px;display:grid}.pr-grid span{color:var(--muted);font-size:.78rem}.pr-grid b{font:800 1.1rem var(--f-display);font-variant-numeric:tabular-nums}.pr-grid .pos{background:var(--shell-soft)}.pr-grid .neg{background:var(--fox-soft)}.pr-bars{align-items:end;gap:4px;height:70px;display:flex}.pr-bars i{background:var(--line);border-radius:4px 4px 0 0;flex:1;transition:height .2s}.pr-bars i.on{background:var(--violet)}.small{font-size:.85rem}.days{grid-column:1/-1;gap:4px;display:flex}.days i{background:var(--line);border-radius:99px;flex:1;height:8px}.days i.past{background:var(--shell)}.days i.now{background:var(--coin)}.pick-label{font-size:.95rem;font-weight:600}.pick-row{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:8px;display:grid}.pick-btn{border:var(--stroke);background:var(--surface);font:700 1rem var(--f-display);cursor:pointer;box-shadow:2px 2px 0 var(--ink);font-variant-numeric:tabular-nums;border-radius:12px;padding:10px 6px}.pick-btn.on{background:var(--coin)}.pick-btn:disabled{opacity:.35;box-shadow:none;cursor:default}.day-res{gap:8px;padding:12px;display:grid}.log .pos{color:var(--shell)}.log .neg{color:var(--fox)}.phone-frame{border:3px solid var(--ink);background:var(--surface);box-shadow:var(--pop);border-radius:26px;overflow:hidden}.ph-top{background:var(--ink);color:#fff;justify-content:space-between;padding:8px 14px;font-size:.82rem;font-weight:600;display:flex}.ph-chat{background:var(--bg);align-content:start;gap:10px;min-height:170px;padding:14px;display:grid}.ph-from{align-items:center;gap:10px;display:flex}.ph-from div{display:grid}.ph-from small{color:var(--muted);font-size:.78rem}.ph-msg{background:var(--surface);border:2px solid var(--line);border-radius:4px 16px 16px;gap:6px;padding:10px 12px;font-size:.98rem;display:grid}.ph-msg.flagged{border-color:var(--fox);background:var(--fox-soft)}.ph-link{color:#2b6cd1;overflow-wrap:anywhere;font-size:.9rem;text-decoration:underline}.ph-actions{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.ph-actions .btn{min-height:56px;padding:10px 4px;font-size:.9rem}.flags{gap:2px;margin:6px 0 0;padding:0;font-size:.88rem;list-style:none;display:grid}.milestones{gap:4px;margin:0;padding:0;font-size:.9rem;list-style:none;display:grid}.milestones li.over{color:var(--fox);font-weight:700}.who-tag{font:700 .8rem var(--f-display);background:var(--ink);color:#fff;border-radius:999px;margin-top:-8px;padding:3px 10px}.quote{border-left:6px solid var(--fox);background:var(--fox-soft);margin:0;padding:14px 16px;font-size:1.02rem;position:relative}.quote.long{background:var(--surface);border-left-color:var(--coin);font-size:.95rem}.wc{text-align:right;color:var(--muted);margin-top:6px;font-size:.78rem;display:block}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.feed{padding:0;overflow:hidden}.post{border-bottom:2px solid var(--line);gap:8px;padding:14px;display:grid}.post-head{align-items:center;gap:10px;display:flex}.post-head div{display:grid}.post-head small{color:var(--muted);font-size:.78rem}.ph-ava{background:var(--violet-soft);border:2px solid var(--ink);width:40px;height:40px;font:800 1rem var(--f-display);font-family:var(--f-display), var(--f-emoji);border-radius:50%;flex:none;place-items:center;display:grid}.ph-ava.sm{width:32px;height:32px;font-size:.85rem}.cmts{background:var(--bg);gap:8px;max-height:260px;margin:0;padding:10px 12px;list-style:none;display:grid;overflow-y:auto}.cmt{opacity:.55;align-items:flex-start;gap:8px;display:flex}.cmt.now{opacity:1}.cmt div{background:var(--surface);border:2px solid var(--line);border-radius:4px 14px 14px;min-width:0;padding:6px 10px;font-size:.95rem}.cmt.now div{border-color:var(--ink)}.cmt.flagged div{border-color:var(--fox);background:var(--fox-soft)}.cmt.clean div{border-color:var(--shell);background:var(--shell-soft)}.cmt b{font-size:.82rem}.feed-picks{grid-template-columns:1fr 1fr;gap:8px;display:grid}.feed-picks .pick-btn{text-align:left;gap:2px;padding:10px 12px;font-size:.92rem;display:grid}.feed-picks small{font:500 .75rem var(--f-body);color:var(--muted)}.feed-picks .okpick{background:var(--shell-soft)}.vcard{text-align:center;background:color-mix(in srgb, var(--vc) 18%, var(--surface));justify-items:center;gap:6px;padding:18px;animation:.5s flip;display:grid}@keyframes flip{0%{transform:rotateY(90deg)scale(.8)}}.vcard-tag{font:700 .72rem var(--f-display);letter-spacing:.08em;text-transform:uppercase;background:var(--ink);color:#fff;border-radius:999px;padding:3px 10px}.vcard h2{font-size:1.6rem}.vcard-line{color:var(--muted);font-style:italic}.vcard-counter{background:var(--surface);border:2px solid var(--ink);text-align:left;border-radius:12px;gap:4px;width:100%;padding:10px 12px;display:grid}.chatbox{background:var(--bg);gap:10px;padding:12px;display:grid}.msg{align-items:flex-end;gap:8px;display:flex}.msg p{background:var(--surface);border:2px solid var(--ink);border-radius:14px 14px 14px 4px;padding:8px 12px;font-size:.97rem}.msg.me{justify-content:flex-end}.msg.me p{background:var(--violet);color:#fff;border-radius:14px 14px 4px;max-width:85%}.duel-goal{font-size:.95rem;font-weight:600}.write{border:var(--stroke);background:var(--surface);resize:vertical;border-radius:14px;width:100%;padding:12px 14px;font-size:1rem;line-height:1.5}.write:focus{outline:3px solid var(--coin)}.counter.goodc{color:var(--shell);text-align:center;margin-top:-8px;font-size:.85rem;font-weight:700}.err{background:var(--fox-soft);border-radius:12px;padding:8px 12px;font-size:.9rem}.linkbtn{color:var(--violet);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.score{background:var(--coin-soft);gap:8px;padding:14px;display:grid}.score-top{justify-content:space-between;align-items:baseline;font-weight:600;display:flex}.score-top b{font:800 1.5rem var(--f-display)}.rubric{gap:2px;margin:0;padding:0;font-size:.92rem;list-style:none;display:grid}.rubric .ok{color:var(--shell);font-weight:600}.rubric .no{color:var(--fox)}.levels{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.levels i{background:var(--line);border-radius:99px;height:10px}.levels i.on{background:var(--violet)}.help-card{background:var(--violet-soft);gap:10px;padding:18px;display:grid}.help-card ul{gap:6px;margin:0;padding-left:18px;display:grid}.knock{transform-origin:50% 90%;animation:.7s cubic-bezier(.3,1.6,.5,1) both knock;display:inline-block}@keyframes knock{0%{transform:rotate(0)scale(1.15)}40%{transform:rotate(-14deg)}70%{transform:rotate(8deg)}to{transform:rotate(-4deg)}}.talk>svg:first-child{animation:.45s cubic-bezier(.3,1.5,.5,1) both pop-in}.talk .bubble{animation:.35s ease-out .1s both rise}.opts .opt{animation:.3s ease-out both rise}.opts .opt:nth-child(2){animation-delay:50ms}.opts .opt:nth-child(3){animation-delay:.1s}.opts .opt:nth-child(4){animation-delay:.15s}.opt.is-right{animation:.35s right-pop}@keyframes right-pop{50%{transform:scale(1.03)}}.finish h1{animation:.5s cubic-bezier(.3,1.6,.5,1) both pop-in}.reward{animation:.4s ease-out both rise}.reward:nth-child(2){animation-delay:.1s}.reward:nth-child(3){animation-delay:.2s}
