.ca-coin{vertical-align:middle;filter:drop-shadow(0 3px 2px #80500d30);border-radius:50%;flex:none;display:inline-block;position:relative}.ca-coin svg{width:100%;height:100%;display:block}.ca-coin.spin{animation:ca-sway 5.6s ease-in-out var(--delay,0s) infinite}.ca-coin-glyph,.ca-coin-relief{letter-spacing:-.06em;font-family:inherit;font-weight:900}.ca-coin-relief{fill:#fff1ba;stroke:#fff1ba;stroke-width:1px}.ca-coin-glyph{fill:#995a0c;stroke:#a96b12;stroke-width:.5px;paint-order:stroke}.ca-coin-num{fill:#8f570d;letter-spacing:.8px;font-family:inherit;font-weight:800}.ca-coin.cheon .ca-coin-glyph,.ca-coin.cheon .ca-coin-num{fill:#82602c}.ca-coin-shine{pointer-events:none;border-radius:50%;position:absolute;top:3%;bottom:8%;left:4%;right:4%;overflow:hidden}.ca-coin-shine:after{content:"";background:linear-gradient(90deg,#0000,#fffbe8a0,#0000);width:38%;position:absolute;top:-30%;bottom:-30%;left:-80%;right:auto;transform:skew(-24deg)}@keyframes ca-sway{0%,to{transform:perspective(360px)rotateY(-16deg)rotate(-5deg)}50%{transform:perspective(360px)rotateY(22deg)rotate(5deg)translateY(-3px)}}@keyframes ca-shine{0%,48%{translate:0}75%,to{translate:500%}}.ca-coin-empty{border:1.5px dashed var(--muted);color:var(--muted);background:var(--bg);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.ca-stack{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 10px;max-width:100%;display:inline-flex}.ca-stack-coins{align-items:center;padding-block-start:3px;padding-block-end:3px;display:inline-flex}.ca-stack-coins>.ca-coin+.ca-coin{margin-left:var(--ov)}.ca-stack-more{color:var(--muted);margin-left:7px;font-size:.78em;font-weight:800}.ca-stack-label{color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.035em;white-space:nowrap;font-size:1.05em;font-weight:850}.ca-stamp{aspect-ratio:1;isolation:isolate;border-radius:50%;align-self:start;place-items:center;width:100%;min-width:0;max-width:90px;height:auto;display:grid;position:relative}.ca-stamp.empty{border:1.5px dashed color-mix(in srgb, var(--ink-accent) 26%, transparent);background:color-mix(in srgb, var(--lav) 14%, var(--card));min-height:0;padding:0;box-shadow:inset 0 1px 3px #20153506}.ca-stamp-n{font-variant-numeric:tabular-nums;color:var(--muted);opacity:.7;font-size:.75em;font-weight:650}.ca-stamp-ink{width:100%;height:100%;transform:rotate(var(--tilt));position:absolute;top:0;bottom:0;left:0;right:0;overflow:visible}.ca-stamp-ink .ring{fill:none;stroke:currentColor;stroke-width:3.8px;stroke-linecap:round;stroke-dasharray:93 1.5 37 2 62 1}.ca-stamp-ink .ring2{fill:none;stroke:currentColor;stroke-width:1.3px;opacity:.7}.ca-stamp-ink .mark{fill:none;stroke:currentColor;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.ca-stamp-stars{fill:currentColor}.ca-stamp-clock,.ca-stamp-retry{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.ca-stamp-txt{text-align:center;max-width:78%;transform:rotate(var(--tilt));justify-items:center;padding-top:13%;line-height:1.25;display:grid;position:relative}.ca-stamp-txt b{letter-spacing:-.06em;white-space:nowrap;font-size:10px;font-weight:900}.ca-stamp-txt small{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;max-width:100%;margin-top:2px;font-size:9px;font-weight:750}.ca-stamp.approved{color:color-mix(in srgb, #db3d68 66%, var(--text));background:radial-gradient(circle,#ef6b8c17 0 61%,#0000 63%);animation:.48s cubic-bezier(.2,.8,.3,1) both ca-thunk}.ca-stamp.approved:after{content:"";z-index:1;pointer-events:none;transform:rotate(var(--tilt));background:radial-gradient(ellipse at 28% 53%, var(--card) 0 .6px, transparent 1px), radial-gradient(ellipse at 65% 58%, var(--card) 0 .7px, transparent 1px), radial-gradient(ellipse at 51% 74%, var(--card) 0 .5px, transparent 1px);opacity:.65;background-size:13px 17px,19px 23px,11px 19px;border-radius:50%;position:absolute;top:10%;bottom:10%;left:10%;right:10%}.ca-stamp.pending{color:color-mix(in srgb, #b87513 65%, var(--text));background:#e5af4317}.ca-stamp.pending .ring{stroke-width:2px;stroke-dasharray:4 5}.ca-stamp.pending .ring2{opacity:.3}.ca-stamp.pending .ca-stamp-clock{transform-origin:50px 27px;animation:3s ease-in-out infinite ca-clock}.ca-stamp.rejected{color:var(--muted)}.ca-stamp.rejected .ring{stroke-width:2px;opacity:.6}.ca-stamp-who{z-index:2;border:1px solid color-mix(in srgb, currentColor 18%, transparent);background:var(--card);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:100%;padding:2px 6px;font-size:9px;font-weight:750;line-height:1.2;position:absolute;bottom:-3px;left:50%;overflow:hidden;transform:translate(-50%)}.ca-stamp-splash{pointer-events:none;opacity:0;border:2px dotted;border-radius:50%;animation:.48s ease-out .14s both ca-splash;position:absolute;top:-9%;bottom:-9%;left:-9%;right:-9%}@keyframes ca-thunk{0%{opacity:0;transform:scale(1.5)rotate(-12deg)}55%{opacity:1;transform:scale(.93)rotate(2deg)}78%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes ca-splash{0%{opacity:.5;transform:scale(.8)}to{opacity:0;transform:scale(1.22)}}@keyframes ca-clock{0%,65%,to{transform:rotate(0)}75%{transform:rotate(-12deg)}85%{transform:rotate(12deg)}}.ca-board{border:1px solid color-mix(in srgb, var(--ink-accent) 14%, var(--card));background:radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--muted) 6%, transparent) .65px, transparent .85px) 0 0 / 6px 6px, linear-gradient(145deg, color-mix(in srgb, #edc77d 7%, var(--card)), var(--card) 65%);min-width:0;box-shadow:0 3px 0 color-mix(in srgb, var(--lav) 50%, var(--card)), 0 12px 28px -22px #25144240;border-radius:24px;gap:18px;padding:18px;display:grid;position:relative}.ca-board-head{border-bottom:1px dashed color-mix(in srgb, var(--ink-accent) 22%, transparent);justify-content:space-between;align-items:center;gap:14px;min-width:0;padding-bottom:16px;display:flex}.ca-board:before,.ca-board:after{content:"";border:1px solid color-mix(in srgb, var(--ink-accent) 14%, var(--card));background:var(--bg);border-radius:50%;width:14px;height:14px;position:absolute;top:88px}.ca-board:before{clip-path:inset(0 0 0 50%);left:-8px}.ca-board:after{clip-path:inset(0 50% 0 0);right:-8px}.ca-board-title{min-width:0}.ca-board-prog{flex:none}.ca-board-grid{grid-template-columns:repeat(5,minmax(0,1fr));place-items:start center;gap:16px 10px;padding:2px 0 7px;display:grid}.ca-ring{background:color-mix(in srgb, #eaba44 5%, var(--card));border-radius:50%;flex:none;place-items:center;display:inline-grid;position:relative}.ca-ring svg{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0;transform:rotate(-90deg)}.ca-ring-bg{fill:none;stroke:color-mix(in srgb, #c99526 13%, var(--card));stroke-width:8px}.ca-ring-fg{fill:none;stroke-width:8px;stroke-linecap:round;transition:stroke-dashoffset .6s cubic-bezier(.2,.8,.2,1)}.ca-ring-in{color:var(--text);font-variant-numeric:tabular-nums;font-size:.8em;font-weight:850;position:relative}.backdrop.ca-cele-backdrop{overscroll-behavior:contain;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:radial-gradient(at 50% 35%,#72528c99,#1b1235cc);overflow-y:auto}.ca-confetti{pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.ca-confetti i{border-radius:2px;height:12px;animation:linear both ca-fall;position:absolute;top:-24px}.ca-confetti i:nth-child(3n){border-radius:50%;height:7px}.ca-confetti i:nth-child(4n){border-radius:1px;height:19px}@keyframes ca-fall{0%{transform:translate3d(-12px, -25px, 0) rotate(var(--r));opacity:0}10%,75%{opacity:1}to{transform:translate3d(35px, 105vh, 0) rotate(calc(var(--r) + 400deg));opacity:0}}.ca-cele{isolation:isolate;border:1px solid color-mix(in srgb, #f0c56a 24%, var(--card));text-align:center;background:radial-gradient(ellipse at 50% 0, color-mix(in srgb, #fbd77d 24%, var(--card)), var(--card) 60%);border-radius:32px;justify-items:center;gap:10px;width:min(400px,100%);max-height:calc(100dvh - 40px);padding:24px 26px 26px;animation:.5s cubic-bezier(.18,.9,.25,1.15) both ca-pop;display:grid;position:relative;overflow-y:auto;box-shadow:0 24px 80px #120c304d,inset 0 1px #ffffff20}@keyframes ca-pop{0%{opacity:0;transform:translateY(22px)scale(.92)}to{opacity:1;transform:none}}.ca-cele-rays{z-index:-1;pointer-events:none;background:repeating-conic-gradient(#f8c64f28 0deg 9deg,#0000 9deg 28deg);width:400px;height:400px;animation:36s linear infinite ca-rays;position:absolute;top:-100px;left:calc(50% - 200px);-webkit-mask-image:radial-gradient(circle,#000 12%,#0000 68%);mask-image:radial-gradient(circle,#000 12%,#0000 68%)}@keyframes ca-rays{to{transform:rotate(360deg)}}.ca-cele-emblem{place-items:center;width:190px;height:170px;margin-top:-8px;display:grid;position:relative}.ca-cele-emblem:before{content:"";background:radial-gradient(circle,#ffd66b26,#ffd66b08 70%);border:1px solid #e9bd4c24;border-radius:50%;width:144px;height:144px;position:absolute}.ca-trophy{filter:drop-shadow(0 8px 5px #9a69131c);width:160px;height:160px;animation:.7s cubic-bezier(.2,.9,.3,1.2) .1s both ca-trophy-in,4.5s ease-in-out .8s infinite ca-float;position:relative}@keyframes ca-trophy-in{0%{opacity:0;transform:translateY(-24px)rotate(-9deg)scale(.8)}to{opacity:1;transform:none}}@keyframes ca-float{50%{transform:translateY(-5px)rotate(2deg)}}.ca-cele-spark{color:#eab339;font-size:24px;animation:3.4s ease-in-out infinite ca-spark;position:absolute}.ca-cele-spark.one{top:35px;left:3px;transform:rotate(-12deg)}.ca-cele-spark.two{font-size:32px;animation-delay:.6s;top:18px;right:4px}.ca-cele-spark.three{font-size:15px;animation-delay:1.2s;bottom:27px;right:8px}@keyframes ca-spark{50%{opacity:.45;scale:.8}}.ca-cele-kicker{background:color-mix(in srgb, #edb635 13%, var(--card));color:var(--text);letter-spacing:.06em;border-radius:999px;margin:-4px 0 0;padding:5px 12px;font-size:.75em;font-weight:800}.ca-cele h2{max-width:100%;color:var(--text);letter-spacing:-.045em;overflow-wrap:anywhere;margin:3px 0 0;font-family:inherit;font-size:1.55em;font-weight:850;line-height:1.3}.ca-cele-msg{max-width:100%;color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.9em;line-height:1.65}.ca-cele-coins{background:color-mix(in srgb, #f0c45e 9%, var(--card));border:1px solid color-mix(in srgb, #d5a139 15%, var(--card));border-radius:20px;justify-items:center;gap:8px;width:100%;margin:8px 0;padding:15px 10px;display:grid}.ca-cele-coins .ca-stack{flex-direction:column;gap:8px}.ca-cele-coins .ca-stack-label{letter-spacing:-.04em;font-size:1.5em}@keyframes ca-drop{0%{opacity:0;transform:translateY(-65px)rotate(-22deg)scale(.8)}to{opacity:1;transform:none}}.ca-cele-got{color:var(--muted);font-size:.75em;font-weight:650}.ca-cele-ok{width:100%;box-shadow:0 4px 0 color-mix(in srgb, var(--accent-deep) 70%, #20113b);border-radius:16px;margin-top:8px;transition:transform .15s,box-shadow .15s;min-height:52px!important;font-size:1em!important}.ca-cele-ok:active{box-shadow:0 1px 0 var(--accent-deep);transform:translateY(3px)}.ch-section{gap:14px;margin:4px 0 18px;display:grid}.ch-wallet{background:linear-gradient(135deg, color-mix(in srgb, #f4c758 10%, var(--card)), color-mix(in srgb, var(--lav) 26%, var(--card)));border:1px solid #e0a10038;border-radius:20px;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px;display:grid}.ch-w-item{align-items:center;gap:8px;min-width:0;display:flex}.ch-w-item>span:last-child{min-width:0;line-height:1.15;display:grid}.ch-w-item b{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1.12em;font-weight:900}.ch-w-item small{color:var(--muted);font-size:.74em;font-weight:600}.ch-w-stamp{color:#d6336c;border:3px solid;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-weight:900;display:grid;transform:rotate(-10deg)}.ch-w-fire{flex:none;font-size:26px}.ch-card.done .ca-board{background:linear-gradient(160deg, color-mix(in srgb, #69c694 9%, var(--card)), var(--card) 60%)}.ch-card.late .ch-sub{color:var(--danger)}.ch-title{min-height:0;color:var(--text);text-align:left;overflow-wrap:anywhere;background:0 0;border:none;padding:0;font-size:1.08em;font-weight:800;display:block}.ch-sub{color:var(--muted);margin-top:2px;font-size:.8em;font-weight:600;display:block}.ch-ring-txt b{font-size:1.05em}.ch-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.ch-amt{display:grid}.ch-amt b{color:var(--text);font-variant-numeric:tabular-nums;font-size:1.3em;font-weight:900}.ch-amt b+span{color:var(--muted);font-size:.9em;font-weight:600}.ch-amt{grid-template-columns:auto 1fr;align-items:baseline;column-gap:4px}.ch-amt small{grid-column:1/-1;font-size:.78em;font-weight:700}.ch-wait{color:color-mix(in srgb, #c78820 75%, var(--text))}.ch-today{color:var(--good)}.ch-prize{background:color-mix(in srgb, #e8b63e 13%, var(--card));border-radius:999px;align-items:center;gap:8px;max-width:100%;padding:6px 12px 6px 8px;display:flex}.ch-prize>span:last-child{min-width:0;line-height:1.15;display:grid}.ch-prize b{color:var(--text);font-weight:900}.ch-prize small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:.74em;overflow:hidden}.ch-stamp-btn{width:100%;min-height:50px!important;font-size:1.02em!important}.ch-fields{background:var(--lav-wash);border-radius:18px;gap:12px;padding:12px;display:grid}.ch-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ch-lab{color:var(--muted);min-width:84px;font-size:.84em;font-weight:700}.ch-row .seg{margin-left:0}.ch-num{align-items:center;gap:6px;display:inline-flex}.ch-num button,.ch-big button{background:var(--card);width:40px;height:40px;min-height:0;color:var(--accent-deep);border:none;padding:0;font-size:1.3em;font-weight:700;border-radius:50%!important}.ch-num input{text-align:center;width:84px;font-size:1.1em;font-weight:800}.ch-suf{color:var(--muted);font-weight:700}.ch-dl{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.ch-dl input{width:auto}.ch-reward{background:linear-gradient(135deg, color-mix(in srgb, #e8b63e 10%, var(--card)), var(--card));border:1px solid #e0a10040;border-radius:16px;gap:10px;padding:12px;display:grid}.ch-reward-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.ch-reward-btns{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ch-coin-btn{background:var(--card);min-height:40px;color:var(--text);border:1px solid #f0c860;align-items:center;gap:6px;padding:0 14px 0 6px;font-weight:800;display:inline-flex;border-radius:999px!important}.ch-coin-btn:active{transform:scale(.96)}.ch-words{gap:4px;display:grid}.ch-words-pick{flex-wrap:wrap}.ch-sheet{gap:14px}.ch-sheet-t{text-align:center;color:var(--muted);margin:0;font-weight:600}.ch-big{justify-content:center;align-items:center;gap:14px;display:flex}.ch-big button{width:52px;height:52px;font-size:1.6em}.ch-big label{align-items:baseline;gap:4px;display:inline-flex}.ch-big input{text-align:center;border:none;border-bottom:3px solid var(--accent-deep);width:120px;color:var(--text);background:0 0;border-radius:0;font-size:2.2em;font-weight:900}.ch-big span{color:var(--muted);font-size:1.2em;font-weight:800}.ch-mine{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.stamp-tag{color:#d6336c;font-weight:700}.dash-ch{gap:6px;margin:0;padding:0;list-style:none;display:grid}.dash-ch li{background:var(--card);border-radius:12px;gap:4px;padding:8px 12px;display:grid}.dash-ch .grow{display:grid}.dash-ch small{color:var(--muted);font-size:.78em}.dash-ch-bar{background:#e0a10029;border-radius:3px;height:6px;overflow:hidden}.dash-ch-bar i{background:linear-gradient(90deg,#ffd23f,#e09a00);border-radius:3px;height:100%;display:block}.ch-foot{border-top:1px solid color-mix(in srgb, var(--ink-accent) 10%, transparent);padding-top:14px}.ch-stamp-btn{box-shadow:0 3px 0 color-mix(in srgb, var(--accent-deep) 75%, #22153e);border-radius:15px}.ch-title{white-space:normal;line-height:1.35}.ch-sub{margin-top:6px;line-height:1.4}.ch-wallet{gap:12px;padding:14px 12px}.ch-prize{min-width:0}.ch-prize>.ca-stack{flex-shrink:0}@media (max-width:440px){.ca-board{gap:16px;padding:16px}.ca-board-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px 10px}.ch-wallet{gap:6px;padding:12px 8px}.ch-w-item{gap:5px}.ch-w-item b{letter-spacing:-.04em;font-size:.91em}.ch-w-item small{margin-top:3px;font-size:.64em}.ch-w-stamp{width:28px;height:28px;font-size:.8em}.ch-w-fire{font-size:23px}.ch-prize small{max-width:140px}.ca-cele{border-radius:28px;padding:20px}}@media (prefers-reduced-motion:reduce){.ca-coin.spin,.ca-coin.spin .ca-coin-shine:after,.ca-stamp.approved,.ca-stamp.pending .ca-stamp-clock,.ca-stamp-splash,.ca-confetti i,.ca-cele,.ca-cele-rays,.ca-trophy,.ca-cele-spark,.ca-cele-coins .ca-coin{animation:none!important}.ca-confetti,.ca-stamp-splash{display:none}.ca-ring-fg,.ca-cele-ok{transition:none}}.backdrop.ca-cele-backdrop{z-index:70}.ca-board{border-radius:18px;gap:10px;padding:12px 14px}.ca-board-head{gap:10px;padding-bottom:10px}.ca-board:before,.ca-board:after{top:62px}.ca-board-grid{grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:6px;padding:0}.ca-stamp{max-width:40px}.ca-stamp-txt,.ca-stamp-who,.ca-stamp-stars{display:none}.ca-stamp-ink .mark{stroke-width:7px}.ca-stamp.pending .ca-stamp-clock{transform-origin:50px 50px}.ca-stamp-n{font-size:11px}.ca-slot-btn{all:unset;aspect-ratio:1;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:50%;place-items:center;width:100%;max-width:40px;display:grid}.ca-slot-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ca-slot-btn:active .ca-stamp{transform:scale(.88)}.ca-slot-btn.next .ca-stamp.empty{border:2px solid color-mix(in srgb, var(--accent) 70%, transparent);background:color-mix(in srgb, var(--accent) 12%, var(--card))}.ca-slot-btn.next .ca-stamp-n{color:var(--accent-deep);opacity:1}.ca-slot-btn.next .ca-stamp-n:before{content:"+";margin-right:1px}.ch-foot{gap:8px}.ch-tap-hint{color:var(--muted);margin:0;font-size:12px}.ch-hint{color:var(--muted);margin:2px 0 0;font-size:12.5px}.ch-del{color:var(--muted);justify-self:end;padding:2px 4px;font-size:12.5px}@media (max-width:600px){.ca-board{gap:10px;padding:12px}.ca-board-grid{grid-template-columns:repeat(auto-fill,minmax(32px,1fr));gap:5px}}.ca-stamp-clock,.ca-stamp-retry{stroke-width:5px}.ca-coin{filter:none;touch-action:manipulation;overflow:visible}.ca-coin-body{transform-origin:50% 100%;filter:drop-shadow(0 2px 1.5px #80500d40);display:block;position:absolute;top:0;bottom:0;left:0;right:0}.ca-coin-body svg{width:100%;height:100%;display:block;overflow:visible}.ca-coin-shadow{background:radial-gradient(closest-side,#6b420a38,#0000);border-radius:50%;height:13%;position:absolute;bottom:-9%;left:14%;right:14%}.ca-coin-crown{fill:#ffd447;stroke:#a8680c;stroke-width:1.6px;stroke-linejoin:round}.ca-coin-leaf{fill:#7ccf7a;stroke:#3f8f45;stroke-width:1.3px;stroke-linecap:round}.ca-coin-eyes ellipse{fill:#5b3606}.ca-coin-eyes{transform-box:fill-box;transform-origin:50%}.ca-coin-cheek{fill:#ff8a7a;opacity:.55}.ca-coin-smile{fill:none;stroke:#5b3606;stroke-width:3px;stroke-linecap:round}.ca-coin-sparks{pointer-events:none;position:absolute;top:-22%;bottom:-22%;left:-22%;right:-22%}.ca-coin-sparks i{clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);opacity:0;background:#ffe066;width:22%;height:22%;position:absolute}.ca-coin-sparks i:first-child{top:0;left:6%}.ca-coin-sparks i:nth-child(2){width:16%;height:16%;top:10%;right:0}.ca-coin-sparks i:nth-child(3){width:14%;height:14%;bottom:14%;left:0}.ca-coin.spin{cursor:pointer;animation:none}.ca-coin.spin .ca-coin-body{animation:ca-hop 2.8s cubic-bezier(.3, .6, .4, 1) var(--delay,0s) infinite}.ca-coin.spin .ca-coin-shadow{animation:ca-hop-shadow 2.8s cubic-bezier(.3, .6, .4, 1) var(--delay,0s) infinite}.ca-coin.spin .ca-coin-eyes{animation:ca-blink 3.7s linear calc(var(--delay,0s) + .6s) infinite}.ca-coin.spin .ca-coin-sparks i{animation:ca-twinkle 2.8s ease-in-out var(--delay,0s) infinite}.ca-coin.spin .ca-coin-sparks i:nth-child(2){animation-delay:calc(var(--delay,0s) + .5s)}.ca-coin.spin .ca-coin-sparks i:nth-child(3){animation-delay:calc(var(--delay,0s) + 1.1s)}.ca-coin.spin .ca-coin-shine:after{animation:ca-shine 2.8s ease-in-out var(--delay,0s) infinite}.ca-coin.boing .ca-coin-body{animation:.9s cubic-bezier(.25,.7,.35,1.2) both ca-boing}.ca-coin.boing .ca-coin-sparks i{animation:.9s ease-out both ca-burst}@keyframes ca-hop{0%,52%,to{transform:none}58%{transform:scale(1.08,.88)}66%{transform:translateY(-26%)scale(.3,1.04)}72%{transform:translateY(-32%)scale(1)}78%{transform:translateY(-20%)scale(.3,1.02)}86%{transform:translateY(0)scale(1.1,.86)}92%{transform:scale(.96,1.05)}}@keyframes ca-hop-shadow{0%,52%,to{opacity:1;transform:none}58%{transform:scaleX(1.15)}72%{opacity:.45;transform:scaleX(.55)}86%{opacity:1;transform:scaleX(1.2)}}@keyframes ca-blink{0%,44%,50%,to{transform:scaleY(1)}47%{transform:scaleY(.1)}}@keyframes ca-twinkle{0%,55%,to{opacity:0;transform:scale(.2)rotate(0)}70%{opacity:1;transform:scale(1.15)rotate(70deg)}84%{opacity:0;transform:scale(.4)rotate(140deg)}}@keyframes ca-boing{0%{transform:scale(1.15,.78)}25%{transform:translateY(-60%)scale(.2,1.1)}38%{transform:translateY(-75%)rotate(-8deg)}52%{transform:translateY(-60%)scale(.2,1.05)}66%{transform:translateY(-40%)rotate(6deg)}82%{transform:translateY(0)scale(1.18,.8)}to{transform:none}}@keyframes ca-burst{0%{opacity:0;transform:scale(.2)}30%{opacity:1;transform:scale(1.6)rotate(90deg)}to{opacity:0;transform:scale(.3)rotate(220deg)}}.ca-cele-coins .ca-coin{animation:ca-drop .65s cubic-bezier(.2, .85, .3, 1.18) calc(.25s + var(--delay,0s)) both}@media (prefers-reduced-motion:reduce){.ca-coin .ca-coin-body,.ca-coin .ca-coin-shadow,.ca-coin .ca-coin-eyes,.ca-coin .ca-coin-sparks i,.ca-coin-shine:after{animation:none!important}}:root{--bg:#fcf9f5;--card:#fff;--panel-2:#f2edfb;--text:#2b1d55;--muted:#7b7095;--line:#ebe4f6;--icon:#8b80a6;--accent:#5a36d6;--accent-soft:#ece6fd;--accent-ink:#fff;--track:#f2edfb;--done:#cbc2de;--mint:#cdeedb;--peach:#ffd9bf;--pink:#fbd3e6;--sun:#ffe39a;--lav:#e6defc;--good:#1f8a55;--warn:#c2560c;--danger:#e0485a;--parent:#b4329a;--radius:16px;--gap:10px;--tap:44px;--fs:16px;--tabbar:60px;--serif:ui-serif, "New York", Georgia, "AppleMyungjo", "Noto Serif KR", serif;--mono:ui-monospace, "SF Mono", Menlo, "Apple SD Gothic Neo", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,system-ui,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}[data-theme=dark]{--bg:#1b1335;--card:#261b49;--panel-2:#34285f;--text:#f3effc;--muted:#b6aad6;--line:#392c68;--icon:#a99dcc;--accent:#a58bff;--accent-soft:#3a2c74;--accent-ink:#1b1335;--track:#34285f;--done:#6f6496;--mint:#2c5a48;--peach:#6b4630;--pink:#5f3352;--sun:#6b5a26;--lav:#3a2c74;--good:#5fd39a;--danger:#ff7d8c;--parent:#f08bd8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-size:var(--fs);-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button,input,select,textarea{font:inherit;color:inherit}button{min-height:var(--tap);border-radius:var(--radius);border:1px solid var(--line);background:var(--card);cursor:pointer;touch-action:manipulation;white-space:nowrap;flex:none;padding:0 16px}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000;font-weight:600}button.primary.ghost{background:var(--panel-2);color:var(--text)}button.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent)}button.small{min-height:36px;padding:0 12px;font-size:.88em}button.big{width:100%;min-height:52px;font-size:1.05em}button.link{color:var(--muted);background:0 0;border:none;min-height:40px;font-size:.75em;text-decoration:underline}.text-btn{color:var(--accent);background:0 0;border:none;min-height:36px;padding:0 8px;font-weight:600}.icon-btn{min-width:var(--tap);color:var(--text);background:0 0;border:none;place-items:center;padding:0;display:inline-grid}input,select,textarea{min-height:var(--tap);border-radius:var(--radius);border:1px solid var(--line);background:var(--card);width:100%;padding:8px 12px}textarea{resize:vertical}input[type=checkbox],input[type=radio]{width:22px;height:22px;min-height:0;accent-color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}fieldset{border-radius:var(--radius);background:var(--card);border:none;gap:10px;margin:0;padding:12px;display:grid}legend{color:var(--muted);float:left;width:100%;padding:0;font-size:.85em}label{color:var(--muted);gap:6px;font-size:.9em;display:grid}label>input,label>select,label>textarea{color:var(--text);font-size:1.1em}label.toggle{color:var(--text);min-height:var(--tap);align-items:center;gap:10px;display:flex}h1{margin:0;font-size:1.3em}h2{margin:0;font-size:1em;font-weight:600}h3{color:var(--muted);margin:20px 0 8px;font-size:.95em}.muted{color:var(--muted);font-size:.9em}.center{text-align:center}.spacer{flex:1}.grow{text-align:left;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.error{color:var(--danger);margin:4px 0;font-size:.9em}.warn{color:var(--warn)}.notice{background:color-mix(in srgb, var(--parent) 10%, var(--card));border:1px solid color-mix(in srgb, var(--parent) 30%, transparent);border-radius:var(--radius);margin:0 0 10px;padding:10px 12px;font-size:.88em}.empty{color:var(--muted);text-align:center;white-space:pre-line;padding:60px 0}.loading{height:100%;color:var(--muted);place-items:center;display:grid}.chip{border:1px solid var(--line);border-radius:999px;align-items:center;gap:4px;padding:0 7px;font-size:.85em;line-height:1.5;display:inline-flex}.chev{color:var(--muted);transition:transform .15s}.chev.closed{transform:rotate(-90deg)}.chev.up{transform:rotate(180deg)}.app{height:100%;padding-top:env(safe-area-inset-top);grid-template:"parent parent""banner banner""main detail"1fr"tabs tabs"/minmax(0,1fr) 0;display:grid}.app.has-detail{grid-template-columns:minmax(0,1fr) minmax(360px,420px)}.parent-bar{background:color-mix(in srgb, var(--parent) 14%, var(--bg));color:var(--parent);grid-area:parent;align-items:center;gap:6px;padding:4px 14px;font-size:.85em;font-weight:600;display:flex}.update-banner{background:var(--accent);color:var(--accent-ink);grid-area:banner;align-items:center;gap:12px;padding:8px 16px;display:flex}.save{display:none}.save-error{z-index:70;top:calc(8px + env(safe-area-inset-top));background:var(--danger);color:#fff;border-radius:999px;padding:6px 14px;font-size:.85em;font-weight:600;display:block;position:fixed;left:50%;transform:translate(-50%)}.main{-webkit-overflow-scrolling:touch;grid-area:main;padding:0 12px 110px;overflow-y:auto}.main>*{max-width:760px;margin-inline-start:auto;margin-inline-end:auto}.sub-bar{align-items:center;gap:4px;padding:6px 0;display:flex}.sub-title{font-weight:600}.detail-pane{background:var(--bg);border-left:1px solid var(--line);grid-area:detail;padding:4px 14px 96px;overflow-y:auto}.tabbar{background:var(--bg);padding-bottom:env(safe-area-inset-bottom);height:calc(var(--tabbar) + env(safe-area-inset-bottom));grid-area:tabs;grid-template-columns:repeat(3,1fr);display:grid}.tab{color:var(--icon);height:var(--tabbar);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:1px;font-size:.7em;display:flex}.fab{z-index:15;right:max(22px, env(safe-area-inset-right));bottom:calc(var(--tabbar) + 22px + env(safe-area-inset-bottom));background:var(--accent);color:#fff;width:56px;height:56px;box-shadow:0 4px 14px color-mix(in srgb, var(--accent) 40%, transparent);border:none;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed}.has-detail .fab{right:442px}.drawer-wrap{z-index:40;background:#0000004d;position:fixed;top:0;bottom:0;left:0;right:0}.drawer{background:var(--bg);width:min(340px,86vw);padding:calc(14px + env(safe-area-inset-top)) 14px 14px;align-content:start;gap:10px;display:grid;position:absolute;top:0;bottom:0;left:0;overflow-y:auto;box-shadow:0 0 40px #0003}.drawer header{justify-content:space-between;align-items:center;padding:6px 4px;display:flex}.drawer-title{color:var(--accent);padding:18px 0 6px;font-size:2em;font-weight:800}.d-card{background:var(--card);border-radius:12px;padding:4px 0}.d-row{text-align:left;width:100%;min-height:54px;color:var(--text);background:0 0;border:none;align-items:center;gap:16px;padding:0 16px;font-size:1.05em;display:flex}.d-row svg{color:var(--accent)}.d-row>span:nth-child(2){flex:1}.d-row.on{color:var(--accent);font-weight:600}.d-sub{width:100%;min-height:48px;color:var(--text);background:0 0;border:none;justify-content:space-between;align-items:center;padding:0 18px 0 56px;font-size:.95em;display:flex}.d-sub.new{color:var(--accent)}.d-dot{place-items:center;width:22px;display:grid}.d-dot:after{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px}.profile .avatar{width:26px;height:26px}.profile.on{font-weight:700}.avatar{background:var(--c,var(--accent));color:#fff;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:.8em;font-weight:700;display:grid}.app-version{margin:6px 8px 0;font-size:.75em}.home-bar{align-items:center;gap:2px;margin-left:-6px;padding:6px 0 2px;display:flex}.search-row{background:var(--card);border-radius:var(--radius);color:var(--muted);align-items:center;gap:8px;margin:4px 0;padding:0 12px;display:flex}.search-row input{background:0 0;border:none;padding-left:0}.filter-note{color:var(--muted);justify-content:space-between;align-items:center;font-size:.85em;display:flex}.chips-row{align-items:center;gap:6px;display:flex}.chips{scrollbar-width:none;flex:1;align-items:center;gap:8px;padding:4px 0 8px;display:flex;overflow-x:auto}.cat-chip{background:var(--panel-2);min-height:32px;color:var(--muted);border:none;border-radius:999px;padding:0 15px;font-size:.85em}.cat-chip.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.chips-row .icon-btn{color:var(--icon)}.task-section{margin-top:2px}.section-head{min-height:34px;color:var(--muted);background:0 0;border:none;align-items:center;gap:4px;padding:0 2px;font-size:.82em;display:inline-flex}.tasks{gap:var(--gap);margin:0 0 4px;padding:0;list-style:none;display:grid}.task{border-radius:var(--radius);background:var(--card);border:2px solid #0000;align-items:center;gap:0;min-height:64px;padding:2px 2px 2px 6px;display:flex}.task.selected{border-color:var(--accent)}.task.dragging{opacity:.5}.task.drop-target{box-shadow:0 -3px 0 var(--accent)}.task.done .task-title{color:var(--text)}.task.done .meta{opacity:.7}.check{width:var(--tap);height:var(--tap);background:0 0;border:none;flex:none;place-items:center;min-height:0;padding:0;display:grid}.check span{border:1.6px solid var(--done);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;font-weight:800;display:grid}.task.done .check span{background:var(--done);border-color:var(--done)}.task-main{text-align:left;white-space:normal;background:0 0;border:none;flex:1;gap:4px;min-width:0;height:auto;padding:10px 4px;display:grid}.task-title{overflow-wrap:anywhere;font-size:1em}.meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px;font-size:.78em;display:flex}.meta>span{align-items:center;display:inline-flex}.meta .overdue{color:var(--danger)}.drag-handle{width:var(--tap);height:var(--tap);color:var(--icon);touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;flex:none;place-items:center;display:grid}.star-btn{width:var(--tap);height:var(--tap);min-height:0;color:var(--done);background:0 0;border:none;flex:none;place-items:center;padding:0;display:grid}.star-btn:disabled{opacity:1}.pop-anchor{display:inline-flex;position:relative}.popover{z-index:35;background:var(--card);border-radius:12px;min-width:210px;padding:6px;display:grid;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 10px 30px #0000002e}.popover .pop-title{color:var(--muted);margin:6px 10px 4px;font-size:.78em}.popover button{text-align:left;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;min-height:42px;padding:0 10px;display:flex}.popover button.on{color:var(--accent);font-weight:600}.popover hr{border:none;border-top:1px solid var(--line);width:auto;margin:4px 6px}.danger-text{color:var(--danger)}.sheet-backdrop{z-index:45;background:#0000004d;justify-content:center;align-items:flex-end;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.sheet{background:var(--card);width:min(760px,100%);padding:14px 14px calc(12px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;gap:10px;display:grid;box-shadow:0 -8px 30px #00000026}.sheet-input{background:var(--bg);border:none;font-size:1.05em}.sheet-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tool-chip{background:var(--bg);min-height:34px;color:var(--accent);border:none;border-radius:999px;align-items:center;gap:5px;width:auto;padding:0 12px;font-size:.85em;display:inline-flex;position:relative}select.tool-chip{-webkit-appearance:none;appearance:none}.tool-chip input{opacity:0;width:100%;height:100%;min-height:0;padding:0;position:absolute;top:0;bottom:0;left:0;right:0}.send{background:var(--accent);color:#fff;border:none;border-radius:999px;min-height:36px;padding:0 18px;font-weight:600}.cat-list{background:var(--card);border-radius:var(--radius);margin:0;padding:0;list-style:none}.cat-list li{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:46px;padding:0 6px 0 14px;display:flex}.cat-list li:last-child{border-bottom:none}.cat-list li span:first-child{flex:1}.inline{gap:8px;margin:8px 0;display:flex}.inline input{flex:1}.detail-bar{justify-content:space-between;align-items:center;margin:0 -8px;padding:4px 0 8px;display:flex}.cat-select{color:var(--muted);flex-direction:row;align-items:center;gap:4px;font-size:.92em;display:inline-flex;position:relative}.cat-select select{opacity:0;min-height:0;padding:0;position:absolute;top:0;bottom:0;left:0;right:0}.group{background:var(--card);border-radius:12px;margin-bottom:12px;padding:6px 14px}.title-input{background:0 0;border:none;padding:14px 0 8px;font-size:1.5em;font-weight:500}.subtasks{margin:0;padding:0;list-style:none}.subtasks li{align-items:center;min-height:48px;display:flex}.sub-check{color:var(--text);flex-direction:row;flex:1;align-items:center;gap:14px;font-size:1.05em;display:flex}.sub-check input{-webkit-appearance:none;appearance:none;border:1.6px solid var(--done);border-radius:50%;flex:none;place-items:center;width:22px;min-width:22px;height:22px;margin:0;padding:0;display:grid}.sub-check input:checked{background:var(--done);border-color:var(--done)}.sub-check input:checked:after{content:"✓";color:#fff;font-size:11px;font-weight:800}.subtasks li.done .sub-check span{color:var(--muted);text-decoration:line-through}.sub-del{color:var(--icon);min-width:36px;min-height:36px}.add-sub{color:var(--danger);align-items:center;gap:14px;min-height:48px;font-size:1.05em;display:flex}.add-sub input{color:var(--text);background:0 0;border:none;padding-left:0}.add-sub input::placeholder{color:var(--danger)}.rows{padding:0 0 0 14px}.row-item{min-height:56px;color:var(--text);border-bottom:1px solid var(--line);flex-direction:row;align-items:center;gap:14px;padding-right:10px;font-size:1em;display:flex;position:relative}.row-item:last-child{border-bottom:none}.row-item.indent{padding-left:32px}.row-item.indent svg{display:none}.row-item>svg{color:var(--text);flex:none}.row-label{flex:1}.row-value{color:var(--muted);align-items:center;gap:4px;font-size:.92em;display:inline-flex}.row-item>input:not(.switch),.row-item>select{opacity:0;cursor:pointer;width:100%;min-height:0;padding:0;position:absolute;top:0;bottom:0;left:0;right:0}.switch{-webkit-appearance:none;appearance:none;background:var(--panel-2);border-radius:999px;width:46px;height:28px;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(18px)}.row-head{align-items:center;gap:12px;min-height:44px;display:flex}.memo{color:var(--muted);background:0 0;border:none;padding:0 0 8px 32px;font-size:.92em}.weekday-pick{flex-wrap:wrap;gap:6px;padding:6px 10px 10px 32px;display:flex}.weekday-pick button{border-radius:50%;min-width:38px;min-height:38px;padding:0}.weekday-pick button.on{background:var(--accent);color:var(--accent-ink);border-color:#0000}.cal-page{padding-top:6px}.calendar{padding:2px 0 8px}.cal-head{align-items:center;gap:0;margin:0 -8px 2px;display:flex}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));row-gap:0;display:grid}.cal-wd{text-align:center;color:var(--muted);padding:8px 0;font-size:.8em}.cal-cell{background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;height:auto;min-height:50px;padding:3px 0;display:flex}.cal-day{border-radius:50%;place-items:center;width:32px;height:32px;font-size:.92em;display:grid}.cal-cell.outside{opacity:.35}.cal-cell.today .cal-day{color:var(--accent);font-weight:600}.cal-cell.sel .cal-day{background:color-mix(in srgb, var(--accent) 70%, #9cc6e4);color:#fff;font-weight:600}.cal-dot{background:var(--accent);border-radius:50%;width:4px;height:4px}.cal-dot.none{visibility:hidden}.cal-dot.all{background:var(--done)}.cal-page .tasks{margin-top:6px}.mine{gap:var(--gap);display:grid}.page-title{padding:16px 2px 4px;font-size:1.15em;font-weight:600}.card{background:var(--card);border-radius:var(--radius);padding:14px}.card h2{font-size:.95em}.card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.range-nav{align-items:center;gap:0;font-size:.85em;display:flex}.range-nav .icon-btn{min-width:30px;min-height:30px}.range-select{color:var(--text);flex-direction:row;align-items:center;gap:4px;font-size:.85em;display:inline-flex;position:relative}.range-select select{opacity:0;min-height:0;padding:0;position:absolute;top:0;bottom:0;left:0;right:0}.stat-cards{gap:var(--gap);grid-template-columns:1fr 1fr;display:grid}.stat{justify-items:center;gap:4px;padding:18px 14px;display:grid}.stat strong{font-size:1.35em;font-weight:600}.stat span{color:var(--muted);font-size:.8em}.chart{grid-template-columns:22px 1fr;gap:6px;display:grid}.y-axis{color:var(--muted);text-align:right;flex-direction:column;justify-content:space-between;height:140px;margin-top:-5px;font-size:.7em;line-height:1;display:flex}.bars{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.bar-col{text-align:center;color:var(--muted);grid-template-rows:140px auto;gap:6px;font-size:.72em;display:grid}.bar-track{background:var(--track);justify-self:center;width:62%;position:relative;overflow:hidden}.bar-done{background:var(--accent);position:absolute;bottom:0;left:0;right:0}.next7{margin:6px 0 0;padding:0;list-style:none}.link-row{white-space:nowrap;width:100%;min-height:36px;color:var(--text);background:0 0;border:none;align-items:center;gap:10px;padding:0 2px;font-size:.88em;display:flex}.link-row svg{color:var(--muted);flex:none}.donut-row{align-items:center;gap:36px;padding:4px 6px;display:flex}.donut{border-radius:50%;flex:none;place-items:center;width:110px;height:110px;display:grid}.donut span{background:var(--card);border-radius:50%;width:44px;height:44px}.donut-legend{gap:8px;margin:0;padding:0;font-size:.85em;list-style:none;display:grid}.sw{border-radius:2px;width:10px;height:10px;margin-right:8px;display:inline-block}.note{margin:4px 2px;font-size:.78em}.list-pane{background:var(--card);border-radius:var(--radius);margin:4px auto 16px;padding:16px}.pane-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.pane-head h1,.pane-head h2{flex:1}.count{color:var(--muted)}.quick-add{gap:8px;margin-bottom:10px;display:flex}.quick-add select{width:auto}.quick-add.wrap{flex-wrap:wrap}.quick-add.wrap input:not([type=date]):not([type=number]){flex:220px}.quick-add input[type=date]{width:auto}.inline-label{color:var(--text);align-items:center;gap:6px;display:flex}.inline-label input{width:80px}.exam-list,.goal-list,.records,.manage,.late{gap:8px;margin:0;padding:0;list-style:none;display:grid}.exam-card{text-align:left;white-space:normal;background:var(--bg);border:none;align-items:center;gap:16px;width:100%;height:auto;padding:12px;display:flex}.exam-card.past{opacity:.6}.dday{color:var(--danger);text-align:center;min-width:84px;font-size:1.3em;font-weight:800}.timetable{gap:4px;display:grid;overflow-x:auto}.tt-row{grid-template-columns:72px repeat(5,minmax(90px,1fr));align-items:center;gap:4px;display:grid}.tt-row>span{text-align:center;color:var(--muted);font-size:.9em}.tt-row input{background:var(--bg);border-color:#0000}.goal{background:var(--bg);border-radius:var(--radius);gap:8px;padding:12px;display:grid}.goal-foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.goal-foot span:last-child{gap:6px;display:flex}.bar{background:var(--track);border-radius:999px;height:10px;overflow:hidden}.bar-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .3s}.dash{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.dash-card{background:var(--bg);border-radius:var(--radius);border-top:5px solid;gap:6px;padding:14px;display:grid}.dash-card header{justify-content:space-between;align-items:center;display:flex}.dash-card p,.dash-card h3{margin:4px 0 0}.late{color:var(--muted);font-size:.85em}.manage li{grid-template-columns:16px 1fr 150px auto;align-items:center;gap:8px;display:grid}.dot{border-radius:50%;width:14px;height:14px}.chips-edit{flex-wrap:wrap;gap:6px;padding:0;list-style:none;display:flex}.chips-edit .icon-btn{min-width:32px;min-height:32px;font-size:.9em}.actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.settings .actions{justify-content:flex-start}.pin-set{flex-wrap:wrap;gap:8px;display:flex}.pin-set input{width:160px}.backdrop{z-index:50;background:#0006;place-items:center;padding:16px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.modal{background:var(--bg);border-radius:16px;width:min(480px,100%);max-height:90vh;overflow:auto;box-shadow:0 20px 60px #0000004d}.modal-head{justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.modal-body{gap:10px;padding:4px 16px 16px;display:grid}.pin{gap:12px;display:grid}.pin input{letter-spacing:.4em;text-align:center;font-size:1.6em}.toasts{z-index:60;left:50%;bottom:calc(var(--tabbar) + 16px + env(safe-area-inset-bottom));gap:8px;display:grid;position:fixed;transform:translate(-50%)}.toast{color:#fff;background:#1f2937;border-radius:12px;align-items:center;gap:12px;padding:10px 16px;display:flex;box-shadow:0 8px 24px #00000040}.toast button{color:#93c5fd;background:0 0;border-color:#93c5fd;min-height:36px}.onboarding{place-items:center;min-height:100%;padding:24px;display:grid}.onboarding .card{gap:14px;width:min(520px,100%);padding:32px;display:grid}.onboarding form{gap:14px;display:grid}@media (max-width:1023px){.app.has-detail{grid-template-columns:minmax(0,1fr) 0}.detail-pane{z-index:30;width:100%;padding-top:calc(8px + env(safe-area-inset-top));border:none;position:fixed;top:0;bottom:0;left:0;right:0}.detail-pane>*{max-width:760px;margin-inline-start:auto;margin-inline-end:auto}.has-detail .fab{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.viewer-bar{background:color-mix(in srgb, var(--accent) 14%, var(--bg));color:var(--accent);flex-wrap:wrap;grid-area:parent;align-items:center;gap:6px;padding:4px 12px;font-size:.82em;font-weight:600;display:flex}.family,.login{gap:10px;display:grid}.duration{gap:4px;display:inline-flex}.duration select{background:var(--bg);width:auto;min-height:34px;color:var(--accent);border:none;border-radius:999px;padding:2px 8px;font-size:.85em}.preset-pick{gap:4px;display:grid}.preset-pick .chips{flex-wrap:wrap;overflow:visible}.badge-pending{color:#fff;background:#f59e0b;border-radius:999px;padding:0 8px;font-size:.9em;font-weight:600}.badge-rejected{color:#fff;background:var(--danger);border-radius:999px;padding:0 8px;font-size:.9em;font-weight:600}.badge-done{color:var(--good);font-size:.85em;font-weight:600}.task.pending .check span{color:#f59e0b;border-style:dashed;border-color:#f59e0b}.record-line{color:var(--muted);overflow-wrap:anywhere;font-size:.78em;display:block}.complete-form{gap:10px;display:grid}.record .row-head{justify-content:space-between}.record-list{gap:4px;margin:0 0 8px;display:grid}.record-list div{gap:12px;font-size:.92em;display:flex}.record-list dt{color:var(--muted);min-width:80px}.record-list dd{margin:0}.decide{align-items:center;gap:8px;padding:6px 0;display:flex}.decide input{flex:1;min-height:38px}.approvals{background:color-mix(in srgb, #f59e0b 10%, var(--card));border-radius:var(--radius);margin-bottom:12px;padding:12px}.approvals ul{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.approval{background:var(--card);border-radius:8px;gap:4px;padding:10px 12px;display:grid}.preset-list{gap:10px;margin:12px 0;padding:0;list-style:none;display:grid}.preset{background:var(--bg);border-radius:var(--radius);gap:8px;padding:10px;display:grid}.preset-head{align-items:center;gap:8px;display:flex}.preset-head>input{flex:1}.preset-fields{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.preset-fields .chip .icon-btn{min-width:28px;min-height:28px}.field-add{align-items:center;display:inline-flex}.field-add input{width:120px;min-height:34px}h1,.page-title,.drawer-title,.cal-head h2,.onboarding h1,.title-input,.stat strong{font-family:var(--serif);letter-spacing:-.02em;font-weight:400}.page-title,.home-title{color:var(--text);padding:14px 2px 6px;font-size:1.9em}.drawer-title{color:var(--text);font-size:2.1em}.cal-head h2{font-size:1.5em}.stat strong{color:var(--accent);font-variant-numeric:tabular-nums;font-size:2.2em}.section-head,.eyebrow,.tab,.cal-wd,.pop-title,.card h2,.stat span,.legend,legend,.badge-pending,.badge-rejected{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:11.5px;font-weight:700}.card h2{color:var(--muted)}button.primary,.send,.fab{background:var(--accent);color:var(--accent-ink)}button.primary,button.small,.send,.text-btn,.actions>button,.decide button{font-family:var(--mono);letter-spacing:.06em;border-radius:999px;font-size:13px;font-weight:700}button.primary{min-height:40px;padding:0 20px}button.big{min-height:44px}.actions>button:not(.primary),.decide button:not(.primary){border:1.5px solid var(--accent);color:var(--accent);background:0 0;min-height:40px}.task,.card,.group,.list-pane,.d-card,.calendar,.search-row,.sheet,.modal,.approval,.cat-list,.preset{border:1px solid var(--line);box-shadow:none}.task{border-width:1px;border-radius:14px}.task.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.calendar{background:var(--card);border-radius:var(--radius);padding:10px 12px 12px}.cat-chip{background:var(--card);border:1px solid var(--line);min-height:30px;color:var(--muted);font-size:.84em}.cat-chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.check span{border-color:var(--icon)}.task.done .check span,.check[aria-checked=true] span{background:var(--mint);border-color:var(--good);color:var(--good)}.star-btn.on{color:#f0a400}.tabbar{border-top:1px solid var(--line);background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.fab{width:58px;height:58px;box-shadow:0 6px 0 color-mix(in srgb, var(--accent) 35%, #000 10%)}.fab:active{box-shadow:0 3px 0 color-mix(in srgb, var(--accent) 35%, #000 10%);transform:translateY(3px)}.stat-cards .stat:first-child{background:var(--mint);border-color:#0000}.stat-cards .stat:nth-child(2){background:var(--lav);border-color:#0000}.stat-cards .stat:first-child strong{color:var(--good)}.bar-done{background:var(--accent);border-radius:6px 6px 0 0}.bar-track{border-radius:6px 6px 0 0}.cal-cell.sel .cal-day{background:var(--accent)}.approvals{background:var(--peach);border:none}.viewer-bar{background:var(--lav);color:var(--accent)}.parent-bar{background:var(--pink);color:var(--parent)}.drawer{background:var(--bg)}.d-row svg,.d-sub.new{color:var(--accent)}.badge-pending{background:var(--sun);color:#6b4a00;padding:1px 8px;font-size:10.5px}.badge-rejected{background:var(--pink);color:var(--danger);padding:1px 8px;font-size:10.5px}.illust{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:100%;height:auto;margin:0 auto;display:block}.empty-state{text-align:center;color:var(--muted);justify-items:center;gap:10px;padding:28px 0 12px;display:grid}.empty-state p{margin:0}.cheer{background:var(--mint);border-radius:var(--radius);align-items:center;gap:14px;margin:6px 0 10px;padding:10px 16px;display:flex}.cheer.wait{background:var(--sun)}.cheer img{flex:none;width:84px}.cheer strong{font-family:var(--serif);font-size:1.25em;font-weight:400;display:block}.mine-hero{justify-content:space-between;align-items:flex-end;display:flex}.onboarding .illust{width:260px;margin-bottom:-6px}@keyframes slide-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes rise{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}.detail-pane{animation:.22s ease-out slide-in}.sheet{animation:.22s ease-out rise}.modal,.drawer{animation:.16s ease-out fade}.main>*{animation:.14s ease-out fade}@media (prefers-reduced-motion:reduce){.detail-pane,.sheet,.modal,.drawer,.main>*{animation:none}}button.primary,button.small,.send,.text-btn,.actions>button,.decide button{letter-spacing:.02em}.section-head,.eyebrow,.tab,.cal-wd,.pop-title,.card h2,.stat span,.legend,legend{letter-spacing:.04em}.onboarding h1{font-size:1.8em;line-height:1.25}.mine-hero img{width:108px;margin:6px 0 -4px}button.primary,button.small,.send,.text-btn,.actions>button,.decide button{letter-spacing:0;font-family:inherit}.mine-hero img{margin-top:14px}.remote-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}:root{--ink-accent:#6b4ad8;--accent-deep:#4b2a9e;--lav-wash:#f1ecfd}[data-theme=dark]{--ink-accent:#b9a4ff;--accent-deep:#a58bff;--lav-wash:#2a1f52}h1,.page-title,.home-title,.drawer-title,.onboarding h1,.cal-head h2{color:var(--ink-accent);letter-spacing:-.03em;font-family:inherit;font-weight:300;line-height:1.12}.page-title,.home-title{padding:18px 2px 8px;font-size:2.4em}.drawer-title{font-size:2.4em}.onboarding h1{font-size:2.3em}.onboarding .card>p,.lead,.empty-state p,.cheer span,.mine-hero p{font-family:var(--serif);color:var(--ink-accent);font-size:1.08em;line-height:1.45}button.primary,.send{background:var(--accent-deep);color:#fff;font-weight:700}[data-theme=dark] button.primary,[data-theme=dark] .send{color:var(--accent-ink)}button.primary.ghost,button:not(.primary):not(.icon-btn):not(.link):not(.text-btn):not(.tab):not(.check):not(.star-btn):not(.cat-chip):not(.fab):not(.task):not(.d-row):not(.cal-cell){border-radius:999px}button.primary.ghost,.actions>button:not(.primary),.decide button:not(.primary),.onboarding button:not(.primary):not(.link){border:1.5px solid var(--ink-accent);color:var(--ink-accent);background:0 0;font-weight:700}.chip,.badge-pending,.badge-rejected{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;border:1.5px solid var(--ink-accent);color:var(--ink-accent);background:0 0;border-radius:999px;padding:1px 9px;font-size:11px;font-weight:700}.badge-pending{color:#7a5600;background:var(--sun);border-color:#b98a00}.badge-rejected{border-color:var(--danger);color:var(--danger);background:0 0}.chip.parent{border-color:var(--parent);color:var(--parent)}.card,.calendar,.list-pane,.group{background:var(--lav-wash);border-color:color-mix(in srgb, var(--ink-accent) 22%, transparent)}.onboarding .card{background:var(--card);border:1.5px solid color-mix(in srgb, var(--ink-accent) 35%, transparent)}.task{background:var(--card);border-color:color-mix(in srgb, var(--ink-accent) 18%, transparent)}input,select,textarea{border-color:color-mix(in srgb, var(--ink-accent) 30%, transparent)}.tab.on{color:var(--accent-deep)}.rec-day{margin:0 0 18px}.rec-day-head{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-accent);margin:14px 2px 8px;font-size:11.5px;font-weight:700}.rec{background:var(--card);border:1px solid color-mix(in srgb, var(--ink-accent) 18%, transparent);border-left:4px solid var(--line);border-radius:14px;gap:6px;padding:12px 14px;display:grid}.rec.rec-done,.rec.rec-ok{border-left-color:var(--good)}.rec.rec-wait{border-left-color:#e0a800}.rec.rec-bad{border-left-color:var(--danger)}.rec-top{align-items:center;gap:10px;min-width:0;display:flex}.rec-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:1.05em;font-weight:600;overflow:hidden}.rec-time{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:.85em}.rec-badge{border:1.5px solid;border-radius:999px;flex:none;padding:2px 10px;font-size:.78em;font-weight:700}.rec-badge.rec-done,.rec-badge.rec-ok{color:var(--good);background:var(--mint)}.rec-badge.rec-wait{color:#7a5600;background:var(--sun)}.rec-badge.rec-bad{color:var(--danger);background:var(--pink)}.rec-badge.rec-muted{color:var(--muted)}.rec-meta{color:var(--muted);font-size:.82em}.rec-body{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.rec-field{background:var(--lav-wash);overflow-wrap:anywhere;border-radius:10px;align-items:baseline;gap:6px;padding:4px 10px;font-size:.92em;display:inline-flex}.rec-field>span{color:var(--ink-accent);font-size:.82em;font-weight:600}.rec-note{font-family:var(--serif);color:var(--text);flex-basis:100%;margin:2px 0 0;line-height:1.45}.rec-reason{color:var(--danger);margin:0;font-size:.9em}.pull-refresh{top:env(safe-area-inset-top);z-index:60;background:var(--card);color:var(--ink-accent);border:1.5px solid color-mix(in srgb, var(--ink-accent) 35%, transparent);pointer-events:none;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:.9em;font-weight:600;display:flex;position:fixed;left:50%;box-shadow:0 6px 20px #2b1d551f}.pull-refresh span{font-size:1.2em;display:inline-block}.pull-refresh .spin{animation:.8s linear infinite pull-spin}@keyframes pull-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.pull-refresh .spin{animation:none}}.push-strip{background:var(--card);border:1.5px solid color-mix(in srgb, var(--ink-accent) 35%, transparent);color:var(--text);border-radius:12px;flex-wrap:wrap;flex-basis:100%;align-items:center;gap:8px 10px;margin:4px 0 2px;padding:8px 12px;font-size:1.05em;font-weight:600;display:flex}.push-strip.new{background:var(--sun);color:#4a3500;border-color:#b98a00}.push-msg{color:var(--danger);flex-basis:100%;font-size:.92em;font-weight:500}.approvals-btn.has{background:var(--accent-deep);color:#fff;border-radius:999px;padding:0 12px}.approvals-btn.fresh{animation:1.2s ease-in-out 3 pulse}@keyframes pulse{50%{transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.approvals-btn.fresh{animation:none}}.task.done{background:color-mix(in srgb, var(--mint) 45%, var(--card));border-color:color-mix(in srgb, var(--good) 35%, transparent)}.badge-done{font-family:var(--mono);letter-spacing:.02em;background:var(--mint);color:var(--good);border:1.5px solid var(--good);border-radius:999px;padding:1px 9px;font-size:11px;font-weight:700}.sheet-backdrop{padding-bottom:var(--kb,0px);transition:padding-bottom .15s ease-out}.backdrop{padding-bottom:calc(16px + var(--kb,0px))}.sheet{max-height:calc(var(--vvh,100dvh) - 12px);overflow-y:auto}.modal{max-height:calc(var(--vvh,100dvh) - 24px)}.row-sub-btn{border:1.5px solid var(--ink-accent);min-height:34px;color:var(--ink-accent);background:0 0;border-radius:999px;justify-self:start;margin:-2px 0 4px 44px;padding:0 14px;font-size:.88em;font-weight:600}.approval-info{grid-template-columns:max-content 1fr;gap:4px 12px;margin:6px 0 8px;font-size:.92em;display:grid}.approval-info>div{display:contents}.approval-info dt{color:var(--ink-accent);font-weight:600}.approval-info dd{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:6px;margin:0;display:flex}.badge-early{background:var(--lav);color:var(--accent-deep);border:1.5px solid var(--accent-deep);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700}.quick-dates{flex-wrap:wrap;gap:6px;display:flex}.stat-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.heatmap{grid-template-rows:repeat(7,1fr);grid-auto-flow:column;gap:3px;padding:4px 0;display:grid;overflow-x:auto}.heat{background:color-mix(in srgb, var(--ink-accent) 13%, var(--card));border-radius:3px;width:13px;height:13px}.heat.out{visibility:hidden}.heat.today{outline:2px solid var(--accent-deep);outline-offset:1px}.heat-legend{margin:6px 0 0;font-size:.82em}.stat-cards .stat:nth-child(3){background:var(--peach);border-color:#0000}.swipe-row{list-style:none;position:relative}.swipe-row>.task{z-index:1;touch-action:pan-y;min-width:64px;transition:width .22s cubic-bezier(.2,.8,.2,1);position:relative}.swipe-row.swiping:not(.open)>.task{transition:none}.swipe-actions{justify-content:flex-end;align-items:center;gap:0;padding-left:12px;display:flex;position:absolute;top:0;bottom:0;left:auto;right:0}.swipe-row:not(.swiping):not(.open) .swipe-actions{visibility:hidden}.sw-btn{width:76px;height:auto;min-height:0;color:var(--text);background:0 0;border:none;justify-items:center;gap:5px;padding:0;display:grid;border-radius:0!important}.sw-circle{border-radius:50%;place-items:center;width:54px;height:54px;transition:transform .18s cubic-bezier(.2,.8,.2,1);display:grid;box-shadow:0 6px 14px -6px #2b1d5559}.sw-btn:active .sw-circle{transform:scale(.92)}.sw-label{color:var(--muted);letter-spacing:-.01em;white-space:nowrap;font-size:11.5px;font-weight:700}.sw-btn.star .sw-circle{color:#a26f00;background:#fff1c2}.sw-btn.later .sw-circle{background:var(--lav);color:var(--accent-deep)}.sw-btn.date .sw-circle{background:var(--accent-deep);color:#fff}.sw-btn.del .sw-circle{background:var(--danger);color:#fff}.swipe-row.open .sw-btn{animation:.24s cubic-bezier(.2,.8,.2,1) both sw-in}.swipe-row.open .sw-btn:nth-child(2){animation-delay:30ms}.swipe-row.open .sw-btn:nth-child(3){animation-delay:60ms}.swipe-row.open .sw-btn:nth-child(4){animation-delay:90ms}@keyframes sw-in{0%{opacity:0;transform:translate(14px)scale(.85)}to{opacity:1;transform:none}}.dsheet{width:min(560px,100%);max-height:calc(var(--vvh,100dvh) - 12px);background:var(--bg);padding:10px 14px calc(16px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;gap:12px;animation:.24s cubic-bezier(.2,.8,.2,1) rise;display:grid;overflow-y:auto;box-shadow:0 -12px 40px #2b1d552e}.dsheet:before{content:"";background:color-mix(in srgb, var(--ink-accent) 25%, transparent);border-radius:3px;justify-self:center;width:40px;height:5px}.dsheet-head{grid-template-columns:44px 1fr 44px;align-items:center;display:grid}.dsheet-head h2{text-align:center;color:var(--text);margin:0;font-family:inherit;font-size:1.08em;font-weight:700}.round-btn{background:var(--card);width:40px;height:40px;min-height:0;color:var(--muted);border:none;place-items:center;padding:0;display:grid;border-radius:50%!important}.round-btn.ok{background:var(--accent-deep);color:#fff;justify-self:end}.dsheet-card{background:var(--card);border:1px solid color-mix(in srgb, var(--ink-accent) 14%, transparent);border-radius:20px;gap:10px;padding:12px 14px;display:grid}.mcal-head{justify-content:center;align-items:center;gap:10px;display:flex}.mcal-head strong{text-align:center;font-variant-numeric:tabular-nums;min-width:104px;font-size:1.05em}.mcal{grid-template-columns:repeat(7,1fr);justify-items:center;gap:2px;display:grid}.mcal-wd{color:var(--muted);padding:4px 0;font-size:12px;font-weight:600}.mcal-day{font-variant-numeric:tabular-nums;width:40px;height:40px;min-height:0;color:var(--text);background:0 0;border:none;padding:0;font-size:.98em;border-radius:50%!important}.mcal-day.out{color:color-mix(in srgb, var(--muted) 55%, transparent)}.mcal-day.today{box-shadow:inset 0 0 0 1.5px var(--accent-deep);color:var(--accent-deep);font-weight:700}.mcal-day.sel{background:var(--accent-deep);color:#fff;box-shadow:0 4px 10px -4px var(--accent-deep);font-weight:700}.seg{background:var(--lav-wash);border-radius:999px;flex-wrap:wrap;gap:4px;margin-left:auto;padding:3px;display:inline-flex}.seg button{min-height:32px;color:var(--muted);background:0 0;border:none;padding:0 12px;font-size:.86em;font-weight:600;border-radius:999px!important}.seg button.on{background:var(--card);color:var(--accent-deep);box-shadow:0 2px 6px -2px #2b1d5540}.dsheet .row-item{min-height:50px}.confirm{background:var(--card);border-radius:24px;gap:8px;width:min(360px,100%);padding:22px 18px 16px;animation:.2s cubic-bezier(.2,.8,.2,1) pop;display:grid;box-shadow:0 24px 60px #2b1d554d}.confirm h2{color:var(--text);margin:0;font-family:inherit;font-size:1.08em;font-weight:700}.confirm p{color:var(--muted);margin:0 0 8px;font-size:.92em;line-height:1.45}.confirm-btns{grid-template-columns:1fr 1fr;gap:10px;display:grid}.confirm-btns button{background:var(--lav-wash);min-height:48px;color:var(--text);border:none;font-weight:700;border-radius:16px!important}.confirm-btns .danger-fill{background:var(--danger);color:#fff}@keyframes pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}.cheer-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1b133573}.cheer-pop{text-align:center;background:linear-gradient(180deg, var(--lav) 0%, var(--card) 55%);border-radius:30px;justify-items:center;gap:6px;width:min(360px,100%);margin-top:70px;padding:0 22px 20px;animation:.26s cubic-bezier(.2,.8,.2,1) pop;display:grid;position:relative;box-shadow:0 30px 70px #2b1d5559}.cheer-x{background:color-mix(in srgb, var(--ink-accent) 12%, var(--card));width:32px;height:32px;min-height:0;color:var(--muted);z-index:1;border:none;place-items:center;padding:0;display:grid;position:absolute;top:12px;right:12px;border-radius:50%!important}.cheer-badge{width:240px;height:120px;margin-top:-72px;position:relative}.cheer-stars{width:240px;height:150px;position:absolute;top:0;bottom:auto;left:0;right:0}.cheer-stars .st{fill:#ffcf3f;stroke:#e5a900;stroke-width:.8px;transform-box:fill-box;transform-origin:50%;animation:.5s cubic-bezier(.2,1.4,.4,1) both star-pop}.cheer-stars .st1{animation-delay:80ms}.cheer-stars .st2{animation-delay:.12s}.cheer-stars .st3{animation-delay:.18s}.cheer-stars .st4{animation-delay:.22s}@keyframes star-pop{0%{opacity:0;scale:.2}to{opacity:1;scale:1}}.cheer-dome{background:var(--lav);width:112px;height:112px;box-shadow:0 0 0 6px var(--card);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-14px;left:50%;translate:-50%}.cheer-thumb{transform-origin:30% 90%;width:66px;height:66px;animation:.6s cubic-bezier(.2,1.4,.4,1) .1s both thumb}.cheer-thumb .hand{fill:#fff;stroke:var(--text);stroke-width:2.4px;stroke-linejoin:round}.cheer-thumb .cuff{fill:var(--accent);stroke:var(--text);stroke-width:2.4px}@keyframes thumb{0%{opacity:0;transform:rotate(-25deg)scale(.6)}to{opacity:1;transform:none}}.cheer-pop h2{color:var(--text);letter-spacing:-.02em;margin:26px 0 0;font-family:inherit;font-size:1.32em;font-weight:800}.cheer-pop p{color:var(--muted);margin:0 0 14px;font-family:inherit;font-size:.94em;line-height:1.45}.cheer-ok{width:100%;min-height:52px!important;font-size:1.02em!important}@media (prefers-reduced-motion:reduce){.cheer-pop,.cheer-stars .st,.cheer-thumb,.confirm,.dsheet,.swipe-row.open .sw-btn{animation:none}}.cheer-stars{z-index:1;pointer-events:none}.cheer-dome{z-index:0}.dash{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-items:start}.dash-card h3{color:var(--muted);margin-top:10px;font-size:.9em;font-weight:700}.dash-stats{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.ds{color:var(--muted);background:var(--card);border-radius:14px;justify-items:center;padding:8px 2px;font-size:.76em;font-weight:600;display:grid}.ds b{font-variant-numeric:tabular-nums;color:var(--text);font-size:1.6em;line-height:1.1}.ds.done b{color:#16a34a}.ds.pending b{color:#d97706}.ds.rejected b{color:var(--danger)}.ds.open b{color:var(--accent-deep)}.dash-tasks{gap:6px;margin:0;padding:0;list-style:none;display:grid}.dt{background:var(--card);border-left:4px solid var(--lav);border-radius:14px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.dt.done{border-left-color:#22c55e}.dt.pending{border-left-color:#f59e0b}.dt.rejected{border-left-color:var(--danger)}.dt.done .dt-body strong{color:var(--muted)}.dt-pill{text-align:center;background:var(--lav-wash);min-width:58px;color:var(--accent-deep);border-radius:999px;flex:none;padding:3px 8px;font-size:.72em;font-weight:700}.dt-pill.done{color:#15803d;background:#dcfce7}.dt-pill.pending{color:#b45309;background:#fef3c7}.dt-pill.rejected{color:#b91c1c;background:#fee2e2}.dt-body{gap:2px;min-width:0;display:grid}.dt-body strong{overflow-wrap:anywhere;font-size:.95em}.dt-body small{color:var(--muted);font-size:.78em}.dt-rep{color:var(--muted);font-size:.85em;font-weight:500}.dt-rec{color:#15803d!important}.dt-reason{color:var(--danger)!important}.dash-week{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.dw{background:var(--card);border-radius:12px;justify-items:center;gap:2px;padding:6px 0;font-size:.74em;display:grid}.dw i{color:var(--muted);font-style:normal;font-weight:600}.dw b{font-variant-numeric:tabular-nums}.dw.today{box-shadow:inset 0 0 0 1.5px var(--accent-deep)}.dw.full{background:#dcfce7}.dw.full b{color:#15803d}.dw.future{opacity:.55}.approvals-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.who-pick{background:var(--lav-wash);border-radius:999px;align-items:center;gap:4px;padding:3px;display:inline-flex}.who-pick .who-q{color:var(--muted);padding:0 8px 0 6px;font-size:.82em;font-weight:700}.who-pick button{min-height:34px;color:var(--muted);background:0 0;border:none;padding:0 14px;font-size:.9em;font-weight:700;border-radius:999px!important}.who-pick button.on{background:var(--card);color:var(--accent-deep);box-shadow:0 2px 6px -2px #2b1d554d}.who-pick.need{animation:1.6s ease-in-out infinite who-need;box-shadow:0 0 0 2px #f59e0b}.who-pick.need .who-q{color:#b45309}@keyframes who-need{50%{box-shadow:0 0 0 4px #f59e0b59}}.who-pick.compact{margin-right:auto}.decide button:disabled{opacity:.45}@media (prefers-reduced-motion:reduce){.who-pick.need{animation:none}}
