:root{color-scheme:dark;--bg-1: #33113f;--bg-2: #200c33;--bg-3: #170a26;--surface: #3c1c49;--surface-2: #4c2559;--text: #fdf1f8;--text-dim: #dba9cb;--accent: #ff5d8f;--accent-warm: #ff8a5c;--accent-gold: #ffc857;--danger: #ef4d6b;--border: #5c2f69;font-family:ui-rounded,SF Pro Rounded,-apple-system,BlinkMacSystemFont,Segoe UI,Nunito,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:linear-gradient(165deg,var(--bg-1) 0%,var(--bg-2) 55%,var(--bg-3) 100%) fixed;color:var(--text);-webkit-tap-highlight-color:transparent}.app{max-width:480px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;padding:env(safe-area-inset-top) 16px env(safe-area-inset-bottom)}.screen{flex:1;display:flex;flex-direction:column;padding:24px 0 16px;gap:16px}h1{font-size:26px;font-weight:800;letter-spacing:-.01em;margin:0;background:linear-gradient(100deg,var(--text) 30%,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}h2{font-size:17px;margin:0 0 4px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-weight:700}p.dim{color:var(--text-dim);margin:0;font-size:14px}button{font:inherit;font-weight:600;border:none;border-radius:16px;padding:14px 18px;cursor:pointer;-webkit-appearance:none;transition:transform .1s ease,opacity .15s ease}button:active{transform:scale(.97)}button.primary{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-warm) 100%);color:#2b0a1f;font-weight:800;font-size:16px;box-shadow:0 8px 22px -6px #ff5d8f8c}button.secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}button.link{background:transparent;color:var(--accent-gold);padding:8px 0;font-weight:700}button.danger{background:#ef4d6b24;color:var(--danger);font-weight:700}button:disabled{opacity:.4;cursor:not-allowed}input,select,textarea{font:inherit;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px;color:var(--text);width:100%;accent-color:var(--accent)}label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--text-dim);font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:10px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a040fa6;display:flex;align-items:center;justify-content:center;padding:24px;z-index:100}.modal-card{width:100%;max-width:360px;box-shadow:0 20px 50px -12px #0009}.modal-card p{margin:0;font-size:15px;line-height:1.5}.row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.list{display:flex;flex-direction:column;gap:10px}.progress-bar{height:10px;border-radius:6px;background:var(--surface-2);overflow:hidden}.progress-bar>div{height:100%;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-gold) 100%);transition:width .3s ease}.banner{background:#ffc8571f;border:1px solid rgba(255,200,87,.4);color:var(--accent-gold);border-radius:14px;padding:12px;font-size:14px;font-weight:600}.timer-card{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#ff5d8f24,#ffc8571a);border:1px solid rgba(255,138,92,.35);transition:background .3s ease,border-color .3s ease}.timer-card.timer-overtime{background:linear-gradient(135deg,#ef4d6b38,#ff8a5c24);border-color:#ef4d6b8c}.timer-info{display:flex;flex-direction:column;gap:2px;min-width:0}.timer-item-label{font-size:12px;font-weight:700;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timer-display{font-size:30px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.01em}.timer-overtime .timer-display{color:var(--danger)}.timer-buttons{display:flex;align-items:center;gap:8px}.timer-buttons button{min-width:88px}.timer-restart{min-width:0!important;width:44px;padding:0;font-size:20px;line-height:1;background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.session-item{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px;display:flex;align-items:flex-start;gap:12px;transition:opacity .2s ease,background .2s ease,border-color .2s ease}.session-item.current{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.session-item.completed{opacity:.5;background:transparent}.session-item input[type=checkbox]{width:24px;height:24px;margin-top:2px;accent-color:var(--accent);flex-shrink:0}.session-item-body{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.session-item-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.session-item .label{flex:1;font-size:15px;line-height:1.4;font-weight:500}.session-item .minutes{color:var(--accent-gold);font-size:13px;font-weight:700;white-space:nowrap}.session-item-actions{display:flex;align-items:center;gap:14px}.youtube-link{color:var(--accent-gold);font-size:13px;font-weight:700;text-decoration:none}.notes-toggle{background:none;border:none;padding:0;color:var(--text-dim);font-size:13px;font-weight:700;cursor:pointer}.notes-field{min-height:44px;resize:vertical;font-size:14px}.section-heading{margin-top:8px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-gold);font-weight:800}.split-row{display:flex;gap:10px}.split-row>label{flex:1}.wizard-nav{display:flex;gap:10px;margin-top:auto}.wizard-nav button{flex:1}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.top-bar{display:flex;align-items:center;justify-content:space-between}
