:root{--bg:#fff;--surface:#f7f7f7;--surface2:#f0f0f0;--border:#ebebeb;--border2:#e0e0e0;--accent:#ff385c;--accent-dim:#ff385c14;--accent-glow:#ff385c40;--green:#00a86b;--green-dim:#00a86b14;--red:#ff1744;--gold:#ffc400;--text:#222;--text-secondary:#717171;--text-dim:#b0b0b0;--radius:16px;--radius-sm:12px;--nav-height:72px;--ease-spring:cubic-bezier(.22, 1.28, .36, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--d-bg:#0a0a0a;--d-surface:#151515;--d-surface-2:#1c1c1c;--d-border:#2a2a2a;--d-border-strong:#383838;--d-text:#f2f2f2;--d-text-muted:#a0a0a0;--d-text-dim:#7c7c7c;--d-placeholder:#8a8a8a;--green-bright:#00c853;--green-bright-2:#00e676;--focus-ring:0 0 0 3px #ff385c52;--focus-ring-green:0 0 0 3px #00c8534d;--shadow-accent:0 6px 22px #ff385c52;--shadow-green:0 6px 22px #00c85347}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;min-height:100dvh;font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif;overflow-x:hidden}button,input,textarea,select{font-family:inherit}a{color:inherit;text-decoration:none}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#e0e0e0;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#bbb}::selection{color:#ff385c;background:#ff385c1f}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-500px 0}to{background-position:500px 0}}@keyframes glowPulse{0%,to{box-shadow:0 0 18px #ff385c4d}50%{box-shadow:0 0 32px #ff385c80,0 0 56px #ff385c1f}}@keyframes badgePop{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes tapPulse{0%{transform:scale(1)}40%{transform:scale(.95)}to{transform:scale(1)}}@keyframes checkBounce{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.fade-up{animation:fadeUp .4s var(--ease-out) both}.fade-in{animation:fadeIn .3s var(--ease-out) both}.scale-in{animation:scaleIn .3s var(--ease-out) both}.slide-up{animation:slideUp .4s var(--ease-out) both}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8 50%,#f0f0f0 75%) 0 0/500px 100%;border-radius:8px;animation:1.4s ease-in-out infinite shimmer}.badge-pop{animation:badgePop .45s var(--ease-spring) both}button,a,[role=button]{-webkit-user-select:none;user-select:none}button{cursor:pointer;transition:transform .12s,opacity .15s,background .15s}button:active:not(:disabled){opacity:.9;transform:scale(.96)}button:disabled{opacity:.5;cursor:not-allowed}input,textarea{outline:none;transition:border-color .2s,box-shadow .2s}img{transition:opacity .25s}.tap-card{cursor:pointer;transition:transform .15s,box-shadow .15s}.tap-card:active{transform:scale(.985)}.scroll-x{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto}.scroll-x::-webkit-scrollbar{display:none}.toast{animation:toastIn .3s var(--ease-spring) both}.ui-btn{letter-spacing:-.01em;color:#fff;background:var(--d-surface-2);cursor:pointer;min-height:52px;transition:transform .14s var(--ease-out), box-shadow .2s ease, background .2s ease, opacity .15s ease;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:16px;font-weight:800;display:inline-flex}.ui-btn:active:not(:disabled){transform:scale(.97)}.ui-btn:disabled{opacity:.5;cursor:not-allowed}.ui-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-btn--block{width:100%}.ui-btn--primary{box-shadow:var(--shadow-accent);background:linear-gradient(135deg,#ff385c 0%,#e31c5f 100%)}.ui-btn--primary:focus-visible{box-shadow:var(--focus-ring), var(--shadow-accent)}.ui-btn--worker{background:linear-gradient(135deg, var(--green-bright) 0%, #00a848 100%);color:#041b0d;box-shadow:var(--shadow-green)}.ui-btn--worker:focus-visible{box-shadow:var(--focus-ring-green), var(--shadow-green)}.ui-btn--ghost{border:1.5px solid var(--d-border-strong);color:var(--d-text);background:0 0}.ui-btn--ghost:focus-visible{box-shadow:var(--focus-ring)}.ui-label{letter-spacing:.02em;color:var(--d-text-muted);margin-bottom:8px;font-size:12px;font-weight:800;display:block}.ui-input{border:1.5px solid var(--d-border);background:var(--d-surface);width:100%;color:var(--d-text);border-radius:13px;padding:15px 16px;font-size:16px;font-weight:500;transition:border-color .18s,box-shadow .18s,background .18s}.ui-input::placeholder{color:var(--d-placeholder);font-weight:500}.ui-input:focus{border-color:var(--accent);box-shadow:var(--focus-ring);background:var(--d-surface-2);outline:none}textarea.ui-input{resize:vertical;min-height:96px;line-height:1.5}select.ui-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a0a0a0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}.ui-hint{color:var(--d-text-dim);font-size:13px;line-height:1.5}.ui-error{color:#ff6b81;font-size:13.5px;font-weight:600;line-height:1.5}.ui-light{--d-bg:#fff;--d-surface:#f7f7f7;--d-surface-2:#f0f0f0;--d-border:#ebebeb;--d-border-strong:#e0e0e0;--d-text:#222;--d-text-muted:#717171;--d-text-dim:#8a8a8a;--d-placeholder:#9a9a9a}.ui-light .ui-label{color:var(--text-secondary)}.ui-light .ui-input{border-color:var(--border);color:var(--text);background:#fff}.ui-light .ui-input::placeholder{color:var(--text-dim)}.ui-light .ui-input:focus{border-color:var(--accent);background:#fff}.ui-light .ui-hint{color:var(--text-secondary)}.ui-light .ui-btn--ghost{border-color:var(--border2);color:var(--text)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:focus:not(:focus-visible){outline:none}@keyframes badgeFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-1.5px)}}@keyframes badgeShine{0%{background-position:-140% 0}60%,to{background-position:140% 0}}.level-badge{position:relative;overflow:hidden}.level-badge .lb-emoji{animation:2.8s ease-in-out infinite badgeFloat;display:inline-block}.level-badge--shine:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 30%,#ffffff8c 50%,#0000 70%) 0 0/220% 100%;animation:4.5s ease-in-out infinite badgeShine;position:absolute;inset:0}@media (hover:hover) and (pointer:fine){.tap-card:hover:not(:active){transform:translateY(-2px);box-shadow:0 8px 28px #00000014}.ui-btn--primary:hover:not(:active):not(:disabled){transform:translateY(-1px);box-shadow:0 9px 28px #ff385c6b}.ui-btn--worker:hover:not(:active):not(:disabled){transform:translateY(-1px);box-shadow:0 9px 28px #00c85361}.ui-btn--ghost:hover:not(:active):not(:disabled){background:#7f7f7f14}.ui-input:hover:not(:focus){border-color:var(--d-border-strong)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
