:root{
  --bg-1: #071129;
  --bg-2: #0b1220;
  --card: rgba(255,255,255,0.03);
  --muted: #9aa4b2;
  --text: #e6eef6;
  --accent: #5eead4;
  --accent-2: #60a5fa;
  --glass: rgba(255,255,255,0.03);
  --radius: 12px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
  margin:0; padding:0; color:var(--text);
  background: linear-gradient(180deg, var(--bg-1) 0%, var(--bg-2) 100%);
  -webkit-font-smoothing:antialiased;
}

.app-header{padding:18px 20px;border-bottom:1px solid rgba(255,255,255,0.03);backdrop-filter: blur(4px)}
.header-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:12px}
.logo{width:44px;height:44px;border-radius:10px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);display:flex;align-items:center;justify-content:center;font-size:20px}
.app-header h1{margin:0;font-size:18px}
.tag{margin:0;color:var(--muted);font-size:13px}
.build{color:var(--muted);font-weight:600}

.container{max-width:1100px;margin:20px auto;padding:18px;display:grid;grid-template-columns:1fr 360px;gap:20px}
.card{background: linear-gradient(180deg, rgba(255,255,255,0.02), transparent);padding:18px;border-radius:var(--radius);box-shadow:0 6px 20px rgba(2,6,23,0.6);border:1px solid var(--card)}

.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:8px}
.section-header h2{margin:0;font-size:16px}
.timer-mini{color:var(--muted);font-size:13px}

.task-form{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.task-form input{flex:1 1 140px;padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,0.04);background:transparent;color:inherit;outline:none}
.task-form input:focus{box-shadow:0 0 0 3px rgba(96,165,250,0.12);border-color:rgba(96,165,250,0.6)}
.task-form .primary{padding:10px 14px;border-radius:10px;border:0;background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#052220;cursor:pointer;font-weight:600}
.controls-small .ghost{background:transparent;border:0;color:var(--muted);cursor:pointer}

.task-list{list-style:none;padding:0;margin:0;display:block;max-height:52vh;overflow:auto}
.task-item{display:flex;align-items:center;justify-content:space-between;padding:12px;border-radius:10px;border:1px solid rgba(255,255,255,0.02);margin-bottom:10px;background:linear-gradient(180deg, rgba(255,255,255,0.01), transparent)}
.task-item .meta{color:var(--muted);font-size:13px}
.task-actions button{margin-left:8px;padding:6px 8px;border-radius:8px;border:0;background:transparent;color:var(--muted);cursor:pointer}

.timer{display:flex;flex-direction:column;align-items:center;gap:12px}
.timer-display{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px}
.timer-phase{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:0.08em}
.timer-clock{font-weight:800;font-size:56px;line-height:1;color:var(--text);display:flex;align-items:baseline;gap:6px}
.timer-sep{opacity:0.85}

.timer-controls{display:flex;gap:10px;justify-content:center;width:100%}
.timer-controls .primary{flex:1;padding:10px 12px;border-radius:10px;border:0;background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#052220;cursor:pointer;font-weight:700}
.timer-controls .ghost{flex:1;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,0.04);background:transparent;color:var(--muted);cursor:pointer}

.timer-settings{display:flex;gap:8px;justify-content:center;margin-top:4px;color:var(--muted);flex-wrap:wrap}
.timer-settings label{display:flex;flex-direction:column;align-items:center;font-size:12px}
.timer-settings input{width:64px;padding:8px;border-radius:8px;border:1px solid rgba(255,255,255,0.03);background:transparent;color:inherit}

.link-task{width:100%;display:flex;justify-content:center;margin-top:8px}
.link-task select{padding:8px;border-radius:8px;border:1px solid rgba(255,255,255,0.04);background:transparent;color:inherit}

.app-footer{padding:18px;text-align:center;color:var(--muted)}

/* Accessibility and small screens */
button:focus, input:focus, select:focus{outline:none;box-shadow:0 0 0 3px rgba(96,165,250,0.12)}

@media (max-width:1000px){
  .container{grid-template-columns:1fr 320px;padding:14px}
}

@media (max-width:820px){
  .container{grid-template-columns:1fr; padding:12px}
  .timer-clock{font-size:46px}
}

@media (max-width:420px){
  .task-form input{flex-basis:100%}
  .task-form .primary{width:100%}
  .timer-clock{font-size:40px}
}
