:root{
  --bg:#fff;
  --text:#000;
  --card:#f6f6f6;
  --border:#000;
}
body.dark{
  --bg:#000;
  --text:#fff;
  --card:#111;
  --border:#fff;
}
body{
  margin:0;
  font-family:'Share Tech Mono', monospace;
  background:var(--bg);
  color:var(--text);
  padding-bottom:70px;
}

/* Layout */
.container{
  max-width:500px;
  margin:auto;
  padding:15px;
  display:grid;
  gap:8px;
}

/* Inputs */
input, select, button, textarea{
  padding:10px;
  border:1px solid var(--border);
  background:transparent;
  color:var(--text);
  border-radius:3px;
}

/* Buttons animation */
button{
  cursor:pointer;
  transition:0.2s;
}
button:hover{ transform:scale(1.05); }
button:active{ transform:scale(0.95); }

/* Filters */
.filters{ display:flex; gap:5px; }
.filters button{ flex:1; }

/* Task */
li{
  list-style:none;
  padding:12px;
  border-radius:3px;
  position:relative;
  transition:0.3s;
  overflow:hidden;
}
li.swipe-left{ transform:translateX(-120%); opacity:0; }
li.swipe-right{ transform:translateX(120%); opacity:0; }
.completed{ opacity:0.5; text-decoration:line-through; }

/* Bottom nav */
.bottom-nav{
  position:fixed;
  bottom:0;
  width:100%;
  display:flex;
  border-top:1px solid var(--border);
  background:var(--bg);
}
.bottom-nav button{ flex:1; }

/* Modal */
.modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.85);
  display:none;
  justify-content:center;
  align-items:center;
}
.modal-content{
  background:var(--bg);
  padding:20px;
  width:90%;
  max-width:400px;
  border:1px solid var(--border);
}

/* Subtasks */
.subtask{ display:flex; gap:5px; }

/* Priority */
.high{ border-left:5px solid #ff3b30; }
.medium{ border-left:5px solid #ff9500; }
.low{ border-left:5px solid #34c759; }
