@import "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:wght@400;500;600;700;800&display=swap";.polysyoppo-creature{transform-origin:50%;color:inherit;line-height:0;font:inherit;cursor:default;-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}.polysyoppo-creature--interactive{cursor:pointer;transition:transform .16s ease-out}.polysyoppo-creature--interactive:hover{transform:translateY(-1px)}.polysyoppo-creature--interactive:active{transform:translateY(0)}.polysyoppo-creature--interactive:focus-visible{outline:2px solid var(--clr-orange,#d98e73);outline-offset:3px;border-radius:999px}.polysyoppo-creature__svg{overflow:visible}.polysyoppo-creature--appearance-twinkle .polysyoppo-creature__svg,.polysyoppo-creature--appearance-horns .polysyoppo-creature__svg,.polysyoppo-creature--appearance-royal .polysyoppo-creature__svg{display:block}.polysyoppo-creature__body,.polysyoppo-creature__eyes,.polysyoppo-creature__cheeks,.polysyoppo-creature__mouth,.polysyoppo-creature__horns-art,.polysyoppo-creature__royal-art{transform-origin:100px 100px}.polysyoppo-creature__twinkle-art{transform-box:view-box;transform-origin:100px 156px}.polysyoppo-creature__body{animation:5.2s ease-in-out infinite polysyoppo-idle-float}.polysyoppo-creature__shadow{transform-origin:100px 185px;animation:5.2s ease-in-out infinite polysyoppo-shadow-breathe}.polysyoppo-creature__shadow--twinkle{transform-origin:100px 188px}.polysyoppo-creature__sparkle{animation:polysyoppo-twinkle var(--twinkle-duration) ease-in-out infinite;animation-delay:var(--twinkle-delay)}.polysyoppo-creature__eyes{animation:5.4s ease-in-out infinite polysyoppo-blink}.polysyoppo-creature__nose{fill:#141210}.polysyoppo-creature__mouth--smile .polysyoppo-creature__mouth-line{stroke:#2a1c18;stroke-width:2.5px}.polysyoppo-creature--hungry .polysyoppo-creature__body,.polysyoppo-creature--starving .polysyoppo-creature__body,.polysyoppo-creature--hungry .polysyoppo-creature__eyes,.polysyoppo-creature--starving .polysyoppo-creature__eyes,.polysyoppo-creature--hungry .polysyoppo-creature__cheeks,.polysyoppo-creature--starving .polysyoppo-creature__cheeks,.polysyoppo-creature--hungry .polysyoppo-creature__mouth,.polysyoppo-creature--starving .polysyoppo-creature__mouth,.polysyoppo-creature--hungry .polysyoppo-creature__twinkle-art,.polysyoppo-creature--starving .polysyoppo-creature__twinkle-art,.polysyoppo-creature--hungry .polysyoppo-creature__horns-art,.polysyoppo-creature--starving .polysyoppo-creature__horns-art,.polysyoppo-creature--hungry .polysyoppo-creature__royal-art,.polysyoppo-creature--starving .polysyoppo-creature__royal-art{filter:saturate(.8);transform:translateY(8px)scaleY(.9)}.polysyoppo-creature--happy .polysyoppo-creature__body,.polysyoppo-creature--happy .polysyoppo-creature__eyes,.polysyoppo-creature--happy .polysyoppo-creature__cheeks,.polysyoppo-creature--happy .polysyoppo-creature__mouth{animation:.62s cubic-bezier(.15,1.35,.35,1) polysyoppo-eating-pop,5.2s ease-in-out .62s infinite polysyoppo-idle-float}.polysyoppo-creature--appearance-twinkle .polysyoppo-creature__twinkle-art{animation:none}.polysyoppo-creature--appearance-twinkle.polysyoppo-creature--happy .polysyoppo-creature__twinkle-art{animation:.62s cubic-bezier(.15,1.35,.35,1) polysyoppo-eating-pop}.polysyoppo-creature--appearance-horns .polysyoppo-creature__horns-art{animation:none}.polysyoppo-creature--appearance-horns.polysyoppo-creature--happy .polysyoppo-creature__horns-art{animation:.62s cubic-bezier(.15,1.35,.35,1) polysyoppo-eating-pop}.polysyoppo-creature--appearance-royal .polysyoppo-creature__royal-art{animation:none}.polysyoppo-creature--appearance-royal.polysyoppo-creature--happy .polysyoppo-creature__royal-art{animation:.62s cubic-bezier(.15,1.35,.35,1) polysyoppo-eating-pop}@keyframes polysyoppo-idle-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes polysyoppo-shadow-breathe{0%,to{opacity:.35;transform:scale(1)}50%{opacity:.24;transform:scale(.92,.82)}}@keyframes polysyoppo-twinkle{0%,to{opacity:.4}50%{opacity:1}}@keyframes polysyoppo-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.08)}}@keyframes polysyoppo-eating-pop{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.polysyoppo-creature__body,.polysyoppo-creature__shadow,.polysyoppo-creature__sparkle,.polysyoppo-creature__eyes,.polysyoppo-creature--happy .polysyoppo-creature__body,.polysyoppo-creature--happy .polysyoppo-creature__twinkle-art,.polysyoppo-creature--happy .polysyoppo-creature__horns-art,.polysyoppo-creature--happy .polysyoppo-creature__royal-art,.polysyoppo-creature--happy .polysyoppo-creature__eyes,.polysyoppo-creature--happy .polysyoppo-creature__cheeks,.polysyoppo-creature--happy .polysyoppo-creature__mouth{animation:none!important}}.bottom-nav{inset-inline:0;z-index:60;padding:0 14px calc(10px + env(safe-area-inset-bottom,0));pointer-events:none;justify-content:center;display:flex;position:fixed;bottom:0}.bottom-nav-shell{pointer-events:auto;border:1px solid var(--clr-border);background:var(--clr-surface);border-radius:20px;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;width:min(100%,680px);padding:8px;display:grid;box-shadow:0 20px 45px #2c3e501f}.nav-tab{min-height:48px;color:var(--clr-text-faint);transition:transform var(--trans-base), color var(--trans-base), background var(--trans-base), box-shadow var(--trans-base);-webkit-tap-highlight-color:transparent;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:7px 4px;display:flex;position:relative}.nav-tab:hover{color:var(--clr-text)}.nav-tab:active{transform:scale(.96)}.nav-tab--active,.nav-tab[aria-current=page]{color:#fff;background:var(--clr-nav);box-shadow:inset 0 1px #ffffff14,0 12px 24px #2c3e502e}.nav-tab--active:before{content:none}.nav-tab--active .nav-label,.nav-tab[aria-current=page] .nav-label{color:#fff;-webkit-text-fill-color:#fff}.nav-icon{width:20px;height:20px;transition:transform var(--trans-base);justify-content:center;align-items:center;display:inline-flex;position:relative}.nav-tab-badge{background:var(--clr-danger,#d4654a);color:#fff;letter-spacing:0;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.55rem;font-weight:800;line-height:1;display:inline-flex;position:absolute;top:-6px;right:-10px}.nav-icon svg{stroke:currentColor;stroke-width:1.55px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:100%;height:100%}.nav-tab--active .nav-icon{transform:translateY(-1px)scale(1.04)}.nav-tab--active .nav-icon svg,.nav-tab[aria-current=page] .nav-icon svg{stroke:#fff}.nav-label{letter-spacing:.06em;text-transform:uppercase;font-size:.6rem;font-weight:700;line-height:1}@media (width<=420px){.bottom-nav{padding-inline:10px}.bottom-nav-shell{border-radius:20px;gap:2px;padding:8px}.nav-label{letter-spacing:.06em;font-size:.62rem}}.profile-picker-page{justify-content:center;align-items:center;min-height:100dvh;padding:28px 20px;display:flex}.profile-picker-shell{flex-direction:column;gap:24px;width:min(100%,720px);display:flex}.profile-picker-brand{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.profile-picker-brand svg{stroke:#2c3e50;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:84px;height:26px}.profile-picker-kicker{color:var(--clr-text-faint);letter-spacing:.18em;text-transform:uppercase;font-size:.7rem;font-weight:700}.profile-picker-title{font-family:var(--font-serif);font-size:clamp(2rem,6vw,2.8rem);font-weight:400;line-height:.96}.profile-picker-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;display:grid}.profile-pick-card{border:1px solid var(--clr-border);min-height:190px;box-shadow:var(--shadow-clay), var(--shadow-inset);transition:transform var(--trans-base), border-color var(--trans-base), box-shadow var(--trans-base);background:#ffffffbd;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:18px;display:flex}.profile-pick-card:hover,.profile-pick-card:focus-visible{box-shadow:var(--shadow-md), var(--shadow-inset);border-color:#2c3e502e;transform:translateY(-2px)}.profile-pick-card:active{transform:scale(.985)}.profile-pick-avatar{object-fit:cover;width:74px;height:74px;box-shadow:var(--shadow-sm);border-radius:999px}.profile-pick-avatar--shadow{color:#fff;background:linear-gradient(135deg,#2c3e50,#a9c1d9);justify-content:center;align-items:center;font-size:1.25rem;font-weight:700;display:flex}.profile-pick-name{font-size:.96rem;font-weight:600}.profile-pick-role{color:var(--clr-text-faint);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:700}.profile-pick-error{color:var(--clr-danger);font-size:.7rem}.quick-add-modal{flex-direction:column;gap:14px;display:flex}.quick-add-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.quick-add-meta{flex-wrap:wrap;gap:8px;display:flex}.quick-add-points-badge{color:#fff;background:#d98e73;border-color:#d98e73}.quick-add-summary{background:linear-gradient(#fffffff0,#f5f8fbd6),#ffffffd6}.quick-add-self-note{align-items:center;gap:10px;display:flex}.quick-add-self-note p{font-size:var(--text-xs)}.quick-add-empty{text-align:center}.quick-add-empty-action{margin-top:12px}.quick-add-label-row{align-items:center;gap:6px;margin-bottom:6px;display:flex}.quick-add-label-row .form-label{margin-bottom:0}.quick-add-tip-wrap{position:relative}.quick-add-tip-btn{width:20px;height:20px;color:var(--clr-text-muted);cursor:pointer;transition:color var(--trans-base);background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.quick-add-tip-btn--active,.quick-add-tip-btn:hover{color:var(--clr-text)}.quick-add-tip-btn svg{stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;fill:none;width:16px;height:16px}.quick-add-tip{width:230px;color:var(--clr-text-muted);z-index:10;background:#fff;border-radius:12px;padding:10px 12px;font-size:.78rem;line-height:1.5;animation:.14s fadeSlideDown;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 6px 20px #2d3a3a24,0 1px 4px #2d3a3a12}.quick-add-tip-link{font-size:inherit;color:var(--clr-orange-light,#d98e73);text-underline-offset:2px;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline;display:inline}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.modal-title-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.modal-title{font-family:var(--font-serif);margin-bottom:0;font-size:clamp(2rem,4vw,2.6rem);font-weight:400;line-height:.96}.modal-points-badge{letter-spacing:.1em;color:#fff;background:#d98e73;border-color:#d98e73;min-height:22px;margin-top:6px;padding:4px 10px;font-size:.56rem;font-weight:700}.modal-desc{margin-top:var(--space-xs);font-size:var(--text-sm);line-height:1.7}.modal-actions{gap:var(--space-sm);display:flex}.modal-confirm-btn{min-height:50px}.modal-cancel-btn{min-height:50px;color:var(--clr-text-muted);box-shadow:none;background:0 0}.modal-cancel-btn:hover,.modal-cancel-btn:focus-visible{color:var(--clr-text);text-underline-offset:3px;text-decoration:underline}.modal-history-card{border:1px solid var(--clr-border);background:#ffffff5c}.modal-history-row{font-size:var(--text-xs)}.modal-history-action{color:var(--clr-danger);padding:4px 8px}.completion-success{padding:var(--space-xl) 0;text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.success-circle{color:#f8fbfd;background:linear-gradient(135deg,#2c3e50f0,#a9c1d9e6);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;font-size:2rem;font-weight:800;display:flex;box-shadow:0 22px 36px #2c3e502e}.completion-success h2{font-family:var(--font-serif);font-size:clamp(2rem,4vw,2.6rem);font-weight:400;line-height:.96}.completion-success p{max-width:24rem;color:var(--clr-text-muted);font-size:var(--text-base);line-height:1.7}.modal-performer-select{width:100%;margin-top:6px}.modal-performer-readonly{font-size:var(--text-sm);margin-top:6px}.modal-date-row{align-items:center;gap:10px;margin-top:8px;display:flex}.modal-date-chips{flex:1;min-width:0}.modal-calendar-btn{border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;padding:0;display:inline-flex}.modal-calendar-glyph{stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:22px;height:22px}.modal-date-input-screenreader{opacity:0;z-index:-1;border:0;width:1px;height:1px;margin:0;padding:0;position:fixed;top:0;left:0}@media (width<=640px){.modal-title-row{flex-direction:column;gap:8px}.modal-points-badge{margin-top:0}.modal-actions{flex-direction:column-reverse}.modal-confirm-btn,.modal-cancel-btn{width:100%}}.medallion-wrap{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;align-items:center;gap:5px;padding:0;display:flex;position:relative}.matka-badge-grid .medallion-wrap{width:100%;min-width:0;max-width:100%}.medallion-wrap--locked:before{content:"?";background:var(--clr-nav,#2a3535);border:1.5px solid var(--clr-border2,#3a4a4a);width:17px;height:17px;color:var(--clr-text-muted,#8a9999);z-index:1;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;font-size:.65rem;font-weight:700;line-height:1;display:flex;position:absolute;top:-4px;right:-2px}.medallion-wrap--attention:before{content:"";box-sizing:border-box;z-index:1;pointer-events:none;background:#ea580c;border:1.5px solid #fffffff2;border-radius:50%;width:17px;height:17px;position:absolute;top:-4px;right:-2px;box-shadow:0 0 0 .5px #0000001f}.medallion{flex-shrink:0;width:64px;height:64px;position:relative}.medallion--sm{width:52px;height:52px}.medallion--lg{width:88px;height:88px}.medallion svg.medallion-svg{width:100%;height:100%;overflow:visible}.medallion-icon-text{font-family:var(--font-serif);fill:#fffffff2;text-anchor:middle;dominant-baseline:central;-webkit-user-select:none;user-select:none;letter-spacing:-.02em;font-size:14px;font-weight:700}.medallion--sm .medallion-icon-text{font-size:11px}.medallion--lg .medallion-icon-text{font-size:18px}.medallion--bronze .medallion-fill{fill:url(#grad-bronze)}.medallion--bronze .medallion-dot{fill:url(#grad-bronze);filter:brightness(.78)}.medallion--silver .medallion-fill{fill:url(#grad-silver)}.medallion--silver .medallion-dot{fill:url(#grad-silver);filter:brightness(.78)}.medallion--gold .medallion-fill{fill:url(#grad-gold)}.medallion--gold .medallion-dot{fill:url(#grad-gold);filter:brightness(.78)}.medallion--legend .medallion-fill{fill:url(#grad-legend)}.medallion--legend .medallion-dot{fill:url(#grad-legend);filter:brightness(.78)}.medallion--locked .medallion-fill,.medallion--locked .medallion-dot{filter:saturate(.15)brightness(.72)}.medallion--locked .medallion-icon-text{opacity:.45}@keyframes medalShine{0%,80%,to{opacity:0}90%{opacity:.3}}.medallion-shine{pointer-events:none}.medallion--unlocked .medallion-shine{animation:6s ease-in-out infinite medalShine}@keyframes medalPulse{0%,to{opacity:.15;r:34}50%{opacity:.45;r:38}}.medallion-pulse-ring{fill:none;stroke-width:3px;animation:2.2s ease-in-out infinite medalPulse}.medallion--bronze .medallion-pulse-ring{stroke:#c8773c}.medallion--silver .medallion-pulse-ring{stroke:#8d98a4}.medallion--gold .medallion-pulse-ring{stroke:#c8922e}.medallion--legend .medallion-pulse-ring{stroke:#7c3aed}.medallion-label{color:var(--clr-text);text-align:center;width:100%;max-width:100%;font-weight:600;line-height:1.2}.matka-badge-grid .medallion-label{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:clamp(.54rem,1.75vw,.66rem);display:block;overflow:hidden}.medallion--locked .medallion-label{color:var(--clr-text-muted)}.medallion-bar{background:#00000014;border-radius:99px;width:100%;height:3px;margin-top:4px;overflow:hidden}.medallion-bar-fill{background:var(--clr-orange);border-radius:99px;height:100%;transition:width .4s}.matka-path{flex-direction:column;gap:0;padding-bottom:32px;display:flex;position:relative}.matka-spine{background:var(--clr-border2);z-index:0;border-radius:1px;width:2px;position:absolute;top:24px;bottom:0;left:19px}.matka-chapter{align-items:flex-start;gap:14px;padding:10px 0;display:flex;position:relative}.matka-node{z-index:1;flex-shrink:0;place-items:center;width:40px;height:40px;margin-top:4px;display:grid;position:relative}.matka-node-circle{border:2px solid var(--clr-border2);background:var(--clr-bg);width:20px;height:20px;transition:border-color var(--trans-base), background var(--trans-base);border-radius:50%;place-items:center;display:grid}.matka-chapter--done .matka-node-circle{background:var(--clr-nav);border-color:var(--clr-nav)}.matka-chapter--active .matka-node-circle{border-color:var(--clr-orange);background:var(--clr-bg)}.matka-node-check{stroke:#fff;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:10px;height:10px}.matka-card{background:var(--clr-surface);border-radius:var(--radius-lg);border:1px solid var(--clr-border);box-shadow:var(--shadow-sm);flex:1;min-width:0;padding:14px 14px 16px}.matka-chapter--done .matka-card{background:#faf4ee;border-color:#c8773c26}.matka-card-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.matka-card-title{color:var(--clr-text);font-size:.9rem;font-weight:700;font-family:var(--font-serif)}.matka-card-count{color:var(--clr-text-muted);margin-left:6px;font-size:.78rem;font-weight:500}.matka-card-status{letter-spacing:.03em;color:var(--clr-text-faint);font-size:.72rem;font-weight:600}.matka-card-status--done{color:var(--clr-success)}.matka-progress-bar{background:var(--clr-border2);border-radius:99px;height:4px;margin-bottom:14px;overflow:hidden}.matka-progress-fill{border-radius:99px;height:100%;transition:width .6s cubic-bezier(.22,1,.36,1)}.matka-chapter--done .matka-progress-fill{background:#c8773c}.matka-chapter--active .matka-progress-fill{background:var(--clr-orange)}.matka-chapter--locked .matka-progress-fill{background:var(--clr-border2)}.matka-badge-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 6px;display:grid}.matka-badge-grid>[role=listitem]{justify-content:center;min-width:0;display:flex}@media (width<=400px){.matka-badge-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.streak-hero{background:var(--clr-surface);border-radius:var(--radius-lg);border:1px solid var(--clr-border);box-shadow:var(--shadow-sm);align-items:center;gap:14px;margin-bottom:14px;padding:16px 18px;display:flex}.streak-flame-wrap{flex-shrink:0;width:48px;height:48px;position:relative}.streak-flame-svg{width:100%;height:100%}@keyframes flamePulse{0%,to{transform:scale(1)rotate(0)}35%{transform:scale(1.1)rotate(-4deg)}65%{transform:scale(1.08)rotate(4deg)}}.streak-flame-svg--active{transform-origin:bottom;animation:2.4s ease-in-out infinite flamePulse}.streak-body{flex:1;min-width:0}.streak-number{font-family:var(--font-serif);color:var(--clr-text);font-size:2rem;font-weight:700;line-height:1}.streak-unit{color:var(--clr-text-muted);margin-left:4px;font-size:.82rem}.streak-best{color:var(--clr-text-faint);margin-top:2px;font-size:.78rem}.streak-warning{border-radius:var(--radius-sm);color:var(--clr-orange);background:#d98e731f;border:1px solid #d98e734d;align-items:center;gap:6px;margin-top:6px;padding:6px 10px;font-size:.76rem;font-weight:600;display:flex}.streak-flame--warm .streak-fill{fill:#e8774a}.streak-flame--gold .streak-fill{fill:#e8a030}.streak-flame--epic .streak-fill{fill:#e05c20}.streak-flame--none .streak-fill{fill:#b0babb}.level-bar-wrap{background:var(--clr-surface);border-radius:var(--radius-lg);border:1px solid var(--clr-border);box-shadow:var(--shadow-sm);margin-bottom:14px;padding:14px 16px}.level-bar-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.level-bar-name{color:var(--clr-text);font-size:.88rem;font-weight:700;font-family:var(--font-serif)}.level-bar-level{color:var(--clr-text-muted);font-size:.76rem;font-weight:600}.level-bar-track{background:var(--clr-border2);border-radius:99px;height:6px;margin-bottom:6px;overflow:hidden}.level-bar-fill{background:linear-gradient(90deg, var(--clr-nav), var(--clr-orange));border-radius:99px;height:100%;transition:width .8s cubic-bezier(.22,1,.36,1)}.level-bar-meta{color:var(--clr-text-faint);justify-content:space-between;font-size:.72rem;display:flex}.avatut-wrap{margin-bottom:18px}.avatut-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:10px;padding-bottom:4px;display:flex;overflow-x:auto}.avatut-scroll::-webkit-scrollbar{display:none}.avatut-item{border:1px solid var(--clr-border);cursor:pointer;width:68px;transition:background var(--trans-fast), transform var(--trans-fast);-webkit-tap-highlight-color:transparent;background:#fff9;border-radius:14px;flex-direction:column;flex-shrink:0;align-items:center;gap:6px;padding:8px 4px;display:flex}.avatut-item:hover{background:#ffffffe0}.avatut-item:active{transform:scale(.95)}.avatut-item-label{color:var(--clr-text-muted);text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.62rem;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.tanaan-wrap{margin-bottom:14px}.tanaan-title{letter-spacing:.14em;text-transform:uppercase;color:var(--clr-orange);margin-bottom:8px;padding-left:2px;font-size:.76rem;font-weight:700}.tanaan-list{flex-direction:column;gap:8px;display:flex}.tanaan-card{background:var(--clr-surface);border-radius:var(--radius-md);border:1px solid var(--clr-border);box-shadow:var(--shadow-sm);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;align-items:center;gap:12px;width:100%;padding:10px 14px;display:flex}.tanaan-card-copy{flex:1;min-width:0}.tanaan-card-label{color:var(--clr-text);font-size:.85rem;font-weight:600;display:block}.tanaan-card-hint{color:var(--clr-text-muted);margin-top:1px;font-size:.75rem;display:block}.tanaan-card-bar{background:#00000014;border-radius:99px;flex-shrink:0;align-self:center;width:48px;height:5px;overflow:hidden}.tanaan-card-bar-fill{background:var(--clr-orange);border-radius:99px;height:100%}.perhe-lb-wrap{margin-bottom:14px}.perhe-lb-title{letter-spacing:.06em;text-transform:uppercase;color:var(--clr-text-muted);margin-bottom:8px;padding-left:2px;font-size:.78rem;font-weight:700}.perhe-lb-list{flex-direction:column;gap:6px;list-style:none;display:flex}.perhe-lb-row{background:var(--clr-surface);border-radius:var(--radius-md);border:1px solid var(--clr-border);box-shadow:var(--shadow-sm);align-items:center;gap:10px;padding:10px 12px;display:flex}.perhe-lb-row--me{background:#2d3a3a0a;border-color:#2d3a3a40}.perhe-lb-rank{color:var(--clr-text-faint);text-align:center;flex-shrink:0;width:20px;font-size:.78rem;font-weight:700}.perhe-lb-name{color:var(--clr-text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.88rem;font-weight:600;overflow:hidden}.perhe-lb-streak{color:var(--clr-text-muted);flex-shrink:0;align-items:center;gap:3px;font-size:.78rem;font-weight:600;display:flex}.perhe-lb-streak-svg{flex-shrink:0;width:13px;height:13px}.perhe-lb-pts{color:var(--clr-text);text-align:right;flex-shrink:0;min-width:42px;font-size:.8rem;font-weight:700}.badge-modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:200;padding:0 0 env(safe-area-inset-bottom,0);background:#1a1c1e80;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.badge-modal-sheet{background:var(--clr-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:480px;box-shadow:var(--shadow-lg);flex-direction:column;align-items:center;gap:10px;padding:20px 20px 36px;animation:.3s cubic-bezier(.22,1,.36,1) sheetUp;display:flex}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.badge-modal-handle{background:var(--clr-border2);border-radius:2px;flex-shrink:0;align-self:center;width:36px;height:4px;margin-bottom:6px}.badge-modal-title{font-family:var(--font-serif);color:var(--clr-text);text-align:center;font-size:1.3rem;font-weight:700}.badge-modal-desc{color:var(--clr-text-muted);text-align:center;font-size:.9rem;line-height:1.5}.badge-modal-progress-wrap{background:var(--clr-border2);border-radius:99px;width:100%;height:6px;margin-top:4px;overflow:hidden}.badge-modal-progress-fill{border-radius:99px;height:100%;transition:width .6s cubic-bezier(.22,1,.36,1)}.badge-modal-progress-text{color:var(--clr-text-muted);text-align:center;font-size:.8rem}.badge-modal-helper{color:var(--clr-text-muted);text-align:center;background:var(--clr-bg2);border-radius:var(--radius-sm);width:100%;padding:8px 14px;font-size:.82rem}.badge-modal-rewards{justify-content:center;gap:8px;width:100%;display:flex}.badge-modal-reward{border-radius:var(--radius-sm);color:var(--clr-orange);background:#d98e731f;border:1px solid #d98e734d;align-items:center;gap:6px;padding:5px 10px;font-size:.82rem;font-weight:600;display:inline-flex}.badge-modal-date{color:var(--clr-text-faint);text-align:center;font-size:.75rem}.badge-celebration-overlay{z-index:300;-webkit-backdrop-filter:blur(6px);background:#1a1c1ea6;justify-content:center;align-items:center;animation:.2s celebFadeIn;display:flex;position:fixed;inset:0}@keyframes celebFadeIn{0%{opacity:0}to{opacity:1}}.badge-celebration-card{background:var(--clr-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);flex-direction:column;align-items:center;gap:14px;min-width:260px;max-width:320px;padding:32px 28px 28px;animation:.38s cubic-bezier(.22,1,.36,1) celebScale;display:flex;position:relative;overflow:hidden}@keyframes celebScale{0%{opacity:0;transform:scale(.7)translateY(30px)}to{opacity:1;transform:scale(1)translateY(0)}}.badge-celebration-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--clr-text-muted);font-size:.78rem;font-weight:700}.badge-celebration-title{font-family:var(--font-serif);color:var(--clr-text);text-align:center;font-size:1.5rem;font-weight:700}.badge-celebration-reward{color:var(--clr-orange);text-align:center;font-size:.88rem;font-weight:600}.badge-confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.badge-confetti-piece{border-radius:50%;width:7px;height:7px;position:absolute;top:-10px}@keyframes confettiFall{0%{opacity:1;transform:translateY(0)rotate(0)scale(1)}80%{opacity:1}to{opacity:0;transform:translateY(320px)rotate(540deg)scale(.6)}}@media (prefers-reduced-motion:reduce){.streak-flame-svg--active,.medallion--unlocked .medallion-shine,.medallion-pulse-ring,.badge-confetti-piece{animation:none!important}}.merkit-tab{flex-direction:column;padding-top:4px;display:flex}.medallion-defs{width:0;height:0;position:absolute;overflow:hidden}.merkit-home-card{background:var(--clr-surface);border-radius:var(--radius-lg);border:1px solid var(--clr-border);box-shadow:var(--shadow-sm);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;align-items:center;gap:12px;width:100%;margin-bottom:14px;padding:14px 16px;display:flex}.merkit-home-card-body{flex:1;min-width:0}.merkit-home-card-title{color:var(--clr-text);font-size:.88rem;font-weight:700;display:block}.merkit-home-card-sub{color:var(--clr-text-muted);margin-top:2px;font-size:.76rem;display:block}.merkit-home-card-sub--warning{color:var(--clr-orange);font-weight:600}.merkit-home-card-arrow{width:18px;height:18px;stroke:var(--clr-text-faint);stroke-width:1.8px;fill:none;flex-shrink:0}.topbar-streak{color:var(--clr-text-muted);align-items:center;gap:4px;font-size:.82rem;font-weight:700;display:flex}.topbar-streak-svg{transform-origin:bottom;width:18px;height:18px;animation:2.4s ease-in-out infinite flamePulse}.polysyoppo-banner{border-radius:var(--radius-md,12px);color:inherit;background:radial-gradient(circle at 15% 15%,#ffffffb3,#0000 36%),linear-gradient(#ffffffbd,#ffffff7a);border:1px solid #fff9;align-items:center;gap:14px;padding:12px 14px;text-decoration:none;transition:transform .16s ease-out,box-shadow .16s ease-out;display:flex;box-shadow:0 18px 40px #4a382e14,inset 0 1px #ffffffd1}.polysyoppo-banner:hover,.polysyoppo-banner:focus-visible{transform:translateY(-1px);box-shadow:0 22px 45px #4a382e1a,inset 0 1px #ffffffdb}.polysyoppo-banner--happy{background-color:#f7f1e5}.polysyoppo-banner--neutral{background-color:#f3ede7}.polysyoppo-banner--hungry{background-color:#eee4dd}.polysyoppo-banner--starving{background-color:#e8d9d3}.polysyoppo-banner__creature{flex-shrink:0}.polysyoppo-banner__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.polysyoppo-banner__title{color:var(--clr-text);font-size:14px;font-weight:600}.polysyoppo-banner__meta{color:var(--clr-text-muted);font-size:12px}.polysyoppo-banner__arrow{letter-spacing:.06em;text-transform:uppercase;color:var(--clr-orange,#d98e73);font-size:12px;font-weight:700}.home-page{min-height:calc(100dvh - 88px);padding-bottom:20px;position:relative}.home-page:before{content:"";pointer-events:none;opacity:var(--wave-opacity,0);transition:opacity .22s;position:fixed;inset:0}.home-page--waves:before{background:radial-gradient(120% 60% at 50% 12%,#a9c1d91f,#0000 58%),radial-gradient(120% 40% at 50% 78%,#8c9a8e14,#0000 62%)}.home-clean-header{padding-top:12px;padding-bottom:4px}.home-clean-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.home-clean-title-block{flex:1;min-width:0}.home-clean-title{width:100%;font-family:var(--font-serif);letter-spacing:-.04em;margin:0;font-size:clamp(1.8rem,5vw,2.45rem);font-weight:400;line-height:1.05}.home-clean-balance{color:var(--clr-text-muted);margin:6px 0 0;font-size:.95rem}.home-clean-balance strong{color:var(--clr-text);font-weight:800}.home-clean-actions{align-items:center;gap:10px;display:flex}.home-new-task-wrap{right:max(20px,50vw - 330px);bottom:calc(var(--nav-height) + 34px + env(safe-area-inset-bottom,0));z-index:70;align-items:center;gap:10px;display:flex;position:fixed}.home-info-btn{width:44px;height:44px;color:var(--clr-text-muted);transition:transform var(--trans-base), box-shadow var(--trans-base);background:#ffffffd1;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 4px 12px #2d3a3a24}.home-info-btn:hover,.home-info-btn:focus-visible{color:var(--clr-text);transform:translateY(-1px);box-shadow:0 8px 18px #2d3a3a2e}.home-info-btn svg{stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;fill:none;width:20px;height:20px}.home-new-task-btn{color:#f8fbfd;letter-spacing:.02em;min-height:56px;transition:transform var(--trans-base), border-color var(--trans-base), box-shadow var(--trans-base), filter var(--trans-base);background:#2d3a3a;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:0 20px;font-size:.86rem;font-weight:700;display:inline-flex;box-shadow:0 14px 24px #2d3a3a38}.home-new-task-btn:hover,.home-new-task-btn:focus-visible{filter:saturate(1.03);transform:translateY(-1px);box-shadow:0 18px 30px #2d3a3a47}.home-new-task-btn:active{transform:scale(.99)}.home-clean-profile{border:1px solid var(--clr-border);width:42px;height:42px;box-shadow:var(--shadow-sm), var(--shadow-inset);background:#ffffffb3;border-radius:999px;flex-shrink:0;padding:0}.home-clean-profile .avatar{width:100%;height:100%;box-shadow:none}.home-clean-shell{width:min(100%,640px);margin:0 auto}.home-clean-list{flex-direction:column;gap:10px;display:flex}.clean-task-shell{border-radius:20px;max-height:122px;transition:max-height .32s cubic-bezier(.22,1,.36,1),opacity .22s,margin .32s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}.clean-task-shell--closing{opacity:0;max-height:0;margin:0}.clean-task-swipe{z-index:0;background:linear-gradient(90deg,#a9c1d914,#8c9a8e2e);border-radius:20px;justify-content:flex-end;align-items:center;gap:10px;padding-right:18px;display:flex;position:absolute;inset:0}.clean-task-swipe-line{background:#2c3e5070;width:22px;height:1px}.clean-task-swipe-text{color:var(--clr-success);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:700}.clean-task-card{z-index:1;text-align:left;touch-action:pan-y;width:100%;min-height:72px;transform:translateX(var(--swipe-offset,0));opacity:calc(1 - (var(--swipe-progress,0) * .18));transition:transform var(--trans-base), opacity var(--trans-fast), box-shadow var(--trans-base), border-color var(--trans-base);border-radius:20px;flex-direction:column;justify-content:center;gap:4px;padding:11px 12px 10px;display:flex;position:relative}.clean-task-card:hover,.clean-task-card:focus-visible{box-shadow:var(--shadow-md), var(--shadow-inset);border-color:#a9c1d96b}.clean-task-card:active{transform:translateX(var(--swipe-offset,0)) scale(.99)}.clean-task-card--saving{pointer-events:none}.clean-task-card--empty{min-height:124px}.clean-task-cat-stripe{opacity:.85;border-radius:4px;width:4px;position:absolute;top:10px;bottom:10px;left:0}.home-empty-state{align-items:flex-start;gap:8px;padding-block:16px 18px}.home-empty-mark{width:34px;height:34px;color:var(--clr-success);background:#a9c1d924;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.home-empty-mark svg{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:20px;height:20px}.home-empty-title{width:100%}.home-empty-meta{max-width:58ch;padding-left:0}.home-empty-actions{margin-top:10px}.clean-task-main{align-items:center;gap:16px;display:flex}.clean-task-icon{color:var(--clr-nav);background:0 0;flex-direction:column;flex-shrink:0;align-items:center;gap:5px;display:inline-flex}.clean-task-icon svg{stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:22px;height:22px}.clean-task-title{letter-spacing:-.03em;flex:1;min-width:0;font-size:clamp(1.06rem,2.6vw,1.28rem);font-weight:600;line-height:1.06}.clean-task-cat-dot{border-radius:999px;flex-shrink:0;width:9px;height:9px}.clean-task-points-badge{color:#fff;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:#d98e73;border-radius:999px;justify-content:center;align-self:center;align-items:center;min-height:22px;padding:3px 10px;font-size:.66rem;font-weight:700;display:inline-flex}.clean-task-meta{color:var(--clr-text-muted);padding-left:34px;font-size:.68rem;font-weight:400;line-height:1.4}.clean-more-link{color:var(--clr-text-muted);transition:color var(--trans-base), transform var(--trans-base);align-self:flex-start;margin-top:6px;font-size:.8rem;font-weight:600;line-height:1.4}.clean-more-link:hover,.clean-more-link:focus-visible{color:var(--clr-text);transform:translate(2px)}.home-upcoming-section{margin-top:4px}.home-upcoming-heading{letter-spacing:.14em;text-transform:uppercase;color:var(--clr-orange);margin-bottom:8px;font-size:.76rem;font-weight:700}.clean-task-card--upcoming{touch-action:manipulation;opacity:.75}.clean-task-card--upcoming .clean-task-points-badge{background:var(--clr-text-muted)}@media (width<=640px){.home-clean-header{padding-top:8px}.clean-task-shell{max-height:108px}.clean-task-card{min-height:70px;padding:10px 11px 9px}.clean-task-points-badge{font-size:.62rem}}.parent-home{padding-bottom:32px}.parent-home-cards,.parent-home-section{width:min(100%,700px);margin-inline:auto;padding-inline:20px}.parent-home-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px;display:grid}.parent-home-card{border:1px solid var(--clr-border);background:var(--clr-surface);text-align:left;cursor:pointer;transition:transform var(--trans-fast), box-shadow var(--trans-fast);border-radius:16px;flex-direction:column;align-items:flex-start;gap:4px;padding:18px;display:flex}.parent-home-card:active{transform:scale(.98)}.parent-home-card--needs{background:linear-gradient(135deg,#d4654a1f,#d4654a0d);border-color:#d4654a59}.parent-home-card-count{color:var(--clr-text);font-size:1.6rem;font-weight:800;line-height:1}.parent-home-card--needs .parent-home-card-count{color:var(--clr-danger,#d4654a)}.parent-home-card-label{letter-spacing:.04em;text-transform:uppercase;color:var(--clr-text-muted);font-size:.78rem;font-weight:700}.parent-home-section{margin-top:22px}.parent-home-section-title{font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--clr-text-muted);margin:0 0 8px;font-weight:800}.parent-home-list{flex-direction:column;gap:8px;display:flex}.parent-home-row{border:1px solid var(--clr-border);background:var(--clr-surface);border-radius:12px;align-items:center;gap:12px;padding:10px 14px;display:flex}.parent-home-row-info{flex:1;min-width:0}.parent-home-row-name{font-size:var(--text-sm);margin:0;font-weight:700}.parent-home-row-meta{font-size:var(--text-xs);margin:2px 0 0}.parent-home-empty{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:16px;display:flex}.parent-home-actions{flex-wrap:wrap;gap:8px;display:flex}.leaderboard-page{position:relative}.stats-goals-block{margin-bottom:0}.stats-goals-heading{color:var(--clr-orange);letter-spacing:.14em;text-transform:uppercase;margin:0 0 2px;font-size:.76rem;font-weight:700}.stats-goals-subheading{color:var(--clr-text-muted);margin:0 0 8px;font-size:.72rem}.stats-goals-subheading a{color:var(--clr-text-muted);text-underline-offset:2px;-webkit-text-decoration:underline #0003;text-decoration:underline #0003}.stats-goals-empty{color:var(--clr-text-muted);margin:0 0 14px;font-size:.84rem;line-height:1.45}.stats-goals-empty a{color:var(--clr-orange-light);text-underline-offset:2px;font-weight:600;text-decoration:underline}.page-header--stats-goal-first .goal-strip{margin-top:0;margin-bottom:14px}.goal-strip{background:#ffffff8c;border:1px solid #2d3a3a1f;border-radius:999px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;display:flex}.goal-strip-main{flex:1;align-items:center;gap:8px;min-width:0;display:inline-flex}.goal-strip-icon{width:16px;height:16px;stroke:var(--clr-nav);stroke-width:1.8px;fill:none;flex-shrink:0}.goal-strip-title{color:var(--clr-text);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:600;overflow:hidden}.goal-strip-progress{background:#2d3a3a1f;border-radius:999px;flex-shrink:0;width:68px;height:6px;overflow:hidden}.goal-strip-fill{background:var(--clr-nav);height:100%;transition:width var(--trans-slow)}.goal-strip-meta{color:var(--clr-text-muted);letter-spacing:.04em;white-space:nowrap;font-size:.7rem;font-weight:700}.goal-strip--btn{text-align:left;cursor:pointer;width:100%;transition:box-shadow var(--trans-base), transform var(--trans-base)}.goal-strip--btn:hover,.goal-strip--btn:focus-visible{transform:translateY(-1px);box-shadow:0 4px 14px #2d3a3a21}.goal-strip--btn:active{transform:scale(.99)}.goal-strip-chevron{width:14px;height:14px;stroke:var(--clr-text-muted);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;fill:none;flex-shrink:0;margin-left:auto}.goal-strip-pts-hint{color:var(--clr-orange-light,#d98e73);font-weight:700}.goal-purchase-modal{max-width:400px}.goal-purchase-error{color:var(--clr-danger);margin-top:10px;font-size:.82rem}.lb-tabs-row{align-items:center;gap:8px;display:flex}.lb-tabs{background:#ffffffad;border:1px solid #1a1a1a14;border-radius:18px;flex:1;gap:4px;padding:4px;display:flex}.lb-tab{isolation:isolate;color:#595959;letter-spacing:.06em;text-transform:uppercase;transition:background var(--trans-base), color var(--trans-base), transform var(--trans-base), box-shadow var(--trans-base);white-space:nowrap;background:#ffffffd1;border-radius:14px;flex:1;padding:8px 6px;font-size:.64rem;font-weight:700;position:relative;overflow:hidden}.lb-tab__content{z-index:1;justify-content:center;align-items:center;gap:6px;display:inline-flex;position:relative}.lb-tab__label{display:inline-block}.lb-tab__icon{filter:drop-shadow(0 2px 6px #9c6a1438);flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.lb-tab__icon svg{width:100%;height:100%;display:block}.lb-tab:active{transform:scale(.98)}.lb-tab:focus-visible,.badge-tile:focus-visible{outline-offset:2px;outline:2px solid #22747e5c}.lb-tab--active{color:#fff;background:#1f2c2c;box-shadow:inset 0 0 0 1px #ffffff24,0 10px 20px #19222229}.lb-tab--achievements{color:#3d3523;background:linear-gradient(140deg,#ffffffe6,#fff3ccd6);width:100%;margin-bottom:8px;animation:2.8s ease-in-out infinite achievementGlow}@keyframes achievementGlow{0%,to{box-shadow:inset 0 0 0 1px #e3bc5c3d,0 4px 12px #d7af591f}50%{box-shadow:inset 0 0 0 1px #e3bc5c99,0 0 0 4px #d7af592e,0 8px 28px #d7af5952}}.lb-tab--achievements .lb-tab__content{width:100%;position:relative}.lb-tab--achievements:before{content:"";border-radius:inherit;opacity:.46;filter:blur(14px);background:radial-gradient(circle at 20% 30%,#fffffff2,#0000 26%),conic-gradient(from 180deg,#ffd27880,#ff976e57,#7fd5da57,#bb94ff33,#ffd27880);animation:6.2s ease-in-out infinite achievementTabPulse;position:absolute;inset:-20%;transform:scale(.92)}.lb-tab--achievements:after{content:"";z-index:0;background:linear-gradient(140deg,#fffbece0,#ffeebc8a);border-radius:13px;position:absolute;inset:1px}.lb-tab--achievements .lb-tab__label{letter-spacing:.08em}.lb-tab--achievements .lb-tab__icon{position:static}.lb-tab--achievements.lb-tab--active{color:#fffaf0;background:linear-gradient(135deg,#5d4317,#956928 58%,#c8922f);box-shadow:0 10px 26px #95692842,inset 0 0 0 1px #fff1ce4d}.lb-tab--achievements.lb-tab--active:before{opacity:.72;animation-duration:4.8s}.lb-tab--achievements.lb-tab--active:after{background:linear-gradient(140deg,#fff4d924,#ffd8840f)}.stats-group{margin-top:32px}.stats-group-title{margin-bottom:12px}.stats-summary-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.stats-summary-item{flex-direction:column;gap:4px;min-width:0;display:flex}.stats-summary-label{color:var(--clr-text-muted);letter-spacing:.12em;text-transform:uppercase;font-size:.62rem;font-weight:700}.stats-summary-number{font-family:var(--font-serif);color:var(--clr-text);font-size:clamp(1.6rem,5vw,2.1rem);font-weight:400;line-height:.95}.stats-summary-number--short{font-size:clamp(1.1rem,3.5vw,1.5rem);line-height:1.1}.stats-chart{justify-content:space-between;align-items:flex-end;height:140px;display:flex}.stats-chart--week{gap:8px}.stats-chart--days{gap:2px}.stats-chart--months{gap:6px}.stats-month-chart{flex-direction:column;gap:4px;display:flex}.stats-month-chart-year-row{justify-content:center;align-items:center;gap:10px;display:flex}.stats-month-chart-year{font-family:var(--font-serif);color:var(--clr-text);text-align:center;min-width:4.5ch;font-size:1.1rem;font-weight:500}.stats-chart-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;margin:0 -2px;padding:0 2px 4px;overflow-x:auto}.stats-chart--months-scroll{justify-content:flex-start;gap:8px;min-width:max(100%,36rem)}.stats-chart--months-scroll .stats-bar-col{flex:0 0 44px;width:44px;min-width:44px}.stats-chart--months-scroll .stats-bar-wrapper{max-width:22px}.stats-chart--months-scroll .stats-bar-label{text-transform:none;letter-spacing:.02em;font-size:.54rem}.stats-bar-col{flex-direction:column;flex:1;align-items:center;gap:4px;min-width:0;height:100%;display:flex}.stats-bar-value{min-height:12px;color:var(--clr-text-muted);font-size:.6rem;font-weight:700}.stats-bar-wrapper{background:#2d3a3a1f;border-radius:999px;flex:1;align-items:flex-end;width:100%;max-width:20px;display:flex;overflow:hidden}.stats-chart--days .stats-bar-wrapper{border-radius:4px;max-width:8px}.stats-bar-fill{border-radius:inherit;width:100%;min-height:0;transition:height var(--trans-slow);background:#2d3a3a59}.stats-bar-fill--active{background:var(--clr-nav)}.stats-bar-label{color:var(--clr-text-faint);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-size:.58rem;font-weight:700}.stats-chart--days .stats-bar-label{letter-spacing:0;font-size:.52rem}.lb-list-compact{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.lb-row-compact{border-bottom:1px solid #2d3a3a14;grid-template-columns:28px auto 1fr auto auto;align-items:center;column-gap:10px;padding:10px 2px;display:grid}.lb-row-compact:last-child{border-bottom:none}.lb-row-compact--me{background:#2d3a3a0a;border-radius:12px;padding-left:8px;padding-right:8px}.lb-row-compact .lb-rank{width:auto;color:var(--clr-text-muted);letter-spacing:.04em;font-size:.7rem;font-weight:800}.lb-row-compact .lb-name{color:var(--clr-text);white-space:nowrap;text-overflow:ellipsis;font-size:.86rem;font-weight:600;overflow:hidden}.lb-meta{color:var(--clr-text-muted);letter-spacing:.02em;white-space:nowrap;font-size:.68rem;font-weight:600}.lb-pts{white-space:nowrap;align-items:baseline;gap:4px;display:inline-flex}.lb-pts-num{font-family:var(--font-serif);color:var(--clr-text);font-size:1.1rem;line-height:1}.lb-pts-unit{color:var(--clr-text-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.6rem;font-weight:700}.top-tasks-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.top-tasks-row{align-items:center;gap:12px;display:flex}.top-tasks-icon{width:18px;height:18px;color:var(--clr-nav);flex-shrink:0}.top-tasks-icon svg{stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:100%;height:100%}.top-tasks-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.86rem;font-weight:600;overflow:hidden}.top-tasks-count{color:var(--clr-text-muted);letter-spacing:.04em;white-space:nowrap;font-size:.72rem;font-weight:700}.badge-section{margin-top:20px}.badge-section-count{color:#595959;margin-left:6px;font-size:.68rem;font-weight:700}.badge-section-sub{color:#595959;margin-top:-6px;margin-bottom:14px;font-size:.74rem;line-height:1.4}.badge-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.badge-tile{text-align:center;cursor:pointer;transition:transform var(--trans-base), border-color var(--trans-base), box-shadow var(--trans-base), background var(--trans-base);background:#fff9;border:1px solid #2d3a3a1a;border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;display:flex;position:relative}.badge-tile:active{transform:scale(.98);box-shadow:0 10px 18px #1a1c1e1a}.badge-tile--unlocked{background:#2d3a3a0f;border-color:#2d3a3a40}.badge-tile--unlocked .badge-tile-mark{background:var(--clr-nav);color:#fff}.badge-tile--locked{opacity:.72}.badge-tile--locked .badge-tile-mark{color:var(--clr-text-faint);background:#2d3a3a14}.badge-tile--expanded{text-align:left;flex-direction:column;grid-column:1/-1;align-items:flex-start;padding:14px}.badge-tile-mark{letter-spacing:.08em;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:.82rem;font-weight:800;display:inline-flex}.badge-tile-label{font-size:.74rem;font-weight:700;line-height:1.2}.badge-tile-desc{color:var(--clr-text-muted);margin-top:6px;font-size:.72rem;line-height:1.45}.badge-tile-date{color:var(--clr-nav);letter-spacing:.04em;margin-top:4px;font-size:.68rem;font-weight:700;display:block}.badge-grid--rich{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.badge-grid--rich .badge-tile--compact{text-align:center;background:#ffffffe0;border:1px solid #1a1a1a14;border-radius:18px;justify-content:center;align-items:stretch;min-height:176px;padding:16px 14px 14px;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 24px #1a1c1e0f}.badge-grid--rich .badge-tile--locked{background:#f5f6f6f0;border-color:#1a1a1a14}.badge-grid--rich .badge-tile--unlocked{opacity:1;box-shadow:0 12px 24px #1a1c1e14}.badge-grid--rich .badge-tile--unlocked .badge-tile-mark{color:var(--clr-text);background:#2d3a3a0f}.badge-grid--rich .badge-tile--next{background:linear-gradient(#22747e0d,#fffffff0);border-color:#22747e47;box-shadow:0 0 0 1px #22747e14,0 18px 34px #22747e14}.badge-tile-flag{z-index:1;position:absolute;top:12px;right:12px}.badge-tile-compact-body{flex-direction:column;justify-content:flex-start;align-items:center;gap:12px;width:100%;min-width:0;min-height:100%;display:flex}.badge-grid--rich .badge-tile-mark{color:#fff;border:none;border-radius:999px;flex-shrink:0;width:64px;height:64px;font-size:1rem;font-weight:800;position:relative}.badge-tile-mark-icon{justify-content:center;align-items:center;width:100%;height:100%;display:inline-flex}.badge-tile--bronze .badge-tile-mark{background:#cd7f32}.badge-tile--silver .badge-tile-mark{background:#a8a8a8}.badge-tile--gold .badge-tile-mark{color:#473200;background:#f0c040}.badge-tile--legend .badge-tile-mark{background:#9b59b6}.badge-grid--rich .badge-tile--locked .badge-tile-mark{color:#1a1a1a;background:#dfe3e6}.badge-tile-mark-icon--locked{opacity:.42;filter:grayscale()}.badge-tile-mark svg{stroke:currentColor;stroke-width:1.7px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:28px;height:28px}.badge-asset-icon{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:68%;height:68%}.badge-asset-icon--fallback{justify-content:center;align-items:center;width:68%;height:68%;display:inline-flex}.badge-asset-icon--fallback svg{stroke:currentColor;stroke-width:1.8px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.badge-tile-mark-state{width:24px;height:24px;color:var(--clr-text-muted);background:#fffffff5;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;bottom:-2px;right:-2px;box-shadow:0 8px 16px #1a1c1e1f}.badge-tile-mark-state svg{width:14px;height:14px}.badge-grid--rich .badge-tile--unlocked .badge-tile-mark-state{color:var(--clr-success)}.badge-tile-copy{flex-direction:column;align-items:center;gap:6px;width:100%;min-width:0;display:flex}.badge-grid--rich .badge-tile-label{letter-spacing:-.01em;text-align:center;color:#1a1a1a;font-size:.9rem}.badge-tile-inline-hint{color:#22747e;text-align:center;letter-spacing:.01em;font-size:.7rem;font-weight:700}.badge-tile-mark-state--locked{color:#4f555a}.badge-card-progress{text-align:left;width:100%;margin-top:auto}.badge-card-progress-row{color:#595959;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;font-size:.72rem;font-weight:700;display:flex}.badge-card-progress-bar{background:#d8dddf;border-radius:999px;width:100%;height:6px;overflow:hidden}.badge-card-progress-fill{border-radius:inherit;height:100%;transition:width var(--trans-slow);background:linear-gradient(90deg,#1f7a84,#3aa5a3);display:block}.badge-grid--rich .badge-tile--next .badge-card-progress-fill{background:linear-gradient(90deg,#15656f,#2aa6a1)}.badge-modal-card{flex-direction:column;align-items:flex-start;gap:12px;display:flex;position:relative}.badge-tile-mark--modal{width:72px;height:72px;font-size:1.05rem}.badge-tile-mark-state--modal{width:26px;height:26px}.badge-modal-title{font-family:var(--font-serif);letter-spacing:-.03em;color:#1a1a1a;font-size:1.6rem;line-height:1}.badge-modal-desc{color:#595959;font-size:.84rem;line-height:1.5}.badge-progress{flex-direction:column;gap:8px;width:100%;margin-top:auto;display:flex}.badge-progress-row{color:#595959;letter-spacing:.04em;justify-content:space-between;align-items:center;gap:8px;font-size:.68rem;font-weight:700;display:flex}.badge-progress-bar{background:#d8dddf;border-radius:999px;width:100%;height:9px;overflow:hidden}.badge-progress-fill{border-radius:inherit;height:100%;transition:width var(--trans-slow);background:linear-gradient(90deg,#1f7a84,#3aa5a3);display:block}.badge-progress-helper,.badge-progress-remaining{font-size:.72rem;line-height:1.4}.badge-progress-helper{color:#595959}.badge-progress-remaining{color:#b86b4d;font-weight:700}.badge-dialog-overlay{z-index:260;padding:max(24px, env(safe-area-inset-top,0px) + 20px) 16px max(calc(var(--nav-height) + 28px), env(safe-area-inset-bottom,0px) + 20px);-webkit-backdrop-filter:blur(16px)saturate(130%);background:#10110e52;place-items:center;animation:.2s fadeIn;display:grid;position:fixed;inset:0}.badge-dialog{width:min(100%,440px);max-height:min(calc(100dvh - var(--nav-height) - 92px), 620px);border:1px solid var(--clr-border);-webkit-backdrop-filter:blur(24px)saturate(145%);background:linear-gradient(#fffffff5,#f2f6fae0),#ffffff85;border-radius:24px;padding:18px 18px 22px;animation:.22s cubic-bezier(.22,1,.36,1) scaleIn;overflow-y:auto;box-shadow:0 24px 60px #1a1c1e38}.badge-tile--recent{animation:.9s badgeRecentPulse}.badge-celebration{left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:140;pointer-events:none;width:min(92vw,360px);position:fixed;transform:translate(-50%)}.badge-celebration-card{color:#fff;background:linear-gradient(145deg,#2d3a3af5,#4e6869eb);border-radius:22px;padding:16px 18px;animation:.32s cubic-bezier(.22,1,.36,1) badgeCelebrationEnter;position:relative;overflow:hidden;box-shadow:0 24px 50px #1a1c1e42}.badge-celebration-kicker{z-index:1;letter-spacing:.12em;text-transform:uppercase;color:#ffffffbd;font-size:.66rem;font-weight:800;position:relative}.badge-celebration-title{z-index:1;font-family:var(--font-serif);margin-top:4px;font-size:1.55rem;line-height:1;position:relative}.badge-confetti{pointer-events:none;position:absolute;inset:0}.badge-confetti-piece{opacity:0;border-radius:999px;width:8px;height:14px;animation:1.1s forwards badgeConfettiFall;position:absolute;top:-10px}.badge-confetti-piece:nth-child(4n+1){background:#f1c86b;animation-delay:20ms;left:8%}.badge-confetti-piece:nth-child(4n+2){background:#d98e73;animation-delay:.11s;left:28%}.badge-confetti-piece:nth-child(4n+3){background:#94b8c9;animation-delay:70ms;left:58%}.badge-confetti-piece:nth-child(4n){background:#fff;animation-delay:.15s;left:82%}@keyframes badgeCelebrationEnter{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes badgeConfettiFall{0%{opacity:0;transform:translate(0,0)rotate(0)}15%{opacity:1}to{opacity:0;transform:translate(18px,110px)rotate(220deg)}}@keyframes badgeRecentPulse{0%{transform:scale(.97);box-shadow:0 0 #d98e7357}60%{transform:scale(1.01);box-shadow:0 0 0 16px #d98e7300}to{box-shadow:none;transform:scale(1)}}@keyframes achievementTabPulse{0%{opacity:.34;transform:scale(.9)}50%{opacity:.72;transform:scale(1.06)}to{opacity:.34;transform:scale(.9)}}.lb-list{flex-direction:column;display:flex}.lb-list--reward-cards{gap:12px}.reward-action-feedback{margin-top:8px;font-size:.82rem;font-weight:600}.reward-action-feedback--error{color:var(--clr-danger)}.reward-action-feedback--success{color:var(--clr-success)}.lb-row{border-bottom:1px solid #2d3a3a14;align-items:center;gap:10px;padding:12px 0;display:flex}.lb-name{font-size:.84rem;font-weight:600}.stats-empty-state{min-height:160px}.stats-empty-mark{border:1px solid #2d3a3a4d;border-radius:50%;width:44px;height:44px;position:relative}.stats-empty-mark:before{content:"";border:1px solid #2d3a3a33;border-radius:50%;position:absolute;inset:12px}.goal-card{padding:14px}@media (width<=600px){.stats-summary-row{gap:10px}.lb-tab--achievements{margin-bottom:7px}.lb-tab__icon{width:16px;height:16px}.badge-grid,.badge-grid--rich{grid-template-columns:repeat(2,minmax(0,1fr))}.badge-dialog-overlay{padding:max(18px, env(safe-area-inset-top,0px) + 12px) 14px max(calc(var(--nav-height) + 18px), env(safe-area-inset-bottom,0px) + 12px)}.badge-dialog{max-height:min(calc(100dvh - var(--nav-height) - 72px), 680px)}.lb-row-compact{grid-template-columns:24px auto 1fr auto;column-gap:8px}.lb-row-compact .lb-meta{display:none}}@media (prefers-reduced-motion:reduce){.lb-tab--achievements{animation:none;box-shadow:inset 0 0 0 1px #e3bc5c66,0 6px 18px #d7af5933}.lb-tab--achievements:before{opacity:.5;animation:none;transform:scale(1)}}.login-page{background:radial-gradient(circle at 18% 8%,#ffffff73,#0000 38%),linear-gradient(#e8e3db,#ddd6cc);justify-content:center;align-items:center;min-height:100dvh;padding:32px 18px;display:flex}.login-shell,.login-shell--split{width:min(100%,620px)}.login-panel{box-shadow:var(--shadow-md), var(--shadow-clay);-webkit-backdrop-filter:blur(18px)saturate(145%);background:linear-gradient(#ffffffe0,#ffffffb8),#ffffff6b;border:1px solid #1a1c1e14;border-radius:32px;flex-direction:column;gap:18px;padding:28px;display:flex}.login-brand-col{flex-direction:column;justify-content:center;align-items:stretch;min-width:0;display:flex}.login-form-col{flex-direction:column;min-width:0;display:flex}.login-form-stack{flex-direction:column;gap:16px;width:100%;display:flex}.login-primary{flex-direction:column;gap:10px;display:flex}.login-primary-title{letter-spacing:-.02em;color:var(--clr-text);margin:0;font-size:1.25rem;font-weight:800;line-height:1.2}.login-primary-lead{color:var(--clr-text-muted);margin:0 0 4px;font-size:.9rem;line-height:1.55}.login-family-secondary{border-top:1px solid #8c9a8e24;flex-direction:column;gap:8px;padding-top:4px;display:flex}.login-family-toggle{color:var(--clr-orange-light);font-family:var(--font);text-underline-offset:3px;cursor:pointer;text-align:left;transition:color var(--trans-fast);background:0 0;border:none;align-self:flex-start;margin:0;padding:0;font-size:.92rem;font-weight:700;text-decoration:underline}.login-family-toggle:hover{color:var(--clr-orange)}.login-family-toggle:focus-visible{outline:2px solid var(--clr-orange-light);outline-offset:3px;border-radius:4px}.login-family-toggle-hint{color:var(--clr-text-faint);margin:0;font-size:.8rem;line-height:1.55}.login-family-panel{margin-top:4px}.login-family-panel[hidden]{display:none}.login-brand-wrap{flex-direction:column;justify-content:center;align-items:center;min-height:0;padding:0;display:flex;overflow:visible}.login-brand-inner{flex-direction:column;align-items:center;gap:8px;width:100%;min-height:0;padding:0;display:flex}.login-brand-stack{flex-direction:column;flex-shrink:0;align-items:center;gap:8px;width:100%;min-width:0;max-width:100%;display:flex}.login-brand-vertical{object-fit:contain;box-sizing:border-box;width:min(100%,220px);height:auto;margin:0;padding:0;display:block}.login-brand-subtitle{text-align:center;min-width:0;max-width:100%;color:var(--clr-orange-light);letter-spacing:.01em;white-space:nowrap;scrollbar-width:thin;margin:0;padding:0 4px;font-size:clamp(.68rem,3.1vw,.88rem);font-weight:600;line-height:1.35;overflow:auto hidden}.login-form-label{letter-spacing:.04em;text-transform:uppercase;color:var(--clr-text-muted);margin-top:4px;font-size:.78rem;font-weight:700;display:block}.login-form-hint{color:var(--clr-text-faint);margin:-4px 0 0;font-size:.78rem;line-height:1.5}.statement-icon svg{stroke:#8c9a8e;stroke-width:1.35px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:100%;height:100%}.login-statements{gap:16px;display:grid}.statement-item{grid-template-columns:52px minmax(0,1fr);align-items:start;gap:14px;padding:12px 0;display:grid}.statement-item+.statement-item{border-top:1px solid #8c9a8e1a}.statement-icon{background:#8c9a8e0f;border-radius:18px;justify-content:center;align-items:center;width:52px;height:52px;display:inline-flex}.statement-icon svg{width:28px;height:28px}.statement-copy{min-width:0}.statement-title{font-size:1rem;font-weight:700;line-height:1.35}.statement-text{color:var(--clr-text-muted);margin-top:4px;font-size:.92rem;line-height:1.75}.login-link-card{border:1px solid var(--clr-border2);box-shadow:var(--shadow-md);flex-direction:column;gap:10px;display:flex}.login-link-card>.statement-title{margin:0}.login-link-error{color:var(--clr-danger);font-size:.78rem}.btn-google{color:#3c4043;width:100%;min-height:54px;font-family:var(--font);letter-spacing:.01em;cursor:pointer;transition:transform var(--trans-base), box-shadow var(--trans-base), border-color var(--trans-base), background var(--trans-base);background:#fff;border:1px solid #dadce0;border-radius:999px;justify-content:center;align-items:center;gap:12px;padding:14px 18px;font-size:.92rem;font-weight:600;display:flex;box-shadow:0 1px 2px #3c40431f,inset 0 1px #fffffff2}.btn-google:hover{background:#f8f9fa;border-color:#c6c9cc;transform:translateY(-1px);box-shadow:0 4px 12px #3c404324,0 1px 2px #3c404314,inset 0 1px #fffffff2}.btn-google:active{transform:scale(.985);box-shadow:0 1px 1px #3c40431f}.btn-google:focus-visible{outline-offset:2px;outline:2px solid #4285f4}.google-icon{flex-shrink:0;width:20px;height:20px}.login-btn-family{min-height:48px;color:var(--clr-text);background:#ffffffeb;border-color:#1a1c1e24;box-shadow:0 4px 12px #1a1c1e0f,inset 0 1px #ffffffd9}.login-btn-family:hover{background:#fff;border-color:#1a1c1e38}.login-note{color:var(--clr-text-faint);font-size:.78rem;line-height:1.7}.login-setup{border:1px solid var(--clr-border2);box-shadow:var(--shadow-md);padding:20px}.login-setup-kicker{color:var(--clr-text-faint);letter-spacing:.18em;text-transform:uppercase;margin-bottom:10px;font-size:.72rem;font-weight:700}.login-setup-code{white-space:pre-wrap;color:var(--clr-text-muted);background:#8c9a8e14;border-radius:20px;margin-top:12px;padding:14px 16px;font-size:.82rem;line-height:1.7;display:block}@media (width>=960px){.login-shell--split{width:min(100%,1040px)}.login-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:28px 40px;padding:32px 36px;display:grid}.login-brand-col{flex-direction:column;min-height:0;display:flex}.login-brand-col .login-brand-wrap{flex:1;min-height:0;padding:16px 22px}.login-form-col{justify-content:center;min-height:0}.login-form-stack{flex-shrink:0;margin-block:auto}}@media (width<=959px){.login-panel{padding:24px 20px}.login-brand-vertical{width:min(100%,224px)}}.color-dot{border-radius:999px;flex-shrink:0;width:14px;height:14px}.admin-section{flex-direction:column;display:flex}.admin-form{gap:var(--space-md);flex-direction:column;display:flex}.form-row{gap:var(--space-sm);display:flex}.check-row{align-items:center;gap:var(--space-sm);font-size:var(--text-sm);cursor:pointer;font-weight:500;display:flex}.check-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--clr-purple);cursor:pointer}.admin-task-row{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);display:flex}.admin-task-row--inactive{opacity:.5}.emoji-grid{gap:var(--space-xs);flex-wrap:wrap;display:flex}.emoji-btn{border-radius:var(--radius-sm);background:var(--clr-surface2);cursor:pointer;transition:all var(--trans-fast);-webkit-tap-highlight-color:transparent;border:2px solid #0000;padding:6px;font-size:1.3rem}.emoji-btn:hover,.emoji-btn--active{border-color:var(--clr-purple);background:#a855f71a}.color-grid{gap:var(--space-sm);flex-wrap:wrap;display:flex}.color-btn{border-radius:var(--radius-sm);cursor:pointer;width:36px;height:36px;transition:all var(--trans-fast);-webkit-tap-highlight-color:transparent;border:3px solid #0000}.color-btn:hover{transform:scale(1.08);box-shadow:0 0 0 2px #00000026}.color-btn--active{transform:scale(1.08);box-shadow:0 0 0 3px #2d3a3a}.admin-tabs{gap:var(--space-xs);background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:4px;display:flex}.admin-tab{border-radius:var(--radius-md);color:var(--clr-text-muted);font-size:.79rem;font-weight:600;font-family:var(--font);cursor:pointer;transition:all var(--trans-base);white-space:nowrap;-webkit-tap-highlight-color:transparent;flex:1;padding:9px 6px}.admin-tab:active{transform:scale(.95)}.admin-tab--active{color:var(--clr-nav);background:#2d3a3a24;box-shadow:inset 0 0 0 1px #2d3a3a33}.admin-help{font-size:var(--text-sm);margin:-8px 2px 14px;line-height:1.45}.admin-goal-row{gap:var(--space-md);margin-top:2px;margin-bottom:2px}.settings-page{position:relative}.avatar-xl{width:76px;height:76px;font-size:1.3rem}.profile-hero{border-bottom:1px solid #2d3a3a14;align-items:center;gap:16px;padding:0 0 18px;display:flex}.profile-hero-avatar-btn{cursor:pointer;transition:transform var(--trans-fast);background:0 0;border:none;border-radius:50%;padding:0;position:relative}.profile-hero-avatar-btn:active{transform:scale(.97)}.profile-hero-avatar-btn:focus-visible{outline:2px solid var(--clr-nav);outline-offset:3px}.profile-hero-edit-badge{background:var(--clr-nav);color:#fff;border:2px solid var(--clr-surface,#fdfaf3);border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex;position:absolute;bottom:-2px;right:-2px;box-shadow:0 4px 10px #1a1c1e2e}.profile-hero-edit-badge svg{stroke:currentColor;stroke-width:1.8px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px}.profile-hero-info{flex:1;min-width:0}.profile-hero-name{white-space:nowrap;text-overflow:ellipsis;font-size:1.08rem;font-weight:700;overflow:hidden}.profile-hero-sub{white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.8rem;overflow:hidden}.profile-hero-badges{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.settings-list{border-top:1px solid #2d3a3a14;flex-direction:column;display:flex}.settings-link-row{text-align:left;width:100%;color:inherit;cursor:pointer;transition:background var(--trans-fast);background:0 0;border:none;border-bottom:1px solid #2d3a3a14;align-items:center;gap:12px;padding:14px 0;display:flex}.settings-link-row:last-child{border-bottom:none}.settings-link-row:hover:not(:disabled){background:#2d3a3a08}.settings-link-row:disabled{cursor:default;opacity:.75}.settings-link-row:focus-visible{outline:2px solid var(--clr-nav);outline-offset:-2px;border-radius:8px}.settings-row-label{flex:1;min-width:0}.settings-row-title{font-size:.92rem;font-weight:600;line-height:1.25}.settings-row-meta{margin-top:2px;font-size:.76rem;line-height:1.35}.settings-row-count{color:var(--clr-text-muted);font-weight:600}.settings-row-chevron{width:16px;height:16px;stroke:var(--clr-text-faint);stroke-width:1.8px;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.settings-member-row:disabled .settings-row-chevron{visibility:hidden}.settings-member-row-wrap{border-bottom:1px solid #2d3a3a14;align-items:center;display:flex}.settings-member-row-wrap:last-child{border-bottom:none}.settings-member-row--main{border-bottom:none;flex:1;padding-right:6px}.settings-member-edit-btn{width:38px;height:38px;color:var(--clr-text-muted);cursor:pointer;transition:background var(--trans-fast), color var(--trans-fast), transform var(--trans-fast);background:#2d3a3a0d;border:1px solid #2d3a3a1f;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.settings-member-edit-btn:hover{color:var(--clr-text);background:#2d3a3a1a}.settings-member-edit-btn:active{transform:scale(.93)}.settings-member-edit-btn svg{stroke:currentColor;stroke-width:1.8px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.settings-add-icon{width:28px;height:28px;color:var(--clr-nav);background:#2d3a3a14;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.settings-row-plus{stroke:currentColor;stroke-width:2px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.settings-add-row .settings-row-title{color:var(--clr-nav);font-weight:700}.settings-copy-value{font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);letter-spacing:.12em;color:var(--clr-text);transition:background var(--trans-fast), color var(--trans-fast);background:#2d3a3a14;border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:.82rem;font-weight:700}.settings-copy-value.is-copied{background:var(--clr-nav);color:#fff;letter-spacing:.04em}.settings-logout-row{color:#c04545;letter-spacing:.02em;text-align:center;cursor:pointer;background:0 0;border:none;width:100%;margin-top:24px;padding:16px 0;font-size:.95rem;font-weight:700}.settings-logout-row:active{opacity:.7}.pet-settings-card{margin-top:14px;padding:14px 0 0}.invite-card{flex-direction:column;align-items:center;gap:12px;padding:18px 16px;display:flex}.invite-qr-wrap{border:1px solid var(--clr-border);background:#fff;border-radius:16px;padding:12px;display:inline-flex}.qr-code{background:#fff;border-radius:8px;display:block}.qr-code--placeholder{background:#2d3a3a0f}.invite-help{text-align:center;max-width:280px;margin:0;font-size:.84rem;line-height:1.4}.invite-code-row{border:1px solid var(--clr-border);cursor:pointer;text-align:left;width:100%;transition:background var(--trans-fast);background:#fff9;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.invite-code-row:hover{background:#2d3a3a0a}.invite-code-label{letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.72rem}.invite-code-value{font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);letter-spacing:.18em;margin:2px 0 0;font-size:1.05rem;font-weight:800;display:block}.invite-code-label{display:block}.invite-legacy{border-top:1px solid #2d3a3a14;width:100%;margin-top:8px;padding-top:10px}.invite-legacy>summary{cursor:pointer;color:var(--clr-text-muted);letter-spacing:.04em;padding:4px 0;font-size:.78rem;font-weight:700;list-style:none}.invite-legacy>summary::-webkit-details-marker{display:none}.invite-legacy-help{margin:6px 0 10px;font-size:.78rem;line-height:1.4}.advanced-settings{border-top:1px solid #2d3a3a14;margin-top:16px;padding-top:14px}.advanced-settings>summary{cursor:pointer;letter-spacing:.04em;text-transform:uppercase;color:var(--clr-text-muted);align-items:center;gap:6px;padding:6px 0;font-size:.82rem;font-weight:700;list-style:none;display:inline-flex}.advanced-settings>summary::-webkit-details-marker{display:none}.advanced-settings>summary:after{content:"";border-bottom:1.6px solid;border-right:1.6px solid;width:8px;height:8px;margin-left:4px;transition:transform .16s ease-out;transform:rotate(-45deg)}.advanced-settings[open]>summary:after{transform:rotate(45deg)}.advanced-settings .pet-settings-card{margin-top:6px}.advanced-help{color:var(--clr-text-muted);margin-top:4px;margin-bottom:10px;font-size:.78rem;line-height:1.4}.pet-settings-header{margin-bottom:12px}.pet-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.pet-settings-field{color:var(--clr-text-muted);flex-direction:column;gap:6px;font-size:.78rem;font-weight:600;display:flex}.pet-settings-field input{border:1px solid var(--clr-border);min-height:40px;color:var(--clr-text);background:#ffffffb8;border-radius:12px;padding:10px 12px;font-size:.9rem}@media (width<=600px){.pet-settings-grid{grid-template-columns:1fr}}.avatar-edit-sheet,.approval-sheet{flex-direction:column;gap:8px;display:flex}.modal-title{font-size:1.1rem;font-weight:700}.avatar-edit-preview{align-items:center;gap:12px;padding:10px 0 4px;display:flex}.avatar-icon-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.avatar-icon-btn{border:1px solid var(--clr-border);min-height:52px;color:var(--clr-text-muted);transition:border-color var(--trans-fast), background var(--trans-fast), color var(--trans-fast), transform var(--trans-fast);background:#ffffff9e;border-radius:14px;justify-content:center;align-items:center;padding:8px;font-size:1.1rem;font-weight:700;display:inline-flex}.avatar-icon-btn:active{transform:scale(.95)}.avatar-icon-btn.is-active{color:var(--clr-text);background:#2d3a3a14;border-color:#2d3a3a57}.avatar-icon-glyph{flex-shrink:0;width:20px;height:20px}.avatar-pin-btn{justify-content:center;align-items:center;gap:8px;display:inline-flex}.avatar-pin-btn svg{width:18px;height:18px}.avatar-color-dots{flex-wrap:wrap;gap:14px;padding:4px 0 2px;display:flex}.avatar-color-dot{cursor:pointer;width:34px;height:34px;transition:transform var(--trans-fast), box-shadow var(--trans-fast), border-color var(--trans-fast);border:2px solid #0000;border-radius:50%;padding:0;box-shadow:inset 0 0 0 2px #ffffffb3,0 3px 10px #1a1c1e1f}.avatar-color-dot:active{transform:scale(.92)}.avatar-color-dot.is-active{border-color:var(--clr-nav);box-shadow:inset 0 0 0 2px #ffffffd9,0 0 0 3px #2d3a3a2e}@media (width<=600px){.avatar-icon-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.done-tasks-page{position:relative}.done-tasks-page .week-range{margin-top:6px;font-size:.8rem}.done-header-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.done-header-main{min-width:0}.done-week-summary{letter-spacing:.04em;margin-top:4px;font-size:.78rem}.done-week-summary-num{font-family:var(--font-serif);color:var(--clr-text);font-size:1.05rem}.done-tasks-list-section{padding-bottom:8px}.done-search-wrap{position:relative}.done-search-icon{width:18px;height:18px;color:var(--clr-text-faint);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.done-search-icon svg{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:100%;height:100%}.done-search-wrap .form-input.done-search-input{border-radius:12px;min-height:40px;padding:11px 14px 11px 42px}.done-filter-chip{color:var(--clr-text-muted);background:0 0;border-color:#2d3a3a33}.done-filter-chip.active{color:#fff;background:#2d3a3a;border-color:#2d3a3a}.done-tasks-groups{flex-direction:column;gap:18px;display:flex}.done-tasks-group{flex-direction:column;gap:8px;display:flex}.done-group-title{color:var(--clr-text-muted);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:700}.done-tasks-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.done-tasks-row{text-align:left;background:#ffffffb8;border:1px solid #2d3a3a14;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.done-tasks-row-main{flex:1;min-width:0}.done-tasks-title-row{align-items:center;gap:12px;display:flex}.done-tasks-icon{width:18px;height:18px;color:var(--clr-nav);flex-shrink:0}.done-tasks-icon svg{stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:100%;height:100%}.done-tasks-title{font-size:.94rem;font-weight:600;line-height:1.2}.done-tasks-sub{margin-top:2px;padding-left:30px;font-size:.74rem;line-height:1.45}.done-tasks-row-meta{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.done-tasks-points-badge{color:#fff;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:#d98e73;border-radius:999px;justify-content:center;align-items:center;min-height:22px;padding:3px 10px;font-size:.64rem;font-weight:700;display:inline-flex}.done-tasks-member-badge{width:22px;height:22px;color:var(--clr-nav);letter-spacing:.04em;text-transform:uppercase;background:#2d3a3a1f;border-radius:50%;justify-content:center;align-items:center;font-size:.68rem;font-weight:700;display:inline-flex}.done-empty{text-align:center;padding:20px 12px}.done-tasks-row--compact{flex-wrap:nowrap;gap:6px;padding:7px 10px;position:relative}.done-tasks-row--deleting{opacity:.45;pointer-events:none}.done-tasks-title--inline{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.88rem;overflow:hidden}.done-tasks-inline-meta{white-space:nowrap;flex-shrink:0;font-size:.72rem}.done-cat-stripe{opacity:.85;border-radius:4px;width:4px;margin-left:2px;position:absolute;top:6px;bottom:6px;left:0}.done-tasks-delete-btn{width:26px;height:26px;color:var(--clr-danger);cursor:pointer;opacity:.55;transition:opacity var(--trans-fast), background var(--trans-fast);background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.done-tasks-delete-btn:hover{opacity:1;background:#b56c5f1a}.done-tasks-delete-btn svg{stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;fill:none}.pdc--page{flex-flow:column wrap;justify-content:center;align-items:center;gap:16px;padding:0;box-shadow:none!important;background:0 0!important;border:none!important}.pdc--page .pdc__left{flex-wrap:wrap;justify-content:center;max-width:100%}.pdc--page .pdc__creatureWrap .polysyoppo-creature{filter:drop-shadow(0 8px 20px #2c242033)}.pdc--page .pdc__pageHint{margin-top:28px}.pdc{border-radius:var(--radius-md,12px);color:inherit;background:radial-gradient(circle at 15% 15%,#ffffffb3,#0000 36%),linear-gradient(#ffffffbd,#ffffff7a);border:1px solid #fff9;align-items:center;gap:14px;padding:12px 14px;display:flex;position:relative;overflow:visible;box-shadow:0 18px 40px #4a382e14,inset 0 1px #ffffffd1}:root[data-theme=dark] .pdc{background:radial-gradient(circle at 15% 15%,#ffffff14,#0000 40%),linear-gradient(#2a2624f2,#201c1aeb);border-color:#ffffff1f;box-shadow:0 12px 28px #00000059,inset 0 1px #ffffff0f}.pdc--happy{background-color:#f7f1e5}.pdc--neutral{background-color:#f3ede7}.pdc--hungry{background-color:#eee4dd}.pdc--starving{background-color:#e8d9d3}:root[data-theme=dark] .pdc--happy,:root[data-theme=dark] .pdc--neutral,:root[data-theme=dark] .pdc--hungry,:root[data-theme=dark] .pdc--starving{background-color:#0000}.pdc__left{flex-direction:row;flex-shrink:0;align-items:center;gap:10px;display:flex}.pdc__left--play{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px 16px;width:100%;max-width:min(640px,100%);display:grid}.pdc__left--play .pdc__bubbleCol{justify-self:start;min-width:0}.pdc__left--play .pdc__creatureWrap{grid-column:2;justify-self:center}.pdc__left--play .pdc__meterCol{flex-direction:column;grid-column:3;justify-content:center;justify-self:stretch;align-items:center;min-width:0;display:flex}.pdc--page .pdc__left:not(.pdc__left--play){justify-content:center;width:100%}.pdc__creatureWrap{touch-action:manipulation;flex-shrink:0;justify-content:center;align-items:center;transition:transform-origin .22s ease-out;display:flex;position:relative}.pdc__creatureWrap--originCenter{transform-origin:50%}.pdc__creatureWrap--originLow{transform-origin:50% 80%}.pdc__creatureFloat,.pdc__tapJump{justify-content:center;align-items:center;display:flex;position:relative}.pdc__creatureWrap--dusty:after{content:"";pointer-events:none;border:2px dashed #787c8480;border-radius:50%;animation:2.5s ease-in-out infinite pdc-dusty-ring;position:absolute;inset:-14px}@keyframes pdc-dusty-ring{0%,to{opacity:.45;transform:scale(1)}50%{opacity:.95;transform:scale(1.04)}}.pdc__pageHint{text-align:center;border-radius:var(--radius-md,12px);width:max-content;max-width:100%;color:var(--clr-text-muted);white-space:nowrap;box-sizing:border-box;-webkit-overflow-scrolling:touch;background:#ffffff8c;border:none;margin:0;padding:10px 14px;font-size:13px;font-weight:600;line-height:1.45;overflow:auto hidden}:root[data-theme=dark] .pdc__pageHint{background:#302c2a8c}.pdc__pageHint--ready{color:var(--clr-text,#2c2418);box-shadow:0 6px 18px #d98e731f}.pdc__pageHint--done{opacity:.92}.pdc__creatureWrap .polysyoppo-creature{filter:drop-shadow(0 4px 10px #2c24202e)}.pdc-dust{pointer-events:none;z-index:8;width:0;height:0;position:absolute;top:42%;left:50%}.pdc-dust__dot{opacity:1;border-radius:50%;animation:1.45s cubic-bezier(.12,.55,.28,1) forwards pdc-dust-burst;position:absolute;top:0;left:0;transform:translate(-50%,-50%);box-shadow:0 0 8px #64697373}.pdc-dust__dot--speck{box-shadow:none;filter:blur(.35px);animation-duration:1.35s}@keyframes pdc-dust-burst{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}42%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--pdc-dx,0px)), calc(-50% + var(--pdc-dy,-32px))) scale(.15)}}@keyframes pdc-tap-jump{0%{transform:translate(0,0)scale(1)}28%{transform:translateY(-26px)scale(1.06,.9)}55%{transform:translateY(-8px)scale(.98,1.04)}to{transform:translate(0,0)scale(1)}}.pdc__tapJump--active{animation:.52s cubic-bezier(.34,1.35,.52,1) both pdc-tap-jump}.pdc__meterCol{flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;display:flex}.pdc__meter{background:#2c24201a;border-radius:999px;flex-direction:column;justify-content:flex-end;width:18px;height:124px;padding:4px;display:flex;box-shadow:inset 0 1px 4px #0000001f}:root[data-theme=dark] .pdc__meter{background:#ffffff1a;box-shadow:inset 0 1px 4px #0006}.pdc__meterFill{background:linear-gradient(#f4d58d,#e8a849);border-radius:999px;width:100%;min-height:3px;transition:height .12s ease-out;box-shadow:0 0 12px #e8a8497a}.pdc__bubble{max-width:min(200px,46vw);color:var(--clr-text,#2c2418);-webkit-backdrop-filter:blur(10px);background:#ffffff8c;border:1px solid #ffffffa6;border-radius:14px;padding:8px 11px;font-size:12px;font-weight:600;line-height:1.35;position:relative;box-shadow:0 8px 24px #2c24201a}:root[data-theme=dark] .pdc__bubble{color:var(--clr-text,#f3ebe6);background:#302c2ab8;border-color:#ffffff1f}.pdc__bubble:after{content:"";background:inherit;clip-path:polygon(0 0,100% 100%,0 100%);border-bottom:1px solid #ffffff80;border-left:1px solid #ffffff80;border-radius:2px;width:10px;height:10px;position:absolute;top:50%;left:-5px;transform:translateY(-50%)rotate(45deg)}.pdc__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.pdc__title{color:var(--clr-text);font-size:14px;font-weight:600}.pdc__meta{color:var(--clr-text-muted);font-size:12px}.pdc__link{letter-spacing:.06em;text-transform:uppercase;color:var(--clr-orange,#d98e73);align-self:flex-start;margin-top:4px;font-size:12px;font-weight:700;text-decoration:none}.pdc__link:hover,.pdc__link:focus-visible{text-decoration:underline}.pdc__celebration{border-radius:inherit;pointer-events:none;z-index:4;position:absolute;inset:0;overflow:hidden}.pdc__shine{background:linear-gradient(105deg,#0000 0%,#fff0 35%,#ffffffa6 50%,#fff0 65%,#0000 100%);width:55%;height:180%;animation:.72s ease-out forwards pdc-shine-sweep;position:absolute;top:-40%;left:-60%;transform:rotate(-18deg)}@keyframes pdc-shine-sweep{0%{opacity:0;transform:translate(-20%)rotate(-18deg)}15%{opacity:1}to{opacity:0;transform:translate(220%)rotate(-18deg)}}.pdc__sparkles{position:absolute;inset:0}.pdc__sparkle{opacity:0;background:#fff;border-radius:50%;width:6px;height:6px;animation:.9s ease-out forwards pdc-sparkle-pop;position:absolute;box-shadow:0 0 8px #ffdca0e6}@keyframes pdc-sparkle-pop{0%{opacity:0;transform:scale(0)}20%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.4)}}.pdc__xpFloat{letter-spacing:.02em;color:#c9781a;text-shadow:0 1px #fff9;white-space:nowrap;font-size:15px;font-weight:800;position:absolute;top:38%;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.pdc__tapJump--active{animation:none!important}.pdc__creatureWrap--dusty:after{opacity:.55;animation:none!important}.pdc-dust__dot{animation-duration:.01ms!important;animation-iteration-count:1!important}.pdc__shine,.pdc__sparkle{opacity:0!important;animation:none!important}.pdc__meterFill{transition:none}}@media (width<=380px){.pdc__bubble{max-width:42vw;padding:6px 9px;font-size:11px}.pdc__meter{width:16px;height:104px}}.polysyoppo-page{isolation:isolate;background-color:#e8e2d9;background-image:radial-gradient(130% 90% at 50% -35%,#fffcf8eb,#0000 58%),radial-gradient(circle at 92% 8%,#d98e731a 0%,#0000 45%),radial-gradient(circle at 4% 92%,#506e6e12 0%,#0000 42%),radial-gradient(circle,#46372d0d 1.1px,#0000 1.25px);background-size:auto,auto,auto,28px 28px;flex-direction:column;gap:18px;width:min(100%,700px);margin-inline:auto;padding:16px 20px 28px;display:flex;position:relative}:root[data-theme=dark] .polysyoppo-page{background-color:#141618;background-image:radial-gradient(100% 70% at 50% -20%,#ffffff0d,#0000 55%),radial-gradient(circle,#ffffff07 1px,#0000 1.2px);background-size:auto,26px 26px}.polysyoppo-hero-card,.polysyoppo-info-card{-webkit-backdrop-filter:blur(16px);background:radial-gradient(circle at 14% 12%,#ffffffe0,#0000 38%),linear-gradient(165deg,#ffffffe6,#ffffff94);border:1px solid #ffffffc7;border-radius:28px;position:relative;box-shadow:0 32px 64px #2d26201c,0 12px 28px #2d262012,inset 0 1px #ffffffeb}:root[data-theme=dark] .polysyoppo-hero-card,:root[data-theme=dark] .polysyoppo-info-card{background:radial-gradient(circle at 18% 0,#ffffff14,#0000 42%),linear-gradient(165deg,#2a2c30f5,#1c1e22eb);border-color:#ffffff1a;box-shadow:0 28px 48px #00000073,inset 0 1px #ffffff0f}.polysyoppo-hero-card{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:40px 20px 24px;display:flex}.polysyoppo-info-card{padding:16px 18px}.polysyoppo-state-happy{background-color:#f7f1e5}.polysyoppo-state-neutral{background-color:#f1ebe6}.polysyoppo-state-hungry{background-color:#ece2dc}.polysyoppo-state-starving{background-color:#e4d7d2}.polysyoppo-hero-avatar{border-radius:50%;justify-content:center;align-items:center;width:280px;height:280px;display:flex;overflow:hidden;box-shadow:none!important;background:0 0!important}.polysyoppo-hero-avatar .polysyoppo-creature{transform:scale(1.22)}.polysyoppo-hero-play{justify-content:center;align-items:center;width:100%;min-height:280px;padding:12px 8px 20px;display:flex;position:relative}.polysyoppo-hero-play .polysyoppo-creature{transform:scale(1.22)}.polysyoppo-hero-play[data-appearance=twinkle]{padding-top:12px;padding-bottom:20px}.polysyoppo-hero-kicker{color:#454a52;text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:11px;font-weight:700}:root[data-theme=dark] .polysyoppo-hero-kicker{color:#e8eaeed1}.polysyoppo-hero-greeting{font-family:var(--font,system-ui, sans-serif);letter-spacing:-.03em;color:var(--clr-text);margin:0 0 4px;font-size:clamp(22px,3.6vw,28px);font-weight:800;line-height:1.2}.polysyoppo-name-edit-btn{border:1px solid var(--clr-border);min-height:30px;color:var(--clr-text-muted);cursor:pointer;background:#2d3a3a0f;border-radius:999px;padding:0 10px;font-size:12px;font-weight:600;position:absolute;top:12px;right:12px}.polysyoppo-name-edit{flex-direction:column;gap:8px;width:100%;display:flex}.polysyoppo-name-edit-label{color:var(--clr-text-muted);text-align:left;font-size:13px}.polysyoppo-name-input{border:1px solid var(--clr-border);border-radius:var(--radius-md,10px);width:100%;color:var(--clr-text);background:#ffffffc7;padding:10px 12px;font-size:15px}.polysyoppo-name-input:focus{outline:2px solid var(--clr-orange,#d98e73);outline-offset:2px}.polysyoppo-name-edit-actions{justify-content:flex-end;gap:8px;display:flex}.polysyoppo-hero-multiplier{z-index:1;text-align:left;letter-spacing:.01em;max-width:min(100% - 96px,14rem);color:var(--clr-text-muted,#6b7078);flex-wrap:wrap;align-items:baseline;gap:0 6px;margin:0;font-size:12px;font-weight:500;line-height:1.25;display:flex;position:absolute;top:14px;left:16px}:root[data-theme=dark] .polysyoppo-hero-multiplier{color:#e8eaeeb8}.polysyoppo-hero-multiplier-num{font-family:var(--font,system-ui, sans-serif);font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--clr-text,#454a52);font-size:12px;font-weight:700}:root[data-theme=dark] .polysyoppo-hero-multiplier-num{color:#f0f2f6eb}.polysyoppo-hero-multiplier-label{font-family:var(--font,system-ui, sans-serif);letter-spacing:.01em;color:var(--clr-text-muted,#6b7078);font-size:12px;font-weight:500}:root[data-theme=dark] .polysyoppo-hero-multiplier-label{color:#e8eaee9e}.polysyoppo-hero-bar-value{font-variant-numeric:tabular-nums;color:#454a52;align-items:baseline;gap:4px;font-size:16px;font-weight:700;display:inline-flex}.polysyoppo-hero-bar-num{color:var(--clr-text);font-size:20px}.polysyoppo-hero-bar-sep{opacity:.45;font-weight:500}.polysyoppo-hero-bar{flex-direction:column;align-items:center;gap:8px;width:100%;margin-top:10px;display:flex}.polysyoppo-hero-bar-head{text-align:center;width:100%}.polysyoppo-hero-bar-head--tight{margin-top:4px;margin-bottom:2px}.polysyoppo-hero-bar-labelRow{justify-content:center;align-items:center;gap:8px;display:inline-flex}.polysyoppo-hero-bar-labelIcon{color:#c97a4a;flex-shrink:0;display:flex}.polysyoppo-hero-bar-labelIcon--star{color:#e0a82a}.polysyoppo-hero-bar-labelIcon svg{display:block}.polysyoppo-hero-bar-label{font-family:var(--font,system-ui, sans-serif);color:var(--clr-text);letter-spacing:.01em;font-size:15px;font-weight:800}.polysyoppo-hero-bar-sublabel{width:100%;max-width:100%;font-family:var(--font,system-ui, sans-serif);color:#3a3f46;text-align:center;white-space:nowrap;margin-top:6px;margin-left:auto;margin-right:auto;padding:0 4px;font-size:12px;font-weight:600;line-height:1.25;display:block}.polysyoppo-hero-bar-sublabel--wrap{white-space:normal;max-width:100%;line-height:1.35}:root[data-theme=dark] .polysyoppo-hero-bar-sublabel{color:#e8eaeee0}:root[data-theme=dark] .polysyoppo-hero-bar-value{color:#dce0e6eb}.polysyoppo-hero-meterRow{align-items:center;gap:12px;width:100%;display:flex}.polysyoppo-hero-meterRow .polysyoppo-meter{flex:1;min-width:0}.polysyoppo-hero-meterRow .polysyoppo-hero-bar-value{flex-shrink:0}.polysyoppo-hero-meterRow--energy{flex-direction:column;align-items:stretch;gap:4px}.polysyoppo-hero-meterRow--energy .polysyoppo-meter{flex:none;width:100%}.polysyoppo-hero-bar-value--energy{align-self:flex-end;line-height:1.1}.polysyoppo-meter{width:100%;max-width:100%}.polysyoppo-meter__track{background:#ffffff8c;border:1px solid #2d3a3a12;border-radius:999px;width:100%;height:20px;overflow:hidden;box-shadow:inset 0 2px 6px #2d262014,0 1px #ffffffa6}:root[data-theme=dark] .polysyoppo-meter__track{background:#00000040;border-color:#ffffff14;box-shadow:inset 0 2px 8px #00000059}.polysyoppo-meter__fill{border-radius:inherit;min-width:0;height:100%;transition:width var(--trans-slow);position:relative;overflow:hidden;box-shadow:inset 0 -2px #0000000f}.polysyoppo-meter--fullness.polysyoppo-meter--happy .polysyoppo-meter__fill{background:linear-gradient(90deg,#43c56a 0%,#7ad84a 42%,#d8e052 78%,#ffe566 100%)}.polysyoppo-meter--fullness.polysyoppo-meter--neutral .polysyoppo-meter__fill{background:linear-gradient(90deg,#c9a24a 0%,#e0c15c 50%,#f0dd7a 100%)}.polysyoppo-meter--fullness.polysyoppo-meter--hungry .polysyoppo-meter__fill{background:linear-gradient(90deg,#e07a3c 0%,#f0a64d 55%,#f5c96a 100%)}.polysyoppo-meter--fullness.polysyoppo-meter--starving .polysyoppo-meter__fill{background:linear-gradient(90deg,#c44a38 0%,#df6a45 50%,#e8935a 100%)}.polysyoppo-meter--xp .polysyoppo-meter__fill{background:linear-gradient(90deg,#d97a52 0%,#e8a060 40%,#f0c85c 85%,#ffe08a 100%)}.polysyoppo-meter__glint{pointer-events:none;background:linear-gradient(100deg,#0000 0%,#ffffff14 35%,#ffffff80 50%,#ffffff1a 65%,#0000 100%);width:45%;animation:2.5s ease-in-out infinite polysyoppo-meter-glint;position:absolute;inset:0 auto 0 0}.polysyoppo-meter__glint--slow{animation-duration:3.5s}@keyframes polysyoppo-meter-glint{0%{opacity:.5;transform:translate(-120%)}40%{opacity:1}to{opacity:.55;transform:translate(260%)}}.polysyoppo-level-card{background:#ffffff9e;border:1px solid #2d3a3a17;border-radius:22px;width:100%;margin-top:8px;padding:16px 18px;box-shadow:0 14px 28px #2d262012,inset 0 1px #ffffffe6}:root[data-theme=dark] .polysyoppo-level-card{background:#ffffff0f;border-color:#ffffff14;box-shadow:inset 0 1px #ffffff0d}.polysyoppo-level-header{justify-content:center;align-items:center;display:flex}.polysyoppo-level-badge{font-family:var(--font,system-ui, sans-serif);font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--clr-text);background:linear-gradient(#fff8e6f2,#ffebc8bf);border:1px solid #d9a05059;border-radius:999px;justify-content:center;align-items:center;padding:7px 16px;font-size:15px;font-weight:800;line-height:1.15;display:inline-flex;box-shadow:0 6px 14px #d98e7326,inset 0 1px #ffffffd9}.polysyoppo-level-meta{font-family:var(--font,system-ui, sans-serif);color:#454a52;justify-content:space-between;align-items:center;gap:14px;margin-top:12px;font-size:14px;font-weight:600;display:flex}:root[data-theme=dark] .polysyoppo-level-meta{color:#dce0e6e0}.polysyoppo-meta-xp,.polysyoppo-meta-next{align-items:center;gap:6px;display:inline-flex}.polysyoppo-meta-xp strong,.polysyoppo-meta-next strong{font-variant-numeric:tabular-nums;color:var(--clr-text);font-size:16px}.polysyoppo-meta-next-text{flex-wrap:wrap;align-items:baseline;gap:2px 6px;display:inline-flex}.polysyoppo-meta-next-caption{color:#3a3f46;letter-spacing:.01em;font-size:13px;font-weight:700}:root[data-theme=dark] .polysyoppo-meta-next-caption{color:#e8eaeee6}.polysyoppo-meta-xp-suffix{letter-spacing:.04em;color:#454a52;opacity:.95;font-size:12px;font-weight:800}:root[data-theme=dark] .polysyoppo-meta-xp-suffix{color:#dce0e6d9}.polysyoppo-meta-icon{flex-shrink:0;display:flex}.polysyoppo-meta-icon--star{color:#e0a82a}.polysyoppo-meta-icon--crown{color:#c4922a}.polysyoppo-meta-next--max .polysyoppo-meta-next-label{letter-spacing:.06em;color:#454a52;font-size:13px;font-weight:800}:root[data-theme=dark] .polysyoppo-meta-next--max .polysyoppo-meta-next-label{color:#dce0e6e0}.polysyoppo-meter--xp{margin-top:6px}.polysyoppo-info-title{font-family:var(--font,system-ui, sans-serif);letter-spacing:-.02em;color:var(--clr-text);margin:0 0 10px;font-size:17px;font-weight:800}.polysyoppo-info-title--with-icon{align-items:center;gap:10px;display:flex}.polysyoppo-info-title-icon{color:var(--clr-orange,#d98e73);opacity:.9;display:flex}.polysyoppo-info-title-icon svg{display:block}.polysyoppo-info-text{color:var(--clr-text);margin:0;font-size:14px;line-height:1.5}.polysyoppo-appearance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.polysyoppo-appearance-card{text-align:center;cursor:pointer;transition:transform var(--trans-fast), border-color var(--trans-fast), box-shadow var(--trans-fast), filter var(--trans-fast), background var(--trans-fast);background:linear-gradient(#ffffffeb,#ffffffad);border:2px solid #2d3a3a12;border-radius:22px;flex-direction:column;align-items:center;gap:8px;padding:14px 12px 16px;display:flex;position:relative;box-shadow:0 16px 36px #2d262017,0 4px 10px #2d26200a,inset 0 1px #fffffff2}.polysyoppo-appearance-card:disabled{cursor:not-allowed}.polysyoppo-appearance-card:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 22px 44px #2d26201c,0 8px 16px #2d26200f,inset 0 1px #fffffff2}.polysyoppo-appearance-card:active:not(:disabled){transform:translateY(0)scale(.98);box-shadow:0 8px 18px #2d262014,inset 0 2px 6px #2d26200f}.polysyoppo-appearance-card:focus-visible{border-color:#d98e73a6;outline:none;box-shadow:0 0 0 3px #d98e7347,0 16px 36px #2d262017,inset 0 1px #fffffff2}.polysyoppo-appearance-card.is-active{border-color:#d98e738c;box-shadow:0 18px 40px #d98e7333,0 6px 14px #d98e731a,inset 0 1px #fffffff2}.polysyoppo-appearance-card.is-locked{opacity:.97;background:linear-gradient(#f5f2eefa,#e4e0daeb);border-color:#786e6424;box-shadow:0 10px 22px #2d26200d,inset 0 1px #ffffff8c}.polysyoppo-appearance-card.is-locked:hover{transform:none}.polysyoppo-appearance-lock-row{justify-content:center;align-items:center;gap:8px;min-height:36px;display:flex}.polysyoppo-appearance-lock-icon{color:#8a8178;display:flex}.polysyoppo-appearance-lock-icon svg{display:block}.polysyoppo-appearance-level-num{font-family:var(--font,system-ui, sans-serif);font-variant-numeric:tabular-nums;color:#5c5854;font-size:28px;font-weight:800;line-height:1}.polysyoppo-appearance-preview{justify-content:center;align-items:center;min-height:72px;display:inline-flex}.polysyoppo-appearance-title{color:var(--clr-text);font-size:15px;font-weight:700}.polysyoppo-appearance-card.is-locked .polysyoppo-appearance-title{color:#5c5854}.polysyoppo-appearance-meta{color:#454a52;font-size:13px;font-weight:500;line-height:1.45}:root[data-theme=dark] .polysyoppo-appearance-meta{color:#dce0e6e0}.polysyoppo-state-table{border-collapse:collapse;width:100%;font-size:14px}.polysyoppo-state-table th,.polysyoppo-state-table td{text-align:left;border-bottom:1px solid var(--clr-border);padding:8px 4px}.polysyoppo-state-table th{color:#4a5058;text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}:root[data-theme=dark] .polysyoppo-state-table th{color:#d2d6dcd9}.polysyoppo-state-table tr:last-child td{border-bottom:none}.polysyoppo-state-row--active td{background:#d98e731f;font-weight:600}.polysyoppo-state-emoji{vertical-align:middle;margin-right:8px;display:inline-flex}.polysyoppo-rules-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.polysyoppo-rules-list li{color:var(--clr-text);align-items:center;gap:12px;font-size:14px;display:flex}.polysyoppo-rules-delta{text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;min-width:44px;padding:4px 8px;font-weight:700}.polysyoppo-rules-delta--up{color:#2e7a2e;background:#e7f4dc}.polysyoppo-rules-delta--down{color:#b3542c;background:#f7e3d3}.polysyoppo-info-footnote{color:var(--clr-text-muted);margin:12px 0 0;font-size:12px}@media (prefers-reduced-motion:reduce){.polysyoppo-meter__glint{animation:none!important}}@media (width<=600px){.polysyoppo-page{padding-inline:16px}.polysyoppo-hero-avatar{width:236px;height:236px}.polysyoppo-hero-avatar .polysyoppo-creature{transform:scale(1.12)}.polysyoppo-hero-play{min-height:240px;padding-inline:4px}.polysyoppo-hero-play .polysyoppo-creature{transform:scale(1.08)}.polysyoppo-appearance-grid{grid-template-columns:1fr}.polysyoppo-state-table{font-size:13px}}.shop-page{padding-bottom:32px}.shop-page>.shop-error,.shop-page>.shop-empty,.shop-page>.shop-section{width:min(100%,700px);margin-inline:auto;padding-inline:20px}.shop-error{color:var(--clr-danger);font-size:var(--text-sm);background:#b56c5f14;border-radius:12px;margin:12px 0;padding:10px 14px;font-weight:600}.shop-empty{text-align:center;margin:16px 0;padding:18px}.shop-empty-title{font-size:var(--text-base);margin:0;font-weight:700}.shop-empty-meta{font-size:var(--text-sm);margin:6px 0 0}.shop-section{margin-top:18px}.shop-section-title{font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--clr-text-muted);margin:0 0 8px;font-weight:800}.shop-list{flex-direction:column;gap:10px;display:flex}.shop-card{align-items:center;gap:12px;padding:14px 16px;display:flex}.shop-card-info{flex:1;min-width:0}.shop-card-title{font-weight:700;font-size:var(--text-base);margin:0}.shop-card-cost{font-size:var(--text-sm);color:var(--clr-text-muted);margin:4px 0 0;font-weight:600}.shop-progress{background:#0000000f;border-radius:999px;width:100%;height:6px;margin-top:8px;overflow:hidden}.shop-progress-fill{background:var(--clr-nav);height:100%;transition:width .2s ease-out}.shop-card--saving .shop-card-title{color:var(--clr-text-muted)}.shop-history-row{border:1px solid var(--clr-border);background:var(--clr-surface);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.shop-history-info{flex:1;min-width:0}.shop-history-title{font-size:var(--text-sm);margin:0;font-weight:700}.shop-history-meta{font-size:var(--text-xs);margin:2px 0 0}.shop-admin-form{flex-direction:column;gap:10px;padding:14px 16px;display:flex}.approvals-page{padding-bottom:32px}.approvals-page>.approvals-section,.approvals-page>.approvals-empty{width:min(100%,700px);margin-inline:auto;padding-inline:20px}.approvals-section{margin-top:18px}.approvals-section-title{font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--clr-text-muted);margin:0 0 8px;font-weight:800}.approvals-list{flex-direction:column;gap:8px;display:flex}.approvals-row{border:1px solid var(--clr-border);background:var(--clr-surface);border-radius:14px;align-items:center;gap:8px;padding:12px 14px;display:flex}.approvals-row-info{flex:1;min-width:0}.approvals-row-title{font-weight:700;font-size:var(--text-sm);margin:0}.approvals-row-meta{font-size:var(--text-xs);margin:2px 0 0}.approvals-row-actions{flex-shrink:0;gap:6px;display:flex}.approvals-empty{text-align:center;color:var(--clr-text-muted);font-size:var(--text-sm);margin:16px 0;padding:18px}.loading-screen{flex-direction:column;justify-content:center;align-items:center;gap:32px;min-height:100dvh;display:flex;position:relative;overflow:hidden}.loading-atmosphere{background:radial-gradient(circle at 30% 25%,#2d3a3a1f,#0000 34%),radial-gradient(circle at 72% 20%,#d98e731a,#0000 30%),radial-gradient(circle at 50% 90%,#f4f2eee6,#0000 44%);position:absolute;inset:0}.loading-logo{z-index:1;flex-direction:column;align-items:center;gap:18px;display:flex;position:relative}.loading-icon{-webkit-backdrop-filter:blur(18px)saturate(140%);background:linear-gradient(#ffffffd1,#ffffff70),#f4f2ee80;border:1px solid #ffffffb8;border-radius:36px;justify-content:center;align-items:center;width:108px;height:108px;animation:5s ease-in-out infinite floatSlow;display:flex;box-shadow:0 22px 50px #2d3a3a24,inset 0 1px #ffffffe6}.loading-icon-core{color:#f4f2ee;width:62px;height:62px;font-family:var(--font-serif);background:linear-gradient(135deg,#2d3a3a,#354747);border-radius:24px;justify-content:center;align-items:center;font-size:2.4rem;line-height:1;display:inline-flex;box-shadow:0 16px 28px #2d3a3a38}.loading-copy{flex-direction:column;align-items:center;gap:4px;display:flex}.loading-title{font-family:var(--font-serif);letter-spacing:-.04em;font-size:clamp(2.8rem,8vw,4rem);line-height:.96}.loading-dots{z-index:1;gap:10px;display:flex;position:relative}.dot{background:#d98e73;border-radius:999px;width:8px;height:8px;animation:1.2s ease-in-out infinite pulse}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}.app-top-bar{box-sizing:border-box;width:100%;max-width:700px;padding:calc(env(safe-area-inset-top,0px) + 10px) 20px 12px;background:linear-gradient(180deg, var(--clr-bg), transparent);border-bottom:none;flex-shrink:0;justify-content:space-between;align-items:center;margin-inline:auto;display:flex;position:relative}.app-top-bar:after{content:"";background:linear-gradient(90deg,#d98e7300,#d98e735c 18% 82%,#d98e7300);border-radius:999px;height:2px;position:absolute;bottom:0;left:20px;right:20px}.app-top-bar__trailing{align-items:center;gap:10px;display:flex}.topbar-streak-kerroin{align-items:center;gap:6px;display:flex}.topbar-kerroin{min-height:24px;color:var(--clr-text,#2a2e33);font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap;background:#2d3a3a12;border-radius:999px;align-items:center;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.app-top-bar__mark-link{border-radius:10px;justify-content:center;align-items:center;line-height:0;text-decoration:none;transition:background-color .16s ease-out,transform .16s ease-out;display:inline-flex}.app-top-bar__mark-link:hover{background-color:#2d3a3a0f}.app-top-bar__mark-link:focus-visible{outline:2px solid var(--clr-orange,#d98e73);outline-offset:3px}.app-top-bar__mark{object-fit:contain;width:auto;height:32px;display:block}.topbar-pet{background:radial-gradient(circle at 35% 30%,#ffffffd6,#0000 34%),#2d3a3a0f;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;text-decoration:none;transition:background .16s ease-out,transform .16s ease-out;display:inline-flex;overflow:hidden}.topbar-pet:hover,.topbar-pet:focus-visible{background:radial-gradient(circle at 35% 30%,#ffffffe6,#0000 34%),#2d3a3a1f;transform:scale(1.05)}.topbar-pet--happy{background-color:#f6efe2}.topbar-pet--neutral{background-color:#f1ebe7}.topbar-pet--hungry{background-color:#ece2db}.topbar-pet--starving{background-color:#e4d8d3}.app-top-bar__points{min-height:28px;color:var(--clr-text-muted);letter-spacing:.04em;white-space:nowrap;background:#2d3a3a0f;border-radius:999px;justify-content:center;align-items:center;padding:4px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.app-top-bar__profile{cursor:pointer;transition:transform var(--trans-fast);-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.app-top-bar__profile:active{transform:scale(.94)}.app-top-bar__profile:focus-visible{outline:2px solid var(--clr-nav);outline-offset:2px}@media (width<=600px){.app-top-bar:after{left:16px;right:16px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--clr-bg:#f4f2ee;--clr-bg2:#efece6;--clr-bg3:#e7e1d8;--clr-surface:#fff;--clr-surface-strong:#fff;--clr-surface2:#fff;--clr-border:#1a1c1e0f;--clr-border2:#1a1c1e1f;--clr-text:#1a1c1e;--clr-nav:#2d3a3a;--clr-text-muted:#5a6066;--clr-text-faint:#7f878f;--clr-purple:#d98e73;--clr-purple-light:#d98e73;--clr-orange:#d98e73;--clr-orange-light:#c97f66;--clr-blue:#a5a6d4;--clr-blue-light:#8688bb;--clr-success:#2d3a3a;--clr-warning:#d98e73;--clr-danger:#b56c5f;--grad-primary:linear-gradient(135deg, #2d3a3a, #354747);--grad-blue:linear-gradient(135deg, #d9dde2, #f0f2f4);--grad-green:linear-gradient(135deg, #2d3a3a, #566);--grad-pink:linear-gradient(135deg, #d98e73, #ebbcad);--grad-surface:linear-gradient(180deg, #fff, #fff);--shadow-sm:0 8px 20px #1a1c1e0d;--shadow-md:0 14px 28px #1a1c1e14;--shadow-lg:0 22px 44px #1a1c1e1c;--shadow-clay:0 12px 20px #1a1c1e0d;--shadow-inset:none;--ambient-top:#ffffff9e;--ambient-side:#d98e7314;--ambient-bottom:#ffffff6b;--space-xs:4px;--space-sm:8px;--space-md:14px;--space-lg:20px;--space-xl:28px;--space-2xl:40px;--radius-sm:12px;--radius-md:16px;--radius-lg:22px;--radius-xl:26px;--radius-full:9999px;--font:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif:"Instrument Serif", Georgia, serif;--text-xs:.72rem;--text-sm:.88rem;--text-base:.96rem;--text-lg:1.02rem;--text-xl:1.18rem;--text-2xl:1.8rem;--text-3xl:2.5rem;--trans-fast:.15s ease;--trans-base:.26s cubic-bezier(.22, 1, .36, 1);--trans-slow:.42s cubic-bezier(.22, 1, .36, 1);--nav-height:82px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-size:16px}body{min-height:100dvh;font-family:var(--font);color:var(--clr-text);background:radial-gradient(circle at 18% 4%, var(--ambient-top), transparent 34%), radial-gradient(circle at 86% 14%, var(--ambient-side), transparent 30%), linear-gradient(180deg, var(--clr-bg), var(--clr-bg2));-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.55;position:relative;overflow-x:hidden}body:before,body:after{content:"";pointer-events:none;position:fixed;inset:0}body:before{opacity:.4;background:linear-gradient(120deg,#ffffff2e,#0000 40%)}body:after{background:radial-gradient(circle at 50% 108%, var(--ambient-bottom), transparent 34%);opacity:.42}#root{isolation:isolate;min-height:100dvh;position:relative}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input,textarea,select{font:inherit;color:inherit}img{max-width:100%;display:block}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#6657412e;border-radius:999px}.app-layout{flex-direction:column;min-height:100dvh;display:flex}.page-content{width:100%;padding-bottom:calc(var(--nav-height) + 22px);flex:1}.page-stage{width:100%;animation:.48s cubic-bezier(.22,1,.36,1) pageEnter}.page-stage--home{animation:.36s ease-out pageEnterFixedSafe}.container,.page-header,.section{width:min(100%,700px);margin-inline:auto}.container{padding-inline:20px}.page-header{z-index:1;padding:22px 20px 14px;position:relative}.page-title{font-family:var(--font-serif);letter-spacing:-.04em;font-size:clamp(1.9rem,4.6vw,2.9rem);font-weight:400;line-height:.96}.page-subtitle{color:var(--clr-text-muted);letter-spacing:.03em;margin-top:6px;font-size:.84rem}.section{z-index:1;padding-inline:20px;position:relative}.section-title{color:var(--clr-orange);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;font-size:.76rem;font-weight:700}.eyebrow{color:var(--clr-text-faint);letter-spacing:.24em;text-transform:uppercase;font-size:.72rem;font-weight:700}.card{border-radius:var(--radius-lg);padding:var(--space-md);-webkit-backdrop-filter:none;background:#fff;border:none;position:relative;overflow:hidden;box-shadow:0 8px 20px #1a1c1e0d}.card:after{content:none}.card-gradient{background:linear-gradient(145deg,#a9c1d93d,#d4a3731f 42%,#fff3),linear-gradient(#ffffffe6,#f7fafc94)}.btn{letter-spacing:.02em;min-height:42px;transition:transform var(--trans-base), box-shadow var(--trans-base), background var(--trans-base), color var(--trans-base), border-color var(--trans-base);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:10px 16px;font-size:.82rem;font-weight:700;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:active{transform:scale(.98)}.btn-primary{color:#f8fbfd;background:#2d3a3a;box-shadow:0 14px 24px #2d3a3a3d}.btn-secondary{border:1px solid var(--clr-border);background:#ffffff61;box-shadow:inset 0 1px #fff9}:root[data-theme=dark] .btn-secondary{background:#ffffff0a}.btn-ghost{color:var(--clr-text-muted)}.btn-sm{min-height:34px;padding:8px 12px}.btn-icon{border-radius:14px;width:34px;min-width:34px;padding-inline:0}.btn-danger{color:var(--clr-danger);background:#b56c5f14;border:1px solid #b56c5f38}.badge{letter-spacing:.08em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;min-height:22px;padding:4px 10px;font-size:.64rem;font-weight:700;display:inline-flex}.badge-purple{color:#fff;background:#d98e73;border-color:#d98e73}.badge-orange{color:var(--clr-orange-light);background:#d4a37324;border-color:#d4a37333}.badge-green{color:var(--clr-success);background:#6f8d7224;border-color:#6f8d7233}.badge-yellow{color:var(--clr-yellow);background:#d4a3731f;border-color:#d4a3732e}.badge-blue{color:var(--clr-blue-light);background:#a5a6d429;border-color:#a5a6d43d}.form-group{flex-direction:column;gap:8px;display:flex}.form-label{color:var(--clr-text-muted);font-size:.82rem;font-weight:500}.form-input,.form-select{border:1px solid var(--clr-border);width:100%;min-height:44px;transition:border-color var(--trans-fast), box-shadow var(--trans-fast), background var(--trans-fast);background:#ffffff80;border-radius:14px;padding:11px 14px}:root[data-theme=dark] .form-input,:root[data-theme=dark] .form-select{background:#ffffff0a}.form-input:focus,.form-select:focus{border-color:#a9c1d9bd;outline:none;box-shadow:0 0 0 4px #a9c1d92e}.form-input::placeholder{color:var(--clr-text-faint)}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath fill='%238b7f71' d='M7 9.6 2.2 4.8h9.6z'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat}.progress-bar{background:#ffffff7a;border-radius:999px;width:100%;height:8px;overflow:hidden}:root[data-theme=dark] .progress-bar{background:#ffffff0f}.progress-fill{border-radius:inherit;background:var(--grad-primary);height:100%;transition:width var(--trans-slow)}.avatar{object-fit:cover;background:var(--grad-primary);color:#fffdf7;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-weight:700;display:flex;box-shadow:0 12px 22px #9b784f2e}.avatar-sm{width:28px;height:28px;font-size:var(--text-xs)}.avatar-lg{width:52px;height:52px;font-size:.96rem}.avatar-glyph{stroke:currentColor;color:#fffdf7;width:40%;height:40%}.divider{background:var(--clr-border);height:1px;margin-block:12px}.text-gradient{background:linear-gradient(135deg,#2c3e50,#a9c1d9);color:#0000;-webkit-background-clip:text;background-clip:text}.text-muted{color:var(--clr-text-muted)}.text-faint{color:var(--clr-text-faint)}.text-success{color:var(--clr-success)}.text-warning{color:var(--clr-warning)}.text-danger{color:var(--clr-danger)}.font-bold{font-weight:700}.font-semibold{font-weight:600}.text-center{text-align:center}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.min-w-0{min-width:0}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.w-full{width:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:.5;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blobFloat{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(12px,-18px)scale(1.06)}}@keyframes pointsPop{0%{opacity:0;transform:translateY(10px)scale(.7)}20%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-46px)scale(1.02)}}@keyframes checkBounce{0%{transform:scale(.3)}55%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pageEnter{0%{opacity:0;filter:blur(10px);transform:translateY(18px)scale(.992)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes pageEnterFixedSafe{0%{opacity:0}to{opacity:1}}@keyframes floatSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes haloPulse{0%,to{box-shadow:0 0 #d4a3731f}50%{box-shadow:0 0 0 16px #d4a37300}}@keyframes twinkle{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.12)}}.animate-fadeIn{animation:fadeIn var(--trans-base) both}.animate-slideUp{animation:.42s cubic-bezier(.22,1,.36,1) both slideUp}.animate-scaleIn{animation:.24s cubic-bezier(.22,1,.36,1) both scaleIn}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(16px)saturate(130%);background:#10110e52;justify-content:center;align-items:flex-end;padding:18px 16px 0;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-content{width:min(100%,720px);max-height:92dvh;padding:18px 18px calc(24px + env(safe-area-inset-bottom,0));border:1px solid var(--clr-border);-webkit-backdrop-filter:blur(24px)saturate(145%);background:linear-gradient(#fffffff0,#f2f6fad6),#ffffff85;border-radius:24px 24px 0 0;animation:.32s cubic-bezier(.22,1,.36,1) slideUp;overflow-y:auto;box-shadow:0 -20px 80px #2c3e502e}.modal-handle{background:#7e6f594d;border-radius:999px;width:38px;height:4px;margin:0 auto 18px}.bg-blobs{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.blob{filter:blur(80px);opacity:.2;border-radius:50%;animation:12s ease-in-out infinite blobFloat;position:absolute}.blob-1{background:#d6b17c85;width:360px;height:360px;top:-120px;right:-80px}.blob-2{background:#98b4a26b;width:280px;height:280px;animation-delay:-4s;bottom:18%;left:-80px}.blob-3{background:#c1d3de59;width:240px;height:240px;animation-delay:-7s;top:40%;right:20%}.skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg,#ffffff4d 25%,#ffffff8c 50%,#ffffff4d 75%) 0 0/200% 100%;animation:1.4s linear infinite shimmer}.chip{border:1px solid var(--clr-border);min-height:28px;color:var(--clr-text-muted);letter-spacing:.06em;text-transform:uppercase;transition:transform var(--trans-base), background var(--trans-base), color var(--trans-base), border-color var(--trans-base);-webkit-tap-highlight-color:transparent;background:#ffffff57;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:.67rem;font-weight:700;display:inline-flex}.chip:active{transform:scale(.96)}.chip.active{color:var(--clr-text);background:#a9c1d92e;border-color:#a9c1d96b}.toast-container{z-index:200;pointer-events:none;flex-direction:column;gap:10px;width:min(90%,420px);display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.toast{border:1px solid var(--clr-border);background:var(--clr-surface-strong);box-shadow:var(--shadow-md);border-radius:18px;align-items:center;gap:10px;padding:12px 14px;font-size:.84rem;font-weight:700;animation:.32s cubic-bezier(.22,1,.36,1) slideUp;display:flex}.points-popup{z-index:300;pointer-events:none;color:var(--clr-yellow);text-shadow:0 8px 24px #30220d40;font-size:1.15rem;font-weight:800;animation:1.25s cubic-bezier(.22,1,.36,1) forwards pointsPop;position:fixed}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:32px 20px;display:flex}.empty-icon{opacity:.5;font-size:2rem}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=600px){.page-header,.section{padding-inline:16px}.modal-content{padding-inline:18px}}
