.rb[data-v-7ccc66ea]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:calc(16px + env(safe-area-inset-top)) 20px calc(16px + env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 40%,#462000e6,#0a0516f5 70%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;color:#fff}.rb-fade-enter-active[data-v-7ccc66ea],.rb-fade-leave-active[data-v-7ccc66ea]{transition:opacity .28s ease}.rb-fade-enter-from[data-v-7ccc66ea],.rb-fade-leave-to[data-v-7ccc66ea]{opacity:0}.rb-stage[data-v-7ccc66ea]{position:relative;width:100%;max-width:360px;display:flex;flex-direction:column;align-items:center;text-align:center}.rb-hero[data-v-7ccc66ea]{position:relative;width:min(150px,22vh);height:min(150px,22vh);display:flex;align-items:center;justify-content:center}.rb-up .rb-hero[data-v-7ccc66ea]{width:min(170px,22vh);height:min(170px,22vh)}.rb-rays[data-v-7ccc66ea]{position:absolute;left:50%;top:50%;width:640px;height:640px;margin:-320px 0 0 -320px;border-radius:50%;background:repeating-conic-gradient(from 0deg,#ffd65a8c,#ffd65a8c 9deg,#ffd65a00 9deg,#ffd65a00 24deg);-webkit-mask-image:radial-gradient(circle,#000 12%,rgba(0,0,0,.6) 35%,transparent 68%);mask-image:radial-gradient(circle,#000 12%,rgba(0,0,0,.6) 35%,transparent 68%);animation:rb-rays-in-7ccc66ea .5s ease-out both,rb-spin-7ccc66ea 9s linear infinite;pointer-events:none}.rb-rays-2[data-v-7ccc66ea]{background:repeating-conic-gradient(from 12deg,#ffaa2859,#ffaa2859 5deg,#ffaa2800 5deg,#ffaa2800 30deg);animation:rb-rays-in-7ccc66ea .5s ease-out both,rb-spin-7ccc66ea 14s linear infinite reverse}.rb-glow[data-v-7ccc66ea]{position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;border-radius:50%;background:radial-gradient(circle,#ffec96f2,#ffbe3c8c 30%,#ff961e00 65%);animation:rb-pulse-7ccc66ea 1.6s ease-in-out infinite;pointer-events:none}.rb-ring[data-v-7ccc66ea]{position:absolute;left:50%;top:50%;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;border:4px solid rgba(255,230,140,.9);opacity:0;animation:rb-shock-7ccc66ea .9s ease-out .15s both;pointer-events:none}.rb-ring-2[data-v-7ccc66ea]{animation-delay:.4s;border-color:#ffa03ccc}.rb-up .rb-ring-2[data-v-7ccc66ea]{animation-delay:.9s}.rb-coin[data-v-7ccc66ea]{position:relative;width:72%;height:72%;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 30%,#fffbe0,#ffe066 22%,#ffc21a 52%,#e08a00 85%,#b86200);box-shadow:inset 0 -6px #96460073,inset 0 5px #fff9,0 0 0 5px #ffd23f,0 0 0 8px #c46d00,0 0 36px 10px #ffc83cd9;overflow:hidden;animation:rb-coin-in-7ccc66ea .75s cubic-bezier(.2,1.6,.4,1) both,rb-bob-7ccc66ea 1.8s ease-in-out .8s infinite}.rb-coin span[data-v-7ccc66ea]{font-size:58px;line-height:1;color:#fff7cc;text-shadow:0 3px 0 #b85c00,0 0 12px rgba(255,255,255,.8)}.rb-coin[data-v-7ccc66ea]:after{content:"";position:absolute;top:-20%;left:-60%;width:40%;height:140%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent);transform:rotate(20deg);animation:rb-shine-7ccc66ea 2.2s ease-in-out .7s infinite}.rb-sunflower[data-v-7ccc66ea]{position:relative;font-size:min(120px,16vh);line-height:1;filter:drop-shadow(0 0 18px rgba(255,210,60,.95)) drop-shadow(0 6px 0 rgba(120,60,0,.5));animation:rb-flower-in-7ccc66ea 1s cubic-bezier(.2,1.5,.4,1) .1s both,rb-sway-7ccc66ea 2.4s ease-in-out 1.2s infinite}.rb-particles[data-v-7ccc66ea]{position:absolute;left:50%;top:50%;width:0;height:0}.rb-p[data-v-7ccc66ea]{position:absolute;left:0;top:0;opacity:0;animation:rb-fly-7ccc66ea var(--dur) cubic-bezier(.15,.7,.35,1) var(--delay) both}.rb-p-star[data-v-7ccc66ea]{font-size:var(--size);line-height:1;color:var(--c);text-shadow:0 0 8px var(--c);margin:calc(var(--size) / -2) 0 0 calc(var(--size) / -2)}.rb-p-paper[data-v-7ccc66ea]{width:var(--size);height:calc(var(--size) * .45);background:var(--c);border-radius:2px}.rb-p-dot[data-v-7ccc66ea]{width:calc(var(--size) * .7);height:calc(var(--size) * .7);border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c)}.rb-rain[data-v-7ccc66ea]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.rb-rain i[data-v-7ccc66ea]{position:absolute;top:-20px;left:var(--x);width:9px;height:14px;background:var(--c);border-radius:2px;opacity:0;animation:rb-fall-7ccc66ea var(--dur) linear var(--delay) both}.rb-banner[data-v-7ccc66ea]{position:relative;margin-top:6px;animation:rb-slam-7ccc66ea .6s cubic-bezier(.2,1.4,.4,1) .35s both}.rb-banner-en[data-v-7ccc66ea]{font-size:44px;font-weight:900;font-style:italic;letter-spacing:1px;line-height:1.05;background:linear-gradient(180deg,#fffbe0,#ffe066 40%,#ffae1a,#ff7a00);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 #a14a00) drop-shadow(0 0 14px rgba(255,190,40,.9))}.rb-banner-zh[data-v-7ccc66ea]{font-size:22px;font-weight:800;letter-spacing:6px;color:#fff3c4;text-shadow:0 2px 0 #b35a00,0 0 10px rgba(255,180,40,.8)}.rb-number[data-v-7ccc66ea]{position:relative;display:flex;align-items:baseline;justify-content:center;gap:8px;margin-top:4px}.rb-delta[data-v-7ccc66ea]{font-size:min(84px,12vh);font-weight:900;line-height:1;font-variant-numeric:tabular-nums;background:linear-gradient(180deg,#fff,#fff2a8 30%,#ffd23f 55%,#ff9a1f);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 0 #a94f00) drop-shadow(0 0 18px rgba(255,200,60,.9));animation:rb-pop-7ccc66ea .7s cubic-bezier(.2,1.8,.4,1) .2s both}.rb-up .rb-delta[data-v-7ccc66ea]{font-size:min(96px,12vh);animation-delay:.65s}.rb-label[data-v-7ccc66ea]{font-size:26px;font-weight:800;color:#ffe58a;text-shadow:0 2px 0 #9b4a00;animation:rb-rise-7ccc66ea .4s ease-out .55s both}.rb-up .rb-label[data-v-7ccc66ea]{animation-delay:1s}.rb-stamp[data-v-7ccc66ea]{margin-top:10px;padding:6px 16px;border:3px solid #ffd23f;border-radius:12px;font-size:20px;font-weight:900;color:#fff6cf;background:linear-gradient(180deg,#ff780073,#b43c008c);box-shadow:0 0 0 3px #78320099,0 0 22px #ffbe28cc;text-shadow:0 2px 0 #8a3c00;transform:rotate(-6deg);animation:rb-stamp-7ccc66ea .5s cubic-bezier(.3,1.6,.5,1) 1.15s both}.rb-combo[data-v-7ccc66ea]{margin-top:10px;padding:4px 14px;border-radius:999px;font-size:16px;font-weight:800;color:#fff;background:linear-gradient(90deg,#ff3d3d,#ff9a1f);box-shadow:0 0 14px #ff5a28cc;animation:rb-combo-7ccc66ea .45s cubic-bezier(.2,1.8,.4,1) .9s both}.rb-up .rb-combo[data-v-7ccc66ea]{animation-delay:1.5s}.rb-progress[data-v-7ccc66ea]{width:100%;margin-top:16px;padding:10px 14px 8px;border-radius:14px;background:#ffffff14;border:1px solid rgba(255,220,120,.35);animation:rb-rise-7ccc66ea .45s ease-out .6s both}.rb-up .rb-progress[data-v-7ccc66ea]{animation-delay:1.3s}.rb-progress-head[data-v-7ccc66ea]{display:flex;justify-content:space-between;font-size:13px;font-weight:700;color:#ffe9a8}.rb-track[data-v-7ccc66ea]{position:relative;height:12px;margin-top:6px;border-radius:999px;background:#00000073;box-shadow:inset 0 1px 3px #0009;overflow:hidden}.rb-fill[data-v-7ccc66ea]{position:relative;height:100%;border-radius:999px;background:linear-gradient(90deg,#ffb31a,#ffe066 60%,#fff6c2);box-shadow:0 0 10px #ffd23ce6;transition:width 1.2s cubic-bezier(.25,.9,.3,1);overflow:hidden}.rb-fill[data-v-7ccc66ea]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent);width:40%;animation:rb-bar-shine-7ccc66ea 1.4s ease-in-out .8s infinite}.rb-next[data-v-7ccc66ea]{margin:6px 0 0;font-size:13px;color:#fff;opacity:.9}.rb-btn[data-v-7ccc66ea]{margin-top:18px;min-width:160px;padding:12px 28px;border:none;border-radius:999px;font-size:18px;font-weight:900;letter-spacing:4px;color:#7a3300;background:linear-gradient(180deg,#fff3a8,#ffd23f 45%,#ff9a1f);box-shadow:0 4px #a14a00,0 0 18px #ffc83cb3;animation:rb-rise-7ccc66ea .4s ease-out .9s both,rb-breathe-7ccc66ea 1.2s ease-in-out 1.4s infinite;cursor:pointer}.rb-up .rb-btn[data-v-7ccc66ea]{animation-delay:1.7s,2.2s}.rb-btn[data-v-7ccc66ea]:active{translate:0 3px;box-shadow:0 1px #a14a00,0 0 18px #ffc83cb3}.rb-flash[data-v-7ccc66ea]{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 35%,#fff,rgba(255,240,180,.6) 40%,transparent 80%);opacity:0;animation:rb-flash-7ccc66ea .7s ease-out both;pointer-events:none}.rb-up .rb-stage[data-v-7ccc66ea]{animation:rb-shake-7ccc66ea .35s ease-in-out 1.2s both}@keyframes rb-spin-7ccc66ea{to{transform:rotate(360deg)}}@keyframes rb-rays-in-7ccc66ea{0%{opacity:0;scale:.3}to{opacity:1;scale:1}}@keyframes rb-pulse-7ccc66ea{0%,to{opacity:.75;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}@keyframes rb-shock-7ccc66ea{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(3.2)}}@keyframes rb-coin-in-7ccc66ea{0%{opacity:0;transform:scale(0) rotateY(0)}60%{opacity:1;transform:scale(1.25) rotateY(540deg)}to{transform:scale(1) rotateY(720deg)}}@keyframes rb-bob-7ccc66ea{0%,to{translate:0 0}50%{translate:0 -6px}}@keyframes rb-shine-7ccc66ea{0%{left:-60%}45%,to{left:130%}}@keyframes rb-flower-in-7ccc66ea{0%{opacity:0;transform:scale(0) rotate(-180deg)}65%{opacity:1;transform:scale(1.3) rotate(15deg)}to{transform:scale(1) rotate(0)}}@keyframes rb-sway-7ccc66ea{0%,to{rotate:-6deg}50%{rotate:6deg}}@keyframes rb-fly-7ccc66ea{0%{opacity:1;transform:translate(0) scale(.2) rotate(0)}70%{opacity:1;transform:translate(var(--dx),var(--dy)) scale(1) rotate(var(--rot))}to{opacity:0;transform:translate(var(--dx),calc(var(--dy) + 60px)) scale(.8) rotate(var(--rot))}}@keyframes rb-fall-7ccc66ea{0%{opacity:1;transform:translate(0) rotate(0)}50%{transform:translate(var(--sway),50vh) rotate(calc(var(--rot) / 2))}90%{opacity:1}to{opacity:0;transform:translateY(105vh) rotate(var(--rot))}}@keyframes rb-pop-7ccc66ea{0%{opacity:0;transform:scale(.2)}55%{opacity:1;transform:scale(1.35)}75%{transform:scale(.92)}to{transform:scale(1)}}@keyframes rb-rise-7ccc66ea{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes rb-slam-7ccc66ea{0%{opacity:0;transform:scale(3)}60%{opacity:1;transform:scale(.9)}to{transform:scale(1)}}@keyframes rb-stamp-7ccc66ea{0%{opacity:0;transform:scale(2.6) rotate(-18deg)}70%{opacity:1;transform:scale(.92) rotate(-5deg)}to{opacity:1;transform:scale(1) rotate(-6deg)}}@keyframes rb-combo-7ccc66ea{0%{opacity:0;transform:scale(0) rotate(10deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes rb-bar-shine-7ccc66ea{0%{transform:translate(-120%)}to{transform:translate(320%)}}@keyframes rb-breathe-7ccc66ea{0%,to{scale:1}50%{scale:1.06}}@keyframes rb-flash-7ccc66ea{0%{opacity:0}20%{opacity:.85}to{opacity:0}}@keyframes rb-shake-7ccc66ea{0%,to{transform:translate(0)}20%{transform:translate(-6px,3px)}40%{transform:translate(5px,-4px)}60%{transform:translate(-4px,2px)}80%{transform:translate(3px,-1px)}}@media(prefers-reduced-motion:reduce){.rb[data-v-7ccc66ea] *,.rb[data-v-7ccc66ea] *:before,.rb[data-v-7ccc66ea] *:after{animation:none!important;transition:none!important}.rb-particles[data-v-7ccc66ea],.rb-rain[data-v-7ccc66ea],.rb-ring[data-v-7ccc66ea],.rb-flash[data-v-7ccc66ea]{display:none}}:root{--paper: #fffaf0;--paper-line: #f1e4c8;--bg: #f6efe2;--ink: #3b3530;--muted: #8a8076;--blue: #2f6fd6;--blue-soft: #e3edff;--green: #3aa76d;--green-soft: #e4f6ec;--orange: #f08a24;--orange-soft: #fff0de;--red: #d64545;--radius: 18px;--shadow: 0 3px 0 rgba(120, 95, 60, .12), 0 8px 20px rgba(120, 95, 60, .08);font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 12% 8%,rgba(255,214,140,.35),transparent 40%),radial-gradient(circle at 90% 30%,rgba(170,205,255,.3),transparent 45%),var(--bg)}button,input,select,textarea{font:inherit;color:inherit}.app{max-width:480px;margin:0 auto;min-height:100vh;padding:0 14px calc(88px + env(safe-area-inset-bottom))}.app-header{padding:22px 4px 8px;text-align:center}.title{margin:0;color:var(--blue);font-family:Kaiti SC,STKaiti,KaiTi,Comic Sans MS,cursive,sans-serif;font-size:28px;font-weight:800;letter-spacing:2px;transform:rotate(-1.5deg);text-shadow:2px 2px 0 #fff,3px 3px 0 rgba(47,111,214,.15)}.title .dot{color:var(--orange)}.hello{margin:8px 0 0;color:var(--muted);font-size:14px}.content{padding-top:8px}.stack{display:flex;flex-direction:column;gap:14px}.card{background:#fff;border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);border:1.5px solid #efe3cf}.paper{background:repeating-linear-gradient(0deg,transparent 0 27px,var(--paper-line) 27px 28px),var(--paper);border:2px dashed #e6d3ad}.section-title{margin:4px 2px 10px;font-size:18px;font-weight:700}.stack>.section-title{margin-bottom:-4px}.muted{color:var(--muted)}.small{font-size:13px}.loading,.empty{text-align:center;color:var(--muted);padding:12px 0;margin:0}.row-between{display:flex;justify-content:space-between;align-items:center;gap:8px}.form{display:flex;flex-direction:column;gap:12px}.form label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}.form input,.form textarea{width:100%;padding:11px 12px;font-size:16px;font-weight:400;border:1.5px solid #e5d9c5;border-radius:12px;background:#fffdf8;outline:none;transition:border-color .15s}.form textarea{resize:vertical;min-height:64px;line-height:1.5}.form input:focus,.form textarea:focus{border-color:var(--blue);background:#fff}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.primary{padding:13px;font-size:17px;font-weight:700;color:#fff;background:var(--blue);border:none;border-radius:999px;box-shadow:0 4px #1f4f9f;cursor:pointer;transition:transform .08s,box-shadow .08s}.primary:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #1f4f9f}.primary:disabled,button:disabled{opacity:.6;cursor:default}.ghost{padding:8px 14px;background:transparent;border:1.5px solid #dccdb4;border-radius:999px;color:var(--muted);cursor:pointer}.ghost.small{padding:4px 12px;font-size:13px}.logout{align-self:center;margin-top:4px}.error{margin:0;padding:8px 12px;color:var(--red);background:#fdecec;border-radius:10px;font-size:14px}.hint{background:var(--orange-soft);border-color:#f5d3a8;font-size:14px}.hint a{color:var(--blue);font-weight:700}.done-tip{margin:-4px 0 10px;font-size:14px;color:var(--green)}.login{margin-top:10px}.login-stickers{display:flex;justify-content:center;gap:10px;margin:2px 0 14px}.sticker-mini{display:inline-grid;place-items:center;width:48px;height:48px;font-size:28px;background:#fff;border-radius:50%;border:3px solid #fff;box-shadow:0 2px 6px #00000026}.seg{display:grid;grid-template-columns:1fr 1fr;margin-bottom:14px;padding:4px;background:#f1e7d6;border-radius:999px}.seg button{padding:9px;border:none;border-radius:999px;background:transparent;font-weight:700;color:var(--muted);cursor:pointer}.seg button.active{background:#fff;color:var(--blue);box-shadow:0 1px 4px #0000001a}.wall-title{margin:0 0 6px;text-align:center;color:var(--blue);font-family:Kaiti SC,STKaiti,KaiTi,cursive,sans-serif;font-size:22px;font-weight:800;transform:rotate(-1deg)}.wall-stats{display:flex;justify-content:center;gap:14px;font-size:14px;color:var(--muted);margin-bottom:12px}.sticker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:10px;justify-items:center;min-height:60px}.sticker-grid .empty{grid-column:1 / -1}.sticker{display:grid;place-items:center;width:52px;height:52px;font-size:30px;line-height:1;background:radial-gradient(circle at 35% 30%,#fff,#fff6e0);border:3px solid #fff;border-radius:50%;box-shadow:0 2px #0000000f,0 3px 8px #785f3c40;animation:pop .35s ease-out}@keyframes pop{0%{scale:.4;opacity:0}to{scale:1;opacity:1}}.badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.badge{padding:3px 10px;font-size:13px;font-weight:600;color:#9a5a00;background:#fff3c4;border:1.5px solid #f5d76e;border-radius:999px}.wall-toolbar{display:flex;flex-direction:column;gap:10px;padding:12px}.wall-search,.wall-sort{padding:9px 12px;font-size:16px;border:1.5px solid #e5d9c5;border-radius:12px;background:#fffdf8;outline:none}.wall-search{width:100%}.wall-search:focus,.wall-sort:focus{border-color:var(--blue);background:#fff}.wall-filters{display:flex;align-items:center;gap:8px}.wall-filters .seg{flex:1;margin:0}.seg.seg-3{grid-template-columns:repeat(3,1fr)}.seg.seg-3 button{padding:6px 2px;font-size:13px;white-space:nowrap}.wall-sort{flex-shrink:0;font-size:14px;padding:7px 8px}.wall-summary{margin:0;font-size:14px;color:var(--muted);text-align:center}.wall-summary b{color:var(--green)}.member-list{list-style:none;margin:0;padding:4px 0;overflow:hidden}.member{position:relative;border-bottom:1px dashed #eadfcb}.member:last-child{border-bottom:none}.member.mine{background:var(--blue-soft);border-bottom:1.5px solid #b9d0f7}.member-row{display:flex;align-items:center;gap:6px;min-height:56px;padding:6px 10px 6px 6px}.member-main{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:4px;text-align:left;background:none;border:none;border-radius:12px;cursor:pointer}.member-main:active{background:#785f3c0f}.member-avatar{flex-shrink:0;display:grid;place-items:center;width:38px;height:38px;font-size:22px;line-height:1;background:radial-gradient(circle at 35% 30%,#fff,#fff6e0);border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px #785f3c40}.member-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.member-line{display:flex;align-items:center;gap:6px;min-width:0}.member-sub{display:flex;gap:4px;min-width:0;font-size:12px;color:var(--muted);white-space:nowrap}.member-sub-ex{overflow:hidden;text-overflow:ellipsis}.member-progress{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:1px;font-size:14px}.member-progress .percent{font-size:12px}.member-detail{padding:0 14px 12px 58px}.member-detail .exercise:first-child,.member-detail .muted:first-child{margin-top:0}.detail-meta{margin:8px 0 0}.member-detail .recent-stickers{margin-top:4px}.member-detail .badges{margin-top:8px}.my-cheers{flex-shrink:0;font-size:12px;color:var(--blue);font-weight:600;white-space:nowrap}.member-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700}.me-tag{font-size:13px;color:var(--blue);font-weight:600}.status{flex-shrink:0;padding:2px 10px;font-size:12px;font-weight:700;border-radius:999px}.status.yes{color:var(--green);background:var(--green-soft)}.status.no{color:var(--muted);background:#f1ece4}.exercise,.diet,.note{margin:8px 0 0;font-size:14px}.note{color:var(--muted)}.change{font-weight:700}.change.good{color:var(--green)}.percent{font-weight:700;color:var(--blue)}.bar{height:8px;margin-top:8px;background:#eee5d6;border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,#6fb6ff,var(--blue));border-radius:999px;transition:width .4s}.recent-stickers{display:flex;flex-wrap:wrap;gap:2px;margin-top:10px;font-size:20px}.cheer{flex-shrink:0;min-width:56px;padding:7px 12px;white-space:nowrap;font-weight:700;color:#fff;background:var(--orange);border:none;border-radius:999px;box-shadow:0 3px #c56a12;cursor:pointer}.cheer.cheered{color:var(--orange);background:var(--orange-soft);box-shadow:none;opacity:1}.progress-summary p{margin:4px 0}.chart{display:block;width:100%;height:auto}.chart .axis{stroke:#d8cbb5;stroke-width:1}.chart .tick{font-size:10px;fill:var(--muted)}.chart .target-line{stroke:var(--green);stroke-width:1.5;stroke-dasharray:5 4}.chart .target-label{fill:var(--green)}.chart .weight-line{fill:none;stroke:#8fb4ec;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.chart .weight-dot{fill:#fff;stroke:#8fb4ec;stroke-width:1.5}.chart .avg-line{fill:none;stroke:var(--orange);stroke-width:3.5;stroke-linejoin:round;stroke-linecap:round}.chart-legend{display:flex;gap:14px;justify-content:flex-end;margin-bottom:4px;font-size:12px;color:var(--muted)}.legend-item{display:inline-flex;align-items:center;gap:5px}.legend-swatch{display:inline-block;width:16px;border-radius:999px}.legend-swatch.daily{height:2px;background:#8fb4ec}.legend-swatch.avg{height:4px;background:var(--orange)}.lesson-card{background:var(--blue-soft);border-color:#c9dbfb;font-size:14px}.lesson-title{margin:0 0 6px;font-size:15px}.lesson-points{margin:0 0 6px;padding-left:18px}.lesson-points li{margin:2px 0}.lesson-action{margin:0;font-weight:700;color:var(--blue)}.week-minutes{padding:0 4px}.week-minutes p{margin:0;color:var(--muted)}.week-minutes b{color:var(--ink)}.bar.thin{height:5px;margin-top:4px}.plateau-tip{line-height:1.6}.milestone-tip{margin:6px 0 0;font-size:14px;color:var(--muted)}.history{list-style:none;margin:0;padding:0}.history-item{padding:10px 0;border-bottom:1px dashed #e8dcc7}.history-item:last-child{border-bottom:none}.history-day{font-weight:700}.history-weight{color:var(--blue);font-weight:700}.tabbar{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:100%;max-width:480px;display:grid;grid-template-columns:repeat(3,1fr);padding:6px 10px calc(6px + env(safe-area-inset-bottom));background:#fffaf0f5;border-top:1.5px solid #eadcc4;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10}.tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;font-size:13px;font-weight:700;color:var(--muted);background:none;border:none;border-radius:12px;cursor:pointer}.tab:before{content:attr(data-icon);font-size:22px;line-height:1;filter:grayscale(.7);opacity:.7}.tab.active{color:var(--blue);background:var(--blue-soft)}.tab.active:before{filter:none;opacity:1}.toast{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom));transform:translate(-50%);max-width:90vw;padding:10px 18px;font-weight:700;color:#fff;background:#2f6fd6f2;border-radius:999px;box-shadow:0 6px 18px #0000002e;z-index:20;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toast-enter-active,.toast-leave-active{transition:opacity .25s,transform .25s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%,10px)}.bind-code b[data-testid=bind-code]{font-size:1.4em;letter-spacing:.15em;color:#2f6fd6}.sticker.gold{background:radial-gradient(circle at 35% 30%,#fff6c8,#f7c948 70%,#e0a800);box-shadow:0 0 0 3px #f3d36b,0 4px 10px #e0a80059}.private-first{text-align:left;margin-bottom:12px}.private-first .hl{color:#d4380d}.btn-small{display:inline-block;padding:6px 14px;border-radius:999px;font-size:14px;text-decoration:none;margin:6px 0}.btn-small.primary{background:#2f6fd6;color:#fff}.or-line{text-align:center;margin:4px 0 10px}.level-bar{display:flex;flex-direction:column;gap:6px}.level-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.level-name{font-weight:700;font-size:1.05rem}.level-total{color:var(--orange);font-weight:700;white-space:nowrap}.level-bar .level-next,.level-bar .level-week{margin:0}.points-recent{list-style:none;margin:0;padding:0}.points-recent-item{display:flex;gap:10px;align-items:baseline;padding:6px 0;border-bottom:1px dashed var(--paper-line)}.points-recent-item:last-child{border-bottom:none}.points-recent-day{color:var(--muted);white-space:nowrap}.points-recent-pts{color:var(--orange);white-space:nowrap}.points-recent-items{flex:1;min-width:0;font-size:.9rem;overflow-wrap:anywhere}.lv-chip{display:inline-block;margin-left:4px;padding:0 6px;font-size:.7rem;font-weight:700;line-height:1.5;color:var(--orange);background:var(--orange-soft);border-radius:999px;vertical-align:middle}
