:root{--bg:#fefae0;--surface:#fff;--border:#e0d9d0;--forest:#606c38;--fern:#2d6e45;--sage:#4a9162;--gold:#d4a373;--sun:#dda15e;--text:#1c1a17;--text2:#5a5248;--text3:#8a8178;--done-bg:#e8f4ec;--done-border:#aad4b8}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);min-height:100vh;padding-bottom:60px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.container{max-width:660px;margin:0 auto;padding:28px 16px}header{text-align:center;padding-bottom:8px}.badge{background:var(--forest);color:#fefae0;letter-spacing:3px;text-transform:uppercase;border-radius:20px;margin-bottom:14px;padding:5px 14px;font-size:10px;font-weight:800;display:inline-block}h1{color:var(--forest);font-size:clamp(2rem,8vw,3rem);font-weight:900;line-height:1.05}h1 span{color:var(--gold)}.subtitle{color:var(--text2);margin-top:8px;font-size:.95rem;font-weight:600}.login-screen{text-align:center;padding-top:15vh}.login-form{flex-direction:column;gap:12px;max-width:300px;margin:24px auto 0;display:flex}.login-form input{border:1.5px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;outline:none;padding:12px 16px;font-size:1rem;font-weight:600;transition:border-color .2s}.login-form input:focus{border-color:var(--gold)}.login-form button{background:var(--forest);color:#fefae0;cursor:pointer;border:none;border-radius:12px;padding:12px;font-size:1rem;font-weight:800;transition:background .2s}.login-form button:hover{background:var(--fern)}.login-form button:disabled{opacity:.6}.scoreboard{background:var(--forest);border-radius:20px;justify-content:space-between;align-items:center;gap:12px;margin:22px 0 26px;padding:20px 24px;display:flex}.score-main{align-items:baseline;gap:6px;display:flex}.score-number{color:var(--gold);font-size:3rem;font-weight:900;line-height:1;transition:all .3s}.score-label{color:#7ab893;letter-spacing:1px;text-transform:uppercase;font-size:.85rem;font-weight:800}.score-max{color:#5a8a6e;margin-top:2px;font-size:.8rem;font-weight:600}.progress-ring{transform:rotate(-90deg)}.progress-ring .bg{stroke:#ffffff1f}.progress-ring .fill{stroke:var(--gold);stroke-linecap:round;transition:stroke-dashoffset .5s}.ring-text{fill:#fefae0;dominant-baseline:central;text-anchor:middle;font-size:11px;font-weight:800}.completed-count .big{color:#fefae0;font-size:2rem;font-weight:900;line-height:1}.completed-count .small{color:#5a8a6e;text-transform:uppercase;letter-spacing:1px;font-size:.72rem;font-weight:800}.section-label{letter-spacing:3px;text-transform:uppercase;color:var(--text3);align-items:center;gap:10px;margin:24px 0 10px;font-size:.72rem;font-weight:800;display:flex}.section-label:after{content:"";background:var(--border);flex:1;height:1px}.card{background:var(--surface);border:1.5px solid var(--border);border-radius:16px;margin-bottom:9px;transition:all .2s;overflow:hidden}.card:hover{border-color:#c0b8ae;box-shadow:0 2px 12px #00000012}.card.done{background:var(--done-bg);border-color:var(--done-border)}.card-main{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;align-items:center;gap:12px;padding:14px 16px;display:flex}.card-icon{text-align:center;flex-shrink:0;width:36px;font-size:1.5rem}.card-info{flex:1;min-width:0}.card-name{color:var(--text);font-size:.97rem;font-weight:800;line-height:1.25}.card.done .card-name{color:var(--fern)}.card-meta{flex-wrap:wrap;align-items:center;gap:7px;margin-top:4px;display:flex}.pts-pill{color:var(--gold);white-space:nowrap;background:#fef3dc;border:1px solid #f0d898;border-radius:10px;padding:2px 8px;font-size:.7rem;font-weight:900}.card.done .pts-pill{color:var(--fern);border-color:var(--done-border);background:#d4edd9}.effort-tag{color:var(--text3);text-transform:uppercase;letter-spacing:.5px;font-size:.68rem;font-weight:700}.check-btn{border:2px solid var(--border);cursor:pointer;color:#0000;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;transition:all .2s;display:flex}.card.done .check-btn{background:var(--fern);border-color:var(--fern);color:#fff}.bonuses{flex-direction:column;gap:8px;padding:0 16px 12px 64px;display:flex}.bonus-item{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;align-items:center;gap:10px;display:flex}.bonus-check{border:2px solid var(--border);color:#0000;background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.72rem;transition:all .2s;display:flex}.bonus-item.done .bonus-check{background:var(--sun);border-color:var(--sun);color:#fff}.bonus-text{color:var(--text2);flex:1;font-size:.83rem;font-weight:700}.bonus-item.done .bonus-text{color:var(--sage);text-decoration:line-through}.bonus-pts{color:var(--sun);font-size:.72rem;font-weight:900}.trophy-area{text-align:center;opacity:0;pointer-events:none;padding:30px 20px;transition:opacity .5s}.trophy-area.visible{opacity:1;pointer-events:auto}.trophy-emoji{font-size:3.5rem;animation:3s ease-in-out infinite float;display:inline-block}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.trophy-title{color:var(--forest);margin-top:10px;font-size:1.5rem;font-weight:900}.trophy-sub{color:var(--text2);margin-top:6px;font-size:.9rem}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}.card.just-done{animation:.25s pop}.photo-btn{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;transition:border-color .2s;display:flex}.photo-btn:hover{border-color:var(--gold)}.photo-btn.has-photo{border-color:var(--sage);background:var(--done-bg)}.photo-overlay{z-index:1000;cursor:pointer;background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.photo-overlay img{object-fit:contain;border-radius:12px;max-width:90vw;max-height:90vh}
