:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;--color-bg: #242424;--color-bg-surface: #1a1a1a;--color-text-primary: rgba(255, 255, 255, .87);--color-text-secondary: #a0aab2;--color-text-on-accent: #1a1a1a;--color-primary: #646cff;--color-accent: #6fff00;--color-accent-cyan: rgb(24, 238, 217);--color-accent-yellow: rgb(239, 207, 30);--color-accent-pink: rgb(253, 49, 216);--color-border: #333;--color-error: #ff4b4b;--color-redeemed: #959ea7;--color-button-bg: #646cff;--color-button-text: rgba(255, 255, 255, .87);color-scheme:dark;color:var(--color-text-primary);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=light]{--color-bg: #f5f5f7;--color-bg-surface: #ffffff;--color-text-primary: #213547;--color-text-secondary: #666;--color-text-on-accent: #1a1a1a;--color-primary: #646cff;--color-accent: #4caf50;--color-border: #ccc;--color-error: #d32f2f;--color-redeemed: #999;--color-button-bg: #646cff;--color-button-text: #ffffff;color-scheme:light}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;overflow-x:hidden}main{width:100%;margin:0;overflow-x:hidden}h1{font-size:clamp(1.5em,8vw,3.2em);line-height:1.1;margin:0 0 .5em}p{font-size:clamp(.95em,4vw,1.2em);word-break:break-word}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--color-button-bg);color:var(--color-button-text);cursor:pointer;transition:border-color .25s}button:hover{border-color:var(--color-primary)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}#root{max-width:1280px;margin:0 auto;text-align:center}.onboarding-root{display:flex;justify-content:center;align-items:flex-start;padding:16px 24px;min-height:100vh;box-sizing:border-box;background-color:var(--color-bg);font-family:Inter,system-ui,sans-serif}.landing-view{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:600px}.landing-content{background:var(--color-bg-surface);padding:60px 40px;border-radius:32px;box-shadow:0 20px 40px #0000000f;border:1px solid var(--color-border)}.landing-title{font-size:clamp(2.5rem,6vw,4rem);font-weight:900;letter-spacing:-.03em;margin:0 0 16px;color:var(--color-text-primary);line-height:1.1;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.landing-subtitle{font-size:1.35rem;line-height:1.5;color:var(--color-text-secondary);margin:0 0 48px;font-weight:400}.subtitle-highlight{display:block;font-family:Georgia,Playfair Display,serif;font-size:1.8rem;font-weight:400;font-style:italic;color:var(--color-text-primary);margin-bottom:12px;letter-spacing:-.02em}.setup-view{width:100%;max-width:720px;background:var(--color-bg-surface);padding:48px;border-radius:32px;box-shadow:0 20px 40px #0000000f;border:1px solid var(--color-border)}.setup-header{text-align:center;margin-bottom:48px}.setup-header h2{font-size:2.25rem;font-weight:800;margin:0 0 12px;color:var(--color-text-primary);letter-spacing:-.02em}.setup-header p{font-size:1.125rem;color:var(--color-text-secondary);margin:0}.setup-form{display:flex;flex-direction:column;gap:40px}.form-group{display:flex;flex-direction:column;gap:24px}.setup-field{display:flex;flex-direction:column;gap:10px}.setup-field label{font-weight:600;font-size:1.05rem;color:var(--color-text-primary)}.setup-field input[type=text],.setup-field input[type=number],.duration-inputs select{background-color:var(--color-bg);border:2px solid transparent;border-radius:12px;padding:16px 20px;font-size:1.05rem;color:var(--color-text-primary);transition:all .2s ease;box-shadow:inset 0 2px 4px #00000005}.setup-field input:focus,.duration-inputs select:focus{outline:none;border-color:var(--color-primary);background-color:var(--color-bg-surface);box-shadow:0 0 0 4px #646cff26}.setup-field input[aria-invalid=true]{border-color:var(--color-error)}.setup-error{color:var(--color-error);font-size:.9rem;font-weight:500}.duration-inputs{display:flex;gap:16px}.duration-inputs input{flex:2}.duration-inputs select{flex:1;min-width:120px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:16px}.setup-rewards{background:var(--color-bg);padding:32px;border-radius:20px;border:1px solid var(--color-border)}.setup-rewards h3{font-size:1.5rem;font-weight:700;margin:0 0 8px;color:var(--color-text-primary)}.rewards-hint{color:var(--color-text-secondary);margin:0 0 24px}.rewards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.reward-input-box{position:relative;display:flex;align-items:center}.reward-number{position:absolute;left:12px;width:24px;height:24px;background:var(--color-primary);color:#fff;border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;z-index:1}.reward-input-box input{width:100%;padding:14px 14px 14px 44px;border:2px solid transparent;border-radius:12px;background:var(--color-bg-surface);font-size:.95rem;color:var(--color-text-primary);transition:all .2s ease;box-shadow:0 2px 8px #0000000a}.reward-input-box input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px #646cff26}.reward-char-count{position:absolute;right:12px;font-size:.7rem;color:var(--color-text-secondary)}.setup-actions{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid var(--color-border)}.base-button{background:var(--color-primary);color:#fff;border:none;padding:16px 32px;border-radius:12px;font-size:1.125rem;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;box-shadow:0 4px 16px #646cff4d}.base-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #646cff66;background:var(--color-accent);color:var(--color-text-on-accent)}.base-button:active{transform:translateY(1px)}.landing-button{padding:20px 48px;font-size:1.25rem;border-radius:100px}.text-button{background:transparent;border:none;color:var(--color-text-secondary);font-weight:600;font-size:1.05rem;cursor:pointer;padding:12px 24px;border-radius:12px;transition:all .2s ease}.text-button:hover{background:var(--color-bg);color:var(--color-text-primary)}.fade-in{animation:fadeIn .8s cubic-bezier(.16,1,.3,1) forwards}.slide-in{animation:slideIn .8s cubic-bezier(.16,1,.3,1) forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.landing-container{width:100%;max-width:1200px;display:flex;flex-direction:column}.landing-hero{display:flex;flex-direction:column;align-items:center;gap:60px;width:100%;padding-bottom:40px}@media(min-width:960px){.landing-hero{flex-direction:row;justify-content:space-between;align-items:flex-start}}.hero-visual{flex:1;display:flex;justify-content:center;align-items:center;width:100%;perspective:1000px;padding:40px 0}.task-card-wrapper{position:relative;width:100%;max-width:420px;z-index:10}.task-card-bg{position:absolute;inset:-15px 15px -5px -20px;background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:20px;transform:rotate(-3deg);z-index:1;box-shadow:0 10px 30px #0000000d}.task-card{position:relative;background-color:var(--color-bg);border:1px solid var(--color-border);padding:32px;border-radius:20px;transform:rotate(2deg);z-index:2;box-shadow:0 25px 50px #00000014}.task-card-top{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.task-tag{align-self:flex-start;background-color:var(--color-accent);color:#fff;font-size:.7rem;font-weight:800;padding:4px 12px;border-radius:100px;letter-spacing:.1em;text-transform:uppercase}.task-title{font-size:1.8rem;font-weight:800;color:var(--color-text-primary);margin:0;line-height:1.2;letter-spacing:-.02em}.task-card-divider{width:100%;height:1px;background-image:linear-gradient(to right,var(--color-border) 50%,transparent 50%);background-size:8px 1px;margin-bottom:24px}.task-reward{display:flex;align-items:center;gap:16px}.reward-icon-wrapper{background-color:var(--color-bg-surface);border:1px solid var(--color-border);width:48px;height:48px;border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:1.5rem}.reward-details{display:flex;flex-direction:column}.reward-label{font-size:.75rem;font-weight:800;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.reward-name{font-size:1.15rem;font-weight:800;color:var(--color-primary)}.earned-badge{position:absolute;bottom:-20px;right:-20px;background-color:#ffdb11;color:#372e00;padding:12px 24px;border-radius:100px;font-weight:900;font-size:.95rem;transform:rotate(-12deg);z-index:3;box-shadow:0 10px 20px #00000026;display:flex;align-items:center;gap:8px;letter-spacing:.05em}.landing-steps{width:100%}.steps-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px;background-color:var(--color-bg-surface);border:1px solid var(--color-border);padding:60px;border-radius:32px}.step-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}.step-number{width:64px;height:64px;background-color:var(--color-bg);border-radius:50%;border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:900;color:var(--color-primary)}.step-title{font-size:1.5rem;font-weight:800;color:var(--color-text-primary);margin:0}.step-desc{font-size:1.05rem;color:var(--color-text-secondary);line-height:1.5;margin:0;max-width:280px}.landing-nav{width:100%;padding:2px 0;display:flex;justify-content:flex-start;margin-bottom:2vh}.landing-logo{font-size:1.5rem;font-weight:800;letter-spacing:-.03em;color:var(--color-text-primary);display:flex;align-items:center;gap:8px}.landing-logo:before{content:"";display:block;width:24px;height:24px;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));border-radius:6px;transform:rotate(15deg)}@media(max-width:768px){.onboarding-root{padding:0 16px 24px}.landing-nav{padding:24px 0;margin-bottom:2vh}.landing-hero{gap:40px;padding-bottom:40px}.landing-content{padding-top:16px;text-align:center;align-items:center;display:flex;flex-direction:column}.landing-title{font-size:clamp(2.5rem,10vw,3.5rem);line-height:1.1}.landing-subtitle{font-size:clamp(1.15rem,5vw,1.35rem);margin-bottom:32px}.landing-actions{width:100%}.landing-button{width:100%;padding:16px 24px;font-size:1.15rem}.hero-visual{padding:20px 0}.task-card-wrapper{max-width:100%;padding:0 16px;box-sizing:border-box}.task-card{padding:24px}.task-title{font-size:1.4rem}.earned-badge{right:0;bottom:-15px;padding:8px 16px;font-size:.85rem}.landing-steps{padding:32px 0}.steps-container{padding:32px 24px;gap:40px;border-radius:24px}.setup-view{padding:32px 24px;border-radius:24px}.setup-header{margin-bottom:32px}.setup-header h2{font-size:1.8rem}.setup-form{gap:32px}.duration-inputs{flex-direction:column;gap:12px}.duration-inputs select{width:100%;background-position:right 16px center}.setup-rewards{padding:24px 16px}.rewards-grid{grid-template-columns:1fr}.setup-actions{flex-direction:column-reverse;gap:16px}.setup-actions button{width:100%}}.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:16px;padding:2rem;max-width:400px;width:90%;box-shadow:0 16px 48px #0006}.modal-message{font-size:1.1rem;color:var(--color-text-primary);margin:0 0 1.5rem;text-align:center;line-height:1.5}.modal-actions{display:flex;gap:.75rem;justify-content:center}.modal-cancel{flex:1;padding:.7rem 1.2rem;background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:10px;font-weight:600;color:var(--color-text-primary)}.modal-confirm{flex:1;padding:.7rem 1.2rem;border-radius:10px;background-color:var(--color-primary);color:#fff;font-weight:600;border:none}.modal-confirm:hover{opacity:.9}.board-root{padding:1rem 2rem;box-sizing:border-box;width:100%;overflow-x:hidden}h1{padding-top:16px}.container{background-color:var(--color-primary);max-width:60em;width:100%;min-height:500px;margin-block:2em;margin-inline:auto;border-radius:20px;display:flex;justify-content:space-around;flex-wrap:wrap;gap:20px;padding:1em 1.5em;box-sizing:border-box}.fullcard{display:flex;place-items:center;position:relative;margin-block:.2em;cursor:pointer}.container.editing .fullcard{cursor:default}.fullcard:hover{border:#ffffff}.lowercard,.uppercard{height:80px;border-radius:15px;padding:5px 10px}.lowercard{width:100%;background-color:var(--color-bg);transform:rotate(-2deg);z-index:0;padding-block:7px}.uppercard{width:100%;background-color:var(--color-accent);transform:rotate(2deg);display:flex;align-items:center;justify-content:center;position:relative;top:-10px;left:15px}.fullcard .uppercard.redeemed{background-color:var(--color-redeemed)!important}.fullcard:nth-child(4n) .uppercard{background-color:var(--color-accent-cyan)}.fullcard:nth-last-child(4n) .uppercard{background-color:var(--color-accent-yellow)}.fullcard:nth-child(5) .uppercard{background-color:var(--color-accent-pink)}.edit-wrapper{width:100%;height:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}.char-count{font-size:.7em;color:#0006;font-weight:400;position:absolute;bottom:2px;right:4px}.char-count.near-limit{color:#c80000b3}.container textarea{background-color:transparent;border:none;color:var(--color-text-on-accent);font-weight:600;font-size:1em;width:100%;height:100%;text-align:center;resize:none;overflow:hidden;word-wrap:break-word}.reward-text{color:var(--color-text-on-accent);font-weight:600;font-size:1em;text-align:center;word-break:break-word;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.redeem-hint{color:var(--color-text-secondary);font-size:.95em;font-style:italic;margin-top:-.5em}.starId{width:50px;height:50px;background-image:url(/icons8-star-48.png);background-size:cover;background-repeat:no-repeat;display:flex;align-items:center;justify-content:center;color:var(--color-text-on-accent);position:absolute;bottom:5px;left:-10px;z-index:1}.starId p{margin:0;padding:0;font-weight:600}.reward-actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}.reward-actions .reconfigure-button{background-color:var(--color-text-secondary);color:var(--color-bg);opacity:1}.reward-actions .reconfigure-button:hover{border-color:var(--color-text-secondary);opacity:.9}.reward-actions .edit-button{background-color:var(--color-accent);color:var(--color-text-on-accent);font-weight:600}.reward-actions .edit-button.editing{background-color:var(--color-primary);color:#fff}@media(max-width:768px){.board-root{padding:3rem 1rem}.container{gap:16px;padding:1.5em;margin-block:1.5em}.lowercard,.uppercard{height:70px}.fullcard{max-width:240px}}@media(max-width:600px){.container{min-height:auto}.lowercard,.uppercard{height:75px}.fullcard{max-width:200px;width:100%}.starId{width:40px;height:40px;bottom:3px;left:-8px}}@media(max-width:480px){.board-root{padding:3rem 1.5rem}.container{min-height:auto;border-radius:16px;margin-block:1em}.lowercard,.uppercard{height:70px}.reward-text{font-size:.9em;-webkit-line-clamp:2}.reward-actions{gap:.5rem}.starId{width:36px;height:36px;bottom:2px;left:-6px}}.theme-toggle{position:fixed;top:1.5rem;right:1.5rem;width:48px;height:48px;border-radius:50%;background-color:var(--color-bg-surface);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:1.5rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;z-index:1000;padding:0;box-shadow:0 2px 8px #0003}.theme-toggle:hover{transform:scale(1.1);border-color:var(--color-primary);box-shadow:0 4px 12px #0000004d}.theme-toggle:active{transform:scale(.95)}.theme-toggle:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}@media(max-width:480px){.theme-toggle{top:1rem;right:1rem;width:44px;height:44px;font-size:1.25rem}}
