:root{--bg: #fbfcfb;--bg-2: #f7fbff;--card: #ffffff;--green-500: #2fa66a;--green-400: #56C596;--green-300: #8EE3A1;--muted: #6b7280;--text: #0f1724;--shadow: 0 10px 30px rgba(15,23,36,.06);--glass: rgba(47,166,106,.06);--radius: 14px;--radius-sm: 10px;--max-width: 720px;--focus: rgba(86,197,150,.16);--transition-fast: .16s;--transition-medium: .26s;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:light}html.dark{--bg: #0b0f12;--bg-2: #071018;--card: #0f1720;--green-500: #44d07a;--green-400: #3ec07a;--green-300: #2ea56a;--muted: #9aa6b2;--text: #e6eef3;--shadow: 0 10px 30px rgba(2,6,10,.6);--glass: rgba(70,150,120,.08);--focus: rgba(68,208,122,.14);color-scheme:dark}@media (prefers-color-scheme: dark){:root:not(.user-theme-set){--bg: #0b0f12;--bg-2: #071018;--card: #0f1720;--green-500: #44d07a;--green-400: #3ec07a;--green-300: #2ea56a;--muted: #9aa6b2;--text: #e6eef3;--shadow: 0 10px 30px rgba(2,6,10,.6);--glass: rgba(70,150,120,.08);--focus: rgba(68,208,122,.14);color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:linear-gradient(180deg,var(--bg),var(--bg-2));display:flex;align-items:center;justify-content:center;padding:28px;color:var(--text);margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background var(--transition-medium) ease,color var(--transition-medium) ease}.wrap{width:100%;max-width:var(--max-width);padding:20px}.card{background:var(--card);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:18px;overflow:hidden;transition:background var(--transition-medium) ease,box-shadow var(--transition-medium) ease}.header{display:flex;justify-content:space-between;align-items:center;gap:12px}.brand{display:flex;align-items:center;gap:12px}.logo-round{width:44px;height:44px;border-radius:10px;display:inline-grid;place-items:center;background:linear-gradient(180deg,var(--green-300),var(--green-500));color:#fff;font-weight:700;font-size:18px;box-shadow:0 6px 18px #2fa66a1f;transition:transform var(--transition-fast) ease,box-shadow var(--transition-fast) ease}.theme-toggle{background:transparent;border:0;padding:8px;border-radius:10px;cursor:pointer;display:inline-grid;place-items:center;width:40px;height:40px;transition:background var(--transition-fast) ease,transform var(--transition-fast) ease,box-shadow var(--transition-fast) ease}.theme-toggle:hover{transform:translateY(-3px)}.theme-toggle:active{transform:translateY(-1px)}.theme-toggle svg{width:18px;height:18px;display:block;fill:currentColor}.title{font-size:18px;font-weight:700;margin:0}.meta{font-size:13px;color:var(--muted)}.content{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}.mainText{flex:1 1 380px}.headline{font-size:20px;margin:0 0 8px;font-weight:700}.copy{margin:0;color:var(--text);line-height:1.6;font-size:15px}.deeds{width:320px;min-width:260px;background:linear-gradient(180deg,#2fa66a05,#2fa66a03);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:12px;transition:background var(--transition-medium) ease}html.dark .deeds{background:linear-gradient(180deg,#2258400f,#22584008)}.deed-row{display:flex;gap:12px;align-items:center;margin-bottom:6px}.deed-text{flex:1;color:var(--text);font-size:14px}.deed-btn{border:1px solid rgba(15,23,36,.15);padding:10px 14px;border-radius:12px;cursor:pointer;font-weight:700;letter-spacing:.2px;display:inline-flex;align-items:center;gap:8px;min-width:110px;background:linear-gradient(180deg,#f9fafb,#f1f5f9);color:var(--text);transition:transform var(--transition-fast) ease,box-shadow var(--transition-fast) ease,background var(--transition-fast) ease,color var(--transition-fast) ease}html.dark .deed-btn{border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,#ffffff0a,#ffffff05);color:var(--text)}.deed-btn:hover{transform:translateY(-2px);box-shadow:0 4px 10px #00000014}.deed-btn .dot{width:8px;height:8px;border-radius:50%;background:var(--green-400);box-shadow:0 6px 12px #56c5961f}.deed-btn.checked{background:linear-gradient(90deg,var(--green-300),var(--green-400));color:#fff;border:0;transform:translateY(-2px) scale(1.02);box-shadow:0 10px 30px #2fa66a1f}.joy{color:var(--green-500);font-weight:700;background:var(--glass);padding:8px 12px;border-radius:999px;font-size:13px;display:inline-block;transform-origin:center;animation:joy-pop .9s ease}@keyframes joy-pop{0%{transform:scale(.88);opacity:0}60%{transform:scale(1.04);opacity:1}to{transform:scale(1);opacity:1}}.footer{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;color:var(--muted)}.note{font-size:13px;color:var(--muted)}button.secondary{border:1px solid rgba(15,23,36,.06);background:transparent;padding:8px 12px;border-radius:10px;cursor:pointer;font-weight:600;transition:transform var(--transition-fast) ease,box-shadow var(--transition-fast) ease,background var(--transition-fast) ease,color var(--transition-fast) ease;color:var(--text)}html.dark button.secondary{border:1px solid rgba(255,255,255,.06);color:var(--text)}button.secondary:hover{transform:translateY(-2px)}button.primary{background:linear-gradient(90deg,var(--green-300),var(--green-400));border:0;color:#fff;padding:10px 14px;border-radius:12px;font-weight:700;cursor:pointer;box-shadow:0 10px 30px #2fa66a1f}.badge-overlay{position:fixed;inset:0;display:grid;place-items:center;background:#0a0c0e47;z-index:80}.badge-card{width:92%;max-width:420px;background:var(--card);border-radius:16px;padding:20px;box-shadow:0 20px 60px #080a0c47;text-align:center;transition:background var(--transition-medium) ease,color var(--transition-medium) ease}.badge-emoji{font-size:40px;margin-bottom:8px}.badge-card h3{margin:4px 0 6px;font-size:18px}.badge-card p{margin:0;color:var(--muted);font-size:14px}@media (max-width:860px){.content{flex-direction:column}.deeds{width:100%}.mainText{order:2}.header{flex-wrap:wrap;gap:8px}.brand{flex:1 1 100%;justify-content:center;margin-bottom:8px}.meta{flex:1 1 auto;text-align:center!important;margin-bottom:8px}}@media (max-width:520px){.card{padding:16px}.logo-round{width:40px;height:40px}.headline{font-size:18px}.deed-btn{padding:8px 10px;min-width:84px}.badge-card{padding:16px;border-radius:12px}.deed-btn{min-height:48px;min-width:120px;font-size:14px}.deed-row{margin-bottom:12px;flex-direction:column;align-items:flex-start;gap:8px}.deed-text{margin-left:12px;font-size:15px;line-height:1.4}.header{text-align:center}.meta div{font-size:12px}.content .secondary{flex:1;justify-content:center}}@media (max-width:375px){body,.wrap,.card{padding:12px}.brand div{font-size:12px}.title{font-size:16px}}.deed-btn:focus,button.secondary:focus,button.primary:focus,.theme-toggle:focus{outline:3px solid var(--focus);outline-offset:4px}@media (prefers-reduced-motion: reduce){.deed-btn,.joy,.logo-round,.badge-card,.theme-toggle{transition:none!important;animation:none!important;transform:none!important}}.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;border:0;padding:0;margin:-1px}.content .secondary{font-size:14px}.deeds{max-height:60vh;overflow:auto;-webkit-overflow-scrolling:touch;padding-right:8px}.badge-card .primary{padding:10px 14px}.badge-card .secondary{padding:8px 12px}.card p,.deed-text{word-wrap:break-word;overflow-wrap:break-word}@media (max-width:420px){body{padding:16px}.card{box-shadow:0 8px 24px #0f172414}}.badge-tile{transition:transform .12s ease,box-shadow .12s ease}.badge-tile.unlocked{box-shadow:0 12px 30px #2fa66a1f;transform:translateY(0)}.badge-tile.locked{background:linear-gradient(180deg,#fafafa99,#fafafa80)}.badge-tile:hover{transform:translateY(-4px)}.onboard-overlay{position:fixed;inset:0;display:grid;place-items:center;background:#0a0c0e99;z-index:100;animation:fade-in .3s ease forwards}.onboard-card{background:var(--card);color:var(--text);padding:28px 22px;border-radius:18px;max-width:400px;width:92%;text-align:center;box-shadow:0 20px 50px #0f17244d;animation:scale-in .3s ease forwards}.onboard-card h2{margin-top:0;font-size:22px}.onboard-card p{font-size:15px;color:var(--muted);margin:12px 0 20px;line-height:1.5}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}
