*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#e0e0e0;background:#0f0f0f;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#root{max-width:520px;margin:0 auto;padding:24px 16px 60px}.hero{text-align:center;padding:80px 20px}.hero h1{margin-bottom:12px;font-size:2.8rem}.subtitle{color:#ccc;margin-bottom:6px;font-size:1.3rem}.desc{color:#888;margin-bottom:32px}.btn-start{color:#0f0f0f;cursor:pointer;background:#4ade80;border:none;border-radius:12px;padding:14px 36px;font-size:1.1rem;font-weight:700;transition:background .2s}.btn-start:hover{background:#22c55e}.header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.header h2{font-size:1.4rem}.day-label{color:#aaa;margin-top:4px;font-size:.9rem}.header-right{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.streak-badge{color:#fbbf24;background:#1e1e1e;border-radius:8px;padding:4px 10px;font-size:.8rem}.btn-reset{color:#888;cursor:pointer;background:0 0;border:1px solid #444;border-radius:6px;padding:4px 12px;font-size:.75rem;transition:border-color .2s,color .2s}.btn-reset:hover{color:#f87171;border-color:#f87171}.checklist{background:#1a1a1a;border-radius:16px;margin-bottom:24px;padding:20px}.checklist-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.checklist-header h3{white-space:nowrap;font-size:1rem}.progress-bar-wrap{background:#2a2a2a;border-radius:4px;flex:1;height:8px;overflow:hidden}.progress-bar{background:#4ade80;border-radius:4px;height:100%;transition:width .3s}.progress-label{color:#aaa;font-variant-numeric:tabular-nums;font-size:.85rem}.workout-list{flex-direction:column;gap:8px;list-style:none;display:flex}.workout-item{background:#141414;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;transition:background .2s;display:flex}.workout-item.done{background:#1a2a1a}.check-btn{cursor:pointer;opacity:.7;background:0 0;border:none;padding:0;font-size:1.3rem;line-height:1;transition:opacity .15s}.check-btn:hover:not(:disabled){opacity:1}.check-btn:disabled{cursor:not-allowed}.check-btn.checked{opacity:1}.workout-emoji{font-size:1.3rem}.workout-info{flex-direction:column;flex:1;min-width:0;display:flex}.workout-title{white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:600;overflow:hidden}.workout-time{color:#888;font-size:.75rem}.btn-details{color:#ccc;cursor:pointer;white-space:nowrap;background:#2a2a2a;border:none;border-radius:6px;padding:5px 12px;font-size:.75rem;transition:background .2s}.btn-details:hover{background:#3a3a3a}.grid-section{margin-bottom:24px}.grid-section h3{color:#aaa;margin-bottom:12px;font-size:.95rem}.grid{grid-template-columns:repeat(10,1fr);gap:6px;display:grid}.grid-cell{aspect-ratio:1;cursor:default;background:#1a1a1a;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;font-size:.6rem;transition:background .2s;display:flex}.grid-day{color:#555;font-weight:700}.grid-dots{color:#333;line-height:1}.cell-0{background:#1a1a1a}.cell-1{background:#1a2a1a}.cell-2{background:#1a3a1a}.cell-3{background:#1a4a1a}.cell-4{background:#1a5a1a}.cell-5{background:#1a6a1a}.cell-5 .grid-day,.cell-5 .grid-dots{color:#4ade80}.cell-4 .grid-day,.cell-4 .grid-dots{color:#22c55e}.tips{color:#666;background:#141414;border-radius:10px;padding:14px;font-size:.78rem;line-height:1.5}.tips strong{color:#888}.modal-overlay{z-index:100;background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#1e1e1e;border-radius:16px;width:100%;max-width:440px;max-height:85vh;padding:28px 24px;position:relative;overflow-y:auto}.modal-close{color:#888;cursor:pointer;background:0 0;border:none;font-size:1.2rem;position:absolute;top:12px;right:14px}.modal-close:hover{color:#fff}.modal h3{margin-bottom:6px;padding-right:24px;font-size:1.15rem}.modal-time{color:#888;margin-bottom:16px;font-size:.85rem}.modal-steps{flex-direction:column;gap:8px;margin-bottom:20px;padding-left:20px;display:flex}.modal-steps li{color:#ccc;font-size:.88rem;line-height:1.5}.tweet-link{color:#93c5fd;background:#2a2a2a;border-radius:8px;padding:10px 16px;font-size:.85rem;text-decoration:none;transition:background .2s;display:inline-block}.tweet-link:hover{background:#3a3a3a}
